You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We have off-chain validators where we submit proposals to the DAO, and then the validators vote on these proposals, and validate the update - all the voting commands should be deprecated after migrating to BLS signature verification #939
ETH Client Contract - Probably need to keep this
File ETH Client Contract - this is used for tests, but it's fairly complicated logic and difficult to maintain. We already need to maintain the light client integration tests, so we can probably remove this and move to the end to end tests instead. Better to cover the relayer flow in E2E tests instead.
Sandbox Contract Wrapper - this can be removed
eth2-contract-init - We don't know why it's a separate crate, this can be moved to eth2near-block-relay-rs. There's no external usage for that. It could probably be used by the CLI to init the contract (via the CLI)
eth2near-block-relay-rs doesn't have a lot of code, so we might not need to worry about this too much
How to Test
Run it on testnet (not official testnet) - separate testnet, manually deploy the light client, we already have code to init it, so get the wasm, deploy the binary, init the contract with eth2-contract-init, move it to the relayer, so the relayer should be smart enough to figure out that the contract wasn't initialized and you need to initialize, so just pass an arg to the relayer to initiate the contract. The integration tests don't guarantee that everything works correctly.
Goals
Make it easier to comprehend and test
When moving to the new repo, we can't move all this old junk code
How to Test
Run it on testnet (not official testnet) - separate testnet, manually deploy the light client, we already have code to init it, so get the wasm, deploy the binary, init the contract with eth2-contract-init, move it to the relayer, so the relayer should be smart enough to figure out that the contract wasn't initialized and you need to initialize, so just pass an arg to the relayer to initiate the contract. The integration tests don't guarantee that everything works correctly.
Goals