eosnetworkfoundation / eos-evm-node

Other
3 stars 5 forks source link

EVM Node should detect a mismatch between EVM contract account and nonce in its configured genesis #289

Open arhag opened 2 months ago

arhag commented 2 months ago

The earliest it could detect this difference is when it receives the first pushtx/evmtx action from SHiP. It could compare the native account the action is from to the account represented as a value in the nonce field of its configured genesis JSON.

If they do not match, it should report the error and shut down the node without processing any EVM transactions.

Note that the native account that the pushtx/evmtx actions are from are provided to the Node using the configuration option ship-core-account. We need to make sure there is no mismatch between this and the account name represented in the nonce of the genesis used for the chain. In fact, there is no reason for the ship-core-account option to exist, we could deprecate it; but we could only remove it in a major version change since it would be a breaking change.

We should also explore how, if at all, we can make EVM Node automatically validate consistency of other relevant genesis JSON attributes between what it has and what the EVM Contract used, e.g. chain ID.