• Mark Tyneway's avatar
    contracts-bedrock: be mindful of nonce management · 86c293c3
    Mark Tyneway authored
    Right now the `generate-l2-genesis.sh` script has to be ran from
    within the solidity context so that the contract addresses that it
    creates match what the contract addresses are in the `Deploy` script.
    Otherwise, the L2 genesis generation will have the wrong L1 addresses
    embedded into the L2 state, resulting in failing tests. This happens
    because of the way that nonce management is handled. The nonce
    determines the address that CREATE sets the code at. So we use not the
    standard account for deploying contracts that we don't care about to
    make the nonces line up more. The ideal is that we no longer need to
    call the `generate-l2-genesis.sh` script from solidity and can call
    it once before inside of a `pnpm` command and still have all the
    contract addresses line up.
    86c293c3
Name
Last commit
Last update
..
L1 Loading commit data...
L2 Loading commit data...
Safe Loading commit data...
actors Loading commit data...
cannon Loading commit data...
dispute Loading commit data...
governance Loading commit data...
invariants Loading commit data...
legacy Loading commit data...
libraries Loading commit data...
mocks Loading commit data...
periphery Loading commit data...
safe-tools Loading commit data...
setup Loading commit data...
universal Loading commit data...
vendor Loading commit data...
Authorization.t.sol Loading commit data...
BenchmarkTest.t.sol Loading commit data...
ExtendedPause.t.sol Loading commit data...
Predeploys.t.sol Loading commit data...