• Matthew Slipper's avatar
    l2geth: Add support for system addresses · 962f36e4
    Matthew Slipper authored
    Adds support for system addresses.
    
    To deploy to a system address, the deployer must either be in the list of hardcoded addresses described in `SystemAddressDeployers`, or be specified via the `SYSTEM_ADDRESS_0_DEPLOYER`/`SYSTEM_ADDRESS_1_DEPLOYER` environment variables. The hardcoded system addresses deployers will always override those placed in the environment, so specifying the `SYSTEM_ADDRESS_*` env vars on mainnet, Kovan, or Goerli is a no-op. The env vars are available primarily for testing purposes.
    
    The contract deployment **must** be the first transaction from the deployment address - i.e., it must have nonce zero.
    
    In order to make the tests work, I had to change the integration tests chain ID to no longer conflict with Goerli. The new integration tests chain ID is `987`.
    
    Co-Authored-By: @inphi
    962f36e4
state_processor.go 6.37 KB