Rollup Deployment Configuration
New OP Stack blockchains are currently configured with a deployment configuration JSON file inside that is passed into the smart contract deployment script (opens in a new tab). You can see example deployment configuration files in the deploy-config directory (opens in a new tab). This document highlights the deployment configurations and their values.
The Rollup configuration is an active work in progress and will likely evolve significantly as time goes on. If something isn't working about your configuration, you can refer to the source code (opens in a new tab).
Standard configuration is the set of requirements for an OP Stack chain to be considered a Standard Chain within the Superchain. These requirements are currently a draft, pending governance approval. For more details, please see this governance thread (opens in a new tab) and the actual requirements in the OP Stack Configurability Specification (opens in a new tab).
Deployment Configuration Values
These values are provided to the deployment configuration JSON file when deploying the L1 contracts.
Offset Values
These offset values determine when network upgrades (hardforks) activate on your blockchain.
l2GenesisRegolithTimeOffset
L2GenesisRegolithTimeOffset is the number of seconds after genesis block that Regolith hard fork activates. Set it to 0 to activate at genesis. Nil to disable Regolith.
- Type: Number of seconds
- Default value: nil
- Recommended value: "0x0"
- Notes:
- Standard Config Requirement: Network upgrade (hardfork) is activated.
l2GenesisCanyonTimeOffset
L2GenesisCanyonTimeOffset is the number of seconds after genesis block that Canyon hard fork activates. Set it to 0 to activate at genesis. Nil to disable Canyon.
- Type: Number of seconds
- Default value: nil
- Recommended value: "0x0"
- Notes:
- Standard Config Requirement: Network upgrade (hardfork) is activated.
l2GenesisDeltaTimeOffset
L2GenesisDeltaTimeOffset is the number of seconds after genesis block that Delta hard fork activates. Set it to 0 to activate at genesis. Nil to disable Delta.
- Type: Number of seconds
- Default value: nil
- Recommended value: "0x0"
- Notes:
- Standard Config Requirement: Network upgrade (hardfork) is activated.
l2GenesisEcotoneTimeOffset
L2GenesisEcotoneTimeOffset is the number of seconds after genesis block that Ecotone hard fork activates. Set it to 0 to activate at genesis. Nil to disable Ecotone.
- Type: Number of seconds
- Default value: nil
- Recommended value: "0x0"
- Notes:
- Standard Config Requirement: Network upgrade (hardfork) is activated.
l2GenesisFjordTimeOffset
L2GenesisFjordTimeOffset is the number of seconds after genesis block that Fjord hard fork activates. Set it to 0 to activate at genesis. Nil to disable Fjord.
- Type: Number of seconds
- Default value: nil
- Recommended value: "0x0"
- Notes:
- Standard Config Requirement: Network upgrade (hardfork) is activated.
l2GenesisInteropTimeOffset
L2GenesisInteropTimeOffset is the number of seconds after genesis block that the Interop hard fork activates. Set it to 0 to activate at genesis. Nil to disable Interop.
- Type: Number of seconds
- Default value: nil
- Recommended value:
- Notes: Interoperability is still experimental (opens in a new tab).
- Standard Config Requirement: Non-standard feature.
l1CancunTimeOffset
When Cancun activates. Relative to L1 genesis.
- Type: Number of seconds
- Default value: None
- Recommended value: "0x0"
- Notes:
- Standard Config Requirement: Network upgrade (hardfork) is activated.
Admin addresses
finalSystemOwner
FinalSystemOwner is the L1 system owner. It owns any ownable L1 contracts.
- Type: L1 Address
- Default value: None
- Recommended value: It is recommended to have a single admin address to retain a common security model.
- Notes: Must not be
address(0)
- Standard Config Requirement: Must be Chain Governor or Servicer. However, the L1 ProxyAdmin owner must be held by Optimism Security Council. At the moment, this is L1 ProxyAdmin owner is transferred from the Chain Governor or Servicer to 0x5a0Aae59D09fccBdDb6C6CcEB07B7279367C3d2A (opens in a new tab)
proxyAdminOwner
ProxyAdmin contract owner on the L2, which owns all of the Proxy contracts for
every predeployed contract in the range 0x42...0000
to 0x42...2048
. This
makes predeployed contracts easily upgradeable.
- Type: L2 Address
- Default value: None
- Recommended value: It is recommended to have a single admin address to retain a common security model.
- Notes: Must not be
address(0)
- Standard Config Requirement:
Proxy Addresses
l1StandardBridgeProxy
L1StandardBridgeProxy represents the address of the L1StandardBridgeProxy on L1 and is used as part of building the L2 genesis state.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
- Standard Config Requirement: Implementation contract must the most up-to-date, governance-approved version of the OP Stack codebase, and, if the chain has been upgraded in the past, that the previous versions were a standard release of the codebase.
l1CrossDomainMessengerProxy
L1CrossDomainMessengerProxy represents the address of the L1CrossDomainMessengerProxy on L1 and is used as part of building the L2 genesis state.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
- Standard Config Requirement: Implementation contract must the most up-to-date, governance-approved version of the OP Stack codebase, and, if the chain has been upgraded in the past, that the previous versions were a standard release of the codebase.
l1ERC721BridgeProxy
L1ERC721BridgeProxy represents the address of the L1ERC721Bridge on L1 and is used as part of building the L2 genesis state.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
- Standard Config Requirement: Implementation contract must the most up-to-date, governance-approved version of the OP Stack codebase, and, if the chain has been upgraded in the past, that the previous versions were a standard release of the codebase.
systemConfigProxy
SystemConfigProxy represents the address of the SystemConfigProxy on L1 and is used as part of the derivation pipeline.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
- Standard Config Requirement: Implementation contract must the most up-to-date, governance-approved version of the OP Stack codebase, and, if the chain has been upgraded in the past, that the previous versions were a standard release of the codebase.
optimismPortalProxy
OptimismPortalProxy represents the address of the OptimismPortalProxy on L1 and is used as part of the derivation pipeline.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
- Standard Config Requirement: Implementation contract must the most up-to-date, governance-approved version of the OP Stack codebase, and, if the chain has been upgraded in the past, that the previous versions were a standard release of the codebase.
Blocks
These fields apply to L2 blocks: Their timing, when they need to be written to L1, and how they get written.
l2BlockTime
Number of seconds between each L2 block. Must be < = L1 block time (12 on mainnet and Sepolia).
- Type: Number of seconds
- Default value: None
- Recommended value:
- Notes: Must not be
0
. Must be less than the L1 blocktime and a whole number. - Standard Config Requirement: 2 seconds. High security and interoperability compatibility requirement, until de-risked/solved at app layer.
maxSequencerDrift
How far the L2 timestamp can differ from the actual L1 timestamp.
- Type: Number of seconds
- Default value: None
- Recommended value: 1800
- Notes: Must not be
0
. 1800 (30 minutes) is the constant that takes effect with the Fjord activation. - Standard Config Requirement:
sequencerWindowSize
Maximum number of L1 blocks that a Sequencer can wait to incorporate the information in a specific L1 block. For example, if the window is 10 then the information in L1 block n must be incorporated by L1 block n+10.
- Type: Number of blocks
- Default value: None
- Recommended value:
- Notes: Must not be
0
. 3600 (12 hours) is suggested. - Standard Config Requirement: 3_600 base layer blocks (12 hours for an L2 on Ethereum, assuming 12 second L1 blocktime). This is an important value for constraining the sequencer's ability to re-order transactions; higher values would pose a risk to user protections.
channelTimeout
Maximum number of L1 blocks that a transaction channel frame can be considered valid. A transaction channel frame is a chunk of a compressed batch of transactions. After the timeout, the frame is dropped.
- Type: Number of blocks
- Default value: 50
- Recommended value:
- Notes: This default value was introduced in the Granite network upgrade
- Standard Config Requirement:
p2pSequencerAddress
Address of the key that the Sequencer uses to sign blocks on the p2p network.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement: No requirement.
batchInboxAddress
Address that Sequencer transaction batches are sent to on L1.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes:
- Standard Config Recommendation: Convention is
versionByte
||keccak256(bytes32(chainId))[:19]
, where || denotes concatenation,versionByte
is0x00
, andchainId
is auint256
. This is to cover the full range of chain ids, to the fulluint256
size. Here's how you can get this address:bytes32 hash = keccak256(abi.encodePacked(bytes32(uint256(chainId)))); # [:19] means taking the first 19 bytes of the hash # then preppending a version byte of zero: 0x00 # `0x00{hash[:19]}`
batchSenderAddress
Address that nodes will filter for when searching for Sequencer transaction batches being sent to the batchInboxAddress. Can be updated later via the SystemConfig contract on L1.
- Type: L1 Address
- Default value: Batcher, an address for which you own the private key.
- Recommended value:
- Notes: Must not be
address(0)
- Standard Config Requirement: No requirement.
systemConfigStartBlock
SystemConfigStartBlock represents the block at which the op-node should start syncing from. It is an override to set this value on legacy networks where it is not set by default. It can be removed once all networks have this value set in their storage.
- Type: L2 Block Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement: The block where the SystemConfig was initialized.
Chain Information
l1StartingBlockTag
Block tag for the L1 block where the L2 chain will begin syncing from. It is generally recommended to use a finalized block to avoid issues with reorgs.
- Type: Block hash
- Default value: None
- Recommended value:
- Notes: Must not be
0
. - Standard Config Requirement:
l1ChainID
Chain ID of the L1 chain.
- Type: Number
- Default value: None
- Recommended value:
- Notes: Must not be
0
. 1 for L1 Ethereum mainnet, 11155111 for the Sepolia test network, and See here (opens in a new tab) for other blockchains. - Standard Config Requirement: 1 (Ethereum)
l2ChainID
Chain ID of the L2 chain.
- Type: Number
- Default value: None
- Recommended value:
- Notes: Must not be
0
. For security reasons, should be unique. Chains should add their chain IDs to ethereum-lists/chains (opens in a new tab). - Standard Config Requirement: Foundation-approved, globally unique value.
l2GenesisBlockExtraData
L2GenesisBlockExtraData is configurable extradata. Will default to []byte("BEDROCK") if left unspecified.
- Type: Number
- Default value: []byte("BEDROCK")
- Recommended value:
- Notes:
- Standard Config Requirement:
superchainConfigGuardian
SuperchainConfigGuardian represents the GUARDIAN account in the SuperchainConfig. Has the ability to pause withdrawals.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
- Standard Config Requirement: 0x09f7150D8c019BeF34450d6920f6B3608ceFdAf2 (opens in a new tab) A 1/1 Safe owned by the Security Council Safe, with the Deputy Guardian Module (opens in a new tab) enabled to allow the Optimism Foundation to act as Guardian.
Gas
- Standard Config Requirement: Set such that Fee Margin is between 0 and 50%.
- Standard Config Requirement: No higher than 200_000_000 gas. Chain operators are driven to maintain a stable and reliable chain. When considering a change to this value, careful deliberation is necessary.
l2GenesisBlockGasLimit
L2GenesisBlockGasLimit represents the chain's block gas limit.
- Type: Number
- Default value: None
- Recommended value:
- Notes: Must not be
0
. Must be greater thanMaxResourceLimit
+SystemTxMaxGas
. - Standard Config Requirement:
l2GenesisBlockBaseFeePerGas
L2GenesisBlockBaseFeePerGas represents the base fee per gas.
- Type: Number
- Default value: None
- Recommended value:
- Notes: L2 genesis block base fee per gas cannot be
nil
. - Standard Config Requirement:
eip1559Elasticity
EIP1559Elasticity is the elasticity of the EIP1559 fee market.
- Type: Number
- Default value: None
- Recommended value:
- Notes: Must not be
0
. - Standard Config Requirement:
eip1559Denominator
EIP1559Denominator is the denominator of EIP1559 base fee market.
- Type: Number
- Default value: None
- Recommended value:
- Notes: Must not be
0
. - Standard Config Requirement:
eip1559DenominatorCanyon
EIP1559DenominatorCanyon is the denominator of EIP1559 base fee market when Canyon is active.
- Type: Number
- Default value: None
- Recommended value: 250
- Notes: Must not be
0
if Canyon is activated. - Standard Config Requirement:
gasPriceOracleBaseFeeScalar
GasPriceOracleBaseFeeScalar represents the value of the base fee scalar used for fee calculations.
- Type: Number
- Default value: None
- Recommended value:
- Notes: Should not be
0
. - Standard Config Requirement:
gasPriceOracleBlobBaseFeeScalar
GasPriceOracleBlobBaseFeeScalar represents the value of the blob base fee scalar used for fee calculations.
- Type: Number
- Default value: None
- Recommended value:
- Notes: Should not be
0
. - Standard Config Requirement:
Proposal Fields
These fields apply to output root proposals. The l2OutputOracleSubmissionInterval is configurable, see the section below for guidance.
l2OutputOracleStartingBlockNumber
Block number of the first OP Stack block. Typically this should be zero, but this may be non-zero for networks that have been upgraded from a legacy system (like OP Mainnet). Will be removed with the addition of permissionless proposals.
- Type: Number
- Default value: None
- Recommended value: 0
- Notes: Should be
0
for new chains. - Standard Config Requirement:
l2OutputOracleStartingTimestamp
Timestamp of the first OP Stack block. This MUST be the timestamp corresponding to the block defined by the l1StartingBlockTag. Will be removed with the addition of permissionless proposals.
- Type: Number
- Default value: None
- Recommended value:
- Notes: his MUST be the timestamp corresponding to the block defined by the l1StartingBlockTag.
- Standard Config Requirement:
l2OutputOracleSubmissionInterval
Number of blocks between proposals to the L2OutputOracle. Will be removed with the addition of permissionless proposals.
- Type: Number of blocks
- Default value: None
- Recommended value:
- Notes: Must not be
0
. 120 (4 minutes) is suggested. - Standard Config Requirement:
finalizationPeriodSeconds
Number of seconds that a proposal must be available to challenge before it is considered finalized by the OptimismPortal contract.
- Type: Number of seconds
- Default value: None
- Recommended value:
- Notes: Must not be
0
. Recommend 12 on test networks, seven days on production ones. - Standard Config Requirement: 7 days. High security. Excessively safe upper bound that leaves enough time to consider social layer solutions to a hack if necessary. Allows enough time for other network participants to challenge the integrity of the corresponding output root.
l2OutputOracleProposer
Address that is allowed to submit output proposals to the L2OutputOracle contract. Will be removed when the OP Stack has permissionless proposals.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
- Standard Config Requirement: No requirement. This role is only active
when the OptimismPortal respected game type is
PERMISSIONED_CANNON
. The L1ProxyAdmin sets the implementation of thePERMISSIONED_CANNON
game type. Thus, it determines the proposer configuration of the permissioned dispute game.
l2OutputOracleChallenger
Address that is allowed to challenge output proposals submitted to the L2OutputOracle. Will be removed when the OP Stack has permissionless challenges.
- Type: L1 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
. It is recommended to have a single admin address to retain a common security model. - Standard Config Requirement:
Fee recipients
baseFeeVaultRecipient
BaseFeeVaultRecipient represents the recipient of fees accumulated in the BaseFeeVault. Can be an account on L1 or L2, depending on the BaseFeeVaultWithdrawalNetwork value.
- Type: L1 or L2 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
. It is recommended to have a single admin address to retain a common security model. - Standard Config Requirement:
l1FeeVaultRecipient
L1FeeVaultRecipient represents the recipient of fees accumulated in the L1FeeVault. Can be an account on L1 or L2, depending on the L1FeeVaultWithdrawalNetwork value.
- Type: L1 or L2 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
. It is recommended to have a single admin address to retain a common security model. - Standard Config Requirement:
sequencerFeeVaultRecipient
SequencerFeeVaultRecipient represents the recipient of fees accumulated in the SequencerFeeVault. Can be an account on L1 or L2, depending on the SequencerFeeVaultWithdrawalNetwork value.
- Type: L1 or L2 Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
. It is recommended to have a single admin address to retain a common security model. - Standard Config Requirement:
Minimum Fee Withdrawal Amounts
Withdrawals to L1 are expensive and the minimum fee is to prevent overhead costs of continuous tiny withdrawals. If the withdrawal execution costs more than the fee-reward, then the fee Must not be collected economically.
baseFeeVaultMinimumWithdrawalAmount
BaseFeeVaultMinimumWithdrawalAmount represents the minimum withdrawal amount for the BaseFeeVault.
- Type: Number in wei
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
l1FeeVaultMinimumWithdrawalAmount
L1FeeVaultMinimumWithdrawalAmount represents the minimum withdrawal amount for the L1FeeVault.
- Type: Number in wei
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
sequencerFeeVaultWithdrawalAmount
SequencerFeeVaultMinimumWithdrawalAmount represents the minimum withdrawal amount for the SequencerFeeVault.
- Type: Number in wei
- Recommended value:
- Default value: None
- Notes:
- Standard Config Requirement:
Withdrawal Network
baseFeeVaultWithdrawalNetwork
BaseFeeVaultWithdrawalNetwork represents the withdrawal network for the BaseFeeVault. value of 0 will withdraw ETH to the recipient address on L1 and a value of 1 will withdraw ETH to the recipient address on L2.
- Type: Number representing network enum
- Default value: None
- Recommended value:
- Notes: Withdrawals to Ethereum are more expensive.
- Standard Config Requirement:
l1FeeVaultWithdrawalNetwork
L1FeeVaultWithdrawalNetwork represents the withdrawal network for the L1FeeVault. A value of 0 will withdraw ETH to the recipient address on L1 and a value of 1 will withdraw ETH to the recipient address on L2.
- Type: Number representing network enum
- Default value: None
- Recommended value:
- Notes: Withdrawals to Ethereum are more expensive.
- Standard Config Requirement:
sequencerFeeVaultWithdrawalNetwork
SequencerFeeVaultWithdrawalNetwork represents the withdrawal network for the SequencerFeeVault. A value of 0 will withdraw ETH to the recipient address on L1 and a value of 1 will withdraw ETH to the recipient address on L2.
- Type: Number representing network enum
- Default value: None
- Recommended value:
- Notes: Withdrawals to Ethereum are more expensive.
- Standard Config Requirement:
Fault Proofs
faultGameAbsolutePrestate
FaultGameAbsolutePrestate is the absolute prestate of Cannon. This is computed by generating a proof from the 0th -> 1st instruction and grabbing the prestate from the output JSON. All honest challengers should agree on the setup state of the program.
- Type: Hash
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
faultGameMaxDepth
FaultGameMaxDepth is the maximum depth of the position tree within the fault
dispute game. 2^{FaultGameMaxDepth}
is how many instructions the execution
trace bisection game supports. Ideally, this should be conservatively set so
that there is always enough room for a full Cannon trace.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
faultGameClockExtension
FaultGameClockExtension is the amount of time that the dispute game will set the potential grandchild claim's, clock to, if the remaining time is less than this value at the time of a claim's creation.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
faultGameMaxClockDuration
FaultGameMaxClockDuration is the maximum amount of time that may accumulate on a team's chess clock before they may no longer respond.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
faultGameGenesisBlock
FaultGameGenesisBlock is the block number for genesis.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
faultGameGenesisOutputRoot
FaultGameGenesisOutputRoot is the output root for the genesis block.
- Type: Hash
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
faultGameSplitDepth
FaultGameSplitDepth is the depth at which the fault dispute game splits from output roots to execution trace claims.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
faultGameWithdrawalDelay
FaultGameWithdrawalDelay is the number of seconds that users must wait before withdrawing ETH from a fault game.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
preimageOracleMinProposalSize
PreimageOracleMinProposalSize is the minimum number of bytes that a large preimage oracle proposal can be.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
preimageOracleChallengePeriod
PreimageOracleChallengePeriod is the number of seconds that challengers have to challenge a large preimage proposal.
- Type: Number of Seconds
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
proofMaturityDelaySeconds
ProofMaturityDelaySeconds is the number of seconds that a proof must be mature before it can be used to finalize a withdrawal.
- Type: Number
- Default value: None
- Recommended value:
- Notes: Should not be
0
. - Standard Config Requirement:
disputeGameFinalityDelaySeconds
DisputeGameFinalityDelaySeconds is an additional number of seconds a dispute game must wait before it can be used to finalize a withdrawal.
- Type: Number
- Default value: None
- Recommended value:
- Notes: Should not be
0
. - Standard Config Requirement:
respectedGameType
RespectedGameType is the dispute game type that the OptimismPortal contract will respect for finalizing withdrawals.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
useFaultProofs
UseFaultProofs is a flag that indicates if the system is using fault proofs instead of the older output oracle mechanism.
- Type: Boolean
- Default value: None
- Recommended value:
- Notes: You should understand the implications of running a Fault Proof chain.
- Standard Config Requirement:
Custom Gas Token
The Custom Gas Token configuration lets OP Stack chain operators deploy their chain allowing a specific ERC-20 token to be deposited in as the native token to pay for gas fees. Learn more here.
useCustomGasToken
UseCustomGasToken is a flag to indicate that a custom gas token should be used.
- Type: boolean
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement: Non-standard feature.
customGasTokenAddress
CustomGasTokenAddress is the address of the ERC20 token to be used to pay for gas on L2.
- Type: Address
- Default value: None
- Recommended value:
- Notes: Must not be
address(0)
. - Standard Config Requirement: Non-standard feature.
Alt-DA Mode
Alt-DA Mode enables seamless integration of various Data Availability (DA) Layers, regardless of their commitment type, into the OP Stack. This allows any chain operator to launch an OP Stack chain using their favorite DA Layer for sustainably low costs. Lean more here.
usePlasma
UsePlasma is a flag that indicates if the system is using op-plasma
- Type: bool
- Recommended value:
- Default value: None
- Notes:
- Standard Config Requirement: Non-standard feature.
daCommitmentType
DACommitmentType specifies the allowed commitment
- Type: string
- Default value: None
- Notes: DACommitmentType must be either KeccakCommitment or GenericCommitment. However, KeccakCommitment will be deprecated soon.
- Recommended value: GenericCommitment
- Standard Config Requirement: Non-standard feature.
daChallengeWindow
DAChallengeWindow represents the block interval during which the availability of a data commitment can be challenged.
- Type: Number
- Default value: None
- Recommended value:
- Notes: DAChallengeWindow must not be 0 when using plasma mode
- Standard Config Requirement: Non-standard feature.
daResolveWindow
DAResolveWindow represents the block interval during which a data availability challenge can be resolved.
- Type: Number
- Default value: None
- Recommended value:
- Notes: DAChallengeWindow must not be 0 when using plasma mode
- Standard Config Requirement: Non-standard feature.
daBondSize
DABondSize represents the required bond size to initiate a data availability challenge.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement: Non-standard feature.
daResolverRefundPercentage
DAResolverRefundPercentage represents the percentage of the resolving cost to be refunded to the resolver such as 100 means 100% refund.
- Type: Number
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement: Non-standard feature.
daChallengeProxy
DAChallengeProxy represents the L1 address of the DataAvailabilityChallenge contract.
- Type: Address
- Default value: None
- Recommended value:
- Notes: Must not be address(0) when using plasma mode
- Standard Config Requirement: Non-standard feature.
Interoperability
useInterop
UseInterop is a flag that indicates if the system is using interop.
- Type: boolean
- Default value: None
- Recommended value: false
- Notes: Interoperability is still experimental (opens in a new tab).
- Standard Config Requirement: Non-standard feature.
Governance
enableGovernance
EnableGovernance determines whether to include governance token predeploy.
- Type: boolean
- Default value: None
- Recommended value: false
- Notes:
- Standard Config Requirement:
governanceTokenSymbol
GovernanceTokenSymbol represents the ERC20 symbol of the GovernanceToken.
- Type: string
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
governanceTokenName
GovernanceTokenName represents the ERC20 name of the GovernanceToken
- Type: string
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
governanceTokenOwner
GovernanceTokenOwner represents the owner of the GovernanceToken. Has the ability to mint and burn tokens.
- Type: L2 Address
- Default value: None
- Recommended value:
- Notes:
- Standard Config Requirement:
Miscellaneous
fundDevAccounts
FundDevAccounts determines whether to fund the dev accounts. Should only be used during devnet deployments.
- Type: Boolean
- Default value:
- Recommended value:
- Notes:
- Standard Config Requirement:
requiredProtocolVersion
RequiredProtocolVersion indicates the protocol version that nodes are recommended to adopt, to stay in sync with the network.
- Type: String
- Default value:
- Recommended value:
- Notes:
- Standard Config Requirement:
recommendedProtocolVersion
RecommendedProtocolVersion indicates the protocol version that nodes are recommended to adopt, to stay in sync with the network.
- Type: String
- Default value:
- Recommended value:
- Notes:
- Standard Config Requirement:
Deprecated
(DEPRECATED) gasPriceOracleScalar
GasPriceOracleScalar represents the initial value of the gas scalar in the GasPriceOracle predeploy. Deprecated: Since Ecotone, this field is superseded by GasPriceOracleBaseFeeScalar and GasPriceOracleBlobBaseFeeScalar.
(DEPRECATED) gasPriceOracleOverhead
GasPriceOracleOverhead represents the initial value of the gas overhead in the GasPriceOracle predeploy. Deprecated: Since Ecotone, this field is superseded by GasPriceOracleBaseFeeScalar and GasPriceOracleBlobBaseFeeScalar.
(DEPRECATED) deploymentWaitConfirmations
DeploymentWaitConfirmations is the number of confirmations to wait during deployment. This is DEPRECATED and should be removed in a future PR.
(DEPRECATED) numDeployConfirmations
Number of confirmations to wait when deploying smart contracts to L1.