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

Write helper tool to instantiate settlement hub with desired genesis contracts/state #7

Open
mattdf opened this issue Jan 10, 2022 · 0 comments

Comments

@mattdf
Copy link

mattdf commented Jan 10, 2022

Given the settlement hub does not allow deployment of contracts by an arbitrary address, the desired contracts need to be loaded in at genesis.

To aid development and allow the instantiation of custom networks, a helper tool is needed that:

  • Takes a set of solidity contracts and compiles them to deployment bytecode
  • Evaluates the constructors of each contract (either using the evm binary or an equivalent library) and returns the final runtime bytecode + state slots set by that run
  • Inserts the state+bytecode of each contract into the genesis file at the desired addresses

While developing and making changes to evmos/ethermint/optimint, it may also be useful to test features that are not currently "touched" by the settlement contracts, and so it would be useful to deploy an arbitrary execution account proxy (that calls CREATE2/CREATE with fed calldata) whitelisted to tester's address for performing unrestricted testing of EVM code.

@mattdf mattdf moved this to TODO in Celestia Node Jan 12, 2022
@tzdybal tzdybal removed this from Celestia Node Nov 17, 2022
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

No branches or pull requests

1 participant