Commit edfa4861 authored by Mark Tyneway's avatar Mark Tyneway

op-chain-ops: set initial message passer nonce

The `L2ToL1MessagePasser` nonce is set to `type(uint32).max`
initially to prevent nonce collisions with legacy withdrawals
that have been upgraded. The max value for the nonce is
`type(uint256).max` so it is not a problem to start at a non
zero nonce.
parent c6932d70
......@@ -4,6 +4,7 @@ import (
"encoding/json"
"errors"
"fmt"
"math"
"math/big"
"os"
"path/filepath"
......@@ -326,8 +327,11 @@ func NewL2StorageConfig(config *DeployConfig, block *types.Block) (state.Storage
return storage, errors.New("block base fee not set")
}
// Set the initial L2ToL1MessagePasser nonce to
// `type(uint32).max` to prevent nonce collisions
// with historical withdrawals.
storage["L2ToL1MessagePasser"] = state.StorageValues{
"nonce": 0,
"nonce": math.MaxUint32,
}
storage["L2CrossDomainMessenger"] = state.StorageValues{
"_initialized": 1,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment