affe2a84 (main)
and
57619b65 (PR)
+10 -41
+1 -1
{
"dataAvailability": [
{
"name": "Data is posted to Celestia",
"description": "\nEclipse uses Celestia for data availability.\n\nThere is no automatic fallback mechanism to Ethereum for data availability. If Celestia becomes unavailable, the chain relies entirely on Celestia for transaction data recovery.",
"references": [
{
"title": "Eclipse Celestia Integration",
"url": "https://docs.eclipse.xyz/architecture/eclipse-architecture/modular-components-of-eclipse#data-availability-celestia"
}
],
"risks": [
{
"category": "Funds can be frozen if",
"text": "celestia becomes unavailable and transaction data cannot be retrieved."
}
]
}
],
"stateValidation": {
"categories": [
{
"title": "No state validation",
"description": "Eclipse implements a custom permissioned bridge. Withdrawals need to be actively authorized by a Multisig. Moreover, there is no mechanism to send arbitrary messages from Eclipse back to Ethereum. There is a 7d delay for withdrawals.",
"references": [
{
"title": "CanonicalBridge.sol - Etherscan source code, authorizeWithdraw() function",
"url": "https://etherscan.io/address/0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11#code#F1#L183"
"url": "https://etherscan.io/address/0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a#code#F1#L237"
},
{
"title": "Mailbox.sol - Etherscan source code, receiveMessage() function calls CanonicalBridge",
"url": "https://etherscan.io/address/0x4cef0fa54dc06ce0ea198dab2f57d28a9dee712b#code#F1#L199"
},
{
"title": "Treasury.sol - Etherscan source code, emergencyWithdraw() function",
"url": "https://etherscan.io/address/0xF1F7a359C3f33EE8A66bdCbf4c897D25Caf90978#code"
}
],
"risks": [
{
"category": "Users can be censored if",
"text": "the bridge operators decide not to mint tokens after observing a deposit."
},
{
"category": "Funds can be stolen if",
"text": "the Treasury owner decides to transfer the funds locked on L1."
}
]
}
]
}
}
+3 -19
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "Eclipse Multisig",
"name": "Eclipse Multisig",
"description": "A Multisig with 3/4 threshold. \n* Can interact with CanonicalBridgeV1\n * authorize withdrawals to any address \n * grant / revoke all access control roles and thus access all permissioned functions in the contract \n * pause the contract for deposits and withdrawals \n* Can interact with CanonicalBridgeV2\n * authorize withdrawals to any address \n * grant / revoke all access control roles and thus access all permissioned functions in the contract \n * pause the contract for deposits and withdrawals \n* Can interact with Upgrader0to1\n * start an upgrade of the core contracts \n* Can interact with Treasury\n * grant / revoke all access control roles and thus access all permissioned functions in the contract ",
"description": "A Multisig with 3/4 threshold. \n* Can interact with CanonicalBridgeV3\n * authorize withdrawals to any address \n * grant / revoke all access control roles and thus access all permissioned functions in the contract \n * pause the contract for deposits and withdrawals \n* Can interact with Upgrader0to1\n * start an upgrade of the core contracts \n* Can interact with Treasury\n * grant / revoke all access control roles and thus access all permissioned functions in the contract ",
"accounts": [
{
"address": "eth:0x4720342419C1D316B948690d12C86D5b485C64E0",
"type": "Contract",
"isVerified": true,
"name": "0x4720…64E0",
"url": "https://etherscan.io/address/0x4720342419C1D316B948690d12C86D5b485C64E0"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xBb534A6Bd0440727cb5883D037DEd7358059D547",
"type": "EOA",
"isVerified": true,
"name": "0xBb53…D547",
"url": "https://etherscan.io/address/0xBb534A6Bd0440727cb5883D037DEd7358059D547"
},
{
"address": "eth:0x950815d0e585095B06111CD101440fb1E95AB2a5",
"type": "EOA",
"isVerified": true,
"name": "0x9508…B2a5",
"url": "https://etherscan.io/address/0x950815d0e585095B06111CD101440fb1E95AB2a5"
},
{
"address": "eth:0x757210F15AB48f0F8d328984fc321CfA6BB5BFc2",
"type": "EOA",
"isVerified": true,
"name": "0x7572…BFc2",
"url": "https://etherscan.io/address/0x757210F15AB48f0F8d328984fc321CfA6BB5BFc2"
},
{
"address": "eth:0xF48C91ca69Aef5ac47E430c3E90DEE1694d246FA",
"type": "EOA",
"isVerified": true,
"name": "0xF48C…46FA",
"url": "https://etherscan.io/address/0xF48C91ca69Aef5ac47E430c3E90DEE1694d246FA"
}
],
"discoveryDrivenData": true
},
{
"id": "Eclipse Multisig 2",
"name": "Eclipse Multisig 2",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * Treasury \n* Can interact with CanonicalBridgeV2\n * grant / revoke all access control roles and thus access all permissioned functions in the contract \n* Can interact with Treasury\n * grant / revoke all access control roles and thus access all permissioned functions in the contract \n * withdraw ETH from the contract, even when it is paused \n * withdraw ETH from the contract ",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * Treasury \n* Can interact with Treasury\n * grant / revoke all access control roles and thus access all permissioned functions in the contract \n * withdraw ETH from the contract, even when it is paused \n * withdraw ETH from the contract ",
"accounts": [
{
"address": "eth:0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC",
"type": "Contract",
"isVerified": true,
"name": "0x7B2c…0efC",
"url": "https://etherscan.io/address/0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xd0615B1D3F24f691153C076d45104eEd3eF8cDb5",
"type": "EOA",
"isVerified": true,
"name": "0xd061…cDb5",
"url": "https://etherscan.io/address/0xd0615B1D3F24f691153C076d45104eEd3eF8cDb5"
},
{
"address": "eth:0x0706Ffc1722D53a85ba90f32807880ccee968Fed",
"type": "Contract",
"isVerified": true,
"name": "GnosisSafe",
"url": "https://etherscan.io/address/0x0706Ffc1722D53a85ba90f32807880ccee968Fed"
},
{
"address": "eth:0xDecF20b9213f5d7f16196420377d37ef5f8F9686",
"type": "EOA",
"isVerified": true,
"name": "0xDecF…9686",
"url": "https://etherscan.io/address/0xDecF20b9213f5d7f16196420377d37ef5f8F9686"
},
{
"address": "eth:0xEe058D13A0c25a1ce2f68eb02dE4CE7E621982D9",
"type": "EOA",
"isVerified": true,
"name": "0xEe05…82D9",
"url": "https://etherscan.io/address/0xEe058D13A0c25a1ce2f68eb02dE4CE7E621982D9"
},
{
"address": "eth:0x3392fd462d9710Fbf3A5703818b9920C119DC080",
"type": "EOA",
"isVerified": true,
"name": "0x3392…C080",
"url": "https://etherscan.io/address/0x3392fd462d9710Fbf3A5703818b9920C119DC080"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1",
"name": "EOA 1",
"accounts": [
{
"address": "eth:0x1a84163249B2909f746C725F23D5ae2a66D7C4fE",
"type": "EOA",
"isVerified": true,
"name": "0x1a84…C4fE",
"url": "https://etherscan.io/address/0x1a84163249B2909f746C725F23D5ae2a66D7C4fE"
}
],
"chain": "ethereum",
"description": "* Can interact with CanonicalBridgeV2\n * authorize withdrawals to any address ",
"description": "* Can interact with CanonicalBridgeV3\n * authorize withdrawals to any address ",
"discoveryDrivenData": true
},
{
"id": "EOA-2",
"name": "EOA 2",
"accounts": [
{
"address": "eth:0x681086b630BC3B5f0bf544FDc2A0FC41Cf8977D3",
"type": "EOA",
"isVerified": true,
"name": "0x6810…77D3",
"url": "https://etherscan.io/address/0x681086b630BC3B5f0bf544FDc2A0FC41Cf8977D3"
}
],
"chain": "ethereum",
"description": "* Can interact with CanonicalBridgeV1\n * pause the contract for deposits and withdrawals ",
"discoveryDrivenData": true
}
]
}
}
+5 -20
{
"addresses": {
"ethereum": [
{
"name": "CanonicalBridgeV1",
"name": "CanonicalBridgeV3",
"isVerified": true,
"address": "eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11",
"address": "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Entry point to deposit and withdraw ETH. There is no canonical messaging system. Deposited funds are sent to a Treasury contract and withdrawals must be authorized by a permissioned actor.\n* Roles:\n * **defaultAdmin**: Eclipse Multisig\n * **pauser**: EOA 2, Eclipse Multisig\n * **withdrawAuthority**: Eclipse Multisig",
"description": "Entry point to deposit and withdraw ETH. There is no canonical messaging system. Deposited funds are sent to a Treasury contract and withdrawals must be authorized by a permissioned actor.\n* Roles:\n * **defaultAdmin**: Eclipse Multisig\n * **pauser**: Eclipse Multisig\n * **withdrawAuthority**: EOA 1, Eclipse Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11#code"
"url": "https://etherscan.io/address/eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a#code"
},
{
"name": "CanonicalBridgeV2",
"isVerified": true,
"address": "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "Entry point to deposit and withdraw ETH. There is no canonical messaging system. Deposited funds are sent to a Treasury contract and withdrawals must be authorized by a permissioned actor.\n* Roles:\n * **defaultAdmin**: Eclipse Multisig, Eclipse Multisig 2\n * **pauser**: Eclipse Multisig\n * **withdrawAuthority**: EOA 1, Eclipse Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51#code"
},
{
"name": "Treasury",
"isVerified": true,
"address": "eth:0xD7E4b67E735733aC98a88F13d087D8aac670E644",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xF1F7a359C3f33EE8A66bdCbf4c897D25Caf90978"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1722140987,
"transactionHash": "0xa34790c0635f1f739540bf7e2998085e6426d1f17cd58617e26be884f625a0dc",
"implementations": [
"eth:0xa8E15d2B1bf6B0Fd3Bc9Ead06323c0730b67f8d4"
]
},
{
"timestamp": 1730778803,
"transactionHash": "0x15aecc2b0cac5c03221b0f7ade10e888ad4f944df4bdc19c1f3c40fc56d5ebbb",
"implementations": [
"eth:0xF1F7a359C3f33EE8A66bdCbf4c897D25Caf90978"
]
}
],
"description": "Permissioned escrow for assets bridged to Eclipse. There is no canonical messaging and users need to trust the bridge operators to process deposits and authorize withdrawals.\n* Roles:\n * **defaultAdmin**: Eclipse Multisig, Eclipse Multisig 2\n * **emergency**: Eclipse Multisig 2, Upgrader0to1\n * **upgrader**: Eclipse Multisig 2, Upgrader0to1\n * **withdrawer**: CanonicalBridgeV1, CanonicalBridgeV2, Eclipse Multisig 2",
"description": "Permissioned escrow for assets bridged to Eclipse. There is no canonical messaging and users need to trust the bridge operators to process deposits and authorize withdrawals.\n* Roles:\n * **defaultAdmin**: Eclipse Multisig, Eclipse Multisig 2\n * **emergency**: Eclipse Multisig 2, Upgrader0to1\n * **upgrader**: Eclipse Multisig 2, Upgrader0to1\n * **withdrawer**: CanonicalBridgeV3, Eclipse Multisig 2",
"upgradableBy": [
{
"name": "Eclipse Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xD7E4b67E735733aC98a88F13d087D8aac670E644#code"
},
{
"name": "Upgrader0to1",
"isVerified": true,
"address": "eth:0xD02f545d57536BC1E8F12D867731F006AacE71E3",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "ethereum",
"description": "This contract was used for an upgrade an still retains its permissions and permissioned actors.\n* Roles:\n * **upgrader**: Eclipse Multisig",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xD02f545d57536BC1E8F12D867731F006AacE71E3#code"
}
]
},
"escrows": [
{
"chain": "ethereum",
"address": "0xD7E4b67E735733aC98a88F13d087D8aac670E644",
"sinceTimestamp": 1722140987,
"tokens": [
"ETH"
],
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
}
]
}
+1 -1
{
"baseTimestamp": 1757342204,
"baseTimestamp": 1763636218,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}
+22 -53
+18 -49
{
"ethereum": {
"roles": [],
"actors": [
{
"id": "",
"name": "",
"accounts": [
{
"address": "eth:0x7153803C06d6a36D6d91aEB3C1ed8e5b934Df601",
"type": "Contract",
"isVerified": false,
"name": "0x7153…f601",
"url": "https://etherscan.io/address/0x7153803C06d6a36D6d91aEB3C1ed8e5b934Df601"
}
],
"chain": "ethereum",
"description": "* Can upgrade **with no delay**\n * PredicateServiceManager ",
"discoveryDrivenData": true
},
{
"id": "GnosisSafe",
"name": "GnosisSafe",
"description": "A Multisig with 2/4 threshold. \n* Can interact with PredicateServiceManager\n * can add and remove permissioned operators, deregister regular operators, register new policies, override existing policies, and in general manage the AVS (e.g. thresholds, strategies) and the connection to EigenLayer ",
"accounts": [
{
"address": "eth:0x8A3c2193521Cf895D77c8Dedb290fC5E19126fdE",
"type": "Contract",
"isVerified": true,
"name": "0x8A3c…6fdE",
"url": "https://etherscan.io/address/0x8A3c2193521Cf895D77c8Dedb290fC5E19126fdE"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0xa283Ad6f064227944061442Ba4975aad315985e5",
"type": "EOA",
"isVerified": true,
"name": "0xa283…85e5",
"url": "https://etherscan.io/address/0xa283Ad6f064227944061442Ba4975aad315985e5"
},
{
"address": "eth:0x949A718aca94eB060aBB4C59B05995e257666F7F",
"type": "EOA",
"isVerified": true,
"name": "0x949A…6F7F",
"url": "https://etherscan.io/address/0x949A718aca94eB060aBB4C59B05995e257666F7F"
},
{
"address": "eth:0xFb37A6BC0DC1c52900a8E50A2D6d1b7a59CEa02c",
"type": "EOA",
"isVerified": true,
"name": "0xFb37…a02c",
"url": "https://etherscan.io/address/0xFb37A6BC0DC1c52900a8E50A2D6d1b7a59CEa02c"
},
{
"address": "eth:0x110b66ea6F97c0391eEfFDd19CD0cFd73e9871fA",
"type": "EOA",
"isVerified": true,
"name": "0x110b…71fA",
"url": "https://etherscan.io/address/0x110b66ea6F97c0391eEfFDd19CD0cFd73e9871fA"
}
],
"discoveryDrivenData": true
},
{
"id": "PredicateServiceManager",
"name": "PredicateServiceManager",
"accounts": [
{
"address": "eth:0xf6f4A30EeF7cf51Ed4Ee1415fB3bFDAf3694B0d2",
"type": "Contract",
"isVerified": true,
"name": "0xf6f4…B0d2",
"url": "https://etherscan.io/address/0xf6f4A30EeF7cf51Ed4Ee1415fB3bFDAf3694B0d2"
}
],
"chain": "ethereum",
"description": "* Can interact with Liquidity\n * approves deposits through AML checks [via: PredicatePermitter]",
"discoveryDrivenData": true
},
{
"id": "INTMAX Multisig 1",
"name": "INTMAX Multisig 1",
"description": "A Multisig with 3/5 threshold. ",
"accounts": [
{
"address": "eth:0xA3C2a579af4cF3853172058e5c76d273DC1542DD",
"type": "Contract",
"isVerified": true,
"name": "0xA3C2…42DD",
"url": "https://etherscan.io/address/0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "eth:0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "eth:0xB89001Ef513E10482B2667a0fC70F06cfF3a7418",
"type": "EOA",
"isVerified": true,
"name": "EOA 5",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "eth:0xdb0948Ba83610ef1Bc7a2863c16a257B6bF5f6A7",
"type": "EOA",
"isVerified": true,
"name": "EOA 6",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "eth:0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
}
],
"discoveryDrivenData": true
},
{
"id": "INTMAX Multisig 3",
"name": "INTMAX Multisig 3",
"description": "A Multisig with 1/5 threshold. ",
"accounts": [
{
"address": "eth:0xe147e23753505e2C83b5f9ef229a9B7e7B3F50Ea",
"type": "Contract",
"isVerified": true,
"name": "0xe147…50Ea",
"url": "https://etherscan.io/address/0xe147e23753505e2C83b5f9ef229a9B7e7B3F50Ea"
}
],
"chain": "ethereum",
"references": [],
"participants": [
{
"address": "eth:0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A",
"type": "EOA",
"isVerified": true,
"name": "EOA 2",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "eth:0xdb0948Ba83610ef1Bc7a2863c16a257B6bF5f6A7",
"type": "EOA",
"isVerified": true,
"name": "EOA 6",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "eth:0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6",
"type": "EOA",
"isVerified": true,
"name": "EOA 3",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "eth:0xB89001Ef513E10482B2667a0fC70F06cfF3a7418",
"type": "EOA",
"isVerified": true,
"name": "EOA 5",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
},
{
"address": "eth:0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D",
"type": "EOA",
"isVerified": true,
"name": "EOA 1",
"url": "#EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6",
"name": "EOA 1, EOA 2, EOA 3, EOA 5 and EOA 6",
"accounts": [
{
"address": "eth:0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D",
"type": "EOA",
"isVerified": true,
"name": "0x1eB7…794D",
"url": "https://etherscan.io/address/0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D"
},
{
"address": "eth:0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A",
"type": "EOA",
"isVerified": true,
"name": "0x2EAB…F85A",
"url": "https://etherscan.io/address/0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A"
},
{
"address": "eth:0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6",
"type": "EOA",
"isVerified": true,
"name": "0x5C04…4Bb6",
"url": "https://etherscan.io/address/0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6"
},
{
"address": "eth:0xB89001Ef513E10482B2667a0fC70F06cfF3a7418",
"type": "EOA",
"isVerified": true,
"name": "0xB890…7418",
"url": "https://etherscan.io/address/0xB89001Ef513E10482B2667a0fC70F06cfF3a7418"
},
{
"address": "eth:0xdb0948Ba83610ef1Bc7a2863c16a257B6bF5f6A7",
"type": "EOA",
"isVerified": true,
"name": "0xdb09…f6A7",
"url": "https://etherscan.io/address/0xdb0948Ba83610ef1Bc7a2863c16a257B6bF5f6A7"
}
],
"chain": "ethereum",
"description": "Member of INTMAX Multisig 1, INTMAX Multisig 3.\n* Can upgrade **with no delay**\n * PredicatePermitter [via: INTMAX Multisig 3]",
"discoveryDrivenData": true
},
{
"id": "EOA-4",
"name": "EOA 4",
"accounts": [
{
"address": "eth:0xA8E0Db294aD54E9187CeE41c4d471186bf5Aa7A6",
"type": "EOA",
"isVerified": true,
"name": "0xA8E0…a7A6",
"url": "https://etherscan.io/address/0xA8E0Db294aD54E9187CeE41c4d471186bf5Aa7A6"
}
],
"chain": "ethereum",
"description": "* Can interact with Liquidity\n * can relay deposits to the main rollup contract on Scroll ",
"discoveryDrivenData": true
},
{
"id": "EOA-7",
"name": "EOA 7",
"accounts": [
{
"address": "eth:0xFb37A6BC0DC1c52900a8E50A2D6d1b7a59CEa02c",
"type": "EOA",
"isVerified": true,
"name": "0xFb37…a02c",
"url": "https://etherscan.io/address/0xFb37A6BC0DC1c52900a8E50A2D6d1b7a59CEa02c"
}
],
"chain": "ethereum",
"description": "* Can interact with PredicateServiceManager\n * can add and remove permissioned operators, deregister regular operators, register new policies, override existing policies, and in general manage the AVS (e.g. thresholds, strategies) and the connection to EigenLayer ",
"discoveryDrivenData": true
}
]
},
"scroll": {
"roles": [],
"actors": [
{
"id": "INTMAX Multisig 2",
"name": "INTMAX Multisig 2",
"description": "A Multisig with 3/5 threshold. \n* Can upgrade **with no delay**\n * Rollup \n * Claim \n * Withdrawal \n* Can interact with Claim\n * can update the verifier address \n* Can interact with Withdrawal\n * can update the verifier address and the list of tokens that can be withdrawn automatically, in contrast to those that have to be actively claimed ",
"accounts": [
{
"address": "scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD",
"type": "Contract",
"isVerified": true,
"name": "0xA3C2…42DD",
"url": "https://scrollscan.com/address/0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
}
],
"chain": "scroll",
"references": [],
"participants": [
{
"address": "scr:0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A",
"type": "EOA",
"isVerified": true,
"name": "0x2EAB…F85A",
"url": "https://scrollscan.com/address/0x2EAB2633c6180Ec592fB7A22EDAF323ccA51F85A"
},
{
"address": "scr:0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D",
"type": "EOA",
"isVerified": true,
"name": "0x1eB7…794D",
"url": "https://scrollscan.com/address/0x1eB7d5898A9b3dCB8145e37B564ef00bC4cB794D"
},
{
"address": "scr:0xB89001Ef513E10482B2667a0fC70F06cfF3a7418",
"type": "EOA",
"isVerified": true,
"name": "0xB890…7418",
"url": "https://scrollscan.com/address/0xB89001Ef513E10482B2667a0fC70F06cfF3a7418"
},
{
"address": "scr:0xdb0948Ba83610ef1Bc7a2863c16a257B6bF5f6A7",
"type": "EOA",
"isVerified": true,
"name": "0xdb09…f6A7",
"url": "https://scrollscan.com/address/0xdb0948Ba83610ef1Bc7a2863c16a257B6bF5f6A7"
},
{
"address": "scr:0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6",
"type": "EOA",
"isVerified": true,
"name": "0x5C04…4Bb6",
"url": "https://scrollscan.com/address/0x5C044174cC9bcA35b933a2B5107b494BAFf34Bb6"
}
],
"discoveryDrivenData": true
},
{
"id": "EOA-7",
"name": "EOA 7",
"id": "EOA-8",
"name": "EOA 8",
"accounts": [
{
"address": "scr:0x0000000000000000000000000000000000000000",
"type": "EOA",
"isVerified": true,
"name": "0x0000…0000",
"url": "https://scrollscan.com/address/0x0000000000000000000000000000000000000000"
}
],
"chain": "scroll",
"description": "* Can upgrade **with no delay**\n * Contribution ",
"discoveryDrivenData": true
}
]
}
}
+3 -3
{
"addresses": {
"ethereum": [
{
"name": "PredicatePermitter",
"isVerified": true,
"address": "eth:0x11D58231A79D866674EaAa043Fdaeae9A3dF4c0E",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0xe147e23753505e2C83b5f9ef229a9B7e7B3F50Ea"
],
"implementations": [
"eth:0xef082Ff43805B93Ed375Fd47A964Fe136cCB9021"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750501451,
"transactionHash": "0x1171a710716e4ea09dd241bd14fad955a99e5bc2dc7662530f1b25c3b4f1020f",
"implementations": [
"eth:0xef082Ff43805B93Ed375Fd47A964Fe136cCB9021"
]
}
],
"description": "Contract that connects INTMAX deposits to the Predicate AVS that ultimately checks AML requirements. It stores a policy ID to be then referenced by the Predicate AVS.\n* Roles:\n * **admin**: INTMAX Multisig 3; ultimately EOA 1, EOA 2, EOA 3, EOA 5, EOA 6\n * **getPredicateManager**: PredicateServiceManager",
"upgradableBy": [
{
"id": "EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6",
"name": "EOA 1",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6",
"name": "EOA 2",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6",
"name": "EOA 3",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6",
"name": "EOA 5",
"delay": "no"
},
{
"id": "EOA-1,-EOA-2,-EOA-3,-EOA-5-and-EOA-6",
"name": "EOA 6",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x11D58231A79D866674EaAa043Fdaeae9A3dF4c0E#code"
},
{
"name": "Contribution",
"isVerified": true,
"address": "eth:0x4c614C7BB9420caA1F19cB2C58B00864f2125Ce2",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0x09665baEFbfaAE3E9b3AC854717C2ab5534d2D25"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750500551,
"transactionHash": "0x8650dce84d7ab72b87aebbc5655861fa2734ef95c3046485f40dc2901b291656",
"implementations": [
"eth:0x09665baEFbfaAE3E9b3AC854717C2ab5534d2D25"
]
}
],
"description": "Records a set of 'contribution' actions by saving addresses with a tag of their action (e.g. propose blocks, claim withdrawals, deposit...).\n",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0x4c614C7BB9420caA1F19cB2C58B00864f2125Ce2#code"
},
{
"name": "Liquidity",
"isVerified": true,
"address": "eth:0xF65e73aAc9182e353600a916a6c7681F810f79C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750500599,
"transactionHash": "0xbb35cae7bb4711e7e2db56c10d3f09f1c2d482bb00912b6593577d4dd744a86e",
"implementations": [
"eth:0x0fE3E6018E53cb90020b5C06BC4c7c4FcEa1eBF0"
]
},
{
"timestamp": 1752761087,
"transactionHash": "0x305d92e409c58e4ce7facda3e759b383326706f81af0bf530fca37cdff758c1e",
"implementations": [
"eth:0x4fd8BF5f45832a007448fcDE29049919F8cf6D0d"
]
},
{
"timestamp": 1756560323,
"transactionHash": "0x93f7c96b159e82cd555266aa0451fb2d3a7eb8475edf83f66a15fa617de1eca0",
"implementations": [
"eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA"
]
}
],
"description": "Entry point of the project. Handles deposits, withdrawals, and the communication from and to the main rollup contract on Scroll. Deposits are gated by an AML check.\n* Roles:\n * **amlPermitter**: PredicatePermitter; ultimately PredicateServiceManager\n * **relayer**: EOA 4",
"discoveryDrivenData": true,
"url": "https://etherscan.io/address/eth:0xF65e73aAc9182e353600a916a6c7681F810f79C3#code"
}
],
"scroll": [
{
"name": "Rollup",
"isVerified": true,
"address": "scr:0x1c88459D014e571c332BF9199aD2D35C93219A2e",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
],
"implementations": [
"scr:0xF34299210fB8505232649e9BEa14a84DD75e746b"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1752665870,
"transactionHash": "0x00ed05b1421c07fc3016adada820d7e853df1a1898e4b8636b1139c6712b1ffd",
"implementations": [
"scr:0xF34299210fB8505232649e9BEa14a84DD75e746b"
]
}
],
"description": "Main rollup contract used to submit blocks and process deposits. It saves block hashes to be then referenced by the Withdrawal contract.\n* Roles:\n * **admin**: INTMAX Multisig 2",
"upgradableBy": [
{
"name": "INTMAX Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/scr:0x1c88459D014e571c332BF9199aD2D35C93219A2e#code"
},
{
"name": "PlonkVerifier",
"isVerified": true,
"address": "scr:0x1d38545a33740Ab3480d9035bB3126914404423d",
"upgradeability": {
"proxyType": "immutable",
"admins": [],
"implementations": [],
"immutable": true
},
"chain": "scroll",
"description": "A wrapper verifier that can check both withdrawal zk proofs to exit from INTMAX network and zk proofs for claiming rewards of the privacy mining program.\n",
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/scr:0x1d38545a33740Ab3480d9035bB3126914404423d#code"
},
{
"name": "Claim",
"isVerified": true,
"address": "scr:0x22ac649b3229eC099C32D790e9e46FbA2CE6C9A5",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
],
"implementations": [
"scr:0x5216C8D0F2188a91aD07Fe4F334F220b2F7b59EA"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1752740586,
"transactionHash": "0x51f594e6a45f74ba5ca4a9536e7911be101f6a9ee7efb1471ee6e359af36c6ef",
"implementations": [
"scr:0x1899bF9D0e40Dd1bB6C3CCF2123A0Bd1DE0F0548"
]
},
{
"timestamp": 1755322929,
"transactionHash": "0xcb1b6cb53aeb3e3946facae2aa425a1b82068dcdeb41deeaaacae2948c3e4f3a",
"implementations": [
"scr:0x5216C8D0F2188a91aD07Fe4F334F220b2F7b59EA"
]
}
],
"description": "* Roles:\n * **admin**: INTMAX Multisig 2\n * **owner**: INTMAX Multisig 2",
"upgradableBy": [
{
"name": "INTMAX Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/scr:0x22ac649b3229eC099C32D790e9e46FbA2CE6C9A5#code"
},
{
"name": "Contribution",
"isVerified": true,
"address": "scr:0x42Fe7Db60c4C70eBb7597dB9a0959F9fCa0114af",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0x0000000000000000000000000000000000000000"
],
"implementations": [
"scr:0x8305Ca6756b0edb49ed9503C1Cf39Cb64a00b955"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1750500006,
"transactionHash": "0x80b8d8e13d4baaf9f60d6487bc220584103ae955efb88bea6c95cdff57ebb46c",
"implementations": [
"scr:0x8305Ca6756b0edb49ed9503C1Cf39Cb64a00b955"
]
}
],
"description": "Records a set of 'contribution' actions by saving addresses with a tag of their action (e.g. propose blocks, claim withdrawals, deposit...).\n* Roles:\n * **admin**: EOA 7",
"description": "Records a set of 'contribution' actions by saving addresses with a tag of their action (e.g. propose blocks, claim withdrawals, deposit...).\n* Roles:\n * **admin**: EOA 8",
"upgradableBy": [
{
"id": "EOA-7",
"name": "EOA 7",
"id": "EOA-8",
"name": "EOA 8",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/scr:0x42Fe7Db60c4C70eBb7597dB9a0959F9fCa0114af#code"
},
{
"name": "Withdrawal",
"isVerified": true,
"address": "scr:0x86B06D2604D9A6f9760E8f691F86d5B2a7C9c449",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"scr:0xA3C2a579af4cF3853172058e5c76d273DC1542DD"
],
"implementations": [
"scr:0x614ef91D1971A4dB458ABde03c62247afc57A753"
]
},
"chain": "scroll",
"pastUpgrades": [
{
"timestamp": 1752665900,
"transactionHash": "0x42a803443a8cce32af6abb340909910f95b82c9e4b62d9002ce8c5554bf6ad8a",
"implementations": [
"scr:0xDFC6EB6642FEAF99629c6629b2f7dC7eB9F1a0A3"
]
},
{
"timestamp": 1755322929,
"transactionHash": "0xcb1b6cb53aeb3e3946facae2aa425a1b82068dcdeb41deeaaacae2948c3e4f3a",
"implementations": [
"scr:0x614ef91D1971A4dB458ABde03c62247afc57A753"
]
}
],
"description": "Contract handling withdrawal requests, which require a validity proof of sufficient balance. It tracks amount of funds already withdrawn to prevent double withdrawals.\n* Roles:\n * **admin**: INTMAX Multisig 2\n * **owner**: INTMAX Multisig 2",
"upgradableBy": [
{
"name": "INTMAX Multisig 2",
"delay": "no"
}
],
"discoveryDrivenData": true,
"url": "https://scrollscan.com/address/scr:0x86B06D2604D9A6f9760E8f691F86d5B2a7C9c449#code"
}
]
},
"escrows": [
{
"address": "0xF65e73aAc9182e353600a916a6c7681F810f79C3",
"sinceTimestamp": 1750500599,
"tokens": "*",
"contract": {
"isVerified": true,
"address": "eth:0xF65e73aAc9182e353600a916a6c7681F810f79C3",
"upgradeability": {
"proxyType": "EIP1967 proxy",
"admins": [
"eth:0x0000000000000000000000000000000000000000"
],
"implementations": [
"eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA"
]
},
"chain": "ethereum",
"pastUpgrades": [
{
"timestamp": 1750500599,
"transactionHash": "0xbb35cae7bb4711e7e2db56c10d3f09f1c2d482bb00912b6593577d4dd744a86e",
"implementations": [
"eth:0x0fE3E6018E53cb90020b5C06BC4c7c4FcEa1eBF0"
]
},
{
"timestamp": 1752761087,
"transactionHash": "0x305d92e409c58e4ce7facda3e759b383326706f81af0bf530fca37cdff758c1e",
"implementations": [
"eth:0x4fd8BF5f45832a007448fcDE29049919F8cf6D0d"
]
},
{
"timestamp": 1756560323,
"transactionHash": "0x93f7c96b159e82cd555266aa0451fb2d3a7eb8475edf83f66a15fa617de1eca0",
"implementations": [
"eth:0xD31F61281A4b262aEa79cbBE09A436975a8b63EA"
]
}
],
"url": "https://etherscan.io/address/0xF65e73aAc9182e353600a916a6c7681F810f79C3#code"
},
"chain": "ethereum",
"includeInTotal": true,
"chainId": 1
}
],
"risks": [
{
"category": "Funds can be stolen if",
"text": "a contract receives a malicious code upgrade. There is no delay on code upgrades.",
"isCritical": true
},
{
"category": "Funds can be stolen if",
"text": "the source code of unverified contracts contains malicious code.",
"isCritical": true
}
]
}
+1 -1
{
"baseTimestamp": 1763033250,
"baseTimestamp": 1763637734,
"contractsDiscoDriven": true,
"hasDiscoUi": true,
"isDiscoDriven": true,
"permissionsDiscoDriven": true
}