Skip to content

Conversation

@levalleux-ludo
Copy link
Contributor

@levalleux-ludo levalleux-ludo commented Jun 9, 2025

This PR creates a fermion-protocol-node container image which:

  • runs an hardhat-node blockchain
    • identified with chainId=31337,
    • pre-populated with a list of accounts defined in ./e2e/accounts
    • accessible through rpcNode: http://localhost:8545
  • deploys the Boson and Fermion protocol contracts (BOSON version as identified in package.json at the root of the repo, FERMION version is the current repo one)
    • BOSON Protocol diamond: 0xa513E6E4b8f2a923D98304ec87F64353C4D5C853
    • BOSON priceDiscoveryClient: 0x8A791620dd6260079BF849Dc5567aDC3F2FdC318
    • FERMION Protocol diamond: 0x851356ae760d987E095750cCeb3bC6014560891C
  • deploys a few other contracts required for e2e tests
    • BOSON TOKEN: 0xe7f1725E7734CE288F8367e1Bb143E90bb3F0512
    • ERC20: 0x82e01223d51Eb87e16A03E24687EDF0F294da6f1
    • SEAPORT: 0x4A679253410272dd5232B3Ff7cF5dbB88f295319
    • Meta-tx FORWARDER: 0xc351628EB244ec633d5f21fBD6621e1a683B1181

The container image is tagged with the current commit / release / pr (depending on how the workflow is trigerred - see https://github.com/docker/metadata-action?tab=readme-ov-file#semver), then pushed on Github Container registry of the current repo (https://github.com/fermionprotocol/contracts/pkgs/container/contracts%2Ffermion-protocol-node) + additionally to Docker Hub (at the moment on a temporary personal account - will be replaced with an organisation account - https://hub.docker.com/repository/docker/levalleuxludordm/fermion-protocol-node)

When the container is started, running the chain and deploying the contract are automatically trigerred as background processes (done with supervisord tool).
A few minutes later, the file /app/deploy.done is created to mean the deployment is completed and everything is ready to play with.

NOTE: BOSON PROTOCOL is not fully deployed and functional by itself.
For now, only facets used by FERMION + the MetaTransactionFacet are deployed and configured.
Later on, if we want the fermion-protocol-node container to be useful for BOSON+FERMION joined tests, we would need to have a fully installed and configured BOSON PROTOCOL.

@coveralls
Copy link

coveralls commented Jun 9, 2025

Pull Request Test Coverage Report for Build 15856152040

Details

  • 0 of 0 changed or added relevant lines in 0 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage remained the same at 99.456%

Totals Coverage Status
Change from base Build 15843458832: 0.0%
Covered Lines: 2301
Relevant Lines: 2301

💛 - Coveralls

zajck
zajck previously approved these changes Jun 17, 2025
Copy link
Contributor

@zajck zajck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few minor comments, but otherwise looks good 👍

levalleux-ludo and others added 2 commits June 20, 2025 09:14
Co-authored-by: Klemen <64400885+zajck@users.noreply.github.com>
zajck
zajck previously approved these changes Jun 20, 2025
@levalleux-ludo levalleux-ludo merged commit c352d88 into main Jun 25, 2025
7 checks passed
@zajck zajck deleted the e2e-tests-env branch June 26, 2025 06:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants