Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(cactus-plugin-ledger-connector-ethereum): add new connector plugin #2535

Merged
merged 1 commit into from
Aug 31, 2023

Commits on Aug 31, 2023

  1. feat(cactus-plugin-ledger-connector-ethereum): add new connector plugin

    Add new plugin for connecting with Ethereum ledgers. New connector is based on already existing
    quorum connector. The main reason for introducing yet another plugin is a need
    for web3js upgrade (to 4.X) which is imposible in current quorum / besu connectors due to
    dependency to `web3js-quorum` which requires web3js 1.X.
    
    We have plans to make web3js library pluggable and reduce code duplication among other connectors
    in the future, but it will be delivered later on in a separate PR.
    
    Changes:
    - Add new plugin based on quorum connector.
    - Removed private transaction and other quorum related functionalities.
    - Update web3js to 1.10 - will be updated to 4.X in a separate commit.
    - Add missing `web3-eth-contract` dependencies to besu and xdai connectors.
    - Add new connector to cactus-verifier-client
    - Add integration tests in `cactus-test-plugin-ledger-connector-ethereum`
        (based on similar ones for quorum connector.)
    - Add new connector to CI.
    - Add `web3*` 4.1.1 dependencies to root `package.json` because they are already
        required in a root level (by `typings/web3js-quorum`). Ideally this could be put into
        another package (quorum connector?) and have the dependencies there, but for now I think
        it's important to be explicit about it since it's easy to mess up
        if wrong web3js library is hoisted up from any monorepo package.
    - Sort main `package.json`
    - Remove tap test scripts from the root `package.json` - they don't use `.taprc` and
        cause bunch of errors when they try to execute jest tests.
        This is confusing for the users because of all false negative errors printed.
    - Reorganize jest config and taprc to keep tests from quorum and ethereum conenctors grouped.
    
    Peter's tweaks:
    1. Switched the root's web3 dependencies from 1.5.2 to 4.1.1 because
    in the meantime we've done a few upgrades (plus the old versions come
    with CVEs)
    2. There is no more hoisting, it's been completely disabled, so we should
    not have any more issues regarding that. It is still true however, that
    the root folder has our handwritten type definitions which do import
    web3 packages and therefore the root should declare web3 as a dependency.
    3. Once https://github.com/hyperledger/cacti/issues/2648 has been resolved
    we can remove both the root dependency declarations of web3 and the
    typings that necessitate them to begin with.
    
    Closes: hyperledger-cacti#2534
    
    Co-authored-by: Peter Somogyvari <peter.somogyvari@accenture.com>
    
    Signed-off-by: Michal Bajer <michal.bajer@fujitsu.com>
    Signed-off-by: Peter Somogyvari <peter.somogyvari@accenture.com>
    outSH authored and petermetz committed Aug 31, 2023
    Configuration menu
    Copy the full SHA
    c011c36 View commit details
    Browse the repository at this point in the history