Combo Testnet Protocol addresses


Combo Testnet Protocol addresses

Reference BNB Chainopen in new window

Cross Chain Communication

Name
Description
Address
batchInboxThis contract receives batches of transactions from the Sequencer on L1.0xff00000000000000000000000000000000000000
batchSenderThis contract is the authorized sender of batches to the batchInbox. It can be changed by the SystemConfig contract, which governs the parameters of the opBNB network0xbbcc32ea49d9b6d44faf32e6b1bfc1a6c775163c
outputProposerThis contract proposes outputs for the opBNB nodes to execute. It receives inputs from the batchInbox and other sources, and generates outputs that are consistent with the opBNB protocol rules0x39384d0d67aed93eb43dc091c81e707f55980ece
Contract NameProxy Type
Description
Important Variables
L1CrossDomainMessengerResolvedDelegateProxyHigh-level interface for sending messages to and receiving messages from OptimismPORTAL;Address of the OptimismPortal.Change via upgrade
L1StandardBridgeL1ChugSplashProxyThe standard bridges are responsible for allowing cross domain ETH and ERC20 token transfers.1. MESSENGERMessenger contract on this domain.Change via upgrade
2.OTHER_BRIDGECorresponding bridge on the other domain.Change via upgrade.
L1ERC721Bridgeopen in new windowProxyThe L1 ERC721 bridge is a contract which works together with the L2 ERC721 bridge to make it possible to transfer ERC721 tokens from Ethereum to Optimism.1. MESSENGERMessenger contract on this domain.Change via upgrade
2. OTHER_BRIDGECorresponding bridge on the other domain.Change via upgrade.
L2OutputOracleProxyStores commitments to the state of Optimism which can be used by contracts on L1 to access L2 state1. SUBMISSION_INTERVAL The interval in L2 blocks at which checkpoints must be submittedChange via upgrade.
2. L2_BLOCK_TIMEThe time between L2 blocks in seconds.Change via upgrade.
3. CHALLENGERThe address of the challengerChange via upgrade.
4. PROPOSERThe address of the proposerChange via upgrade.
5. FINALIZATION_PERIOD_SECONDSMinimum time (in seconds) that must elapse before a withdrawal can be finalized.Change via upgrade.
AddressManager-AddressManager is a legacy contract that was used in the old version of the Optimism system to manage a registry of string names to addresses. We now use a more standard proxy system instead, but this contract is still necessary for backwards compatibility with several older contracts.1._owneropenzepplin standard ownable contact.Change via function(transferOwnership(address newOwner)
OptimismMintableERC20FactoryProxyOptimismMintableERC20Factory is a factory contract that generates OptimismMintableERC20contracts on the network it's deployed to. Simplifies the deployment process for userswho may be less familiar with deploying smart contracts.1.BRIDGEAddress of the StandardBridge on this chain.Change via upgrade.
OptimismPortalProxyThe OptimismPortal is a low-level contract responsible for passing messages between L1and L2.1.L2_ORACLEAddress of the L2OutputOracle contract.Change via upgrade.
2.SYSTEM_CONFIGAddress of the SystemConfig contract.Change via upgrade.
3.GUARDIANAddress that has the ability to pause and unpause withdrawals.
PortalSenderopen in new window-The PortalSender is a simple intermediate contract that will transfer the balance of the L1StandardBridge to the OptimismPortal during the Bedrock migration.1.PORTALAddress of the OptimismPortal contract.Change via upgrade.
ProxyAdmin-Contract that can upgrade L1 contracts. It has backwards compatibility logic to workwith the various types of proxies that have been deployed by Optimism in the past.1._owneropenzepplin standard ownable contact.Change via function(transferOwnership(address newOwner)
SystemConfigopen in new windowProxyThe SystemConfig contract is used to manage configuration of an Optimism network. All configuration is stored on L1 and picked up by L2 as part of the derviation of the L2chain.1._owneropenzepplin standard OwnableUpgradeable contact.Change via function(transferOwnership(address newOwner)
2.overheadFixed L2 gas overhead. Used as part of the L2 fee calculation.Change via function
3.scalarDynamic L2 gas overhead. Used as part of the L2 fee calculation.Change via function
4.batcherHashIdentifier for the batcher.Change via function
5.gasLimitL2 block gas limit.
6.*UNSAFE_BLOCK_SIGNER_SLOT*Storage slot that the unsafe block signer is stored at.Can't change via function, but the unsafe_block_singer can be updated via function(setUnsafeBlockSigner)
SystemDictatoropen in new windowProxyThe SystemDictator is responsible for coordinating the deployment of a full Bedrocksystem. The SystemDictator is designed to support both fresh network deployments andupgrades to existing pre-Bedrock systems.1._owneropenzepplin standard OwnableUpgradeable contact.Change via function(transferOwnership(address newOwner)

L2 Contract Addresses

Contract NameAddress
Description
Important Variables
IntroducedDeprecatedProxied
LegacyMessagePasseropen in new window0x4200000000000000000000000000000000000000The contract stores commitments to withdrawal transactions before the Bedrock upgrade.LegacyYesYes
L2ToL1MessagePasseropen in new window0x4200000000000000000000000000000000000016The L2ToL1MessagePasser stores commitments to withdrawal transactions.BedrockNoYes
DeployerWhitelistopen in new window0x4200000000000000000000000000000000000002DeployerWhitelist is a legacy contract that was originally used to act as a whitelist of addresses allowed to the Optimism network.LegacyYesYes
LegacyERC20ETHopen in new window0xDeadDeAddeAddEAddeadDEaDDEAdDeaDDeAD0000LegacyERC20ETH is a legacy contract that held ETH balances before the Bedrock upgrade. All ETH balances held within this contract were migrated to the state trie as part ofthe Bedrock upgrade.LegacyYesNO
WETH9open in new window0x4200000000000000000000000000000000000006WETH9 is the standard implementation of Wrapped Ether on Optimism.string public name = "Wrapped Ether";
string public symbol = "WETH";
uint8 public decimals = 18;
LegacyNoNo
L2CrossDomainMessengeropen in new window0x4200000000000000000000000000000000000007The L2CrossDomainMessenger is a high-level interface for message passing between L1 and L2 on the L2 side.LegacyNoYes
L2StandardBridgeopen in new window0x4200000000000000000000000000000000000010The L2StandardBridge is a higher level API built on top of the L2CrossDomainMessenger that gives a standard interface for sending ETH or ERC20 tokens across domains.LegacyNoYes
L2ERC721Bridgeopen in new window0x4200000000000000000000000000000000000014The L2 ERC721 bridge is a contract which works together with the L1 ERC721 bridge to make it possible to transfer ERC721 tokens from Ethereum to Optimism.LegacyNoYes
L1BlockNumberopen in new window0x4200000000000000000000000000000000000013The L1BlockNumber returns the last known L1 block number. This contract was introduced in the legacy system and should be backwards compatible by calling out to the L1Block contract under the hood.LegacyYesYes
GasPriceOracleopen in new window0x420000000000000000000000000000000000000FAfter Bedrock, this contract now simply proxies the L1Block contractwhich has the values used to compute the L1 portion of the fee in its state.LegacyNoYes
L1Blockopen in new window0x4200000000000000000000000000000000000015The L1Blockopen in new window was introduced in Bedrock and is responsible for maintaining L1 context in L2. This allows for L1 state to be accessed in L2.BedrockNoYes
ProxyAdminopen in new window0x4200000000000000000000000000000000000018The ProxyAdmin is the owner of all of the proxy contracts set at the predeploys. It is itself behind a proxy. The owner of the ProxyAdmin will have the ability to upgrade any of the other predeploy contracts.1._owneropenzepplin standard ownable contact.Change via function(transferOwnership(address newOwner)BedrockNoYes
SequencerFeeVaultopen in new window0x4200000000000000000000000000000000000011The SequencerFeeVault is the contract that holds any fees paid to the Sequencer during transaction processing and block production.1.MIN_WITHDRAWAL_AMOUNTMinimum balance before a withdrawal can be triggered.Change via upgrade.
2.RECIPIENTWallet that will receive the fees on L1.Change via upgrade.
LegacyNoYes
OptimismMintableERC20Factoryopen in new window0x4200000000000000000000000000000000000012The OptimismMintableERC20Factory is responsible for creating ERC20 contracts on L2 that can be used for depositing native L1 tokens into.1.BRIDGEAddress of the StandardBridge on this chain.Change via upgrade.LegacyNoYes
OptimismMintableERC721Factoryopen in new window0x4200000000000000000000000000000000000017The OptimismMintableERC721Factory is responsible for creating ERC721 contracts on L2 that can be used for depositing native L1 NFTs into.1.BRIDGEAddress of the StandardBridge on this chain.Change via upgrade.
2.REMOTE_CHAIN_IDChain ID for the remote network.Change via upgrade.
BedrockNoYes
BaseFeeVaultopen in new window0x4200000000000000000000000000000000000019The BaseFeeVault predeploy receives the basefees on L2. The basefee is not burnt on L2 like it is on L1. Once the contract has received a certain amount of fees, the ETH can be withdrawn to an immutable address on L1.1.MIN_WITHDRAWAL_AMOUNTMinimum balance before a withdrawal can be triggered.Change via upgrade.
2.RECIPIENTWallet that will receive the fees on L1.Change via upgrade.
BedrockNoYes
L1FeeVaultopen in new window0x420000000000000000000000000000000000001aThe L1FeeVault predeploy receives the L1 portion of the transaction fees. Once the contract has received a certain amount of fees, the ETH can be withdrawn to an immutable address on L1.1.MIN_WITHDRAWAL_AMOUNTMinimum balance before a withdrawal can be triggered.Change via upgrade.
2.RECIPIENTWallet that will receive the fees on L1.Change via upgrade.
BedrockNoYes
GovernanceTokenopen in new window0x4200000000000000000000000000000000000042LegacyNoNo