Search for projects by name or address
Eclipse is a sidechain powered by the Solana Virtual Machine (SVM).
Eclipse is a sidechain powered by the Solana Virtual Machine (SVM).
Consequence: projects without a proper proof system fully rely on single entities to safely update the state. A malicious proposer can finalize an invalid state, which can cause loss of funds.
Consequence: projects without a data availability bridge fully rely on single entities (the sequencer) to honestly rely available data roots on Ethereum. A malicious sequencer can collude with the proposer to finalize an unavailable state, which can cause loss of funds.
Learn more about the recategorisation here.
This section shows how much data the project publishes to its data-availability (DA) layer over time. The project currently posts data to
Celestia.
There is no mechanism to have transactions be included if the sequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. is down or censoring.
Currently the system permits invalid state rootsA cryptographic hash succinctly representing a state using a Merkle tree.. More details in project overview.
Proof construction and state derivation fully rely on data that is posted on Celestia. SequencerA party responsible for ordering and executing transactions on the rollup. The sequencer verifies transactions, compresses the data into a block, and submits the data related to it to enable state reconstruction to Ethereum L1 as a single transaction. The data can be either transaction data or state diffs. tx roots are not checked against the Blobstream bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. data roots onchain, but L2Layer 2 (L2) is a category of technical solutions aimed to scale the base layer in a trust minimized way. This category includes solutions like rollups as well as state channels and plasma. Other solutions are able to scale further, but with the introduction of additional trust assumptions, which are therefore not trust minimized. Sometimes the term Layer 2 is used to refer to include these solutions too, like validiums and optimiums, but to distinguish between trust minimized and non trust minimized solutions they are often referred to as "light" L2s, opposed to "strong" L2s like rollups. nodes can verify data availabilityThe property of a rollup's data being reachable by any node retrieving the data that were rolled up and executed to reach the proposed state. Data availability (DA), specifically decoupling it from the rollup nodes themselves, is one of the preeminent factors which allows a rollup to scale securely. A rollup is faced with a decision of what to use as a DA layer to guarantee that any node can retrieve this data--permissionlessly under any circumstance. For this reason, using Ethereum for DA currently provides the strongest security guarantees. If data is stored somewhere other than a permissionless L1, then the project is not a rollup, but rather a validium or an optimium. by running a Celestia light clientSometimes labelled interchangeably as a “node”, they are tasked with processing transactions and managing the blockchains's state. They run the computations for each transaction according to the rollup's virtual machine and protocol rules. If comparing to Ethereum clients, these would be execution clients such as Geth, as opposed to consensus clients..
There is no window for users to exit in case of an unwanted upgrade since contracts are instantly upgradable.
Only the whitelisted proposers can publish state rootsA cryptographic hash succinctly representing a state using a Merkle tree. on L1Layer 1 (L1) is a blockchain that is self-reliant on its validator set for its security and consensus properties. Ethereum is an example of a layer 1. Blockchains started receiving the moniker of layer 1 once layer 2 became a meaningful area of development., so in the event of failure the withdrawals are frozen.
Eclipse uses Celestia for data availabilityThe property of a rollup's data being reachable by any node retrieving the data that were rolled up and executed to reach the proposed state. Data availability (DA), specifically decoupling it from the rollup nodes themselves, is one of the preeminent factors which allows a rollup to scale securely. A rollup is faced with a decision of what to use as a DA layer to guarantee that any node can retrieve this data--permissionlessly under any circumstance. For this reason, using Ethereum for DA currently provides the strongest security guarantees. If data is stored somewhere other than a permissionless L1, then the project is not a rollup, but rather a validium or an optimium..
There is no automatic fallback mechanism to Ethereum for data availability. If Celestia becomes unavailable, the chain relies entirely on Celestia for transaction data recovery.
Funds can be frozen if celestia becomes unavailable and transaction data cannot be retrieved.
Eclipse implements a custom permissioned bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a 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.
Users can be censored if the bridge operators decide not to mint tokens after observing a deposit.
Funds can be stolen if the Treasury owner decides to transfer the funds locked on L1.
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
- CanonicalBridgeV1 cannot be used to withdraw funds from Treasury anymore. - CanonicalBridgeV2 deactivated, replaced by CanonicalBridgeV3: the main change in V3 is new events via DepositedWithId and depositIndex, V3 can settle v1 and v2 pending withdrawals https://disco.l2beat.com/diff/eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51/eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a
| EOA (eth:0x1a84163249B2909f746C725F23D5ae2a66D7C4fE) { | |
| +++ description: None | |
| receivedPermissions.0.from: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| } | |
| - | Status: DELETED |
| contract CanonicalBridge (eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11) | |
| +++ 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. | |
| contract Eclipse Multisig (eth:0x4720342419C1D316B948690d12C86D5b485C64E0) { | |
| +++ description: None | |
| receivedPermissions.0: | |
| - | {"permission":"interact","from":"eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","description":"authorize withdrawals to any address.","role":".withdrawAuthorityAC"} |
| receivedPermissions.1: | |
| - | {"permission":"interact","from":"eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","description":"grant / revoke all access control roles and thus access all permissioned functions in the contract.","role":".defaultAdminAC"} |
| receivedPermissions.2: | |
| - | {"permission":"interact","from":"eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","description":"pause the contract for deposits and withdrawals.","role":".pauserAC"} |
| receivedPermissions.3.from: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| receivedPermissions.4.from: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| receivedPermissions.5.from: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| } | |
| contract Eclipse Multisig 2 (eth:0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC) { | |
| +++ description: None | |
| receivedPermissions.0: | |
| - | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"grant / revoke all access control roles and thus access all permissioned functions in the contract.","role":".defaultAdminAC"} |
| } | |
| - | Status: DELETED |
| contract CanonicalBridgeV2 (eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51) | |
| +++ 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. | |
| contract Treasury (eth:0xD7E4b67E735733aC98a88F13d087D8aac670E644) { | |
| +++ 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. | |
| values.accessControl.DEPOSITOR_ROLE.members.1: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE.members.0: | |
| - | "eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11" |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE.members.2: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| values.withdrawerAC.0: | |
| - | "eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11" |
| values.withdrawerAC.2: | |
| - | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| + | "eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a" |
| } | |
| + | Status: CREATED |
| contract CanonicalBridgeV3 (eth:0x504392F02ee64D6B51aD3bCf7999E69EBe28b30a) | |
| +++ 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. | |
ms signer removed.
ms signer removed.
| contract Eclipse Multisig (eth:0x4720342419C1D316B948690d12C86D5b485C64E0) { | |
| +++ description: None | |
| values.$members.1: | |
| - | "eth:0xCD2fA978D163c0068167dDff8b6951f0E626e6A4" |
| values.multisigThreshold: | |
| - | "3 of 5 (60%)" |
| + | "3 of 4 (75%)" |
| } | |
Discovery rerun on the same block number with only config-related changes.
Discovery rerun on the same block number with only config-related changes.
| + | Status: CREATED |
| contract GnosisSafe (0x0706Ffc1722D53a85ba90f32807880ccee968Fed) | |
| +++ description: None | |
| + | Status: CREATED |
| contract CanonicalBridgeV1 (0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11) | |
| +++ 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. | |
| + | Status: CREATED |
| contract Eclipse Multisig (0x4720342419C1D316B948690d12C86D5b485C64E0) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Eclipse Multisig 2 (0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC) | |
| +++ description: None | |
| + | Status: CREATED |
| contract EtherBridge (0x83cB71D80078bf670b3EfeC6AD9E5E6407cD0fd1) | |
| +++ description: (Deprecated) Entrypoint for depositing assets. This contract calls the Mailbox contract for each deposit. In practice this path is not used for deposits. | |
| + | Status: CREATED |
| contract CanonicalBridgeV2 (0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51) | |
| +++ 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. | |
| + | Status: CREATED |
| contract Mailbox (0xb23B2492f7A9631104A5877F7FFA00633660968d) | |
| +++ description: (Deprecated) Mailbox contract for L1 -> L2 messaging. There is no canonical way to send messages back. | |
| + | Status: CREATED |
| contract Upgrader0to1 (0xD02f545d57536BC1E8F12D867731F006AacE71E3) | |
| +++ description: This contract was used for an upgrade an still retains its permissions and permissioned actors. | |
| + | Status: CREATED |
| contract Treasury (0xD7E4b67E735733aC98a88F13d087D8aac670E644) | |
| +++ 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. | |
discodrive. new contract 'canonicalBridgeV2' added with minimal diff to the old one.
discodrive.
new contract ‘canonicalBridgeV2’ added with minimal diff to the old one.
| EOA (0x1a84163249B2909f746C725F23D5ae2a66D7C4fE) { | |
| +++ description: None | |
| receivedPermissions.0.from: | |
| - | "eth:0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11" |
| + | "eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| } | |
| contract CanonicalBridgeV1 (0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11) { | |
| +++ 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. | |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE.members.1: | |
| - | "0x1a84163249B2909f746C725F23D5ae2a66D7C4fE" |
| values.withdrawAuthorityAC.1: | |
| - | "0x1a84163249B2909f746C725F23D5ae2a66D7C4fE" |
| } | |
| contract Eclipse Multisig (0x4720342419C1D316B948690d12C86D5b485C64E0) { | |
| +++ description: None | |
| receivedPermissions.3: | |
| + | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"authorize withdrawals to any address.","role":".withdrawAuthorityAC"} |
| receivedPermissions.4: | |
| + | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"grant / revoke all access control roles and thus access all permissioned functions in the contract.","role":".defaultAdminAC"} |
| receivedPermissions.5: | |
| + | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"pause the contract for deposits and withdrawals.","role":".pauserAC"} |
| } | |
| contract Eclipse Multisig 2 (0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC) { | |
| +++ description: None | |
| receivedPermissions.0: | |
| + | {"permission":"interact","from":"eth:0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51","description":"grant / revoke all access control roles and thus access all permissioned functions in the contract.","role":".defaultAdminAC"} |
| } | |
| contract Treasury (0xD7E4b67E735733aC98a88F13d087D8aac670E644) { | |
| +++ 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. | |
| values.accessControl.DEPOSITOR_ROLE.members.0: | |
| - | "0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11" |
| values.accessControl.DEPOSITOR_ROLE.members.1: | |
| + | "0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE.members.2: | |
| + | "0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| values.withdrawerAC.2: | |
| + | "0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51" |
| } | |
| + | Status: CREATED |
| contract CanonicalBridgeV2 (0x867A8FcD5Bb6774d4d37fb342D669A35FF789a51) | |
| +++ 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. | |
Bridge upgrade without major logic changes. EtherBridge - Now called CanonicalBridge.sol - More granular roles (AuthorityMultisig still main admin) - 'FraudWindow' of 7d introduced for normal withdrawals (but still using permissioned withdrawals, and Treasury allows permissioned direct emergencyWithdraw()) - Two step process for withdrawals interfaces with the bridge and not the Treasury directly: 1) authorizeWithdraw() by permissioned actor any time 2) claimWithdraw() after 7d by anyone Treasury - AccessControl and SemVer added - minor changes EtherBridge
Bridge upgrade without major logic changes.
authorizeWithdraw() by permissioned actor any time 2) claimWithdraw() after 7d by anyone| contract TreasuryOwner (0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC) { | |
| +++ description: None | |
| receivedPermissions: | |
| - | [{"permission":"upgrade","target":"0xD7E4b67E735733aC98a88F13d087D8aac670E644"}] |
| } | |
| contract EtherBridge (0x83cB71D80078bf670b3EfeC6AD9E5E6407cD0fd1) { | |
| +++ description: None | |
| values.paused: | |
| - | false |
| + | true |
| } | |
| contract Treasury (0xD7E4b67E735733aC98a88F13d087D8aac670E644) { | |
| +++ description: None | |
| sourceHashes.1: | |
| - | "0x9bdc786276b4d7feab768c6c8c296d44e22918524e1a28b23db40678d2b0eeef" |
| + | "0x63d1cc40bc2613e87b2d6905ffda15f04f069e3bf72cb12a2979f95a0e7010b7" |
| issuedPermissions.0.target: | |
| - | "0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC" |
| + | "0x0000000000000000000000000000000000000000" |
| values.$admin: | |
| - | "0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC" |
| + | "0x0000000000000000000000000000000000000000" |
| values.$implementation: | |
| - | "0xa8E15d2B1bf6B0Fd3Bc9Ead06323c0730b67f8d4" |
| + | "0xF1F7a359C3f33EE8A66bdCbf4c897D25Caf90978" |
| values.$pastUpgrades.1: | |
| + | ["2024-11-05T03:53:23.000Z","0x15aecc2b0cac5c03221b0f7ade10e888ad4f944df4bdc19c1f3c40fc56d5ebbb",["0xF1F7a359C3f33EE8A66bdCbf4c897D25Caf90978"]] |
| values.$upgradeCount: | |
| - | 1 |
| + | 2 |
| values.accessControl.DEFAULT_ADMIN_ROLE.members.1: | |
| + | "0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC" |
| values.accessControl.DEFAULT_ADMIN_ROLE.members.0: | |
| + | "0x4720342419C1D316B948690d12C86D5b485C64E0" |
| values.accessControl.PAUSER_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0xD02f545d57536BC1E8F12D867731F006AacE71E3","0x4720342419C1D316B948690d12C86D5b485C64E0","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.STARTER_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0xD02f545d57536BC1E8F12D867731F006AacE71E3","0x4720342419C1D316B948690d12C86D5b485C64E0","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.UPGRADER_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0xD02f545d57536BC1E8F12D867731F006AacE71E3","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.EMERGENCY_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0xD02f545d57536BC1E8F12D867731F006AacE71E3","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.DEPOSITOR_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.accessControl.WITHDRAW_AUTHORITY_ROLE: | |
| + | {"adminRole":"DEFAULT_ADMIN_ROLE","members":["0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11","0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC"]} |
| values.getVersionComponents.major: | |
| - | 1 |
| + | 2 |
| values.owner: | |
| - | "0x7B2c1CbB33c53c3C6a695e36096AD2cfCE1c0efC" |
| values.pendingOwner: | |
| - | "0x4720342419C1D316B948690d12C86D5b485C64E0" |
| values.DEFAULT_ADMIN_ROLE: | |
| + | "0x0000000000000000000000000000000000000000000000000000000000000000" |
| values.DEPOSITOR_ROLE: | |
| + | "0xd50fd8c1b5fa5213a5974932fcc33d2992a99225bc9319caf7cf652d0d2b9acf" |
| values.EMERGENCY_ROLE: | |
| + | "0x9e97963c33348a1cae64c3216747be51682ee42f36d1ed282cb81018cdb30e3d" |
| values.PAUSER_ROLE: | |
| + | "0x39935d86204acf3d77da26425d7a46606d2550568c6b1876f3a2e76c804c7626" |
| values.STARTER_ROLE: | |
| + | "0xac6a94bcd1ac2877eda181de9748e5972fc07f76d4864cecf836b3fca185e53c" |
| values.UPGRADER_ROLE: | |
| + | "0x0fb7166d9f681d2bd296a45a1a2e81365c392be30b6156d73b45df44e85cdb9f" |
| values.WITHDRAW_AUTHORITY_ROLE: | |
| + | "0xfe482b7b16acc2ea6eda181934b481a09d50ed8e3579b43c531bc57b84336c53" |
| } | |
| + | Status: CREATED |
| contract CanonicalBridge (0x2B08D7cF7EafF0f5f6623d9fB09b080726D4be11) | |
| +++ description: None | |
| + | Status: CREATED |
| contract Upgrader0to1 (0xD02f545d57536BC1E8F12D867731F006AacE71E3) | |
| +++ description: None | |

A Multisig with 3/4 threshold.
A Multisig with 3/5 threshold.


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.
Permissioned escrow for assets bridged to Eclipse. There is no canonical messaging and users need to trust the bridgeA message-passing protocol between two blockchains. At its most basic, a token bridge consists of a smart contract which can escrow funds on one side of the bridge, and instruct the release or minting of corresponding assets on the other side, but bridges could also support arbitrary messages. How these instructions are validated is a critical factor in assessing the trust assumptions of a bridge. operators to process deposits and authorize withdrawals.
This contract was used for an upgrade an still retains its permissions and permissioned actors.
The current deployment carries some associated risks:
Funds can be stolen if a contract receives a malicious code upgrade. There is no delay on code upgrades (CRITICAL).