b6437082 (main)
and
730bfb56 (PR)
+40 -8
+2 -1
{
"unverifiedContracts": [
"eth:0x79241BbE3646d8405849Cbe8608e77b82c402892",
"eth:0xe2f33Bd70B301F53f61CB7b22D852bC8e3D95E2b",
"eth:0x4815b8773E6686d0b6Ee16191Aef1ae6c50d6B77",
"eth:0x83088c8Dd196a83f43140ddBD7B4727bD1d43AD4",
"eth:0xf2A2Bee383C2e4d75d9aE5953b3A6cFABb661a47"
]
}
+20 -4
{
"ethereum": {
"roles": [
{
"id": "Proposer",
"name": "Proposer",
"description": "Allowed to post new state roots of the current layer to the host chain.",
"accounts": [
{
"address": "eth:0xA217ee134CB95B1ab56eF83a33956E5A979bf6e7",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1-and-EOA-2"
},
{
"address": "eth:0xAe13Ce4Cd416cb4598865aa5aC8d13532bd3Cd99",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1-and-EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
},
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Allowed to commit transactions from the current layer to the host chain.",
"accounts": [
{
"address": "eth:0xA217ee134CB95B1ab56eF83a33956E5A979bf6e7",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1-and-EOA-2"
},
{
"address": "eth:0xAe13Ce4Cd416cb4598865aa5aC8d13532bd3Cd99",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1-and-EOA-2"
}
],
"chain": "ethereum",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "",
"name": "",
"accounts": [
{
"address": "eth:0xe2f33Bd70B301F53f61CB7b22D852bC8e3D95E2b",
"address": "eth:0x4815b8773E6686d0b6Ee16191Aef1ae6c50d6B77",
"type": "Contract",
"isVerified": false,
"name": "0xe2f3…5E2b",
"url": "https://etherscan.io/address/0xe2f33Bd70B301F53f61CB7b22D852bC8e3D95E2b"
"name": "0x4815…6B77",
"url": "https://etherscan.io/address/0x4815b8773E6686d0b6Ee16191Aef1ae6c50d6B77"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * L1ETHBridge \n * L1Mailbox \n * Rollup ",
"description": "* Can upgrade **with no delay**\n * L1ETHBridge [via: ProxyAdmin]\n * L1Mailbox [via: ProxyAdmin]\n * Rollup [via: ProxyAdmin]",
"discoveryDrivenData": true
},
{
"id": "",
"name": "",
"accounts": [
{
"address": "eth:0x83088c8Dd196a83f43140ddBD7B4727bD1d43AD4",
"type": "Contract",
"isVerified": false,
"name": "0x8308…3AD4",
"url": "https://etherscan.io/address/0x83088c8Dd196a83f43140ddBD7B4727bD1d43AD4"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * ",
"discoveryDrivenData": true
},
{
"id": "",
"name": "",
"accounts": [
{
"address": "eth:0xf2A2Bee383C2e4d75d9aE5953b3A6cFABb661a47",
"type": "Contract",
"isVerified": false,
"name": "0xf2A2…1a47",
"url": "https://etherscan.io/address/0xf2A2Bee383C2e4d75d9aE5953b3A6cFABb661a47"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * TEEVerifierProxyOwner ",
"discoveryDrivenData": true
},
{
"id": "EOA-1-and-EOA-2",
"name": "EOA 1 and EOA 2",
"accounts": [
{
"address": "eth:0xA217ee134CB95B1ab56eF83a33956E5A979bf6e7",
"type": "EOA",
"isVerified": true,
"name": "0xA217…f6e7",
"url": "https://etherscan.io/address/0xA217ee134CB95B1ab56eF83a33956E5A979bf6e7"
},
{
"address": "eth:0xAe13Ce4Cd416cb4598865aa5aC8d13532bd3Cd99",
"type": "EOA",
"isVerified": true,
"name": "0xAe13…Cd99",
"url": "https://etherscan.io/address/0xAe13Ce4Cd416cb4598865aa5aC8d13532bd3Cd99"
}
],
"chain": "ethereum",
"description": "* A Proposer - acting directly\n* A Sequencer - acting directly",
"discoveryDrivenData": true
}
]
}
}
+18 -3
{
"addresses": {
"ethereum": [
{
"name": "L1Mailbox",
"isVerified": true,
"address": "eth:0x9869A90FDAc287519E48aff4cCE329907a995162",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe2f33Bd70B301F53f61CB7b22D852bC8e3D95E2b"
],
"implementations": [
"eth:0x8327820B007Ee6dc6fF24A8798096C9961A0aB80"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758377279,
"transactionHash": "0xc594f519ef3a048fb2733b38959f1736434a5e8d4dad8bb513c549da950f4287",
"implementations": [
"eth:0x92E92B5060E3578AD4A27e2c9FB489556E434551"
]
},
{
"timestamp": 1758639023,
"transactionHash": "0x33cc67e6ab8aa7b06389b5cef8cb281cda3864b5042556e06556eb9c102efb82",
"implementations": [
"eth:0x8327820B007Ee6dc6fF24A8798096C9961A0aB80"
]
}
],
"description": "The L1Mailbox contract is used to send messages to the L2.\n* Roles:\n * **admin**: ",
"description": "The L1Mailbox contract is used to send messages to the L2.\n* Roles:\n * **admin**: ProxyAdmin",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9869A90FDAc287519E48aff4cCE329907a995162#code"
},
{
"name": "Rollup",
"isVerified": true,
"address": "eth:0xe0a28B8918a62edB825055221a1dF12c7C81Bac1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe2f33Bd70B301F53f61CB7b22D852bC8e3D95E2b"
],
"implementations": [
"eth:0xc8eEDE7229CcAd4a14f006845d05Fd51B28eE973"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758377339,
"transactionHash": "0x191e80563fda9d11b6b8f303de197c8c4eb2c108aea55d2dd5436afd5ada4a26",
"implementations": [
"eth:0x5A65b0065A668b844250C04550ce16b1dF6296B6"
]
},
{
"timestamp": 1758638987,
"transactionHash": "0x11546aaf0ec3476cde945652f2d8612c6f096c0202b6ca1bb149ab05c60b1e16",
"implementations": [
"eth:0xc8eEDE7229CcAd4a14f006845d05Fd51B28eE973"
]
}
],
"description": "The Rollup contract is used to submit and verify L2 batches.\n* Roles:\n * **admin**: \n * **relayer**: EOA 1, EOA 2",
"description": "The Rollup contract is used to submit and verify L2 batches.\n* Roles:\n * **admin**: ProxyAdmin\n * **relayer**: EOA 1, EOA 2",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe0a28B8918a62edB825055221a1dF12c7C81Bac1#code"
},
{
"name": "L1ETHBridge",
"isVerified": true,
"address": "eth:0x922248Db4A99bB542539ae7165FB9D7A546FB9F1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe2f33Bd70B301F53f61CB7b22D852bC8e3D95E2b"
],
"implementations": [
"eth:0x376df788aFc6E801b24fC6C0fa6b53637A947ae7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758377315,
"transactionHash": "0x27da4e3d9243ad68db7b84842815c2928e6c216e685644216f6d4efd76a4a2ca",
"implementations": [
"eth:0x376df788aFc6E801b24fC6C0fa6b53637A947ae7"
]
},
{
"timestamp": 1758703271,
"transactionHash": "0xaff5b64efe3035f43b1aeb399bb86c1709bdd11b65ffabfe773a0ea4a1c90c03",
"implementations": [
"eth:0x376df788aFc6E801b24fC6C0fa6b53637A947ae7"
]
}
],
"description": "The L1ETHBridge contract is used to bridge ETH between the L1 and L2.\n* Roles:\n * **admin**: ",
"description": "The L1ETHBridge contract is used to bridge ETH between the L1 and L2.\n* Roles:\n * **admin**: ProxyAdmin",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x922248Db4A99bB542539ae7165FB9D7A546FB9F1#code"
},
{
"name": "DcapAttestationRouter",
"isVerified": true,
"address": "eth:0x238f4DaFC22013a864f85a54E276aC99975566fA",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The DcapAttestationRouter contract is used for routing and verifying Intel SGX/TDX DCAP attestation proofs. The contract sends each quote to the corresponding verification path (cache verifier vs. Automata DCAP contract, and SGX vs. TDX measurement checks).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x238f4DaFC22013a864f85a54E276aC99975566fA#code"
},
{
"name": "MeasurementDao",
"isVerified": true,
"address": "eth:0x359437E2763e9622DD4324D7904BbF7516332D4F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The MeasurementDao contract is an onchain registry that allowlists SGX MR_ENCLAVE<->MR_SIGNER pairs and TDX RTMR3/MRTD values, and verifies DCAP quotes by matching quote fields to the stored measurements.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x359437E2763e9622DD4324D7904BbF7516332D4F#code"
},
{
"name": "TEEVerifierProxy",
"isVerified": true,
"address": "eth:0x371a8bda9a34d641B546883D6B5895d0A44AD46A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "The TEEVerifierProxy contract is used to verify L2 batches using TEE attestations. It delegates proof verification to the dcapAttestationRouter contract. \n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x371a8bda9a34d641B546883D6B5895d0A44AD46A#code"
},
{
"name": "DaimoP256Verifier",
"isVerified": true,
"address": "eth:0x783377992FCA09009eaD952D4fBa6519e25726b4",
"upgradeability": {
"proxyType": "EIP2535 diamond proxy",
"admins": [],
"implementations": [],
"immutable": false
},
"chain": "ethereum",
"pastUpgrades": [],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x783377992FCA09009eaD952D4fBa6519e25726b4#code"
},
{
"name": "TEEVerifierProxyOwner",
"isVerified": false,
"address": "eth:0x79241BbE3646d8405849Cbe8608e77b82c402892",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xf2A2Bee383C2e4d75d9aE5953b3A6cFABb661a47"
],
"implementations": [
"eth:0x621Dd8d71526D7Df51Fa1AA8D098f5eAEc81C573"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1758618419,
"transactionHash": "0x4f7555de5b6e2a26078eed6b91511efaa934efd8e856fe3b336fa6599cc6f48f",
"implementations": [
"eth:0x621Dd8d71526D7Df51Fa1AA8D098f5eAEc81C573"
]
}
],
"description": "* Roles:\n * **admin**: ",
"upgradableBy": [
{
"name": "",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x79241BbE3646d8405849Cbe8608e77b82c402892#code"
},
{
"name": "TEECacheVerifier",
"isVerified": true,
"address": "eth:0x9734CcA9304A4c7a5a27bCFac9eDa23e09cBAaF2",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "A cache-enabled P-256 ECDSA verifier for Intel SGX/TDX DCAP quotes (v3/v4/v5) that authenticates local attestation data, extracts the 32-byte commitment, and lets the owner/authorized callers initialize, manage, and reuse cached attestation keys to skip repeat verifications.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9734CcA9304A4c7a5a27bCFac9eDa23e09cBAaF2#code"
},
{
"name": "AutomataDcapAttestationFee",
"isVerified": true,
"address": "eth:0xb3a96165caf30F8F7cE9BCfdaaAe99BA93C1A6F9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Contract used to charge a configurable basis-point fee to verify Intel DCAP quotes. Currently set to 0 basis points.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb3a96165caf30F8F7cE9BCfdaaAe99BA93C1A6F9#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xe2f33Bd70B301F53f61CB7b22D852bC8e3D95E2b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe2f33Bd70B301F53f61CB7b22D852bC8e3D95E2b#code"
}
]
},
"escrows": [
{
"address": "0x922248Db4A99bB542539ae7165FB9D7A546FB9F1",
"sinceTimestamp": 1754392609,
"tokens": [
"ETH"
],
"chain": "ethereum",
"chainId": 1
},
{
"address": "0x9869A90FDAc287519E48aff4cCE329907a995162",
"sinceTimestamp": 1754392609,
"tokens": [
"ETH"
],
"chain": "ethereum",
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
}
+39 -41
+1 -4
{
"redWarning": {
"text": "Critical contracts can be upgraded by an EOA which could result in the loss of all funds.",
"detailAnchor": "permissions"
},
"unverifiedContracts": [
"arb-nova:0x04ea347cC6A258A7F65D67aFb60B1d487062A1d0",
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
]
"unverifiedContracts": []
}
+1 -17
{
"nova": {
"roles": [
{
"id": "Sequencer",
"name": "Sequencer",
"description": "Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.",
"accounts": [
{
"address": "arb-nova:0x3A8F935c5722535A8F34BD176d57D130Cb37d3A0",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"chain": "nova",
"discoveryDrivenData": true
},
{
"id": "Validator",
"name": "Validator",
"description": "Can propose new state roots (called nodes) and challenge state roots on the host chain.",
"accounts": [
{
"address": "arb-nova:0xB246421622FB931BdAc20B4a26816F881771Db1e",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-3"
}
],
"chain": "nova",
"discoveryDrivenData": true
}
],
"actors": [
{
"id": "ProxyAdmin",
"name": "ProxyAdmin",
"accounts": [
{
"address": "arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91",
"type": "Contract",
"isVerified": false,
"name": "0x27C7…6c91",
"url": "https://nova.arbiscan.io/address/0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
}
],
"chain": "nova",
"description": "* Can upgrade **with no delay**\n * UpgradeExecutor \n * RollupEventInbox \n * ChallengeManager \n * Outbox \n * Bridge \n * SequencerInbox \n * Inbox ",
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "arb-nova:0x10Fe3cb853F7ef551E1598d91436e95d41Aea45a",
"type": "EOA",
"isVerified": true,
"name": "0x10Fe…a45a",
"url": "https://nova.arbiscan.io/address/0x10Fe3cb853F7ef551E1598d91436e95d41Aea45a"
}
],
"chain": "nova",
"description": "* Can upgrade **with no delay**\n * RollupProxy [via: UpgradeExecutor]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"description": "* Can upgrade **with no delay**\n * RollupProxy [via: UpgradeExecutor]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * ChallengeManager [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n* Can interact with RollupProxy\n * Pause and unpause and set important roles and parameters in the system contracts: Can delegate Sequencer management to a BatchPosterManager address, manage data availability, DACs and the fastConfirmer role, set the Sequencer-only window, introduce an allowList to the bridge and whitelist Inboxes/Outboxes [via: UpgradeExecutor]",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "arb-nova:0x3A8F935c5722535A8F34BD176d57D130Cb37d3A0",
"type": "EOA",
"isVerified": true,
"name": "0x3A8F…d3A0",
"url": "https://nova.arbiscan.io/address/0x3A8F935c5722535A8F34BD176d57D130Cb37d3A0"
}
],
"chain": "nova",
"description": "* A Sequencer - acting directly",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "arb-nova:0xB246421622FB931BdAc20B4a26816F881771Db1e",
"type": "EOA",
"isVerified": true,
"name": "0xB246…Db1e",
"url": "https://nova.arbiscan.io/address/0xB246421622FB931BdAc20B4a26816F881771Db1e"
}
],
"chain": "nova",
"description": "* A Validator - acting directly",
"discoveryDrivenData": true
}
]
}
}
+37 -20
{
"addresses": {
"nova": [
{
"name": "RollupProxy",
"isVerified": false,
"isVerified": true,
"address": "arb-nova:0x04ea347cC6A258A7F65D67aFb60B1d487062A1d0",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb-nova:0x0611b78A42903a537BE7a2f9a8783BE39AC63cD9"
],
"implementations": [
"arb-nova:0xF7C1c37406626B305f5136364016425f487516a3",
"arb-nova:0x5CAF2e861bB26aA0576583677488694FCf30e514"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0xEe9E5546A11Cb5b4A86e92DA05f2ef75C26E4754",
"arb-nova:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A"
]
},
{
"timestamp": 1732554174,
"transactionHash": "0x1eb946f2394c7e8be67336259aa449fbc92fe2b4cf2850c41d2c8dcf54e0193a",
"implementations": [
"arb-nova:0xF7C1c37406626B305f5136364016425f487516a3",
"arb-nova:0x5CAF2e861bB26aA0576583677488694FCf30e514"
]
}
],
"description": "Central contract for the project's configuration like its execution logic hash (`wasmModuleRoot`) and addresses of the other system contracts. Entry point for Proposers creating new Rollup Nodes (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both held by the Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately EOA 1\n * **validators**: EOA 3",
"upgradableBy": [
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x04ea347cC6A258A7F65D67aFb60B1d487062A1d0#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "arb-nova:0x383eFE8D410285c5CbE1B4F296022640759aA834",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x8F77B0d1e891C87F2987Afb476d74e2a71341b0d"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x09824fe72BFF474d16D9c2774432E381BBD60662"
]
},
{
"timestamp": 1732553229,
"transactionHash": "0x35689ea16b8ccd3c7074f1eebde2f4fcfa94bdfb314450e736632eba04ebbb18",
"implementations": [
"arb-nova:0xDCa690cB409FF3FBDC85F12179c4718Fa080Fb38"
]
},
{
"timestamp": 1732554174,
"transactionHash": "0x1eb946f2394c7e8be67336259aa449fbc92fe2b4cf2850c41d2c8dcf54e0193a",
"implementations": [
"arb-nova:0x8F77B0d1e891C87F2987Afb476d74e2a71341b0d"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin",
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"name": "ProxyAdmin",
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x383eFE8D410285c5CbE1B4F296022640759aA834#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb-nova:0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0xe0978394BEe15a49583fF833a80Bd426c17B68e4"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1742810441,
"transactionHash": "0x88e38ce4a7e0b667fed77dbc25c187204e98015ee24429093541867beb30cadc",
"implementations": [
"arb-nova:0xe0978394BEe15a49583fF833a80Bd426c17B68e4"
]
}
],
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin",
"description": "Escrow contract for the project's gas token (can be different from ETH). Keeps a list of allowed Inboxes and Outboxes for canonical bridge messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"name": "ProxyAdmin",
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb-nova:0xe347C1223381b9Dcd6c0F61cf81c90175A7Bae77",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x1Cc23D484454468C208e4d737288937862b8ecC9"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x1c6ACCd9d66f3B993928E7439c9A2d67b94a445F"
]
},
{
"timestamp": 1732553229,
"transactionHash": "0x35689ea16b8ccd3c7074f1eebde2f4fcfa94bdfb314450e736632eba04ebbb18",
"implementations": [
"arb-nova:0xFc9474Db7E2Be79429d456F52741cA18FB7b05c5"
]
},
{
"timestamp": 1742818110,
"transactionHash": "0xf21b441cc66ff6ce0cb9f43f17a82009561559f61736e6efbecc38ef7c9bdcc7",
"implementations": [
"arb-nova:0x1Cc23D484454468C208e4d737288937862b8ecC9"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin\n * **batchPosters**: EOA 2",
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **batchPosters**: EOA 2",
"upgradableBy": [
{
"name": "ProxyAdmin",
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xe347C1223381b9Dcd6c0F61cf81c90175A7Bae77#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb-nova:0x0611b78A42903a537BE7a2f9a8783BE39AC63cD9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin\n * **executors**: EOA 1",
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1\n * **executors**: EOA 1",
"upgradableBy": [
{
"name": "ProxyAdmin",
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x0611b78A42903a537BE7a2f9a8783BE39AC63cD9#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb-nova:0xA597e0212971e65f53f288Ff1fFd26A6C8201f83",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin",
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"name": "ProxyAdmin",
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xA597e0212971e65f53f288Ff1fFd26A6C8201f83#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb-nova:0xFF55fB76F5671dD9eB6c62EffF8D693Bb161a3ad",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x001B9eDD86D3674fc8aACc98Bf85f08851281Bc4"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742818110,
"transactionHash": "0xf21b441cc66ff6ce0cb9f43f17a82009561559f61736e6efbecc38ef7c9bdcc7",
"implementations": [
"arb-nova:0x001B9eDD86D3674fc8aACc98Bf85f08851281Bc4"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin",
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"name": "ProxyAdmin",
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xFF55fB76F5671dD9eB6c62EffF8D693Bb161a3ad#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb-nova:0x0fF7A97caAb356c5507e5355b6819CB8b93d5591",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x18FD37A4FB9E1F06d9383958aFd236771F15A8cb"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin",
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1",
"upgradableBy": [
{
"name": "ProxyAdmin",
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x0fF7A97caAb356c5507e5355b6819CB8b93d5591#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb-nova:0x19bD7120cD19D6BE6D21f987544e404e47608c16",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x19bD7120cD19D6BE6D21f987544e404e47608c16#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb-nova:0x2964CBfC551A76527D42F57131E7f77f9Dce8921",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x2964CBfC551A76527D42F57131E7f77f9Dce8921#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "arb-nova:0x6c21303F5986180B1394d2C89f3e883890E2867b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x6c21303F5986180B1394d2C89f3e883890E2867b#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb-nova:0x77E1b4F2e1bf192975c59bdF44EcB5a2D42AF017",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x77E1b4F2e1bf192975c59bdF44EcB5a2D42AF017#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb-nova:0x944dB3fA4828B5F41ca0E77b97867529F1A899cB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x944dB3fA4828B5F41ca0E77b97867529F1A899cB#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb-nova:0xfaD0d420ffF503a40E9CDcb90ff0328E46f06c08",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xfaD0d420ffF503a40E9CDcb90ff0328E46f06c08#code"
}
]
},
"escrows": [
{
"address": "0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0",
"sinceTimestamp": 1709904018,
"tokens": [],
"contract": {
"isVerified": true,
"address": "arb-nova:0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91"
],
"implementations": [
"arb-nova:0xe0978394BEe15a49583fF833a80Bd426c17B68e4"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1709904018,
"transactionHash": "0x37be7a29db10d18501dcf4d0243fa6aefeeba21cbc17832ef16ccf288ce58ef2",
"implementations": [
"arb-nova:0x2a6DD4433ffa96dc1755814FC0d9cc83A5F68DeC"
]
},
{
"timestamp": 1742810441,
"transactionHash": "0x88e38ce4a7e0b667fed77dbc25c187204e98015ee24429093541867beb30cadc",
"implementations": [
"arb-nova:0xe0978394BEe15a49583fF833a80Bd426c17B68e4"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://nova.arbiscan.io/address/0xD4FE46D2533E7d03382ac6cACF0547F336e59DC0#code"
},
"chain": "nova",
"includeInTotal": false,
"chainId": 42170
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "\nL2BEAT team was able to independently regenerate this program hash. However currently the following steps for hash regeneration produce an error, so the process could not be independently verified.\n\n1. Install docker [https://docs.docker.com/get-started/get-docker/](https://docs.docker.com/get-started/get-docker/).\n2. Checkout the correct branch in [nitro](https://github.com/OffchainLabs/nitro) repo: `git checkout consensus-v40` . Commit hash should be `37ae61f20f8efdbc7e2f6af7f21c309bc09086a1`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`. Currently this step fails with an error.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.\n ",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
}