69664840 (main)
and
7bc191a0 (PR)
+1 -1
+1 -1
{
"addresses": {
"ethereum": [
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x98a58ADAb0f8A66A1BF4544d804bc0475dff32c7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0xbe04Ab2728c924D678f9FC833E379688c6eFA317"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x16242595cAfA3a207E9354E3bdb000B59bA82875"
]
},
{
"timestamp": 1663124880,
"transactionHash": "0xbfd8f54bf6b44ea4bcd76306d74b63602ee654e6a344bccca1825a388050988b",
"implementations": [
"eth:0xcc4e9E22AcDf93192cf7E149D7563F6d660E9Afc"
]
},
{
"timestamp": 1667926079,
"transactionHash": "0x0f4db1811c997e979b8f7be3cd8509b5ea0bb6a366a1848a0905f9c7f50c8612",
"implementations": [
"eth:0xD03bFe2CE83632F4E618a97299cc91B1335BB2d9"
]
},
{
"timestamp": 1710423719,
"transactionHash": "0x51b492ac498a88565639cfe3df77be8729d61f1c413d00b66530d4022a13c36a",
"implementations": [
"eth:0x31DA64D19Cd31A19CD09F4070366Fe2144792cf7"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x98a58ADAb0f8A66A1BF4544d804bc0475dff32c7"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **batchPosterManager**: Arbitrum Multisig 1\n * **batchPosters**: EOA 1, EOA 2, EOA 3",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x4DCeB440657f21083db8aDd07665f8ddBe1DCfc0",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd"
],
"implementations": [
"eth:0x7FC126FF51183a78C5E0437467f325f661D8Df17",
"eth:0x6490bA0a60Cc7d3a59C9eeE135D9eeD24553a60d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x7FC126FF51183a78C5E0437467f325f661D8Df17",
"eth:0x6490bA0a60Cc7d3a59C9eeE135D9eeD24553a60d"
]
}
],
"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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **owner**: UpgradeExecutor; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4DCeB440657f21083db8aDd07665f8ddBe1DCfc0#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0xfE4749061Fb052c354aaC65b9Fb0cCD7e20D2418"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0xfCEa474C6bD5Dd4eDF5f37EE6Bea5567F0B52A08"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x1066CEcC8880948FE55e427E94F1FF221d626591"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
},
{
"timestamp": 1779645011,
"transactionHash": "0x200e16ae14638444cf8eda34024c2a956e76a61df81dc35ffb9611edccadb3ea",
"implementations": [
"eth:0xfE4749061Fb052c354aaC65b9Fb0cCD7e20D2418"
]
}
],
"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**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **mainOutboxAddress**: Outbox",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0xA5565d266c3c3Ee90B16Be8A5b13d587ef559fB0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x058E1cBb62096189Bc7Cc1FE08A0859905d969Ea"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x058E1cBb62096189Bc7Cc1FE08A0859905d969Ea"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA5565d266c3c3Ee90B16Be8A5b13d587ef559fB0#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678"
],
"implementations": [
"eth:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1678968515,
"transactionHash": "0x9826d4f30361ad867030f94b0987567baf54040c39b661d8a825e945dc221eec",
"implementations": [
"eth:0x86f0cf42Ad673B3D666d103E009EC142D1298a17"
]
},
{
"timestamp": 1758644207,
"transactionHash": "0x81f4da8c5dd87d618e927936c941151689ef674ce2639cd4f0857fa4b75a2861",
"implementations": [
"eth:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: UpgradeExecutorAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **executors**: Arbitrum Security Council, L1Timelock",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3ffFbAdAF827559da092217e474760E2b2c3CeDd#code"
},
{
"name": "L1Timelock",
"isVerified": true,
"address": "eth:0xE6841D92B0C345144506576eC13ECf5103aC7f49",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678"
],
"implementations": [
"eth:0x61dC65001A8De4138DAD5167e43FF0FB0AB8D3B3"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1678968515,
"transactionHash": "0x9826d4f30361ad867030f94b0987567baf54040c39b661d8a825e945dc221eec",
"implementations": [
"eth:0x962d70fc48F3465404bC77B03f104746B25a1d1b"
]
},
{
"timestamp": 1695256619,
"transactionHash": "0x84c81ca768ba6e8c9a81bd060ac455d8a9488e3f6e7ef34f4e0bd3cb74d53140",
"implementations": [
"eth:0x61dC65001A8De4138DAD5167e43FF0FB0AB8D3B3"
]
}
],
"description": "A timelock with access control. The current minimum delay is 3d. Proposals that passed their minimum delay can be executed by the anyone.\n* Roles:\n * **admin**: UpgradeExecutorAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **canceller**: UpgradeExecutor; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose\n * **proposer**: Bridge; ultimately CoreGovernor, L2SecurityCouncilPropose\n * **timelockAdmin**: UpgradeExecutor; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE6841D92B0C345144506576eC13ECf5103aC7f49#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x3FFf9BdC3ce99d3D587b0d06Aa7C4a10075193b4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0x0eA7372338a589e7f0b00E463a53AA464ef04e17"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x3FFf9BdC3ce99d3D587b0d06Aa7C4a10075193b4"
]
}
],
"description": "Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1. Is also used to relay governance action messages from Arbitrum One to Ethereum, allowing the L2Timelock and its Governance actors on L2 to act as this address and inherit all its listed permissions.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0B9857ae2D4A3DBe74ffE1d7DF045bb7F96E4840#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1622317036,
"transactionHash": "0x2a41e48a9927eddb62c3d45d7a2eb0304281d4b9e7db8d52022c3ff80f7751df",
"implementations": [
"eth:0xB38634F1192fd4A4864b99a4C9100339815c6450"
]
},
{
"timestamp": 1630187410,
"transactionHash": "0xc71c860df401495251ad1f549dbfd4995f4284e40454765f32e2e873f4aa63dc",
"implementations": [
"eth:0xE5dB9273e7279F1485b30D8553183E3E29532ca3"
]
},
{
"timestamp": 1630287808,
"transactionHash": "0x37915ab37a7161dbc2f41340849491bcfc77eddce6fa3bce2918b1277e40597b",
"implementations": [
"eth:0x048cc108763de75E080Ad717bD284003aa49eA15"
]
},
{
"timestamp": 1651333828,
"transactionHash": "0x3e8e23623e0dbda0b428efd30e71ef7b0e61622fc036db4943ce78bbfd129f91",
"implementations": [
"eth:0xc23E3F20340f8ef09c8861a724C29dB43bA3eeD4"
]
},
{
"timestamp": 1661532655,
"transactionHash": "0xe679c9810cdff738114c551b47b1c30b5445f684a12a25dfaf27dac2e613591a",
"implementations": [
"eth:0xe4B8015Ea98fc86D7fDe16CdfD1B7A250cD93e2B"
]
},
{
"timestamp": 1661956342,
"transactionHash": "0x7dfb8f1f20815629a78dc16a8657306b6d200041624c4f3410d659cbdab2bc9f",
"implementations": [
"eth:0x3E2198A77FC6B266082b92859092170763548730"
]
},
{
"timestamp": 1663124880,
"transactionHash": "0xbfd8f54bf6b44ea4bcd76306d74b63602ee654e6a344bccca1825a388050988b",
"implementations": [
"eth:0x1b2676D32E2f7430a564DD4560641F990dFE3D6a"
]
},
{
"timestamp": 1668791063,
"transactionHash": "0xd2638d4092738bced51f259ca8ab228c21763fd0e5d85657a75aec811c2c51f3",
"implementations": [
"eth:0x931E1770BEC7827841f3989bda43319adACD62db"
]
},
{
"timestamp": 1671119939,
"transactionHash": "0x0bd4aae6c69f7e6aae36a112aae4793716f23620ed242027cc84c9236f170836",
"implementations": [
"eth:0x5aED5f8A1e3607476F1f81c3d8fe126deB0aFE94"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
},
{
"timestamp": 1776742007,
"transactionHash": "0x079984c56c5670108f5c6f664904178f9b364340351949a42e4637d1f645f770",
"implementations": [
"eth:0x980D1F93FC5809c828539c46084801673FA6A859"
]
},
{
"timestamp": 1776742007,
"transactionHash": "0x079984c56c5670108f5c6f664904178f9b364340351949a42e4637d1f645f770",
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
},
{
"timestamp": 1781518127,
"transactionHash": "0xc2e247e5869aaf5b57ff1cc5da8b56f6675161ad6f980b547846f209e43e145b",
"implementations": [
"eth:0x980D1F93FC5809c828539c46084801673FA6A859"
]
},
{
"timestamp": 1781518127,
"transactionHash": "0xc2e247e5869aaf5b57ff1cc5da8b56f6675161ad6f980b547846f209e43e145b",
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x4Dbd4fc535Ac27206064B68FfCf827b0A60BAB3f#code"
},
{
"name": "L1ERC20Gateway",
"isVerified": true,
"address": "eth:0xa3A7B6F88361F48403514059F1F16C8E78d60EeC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624716065,
"transactionHash": "0x289c1529f29f00f7b67f99074061d971a2d33ffc15a6fe5d7fa8ed533a6d8698",
"implementations": [
"eth:0x553524e576a0E92beC7CC24843C04bF51493A5db"
]
},
{
"timestamp": 1627684791,
"transactionHash": "0xa3c53b23f347613b517160eb732174e54f3b28d8e63646d14b8e39394c449ae2",
"implementations": [
"eth:0x41AC92014C66C38bBBDEF8cCF5A060CCa5634fd5"
]
},
{
"timestamp": 1629993965,
"transactionHash": "0xc93128ad2d69bac5c0c5ebe77abe4ead2cdb0ece637ff8db193e7c894933d8f7",
"implementations": [
"eth:0xE317c204Fa7C3150af24aa20264b983fc82b7BBd"
]
},
{
"timestamp": 1630345284,
"transactionHash": "0xbe4a3a9dd5b909eb699c07aec0a5d190a8433b3c65544b85521cab827f80d481",
"implementations": [
"eth:0x0aCb04878B3675EF40b2e9392622CE3C1E9CC99E"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0xd710c475216999184DB1737aAd197fC855255AD7"
]
},
{
"timestamp": 1639177425,
"transactionHash": "0xec47d4c470dffaa2f23005fb51acbd27a42f04067edf9dffb45d456da947e321",
"implementations": [
"eth:0xa83520Ae8d05bDBd20770c3d7268F66AcAcb6d43"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: GatewaysAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa3A7B6F88361F48403514059F1F16C8E78d60EeC#code"
},
{
"name": "L1ARBGateway",
"isVerified": true,
"address": "eth:0xbbcE8aA77782F13D4202a230d978F361B011dB27",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678"
],
"implementations": [
"eth:0x4e8C24617C4592895d52Ac6df29D9647e9D01Bb5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1678968431,
"transactionHash": "0x1070c1a3702b9f52ff3e080e40c331ee1a8b72b785c27b809f87566e0f47ee25",
"implementations": [
"eth:0x4e8C24617C4592895d52Ac6df29D9647e9D01Bb5"
]
}
],
"description": "Canonical reverse gateway for ARB transfers between Ethereum and Arbitrum One.\n* Roles:\n * **admin**: UpgradeExecutorAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xbbcE8aA77782F13D4202a230d978F361B011dB27#code"
},
{
"name": "L1WethGateway",
"isVerified": true,
"address": "eth:0xd92023E9d9911199a6711321D1277285e6d4e2db",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0x4B8e9b3F253E68837bf719997B1eeB9E8f1960e2"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624918777,
"transactionHash": "0xabf717d1d61d4349c500a23706c81521bdbc74aceba0e9aea2c7a135fe352eae",
"implementations": [
"eth:0xbE4371dd2053D4B6113177f81F73b5F8E2075A47"
]
},
{
"timestamp": 1627684868,
"transactionHash": "0x345b254dab3c0f4e9f5e541df26005b5ddf77bab96a9c8f6bd095cb74e764182",
"implementations": [
"eth:0xb0E292c2ceFd5C897883f16af6453dC111940D85"
]
},
{
"timestamp": 1629994476,
"transactionHash": "0x1188226ac81336a0a00aaa33e0a818c5248c99d12ec27166e6d31b5acf7f59aa",
"implementations": [
"eth:0x91801ef40DE9ee143cD2eDFdd43e727E6A06d9F1"
]
},
{
"timestamp": 1630345440,
"transactionHash": "0xd65cb1643b75e506d0278403da57ee7b1ba7dafa94ac5b677a86d4fb7913cf41",
"implementations": [
"eth:0xD21e23a237DaC0311e83f729313232C3b5039925"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0x6299838C8254b59213eb56d158ebe562D23c4936"
]
},
{
"timestamp": 1675998023,
"transactionHash": "0x18bcb1e0390e182dccb97680b8ca88f06496741c7599a73d8b5220272f3b7c7f",
"implementations": [
"eth:0x4B8e9b3F253E68837bf719997B1eeB9E8f1960e2"
]
}
],
"description": "Canonical WETH gateway escrowing L1 WETH and releasing it for withdrawals proven through the Arbitrum bridge.\n* Roles:\n * **admin**: GatewaysAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xd92023E9d9911199a6711321D1277285e6d4e2db#code"
},
{
"name": "wstETHEscrow",
"isVerified": true,
"address": "eth:0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xc4E3ff0b5B106f88Fc64c43031BE8b076ee9F21C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659608791,
"transactionHash": "0x912fc5992f5a24c2ffe5e230ac51fcc4724cb3e4a23535b04eec34f99f77e3a8",
"implementations": [
"eth:0xc4E3ff0b5B106f88Fc64c43031BE8b076ee9F21C"
]
}
],
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a#code"
},
{
"name": "LPTL1Escrow",
"isVerified": true,
"address": "eth:0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x72Ce9c846789fdB6fC1f34aC4AD25Dd9ef7031ef",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0x52595021fA01B3E14EC6C88953AFc8E35dFf423c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1625173656,
"transactionHash": "0xb143deb4f1396daa96ea8e5be22dc6b188a09653bdf300b1f40573cce7ad01f0",
"implementations": [
"eth:0x4b2Cf3BE8677096310b32a648b0Bdb8c5A8dDC94"
]
},
{
"timestamp": 1629993939,
"transactionHash": "0x5dc6e34fc33a880f60903032ae94b8bb11973c0102c7959490bbc0ea124f11e9",
"implementations": [
"eth:0x555d10f9E4d1b60B9c3F87F4E835119B2C65c8B0"
]
},
{
"timestamp": 1630345211,
"transactionHash": "0x29c02be0f39043d705dd8d3eb2af9e3b3ae5e94251aa294e7c4e919252f80ab0",
"implementations": [
"eth:0x62285266B5ec3d5B8867c84B807b79B2c13892EC"
]
},
{
"timestamp": 1631908333,
"transactionHash": "0x92bf07ee654ad93ad41c093f045cde6cd4b839d0e3a6b0532a8ab18090208f35",
"implementations": [
"eth:0x594393B6A6A46190dF3E479304bbC63572c6830a"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0x32f39fa08c1E0bbA551CBDa4197e543C53b3fC53"
]
},
{
"timestamp": 1634925560,
"transactionHash": "0x656bdf44374b1fc07ce0a01b9645e2b03a4f134b35dfe41fd3e2045cfe082411",
"implementations": [
"eth:0x2e8e3e55cE12F981EbF8E545Cb263aB238e19715"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0x6D1c576Fe3e54313990450f5Fa322306B4cCB47B"
]
},
{
"timestamp": 1667926079,
"transactionHash": "0x0f4db1811c997e979b8f7be3cd8509b5ea0bb6a366a1848a0905f9c7f50c8612",
"implementations": [
"eth:0x52595021fA01B3E14EC6C88953AFc8E35dFf423c"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: GatewaysAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x72Ce9c846789fdB6fC1f34aC4AD25Dd9ef7031ef#code"
},
{
"name": "L1Escrow",
"isVerified": true,
"address": "eth:0xA10c7CE4b876998858b1a9E12b10092229539400",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA10c7CE4b876998858b1a9E12b10092229539400#code"
},
{
"name": "L1CustomGateway",
"isVerified": true,
"address": "eth:0xcEe284F754E854890e311e3280b767F80797180d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624716075,
"transactionHash": "0xd0f181f40b470dbd3d2c44474725ea0babcc54c6a035b33e090229e133b40456",
"implementations": [
"eth:0x20c9d24EDcF5CC943BE6eC55CbE786AbF05354c0"
]
},
{
"timestamp": 1625173105,
"transactionHash": "0x92f6e1e0af1cfede9c7253d4fe72400ea1215985686cb0a25da2a1d7c8d614b0",
"implementations": [
"eth:0x304c13E8d2353f57076f2f8B8Dd4e29e347841EB"
]
},
{
"timestamp": 1627684759,
"transactionHash": "0xff67b0e76d27e79cc9e251a34c1511df39bb5769c4e30956d945f8bafc08f40c",
"implementations": [
"eth:0xc5199b28d5267F80A7FA7a3313357D50Cf4Dba6C"
]
},
{
"timestamp": 1629993991,
"transactionHash": "0xf79ceb2e28ffd89853dc992cfba0ce69ab77c711b31b251608112bf703cf7a98",
"implementations": [
"eth:0x79f01C581bfd44aF8B0721029Bf594B30592675F"
]
},
{
"timestamp": 1630345297,
"transactionHash": "0x4134f1974f5b4c4f95cb2e8a9f7ce56a055a672911c09a7918497f8f14f117da",
"implementations": [
"eth:0x98659BDffa4fEF82cD37771CDBFF3ddDa21EE8e9"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0x73bd0a2476b40A6aE04497D36efc85affeD3516b"
]
},
{
"timestamp": 1639177425,
"transactionHash": "0xec47d4c470dffaa2f23005fb51acbd27a42f04067edf9dffb45d456da947e321",
"implementations": [
"eth:0xe8B0e562269EF963AA7b4c92645ff06E72CA02E6"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: GatewaysAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xcEe284F754E854890e311e3280b767F80797180d#code"
},
{
"name": "L1DaiGateway",
"isVerified": true,
"address": "eth:0xD3B5b60020504bc3489D6949d545893982BA3011",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Counterpart of the L2DaiGateway. Allows for bridging DAI from L1 to L2.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD3B5b60020504bc3489D6949d545893982BA3011#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x35FBC5F03d86E88973B06Fb9C5a913D54AbdF731",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0x35FBC5F03d86E88973B06Fb9C5a913D54AbdF731#code"
},
{
"name": "ParentToChildRewardRouter",
"isVerified": true,
"address": "eth:0x40Cd7D713D7ae463f95cE5d342Ea6E7F5cF7C999",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Collects the excess stake when rival nodes are created and allows to send them to the L2 treasury.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x40Cd7D713D7ae463f95cE5d342Ea6E7F5cF7C999#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x57Bd336d579A51938619271a7Cc137a46D0501B1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0x806421D09cDb253aa9d128a658e60c0B95eFFA01"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x57Bd336d579A51938619271a7Cc137a46D0501B1#code"
},
{
"name": "OutboxV0",
"isVerified": true,
"address": "eth:0x667e23ABd27E623c11d4CC00ca3EC4d0bD63337a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x263a68002876E307804168795519da0B32CC62fE"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1630187713,
"transactionHash": "0xe63e93e3aeaeab596c9b5f306d0f9b42f5afdc11035d4b247278916ee39376cd",
"implementations": [
"eth:0xb91f4bE773F5a1b9b0dC1085663b3535A6EBeEE2"
]
},
{
"timestamp": 1661532655,
"transactionHash": "0xe679c9810cdff738114c551b47b1c30b5445f684a12a25dfaf27dac2e613591a",
"implementations": [
"eth:0x263a68002876E307804168795519da0B32CC62fE"
]
}
],
"description": "* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x667e23ABd27E623c11d4CC00ca3EC4d0bD63337a#code"
},
{
"name": "OutboxV1",
"isVerified": true,
"address": "eth:0x760723CD2e632826c38Fef8CD438A4CC7E7E1A40",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0x360861b7b245c968128F0a53d281aDb1Df760711"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661532655,
"transactionHash": "0xe679c9810cdff738114c551b47b1c30b5445f684a12a25dfaf27dac2e613591a",
"implementations": [
"eth:0x360861b7b245c968128F0a53d281aDb1Df760711"
]
}
],
"description": "* Roles:\n * **admin**: ArbitrumProxyAdmin; ultimately Arbitrum Security Council, CoreGovernor, L2SecurityCouncilPropose",
"upgradableBy": [
{
"name": "L2SecurityCouncilPropose",
"delay": "17d 8h"
},
{
"name": "CoreGovernor",
"delay": "17d 8h"
},
{
"name": "Arbitrum Security Council",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x760723CD2e632826c38Fef8CD438A4CC7E7E1A40#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0xa07cD154340CC74EcF156FFB9fb378Ee29Ca71Cf",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0xa07cD154340CC74EcF156FFB9fb378Ee29Ca71Cf#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xaB9596a0aaF28bc798c453434EC2DC0F8F0bF921",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0xaB9596a0aaF28bc798c453434EC2DC0F8F0bF921#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0xe0ba77e0E24de5369e3B268Ea79fDe716e2EC48b",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0xe0ba77e0E24de5369e3B268Ea79fDe716e2EC48b#code"
}
],
"arbitrum": [
{
"name": "L2Timelock",
"isVerified": true,
"address": "arb1:0x34d45e99f7D8c45ed05B5cA72D54bbD1fb3F98f0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x41740588b86B4e0629b83A4e28786FF94361c3A3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0x41740588b86B4e0629b83A4e28786FF94361c3A3"
]
}
],
"description": "Delays constitutional AIPs from the CoreGovernor by 8d.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency\n * **canceller**: CoreGovernor\n * **proposer**: CoreGovernor, L2SecurityCouncilPropose, SecurityCouncilManager\n * **timelockAdmin**: L2UpgradeExecutor; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x34d45e99f7D8c45ed05B5cA72D54bbD1fb3F98f0#code"
},
{
"name": "TreasuryGovernor",
"isVerified": true,
"address": "arb1:0x789fC99093B09aD01C34DC7251D0C89ce743e5a4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x46AF4EDFDb689C30560D11052056d603d05b5aE0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0x065620d99E1785Ccf56Fa95462d3012Eb844FDC9"
]
},
{
"timestamp": 1774870191,
"transactionHash": "0xe7d8582f70ed8f2aea014c5de13cbbeabe7c128707e25fa01cae9db781846038",
"implementations": [
"arb1:0x46AF4EDFDb689C30560D11052056d603d05b5aE0"
]
}
],
"description": "Token governance contract used for creating non-constitutional AIPs (treasury proposals), e.g., transferring funds out of the DAO Treasury. Uses DVP-based quorum (percentage of Delegated Voting Power with floor and ceiling bounds).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x789fC99093B09aD01C34DC7251D0C89ce743e5a4#code"
},
{
"name": "SecurityCouncilNomineeElectionGovernor",
"isVerified": true,
"address": "arb1:0x8a1cDA8dee421cD06023470608605934c16A05a0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0xB4Fd52807d5856B4CfF85d53D53d1Dc714C4D482"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1692138965,
"transactionHash": "0xb2e6f470d1e229cc4225234ae7df52ace563c7b0b9e3ad63a02f535f47e3ac6b",
"implementations": [
"arb1:0x8436A1bc9f9f9EB0cF1B51942C5657b60A40CCDD"
]
},
{
"timestamp": 1709903420,
"transactionHash": "0x2e784329480dcb755f6224186b5e0d0a32aa666698d06d0fea5c19f71ed5a9c3",
"implementations": [
"arb1:0xd3Ae921B220bedC2f94a5968E25535a476A9518C"
]
},
{
"timestamp": 1788209529,
"transactionHash": "0x48468a996d2e64c1b0f067518eb050e1863eb04e59da19d4652910835d00fe26",
"implementations": [
"arb1:0xB4Fd52807d5856B4CfF85d53D53d1Dc714C4D482"
]
}
],
"description": "Token governance contract for the Security Council nominee elections.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8a1cDA8dee421cD06023470608605934c16A05a0#code"
},
{
"name": "TreasuryTimelock",
"isVerified": true,
"address": "arb1:0xbFc1FECa8B09A5c5D3EFfE7429eBE24b9c09EF58",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x41740588b86B4e0629b83A4e28786FF94361c3A3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0x41740588b86B4e0629b83A4e28786FF94361c3A3"
]
}
],
"description": "Delays treasury proposals from the TreasuryGovernor by 259200 seconds. Is used as the main recipient for the ETH from L2SurplusFee and L2BaseFee contracts.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xbFc1FECa8B09A5c5D3EFfE7429eBE24b9c09EF58#code"
},
{
"name": "L2UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0x7A013834D54e9B22d1978aAe3aaDDC909Aa79115"
]
},
{
"timestamp": 1758645131,
"transactionHash": "0x288a50fac2dcdd766d7f11b3ee8597152c8d015e904681b34cb0d652671496de",
"implementations": [
"arb1:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
}
],
"description": "This contract can upgrade the L2 system's contracts through the L2ProxyAdmin. The upgrades can be done either by the Security Council or by the L1Timelock (via its alias on L2).\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency\n * **executors**: L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xCF57572261c7c2BCF21ffD220ea7d1a27D40A827#code"
},
{
"name": "SecurityCouncilManager",
"isVerified": true,
"address": "arb1:0xD509E5f5aEe2A205F554f36E8a7d56094494eDFC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x01B370d9b1ed1591C64C9a4b0FAFF193AF5Fa928"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1692138965,
"transactionHash": "0xb2e6f470d1e229cc4225234ae7df52ace563c7b0b9e3ad63a02f535f47e3ac6b",
"implementations": [
"arb1:0x468dA0eE5570Bdb1Dd81bFd925BAf028A93Dce64"
]
},
{
"timestamp": 1788209529,
"transactionHash": "0x48468a996d2e64c1b0f067518eb050e1863eb04e59da19d4652910835d00fe26",
"implementations": [
"arb1:0x01B370d9b1ed1591C64C9a4b0FAFF193AF5Fa928"
]
}
],
"description": "This contract enforces the rules for changing members and cohorts of the SecurityCouncil and creates crosschain messages to Ethereum and Arbitrum Nova to keep the configuration in sync.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency\n * **cohortReplacer**: SecurityCouncilMemberElectionGovernor\n * **defaultAdmin**: L2UpgradeExecutor; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency\n * **memberAdder**: L2SecurityCouncilPropose\n * **memberRemover**: L2SecurityCouncilPropose, SecurityCouncilMemberRemovalGovernor\n * **memberReplacer**: L2SecurityCouncilPropose\n * **memberRotator**: L2SecurityCouncilPropose\n * **minRotationPeriodSetter**: L2UpgradeExecutor; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xD509E5f5aEe2A205F554f36E8a7d56094494eDFC#code"
},
{
"name": "L2ERC20Gateway",
"isVerified": true,
"address": "arb1:0x09e9222E96E7B4AE2a407B98d48e330053351EEe",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86"
],
"implementations": [
"arb1:0x1DCf7D03574fbC7C205F41f2e116eE094a652e93"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1624716065,
"transactionHash": "0x4e12ef6c0cb9089632488f4796b6c46818908d29b4547432506dfd28e0e9017b",
"implementations": [
"arb1:0x4bF6365278F340E759e7BB4732fE8B507784eAEB"
]
},
{
"timestamp": 1629994790,
"transactionHash": "0x4493b489b9d332078d3dc0ead005a04be3be264a4f2bc32949c19529455804c6",
"implementations": [
"arb1:0x370ED500E9FEBC1ab05aC0A1617F8775aB80c48e"
]
},
{
"timestamp": 1630345637,
"transactionHash": "0xaa2a503ca6469c771da72d0f04e2afcbe342d9491f620c6b0f7a553c972602da",
"implementations": [
"arb1:0xEdE95739749BfA021134E41F520d784c99323D6B"
]
},
{
"timestamp": 1659980035,
"transactionHash": "0x1608ac4dc927c1b322d906419400226634fbf6e68e3fec72316d2e0a3b76c141",
"implementations": [
"arb1:0x1DCf7D03574fbC7C205F41f2e116eE094a652e93"
]
}
],
"description": "Counterpart to the L1ERC20Gateway. Can mint (deposit to L2) and burn (withdraw to L1) ERC20 tokens on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x09e9222E96E7B4AE2a407B98d48e330053351EEe#code"
},
{
"name": "L2GatewayRouter",
"isVerified": true,
"address": "arb1:0x5288c571Fd7aD117beA99bF60FE0846C4E84F933",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86"
],
"implementations": [
"arb1:0xe80eb0238029333e368e0bDDB7acDf1b9cb28278"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1629994790,
"transactionHash": "0x5eac0a26fe108aefb7fe582a4e496463befe69c8fccdb041de9fadbf72190662",
"implementations": [
"arb1:0xb30751052797AdBDdbF4847045E51E65e48BAF9c"
]
},
{
"timestamp": 1630345637,
"transactionHash": "0x3ced0ee009785e4b17f388a9da4d27fa77c77059c91e8349e8ddf6ba133ef62e",
"implementations": [
"arb1:0x176a9d89d235512Ad5CB4b6A0879D704D8315eF8"
]
},
{
"timestamp": 1659980035,
"transactionHash": "0x1608ac4dc927c1b322d906419400226634fbf6e68e3fec72316d2e0a3b76c141",
"implementations": [
"arb1:0xe80eb0238029333e368e0bDDB7acDf1b9cb28278"
]
}
],
"description": "Router managing token <–> gateway mapping on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x5288c571Fd7aD117beA99bF60FE0846C4E84F933#code"
},
{
"name": "L2WethGateway",
"isVerified": true,
"address": "arb1:0x6c411aD3E74De3E7Bd422b94A27770f5B86C623B",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86"
],
"implementations": [
"arb1:0x806421D09cDb253aa9d128a658e60c0B95eFFA01"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1624918777,
"transactionHash": "0x5a435697cadb8ffab0b4e0e9cb0405f4727be3af14c68305a7fb123f7f27bc2f",
"implementations": [
"arb1:0xb01dB0529B80B73a86ecD75Ae3559844319575E5"
]
},
{
"timestamp": 1629994790,
"transactionHash": "0x6729e8a4103b6074233302df728b2651392cc833939ce1d97611e167241fe667",
"implementations": [
"arb1:0xc4940069140142236D4065b866018f7b2BeC77fD"
]
},
{
"timestamp": 1630345689,
"transactionHash": "0x87a0fbd51446cdc98fe4dd864d892af27f39d36bac20acbbb0441118e5adf1ba",
"implementations": [
"arb1:0x0db4f16c99B0aE9b00fc09bF69b36c7d73c45CBE"
]
},
{
"timestamp": 1659980035,
"transactionHash": "0x1608ac4dc927c1b322d906419400226634fbf6e68e3fec72316d2e0a3b76c141",
"implementations": [
"arb1:0xB642058A41D414D9De3F36D14051623e557f1052"
]
},
{
"timestamp": 1675999253,
"transactionHash": "0xb3f49dbe8f48978f618fe962cac91a0fb55a8ded4820702cec2aa305510c21c5",
"implementations": [
"arb1:0x806421D09cDb253aa9d128a658e60c0B95eFFA01"
]
}
],
"description": "Counterpart to the Bridge on L1. Mints and burns WETH on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6c411aD3E74De3E7Bd422b94A27770f5B86C623B#code"
},
{
"name": "L2WETH",
"isVerified": true,
"address": "arb1:0x82aF49447D8a07e3bd95BD0d56f35241523fBab1",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86"
],
"implementations": [
"arb1:0x8b194bEae1d3e0788A1a35173978001ACDFba668"
]
},
"chain": "arbitrum",
"pastUpgrades": [],
"description": "Canonical upgradeable WETH token burned by L2WethGateway when withdrawing against the L1 WETH escrow.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x82aF49447D8a07e3bd95BD0d56f35241523fBab1#code"
},
{
"name": "L2ARBGateway",
"isVerified": true,
"address": "arb1:0xCaD7828a19b363A2B44717AFB1786B5196974D8E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0x5D96786d3Eb13CAd05c9Fd7d0f7bb9560b4E5056"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968435,
"transactionHash": "0xb0fe5622518dc102956d1c0fa83ae58287e4d379dc753ce88df018cbda823cad",
"implementations": [
"arb1:0x5D96786d3Eb13CAd05c9Fd7d0f7bb9560b4E5056"
]
}
],
"description": "ARB sent from L2 to L1 is escrowed in this contract and minted on L1.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xCaD7828a19b363A2B44717AFB1786B5196974D8E#code"
},
{
"name": "L2DAIGateway",
"isVerified": true,
"address": "arb1:0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Counterpart to the L1DaiGateway. Can mint (deposit to L2) and burn (withdraw to L1) DAI tokens on L2.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x467194771dAe2967Aef3ECbEDD3Bf9a310C76C65#code"
},
{
"name": "L2LPTGateway",
"isVerified": true,
"address": "arb1:0x6D2457a4ad276000A615295f7A80F79E48CcD318",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Counterpart to the L1LPTGateway. Can mint (deposit to L2) and burn (withdraw to L1) LPT on L2.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6D2457a4ad276000A615295f7A80F79E48CcD318#code"
},
{
"name": "ArbFilteredTransactionsManager",
"isVerified": true,
"address": "arb1:0x0000000000000000000000000000000000000074",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"references": [
{
"title": "Source Code",
"url": "https://github.com/OffchainLabs/nitro/blob/v3.11.0/precompiles/ArbFilteredTransactionsManager.go"
}
],
"description": "ArbOS 61 transaction-filtering precompile (0x..74). An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay. Available from ArbOS 61 onwards. On chains where the feature is not enabled (e.g. Arbitrum One and Nova) it has no filterers and no filtered transactions, but is tracked so any future activation is caught immediately. Compare Robinhood, where this precompile is active.\n",
"description": "ArbOS transaction-filtering precompile (0x..74), available from ArbOS 60. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay. With no filterers set, no transaction hashes can be added or removed; hashes added earlier stay filtered.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0000000000000000000000000000000000000074#code"
},
{
"name": "ConstitutionHash",
"isVerified": true,
"address": "arb1:0x1D62fFeB72e4c360CcBbacf7c965153b00260417",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Keeps the current hash of the ArbitrumDAO Constitution. Settable by the L2UpgradeExecutor.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x1D62fFeB72e4c360CcBbacf7c965153b00260417#code"
},
{
"name": "L2SurplusFee",
"isVerified": true,
"address": "arb1:0x32e7AF5A8151934F3787d0cD59EB6EDd0a736b1d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract receives all SurplusFees: Transaction fee component that covers the cost beyond that covered by the L2 Base Fee during chain congestion. It also receives the priority fees (tips) collected while ArbOS tip collection is enabled. They are withdrawable to a configurable set of recipients.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x32e7AF5A8151934F3787d0cD59EB6EDd0a736b1d#code"
},
{
"name": "StandardArbERC20",
"isVerified": true,
"address": "arb1:0x3f770Ac673856F105b586bb393d122721265aD46",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3f770Ac673856F105b586bb393d122721265aD46#code"
},
{
"name": "BeaconProxyFactory",
"isVerified": true,
"address": "arb1:0x3fE38087A94903A9D946fa1915e1772fe611000f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3fE38087A94903A9D946fa1915e1772fe611000f#code"
},
{
"name": "TipCollectionToggler",
"isVerified": true,
"address": "arb1:0x4323dAb775cc15e386FDAC591a39420db6226a63",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "ArbOS chain owner that can only toggle the collection of priority fees (tips), which enables PGA transaction ordering. Anyone can remove it from the chain owners after the expiry timestamp.\n* Roles:\n * **tipCollectionManagers**: Arbitrum L2 Multisig 1",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x4323dAb775cc15e386FDAC591a39420db6226a63#code"
},
{
"name": "BaseFeeManager",
"isVerified": true,
"address": "arb1:0x6e031B6e9f667Ed6953E627276fBbEfa4c28529A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "ArbOS chain owner that can only set the L2 base fee and minimum base fee within 0.01-0.1 gwei. Anyone can remove it from the chain owners after the expiry timestamp.\n* Roles:\n * **baseFeeManagers**: Arbitrum L2 Multisig 1",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6e031B6e9f667Ed6953E627276fBbEfa4c28529A#code"
},
{
"name": "UpgradeExecRouteBuilder",
"isVerified": true,
"address": "arb1:0x7481716f05E315Fc4C4a64E56DcD9bc1D6F24C0a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x7481716f05E315Fc4C4a64E56DcD9bc1D6F24C0a#code"
},
{
"name": "ResourceConstraintManager",
"isVerified": true,
"address": "arb1:0x8F59C7A53b883563B34cbBb6fF021B03973e823a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "ArbOS chain owner that can only set the gas pricing constraints of the L2 base fee model within hardcoded bounds. Anyone can remove it from the chain owners after the expiry timestamp.\n* Roles:\n * **resourceConstraintManagers**: Arbitrum L2 Multisig 1",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8F59C7A53b883563B34cbBb6fF021B03973e823a#code"
},
{
"name": "L2ArbitrumToken",
"isVerified": true,
"address": "arb1:0x912CE59144191C1204E64559FE8253a0e49E6548",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0xdb216562328215E010F819B5aBe947bad4ca961e"
],
"implementations": [
"arb1:0xd47D14a315394ddf063174f2286Ab4Eb7C507fa0"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1678968508,
"transactionHash": "0x9cdbb4672b549c26d97cac29f9cd73c1951656e0622ba4b9ed0abff2ee58698d",
"implementations": [
"arb1:0xC4ed0A9Ea70d5bCC69f748547650d32cC219D882"
]
},
{
"timestamp": 1774870191,
"transactionHash": "0xe7d8582f70ed8f2aea014c5de13cbbeabe7c128707e25fa01cae9db781846038",
"implementations": [
"arb1:0xd47D14a315394ddf063174f2286Ab4Eb7C507fa0"
]
}
],
"description": "The ARB token contract. Supply can be increased by the owner once per year by a maximum of 2%.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock_l2alias, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock_l2alias",
"name": "L1Timelock_l2alias",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x912CE59144191C1204E64559FE8253a0e49E6548#code"
},
{
"name": "SecurityCouncilMemberSyncAction",
"isVerified": true,
"address": "arb1:0x9BF7b8884Fa381a45f8CB2525905fb36C996297a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "Contract used by the security council management system to sync SecurityCouncil members between the L1 and the L2.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9BF7b8884Fa381a45f8CB2525905fb36C996297a#code"
},
{
"name": "L2BaseFee",
"isVerified": true,
"address": "arb1:0xbF5041Fc07E1c866D15c749156657B8eEd0fb649",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "This contract receives all BaseFees: The transaction fee component that covers the minimum cost of Arbitrum transaction execution. They are withdrawable to a configurable set of recipients.\n",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xbF5041Fc07E1c866D15c749156657B8eEd0fb649#code"
},
{
"name": "L2GatewaysProxyAdmin",
"isVerified": true,
"address": "arb1:0xd570aCE65C43af47101fC6250FD6fC63D1c22a86",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: L2UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xd570aCE65C43af47101fC6250FD6fC63D1c22a86#code"
},
{
"name": "L2ProxyAdmin",
"isVerified": true,
"address": "arb1:0xdb216562328215E010F819B5aBe947bad4ca961e",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: L2UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xdb216562328215E010F819B5aBe947bad4ca961e#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "arb1:0xE72ba9418b5f2Ce0A6a40501Fe77c6839Aa37333",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xE72ba9418b5f2Ce0A6a40501Fe77c6839Aa37333#code"
}
]
},
"escrows": [
{
"address": "0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a",
"sinceTimestamp": 1661457944,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x554723262467F125Ac9e1cDFa9Ce15cc53822dbD"
],
"implementations": [
"eth:0xfE4749061Fb052c354aaC65b9Fb0cCD7e20D2418"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1661457944,
"transactionHash": "0x248787fbf0415ff1da68ba618da0cbdd5dcc7c6029be38709f95ea837211edc5",
"implementations": [
"eth:0xfCEa474C6bD5Dd4eDF5f37EE6Bea5567F0B52A08"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x1066CEcC8880948FE55e427E94F1FF221d626591"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
},
{
"timestamp": 1779645011,
"transactionHash": "0x200e16ae14638444cf8eda34024c2a956e76a61df81dc35ffb9611edccadb3ea",
"implementations": [
"eth:0xfE4749061Fb052c354aaC65b9Fb0cCD7e20D2418"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0x8315177aB297bA92A06054cE80a67Ed4DBd7ed3a#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xcEe284F754E854890e311e3280b767F80797180d",
"sinceTimestamp": 1623867835,
"tokens": "*",
"excludedTokens": [
"USDT",
"USDS",
"sUSDS"
],
"premintedTokens": [
"SQD"
],
"contract": {
"isVerified": true,
"address": "eth:0xcEe284F754E854890e311e3280b767F80797180d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624716075,
"transactionHash": "0xd0f181f40b470dbd3d2c44474725ea0babcc54c6a035b33e090229e133b40456",
"implementations": [
"eth:0x20c9d24EDcF5CC943BE6eC55CbE786AbF05354c0"
]
},
{
"timestamp": 1625173105,
"transactionHash": "0x92f6e1e0af1cfede9c7253d4fe72400ea1215985686cb0a25da2a1d7c8d614b0",
"implementations": [
"eth:0x304c13E8d2353f57076f2f8B8Dd4e29e347841EB"
]
},
{
"timestamp": 1627684759,
"transactionHash": "0xff67b0e76d27e79cc9e251a34c1511df39bb5769c4e30956d945f8bafc08f40c",
"implementations": [
"eth:0xc5199b28d5267F80A7FA7a3313357D50Cf4Dba6C"
]
},
{
"timestamp": 1629993991,
"transactionHash": "0xf79ceb2e28ffd89853dc992cfba0ce69ab77c711b31b251608112bf703cf7a98",
"implementations": [
"eth:0x79f01C581bfd44aF8B0721029Bf594B30592675F"
]
},
{
"timestamp": 1630345297,
"transactionHash": "0x4134f1974f5b4c4f95cb2e8a9f7ce56a055a672911c09a7918497f8f14f117da",
"implementations": [
"eth:0x98659BDffa4fEF82cD37771CDBFF3ddDa21EE8e9"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0x73bd0a2476b40A6aE04497D36efc85affeD3516b"
]
},
{
"timestamp": 1639177425,
"transactionHash": "0xec47d4c470dffaa2f23005fb51acbd27a42f04067edf9dffb45d456da947e321",
"implementations": [
"eth:0xe8B0e562269EF963AA7b4c92645ff06E72CA02E6"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens that require minting custom tokens on L2.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0xcEe284F754E854890e311e3280b767F80797180d#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xa3A7B6F88361F48403514059F1F16C8E78d60EeC",
"sinceTimestamp": 1623784100,
"tokens": "*",
"excludedTokens": [
"SolvBTC",
"SolvBTC.BBN",
"PEPE",
"rsETH",
"USDS",
"sUSDS"
],
"premintedTokens": [
"LOGX",
"AIUS",
"YBR",
"FFM"
],
"contract": {
"isVerified": true,
"address": "eth:0xa3A7B6F88361F48403514059F1F16C8E78d60EeC",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x9aD46fac0Cf7f790E5be05A0F15223935A0c0aDa"
],
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1624716065,
"transactionHash": "0x289c1529f29f00f7b67f99074061d971a2d33ffc15a6fe5d7fa8ed533a6d8698",
"implementations": [
"eth:0x553524e576a0E92beC7CC24843C04bF51493A5db"
]
},
{
"timestamp": 1627684791,
"transactionHash": "0xa3c53b23f347613b517160eb732174e54f3b28d8e63646d14b8e39394c449ae2",
"implementations": [
"eth:0x41AC92014C66C38bBBDEF8cCF5A060CCa5634fd5"
]
},
{
"timestamp": 1629993965,
"transactionHash": "0xc93128ad2d69bac5c0c5ebe77abe4ead2cdb0ece637ff8db193e7c894933d8f7",
"implementations": [
"eth:0xE317c204Fa7C3150af24aa20264b983fc82b7BBd"
]
},
{
"timestamp": 1630345284,
"transactionHash": "0xbe4a3a9dd5b909eb699c07aec0a5d190a8433b3c65544b85521cab827f80d481",
"implementations": [
"eth:0x0aCb04878B3675EF40b2e9392622CE3C1E9CC99E"
]
},
{
"timestamp": 1634222162,
"transactionHash": "0x14a48840cec5b16e7e909ddbe69eec7edaeafde958c866a97a048b2daf9f9c1f",
"implementations": [
"eth:0xd710c475216999184DB1737aAd197fC855255AD7"
]
},
{
"timestamp": 1639177425,
"transactionHash": "0xec47d4c470dffaa2f23005fb51acbd27a42f04067edf9dffb45d456da947e321",
"implementations": [
"eth:0xa83520Ae8d05bDBd20770c3d7268F66AcAcb6d43"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0xa3A7B6F88361F48403514059F1F16C8E78d60EeC#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xA10c7CE4b876998858b1a9E12b10092229539400",
"sinceTimestamp": 1632133470,
"tokens": [
"DAI"
],
"contract": {
"isVerified": true,
"address": "eth:0xA10c7CE4b876998858b1a9E12b10092229539400",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Maker/Sky-controlled vault for DAI bridged with canonical messaging.",
"url": "https://etherscan.io/address/0xA10c7CE4b876998858b1a9E12b10092229539400#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a",
"sinceTimestamp": 1659608791,
"tokens": [
"wstETH"
],
"contract": {
"isVerified": true,
"address": "eth:0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c"
],
"implementations": [
"eth:0xc4E3ff0b5B106f88Fc64c43031BE8b076ee9F21C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1659608791,
"transactionHash": "0x912fc5992f5a24c2ffe5e230ac51fcc4724cb3e4a23535b04eec34f99f77e3a8",
"implementations": [
"eth:0xc4E3ff0b5B106f88Fc64c43031BE8b076ee9F21C"
]
}
],
"description": "wstETH Vault for custom wstETH Gateway. Fully controlled by Lido governance.",
"url": "https://etherscan.io/address/0x0F25c1DC2a9922304f2eac71DCa9B07E310e8E5a#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A",
"sinceTimestamp": 1644777090,
"tokens": [
"LPT"
],
"contract": {
"isVerified": true,
"address": "eth:0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "LPT Vault for custom Livepeer Token Gateway.",
"url": "https://etherscan.io/address/0x6A23F4940BD5BA117Da261f98aae51A8BFfa210A#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x011B6E24FfB0B5f5fCc564cf4183C5BBBc96D515",
"chain": "ethereum",
"sinceTimestamp": 1622243344,
"tokens": [
"ETH"
],
"isHistorical": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\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-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is a 17d 8h delay on code upgrades unless upgrade is initiated by the Security Council in which case there is no delay."
}
],
"zkVerifiers": []
}
+77 -5
+13 -0
{
"apis": [
{
"type": "rpc",
"url": "https://earnm-mainnet.g.alchemy.com/public",
"callsPerMinute": 300
},
{
"type": "blockscout",
"url": "https://earnm-mainnet.explorer.alchemy.com/api"
}
],
"chainId": 32766,
"explorerUrl": "https://earnm-mainnet.explorer.alchemy.com",
"gasTokens": [
"ETH"
],
"multicallContracts": [
{
"address": "0xcA11bde05977b3631167028862bE2a173976CA11",
"batchSize": 150,
"sinceBlock": 10461,
"version": "3"
}
],
"name": "earnm"
}
+22 -0
{
"arbitrum": {
"roles": [],
"actors": [
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 3/8 threshold. \n* Can upgrade **with no delay**\n * RollupProxy [via: UpgradeExecutor]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * EdgeChallengeManager [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]",
"accounts": [
{
"address": "arb1:0x871e290d5447b958131F6d44f915F10032436ee6",
"type": "Contract",
"isVerified": true,
"name": "0x871e…6ee6",
"url": "https://arbiscan.io/address/0x871e290d5447b958131F6d44f915F10032436ee6"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"type": "EOA",
"isVerified": true,
"name": "0xB2aa…1a9d",
"url": "https://arbiscan.io/address/0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d"
},
{
"address": "arb1:0xa3353Ae4458F663f1F888705b044269bd30cd110",
"type": "EOA",
"isVerified": true,
"name": "0xa335…d110",
"url": "https://arbiscan.io/address/0xa3353Ae4458F663f1F888705b044269bd30cd110"
},
{
"address": "arb1:0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca",
"type": "EOA",
"isVerified": true,
"name": "0xFB00…B1ca",
"url": "https://arbiscan.io/address/0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca"
},
{
"address": "arb1:0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7",
"type": "EOA",
"isVerified": true,
"name": "0x35A2…E1d7",
"url": "https://arbiscan.io/address/0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7"
},
{
"address": "arb1:0x001271c57AeC639952B5201D052767c316755512",
"type": "EOA",
"isVerified": true,
"name": "0x0012…5512",
"url": "https://arbiscan.io/address/0x001271c57AeC639952B5201D052767c316755512"
},
{
"address": "arb1:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd",
"type": "EOA",
"isVerified": true,
"name": "0x04a2…F2Bd",
"url": "https://arbiscan.io/address/0x04a25F65200E56EAd142652b7E5eF372E169F2Bd"
},
{
"address": "arb1:0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670",
"type": "EOA",
"isVerified": true,
"name": "0xd144…1670",
"url": "https://arbiscan.io/address/0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670"
},
{
"address": "arb1:0xeD9919D57162D518014C391a687AA8fb9DB55654",
"type": "EOA",
"isVerified": true,
"name": "0xeD99…5654",
"url": "https://arbiscan.io/address/0xeD9919D57162D518014C391a687AA8fb9DB55654"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "arb1:0xe5e3eEC4c5F443B04C5c883384674FD9e3eA93D9",
"type": "EOA",
"isVerified": true,
"name": "0xe5e3…93D9",
"url": "https://arbiscan.io/address/0xe5e3eEC4c5F443B04C5c883384674FD9e3eA93D9",
"displayName": "EOA 1"
}
],
"chain": "arbitrum",
"description": "* Can upgrade **with no delay**\n * RollupProxy [via: UpgradeExecutor]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * EdgeChallengeManager [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": "arb1:0x702a73680122D6EA59c275c6c6978811fD581B2e",
"type": "EOA",
"isVerified": true,
"name": "0x702a…1B2e",
"url": "https://arbiscan.io/address/0x702a73680122D6EA59c275c6c6978811fD581B2e",
"displayName": "EOA 2"
}
],
"chain": "arbitrum",
"description": "* Can interact with RollupProxy\n * Can propose new state roots (called nodes) and challenge state roots on the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "arb1:0xe12128A5c958b299c7F033D1D52F90feb12De81D",
"type": "EOA",
"isVerified": true,
"name": "0xe121…e81D",
"url": "https://arbiscan.io/address/0xe12128A5c958b299c7F033D1D52F90feb12De81D",
"displayName": "EOA 3"
}
],
"chain": "arbitrum",
"description": "* Can interact with SequencerInbox\n * Can submit transaction batches or commitments to the SequencerInbox contract on the host chain ",
"discoveryDrivenData": true
}
]
},
"earnm": {
"roles": [],
"actors": [
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "earnm:0xe5e3eEC4c5F443B04C5c883384674FD9e3eA93D9",
"type": "EOA",
"isVerified": true,
"name": "0xe5e3…93D9",
"url": "https://earnm-mainnet.explorer.alchemy.com/address/0xe5e3eEC4c5F443B04C5c883384674FD9e3eA93D9",
"displayName": "EOA 4"
}
],
"chain": "earnm",
"description": "* Can interact with ArbFilteredTransactionsManager\n * ArbOS chain owner: can change any ArbOS chain parameter, add chain owners and add transaction filterers, which can forcibly fail any transaction, including force-included ones ",
"discoveryDrivenData": true
}
]
}
}
+27 -4
{
"addresses": {
"arbitrum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D"
],
"implementations": [
"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82",
"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1790339300,
"transactionHash": "0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e",
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
},
{
"timestamp": 1790341694,
"transactionHash": "0xd78dca6e63ea83f3ee4198c1029026360b29db580a74a64b71d45b5beede9efa",
"implementations": [
"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82",
"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C"
]
}
],
"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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately EOA 1, SafeL2\n * **getValidators**: EOA 2\n * **owner**: UpgradeExecutor; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0x38d41Ac2fbc3f13FcA7838F6638D8FbDb189e807",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x3De02cf69192f4805edE47d7fA5efa614c5A6593"
]
},
{
"timestamp": 1767709919,
"transactionHash": "0x6ba75dc2936bc08617505e2a1abc4d117e98fc03707dbce6a598331ae6e21e7c",
"implementations": [
"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10"
]
},
{
"timestamp": 1790339300,
"transactionHash": "0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e",
"implementations": [
"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2\n * **batchPosters**: EOA 3",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x38d41Ac2fbc3f13FcA7838F6638D8FbDb189e807#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0xA9F4ee72439afC704db48dc049CbFb7E914aD300",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x234e937F1a2926737b0084Fb7498772579497735"
]
},
{
"timestamp": 1790339300,
"transactionHash": "0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e",
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
}
],
"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, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xA9F4ee72439afC704db48dc049CbFb7E914aD300#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "arb1:0xf2990AFA6b36ec53BE8088ebedF876aE6E8b147F",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1790339300,
"transactionHash": "0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e",
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xf2990AFA6b36ec53BE8088ebedF876aE6E8b147F#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x12B1389Fbf261E781bdc3094d28636Abfb03C5b3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x12B1389Fbf261E781bdc3094d28636Abfb03C5b3"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2\n * **executors**: EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x39919941b42DAb335d9924Ef56dF7b9813b2D6d9",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0xCf66F830c4e5E1904B599ED61249601901E55D89"
]
},
{
"timestamp": 1790339300,
"transactionHash": "0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e",
"implementations": [
"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95"
]
}
],
"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, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x39919941b42DAb335d9924Ef56dF7b9813b2D6d9#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0x446626827f14F89B38D5bA1ab152B484cd7912fD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x0f728dd0217E26120A304B3Fa554C3Ba2b2aF535"
]
},
{
"timestamp": 1767709919,
"transactionHash": "0x6ba75dc2936bc08617505e2a1abc4d117e98fc03707dbce6a598331ae6e21e7c",
"implementations": [
"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255"
]
},
{
"timestamp": 1790339300,
"transactionHash": "0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e",
"implementations": [
"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x446626827f14F89B38D5bA1ab152B484cd7912fD#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x583F8BA007580c83EFB4B02C66694096cD5c56d1#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x61006c8566fac9a3315F646dA4624C00BbCF15E4#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8D9e5bB33Da252739780e3df5F9E686fd11E0536#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xAc9348017885a132F1A0614B508F632A56B90ec4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x3e9A459089758E760bEA267aBB9485EE5b47a909"
]
},
{
"timestamp": 1790339300,
"transactionHash": "0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e",
"implementations": [
"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xAc9348017885a132F1A0614B508F632A56B90ec4#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb#code"
}
],
"earnm": [
{
"name": "ArbFilteredTransactionsManager",
"isVerified": true,
"address": "earnm:0x0000000000000000000000000000000000000074",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "earnm",
"references": [
{
"title": "Source Code",
"url": "https://github.com/OffchainLabs/nitro/blob/v3.11.0/precompiles/ArbFilteredTransactionsManager.go"
}
],
"description": "ArbOS transaction-filtering precompile (0x..74, ArbOS 60+). An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n* Roles:\n * **chainOwners**: EOA 4",
"discoveryDrivenData": true,
"url": "https://earnm-mainnet.explorer.alchemy.com/address/0x0000000000000000000000000000000000000074#code"
}
]
},
"escrows": [
{
"address": "0xA9F4ee72439afC704db48dc049CbFb7E914aD300",
"sinceTimestamp": 1750157155,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0xA9F4ee72439afC704db48dc049CbFb7E914aD300",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536"
],
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1750157155,
"transactionHash": "0xd0a0751d8450543a294e38729482791348b8daba8017cdc92d3ada20f67a4e21",
"implementations": [
"arb1:0x234e937F1a2926737b0084Fb7498772579497735"
]
},
{
"timestamp": 1790339300,
"transactionHash": "0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e",
"implementations": [
"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0xA9F4ee72439afC704db48dc049CbFb7E914aD300#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x0b6b5aFEe8602A4d88dC26Fc2E85b2d1236156F6",
"sinceTimestamp": 1745356800,
"tokens": "*",
"chain": "arbitrum",
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51.1",
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51.1/arbos",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\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-v51.1` . Commit hash should be `e5dab3512419c50893813f4226c0621c3bfe2bdc`.\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 .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c"
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\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-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1790927850,
"baseTimestamp": 1791533687,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "81f799c7",
"date": "Mon, 12 Oct 2026 09:59:50 GMT",
"timestamp": 1791533687,
"description": "RollupProxy: ArbOS v51.1 → v61 wasm module root, set by an executor EOA through the UpgradeExecutor.\nArbFilteredTransactionsManager: transaction-filtering precompile live with ArbOS 61, no filterers set; the L3 chain owner (an EOA) is now tracked.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda) [orbitstack/RollupProxyBoLD] {\n +++ 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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v51.1 wasmModuleRoot\"\n+ \"ArbOS v61 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n+++ severity: HIGH\n values.wasmModuleRoot:\n- \"0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c\"\n+ \"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\"\n }\n```\n\n```diff\n contract ArbFilteredTransactionsManager (earnm:0x0000000000000000000000000000000000000074) [N/A] {\n +++ description: ArbOS transaction-filtering precompile (0x..74, ArbOS 60+). An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"immutable\"\n values.transactionFilterers:\n- \"EXPECT_REVERT\"\n+ []\n values.$immutable:\n+ true\n sourceHashes:\n+ [\"0xc92ac7c82ac0ae6811eb5889bb19d300f3f59cc6c21e25d1be2dcc6c4a9db41a\"]\n implementationNames:\n+ {\"earnm:0x0000000000000000000000000000000000000074\":\"\"}\n }\n```"
}
]
},
{
"id": "cf39ada6",
"date": "Fri, 02 Oct 2026 07:58:36 GMT",
"timestamp": 1790927850,
"description": "Upgrade to the BoLD dispute protocol (nitro-contracts v3.1.0), then RollupProxy logic upgraded to nitro-contracts v3.2.0.\n\nRollupProxy replaced by a BoLD rollup (`isPostBoLD: true`). Validator whitelist stays enabled. Stake token ETH → WETH. `baseStake` 0.1 ETH → 0. `confirmPeriodBlocks` 45818 → 50400. `validatorAfkBlocks` 45818 → 201600. `challengeGracePeriodBlocks` set to 14400.\n\nChallengeManager replaced by EdgeChallengeManager: 1 big-step level. No stake is required to propose an assertion or open a challenge (`baseStake` 0, all edge stakes 0): if the validator whitelist is dropped, delay and resource exhaustion attacks cost only gas.\n\nSafeL2 threshold lowered from 5 of 8 to 3 of 8.\n\nImplementation diffs:\n\n- RollupAdminLogic: https://disco.l2beat.com/diff/arb1:0xF9725312bd91CcfA3aD797e78A8A10b6d692FCd6/arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82\n- RollupUserLogic: https://disco.l2beat.com/diff/arb1:0xF916Bfe431B7A7AaE083273F5b862e00a15d60F4/arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C\n- ChallengeManager -> EdgeChallengeManager: https://disco.l2beat.com/diff/arb1:0x079840Cc8959Ef60d414E5AFC6ED0493b8eAf514/arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821\n- SequencerInbox: https://disco.l2beat.com/diff/arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10/arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1\n- Bridge: https://disco.l2beat.com/diff/arb1:0x234e937F1a2926737b0084Fb7498772579497735/arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7\n- Inbox: https://disco.l2beat.com/diff/arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255/arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1\n- Outbox (source unchanged): https://disco.l2beat.com/diff/arb1:0xCf66F830c4e5E1904B599ED61249601901E55D89/arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95\n- RollupEventInbox: https://disco.l2beat.com/diff/arb1:0x3e9A459089758E760bEA267aBB9485EE5b47a909/arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B\n- OneStepProofEntry: https://disco.l2beat.com/diff/arb1:0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98/arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4\n- OneStepProver0: https://disco.l2beat.com/diff/arb1:0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585/arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612\n- OneStepProverMemory: https://disco.l2beat.com/diff/arb1:0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d/arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1\n- OneStepProverMath: https://disco.l2beat.com/diff/arb1:0xD3dE403eADdf791104918E9C9336B434AE7DDA01/arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb\n- OneStepProverHostIo: https://disco.l2beat.com/diff/arb1:0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389/arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F",
"isHighSeverity": true,
"changeCount": 82,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProverMemory (arb1:0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d) [orbitstack/OneStepProverMemory]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract RollupProxy (arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda) [orbitstack/RollupProxyBoLD] {\n +++ 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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"Arbitrum proxy\"\n name:\n+ \"RollupProxy\"\n template:\n+ \"orbitstack/RollupProxyBoLD\"\n sourceHashes:\n+ [\"0xc66527a2dd7fcfbb954018194b0db35218725aa1072451f6ec2470d103b4a0a2\",\"0xf63d847cedf2798da9b8a2094930914aaa88bd781d26aa55dc6e210f542672f5\"]\n description:\n+ \"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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\"\n critical:\n+ true\n deployerAddress:\n+ \"arb1:0xe5e3eEC4c5F443B04C5c883384674FD9e3eA93D9\"\n sinceTimestamp:\n+ 1790339300\n sinceBlock:\n+ 508762192\n values:\n+ {\"$admin\":\"arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D\",\"$implementation\":[\"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82\",\"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C\"],\"$pastUpgrades\":[[\"2026-09-25T12:28:20.000Z\",\"0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e\",[\"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520\",\"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606\"]],[\"2026-09-25T13:08:14.000Z\",\"0xd78dca6e63ea83f3ee4198c1029026360b29db580a74a64b71d45b5beede9efa\",[\"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82\",\"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C\"]]],\"$upgradeCount\":2,\"anyTrustFastConfirmer\":\"arb1:0x0000000000000000000000000000000000000000\",\"arbOsFromWmRoot\":\"ArbOS v51.1 wasmModuleRoot\",\"baseStake\":0,\"bridge\":\"arb1:0xA9F4ee72439afC704db48dc049CbFb7E914aD300\",\"chainId\":32766,\"challengeGracePeriodBlocks\":14400,\"challengeManager\":\"arb1:0xf2990AFA6b36ec53BE8088ebedF876aE6E8b147F\",\"challenges\":[],\"confirmPeriodBlocks\":50400,\"genesisAssertionHash\":\"0x75c2df1d9a6f98d1de62c8fc955f91b87f16fefa2fafe4d6b52118fc30e1c278\",\"getValidators\":[\"arb1:0x702a73680122D6EA59c275c6c6978811fD581B2e\"],\"inbox\":\"arb1:0x446626827f14F89B38D5bA1ab152B484cd7912fD\",\"isPostBoLD\":true,\"latestConfirmed\":\"0x2ce4dde2f8b4e1eaf42e6cfe07bf01aa9e9ff670ddd8db6441076429670ccd77\",\"loserStakeEscrow\":\"arb1:0xe5e3eEC4c5F443B04C5c883384674FD9e3eA93D9\",\"minimumAssertionPeriod\":75,\"outbox\":\"arb1:0x39919941b42DAb335d9924Ef56dF7b9813b2D6d9\",\"owner\":\"arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D\",\"paused\":false,\"rollupDeploymentBlock\":26054465,\"rollupEventInbox\":\"arb1:0xAc9348017885a132F1A0614B508F632A56B90ec4\",\"sequencerInbox\":\"arb1:0x38d41Ac2fbc3f13FcA7838F6638D8FbDb189e807\",\"stakerCount\":1,\"stakeToken\":\"arb1:0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\"totalWithdrawableFunds\":0,\"validatorAfkBlocks\":201600,\"validatorWalletCreator\":\"arb1:0xc8C95B8b35772Ce4bF9E602336082696C2dC0DB8\",\"validatorWhitelistDisabled\":false,\"wasmModuleRoot\":\"0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c\"}\n fieldMeta:\n+ {\"paused\":{\"severity\":\"MEDIUM\"},\"rollupEventInbox\":{\"severity\":\"HIGH\"},\"sequencerInbox\":{\"severity\":\"HIGH\"},\"outbox\":{\"severity\":\"HIGH\"},\"inbox\":{\"severity\":\"HIGH\"},\"bridge\":{\"severity\":\"HIGH\"},\"loserStakeEscrow\":{\"severity\":\"HIGH\"},\"stakeToken\":{\"severity\":\"HIGH\"},\"baseStake\":{\"severity\":\"HIGH\"},\"validatorAfkBlocks\":{\"severity\":\"HIGH\"},\"challengeGracePeriodBlocks\":{\"severity\":\"HIGH\"},\"$admin\":{\"severity\":\"HIGH\"},\"getValidators\":{\"severity\":\"LOW\"},\"anyTrustFastConfirmer\":{\"severity\":\"HIGH\"},\"minimumAssertionPeriod\":{\"severity\":\"HIGH\",\"description\":\"Minimum time delta between newly created nodes (stateUpdates). This is checked on `stakeOnNewNode()`. Format is number of ETHEREUM blocks, even for L3s. \"},\"confirmPeriodBlocks\":{\"description\":\"Challenge period. (Number of ETHEREUM blocks until a node is confirmed, even for L3s).\"},\"wasmModuleRoot\":{\"severity\":\"HIGH\",\"description\":\"Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\"},\"arbOsFromWmRoot\":{\"description\":\"ArbOS version derived from known wasmModuleRoots.\"},\"challenges\":{\"description\":\"Emitted on createChallenge() in RollupUserLogic.\"}}\n implementationNames:\n+ {\"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\":\"RollupProxy\",\"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82\":\"RollupAdminLogic\",\"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C\":\"RollupUserLogic\"}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0xbb9d58e9527566138b682f3a207c0976d5359837f6e330f4017434cca983ff41\":\"ArbOS v1-rc1 wasmModuleRoot\",\"0x9d68e40c47e3b87a8a7e6368cc52915720a6484bb2f47ceabad7e573e3a11232\":\"ArbOS v2.1 wasmModuleRoot\",\"0x53c288a0ca7100c0f2db8ab19508763a51c7fd1be125d376d940a65378acaee7\":\"ArbOS v3 wasmModuleRoot\",\"0x588762be2f364be15d323df2aa60ffff60f2b14103b34823b6f7319acd1ae7a3\":\"ArbOS v3.1 wasmModuleRoot\",\"0xcfba6a883c50a1b4475ab909600fa88fc9cceed9e3ff6f43dccd2d27f6bd57cf\":\"ArbOS v3.2 wasmModuleRoot\",\"0xa24ccdb052d92c5847e8ea3ce722442358db4b00985a9ee737c4e601b6ed9876\":\"ArbOS v4 wasmModuleRoot\",\"0x1e09e6d9e35b93f33ed22b2bc8dc10bbcf63fdde5e8a1fb8cc1bcd1a52f14bd0\":\"ArbOS v5 wasmModuleRoot\",\"0x3848eff5e0356faf1fc9cafecb789584c5e7f4f8f817694d842ada96613d8bab\":\"ArbOS v6 wasmModuleRoot\",\"0x53dd4b9a3d807a8cbb4d58fbfc6a0857c3846d46956848cae0a1cc7eca2bb5a8\":\"ArbOS v7 wasmModuleRoot\",\"0x2b20e1490d1b06299b222f3239b0ae07e750d8f3b4dedd19f500a815c1548bbc\":\"ArbOS v7.1 wasmModuleRoot\",\"0xd1842bfbe047322b3f3b3635b5fe62eb611557784d17ac1d2b1ce9c170af6544\":\"ArbOS v9 wasmModuleRoot\",\"0x6b94a7fc388fd8ef3def759297828dc311761e88d8179c7ee8d3887dc554f3c3\":\"ArbOS v10 wasmModuleRoot\",\"0xda4e3ad5e7feacb817c21c8d0220da7650fe9051ece68a3f0b1c5d38bbb27b21\":\"ArbOS v10.1 wasmModuleRoot\",\"0x0754e09320c381566cc0449904c377a52bd34a6b9404432e80afd573b67f7b17\":\"ArbOS v10.2 wasmModuleRoot\",\"0xf559b6d4fa869472dabce70fe1c15221bdda837533dfd891916836975b434dec\":\"ArbOS v10.3 wasmModuleRoot\",\"0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a\":\"ArbOS v11 wasmModuleRoot\",\"0x68e4fe5023f792d4ef584796c84d710303a5e12ea02d6e37e2b5e9c4332507c4\":\"ArbOS v11.1 wasmModuleRoot\",\"0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4\":\"ArbOS v20 wasmModuleRoot\",\"0xb0de9cb89e4d944ae6023a3b62276e54804c242fd8c4c2d8e6cc4450f5fa8b1b\":\"ArbOS v30 wasmModuleRoot\",\"0x260f5fa5c3176a856893642e149cf128b5a8de9f828afec8d11184415dd8dc69\":\"ArbOS v31 wasmModuleRoot\",\"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\":\"ArbOS v32 wasmModuleRoot\",\"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\":\"ArbOS v40 wasmModuleRoot\",\"0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499\":\"ArbOS v51 wasmModuleRoot\",\"0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c\":\"ArbOS v51.1 wasmModuleRoot\",\"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\":\"ArbOS v61 wasmModuleRoot\",\"0xe81f986823a85105c5fd91bb53b4493d38c0c26652d23f76a7405ac889908287\":\"Celestia Nitro 3.2.1 wasmModuleRoot\",\"0xaf1dbdfceb871c00bfbb1675983133df04f0ed04e89647812513c091e3a982b3\":\"Celestia Nitro 3.3.2 wasmModuleRoot\",\"0x597de35fc2ee60e5b2840157370d037542d6a4bc587af7f88202636c54e6bd8d\":\"Celestia Nitro ArbOS v40 wasmModuleRoot\"}}]\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n- Status: DELETED\n contract ChallengeManager (arb1:0x3131627362AD79b3D831559E0AfC986BF60A6870) [orbitstack/ChallengeManager]\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n contract SequencerInbox (arb1:0x38d41Ac2fbc3f13FcA7838F6638D8FbDb189e807) [orbitstack/SequencerInbox] {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x38fab1c44903c11839e1113e339b7268b07f99808721133182f57fdd891be63a\"\n+ \"0xd9d7945b3c909d8777cc1798e1b56051640a57595cc65064235a913104f4e9e9\"\n values.$implementation:\n- \"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10\"\n+ \"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1\"\n values.$pastUpgrades.2:\n+ [\"2026-09-25T12:28:20.000Z\",\"0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e\",[\"arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.rollup:\n- \"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n values.feeTokenPricer:\n+ \"arb1:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.isDelayBufferable:\n+ true\n implementationNames.arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10:\n- \"SequencerInbox\"\n implementationNames.arb1:0xC08A4543b011fd4f1EfC9e26521F4e157433b3b1:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverHostIo (arb1:0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389) [orbitstack/OneStepProverHostIo]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract Outbox (arb1:0x39919941b42DAb335d9924Ef56dF7b9813b2D6d9) [orbitstack/Outbox] {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n values.$implementation:\n- \"arb1:0xCf66F830c4e5E1904B599ED61249601901E55D89\"\n+ \"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95\"\n values.$pastUpgrades.1:\n+ [\"2026-09-25T12:28:20.000Z\",\"0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e\",[\"arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n implementationNames.arb1:0xCf66F830c4e5E1904B599ED61249601901E55D89:\n- \"ERC20Outbox\"\n implementationNames.arb1:0x99761fAc22FcE23498F8004ac4025F822fEdce95:\n+ \"ERC20Outbox\"\n }\n```\n\n```diff\n contract Inbox (arb1:0x446626827f14F89B38D5bA1ab152B484cd7912fD) [orbitstack/Inbox] {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.1:\n- \"0xb33f29d585cf178f81b64440ee9a3c598cd398ad18d2b3c6dc6c711eaf63d5e4\"\n+ \"0x03939c3cbd6c108ea9a077f61bb7ec6c3254fe21911bf5dfdb3c0efcb636e796\"\n values.$implementation:\n- \"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255\"\n+ \"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1\"\n values.$pastUpgrades.2:\n+ [\"2026-09-25T12:28:20.000Z\",\"0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e\",[\"arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255:\n- \"ERC20Inbox\"\n implementationNames.arb1:0x08b1395a2Ee51073d6B9ebF9E97FBeb09dcAcAf1:\n+ \"ERC20Inbox\"\n }\n```\n\n```diff\n EOA (arb1:0x702a73680122D6EA59c275c6c6978811fD581B2e) {\n +++ description: None\n receivedPermissions.0.role:\n- \".validators\"\n+ \".getValidators\"\n receivedPermissions.0.from:\n- \"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n }\n```\n\n```diff\n contract SafeL2 (arb1:0x871e290d5447b958131F6d44f915F10032436ee6) [GnosisSafe] {\n +++ description: None\n values.$threshold:\n- 5\n+ 3\n values.multisigThreshold:\n- \"5 of 8 (63%)\"\n+ \"3 of 8 (38%)\"\n receivedPermissions.0.from:\n- \"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n receivedPermissions.1.via.0:\n- {\"address\":\"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536\"}\n receivedPermissions.1.from:\n- \"arb1:0x3131627362AD79b3D831559E0AfC986BF60A6870\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\",\"role\":\"admin\",\"via\":[{\"address\":\"arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"arb1:0xf2990AFA6b36ec53BE8088ebedF876aE6E8b147F\",\"role\":\"admin\",\"via\":[{\"address\":\"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536\"},{\"address\":\"arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D\"}]}\n }\n```\n\n```diff\n contract ProxyAdmin (arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.0:\n- {\"permission\":\"upgrade\",\"from\":\"arb1:0x3131627362AD79b3D831559E0AfC986BF60A6870\",\"role\":\"admin\"}\n directlyReceivedPermissions.6:\n+ {\"permission\":\"upgrade\",\"from\":\"arb1:0xf2990AFA6b36ec53BE8088ebedF876aE6E8b147F\",\"role\":\"admin\"}\n }\n```\n\n```diff\n- Status: DELETED\n contract ValidatorUtils (arb1:0xa0d6E6b1B950aCC748B45F3419FeAd4b52f7389A) [orbitstack/ValidatorUtils]\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (arb1:0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98) [orbitstack/OneStepProofEntry]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract Bridge (arb1:0xA9F4ee72439afC704db48dc049CbFb7E914aD300) [orbitstack/Bridge] {\n +++ 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 sourceHashes.1:\n- \"0x4c274427254eb8042a8e9148268a82f423f009b03cb95a03301576bd2019277d\"\n+ \"0xcf23a1556783b1256851289ed1e962cbab0633dca95bc20654f016b52c1d4fae\"\n values.$implementation:\n- \"arb1:0x234e937F1a2926737b0084Fb7498772579497735\"\n+ \"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7\"\n values.$pastUpgrades.1:\n+ [\"2026-09-25T12:28:20.000Z\",\"0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e\",[\"arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n implementationNames.arb1:0x234e937F1a2926737b0084Fb7498772579497735:\n- \"ERC20Bridge\"\n implementationNames.arb1:0x31127A9c0308d8E3F6db5158a14aD674f22946d7:\n+ \"ERC20Bridge\"\n }\n```\n\n```diff\n contract RollupEventInbox (arb1:0xAc9348017885a132F1A0614B508F632A56B90ec4) [orbitstack/RollupEventInbox] {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n sourceHashes.1:\n- \"0x35bd9f6436158f2147578ce95b85de68f435e81f1f3ed3858f7523a8c4825a1a\"\n+ \"0x30d86d66b2eba9a29c67fd3a446f636d4d7835b6d679dab61a2cfc6e10b97b23\"\n values.$implementation:\n- \"arb1:0x3e9A459089758E760bEA267aBB9485EE5b47a909\"\n+ \"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B\"\n values.$pastUpgrades.1:\n+ [\"2026-09-25T12:28:20.000Z\",\"0x860a45d698bee648eb02dbbd827d05d6bfdb017d472759f532a3494d60f1952e\",[\"arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.rollup:\n- \"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n implementationNames.arb1:0x3e9A459089758E760bEA267aBB9485EE5b47a909:\n- \"ERC20RollupEventInbox\"\n implementationNames.arb1:0x9fD20D42Cf52B1A0dEf8e95AD8d2E92B58ECa51B:\n+ \"ERC20RollupEventInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract RollupProxy (arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33) [orbitstack/RollupProxy_fastConfirm]\n +++ 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```\n\n```diff\n contract UpgradeExecutor (arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D) [orbitstack/UpgradeExecutor] {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n directlyReceivedPermissions.1.from:\n- \"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n directlyReceivedPermissions.2.from:\n- \"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (arb1:0xD3dE403eADdf791104918E9C9336B434AE7DDA01) [orbitstack/OneStepProverMath]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n EOA (arb1:0xe5e3eEC4c5F443B04C5c883384674FD9e3eA93D9) {\n +++ description: None\n receivedPermissions.0.from:\n- \"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n receivedPermissions.1.via.0:\n- {\"address\":\"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536\"}\n receivedPermissions.1.from:\n- \"arb1:0x3131627362AD79b3D831559E0AfC986BF60A6870\"\n+ \"arb1:0x2E3f48e1A9B9849e5c0e4Fe987AEa2dA1702Ddda\"\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33\",\"role\":\"admin\",\"via\":[{\"address\":\"arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D\"}]}\n receivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"arb1:0xf2990AFA6b36ec53BE8088ebedF876aE6E8b147F\",\"role\":\"admin\",\"via\":[{\"address\":\"arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536\"},{\"address\":\"arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D\"}]}\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (arb1:0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585) [orbitstack/OneStepProver0]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F) [orbitstack/OneStepProverHostIo]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1) [orbitstack/OneStepProverMemory]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4) [orbitstack/OneStepProofEntry]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612) [orbitstack/OneStepProver0]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb) [orbitstack/OneStepProverMath]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract EdgeChallengeManager (arb1:0xf2990AFA6b36ec53BE8088ebedF876aE6E8b147F) [orbitstack/EdgeChallengeManager]\n +++ description: Contract that implements the main challenge protocol logic of the fraud proof system.\n```"
}
]
},
{
"id": "be2818ff",
"date": "Fri, 22 May 2026 14:59:17 GMT",
"timestamp": 1779461890,
"description": "RollupProxy `wasmModuleRoot` rotated from ArbOS v40 to ArbOS v51.1 (consensus-v51.1, ArbOS 51 Dia, Fusaka-compatible). New root added to `globalConfig.jsonc`.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33) [orbitstack/RollupProxy_fastConfirm] {\n +++ 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+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v40 wasmModuleRoot\"\n+ \"ArbOS v51.1 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n+ \"0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c\"\n }\n```"
}
]
},
{
"id": "3e9e74ae",
"date": "Wed, 04 Mar 2026 20:42:56 GMT",
"timestamp": 1772656885,
"description": "One member of SafeL2 (AlchemyMultisig2) was rotated: 0xA351...700a replaced by 0x04a2...7Bd.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SafeL2 (arb1:0x871e290d5447b958131F6d44f915F10032436ee6) {\n +++ description: None\n values.$members.5:\n- \"arb1:0xA351A874b48dCEdf1883dD4F4049bE3d9923700a\"\n+ \"arb1:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd\"\n }\n```"
}
]
},
{
"id": "d7ec8806",
"date": "Wed, 07 Jan 2026 16:10:53 GMT",
"timestamp": 1767802188,
"description": "Inbox and SequencerInbox upgrade:\n- 7702 adjustments",
"isHighSeverity": true,
"changeCount": 12,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (arb1:0x38d41Ac2fbc3f13FcA7838F6638D8FbDb189e807) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x50cf57b01499408fa99da27cf0fee96ec30f0d40667d1aa090c442bc80f0636b\"\n+ \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n values.$implementation:\n- \"arb1:0x3De02cf69192f4805edE47d7fA5efa614c5A6593\"\n+ \"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10\"\n values.$pastUpgrades.1:\n+ [\"2026-01-06T14:31:59.000Z\",\"0x6ba75dc2936bc08617505e2a1abc4d117e98fc03707dbce6a598331ae6e21e7c\",[\"arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.arb1:0x3De02cf69192f4805edE47d7fA5efa614c5A6593:\n- \"SequencerInbox\"\n implementationNames.arb1:0x7be08B013de2b23a6329De51C4994f841dcE1a10:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n contract Inbox (arb1:0x446626827f14F89B38D5bA1ab152B484cd7912fD) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.1:\n- \"0xb2c117c2e00734a82fe4ab27d5fe91a6e152c06bbcdbf83db021ad32b6be3e60\"\n+ \"0x25984fdfffb8141859c99299fb29e7a7460732d77111e5fe23792baa99f336a3\"\n values.$implementation:\n- \"arb1:0x0f728dd0217E26120A304B3Fa554C3Ba2b2aF535\"\n+ \"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255\"\n values.$pastUpgrades.1:\n+ [\"2026-01-06T14:31:59.000Z\",\"0x6ba75dc2936bc08617505e2a1abc4d117e98fc03707dbce6a598331ae6e21e7c\",[\"arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255\"]]\n values.$upgradeCount:\n- 1\n+ 2\n implementationNames.arb1:0x0f728dd0217E26120A304B3Fa554C3Ba2b2aF535:\n- \"ERC20Inbox\"\n implementationNames.arb1:0xD87f160f8c414d834cBDd9477c3D8c3ad1802255:\n+ \"ERC20Inbox\"\n }\n```"
}
]
},
{
"id": "3229bf67",
"date": "Fri, 31 Oct 2025 13:06:21 GMT",
"timestamp": 1761914121,
"description": "First discovery.",
"isHighSeverity": false,
"changeCount": 16,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract OneStepProverMemory (arb1:0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (arb1:0x3131627362AD79b3D831559E0AfC986BF60A6870)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (arb1:0x38d41Ac2fbc3f13FcA7838F6638D8FbDb189e807)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (arb1:0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (arb1:0x39919941b42DAb335d9924Ef56dF7b9813b2D6d9)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (arb1:0x446626827f14F89B38D5bA1ab152B484cd7912fD)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (arb1:0x871e290d5447b958131F6d44f915F10032436ee6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (arb1:0x8D9e5bB33Da252739780e3df5F9E686fd11E0536)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (arb1:0xa0d6E6b1B950aCC748B45F3419FeAd4b52f7389A)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (arb1:0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (arb1:0xA9F4ee72439afC704db48dc049CbFb7E914aD300)\n +++ 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```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (arb1:0xAc9348017885a132F1A0614B508F632A56B90ec4)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (arb1:0xc930fd48846e956b308f28524dA2d5E14c832e33)\n +++ 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```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (arb1:0xcD3D1CFE5e0cDa77D0a2D1ac1c0268C77115f89D)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (arb1:0xD3dE403eADdf791104918E9C9336B434AE7DDA01)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (arb1:0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
}
]
+77 -5
+13 -0
{
"apis": [
{
"type": "rpc",
"url": "https://edge-mainnet.g.alchemy.com/v2/p7XZ9PmQlUFoTRxwIeB38",
"callsPerMinute": 300
},
{
"type": "sourcify",
"chainId": 3343
}
],
"chainId": 3343,
"explorerUrl": "https://edge-mainnet.explorer.alchemy.com",
"gasTokens": [
"ETH"
],
"multicallContracts": [
{
"address": "0xcA11bde05977b3631167028862bE2a173976CA11",
"batchSize": 150,
"sinceBlock": 2121,
"version": "3"
}
],
"name": "edgechain",
"sinceTimestamp": 1761511538
}
+22 -0
{
"arbitrum": {
"roles": [],
"actors": [
{
"id": "SafeL2",
"name": "SafeL2",
"description": "A Multisig with 3/8 threshold. \n* Can upgrade **with no delay**\n * RollupProxy [via: UpgradeExecutor]\n * ERC20Gateway [via: UpgradeExecutor → ProxyAdmin]\n * GatewayRouter [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * EdgeChallengeManager [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]",
"accounts": [
{
"address": "arb1:0x871e290d5447b958131F6d44f915F10032436ee6",
"type": "Contract",
"isVerified": true,
"name": "0x871e…6ee6",
"url": "https://arbiscan.io/address/0x871e290d5447b958131F6d44f915F10032436ee6"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d",
"type": "EOA",
"isVerified": true,
"name": "0xB2aa…1a9d",
"url": "https://arbiscan.io/address/0xB2aa0C2C4fD6BFCBF699d4c787CD6Cc0dC461a9d"
},
{
"address": "arb1:0xa3353Ae4458F663f1F888705b044269bd30cd110",
"type": "EOA",
"isVerified": true,
"name": "0xa335…d110",
"url": "https://arbiscan.io/address/0xa3353Ae4458F663f1F888705b044269bd30cd110"
},
{
"address": "arb1:0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca",
"type": "EOA",
"isVerified": true,
"name": "0xFB00…B1ca",
"url": "https://arbiscan.io/address/0xFB00073F931A817b244bF211aA2E5DCBfff8B1ca"
},
{
"address": "arb1:0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7",
"type": "EOA",
"isVerified": true,
"name": "0x35A2…E1d7",
"url": "https://arbiscan.io/address/0x35A2079110aa30d1De381cf75aCd1836b6dEE1d7"
},
{
"address": "arb1:0x001271c57AeC639952B5201D052767c316755512",
"type": "EOA",
"isVerified": true,
"name": "0x0012…5512",
"url": "https://arbiscan.io/address/0x001271c57AeC639952B5201D052767c316755512"
},
{
"address": "arb1:0x04a25F65200E56EAd142652b7E5eF372E169F2Bd",
"type": "EOA",
"isVerified": true,
"name": "0x04a2…F2Bd",
"url": "https://arbiscan.io/address/0x04a25F65200E56EAd142652b7E5eF372E169F2Bd"
},
{
"address": "arb1:0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670",
"type": "EOA",
"isVerified": true,
"name": "0xd144…1670",
"url": "https://arbiscan.io/address/0xd1447Dd15D9e24ddFF99f0fE3C88Bf64d23D1670"
},
{
"address": "arb1:0xeD9919D57162D518014C391a687AA8fb9DB55654",
"type": "EOA",
"isVerified": true,
"name": "0xeD99…5654",
"url": "https://arbiscan.io/address/0xeD9919D57162D518014C391a687AA8fb9DB55654"
}
],
"discoveryDrivenData": true
},
{
"id": "GnosisSafeL2",
"name": "GnosisSafeL2",
"description": "A Multisig with 1/1 threshold. ",
"accounts": [
{
"address": "arb1:0x42124A2E725E6458701b8Ef46B78Db55827fA836",
"type": "Contract",
"isVerified": true,
"name": "0x4212…A836",
"url": "https://arbiscan.io/address/0x42124A2E725E6458701b8Ef46B78Db55827fA836"
}
],
"chain": "arbitrum",
"references": [],
"participants": [
{
"address": "arb1:0x3f90c4913621e6758eB8767EA934FCa59ae5Dee8",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-2"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "arb1:0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28",
"type": "EOA",
"isVerified": true,
"name": "0xc250…5c28",
"url": "https://arbiscan.io/address/0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28",
"displayName": "EOA 1"
}
],
"chain": "arbitrum",
"description": "* Can upgrade **with no delay**\n * RollupProxy [via: UpgradeExecutor]\n * ERC20Gateway [via: UpgradeExecutor → ProxyAdmin]\n * GatewayRouter [via: UpgradeExecutor → ProxyAdmin]\n * Bridge [via: UpgradeExecutor → ProxyAdmin]\n * Outbox [via: UpgradeExecutor → ProxyAdmin]\n * UpgradeExecutor [via: UpgradeExecutor → ProxyAdmin]\n * RollupEventInbox [via: UpgradeExecutor → ProxyAdmin]\n * SequencerInbox [via: UpgradeExecutor → ProxyAdmin]\n * Inbox [via: UpgradeExecutor → ProxyAdmin]\n * EdgeChallengeManager [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": "arb1:0x3f90c4913621e6758eB8767EA934FCa59ae5Dee8",
"type": "EOA",
"isVerified": true,
"name": "0x3f90…Dee8",
"url": "https://arbiscan.io/address/0x3f90c4913621e6758eB8767EA934FCa59ae5Dee8",
"displayName": "EOA 2"
}
],
"chain": "arbitrum",
"description": "Member of GnosisSafeL2.\n* Can interact with RollupProxy\n * Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root [via: GnosisSafeL2]\n * Can propose new state roots (called nodes) and challenge state roots on the host chain ",
"discoveryDrivenData": true
},
{
"id": "EOA-3",
"name": "EOA 3",
"accounts": [
{
"address": "arb1:0x9f787F6e07469BBA84f0BE488c42eDC4c766cC83",
"type": "EOA",
"isVerified": true,
"name": "0x9f78…cC83",
"url": "https://arbiscan.io/address/0x9f787F6e07469BBA84f0BE488c42eDC4c766cC83",
"displayName": "EOA 3"
}
],
"chain": "arbitrum",
"description": "* Can interact with SequencerInbox\n * Can submit transaction batches or commitments to the SequencerInbox contract on the host chain ",
"discoveryDrivenData": true
}
]
},
"edgechain": {
"roles": [],
"actors": [
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "edge:0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28",
"type": "EOA",
"isVerified": true,
"name": "0xc250…5c28",
"url": "https://edge-mainnet.explorer.alchemy.com/address/0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28",
"displayName": "EOA 4"
}
],
"chain": "edgechain",
"description": "* Can interact with ArbFilteredTransactionsManager\n * ArbOS chain owner: can change any ArbOS chain parameter, add chain owners and add transaction filterers, which can forcibly fail any transaction, including force-included ones ",
"discoveryDrivenData": true
}
]
}
}
+27 -4
{
"addresses": {
"arbitrum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf"
],
"implementations": [
"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82",
"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1790677576,
"transactionHash": "0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f",
"implementations": [
"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520",
"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606"
]
},
{
"timestamp": 1790679414,
"transactionHash": "0xacd63af2a42c503c486934295705135553e882b42941c4a538c07e7710e8b7d8",
"implementations": [
"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82",
"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C"
]
}
],
"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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately EOA 1, SafeL2\n * **anyTrustFastConfirmer**: GnosisSafeL2; ultimately EOA 2\n * **getValidators**: EOA 2\n * **owner**: UpgradeExecutor; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "arb1:0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x466AA18cE75f1a3039D4C06A3c31786d0d0386c8"
]
},
{
"timestamp": 1790677576,
"transactionHash": "0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f",
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
}
],
"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, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "arb1:0xe44B83D8a3A86994043C809E29B723a44FAEE479",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x5F89646f93E360217AD7caD73a44298aBC4aCA9A"
]
},
{
"timestamp": 1767708382,
"transactionHash": "0xdce058b81af248e204b1c6b53c30c18af303b00de6638980e3ce0f552119d12a",
"implementations": [
"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2"
]
},
{
"timestamp": 1790677576,
"transactionHash": "0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f",
"implementations": [
"arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2\n * **batchPosters**: EOA 3",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xe44B83D8a3A86994043C809E29B723a44FAEE479#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "arb1:0xedC476079a899382ff54790e943315bcBb3de7f7",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1790677576,
"transactionHash": "0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f",
"implementations": [
"arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xedC476079a899382ff54790e943315bcBb3de7f7#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x12B1389Fbf261E781bdc3094d28636Abfb03C5b3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x12B1389Fbf261E781bdc3094d28636Abfb03C5b3"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2\n * **executors**: EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "arb1:0x107695630130919cb040B095b9b20511D6e211bB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761512772,
"transactionHash": "0x8a815abfce827844bdad997036a2a1c13e020de7df76322505aec14b18fde9bc",
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x107695630130919cb040B095b9b20511D6e211bB#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "arb1:0x9f427c80C4DF962726808d4c876fc2c55474a764",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x51882B52bcc3EF8008f9F7772B0229eA2551FDdc"
]
},
{
"timestamp": 1790677576,
"transactionHash": "0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f",
"implementations": [
"arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A"
]
}
],
"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, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x9f427c80C4DF962726808d4c876fc2c55474a764#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "arb1:0xeB88b89e085D6B747Dd6b9CEaf2716bdd89F1E7c",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0xd35dCCD471CB5136004DA35660E0573B6cd791d9"
]
},
{
"timestamp": 1767708382,
"transactionHash": "0xdce058b81af248e204b1c6b53c30c18af303b00de6638980e3ce0f552119d12a",
"implementations": [
"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447"
]
},
{
"timestamp": 1790677576,
"transactionHash": "0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f",
"implementations": [
"arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xeB88b89e085D6B747Dd6b9CEaf2716bdd89F1E7c#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "arb1:0x3616995dF5D07B28f2B186F1386cace9EB9Bbd20",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x9c84a387930853D963892D299153B0d5840dc1F5"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761512772,
"transactionHash": "0x8a815abfce827844bdad997036a2a1c13e020de7df76322505aec14b18fde9bc",
"implementations": [
"arb1:0x9c84a387930853D963892D299153B0d5840dc1F5"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x3616995dF5D07B28f2B186F1386cace9EB9Bbd20#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x583F8BA007580c83EFB4B02C66694096cD5c56d1#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x61006c8566fac9a3315F646dA4624C00BbCF15E4#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0x8420251362dA42f5Be2285B2DEa2f20D16332fE6#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "arbitrum",
"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://arbiscan.io/address/0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "arb1:0xdA3102d2f80CaD9571a9Eb3656e808e973620dBD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0xd9E17C6012A50F8725aCDA0196Cecaa40657e8cB"
]
},
{
"timestamp": 1790677576,
"transactionHash": "0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f",
"implementations": [
"arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately EOA 1, SafeL2",
"upgradableBy": [
{
"name": "SafeL2",
"delay": "no"
},
{
"id": "EOA-1",
"name": "EOA 1",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://arbiscan.io/address/0xdA3102d2f80CaD9571a9Eb3656e808e973620dBD#code"
}
],
"edgechain": [
{
"name": "ArbFilteredTransactionsManager",
"isVerified": true,
"address": "edge:0x0000000000000000000000000000000000000074",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "edgechain",
"references": [
{
"title": "Source Code",
"url": "https://github.com/OffchainLabs/nitro/blob/v3.11.0/precompiles/ArbFilteredTransactionsManager.go"
}
],
"description": "ArbOS transaction-filtering precompile (0x..74), available from ArbOS 60. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay. With no filterers set, no transaction hashes can be added or removed; hashes added earlier stay filtered.\n* Roles:\n * **chainOwners**: EOA 4",
"discoveryDrivenData": true,
"url": "https://edge-mainnet.explorer.alchemy.com/address/0x0000000000000000000000000000000000000074#code"
}
]
},
"escrows": [
{
"address": "0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0",
"sinceTimestamp": 1761511538,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "arb1:0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761511538,
"transactionHash": "0xe42a54c304562cf5e67fece131976f358a50c8b26879658306a395649f8914b5",
"implementations": [
"arb1:0x466AA18cE75f1a3039D4C06A3c31786d0d0386c8"
]
},
{
"timestamp": 1790677576,
"transactionHash": "0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f",
"implementations": [
"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://arbiscan.io/address/0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
},
{
"address": "0x107695630130919cb040B095b9b20511D6e211bB",
"sinceTimestamp": 1761512772,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "arb1:0x107695630130919cb040B095b9b20511D6e211bB",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6"
],
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
},
"chain": "arbitrum",
"pastUpgrades": [
{
"timestamp": 1761512772,
"transactionHash": "0x8a815abfce827844bdad997036a2a1c13e020de7df76322505aec14b18fde9bc",
"implementations": [
"arb1:0x1d720642e63cB0f50be637e16E0f78B2D1b93f16"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L3 a generic, \"wrapped\" token will be minted.",
"url": "https://arbiscan.io/address/0x107695630130919cb040B095b9b20511D6e211bB#code"
},
"chain": "arbitrum",
"includeInTotal": false,
"chainId": 42161
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v51.1",
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v51.1/arbos",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~35 GiB disk space.\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-v51.1` . Commit hash should be `e5dab3512419c50893813f4226c0621c3bfe2bdc`.\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 .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c"
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\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-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1790927856,
"baseTimestamp": 1791533705,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "1902ee54",
"date": "Mon, 12 Oct 2026 11:37:34 GMT",
"timestamp": 1791533705,
"description": "RollupProxy: ArbOS v51.1 → v61 wasm module root, set by an executor EOA through the UpgradeExecutor.\nArbFilteredTransactionsManager: transaction-filtering precompile live with ArbOS 61, no filterers set; the L3 chain owner (an EOA) is now tracked.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e) [orbitstack/RollupProxyBoLD] {\n +++ 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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v51.1 wasmModuleRoot\"\n+ \"ArbOS v61 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n+++ severity: HIGH\n values.wasmModuleRoot:\n- \"0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c\"\n+ \"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\"\n }\n```\n\n```diff\n contract ArbFilteredTransactionsManager (edge:0x0000000000000000000000000000000000000074) [orbitstack/ArbFilteredTransactionsManager] {\n +++ description: ArbOS transaction-filtering precompile (0x..74), available from ArbOS 60. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay. With no filterers set, no transaction hashes can be added or removed; hashes added earlier stay filtered.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"immutable\"\n values.transactionFilterers:\n- \"EXPECT_REVERT\"\n+ []\n values.$immutable:\n+ true\n sourceHashes:\n+ [\"0xc92ac7c82ac0ae6811eb5889bb19d300f3f59cc6c21e25d1be2dcc6c4a9db41a\"]\n implementationNames:\n+ {\"edge:0x0000000000000000000000000000000000000074\":\"\"}\n }\n```"
}
]
},
{
"id": "c578a282",
"date": "Fri, 02 Oct 2026 07:58:41 GMT",
"timestamp": 1790927856,
"description": "Upgrade to the BoLD dispute protocol (nitro-contracts v3.1.0), then RollupProxy logic upgraded to nitro-contracts v3.2.0. Both executed via the UpgradeExecutor by an EOA that was added as executor.\n\nRollupProxy replaced by a BoLD rollup (`isPostBoLD: true`). Validator whitelist stays enabled; validators 3 → 1: two GnosisSafeL2 removed as validators, one of them kept as `anyTrustFastConfirmer`. Stake token ETH → WETH. `minimumAssertionPeriod` 5 → 75. `validatorAfkBlocks` 45818 → 201600. `challengeGracePeriodBlocks` set to 14400.\n\nChallengeManager replaced by EdgeChallengeManager: 1 big-step level. No stake is required to propose an assertion or open a challenge (`baseStake` 0, all edge stakes 0): if the validator whitelist is dropped, delay and resource exhaustion attacks cost only gas.\n\nSafeL2 threshold lowered from 5 of 8 to 3 of 8.\n\nImplementation diffs:\n\n- RollupAdminLogic: https://disco.l2beat.com/diff/arb1:0xF9725312bd91CcfA3aD797e78A8A10b6d692FCd6/arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82\n- RollupUserLogic: https://disco.l2beat.com/diff/arb1:0xF916Bfe431B7A7AaE083273F5b862e00a15d60F4/arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C\n- ChallengeManager -> EdgeChallengeManager: https://disco.l2beat.com/diff/arb1:0x079840Cc8959Ef60d414E5AFC6ED0493b8eAf514/arb1:0x1Ef281CD6BD48affD9C44Cb590858FCfF92DE821\n- SequencerInbox: https://disco.l2beat.com/diff/arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2/arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B\n- Bridge: https://disco.l2beat.com/diff/arb1:0x466AA18cE75f1a3039D4C06A3c31786d0d0386c8/arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096\n- Inbox: https://disco.l2beat.com/diff/arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447/arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639\n- Outbox (source unchanged): https://disco.l2beat.com/diff/arb1:0x51882B52bcc3EF8008f9F7772B0229eA2551FDdc/arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A\n- RollupEventInbox (source unchanged): https://disco.l2beat.com/diff/arb1:0xd9E17C6012A50F8725aCDA0196Cecaa40657e8cB/arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3\n- OneStepProofEntry: https://disco.l2beat.com/diff/arb1:0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98/arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4\n- OneStepProver0: https://disco.l2beat.com/diff/arb1:0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585/arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612\n- OneStepProverMemory: https://disco.l2beat.com/diff/arb1:0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d/arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1\n- OneStepProverMath: https://disco.l2beat.com/diff/arb1:0xD3dE403eADdf791104918E9C9336B434AE7DDA01/arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb\n- OneStepProverHostIo: https://disco.l2beat.com/diff/arb1:0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389/arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F",
"isHighSeverity": true,
"changeCount": 92,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProverMemory (arb1:0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d) [orbitstack/OneStepProverMemory]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract RollupProxy (arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e) [orbitstack/RollupProxyBoLD] {\n +++ 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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"Arbitrum proxy\"\n name:\n+ \"RollupProxy\"\n template:\n+ \"orbitstack/RollupProxyBoLD\"\n sourceHashes:\n+ [\"0xc66527a2dd7fcfbb954018194b0db35218725aa1072451f6ec2470d103b4a0a2\",\"0xf63d847cedf2798da9b8a2094930914aaa88bd781d26aa55dc6e210f542672f5\"]\n description:\n+ \"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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\"\n critical:\n+ true\n deployerAddress:\n+ \"arb1:0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28\"\n sinceTimestamp:\n+ 1790677576\n sinceBlock:\n+ 510000614\n values:\n+ {\"$admin\":\"arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf\",\"$implementation\":[\"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82\",\"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C\"],\"$pastUpgrades\":[[\"2026-09-29T10:26:16.000Z\",\"0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f\",[\"arb1:0x8dA371823A4937e5F371B7b53876Ee34d5d5E520\",\"arb1:0x56411606380fD9eF28DB1AAc3897Bd4a24F26606\"]],[\"2026-09-29T10:56:54.000Z\",\"0xacd63af2a42c503c486934295705135553e882b42941c4a538c07e7710e8b7d8\",[\"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82\",\"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C\"]]],\"$upgradeCount\":2,\"anyTrustFastConfirmer\":\"arb1:0x42124A2E725E6458701b8Ef46B78Db55827fA836\",\"arbOsFromWmRoot\":\"ArbOS v51.1 wasmModuleRoot\",\"baseStake\":0,\"bridge\":\"arb1:0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0\",\"chainId\":3343,\"challengeGracePeriodBlocks\":14400,\"challengeManager\":\"arb1:0xedC476079a899382ff54790e943315bcBb3de7f7\",\"challenges\":[],\"confirmPeriodBlocks\":50400,\"genesisAssertionHash\":\"0x75c2df1d9a6f98d1de62c8fc955f91b87f16fefa2fafe4d6b52118fc30e1c278\",\"getValidators\":[\"arb1:0x3f90c4913621e6758eB8767EA934FCa59ae5Dee8\"],\"inbox\":\"arb1:0xeB88b89e085D6B747Dd6b9CEaf2716bdd89F1E7c\",\"isPostBoLD\":true,\"latestConfirmed\":\"0x7d27f008db3522eb67b290c4107844f86b2de35b20be4100248aea2beb5df094\",\"loserStakeEscrow\":\"arb1:0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28\",\"minimumAssertionPeriod\":75,\"outbox\":\"arb1:0x9f427c80C4DF962726808d4c876fc2c55474a764\",\"owner\":\"arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf\",\"paused\":false,\"rollupDeploymentBlock\":26082513,\"rollupEventInbox\":\"arb1:0xdA3102d2f80CaD9571a9Eb3656e808e973620dBD\",\"sequencerInbox\":\"arb1:0xe44B83D8a3A86994043C809E29B723a44FAEE479\",\"stakerCount\":1,\"stakeToken\":\"arb1:0x82aF49447D8a07e3bd95BD0d56f35241523fBab1\",\"totalWithdrawableFunds\":0,\"validatorAfkBlocks\":201600,\"validatorWalletCreator\":\"arb1:0xc8C95B8b35772Ce4bF9E602336082696C2dC0DB8\",\"validatorWhitelistDisabled\":false,\"wasmModuleRoot\":\"0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c\"}\n fieldMeta:\n+ {\"paused\":{\"severity\":\"MEDIUM\"},\"rollupEventInbox\":{\"severity\":\"HIGH\"},\"sequencerInbox\":{\"severity\":\"HIGH\"},\"outbox\":{\"severity\":\"HIGH\"},\"inbox\":{\"severity\":\"HIGH\"},\"bridge\":{\"severity\":\"HIGH\"},\"loserStakeEscrow\":{\"severity\":\"HIGH\"},\"stakeToken\":{\"severity\":\"HIGH\"},\"baseStake\":{\"severity\":\"HIGH\"},\"validatorAfkBlocks\":{\"severity\":\"HIGH\"},\"challengeGracePeriodBlocks\":{\"severity\":\"HIGH\"},\"$admin\":{\"severity\":\"HIGH\"},\"getValidators\":{\"severity\":\"LOW\"},\"anyTrustFastConfirmer\":{\"severity\":\"HIGH\"},\"minimumAssertionPeriod\":{\"severity\":\"HIGH\",\"description\":\"Minimum time delta between newly created nodes (stateUpdates). This is checked on `stakeOnNewNode()`. Format is number of ETHEREUM blocks, even for L3s. \"},\"confirmPeriodBlocks\":{\"description\":\"Challenge period. (Number of ETHEREUM blocks until a node is confirmed, even for L3s).\"},\"wasmModuleRoot\":{\"severity\":\"HIGH\",\"description\":\"Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\"},\"arbOsFromWmRoot\":{\"description\":\"ArbOS version derived from known wasmModuleRoots.\"},\"challenges\":{\"description\":\"Emitted on createChallenge() in RollupUserLogic.\"}}\n implementationNames:\n+ {\"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\":\"RollupProxy\",\"arb1:0xAb7A44CE7e66963d2116dCe74AB63eeF88266C82\":\"RollupAdminLogic\",\"arb1:0xedC23dFC7D1e57EC07eA5ff7419634DbAe08Ed2C\":\"RollupUserLogic\"}\n usedTypes:\n+ [{\"typeCaster\":\"Mapping\",\"arg\":{\"0xbb9d58e9527566138b682f3a207c0976d5359837f6e330f4017434cca983ff41\":\"ArbOS v1-rc1 wasmModuleRoot\",\"0x9d68e40c47e3b87a8a7e6368cc52915720a6484bb2f47ceabad7e573e3a11232\":\"ArbOS v2.1 wasmModuleRoot\",\"0x53c288a0ca7100c0f2db8ab19508763a51c7fd1be125d376d940a65378acaee7\":\"ArbOS v3 wasmModuleRoot\",\"0x588762be2f364be15d323df2aa60ffff60f2b14103b34823b6f7319acd1ae7a3\":\"ArbOS v3.1 wasmModuleRoot\",\"0xcfba6a883c50a1b4475ab909600fa88fc9cceed9e3ff6f43dccd2d27f6bd57cf\":\"ArbOS v3.2 wasmModuleRoot\",\"0xa24ccdb052d92c5847e8ea3ce722442358db4b00985a9ee737c4e601b6ed9876\":\"ArbOS v4 wasmModuleRoot\",\"0x1e09e6d9e35b93f33ed22b2bc8dc10bbcf63fdde5e8a1fb8cc1bcd1a52f14bd0\":\"ArbOS v5 wasmModuleRoot\",\"0x3848eff5e0356faf1fc9cafecb789584c5e7f4f8f817694d842ada96613d8bab\":\"ArbOS v6 wasmModuleRoot\",\"0x53dd4b9a3d807a8cbb4d58fbfc6a0857c3846d46956848cae0a1cc7eca2bb5a8\":\"ArbOS v7 wasmModuleRoot\",\"0x2b20e1490d1b06299b222f3239b0ae07e750d8f3b4dedd19f500a815c1548bbc\":\"ArbOS v7.1 wasmModuleRoot\",\"0xd1842bfbe047322b3f3b3635b5fe62eb611557784d17ac1d2b1ce9c170af6544\":\"ArbOS v9 wasmModuleRoot\",\"0x6b94a7fc388fd8ef3def759297828dc311761e88d8179c7ee8d3887dc554f3c3\":\"ArbOS v10 wasmModuleRoot\",\"0xda4e3ad5e7feacb817c21c8d0220da7650fe9051ece68a3f0b1c5d38bbb27b21\":\"ArbOS v10.1 wasmModuleRoot\",\"0x0754e09320c381566cc0449904c377a52bd34a6b9404432e80afd573b67f7b17\":\"ArbOS v10.2 wasmModuleRoot\",\"0xf559b6d4fa869472dabce70fe1c15221bdda837533dfd891916836975b434dec\":\"ArbOS v10.3 wasmModuleRoot\",\"0xf4389b835497a910d7ba3ebfb77aa93da985634f3c052de1290360635be40c4a\":\"ArbOS v11 wasmModuleRoot\",\"0x68e4fe5023f792d4ef584796c84d710303a5e12ea02d6e37e2b5e9c4332507c4\":\"ArbOS v11.1 wasmModuleRoot\",\"0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4\":\"ArbOS v20 wasmModuleRoot\",\"0xb0de9cb89e4d944ae6023a3b62276e54804c242fd8c4c2d8e6cc4450f5fa8b1b\":\"ArbOS v30 wasmModuleRoot\",\"0x260f5fa5c3176a856893642e149cf128b5a8de9f828afec8d11184415dd8dc69\":\"ArbOS v31 wasmModuleRoot\",\"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\":\"ArbOS v32 wasmModuleRoot\",\"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\":\"ArbOS v40 wasmModuleRoot\",\"0x8a7513bf7bb3e3db04b0d982d0e973bcf57bf8b88aef7c6d03dba3a81a56a499\":\"ArbOS v51 wasmModuleRoot\",\"0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c\":\"ArbOS v51.1 wasmModuleRoot\",\"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\":\"ArbOS v61 wasmModuleRoot\",\"0xe81f986823a85105c5fd91bb53b4493d38c0c26652d23f76a7405ac889908287\":\"Celestia Nitro 3.2.1 wasmModuleRoot\",\"0xaf1dbdfceb871c00bfbb1675983133df04f0ed04e89647812513c091e3a982b3\":\"Celestia Nitro 3.3.2 wasmModuleRoot\",\"0x597de35fc2ee60e5b2840157370d037542d6a4bc587af7f88202636c54e6bd8d\":\"Celestia Nitro ArbOS v40 wasmModuleRoot\"}}]\n category:\n+ {\"name\":\"Local Infrastructure\",\"priority\":5}\n }\n```\n\n```diff\n- Status: DELETED\n contract RollupProxy (arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF) [orbitstack/RollupProxy_fastConfirm]\n +++ 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```\n\n```diff\n- Status: DELETED\n contract OneStepProverHostIo (arb1:0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389) [orbitstack/OneStepProverHostIo]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n EOA (arb1:0x3f90c4913621e6758eB8767EA934FCa59ae5Dee8) {\n +++ description: None\n receivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\",\"role\":\".anyTrustFastConfirmer\",\"via\":[{\"address\":\"arb1:0x42124A2E725E6458701b8Ef46B78Db55827fA836\"}]}\n receivedPermissions.1:\n- {\"permission\":\"interact\",\"from\":\"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"role\":\".validators\",\"via\":[{\"address\":\"arb1:0x42124A2E725E6458701b8Ef46B78Db55827fA836\"}]}\n receivedPermissions.2.via.0.address:\n- \"arb1:0xDbB10Cdb2F0611C311E7D7057794a690E7872005\"\n+ \"arb1:0x42124A2E725E6458701b8Ef46B78Db55827fA836\"\n receivedPermissions.2.role:\n- \".validators\"\n+ \".anyTrustFastConfirmer\"\n receivedPermissions.2.description:\n- \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n+ \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n receivedPermissions.2.from:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n receivedPermissions.3.role:\n- \".validators\"\n+ \".getValidators\"\n receivedPermissions.3.from:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n }\n```\n\n```diff\n contract GnosisSafeL2 (arb1:0x42124A2E725E6458701b8Ef46B78Db55827fA836) [GnosisSafe] {\n +++ description: None\n directlyReceivedPermissions.0:\n- {\"permission\":\"interact\",\"from\":\"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\",\"role\":\".anyTrustFastConfirmer\"}\n directlyReceivedPermissions.1.role:\n- \".validators\"\n+ \".anyTrustFastConfirmer\"\n directlyReceivedPermissions.1.description:\n- \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n+ \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n directlyReceivedPermissions.1.from:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n }\n```\n\n```diff\n contract Bridge (arb1:0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0) [orbitstack/Bridge] {\n +++ 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 sourceHashes.1:\n- \"0x119b09babba836df00fa9ed5177d4471f6c8fe8c09d7d1cdf8a96bce9b5d6533\"\n+ \"0x29acc2652c0eb213e1a10f1c211600303d26e856116587d65e6fb4d40f0e6bae\"\n values.$implementation:\n- \"arb1:0x466AA18cE75f1a3039D4C06A3c31786d0d0386c8\"\n+ \"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096\"\n values.$pastUpgrades.1:\n+ [\"2026-09-29T10:26:16.000Z\",\"0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f\",[\"arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n implementationNames.arb1:0x466AA18cE75f1a3039D4C06A3c31786d0d0386c8:\n- \"Bridge\"\n implementationNames.arb1:0x81F6f682cA9bB29D759ce12d7067E1c6EF533096:\n+ \"Bridge\"\n }\n```\n\n```diff\n contract ProxyAdmin (arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6) [global/ProxyAdmin] {\n +++ description: None\n directlyReceivedPermissions.5:\n- {\"permission\":\"upgrade\",\"from\":\"arb1:0xACAec98D879E39d83a30F914A36bf4877424D04f\",\"role\":\"admin\"}\n directlyReceivedPermissions.8:\n+ {\"permission\":\"upgrade\",\"from\":\"arb1:0xedC476079a899382ff54790e943315bcBb3de7f7\",\"role\":\"admin\"}\n }\n```\n\n```diff\n contract SafeL2 (arb1:0x871e290d5447b958131F6d44f915F10032436ee6) [GnosisSafe] {\n +++ description: None\n values.$threshold:\n- 5\n+ 3\n values.multisigThreshold:\n- \"5 of 8 (63%)\"\n+ \"3 of 8 (38%)\"\n receivedPermissions.0:\n+ {\"permission\":\"interact\",\"from\":\"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\",\"description\":\"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.\",\"role\":\".owner\",\"via\":[{\"address\":\"arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf\"}]}\n receivedPermissions.0.role:\n- \".owner\"\n+ \"admin\"\n receivedPermissions.0.description:\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.\"\n receivedPermissions.0.from:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n receivedPermissions.0.permission:\n- \"interact\"\n+ \"upgrade\"\n receivedPermissions.2:\n- {\"permission\":\"upgrade\",\"from\":\"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\",\"role\":\"admin\",\"via\":[{\"address\":\"arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf\"}]}\n receivedPermissions.7:\n- {\"permission\":\"upgrade\",\"from\":\"arb1:0xACAec98D879E39d83a30F914A36bf4877424D04f\",\"role\":\"admin\",\"via\":[{\"address\":\"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6\"},{\"address\":\"arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf\"}]}\n receivedPermissions.10:\n+ {\"permission\":\"upgrade\",\"from\":\"arb1:0xedC476079a899382ff54790e943315bcBb3de7f7\",\"role\":\"admin\",\"via\":[{\"address\":\"arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6\"},{\"address\":\"arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf\"}]}\n }\n```\n\n```diff\n contract Outbox (arb1:0x9f427c80C4DF962726808d4c876fc2c55474a764) [orbitstack/Outbox] {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n values.$implementation:\n- \"arb1:0x51882B52bcc3EF8008f9F7772B0229eA2551FDdc\"\n+ \"arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A\"\n values.$pastUpgrades.1:\n+ [\"2026-09-29T10:26:16.000Z\",\"0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f\",[\"arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.rollup:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n implementationNames.arb1:0x51882B52bcc3EF8008f9F7772B0229eA2551FDdc:\n- \"Outbox\"\n implementationNames.arb1:0x4ca08847418DE7860a6da0De2e5536F1Cd78458A:\n+ \"Outbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ValidatorUtils (arb1:0xa0d6E6b1B950aCC748B45F3419FeAd4b52f7389A) [orbitstack/ValidatorUtils]\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (arb1:0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98) [orbitstack/OneStepProofEntry]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract UpgradeExecutor (arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf) [orbitstack/UpgradeExecutor] {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n values.accessControl.EXECUTOR_ROLE.members.1:\n+ \"arb1:0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28\"\n+++ severity: LOW\n values.executors.1:\n+ \"arb1:0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28\"\n directlyReceivedPermissions.1.from:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n directlyReceivedPermissions.2.from:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n }\n```\n\n```diff\n- Status: DELETED\n contract ChallengeManager (arb1:0xACAec98D879E39d83a30F914A36bf4877424D04f) [orbitstack/ChallengeManager]\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (arb1:0xD3dE403eADdf791104918E9C9336B434AE7DDA01) [orbitstack/OneStepProverMath]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract RollupEventInbox (arb1:0xdA3102d2f80CaD9571a9Eb3656e808e973620dBD) [orbitstack/RollupEventInbox] {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n values.$implementation:\n- \"arb1:0xd9E17C6012A50F8725aCDA0196Cecaa40657e8cB\"\n+ \"arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3\"\n values.$pastUpgrades.1:\n+ [\"2026-09-29T10:26:16.000Z\",\"0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f\",[\"arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ severity: HIGH\n values.rollup:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n implementationNames.arb1:0xd9E17C6012A50F8725aCDA0196Cecaa40657e8cB:\n- \"RollupEventInbox\"\n implementationNames.arb1:0xf4d69939895E5f1d1ddCa96E5f93A878c80368c3:\n+ \"RollupEventInbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract GnosisSafeL2 (arb1:0xDbB10Cdb2F0611C311E7D7057794a690E7872005) [GnosisSafe]\n +++ description: None\n```\n\n```diff\n contract SequencerInbox (arb1:0xe44B83D8a3A86994043C809E29B723a44FAEE479) [orbitstack/SequencerInbox] {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.1:\n- \"0x38fab1c44903c11839e1113e339b7268b07f99808721133182f57fdd891be63a\"\n+ \"0xd9d7945b3c909d8777cc1798e1b56051640a57595cc65064235a913104f4e9e9\"\n values.$implementation:\n- \"arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2\"\n+ \"arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B\"\n values.$pastUpgrades.2:\n+ [\"2026-09-29T10:26:16.000Z\",\"0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f\",[\"arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B\"]]\n values.$upgradeCount:\n- 2\n+ 3\n+++ severity: HIGH\n values.rollup:\n- \"arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF\"\n+ \"arb1:0x0D9cCeB5Cd108CC9B0b7Ac3aACe3d85c28243c9e\"\n values.feeTokenPricer:\n+ \"arb1:0x0000000000000000000000000000000000000000\"\n+++ severity: HIGH\n values.isDelayBufferable:\n+ true\n implementationNames.arb1:0x066a4D939302470Bd83F1868A1Ae2485Fe75ccF2:\n- \"SequencerInbox\"\n implementationNames.arb1:0xfEB2537afD8519d16d0CcEa741A70f97f3D4288B:\n+ \"SequencerInbox\"\n }\n```\n\n```diff\n contract Inbox (arb1:0xeB88b89e085D6B747Dd6b9CEaf2716bdd89F1E7c) [orbitstack/Inbox] {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.1:\n- \"0x079413b2ba56c63471a9435a6cbf3759e7d14eb942e6ce789b0b893ec3e6f947\"\n+ \"0xa8ec42edee4ac983b2d5fed2ee80ff160072927ebae439c96414a1b729fd6455\"\n values.$implementation:\n- \"arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447\"\n+ \"arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639\"\n values.$pastUpgrades.2:\n+ [\"2026-09-29T10:26:16.000Z\",\"0x01dcca0e3a70def4762a7859bdaaf4c44124ee208d64e742e0b1d7a79a535f6f\",[\"arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639\"]]\n values.$upgradeCount:\n- 2\n+ 3\n implementationNames.arb1:0x6C6cf18f13C3e9b969e3acE6b8F21DfF95d4D447:\n- \"Inbox\"\n implementationNames.arb1:0xDD262dfDf2FCe29696f54eC5bB82C6994Ec2F639:\n+ \"Inbox\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (arb1:0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585) [orbitstack/OneStepProver0]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (arb1:0x18Cc27B3a95a6FdEf9EAA391eff28F48F42fFe3F) [orbitstack/OneStepProverHostIo]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (arb1:0x583F8BA007580c83EFB4B02C66694096cD5c56d1) [orbitstack/OneStepProverMemory]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (arb1:0x61006c8566fac9a3315F646dA4624C00BbCF15E4) [orbitstack/OneStepProofEntry]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (arb1:0x78B101eC9736c4Ab06b0833f01Fd4c011f7CA612) [orbitstack/OneStepProver0]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (arb1:0xB08Ca18499389ABfDF7b14b09BD2Bd4d56D7fbbb) [orbitstack/OneStepProverMath]\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract EdgeChallengeManager (arb1:0xedC476079a899382ff54790e943315bcBb3de7f7) [orbitstack/EdgeChallengeManager]\n +++ description: Contract that implements the main challenge protocol logic of the fraud proof system.\n```"
}
]
},
{
"id": "6af52db8",
"date": "Thu, 11 Jun 2026 11:24:25 GMT",
"timestamp": 1781176973,
"description": "RollupProxy `wasmModuleRoot` updated to ArbOS v51.1.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF) [orbitstack/RollupProxy_fastConfirm] {\n +++ 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+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v40 wasmModuleRoot\"\n+ \"ArbOS v51.1 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n+ \"0xc2c02df561d4afaf9a1d6785f70098ec3874765c638e3cb6dbe8d3c83333e14c\"\n }\n```"
}
]
},
{
"id": "2ac90d63",
"date": "Tue, 02 Jun 2026 11:05:54 GMT",
"timestamp": 1780398259,
"description": "SequencerInbox DAC keyset grew 3 → 5 members; threshold unchanged at 2, so committee shifted 2-of-3 → 2-of-5.",
"isHighSeverity": false,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (arb1:0xe44B83D8a3A86994043C809E29B723a44FAEE479) [orbitstack/SequencerInbox] {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.dacKeyset.membersCount:\n- 3\n+ 5\n values.dacKeyset.blsSignatures.3:\n+ \"YA8PdhR9G6EFhblLWymAJ931fvjjb4tOk4a377DXogOfYChxbQETJT3GBYtAvIMmlRUujXEY4uCXjmv5toOcVoDkU4w1wYSvoK3r441hwJw7pG+R+aeGUINtROsxI9sqwhiafKADPPdxLy80mUTK5oIaPztF7RG2WhKMFNK7Ebjsrn4si90qAKRIt7sfneEO4wdeuC5erBen3tLJ7lE32uCi13sEJZYU7UKfr2cwoDQSZyvYePb2KX9U3bHhTpXBbwGKg2pIUGZ5g5GiOuV42wdbfqMjrsOZiLuMbgyYfVl3OOUpDUPGZyupZdGvkzk0rhGY/O/dF1Pv+BCcuX9qUCldfrFYiAvWqYcny+5xKXSQLSlU9cBdTePXy/dotyR7vA==\"\n values.dacKeyset.blsSignatures.4:\n+ \"YBP6/hdXzakIwPZ68/ORUMDJcuhMwQr/C9anzOd5pbWBokbORN1nrEGAOJMmRfLLtRdcABs+DNEopeD4JnwdzbB5e3pHjqqhJvFJzPQ+Rvvo3uPhbECR/Ptf0Umd35mD+AQPB0rLQbAngxs8tNUnS6IllQIW/FeEGm3LwjZ32m+D08Vh5rgqMKWOpGk/Op4sIhGP3Ishpq6yC/kd+GVSDj+vc30oOuNzVtsuAGMTTy8SmlNR47eVX9eMW9bEWIk65QCAaO4T5EqH5IWNKmWZI0Q0yGSHgvslmUZHApw2vIXn0rrzc5DwyUcgn3XZz2H5vhUXvV95qFARTQ9V7SDIXr134ixoaAmhEHqeav9vhlVZE13e9ghd5iNr6BZQn7SrpQ==\"\n values.keySetUpdates:\n- 1\n+ 2\n }\n```"
}
]
},
{
"id": "def46e04",
"date": "Tue, 19 May 2026 13:55:18 GMT",
"timestamp": 1779198854,
"description": "UpgradeExecutor: one of two `EXECUTOR_ROLE` members removed. `arb1:0x871e290d5447b958131F6d44f915F10032436ee6` remains as the sole executor.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract UpgradeExecutor (arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf) [orbitstack/UpgradeExecutor] {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"arb1:0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28\"\n values.executors.0:\n- \"arb1:0xc2507E8d43AE685fd1e98805bc96C6d31bBB5c28\"\n }\n```"
}
]
},
{
"id": "577153d5",
"date": "Thu, 12 Mar 2026 14:25:33 GMT",
"timestamp": 1773325467,
"description": "Initial discovery of Edge Chain, an Arbitrum Orbit L3 (AnyTrust) by EdgeX.",
"isHighSeverity": false,
"changeCount": 20,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract OneStepProverMemory (arb1:0x09fDA6447fA7758EA9245ac78Ca3c9ba68CBfd3d)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Gateway (arb1:0x107695630130919cb040B095b9b20511D6e211bB)\n +++ description: Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (arb1:0x14FdC47483e79d5A76599a74A2D622DA1cf97BBF)\n +++ 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```\n\n```diff\n+ Status: CREATED\n contract GatewayRouter (arb1:0x3616995dF5D07B28f2B186F1386cace9EB9Bbd20)\n +++ description: This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (arb1:0x3930AD9a21dA38E63d52B43b0c530CB0AACcB389)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafeL2 (arb1:0x42124A2E725E6458701b8Ef46B78Db55827fA836)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (arb1:0x6F4836aFD5e21EDcee9b838C5a4125829EC198d0)\n +++ 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```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (arb1:0x8420251362dA42f5Be2285B2DEa2f20D16332fE6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SafeL2 (arb1:0x871e290d5447b958131F6d44f915F10032436ee6)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (arb1:0x9f427c80C4DF962726808d4c876fc2c55474a764)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (arb1:0xa0d6E6b1B950aCC748B45F3419FeAd4b52f7389A)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (arb1:0xA6D1cE7210353E431CE79f41BcFA9Ea3Ae507b98)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (arb1:0xabf2650D259213d6b3E1bC46Fc1eDb7405d48Fdf)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (arb1:0xACAec98D879E39d83a30F914A36bf4877424D04f)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (arb1:0xD3dE403eADdf791104918E9C9336B434AE7DDA01)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (arb1:0xdA3102d2f80CaD9571a9Eb3656e808e973620dBD)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract GnosisSafeL2 (arb1:0xDbB10Cdb2F0611C311E7D7057794a690E7872005)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (arb1:0xe44B83D8a3A86994043C809E29B723a44FAEE479)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (arb1:0xeB88b89e085D6B747Dd6b9CEaf2716bdd89F1E7c)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (arb1:0xF5f5bc097ca8f4bE96D8CdE86c96Bd2d81fd2585)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```"
}
]
}
]
+1 -1
+1 -1
{
"addresses": {
"ethereum": [
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0x211E1c4c7f1bF5351Ac850Ed10FD68CFfCF6c21b",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x98a58ADAb0f8A66A1BF4544d804bc0475dff32c7"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0x9f80b449014B50DC2BB5b93598eb50030A0cA1aD"
]
},
{
"timestamp": 1659381395,
"transactionHash": "0xffde6d577ce304fd07cac66a0034e0bf92674612609ee8dd482d9a77fe29f51e",
"implementations": [
"eth:0x2e3367cc9bd83959EF103AdF6fFea6200D0A15f0"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x16242595cAfA3a207E9354E3bdb000B59bA82875"
]
},
{
"timestamp": 1663124880,
"transactionHash": "0xbfd8f54bf6b44ea4bcd76306d74b63602ee654e6a344bccca1825a388050988b",
"implementations": [
"eth:0xcc4e9E22AcDf93192cf7E149D7563F6d660E9Afc"
]
},
{
"timestamp": 1667926079,
"transactionHash": "0x0f4db1811c997e979b8f7be3cd8509b5ea0bb6a366a1848a0905f9c7f50c8612",
"implementations": [
"eth:0xD03bFe2CE83632F4E618a97299cc91B1335BB2d9"
]
},
{
"timestamp": 1710423719,
"transactionHash": "0x51b492ac498a88565639cfe3df77be8729d61f1c413d00b66530d4022a13c36a",
"implementations": [
"eth:0x31DA64D19Cd31A19CD09F4070366Fe2144792cf7"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x98a58ADAb0f8A66A1BF4544d804bc0475dff32c7"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil\n * **batchPosterManager**: BatchPosterManagerMultisig\n * **batchPosters**: EOA 5, EOA 6",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x211E1c4c7f1bF5351Ac850Ed10FD68CFfCF6c21b#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0xd4254a4d136203dAd7AE5Ee05D6BD65B8d13157d"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x1066CEcC8880948FE55e427E94F1FF221d626591"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
}
],
"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 L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd#code"
},
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0xE7E8cCC7c381809BDC4b213CE44016300707B7Bd",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd"
],
"implementations": [
"eth:0x7FC126FF51183a78C5E0437467f325f661D8Df17",
"eth:0x6490bA0a60Cc7d3a59C9eeE135D9eeD24553a60d"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x7FC126FF51183a78C5E0437467f325f661D8Df17",
"eth:0x6490bA0a60Cc7d3a59C9eeE135D9eeD24553a60d"
]
}
],
"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 assertions (state commitments) and Challengers submitting fraud proofs (In the Orbit stack, these two roles are both called Validators).\n* Roles:\n * **admin**: UpgradeExecutor; ultimately L1Timelock, SecurityCouncil\n * **getValidators**: EOA 1, EOA 2, EOA 3, EOA 4, Validator, ValidatorWallet\n * **owner**: UpgradeExecutor; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE7E8cCC7c381809BDC4b213CE44016300707B7Bd#code"
},
{
"name": "EdgeChallengeManager",
"isVerified": true,
"address": "eth:0xFE66b18Ef1B943F8594A2710376Af4B01AcfA688",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x058E1cBb62096189Bc7Cc1FE08A0859905d969Ea"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x058E1cBb62096189Bc7Cc1FE08A0859905d969Ea"
]
}
],
"description": "Contract that implements the main challenge protocol logic of the fraud proof system.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xFE66b18Ef1B943F8594A2710376Af4B01AcfA688#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x3ffFbAdAF827559da092217e474760E2b2c3CeDd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678"
],
"implementations": [
"eth:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1678968515,
"transactionHash": "0x9826d4f30361ad867030f94b0987567baf54040c39b661d8a825e945dc221eec",
"implementations": [
"eth:0x86f0cf42Ad673B3D666d103E009EC142D1298a17"
]
},
{
"timestamp": 1758644207,
"transactionHash": "0x81f4da8c5dd87d618e927936c941151689ef674ce2639cd4f0857fa4b75a2861",
"implementations": [
"eth:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin 2; ultimately L1Timelock, SecurityCouncil\n * **executors**: L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x3ffFbAdAF827559da092217e474760E2b2c3CeDd#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312805,
"transactionHash": "0x26c2f0175775f3474d63281e8f30e0217b49840f6646210011eedbcb974dc41f",
"implementations": [
"eth:0xf852de96aD5Ca30d54b40b9cE5c8C6DE56C0Ef4B"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin 3; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xc4448b71118c9071Bcb9734A0EAc55D18A153949",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0x320bB4633BB62027D4b1d7827dDc81CC73458639"
]
},
{
"timestamp": 1656455480,
"transactionHash": "0x061e8b23bf8776e3af8026e6d8858f24bca5b5f5ac3e7607be8630679e5c186b",
"implementations": [
"eth:0x0f9866dEb74C0Aa3448c27606ed69c7Ad651B554"
]
},
{
"timestamp": 1658842797,
"transactionHash": "0x470fdfe6bca3542698cf680412e97c28d47be43c4b53afd39bab1cf75bd72e85",
"implementations": [
"eth:0xB46e8571760Da0CFaEB9c9689C449Eb7dD7cB3e7"
]
},
{
"timestamp": 1663124880,
"transactionHash": "0xbfd8f54bf6b44ea4bcd76306d74b63602ee654e6a344bccca1825a388050988b",
"implementations": [
"eth:0x1b2676D32E2f7430a564DD4560641F990dFE3D6a"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x7C058ad1D0Ee415f7e7f30e62DB1BCf568470a10"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xc4448b71118c9071Bcb9734A0EAc55D18A153949#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xD4B80C3D7240325D18E645B49e6535A3Bf95cc58",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x3FFf9BdC3ce99d3D587b0d06Aa7C4a10075193b4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0x476C807954b1ef8cF1Cb642E093fcF323557D721"
]
},
{
"timestamp": 1656120700,
"transactionHash": "0x3f3b15e2fd68a9fb1067ebae60151118a5a44294c354d04cafe9352b92ad7816",
"implementations": [
"eth:0x7439d8d4F3b9d9B6222f3E9760c75a47e08a7b3f"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x3FFf9BdC3ce99d3D587b0d06Aa7C4a10075193b4"
]
}
],
"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 L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD4B80C3D7240325D18E645B49e6535A3Bf95cc58#code"
},
{
"name": "CustomGateway",
"isVerified": true,
"address": "eth:0x23122da8C581AA7E0d07A36Ff1f16F799650232f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312893,
"transactionHash": "0x14fd84ed3f09649a2b7a19d2b51a4e4340bf85244b2e14c4a779ad3e7d70c4c3",
"implementations": [
"eth:0x97367486f5905c2B7EE7b58330Fb4EB52639db17"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
}
],
"description": "Escrows deposited assets for the canonical bridge that are externally governed or need custom token contracts with e.g. minting rights or upgradeability.\n* Roles:\n * **admin**: ProxyAdmin 3; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x23122da8C581AA7E0d07A36Ff1f16F799650232f#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0xC840838Bc438d73C16c2f8b22D2Ce3669963cD48",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0x52595021fA01B3E14EC6C88953AFc8E35dFf423c"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312748,
"transactionHash": "0xc9c47a10713cf548d69b58b6b6d28b08460adbd5b9f63c3f98ef7327962fff60",
"implementations": [
"eth:0xa9610559f1E5BB0Eab9a25e21137D39426fd477E"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0x6D1c576Fe3e54313990450f5Fa322306B4cCB47B"
]
},
{
"timestamp": 1667926079,
"transactionHash": "0x0f4db1811c997e979b8f7be3cd8509b5ea0bb6a366a1848a0905f9c7f50c8612",
"implementations": [
"eth:0x52595021fA01B3E14EC6C88953AFc8E35dFf423c"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin 3; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xC840838Bc438d73C16c2f8b22D2Ce3669963cD48#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x304807A7ed6c1296df2128E6ff3836e477329CD2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0x32642eE509001D02615951090c7c56D6000e22C2"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x6D576E220Cb44C3E8eF75D0EfBeb1Ff041e2E4A5"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately L1Timelock, SecurityCouncil",
"upgradableBy": [
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
},
{
"name": "SecurityCouncil",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x304807A7ed6c1296df2128E6ff3836e477329CD2#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0x4397fE1E959Ba81B9D5f1A9679Ddd891955A42d6#code"
},
{
"name": "ProxyAdmin 2",
"isVerified": true,
"address": "eth:0x5613AF0474EB9c528A34701A5b1662E3C8FA0678",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5613AF0474EB9c528A34701A5b1662E3C8FA0678#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x71D78dC7cCC0e037e12de1E50f5470903ce37148#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0x8f6b82D007C0Ff4fd85fE84a5BFa89C00A4e6d2B",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 4",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x8f6b82D007C0Ff4fd85fE84a5BFa89C00A4e6d2B#code"
},
{
"name": "L1DaiGateway",
"isVerified": true,
"address": "eth:0x97f63339374fCe157Aa8Ee27830172d2AF76A786",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x97f63339374fCe157Aa8Ee27830172d2AF76A786#code"
},
{
"name": "L1Escrow",
"isVerified": true,
"address": "eth:0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Simple escrow that accepts tokens and allows to configure permissioned addresses that can access the tokens.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3#code"
},
{
"name": "ProxyAdmin 3",
"isVerified": true,
"address": "eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xAd3a14Fc16751d9E7FCa2A99aF85bf4d135e878d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 9",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xAd3a14Fc16751d9E7FCa2A99aF85bf4d135e878d#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb31407BCf91d54AbFC0B7ef61bFc71b8b71F0678",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 8",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb31407BCf91d54AbFC0B7ef61bFc71b8b71F0678#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xb85e18C8F552c823CdA4DCd9056213bDc970f9AE",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: EOA 7",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xb85e18C8F552c823CdA4DCd9056213bDc970f9AE#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xE4d0Ba69d082Fdf6f51b8fc8F92c19bF00B1a1B4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ValidatorOwnerMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xE4d0Ba69d082Fdf6f51b8fc8F92c19bF00B1a1B4#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xF32e5B5Ad94c0c0F83E0023b0AC48A93A8a2a428",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: ValidatorOwnerMultisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xF32e5B5Ad94c0c0F83E0023b0AC48A93A8a2a428#code"
}
],
"nova": [
{
"name": "L2UpgradeExecutor",
"isVerified": true,
"address": "arb-nova:0x86a02dD71363c440b21F4c0E5B2Ad01Ffe1A7482",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xf58eA15B20983116c21b05c876cc8e6CDAe5C2b9"
],
"implementations": [
"arb-nova:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1678968483,
"transactionHash": "0xdf073ab55f4ee86b52d0a511575cc76e5abb5e65e36c23a9fe4f685bb620d807",
"implementations": [
"arb-nova:0x3096EAEdcb3A3B665552660F4d921E565D0073cB"
]
},
{
"timestamp": 1758645124,
"transactionHash": "0x06d23bf7c4f6d2744a60b2767eeb155cc463c64cdb7c12eb4d474e7b9b62d847",
"implementations": [
"arb-nova:0x3d745b8815F9be5BF053858165f8aB1F58c77932"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency\n * **executors**: L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x86a02dD71363c440b21F4c0E5B2Ad01Ffe1A7482#code"
},
{
"name": "L2GatewayRouter",
"isVerified": true,
"address": "arb-nova:0x21903d3F8176b1a0c17E953Cd896610Be9fFDFa8",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C"
],
"implementations": [
"arb-nova:0x8f377770289863DF73Fe665B74460579F82321fb"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1656313073,
"transactionHash": "0xf3cdbd24cf85ce120e1846c278011da74771b6063423bf0cdccf8d9ab497dc88",
"implementations": [
"arb-nova:0x09854610F48462a7029fF192FA0AfB7F00133F54"
]
},
{
"timestamp": 1659981452,
"transactionHash": "0x9549dff9595eda9d452479b4ccc2092d2dd01a12f3c2db8165bec365d54128f1",
"implementations": [
"arb-nova:0x8f377770289863DF73Fe665B74460579F82321fb"
]
}
],
"description": "Router managing token <–> gateway mapping on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x21903d3F8176b1a0c17E953Cd896610Be9fFDFa8#code"
},
{
"name": "L2WethGateway",
"isVerified": true,
"address": "arb-nova:0x7626841cB6113412F9c88D3ADC720C9FAC88D9eD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C"
],
"implementations": [
"arb-nova:0xbe04Ab2728c924D678f9FC833E379688c6eFA317"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1656314863,
"transactionHash": "0x33df4b772bad38d87a6d0d5a9af01ff0c98ea3296c40e03d9aa02b381a17cc0a",
"implementations": [
"arb-nova:0x3525f734fcE1a26a6CEffFca43538290DC239771"
]
},
{
"timestamp": 1659981547,
"transactionHash": "0x20a549a861bb33f3fe522e14752416f2aebdb31747987b8bcc0ae81ecb36b3d5",
"implementations": [
"arb-nova:0x190C993Db842097df8b8d71c910f1802df0724C3"
]
},
{
"timestamp": 1675999199,
"transactionHash": "0x9ce025df640cca593a80fdad6d1f9e6f4ba8b226f9b296cc83c247f50407bea3",
"implementations": [
"arb-nova:0x190C993Db842097df8b8d71c910f1802df0724C3"
]
},
{
"timestamp": 1676052479,
"transactionHash": "0x66547238f43682dabc33c021b70f02ffdb62510399f42a174b43498c8065cff6",
"implementations": [
"arb-nova:0xbe04Ab2728c924D678f9FC833E379688c6eFA317"
]
}
],
"description": "Counterpart to the Bridge on L1. Mints and burns WETH on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x7626841cB6113412F9c88D3ADC720C9FAC88D9eD#code"
},
{
"name": "L2ERC20Gateway",
"isVerified": true,
"address": "arb-nova:0xcF9bAb7e53DDe48A6DC4f286CB14e05298799257",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C"
],
"implementations": [
"arb-nova:0x466155FD6d8BbF1c0d5ca32818814cB28b6884d8"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1656313079,
"transactionHash": "0x46c2f44cccae09860a903d1d11fa5ccff5694b7999f804ba089a1e020b8a95cc",
"implementations": [
"arb-nova:0xEa2562667c98Bfe329995616454BeA9ea3290D1C"
]
},
{
"timestamp": 1659981468,
"transactionHash": "0xe2ffd6f2c673a1b13f5f1614220aaeb30a62b15bab84197be67798ed00d68a1c",
"implementations": [
"arb-nova:0x466155FD6d8BbF1c0d5ca32818814cB28b6884d8"
]
}
],
"description": "Counterpart to the L1ERC20Gateway. Can mint (deposit to L2) and burn (withdraw to L1) ERC20 tokens on L2.\n* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xcF9bAb7e53DDe48A6DC4f286CB14e05298799257#code"
},
{
"name": "ArbFilteredTransactionsManager",
"isVerified": true,
"address": "arb-nova:0x0000000000000000000000000000000000000074",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"references": [
{
"title": "Source Code",
"url": "https://github.com/OffchainLabs/nitro/blob/v3.11.0/precompiles/ArbFilteredTransactionsManager.go"
}
],
"description": "ArbOS 61 transaction-filtering precompile (0x..74). An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay. Available from ArbOS 61 onwards. On chains where the feature is not enabled (e.g. Arbitrum One and Nova) it has no filterers and no filtered transactions, but is tracked so any future activation is caught immediately. Compare Robinhood, where this precompile is active.\n",
"description": "ArbOS transaction-filtering precompile (0x..74), available from ArbOS 60. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay. With no filterers set, no transaction hashes can be added or removed; hashes added earlier stay filtered.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x0000000000000000000000000000000000000074#code"
},
{
"name": "L2SurplusFee",
"isVerified": true,
"address": "arb-nova:0x509386DbF5C0BE6fd68Df97A05fdB375136c32De",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "This contract receives all SurplusFees: Transaction fee component that covers the cost beyond that covered by the L2 Base Fee during chain congestion. They are withdrawable to a configurable set of recipients.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x509386DbF5C0BE6fd68Df97A05fdB375136c32De#code"
},
{
"name": "StandardArbERC20",
"isVerified": true,
"address": "arb-nova:0x53923A0d1f4805463584c91b2E55d6c600A94E91",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x53923A0d1f4805463584c91b2E55d6c600A94E91#code"
},
{
"name": "L2BaseFee",
"isVerified": true,
"address": "arb-nova:0x9fCB6F75D99029f28F6F4a1d277bae49c5CAC79f",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "This contract receives all SurplusFees: Transaction fee component that covers the cost beyond that covered by the L2 Base Fee during chain congestion. They are withdrawable to a configurable set of recipients.\n",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0x9fCB6F75D99029f28F6F4a1d277bae49c5CAC79f#code"
},
{
"name": "L2GatewaysProxyAdmin",
"isVerified": true,
"address": "arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "* Roles:\n * **owner**: L2UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xada790b026097BfB36a5ed696859b97a96CEd92C#code"
},
{
"name": "L2ARBGateway",
"isVerified": true,
"address": "arb-nova:0xbf544970E6BD77b21C6492C281AB60d0770451F4",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xada790b026097BfB36a5ed696859b97a96CEd92C"
],
"implementations": [
"arb-nova:0x554e12DBAa0fBeB8A35583a6Fd9D04BaA4ff597f"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1656313084,
"transactionHash": "0xe0b217581754ec4ddf4385d876eedc76afcc5d70c4a394f1ea8515f3026cb43b",
"implementations": [
"arb-nova:0xb1d943d67b793D61F08b5F536AC591a057306fe5"
]
},
{
"timestamp": 1659981486,
"transactionHash": "0x4dcb9401328656bb4021741be0324b07a940682e28fd1b8ee45086c446f8ed13",
"implementations": [
"arb-nova:0x6e04b9dd87CF2cD3b7D81C50D2DF72d24BC0Cc4C"
]
},
{
"timestamp": 1670291691,
"transactionHash": "0x9403cf26146890250477d83eb73c08632c9af62a1e0f315a4b9b7c63425fc0e9",
"implementations": [
"arb-nova:0x554e12DBAa0fBeB8A35583a6Fd9D04BaA4ff597f"
]
}
],
"description": "* Roles:\n * **admin**: L2GatewaysProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xbf544970E6BD77b21C6492C281AB60d0770451F4#code"
},
{
"name": "UpgradeableBeacon",
"isVerified": true,
"address": "arb-nova:0xd31Ed16a8CeCe0A5070AC26024674eB680E3e639",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xd31Ed16a8CeCe0A5070AC26024674eB680E3e639#code"
},
{
"name": "BeaconProxyFactory",
"isVerified": true,
"address": "arb-nova:0xD9D66e55227c7558f0dB52adD059057Eb9bd90a3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xD9D66e55227c7558f0dB52adD059057Eb9bd90a3#code"
},
{
"name": "L2ProxyAdmin",
"isVerified": true,
"address": "arb-nova:0xf58eA15B20983116c21b05c876cc8e6CDAe5C2b9",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "nova",
"description": "* Roles:\n * **owner**: L2UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xf58eA15B20983116c21b05c876cc8e6CDAe5C2b9#code"
},
{
"name": "L2ArbitrumToken",
"isVerified": true,
"address": "arb-nova:0xf823C3cD3CeBE0a1fA952ba88Dc9EEf8e0Bf46AD",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"arb-nova:0xf58eA15B20983116c21b05c876cc8e6CDAe5C2b9"
],
"implementations": [
"arb-nova:0x099bC495EA4Fd828FEe7C636F0Ab84d0f501B96d"
]
},
"chain": "nova",
"pastUpgrades": [
{
"timestamp": 1678968495,
"transactionHash": "0xad05f83f9215726a10ae715f735d274f9f7bee5de714f924f450c55c111dfa40",
"implementations": [
"arb-nova:0x099bC495EA4Fd828FEe7C636F0Ab84d0f501B96d"
]
}
],
"description": "* Roles:\n * **admin**: L2ProxyAdmin; ultimately L1Timelock, L2SecurityCouncilEmergency",
"upgradableBy": [
{
"name": "L2SecurityCouncilEmergency",
"delay": "no"
},
{
"id": "L1Timelock",
"name": "L1Timelock",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://nova.arbiscan.io/address/0xf823C3cD3CeBE0a1fA952ba88Dc9EEf8e0Bf46AD#code"
}
]
},
"escrows": [
{
"address": "0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd",
"sinceTimestamp": 1656050353,
"tokens": [
"ETH"
],
"contract": {
"isVerified": true,
"address": "eth:0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x71D78dC7cCC0e037e12de1E50f5470903ce37148"
],
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656050353,
"transactionHash": "0x5c5a7f1fa570de81fb9c2bf590cda328424071dac3f51681fa9825dcd6c16d27",
"implementations": [
"eth:0xd4254a4d136203dAd7AE5Ee05D6BD65B8d13157d"
]
},
{
"timestamp": 1661913086,
"transactionHash": "0x07bbd6efdc155699ab2807c0d1509e98e06aa58ce25f208f09c03899f3a128cd",
"implementations": [
"eth:0x1066CEcC8880948FE55e427E94F1FF221d626591"
]
},
{
"timestamp": 1739368811,
"transactionHash": "0xe9788a104f8443b5900e54f8c887f0522d121487fc343a1ff90e1e6ed987967e",
"implementations": [
"eth:0x93e8f92327bFa8096F5F6ee5f2a49183D3B3b898"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows ETH sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xC1Ebd02f738644983b6C4B2d440b8e77DdE276Bd#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3",
"sinceTimestamp": 1659620187,
"tokens": [
"DAI"
],
"contract": {
"isVerified": true,
"address": "eth:0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "DAI Vault for custom DAI Gateway. Fully controlled by MakerDAO governance.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0xA2e996f0cb33575FA0E36e8f62fCd4a9b897aAd3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf",
"sinceTimestamp": 1656305583,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312805,
"transactionHash": "0x26c2f0175775f3474d63281e8f30e0217b49840f6646210011eedbcb974dc41f",
"implementations": [
"eth:0xf852de96aD5Ca30d54b40b9cE5c8C6DE56C0Ef4B"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xb4299A1F5f26fF6a98B7BA35572290C359fde900"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, “wrapped” token will be minted.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0xB2535b988dcE19f9D71dfB22dB6da744aCac21bf#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0x23122da8C581AA7E0d07A36Ff1f16F799650232f",
"sinceTimestamp": 1659620187,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0x23122da8C581AA7E0d07A36Ff1f16F799650232f",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xa8f7DdEd54a726eB873E98bFF2C95ABF2d03e560"
],
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1656312893,
"transactionHash": "0x14fd84ed3f09649a2b7a19d2b51a4e4340bf85244b2e14c4a779ad3e7d70c4c3",
"implementations": [
"eth:0x97367486f5905c2B7EE7b58330Fb4EB52639db17"
]
},
{
"timestamp": 1659978124,
"transactionHash": "0xf2ba2551709d23686f52c3a3ecc65ae8347f1bab1877265c57ba260e8222bf33",
"implementations": [
"eth:0xC8D26aB9e132C79140b3376a0Ac7932E4680Aa45"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens that require minting a custom token on the L2.",
"upgradableBy": [
{
"name": "SecurityCouncil",
"delay": "no"
},
{
"name": "L1Timelock",
"delay": "17d 8h"
}
],
"url": "https://etherscan.io/address/0x23122da8C581AA7E0d07A36Ff1f16F799650232f#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\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-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+55 -5
+13 -0
{
"apis": [
{
"type": "rpc",
"url": "https://rpc-rollup.sx.technology",
"callsPerMinute": 100
},
{
"type": "blockscout",
"url": "https://explorerl2.sx.technology/api"
}
],
"chainId": 4162,
"explorerUrl": "https://explorerl2.sx.technology",
"gasTokens": [
"SX"
],
"multicallContracts": [
{
"address": "0xcA11bde05977b3631167028862bE2a173976CA11",
"batchSize": 150,
"sinceBlock": 7208281,
"version": "3"
}
],
"name": "sxnetwork"
}
+27 -4
{
"addresses": {
"ethereum": [
{
"name": "RollupProxy",
"isVerified": true,
"address": "eth:0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F",
"upgradeability": {
"proxyType": "Arbitrum proxy",
"admins": [
"eth:0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a"
],
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A",
"eth:0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1"
]
},
{
"timestamp": 1730187143,
"transactionHash": "0xaf5a9eeab9e5f6edb2409f9b41142e49d97ce9ca9d8785e8dbff7cc2835699c0",
"implementations": [
"eth:0x9B56A789fEDD5df27dBaB53b085F7157397cA17D",
"eth:0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34"
]
}
],
"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 CalderaMultisig\n * **anyTrustFastConfirmer**: SxNetworkMultisig; ultimately EOA 1\n * **owner**: UpgradeExecutor; ultimately CalderaMultisig\n * **validators**: EOA 1, EOA 10, EOA 4, EOA 5, EOA 9, SxNetworkMultisig; ultimately EOA 1",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F#code"
},
{
"name": "ChallengeManager",
"isVerified": true,
"address": "eth:0x73cfa0F6ae141212115657ad91Ad918E5d34d882",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43"
]
},
{
"timestamp": 1730187143,
"transactionHash": "0xaf5a9eeab9e5f6edb2409f9b41142e49d97ce9ca9d8785e8dbff7cc2835699c0",
"implementations": [
"eth:0x02E05A9245C5853f895daDcc3A8216C953C8736B"
]
}
],
"description": "Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x73cfa0F6ae141212115657ad91Ad918E5d34d882#code"
},
{
"name": "Bridge",
"isVerified": true,
"address": "eth:0xa104C0426e95a5538e89131DbB4163d230C35f86",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
}
],
"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 CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xa104C0426e95a5538e89131DbB4163d230C35f86#code"
},
{
"name": "SequencerInbox",
"isVerified": true,
"address": "eth:0xD80a805c86C14c879420eC6acb366D04D318fC0C",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18"
]
}
],
"description": "A sequencer (registered in this contract) can submit transaction batches or commitments here.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig\n * **batchPosters**: EOA 2, EOA 3, EOA 6, EOA 7, EOA 8",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xD80a805c86C14c879420eC6acb366D04D318fC0C#code"
},
{
"name": "UpgradeExecutor",
"isVerified": true,
"address": "eth:0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x6c21303F5986180B1394d2C89f3e883890E2867b"
]
}
],
"description": "Central contract defining the access control permissions for upgrading the system contract implementations.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig\n * **executors**: CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a#code"
},
{
"name": "Outbox",
"isVerified": true,
"address": "eth:0xB360b2f57c645E847148d7C479b7468AbF6F707d",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x19431dc37098877486532250FB3158140717C00C"
]
}
],
"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 CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB360b2f57c645E847148d7C479b7468AbF6F707d#code"
},
{
"name": "ERC20Gateway",
"isVerified": true,
"address": "eth:0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720195403,
"transactionHash": "0x7cc92a5a8726d4bfe4dc046ebe6bea0d89310a0897998f847cd74e130674cf08",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91#code"
},
{
"name": "Inbox",
"isVerified": true,
"address": "eth:0xEa83E8907C89Bc0D9517632f0ba081972E328631",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2"
]
},
{
"timestamp": 1742835311,
"transactionHash": "0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8",
"implementations": [
"eth:0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4"
]
}
],
"description": "Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xEa83E8907C89Bc0D9517632f0ba081972E328631#code"
},
{
"name": "GatewayRouter",
"isVerified": true,
"address": "eth:0x5F00446D785421d65B50c192D7129e3C3906438A",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720195403,
"transactionHash": "0x7cc92a5a8726d4bfe4dc046ebe6bea0d89310a0897998f847cd74e130674cf08",
"implementations": [
"eth:0x5Ff3feD7aad041ACe66E4ecDd7AfbCC43b6446b0"
]
}
],
"description": "This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x5F00446D785421d65B50c192D7129e3C3906438A#code"
},
{
"name": "OneStepProverHostIo",
"isVerified": true,
"address": "eth:0x0003A96B27ce73505b43ea1b71a5aB06bec568C4",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0x0003A96B27ce73505b43ea1b71a5aB06bec568C4#code"
},
{
"name": "OneStepProverMemory",
"isVerified": true,
"address": "eth:0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB#code"
},
{
"name": "ValidatorUtils",
"isVerified": true,
"address": "eth:0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract implements view only utilities for validators.\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF#code"
},
{
"name": "OneStepProver0",
"isVerified": true,
"address": "eth:0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5#code"
},
{
"name": "OneStepProofEntry",
"isVerified": true,
"address": "eth:0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC#code"
},
{
"name": "RollupEventInbox",
"isVerified": true,
"address": "eth:0x9f1045201f8b9D0b12f6d1e40e8B8e6c047A81E3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x302275067251F5FcdB9359Bda735fD8f7A4A54c0"
]
}
],
"description": "Helper contract sending configuration data over the bridge during the systems initialization.\n* Roles:\n * **admin**: ProxyAdmin; ultimately CalderaMultisig",
"upgradableBy": [
{
"name": "CalderaMultisig",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0x9f1045201f8b9D0b12f6d1e40e8B8e6c047A81E3#code"
},
{
"name": "OneStepProverMath",
"isVerified": true,
"address": "eth:0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"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://etherscan.io/address/0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD#code"
},
{
"name": "ProxyAdmin",
"isVerified": true,
"address": "eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "* Roles:\n * **owner**: UpgradeExecutor",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/0xe8606A55d105EF857F187C32Ae0E9a168aF8F497#code"
}
],
"sxnetwork": [
{
"name": "ArbFilteredTransactionsManager",
"isVerified": true,
"address": "sxr:0x0000000000000000000000000000000000000074",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "sxnetwork",
"references": [
{
"title": "Source Code",
"url": "https://github.com/OffchainLabs/nitro/blob/v3.11.0/precompiles/ArbFilteredTransactionsManager.go"
}
],
"description": "ArbOS transaction-filtering precompile (0x..74), available from ArbOS 60. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay. With no filterers set, no transaction hashes can be added or removed; hashes added earlier stay filtered.\n",
"discoveryDrivenData": true,
"url": "https://explorerl2.sx.technology/address/0x0000000000000000000000000000000000000074#code"
}
]
},
"escrows": [
{
"address": "0xa104C0426e95a5538e89131DbB4163d230C35f86",
"sinceTimestamp": 1720173479,
"tokens": [
"SX"
],
"contract": {
"isVerified": true,
"address": "eth:0xa104C0426e95a5538e89131DbB4163d230C35f86",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720173479,
"transactionHash": "0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074",
"implementations": [
"eth:0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab"
]
},
{
"timestamp": 1742817071,
"transactionHash": "0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070",
"implementations": [
"eth:0xEfA1De858293593732a09c9dAA238BEC49595751"
]
}
],
"description": "Contract managing Inboxes and Outboxes. It escrows SX sent to L2.",
"upgradableBy": [
{
"name": "ProxyAdmin",
"delay": "no"
}
],
"url": "https://etherscan.io/address/0xa104C0426e95a5538e89131DbB4163d230C35f86#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
},
{
"address": "0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91",
"sinceTimestamp": 1720195403,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe8606A55d105EF857F187C32Ae0E9a168aF8F497"
],
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1720195403,
"transactionHash": "0x7cc92a5a8726d4bfe4dc046ebe6bea0d89310a0897998f847cd74e130674cf08",
"implementations": [
"eth:0xe80b4E0ed5e92d865F4708eeE0E1564287a7D848"
]
}
],
"description": "Main entry point for users depositing ERC20 tokens. Upon depositing, on L2 a generic, \"wrapped\" token will be minted.",
"url": "https://etherscan.io/address/0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"programHashes": [
{
"title": "ArbOS wasmModuleRoot v40",
"title": "ArbOS wasmModuleRoot v61",
"description": "A commitment to the exact WASM binary version used for Orbit stack optimistic dispute games.",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v61/arbos",
"verificationStatus": "successful",
"programUrl": "https://github.com/OffchainLabs/nitro/tree/consensus-v40/arbos",
"verificationSteps": "L2BEAT 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`.",
"hash": "0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a"
"verificationSteps": "Even though the program is compiled in docker for reproducibility reasons, it gives the correct results only on linux OS. Steps below were done on Ubuntu 22.04 OS. The steps below consume ~95 GiB disk space.\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-v61` . Commit hash should be `dfab1dea5c8d2c5089eb26d22ad6239bb78cfa5d`.\n3. Update git submodules `git submodule update --init --recursive --force`.\n4. Fix a dependency on a private repo in `Dockerfile`: replace line `RUN --mount=type=secret,id=gh_token,required=false ./download-machine.sh consensus-v60-rc.3 0xeadc910d36a0eab43a3dd7acb1a3513885e333785689c7cf750b9949c5bb7227 OffchainLabs/nitro-private` with `RUN ./download-machine.sh consensus-v60-rc.5 0x7a9e6a77354888257a9989ce0b6bb39df5fedf222d453932933fdf7a489cbb57`.\n4. Generate wasm module root in docker: `docker buildx build --target nitro-node-dev -t nitro-node-dev .`.\n5. Export the value from the docker: `docker run --rm --entrypoint cat nitro-node-dev /home/user/target/machines/latest/module-root.txt`.",
"hash": "0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97"
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
],
"zkVerifiers": []
}
+1 -1
{
"baseTimestamp": 1790892129,
"baseTimestamp": 1791533547,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+14 -0
[
{
"id": "da86a7d5",
"date": "Mon, 12 Oct 2026 12:12:04 GMT",
"timestamp": 1791533547,
"description": "RollupProxy: ArbOS v40 → v61 wasm module root, executed by the Caldera multisig.\nArbFilteredTransactionsManager: transaction-filtering precompile live with ArbOS 61, no filterers set.",
"isHighSeverity": true,
"changeCount": 8,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (eth:0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F) [orbitstack/RollupProxy_fastConfirm] {\n +++ 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+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v40 wasmModuleRoot\"\n+ \"ArbOS v61 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n+++ severity: HIGH\n values.wasmModuleRoot:\n- \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n+ \"0xc10cd7ec6acaf1c441a3f6bd0900ad20f15855ba775a96f1939118cbc629dc97\"\n }\n```\n\n```diff\n contract ArbFilteredTransactionsManager (sxr:0x0000000000000000000000000000000000000074) [orbitstack/ArbFilteredTransactionsManager] {\n +++ description: ArbOS transaction-filtering precompile (0x..74), available from ArbOS 60. An authorized filterer registers tx hashes here; the state transition function then forcibly fails those transactions, including force-included ones, without delay. With no filterers set, no transaction hashes can be added or removed; hashes added earlier stay filtered.\n type:\n- \"EOA\"\n+ \"Contract\"\n proxyType:\n- \"EOA\"\n+ \"immutable\"\n values.transactionFilterers:\n- \"EXPECT_REVERT\"\n+ []\n values.$immutable:\n+ true\n sourceHashes:\n+ [\"0xc92ac7c82ac0ae6811eb5889bb19d300f3f59cc6c21e25d1be2dcc6c4a9db41a\"]\n implementationNames:\n+ {\"sxr:0x0000000000000000000000000000000000000074\":\"\"}\n }\n```"
}
]
},
{
"id": "756ef11b",
"date": "Thu, 01 Oct 2026 22:03:42 GMT",
"timestamp": 1790892129,
"description": "SequencerInbox: since 2026-09-28 batches are posted as AnyTrust DAC certificates (`1 of 1` keyset) instead of calldata on Ethereum.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract SequencerInbox (eth:0xD80a805c86C14c879420eC6acb366D04D318fC0C) [orbitstack/SequencerInbox] {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.sequencerVersion:\n- \"0x00\"\n+ \"0x88\"\n }\n```"
}
]
},
{
"id": "d936d811",
"date": "Mon, 09 Mar 2026 12:34:13 GMT",
"timestamp": 1773059569,
"description": "RaaS provider changed from Gelato to Caldera. The executor Safe (0xa4C325e...) is renamed to CalderaMultisig to reflect this.\n\nSxNetworkMultisig member at index 0 rotated from `0x2627...` to `0xC711...`.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0xC711f8aCC65306D4f16F874Fe88C43eF23504F5c) {\n +++ description: None\n receivedPermissions.0:\n+ {\"permission\":\"fastconfirm\",\"from\":\"eth:0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F\",\"description\":\"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\",\"role\":\".anyTrustFastConfirmer\",\"via\":[{\"address\":\"eth:0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"}]}\n receivedPermissions.1:\n+ {\"permission\":\"validate\",\"from\":\"eth:0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"role\":\".validators\",\"via\":[{\"address\":\"eth:0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"}]}\n }\n```\n\n```diff\n contract SxNetworkMultisig (eth:0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa) {\n +++ description: None\n values.$members.0:\n- \"eth:0x262711cA4DA6409Da795D8af9E18DDaF47397f80\"\n+ \"eth:0xC711f8aCC65306D4f16F874Fe88C43eF23504F5c\"\n }\n```"
}
]
},
{
"id": "864793b3",
"date": "Mon, 02 Mar 2026 22:17:10 GMT",
"timestamp": 1772489760,
"description": "SXNetwork transitioned from an AnyTrust Optimium (DAC) to a Calldata Rollup. The sequencerVersion changed from 0x88 (Celestia/AnyTrust) to 0x00 (standard calldata), meaning transaction data is now posted directly to Ethereum L1. This changes the project's stage from \"Not applicable\" to \"Stage 0\" and removes the DAC dependency entirely.\n\nAdditionally, ownership transferred from Gelato Multisig (4 of 9, Safe v1.3.0) to a new Safe (3 of 5, Safe v1.4.1) with entirely new signers. Validator set updated: one validator removed, one added, stakerCount increased from 2 to 3. Batch poster rotation: one added, one removed.",
"isHighSeverity": false,
"changeCount": 18,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0x262711cA4DA6409Da795D8af9E18DDaF47397f80) {\n +++ description: None\n receivedPermissions.2:\n- {\"permission\":\"validate\",\"from\":\"eth:0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"role\":\".validators\"}\n }\n```\n\n```diff\n contract RollupProxy (eth:0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F) {\n +++ 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+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 4\n+ 6\n values.stakerCount:\n- 2\n+ 3\n values.validators.0:\n- \"eth:0x262711cA4DA6409Da795D8af9E18DDaF47397f80\"\n values.validators.2:\n+ \"eth:0xC711f8aCC65306D4f16F874Fe88C43eF23504F5c\"\n }\n```\n\n```diff\n contract UpgradeExecutor (eth:0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a) {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0xa4C325e25215C1fB2405EB28d81d2dFdbfC8D24C\"\n values.executors.0:\n- \"eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"eth:0xa4C325e25215C1fB2405EB28d81d2dFdbfC8D24C\"\n }\n```\n\n```diff\n- Status: DELETED\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259)\n +++ description: None\n```\n\n```diff\n- Status: DELETED\n contract Gelato Multisig (eth:0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n contract SequencerInbox (eth:0xD80a805c86C14c879420eC6acb366D04D318fC0C) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n values.batchPosters.1:\n+ \"eth:0x2EA9bb3d1022b8E63366aE3ea48Ada4E2Cd2ac46\"\n values.batchPosters.4:\n- \"eth:0xf244224843657bb59A6456754992Ea973655D918\"\n values.dacKeyset.membersCount:\n- 2\n+ 1\n values.dacKeyset.blsSignatures.0:\n- \"YAW3zWmUnWa5bjus3lTpb2Nbm7dXxRdf3b+t7oLeR35v4TdZyBBliKCDBGOUb/GX9QiBL1uX01ojtrLB2lOYCkUSMyeL5LTuOfIz3NSnc9WlXrNn5GYXvtHzEEpgXWrqMwj5BsraZQMqDNLmTiTVorTHUPJgCYmmkvf6FAHZj/PSAT6iXOGD0/pIgcCAWo2w5wjZaVQzArukpt8Xpj9USXrf8nKlqkVdo83BOfLFV/vkBhrMUI6EILTJRFjS9ZIrchcs1T2I4DiCiox9erUl2mxJy86TIGCdhXkwWb9AP1JBD7WeQZOSkbOSbCfDO0njvAGJgq/9d5D4Wbud6AVJvAAOH4Gqhz7yEWQIXehiVcVLKf2NfuppDpaS35Xwa0KtSg==\"\n values.dacKeyset.blsSignatures.1:\n- \"YAaK3sypeExYzlInkMHqVKLuzHqfLT5DQWHB2v9z1tJxBz0xePbTPrQqYeJzq0kxZBZmWIBh0BCHlMQaua0yntYyJ0XURJtvcIo7cYDn7EWEpK2fNq0u2lFy6LbiL7p1Lxn/5GppMGKaL5jaocl7rkLs4kKqBJnm0BgibjjhuqZkl3w72uwqXrZRk6KYWF3+0w4sFM5ohbG8AW43vIB4Fj4jnK+8FkcJ+e9lR7mjBnCptf7hSw2LcakQw8lHR1SpJQqzNsy1y5rW8LIDWRPMe7by7o89GUZlKiWUuCaDUjYRwiILu6ZxaGILcv1N1v0hgQLbL7Zm/5vIcHcHIfxnSqtpRDR3ktJX+bQ6O0BYuDCM7sZTDdAC2PcDN7wIxjICNA==\"\n+ \"YACRv5Sg0FxAlm6TmKBsvqG9ErZYeaDniYBR0S22raMmbTczq9FkH7yJsRHIxmhh/gO6gGJ7KF0u+Lf74t8k28237EyDnMQw80ZQn4d6zAL/7ho/uorq9DTj+vINz59BZQWo85EZml6f+aI3mz9FaTPy6nCIMNIsGOPppozq2ETpuNuHgNMBR4YfgSWRgxDqfRX7Q0C8VEdJQoXtYtg18a1RW7D799pLMugsHAUu9qOW53q9VVbNATxUKYHI2cbo4RCkF2j4oiYCfU7sujlb0j99nOzsLwNTuzBiL447GCYf397vX8ZXj5i6XRg69o0xmBdhxnBZsFztAYkxNm5u7Qa6p5Ik132rB7rH9rUR3elfeq2dqcVjxqoxgJzaeirMag==\"\n values.keySetUpdates:\n- 2\n+ 3\n values.sequencerVersion:\n- \"0x88\"\n+ \"0x00\"\n values.setIsBatchPosterCount:\n- 3\n+ 5\n }\n```\n\n```diff\n+ Status: CREATED\n contract Safe (eth:0xa4C325e25215C1fB2405EB28d81d2dFdbfC8D24C)\n +++ description: None\n```"
}
]
},
{
"id": "07957435",
"date": "Fri, 28 Nov 2025 13:09:39 GMT",
"timestamp": 1764335299,
"description": "EOA delegated to Calibur 7702 wallet.",
"isHighSeverity": true,
"changeCount": 4,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n EOA (eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259) {\n +++ description: None\n proxyType:\n- \"EOA\"\n+ \"EIP7702 EOA\"\n template:\n+ \"uniswap/calibur7702\"\n sourceHashes:\n+ [\"0xb3eb47d8d57eba02013e5d347d05147f7ac072ef2e5e4e1f9a5c6fbced93f8b0\"]\n values:\n+ {\"$implementation\":\"eth:0x000000009B1D0aF20D8C6d0A44e162d11F9b8f00\",\"CUSTOM_STORAGE_ROOT\":\"0x3b86514c5c56b21f08d8e56ab090292e07c2483b3e667a2a45849dcb71368600\",\"domainBytes\":\"0xc7e4f5b2d381bdfacf8506a24542052ab4e951573cab4ce34bb1c9509c84cbbf06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000b65540bba534e88eb4a5062d0e6519c07063b259000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"domainSeparator\":\"0xae1ae59b43b99665a7d7de7c1ca92017a6e8c484587869daf07b2bd3a6aa0301\",\"eip712Domain\":{\"fields\":\"0x1f\",\"name\":\"Calibur\",\"version\":\"1.0.0\",\"chainId\":1,\"verifyingContract\":\"eth:0xB65540bBA534E88EB4a5062D0E6519C07063b259\",\"salt\":\"0x000000000000000000000000000000009b1d0af20d8c6d0a44e162d11f9b8f00\",\"extensions\":[]},\"ENTRY_POINT\":\"eth:0x4337084D9E255Ff0702461CF8895CE9E3b5Ff108\",\"keyAt\":[],\"keyCount\":0,\"keyHashes\":0,\"namespaceAndVersion\":\"Uniswap.Calibur.1.0.0\"}\n }\n```"
}
]
},
{
"id": "f400ed73",
"date": "Mon, 25 Aug 2025 14:10:53 GMT",
"timestamp": 1756118197,
"description": "Upgrade to ArbOS v40 wasmModuleRoot.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F) {\n +++ 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+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v32 wasmModuleRoot\"\n+ \"ArbOS v40 wasmModuleRoot\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n+ \"0xdb698a2576298f25448bc092e52cf13b1e24141c997135d70f217d674bbeb69a\"\n }\n```"
}
]
},
{
"id": "d58edca5",
"date": "Tue, 15 Jul 2025 09:11:06 GMT",
"timestamp": 1752570666,
"description": "Gelato MS: one signer removed, one changed.",
"isHighSeverity": false,
"changeCount": 3,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.2:\n- \"eth:0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"eth:0x58edE8C66A15f23c61b8EadD1191FdaD904f7a87\"\n values.$members.8:\n- \"eth:0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.multisigThreshold:\n- \"4 of 10 (40%)\"\n+ \"4 of 9 (44%)\"\n }\n```"
}
]
},
{
"id": "df606dd3",
"date": "Mon, 14 Jul 2025 12:46:33 GMT",
"timestamp": 1752497193,
"description": "Discovery rerun on the same block number with only config-related changes.",
"isHighSeverity": false,
"changeCount": 19,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x0003A96B27ce73505b43ea1b71a5aB06bec568C4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF)\n +++ description: This contract implements view only utilities for validators.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F)\n +++ 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```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a)\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n```\n\n```diff\n+ Status: CREATED\n contract GatewayRouter (0x5F00446D785421d65B50c192D7129e3C3906438A)\n +++ description: This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x73cfa0F6ae141212115657ad91Ad918E5d34d882)\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract RollupEventInbox (0x9f1045201f8b9D0b12f6d1e40e8B8e6c047A81E3)\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0xa104C0426e95a5538e89131DbB4163d230C35f86)\n +++ 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```\n\n```diff\n+ Status: CREATED\n contract Outbox (0xB360b2f57c645E847148d7C479b7468AbF6F707d)\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Gateway (0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91)\n +++ description: Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n```\n\n```diff\n+ Status: CREATED\n contract Gelato Multisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0xD80a805c86C14c879420eC6acb366D04D318fC0C)\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n```\n\n```diff\n+ Status: CREATED\n contract SxNetworkMultisig (0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xe8606A55d105EF857F187C32Ae0E9a168aF8F497)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0xEa83E8907C89Bc0D9517632f0ba081972E328631)\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n```"
}
]
},
{
"id": "fb778586",
"date": "Tue, 25 Mar 2025 08:41:33 GMT",
"timestamp": 1742892093,
"description": "Minor upgrade of Bridge, Inbox and SequencerInbox:\n- logic for tokens with custom decimals\n- 7702 adjustments\n- SequencerInbox upgraded to known implementation",
"isHighSeverity": true,
"changeCount": 24,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract Bridge (0xa104C0426e95a5538e89131DbB4163d230C35f86) {\n +++ 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 sourceHashes.1:\n- \"0x057de68a7007d55f4394ba6eafb2c802efcaf13583ff9342ea4d0ee3924d9be1\"\n+ \"0xa7e3f6c355703ed46fcb2156862c4f01792b87beb10a87a81ce3bd5beee79b67\"\n sourceHashes.0:\n- \"0xa7e3f6c355703ed46fcb2156862c4f01792b87beb10a87a81ce3bd5beee79b67\"\n+ \"0x32c73666d391a33c17183e4ab20bcb0f2b925d8a99da436d2ff99c13f403e289\"\n values.$implementation:\n- \"0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab\"\n+ \"0xEfA1De858293593732a09c9dAA238BEC49595751\"\n values.$pastUpgrades.1:\n+ [\"2024-07-05T09:57:59.000Z\",\"0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074\",[\"0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab\"]]\n values.$pastUpgrades.0.2:\n- [\"0x7EfcB76D0e2E776A298aAa603d433336e5F8b6ab\"]\n+ \"0x5837fef008eaaa8871086f7e53f38a95b768926562e2e82cae17ddc7ab61b070\"\n values.$pastUpgrades.0.1:\n- \"0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074\"\n+ \"2025-03-24T11:51:11.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-07-05T09:57:59.000Z\"\n+ [\"0xEfA1De858293593732a09c9dAA238BEC49595751\"]\n values.$upgradeCount:\n- 1\n+ 2\n values.nativeTokenDecimals:\n+ 18\n }\n```\n\n```diff\n contract SequencerInbox (0xD80a805c86C14c879420eC6acb366D04D318fC0C) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n sourceHashes.0:\n- \"0x50cf57b01499408fa99da27cf0fee96ec30f0d40667d1aa090c442bc80f0636b\"\n+ \"0x6bb86ac4bd0d31e049f543fcf0a8f94c952252222f115246ef9d5b8104d803cc\"\n values.$implementation:\n- \"0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A\"\n+ \"0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18\"\n values.$pastUpgrades.1:\n+ [\"2024-07-05T09:57:59.000Z\",\"0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074\",[\"0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A\"]]\n values.$pastUpgrades.0.2:\n- \"0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074\"\n+ [\"0xaEd84B70Be8117112a5aa0d93a7fBff463A03b18\"]\n values.$pastUpgrades.0.1:\n- [\"0x383f16fB2809a56fC639c1eE2c93Ad2aa7Ee130A\"]\n+ \"2025-03-24T16:55:11.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-07-05T09:57:59.000Z\"\n+ \"0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8\"\n values.$upgradeCount:\n- 1\n+ 2\n values.reader4844:\n- \"0x7Deda2425eC2d4EA0DF689A78de2fBF002075576\"\n+ \"0x6c5c9E6c080a6C25f49DfFE85cfA71aaEAAfdE74\"\n }\n```\n\n```diff\n contract Inbox (0xEa83E8907C89Bc0D9517632f0ba081972E328631) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n sourceHashes.0:\n- \"0xcb390b491549387c8fcc09fb22fbea7adf54cc74b7247a0c738369ddd7049b92\"\n+ \"0x25984fdfffb8141859c99299fb29e7a7460732d77111e5fe23792baa99f336a3\"\n values.$implementation:\n- \"0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2\"\n+ \"0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4\"\n values.$pastUpgrades.1:\n+ [\"2024-07-05T09:57:59.000Z\",\"0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074\",[\"0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2\"]]\n values.$pastUpgrades.0.2:\n- \"0xe93b7e232ca2ff32a44ecb683683d9553409ab46eb90efa21a7bcfc111835074\"\n+ [\"0x6C051397fee2d79ccf92d1f3c5c6547fEBD838F4\"]\n values.$pastUpgrades.0.1:\n- [\"0x31fAAAB44e74eB408d1FC69A14806B4b9cA09da2\"]\n+ \"2025-03-24T16:55:11.000Z\"\n values.$pastUpgrades.0.0:\n- \"2024-07-05T09:57:59.000Z\"\n+ \"0x2ecdabc185a5e5350c23c45cfbf746bd874b272e363729adcf975533d38790b8\"\n values.$upgradeCount:\n- 1\n+ 2\n }\n```"
}
]
},
{
"id": "34f37bf3",
"date": "Mon, 17 Mar 2025 09:43:10 GMT",
"timestamp": 1742204590,
"description": "Add erc20 gateway escrow.",
"isHighSeverity": false,
"changeCount": 2,
"sections": [
{
"kind": "config-related-changes",
"body": "```diff\n+ Status: CREATED\n contract GatewayRouter (0x5F00446D785421d65B50c192D7129e3C3906438A)\n +++ description: This routing contract maps tokens to the correct escrow (gateway) to be then bridged with canonical messaging.\n```\n\n```diff\n+ Status: CREATED\n contract ERC20Gateway (0xB4968C66BECc8fb4f73b50354301c1aDb2Abaa91)\n +++ description: Escrows deposited ERC-20 assets for the canonical Bridge. Upon depositing, a generic token representation will be minted at the destination. Withdrawals are initiated by the Outbox contract.\n```"
}
]
},
{
"id": "002353b0",
"date": "Mon, 24 Feb 2025 15:39:17 GMT",
"timestamp": 1740411557,
"description": "Config: added a single caldera multisig name.",
"isHighSeverity": false,
"changeCount": 1,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F) {\n +++ 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 values.stakerCount:\n- 1\n+ 2\n }\n```"
}
]
},
{
"id": "86c404b3",
"date": "Fri, 21 Feb 2025 13:50:12 GMT",
"timestamp": 1740145812,
"description": "Add operator addresses.\nConfig related: Set orbit stack contract categories.",
"isHighSeverity": false,
"changeCount": 31,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F) {\n +++ 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 issuedPermissions.8:\n+ {\"permission\":\"validate\",\"to\":\"0xe778F5Bf5dDB8614a1ab6321Cc557EDbC90e615f\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.7:\n+ {\"permission\":\"validate\",\"to\":\"0xD19ee3f6Bf22A3A23eCd25B5ED0C655a2a56F65E\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.6:\n+ {\"permission\":\"validate\",\"to\":\"0x75feC8Bb2d99076D776A5D46D1E3d42686520eF1\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.5:\n+ {\"permission\":\"validate\",\"to\":\"0x3648e2c562F00DeEA11B0b335Cf55C5EB2Df3A5F\",\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\",\"via\":[]}\n issuedPermissions.4.to:\n- \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n+ \"0x262711cA4DA6409Da795D8af9E18DDaF47397f80\"\n issuedPermissions.3.to:\n- \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n+ \"0x262711cA4DA6409Da795D8af9E18DDaF47397f80\"\n issuedPermissions.0.to:\n- \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n+ \"0x262711cA4DA6409Da795D8af9E18DDaF47397f80\"\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 2\n+ 4\n values.validators.5:\n+ \"0xe778F5Bf5dDB8614a1ab6321Cc557EDbC90e615f\"\n values.validators.4:\n+ \"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"\n values.validators.3:\n+ \"0xD19ee3f6Bf22A3A23eCd25B5ED0C655a2a56F65E\"\n values.validators.2:\n+ \"0x75feC8Bb2d99076D776A5D46D1E3d42686520eF1\"\n values.validators.1:\n- \"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"\n+ \"0x3648e2c562F00DeEA11B0b335Cf55C5EB2Df3A5F\"\n values.validators.0:\n- \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n+ \"0x262711cA4DA6409Da795D8af9E18DDaF47397f80\"\n }\n```\n\n```diff\n contract SequencerInbox (0xD80a805c86C14c879420eC6acb366D04D318fC0C) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n issuedPermissions.5:\n+ {\"permission\":\"upgrade\",\"to\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\"},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\"}]}\n issuedPermissions.4:\n+ {\"permission\":\"sequence\",\"to\":\"0xf244224843657bb59A6456754992Ea973655D918\",\"description\":\"Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.\",\"via\":[]}\n issuedPermissions.3:\n+ {\"permission\":\"sequence\",\"to\":\"0xCD795E6003Da105f4a1E11F73fb64b58B5C0f325\",\"description\":\"Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.\",\"via\":[]}\n issuedPermissions.2:\n+ {\"permission\":\"sequence\",\"to\":\"0xC410B8657FBB2CdbF0c5c5d5128576974467ba5e\",\"description\":\"Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.\",\"via\":[]}\n issuedPermissions.1.permission:\n- \"upgrade\"\n+ \"sequence\"\n issuedPermissions.1.to:\n- \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"0x7D9A25f61865D5A211a8be80a4Ef6bd201112717\"\n issuedPermissions.1.via.1:\n- {\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\"}\n issuedPermissions.1.via.0:\n- {\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\"}\n issuedPermissions.1.description:\n+ \"Can submit transaction batches or commitments to the SequencerInbox contract on the host chain.\"\n issuedPermissions.0.to:\n- \"0x90906eA9eb38B6afC104bB761F493b2a78c85024\"\n+ \"0x0181F0f0260Ac4149CA7Abf6c53d3E8053f95715\"\n values.batchPosters.4:\n+ \"0xf244224843657bb59A6456754992Ea973655D918\"\n values.batchPosters.3:\n+ \"0xCD795E6003Da105f4a1E11F73fb64b58B5C0f325\"\n values.batchPosters.2:\n+ \"0xC410B8657FBB2CdbF0c5c5d5128576974467ba5e\"\n values.batchPosters.1:\n+ \"0x7D9A25f61865D5A211a8be80a4Ef6bd201112717\"\n values.batchPosters.0:\n- \"0x90906eA9eb38B6afC104bB761F493b2a78c85024\"\n+ \"0x0181F0f0260Ac4149CA7Abf6c53d3E8053f95715\"\n values.setIsBatchPosterCount:\n- 1\n+ 3\n }\n```\n\n```diff\n contract SxNetworkMultisig (0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa) {\n +++ description: None\n values.$members.0:\n- \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n+ \"0x262711cA4DA6409Da795D8af9E18DDaF47397f80\"\n }\n```"
}
]
},
{
"id": "3460c387",
"date": "Wed, 15 Jan 2025 07:31:38 GMT",
"timestamp": 1736926298,
"description": "Two signers added to Gelato MS, now 4/10.",
"isHighSeverity": false,
"changeCount": 11,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb) {\n +++ description: None\n values.$members.9:\n+ \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n values.$members.8:\n+ \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n values.$members.7:\n- \"0x547D0F472309e4239b296D01e03bEDc101241a26\"\n+ \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n values.$members.6:\n- \"0xf83bC4688979b13Da02CB94c76cEB169540760b5\"\n+ \"0x88De44422E1b1c30bc530c35aEdb9f5aD0e6fD52\"\n values.$members.5:\n- \"0x01a0A7BaAAca31AFB5b770FeFD69CE4917D9c32e\"\n+ \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n values.$members.4:\n- \"0xBc0ca6865d6883a83D4aDDD6b862aE042d855E0d\"\n+ \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n values.$members.3:\n- \"0x5bE3E96Cdc3A97628bD7308d3588B9a474F4A54d\"\n+ \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n values.$members.2:\n- \"0x691C2EF68e25E620fa6cAdE2728f6aE34F37aAD2\"\n+ \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n values.$members.1:\n- \"0x28bB9385A588EF4747264D19B9A9F1603591680c\"\n+ \"0xB65540bBA534E88EB4a5062D0E6519C07063b259\"\n values.$members.0:\n- \"0xB0C2CBFfCd4C31AFFEe14993b6d48f99D285f621\"\n+ \"0x349f3839012DB2271e1BeC68F1668471D175Adb9\"\n values.multisigThreshold:\n- \"4 of 8 (50%)\"\n+ \"4 of 10 (40%)\"\n }\n```"
}
]
},
{
"id": "b2a4388e",
"date": "Mon, 09 Dec 2024 14:39:43 GMT",
"timestamp": 1733755183,
"description": "Replace Upgrader EOA with Gelato Multisig.",
"isHighSeverity": false,
"changeCount": 36,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F) {\n +++ 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 issuedPermissions.6:\n- {\"permission\":\"validate\",\"target\":\"0x9C56265ef2989138d264b30fBbA2043902daBdf8\",\"via\":[{\"address\":\"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\",\"delay\":0,\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"}]}\n issuedPermissions.5:\n- {\"permission\":\"validate\",\"target\":\"0x9C56265ef2989138d264b30fBbA2043902daBdf8\",\"via\":[]}\n issuedPermissions.4.permission:\n- \"upgrade\"\n+ \"validate\"\n issuedPermissions.4.target:\n- \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n issuedPermissions.4.via.0.address:\n- \"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\"\n+ \"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"\n issuedPermissions.4.via.0.description:\n+ \"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"\n issuedPermissions.3.permission:\n- \"upgrade\"\n+ \"validate\"\n issuedPermissions.3.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n issuedPermissions.3.via.0:\n- {\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0}\n issuedPermissions.2.permission:\n- \"fastconfirm\"\n+ \"upgrade\"\n issuedPermissions.2.target:\n- \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n issuedPermissions.2.via.0.address:\n- \"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"\n+ \"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\"\n issuedPermissions.2.via.0.description:\n- \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n issuedPermissions.1.permission:\n- \"configure\"\n+ \"fastconfirm\"\n issuedPermissions.1.target:\n- \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n+ \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n issuedPermissions.1.via.0.address:\n- \"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\"\n+ \"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"\n issuedPermissions.1.via.0.description:\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.\"\n+ \"Can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n issuedPermissions.0.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract UpgradeExecutor (0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a) {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n issuedPermissions.0.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.accessControl.EXECUTOR_ROLE.members.1:\n- \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.accessControl.EXECUTOR_ROLE.members.0:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.executors.1:\n- \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.executors.0:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract ChallengeManager (0x73cfa0F6ae141212115657ad91Ad918E5d34d882) {\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n issuedPermissions.0.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract ERC20RollupEventInbox (0x9f1045201f8b9D0b12f6d1e40e8B8e6c047A81E3) {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n issuedPermissions.0.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract ERC20Bridge (0xa104C0426e95a5538e89131DbB4163d230C35f86) {\n +++ 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 issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n issuedPermissions.0.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract ERC20Outbox (0xB360b2f57c645E847148d7C479b7468AbF6F707d) {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n issuedPermissions.0.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract SequencerInbox (0xD80a805c86C14c879420eC6acb366D04D318fC0C) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n issuedPermissions.2:\n- {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n issuedPermissions.1.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract ERC20Inbox (0xEa83E8907C89Bc0D9517632f0ba081972E328631) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n issuedPermissions.1:\n- {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n issuedPermissions.0.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```"
}
]
},
{
"id": "d96cdfa8",
"date": "Thu, 28 Nov 2024 11:13:45 GMT",
"timestamp": 1732792425,
"description": "Gelato MS added as second executor.",
"isHighSeverity": false,
"changeCount": 15,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n contract RollupProxy (0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F) {\n +++ 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 issuedPermissions.4:\n+ {\"permission\":\"validate\",\"target\":\"0x9C56265ef2989138d264b30fBbA2043902daBdf8\",\"via\":[{\"address\":\"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\",\"delay\":0,\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"}]}\n issuedPermissions.3.via.0:\n- {\"address\":\"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\",\"delay\":0,\"description\":\"Can propose new state roots (called nodes) and challenge state roots on the host chain.\"}\n issuedPermissions.2.permission:\n- \"validate\"\n+ \"upgrade\"\n issuedPermissions.2.target:\n- \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n issuedPermissions.2.via.0:\n+ {\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0}\n }\n```\n\n```diff\n contract UpgradeExecutor (0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a) {\n +++ description: Central contract defining the access control permissions for upgrading the system contract implementations.\n issuedPermissions.1:\n+ {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n values.accessControl.EXECUTOR_ROLE.members.1:\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n values.executors.1:\n+ \"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\"\n }\n```\n\n```diff\n contract ChallengeManager (0x73cfa0F6ae141212115657ad91Ad918E5d34d882) {\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n issuedPermissions.1:\n+ {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n }\n```\n\n```diff\n contract ERC20RollupEventInbox (0x9f1045201f8b9D0b12f6d1e40e8B8e6c047A81E3) {\n +++ description: Helper contract sending configuration data over the bridge during the systems initialization.\n issuedPermissions.1:\n+ {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n }\n```\n\n```diff\n contract ERC20Bridge (0xa104C0426e95a5538e89131DbB4163d230C35f86) {\n +++ 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 issuedPermissions.1:\n+ {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n }\n```\n\n```diff\n contract ERC20Outbox (0xB360b2f57c645E847148d7C479b7468AbF6F707d) {\n +++ description: Facilitates L2 to L1 contract calls: Messages initiated from L2 (for example withdrawal messages) eventually resolve in execution on L1.\n issuedPermissions.1:\n+ {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n }\n```\n\n```diff\n contract SequencerInbox (0xD80a805c86C14c879420eC6acb366D04D318fC0C) {\n +++ description: A sequencer (registered in this contract) can submit transaction batches or commitments here.\n issuedPermissions.2:\n+ {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n }\n```\n\n```diff\n contract ERC20Inbox (0xEa83E8907C89Bc0D9517632f0ba081972E328631) {\n +++ description: Facilitates sending L1 to L2 messages like depositing ETH, but does not escrow funds.\n issuedPermissions.1:\n+ {\"permission\":\"upgrade\",\"target\":\"0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0},{\"address\":\"0xe8606A55d105EF857F187C32Ae0E9a168aF8F497\",\"delay\":0}]}\n }\n```\n\n```diff\n+ Status: CREATED\n contract GelatoMultisig (0xBeA2Bc852a160B8547273660E22F4F08C2fa9Bbb)\n +++ description: None\n```"
}
]
},
{
"id": "238bc4f7",
"date": "Tue, 29 Oct 2024 12:50:21 GMT",
"timestamp": 1730206221,
"description": "Upgrade to ArbOS 32, introduce fastWithdrawer (1/1 MS with 15min minimum delta between state roots).\n\nThis project now uses discoveryDriven data.",
"isHighSeverity": true,
"changeCount": 38,
"sections": [
{
"kind": "watched-changes",
"body": "```diff\n- Status: DELETED\n contract OneStepProverHostIo (0x17e7F68ce50A77e55C7834ddF31AEf86403B8010)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract RollupProxy (0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F) {\n +++ 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 template:\n- \"orbitstack/RollupProxy\"\n+ \"orbitstack/RollupProxy_fastConfirm\"\n sourceHashes.2:\n- \"0xef94a66bd5339efd18fb9ca1f8031482e7ef7bbe6c5a0a10fae254ab83712406\"\n+ \"0x7ee21b18b2e18c636bfafc08ff72692cc43302b2599ba75f0abad67282866dd5\"\n sourceHashes.1:\n- \"0x8b48118fe606012c0dcac2ccc1821785935aec89fab8f219f47b32c482b0017e\"\n+ \"0x9349e73cbc2d2b818c1d79711574ba210b56249d8d3845bc78c776caf8f8ff42\"\n issuedPermissions.5:\n+ {\"permission\":\"upgrade\",\"target\":\"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\",\"via\":[{\"address\":\"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\",\"delay\":0}]}\n issuedPermissions.4:\n+ {\"permission\":\"propose\",\"target\":\"0x9C56265ef2989138d264b30fBbA2043902daBdf8\",\"via\":[{\"address\":\"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\",\"delay\":0,\"description\":\"can submit state roots to the RollupProxy contract on the host chain.\"}]}\n issuedPermissions.3:\n+ {\"permission\":\"propose\",\"target\":\"0x9C56265ef2989138d264b30fBbA2043902daBdf8\",\"via\":[]}\n issuedPermissions.2.permission:\n- \"upgrade\"\n+ \"configure\"\n issuedPermissions.2.target:\n- \"0xa9d1C9D877F235C21d803e4a0b81F8ca6C4c83AC\"\n+ \"0x9C56265ef2989138d264b30fBbA2043902daBdf8\"\n issuedPermissions.2.via.0.address:\n- \"0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a\"\n+ \"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"\n issuedPermissions.2.via.0.description:\n+ \"can finalize a state root before the challenge period has passed. This allows withdrawing from the bridge based on the state root.\"\n issuedPermissions.1.permission:\n- \"propose\"\n+ \"challenge\"\n issuedPermissions.1.via.0:\n+ {\"address\":\"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\",\"delay\":0,\"description\":\"can challenge state roots on the host chain.\"}\n values.$implementation.1:\n- \"0x660ea1675F7323dC3Ba0c8dDFB593225Eb01E3C1\"\n+ \"0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34\"\n values.$implementation.0:\n- \"0x0aE4dD666748bF0F6dB5c149Eab1D8aD27820A6A\"\n+ \"0x9B56A789fEDD5df27dBaB53b085F7157397cA17D\"\n values.$pastUpgrades.1:\n+ [\"2024-10-29T07:32:23.000Z\",\"0xaf5a9eeab9e5f6edb2409f9b41142e49d97ce9ca9d8785e8dbff7cc2835699c0\",[\"0x9B56A789fEDD5df27dBaB53b085F7157397cA17D\",\"0x5607Ea4b5F6e3F610bD346B36D3143FFf46d1C34\"]]\n values.$upgradeCount:\n- 1\n+ 2\n+++ description: ArbOS version derived from known wasmModuleRoots.\n values.arbOsFromWmRoot:\n- \"ArbOS v20 wasmModuleRoot\"\n+ \"ArbOS v32 wasmModuleRoot\"\n+++ description: Increments on each Validator change.\n values.setValidatorCount:\n- 1\n+ 2\n values.validators.1:\n+ \"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"\n+++ description: Root hash of the WASM module used for execution, like a fingerprint of the L2 logic. Can be associated with ArbOS versions.\n values.wasmModuleRoot:\n- \"0x8b104a2e80ac6165dc58b9048de12f301d70b02a0ab51396c22b4b4b802a16a4\"\n+ \"0x184884e1eb9fefdc158f6c8ac912bb183bf3cf83f0090317e0bc4ac5860baa39\"\n values.anyTrustFastConfirmer:\n+ \"0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa\"\n fieldMeta.minimumAssertionPeriod:\n+ {\"description\":\"Minimum time delta between newly created nodes (stateUpdates). This is checked on `stakeOnNewNode()`. Format is number of ETHEREUM blocks, even for L3s. \"}\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProofEntry (0x57EA090Ac0554d174AE0e2855B460e84A1A7C221)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProver0 (0x72B166070781a552D7b95a907eF59ca05d3D5a62)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n contract ChallengeManager (0x73cfa0F6ae141212115657ad91Ad918E5d34d882) {\n +++ description: Contract that allows challenging state roots. Can be called through the RollupProxy by Validators or the UpgradeExecutor.\n sourceHashes.1:\n- \"0x58a6261c83c2766f749641902ad6fdb695ea189d2747f073b57a8f35b9a547e5\"\n+ \"0x1a095768302d7d1c3d02375eaa3341833b4f1aaac707e1c608bce478c87cbf27\"\n values.$implementation:\n- \"0x1D901DD7A5eFE421C3C437B147040E5AF22E6A43\"\n+ \"0x02E05A9245C5853f895daDcc3A8216C953C8736B\"\n values.$pastUpgrades.1:\n+ [\"2024-10-29T07:32:23.000Z\",\"0xaf5a9eeab9e5f6edb2409f9b41142e49d97ce9ca9d8785e8dbff7cc2835699c0\",[\"0x02E05A9245C5853f895daDcc3A8216C953C8736B\"]]\n values.$upgradeCount:\n- 1\n+ 2\n values.osp:\n- \"0x57EA090Ac0554d174AE0e2855B460e84A1A7C221\"\n+ \"0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC\"\n }\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMemory (0x8b73Ef238ADaB31EBC7c05423d243c345241a22f)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n- Status: DELETED\n contract OneStepProverMath (0x90eC62De2EB7C7512a22bD2D55926AD6bA609F38)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x0003A96B27ce73505b43ea1b71a5aB06bec568C4)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x1cD76B9C33b2e3b04D7B181399d492B3e49AD7fB)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x2dCCAbE89cF76132619a9B18e9F9e48E837222b5)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x8Faa21891B0b928afEbd5314D1D313f8f7B34DaC)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0xCf4b98cFF2976E4eb579B9498f398b5bd279A6eD)\n +++ description: One of the modular contracts used for the last step of a fraud proof, which is simulated inside a WASM virtual machine.\n```\n\n```diff\n+ Status: CREATED\n contract SxNetworkMultisig (0xddb901e4E9A2e659aa1d6476d5D7A2833E7c3dFa)\n +++ description: None\n```"
}
]
},
{
"id": "65c6579f",
"date": "Wed, 21 Aug 2024 08:35:21 GMT",
"timestamp": 1724229321,
"description": "Added initial discovery of the chain.",
"isHighSeverity": false,
"changeCount": 19,
"sections": [
{
"kind": "initial-discovery",
"body": "```diff\n+ Status: CREATED\n contract OneStepProverHostIo (0x17e7F68ce50A77e55C7834ddF31AEf86403B8010)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract (0x27C7Bfd2cC11429e9b80c443b42FDBe4754F6c91)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorUtils (0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract RollupProxy (0x36c6C69A6186D4475fc5c21181CD980Bd6E5e11F)\n +++ description: Manages rollup components, list of Stakers and Validators. Entry point for Validators creating new Rollup Nodes (state commits) and Challengers submitting fraud proofs.\n```\n\n```diff\n+ Status: CREATED\n contract UpgradeExecutor (0x44Ec40D86b4643Bd5110ED07BE188F8473Ad2d3a)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProofEntry (0x57EA090Ac0554d174AE0e2855B460e84A1A7C221)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProver0 (0x72B166070781a552D7b95a907eF59ca05d3D5a62)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ChallengeManager (0x73cfa0F6ae141212115657ad91Ad918E5d34d882)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract (0x7Deda2425eC2d4EA0DF689A78de2fBF002075576)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMemory (0x8b73Ef238ADaB31EBC7c05423d243c345241a22f)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract OneStepProverMath (0x90eC62De2EB7C7512a22bD2D55926AD6bA609F38)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ValidatorWalletCreator (0x9CAd81628aB7D8e239F1A5B497313341578c5F71)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ERC20RollupEventInbox (0x9f1045201f8b9D0b12f6d1e40e8B8e6c047A81E3)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Bridge (0xa104C0426e95a5538e89131DbB4163d230C35f86)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Outbox (0xB360b2f57c645E847148d7C479b7468AbF6F707d)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SXNetwork (0xbe9F61555F50DD6167f2772e9CF7519790d96624)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract SequencerInbox (0xD80a805c86C14c879420eC6acb366D04D318fC0C)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract ProxyAdmin (0xe8606A55d105EF857F187C32Ae0E9a168aF8F497)\n +++ description: None\n```\n\n```diff\n+ Status: CREATED\n contract Inbox (0xEa83E8907C89Bc0D9517632f0ba081972E328631)\n +++ description: None\n```"
}
]
}
]