Search for projects by name or address
LightLink is a project that lets dApps and enterprises offer users instant, gasless transactions.
LightLink is a project that lets dApps and enterprises offer users instant, gasless transactions.
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.
In the event of a 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. failure, users can force transactions to be included in the project’s chain by sending them to 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.. There can be up to a 12h delay on this operation.
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.
LightLink 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.. Transaction data is posted to Celestia, and blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. headers containing Celestia data pointers are posted to the CanonicalStateChain contract on Ethereum 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..
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.
The project implements an incomplete and non-functional proof systemThe infrastructure that allows projects to verify their state transitions. It is composed by onchain verifiers and offchain provers. The main two flavors are optimistic and ZK proof systems, but they can be combined in a hybrid model. In general though, if a system is able to accept state roots optimistically, even if it has a ZK component, it is considered an optimistic proof system..
LightLink chain state rootsA cryptographic hash succinctly representing a state using a Merkle tree. are periodically posted to Ethereum through a CanonicalStateChain contract 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. as blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. headers that also contain Celestia data pointers. After the challenge window of 5d, the published state root is assumed to be correct. During the challenge window, anyone can challenge a block header against some basic validity checks. The challenge fee required is 1.5 ETH. Once challenged, the permissioned defender can respond within 2d to the challenge, by providing the 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. header and the previous L2 header. If the defender does not respond, the block header is considered invalid, the canonical state chain is rolled back to the previous state root, and the challenger can claim back the challenge fee. If the defender successfully responds, the challenger loses the challenge fee to the defender. Since only the block header can be challenged and not the state transition, the system is vulnerable to invalid state roots. Moreover, state roots are not used for ERC20 withdrawals from the LightLinkERC20Bridge. Users can deposit tokens on the LightLink chain by sending them to the L1BridgeRegistry contract on Ethereum L1. On the LightLink chain, ERC20 token minting is then authorized by a permissioned set of signers providing signatures as input to the syncDeposit() function on the L2ERC20Predicate contract. Users can withdraw their funds by submitting a withdraw() transaction to the L2ERC20Predicate contract, which will burn the tokens on the LightLink chain. To then unlock tokens from 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. on L1, a validatorIn the context of L2s, a Validator is an actor that validates the correctness of state transitions. For optimistic rollups this corresponds to challengers, and for ZK rollups this corresponds to the onchain verifier multisig needs to validate the withdrawal based on off-chain validity checks. Users can exit the networkA constellation of nodes (peers) that communicate via a peer-to-peer protocol, for example, in propagating transactions and blocks to other nodes. once enough validators have signed off on the withdrawal. Currently, a minimum of 2 validators is required to sign off on a withdrawal. To deposit the gasA virtual fuel used to execute smart contracts on a rollup. The EVM (or other VM within the rollup) uses an accounting mechanism to correspond the consumption of gas to the consumption of computing resources, and to limit the consumption of computing resources. token, i.e. ETH, the LightLinkPortal is used which uses the CanonicalStateChain as the source for the state root, and withdrawals follow the usual OP stack process.
Users can be censored if validators decide to not mint tokens after observing an event on Ethereum.
Funds can be stolen if validators decide to mint more tokens than there are locked on Ethereum thus preventing some existing holders from being able to bring their funds back to Ethereum.
Funds can be stolen if validators relay a withdraw request that wasn't originated on the source chain.
Funds can be stolen if the publisher posts an invalid block header on Ethereum.
The metrics include upgrades on the currently used proxy contracts. Historical proxy contracts and changes of such are not included.
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 Challenge (0x1c1271bEE8556918092dA9238FcC77ee8be4b5Cd) | |
| +++ description: Allows to challenge block headers. Each challenge requires the payment of a challenger fee. DA challenges are enabled: false. Header challenges are enabled: true. L2 Header challenges are enabled: false. | |
| + | Status: CREATED |
| contract ChainOracle (0x2fbD45A4B57379492450c3D5a8fdcaD68336DB04) | |
| +++ description: Used to challenge L2 block headers. If L2 block header challenges are inactive, this contract is not used. | |
| + | Status: CREATED |
| contract Lightlink Multisig 1 (0x3345702FeA1669Efa1e085610A62F89d159Bc0c8) | |
| +++ description: Custom multisig implementation with a hardcoded n/2+1 threshold. | |
| + | Status: CREATED |
| contract L1BridgeRegistry (0x624631881655a310adcF0d1336658Cc977609b72) | |
| +++ description: The L1BridgeRegistry contract is used to store the address of the LightLink multisig and the address and voting power of the validators managing the bridge. | |
| + | Status: CREATED |
| contract L1ERC20Predicate (0x63105ee97BfB22Dfe23033b3b14A4F8FED121ee9) | |
| +++ description: ERC20 token escrow contract. It is validated by external validators, according to the L1BridgeRegistry values. | |
| + | Status: CREATED |
| contract CanonicalStateChain (0x65E325A22c0F519041db69F5693EbAc3b4AE71bE) | |
| +++ description: Contains the logic to update the state of the chain, and apply rollbacks based on an external challenger contract. If a block header is challenged and rolled back, then all subsequent blocks are also rolled back. | |
| + | Status: CREATED |
| contract SystemConfig (0x670E1C42A7A5962348138110E3ede3F422c10e2f) | |
| +++ description: Fork of the OP stack's SystemConfig. It link to the main portal contract and stores a 'start block' number. Both values are currently unused. Most importantly, it does NOT contain the resource configuration info. | |
| + | Status: CREATED |
| contract Lightlink Multisig 2 (0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7) | |
| +++ description: None | |
| + | Status: CREATED |
| contract L1CrossDomainMessenger (0xA30eAe91b9184Bb5e14b86Dd10d463F67c699C38) | |
| +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function. | |
| + | Status: CREATED |
| contract LightLinkPortal (0xB1Fb5A59A738c2df565d79572b0D6f348aE7cADE) | |
| +++ description: Main contract to deposit ETH and handle L1 to L2 messages. It also allows to prove and finalize withdrawals. It also stores the resource configuration for the chain. | |
| + | Status: CREATED |
| contract L1StandardBridge (0xc7a7199bb5F0aA7B54eca90fC793Ec83E5683b0c) | |
| +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. | |
| + | Status: CREATED |
| contract RLPReader (0xEe055Dddc462e35521005e1b00FcEFd78E1fc9E2) | |
| +++ description: None | |
Lightlink moves to opstack (partly).
Lightlink moves to opstack (partly).
| contract CanonicalStateChain (0x65E325A22c0F519041db69F5693EbAc3b4AE71bE) { | |
| +++ description: Contains the logic to update the state of the chain, and apply rollbacks based on an external challenger contract. If a block header is challenged and rolled back, then all subsequent blocks are also rolled back. | |
| values.chainHead: | |
| - | 1168 |
| + | 1280 |
| values.getHead.epoch: | |
| - | 21993309 |
| + | 22187754 |
| values.getHead.l2Height: | |
| - | 132108607 |
| + | 136759159 |
| values.getHead.prevHash: | |
| - | "0x0357f67f6fa768ac91770152e7bebe923951d349f2648f8886c87c63d737e9dc" |
| + | "0x13498280d1840253acf9037a65d1f32ae475fec6783fc96558d0b7061d414767" |
| values.getHead.outputRoot: | |
| - | "0x62314ae58400e70955d971703a83315a1cf702aef43d048e47f39cbf9925efb7" |
| + | "0x56d4485d2c8ec043386f5d8a5834075e352263448f68dc6f0b0749d38654ad64" |
| values.getHead.celestiaPointers.20.height: | |
| - | 4336314 |
| + | 4740181 |
| values.getHead.celestiaPointers.20.shareStart: | |
| - | 5376 |
| + | 8832 |
| values.getHead.celestiaPointers.20.shareLen: | |
| - | 3664 |
| + | 3537 |
| values.getHead.celestiaPointers.19.height: | |
| - | 4336284 |
| + | 4740151 |
| values.getHead.celestiaPointers.19.shareStart: | |
| - | 6080 |
| + | 8960 |
| values.getHead.celestiaPointers.19.shareLen: | |
| - | 3655 |
| + | 3664 |
| values.getHead.celestiaPointers.18.height: | |
| - | 4336102 |
| + | 4740135 |
| values.getHead.celestiaPointers.18.shareStart: | |
| - | 9344 |
| + | 5696 |
| values.getHead.celestiaPointers.18.shareLen: | |
| - | 3663 |
| + | 3656 |
| values.getHead.celestiaPointers.17.height: | |
| - | 4336343 |
| + | 4740165 |
| values.getHead.celestiaPointers.17.shareStart: | |
| - | 6208 |
| + | 5952 |
| values.getHead.celestiaPointers.17.shareLen: | |
| - | 3664 |
| + | 3542 |
| values.getHead.celestiaPointers.16.height: | |
| - | 4336227 |
| + | 4739924 |
| values.getHead.celestiaPointers.16.shareStart: | |
| - | 9920 |
| + | 5376 |
| values.getHead.celestiaPointers.16.shareLen: | |
| - | 3664 |
| + | 3631 |
| values.getHead.celestiaPointers.15.height: | |
| - | 4336358 |
| + | 4739864 |
| values.getHead.celestiaPointers.15.shareStart: | |
| - | 6848 |
| + | 8832 |
| values.getHead.celestiaPointers.15.shareLen: | |
| - | 3529 |
| + | 3665 |
| values.getHead.celestiaPointers.14.height: | |
| - | 4336241 |
| + | 4740099 |
| values.getHead.celestiaPointers.14.shareStart: | |
| - | 6784 |
| + | 7424 |
| values.getHead.celestiaPointers.14.shareLen: | |
| - | 3546 |
| + | 3662 |
| values.getHead.celestiaPointers.13.height: | |
| - | 4336143 |
| + | 4739895 |
| values.getHead.celestiaPointers.13.shareStart: | |
| - | 6784 |
| + | 5760 |
| values.getHead.celestiaPointers.13.shareLen: | |
| - | 3664 |
| + | 3545 |
| values.getHead.celestiaPointers.12.height: | |
| - | 4336210 |
| + | 4739958 |
| values.getHead.celestiaPointers.12.shareStart: | |
| - | 1344 |
| + | 5952 |
| values.getHead.celestiaPointers.12.shareLen: | |
| - | 3664 |
| + | 3646 |
| values.getHead.celestiaPointers.11.height: | |
| - | 4336303 |
| + | 4740044 |
| values.getHead.celestiaPointers.11.shareStart: | |
| - | 3456 |
| + | 8192 |
| values.getHead.celestiaPointers.11.shareLen: | |
| - | 3657 |
| + | 3664 |
| values.getHead.celestiaPointers.10.height: | |
| - | 4336118 |
| + | 4740195 |
| values.getHead.celestiaPointers.10.shareStart: | |
| - | 4096 |
| + | 9408 |
| values.getHead.celestiaPointers.10.shareLen: | |
| - | 3662 |
| + | 3167 |
| values.getHead.celestiaPointers.9.height: | |
| - | 4336329 |
| + | 4740010 |
| values.getHead.celestiaPointers.9.shareStart: | |
| - | 4352 |
| + | 7936 |
| values.getHead.celestiaPointers.9.shareLen: | |
| - | 3665 |
| + | 3579 |
| values.getHead.celestiaPointers.8.height: | |
| - | 4336193 |
| + | 4740025 |
| values.getHead.celestiaPointers.8.shareStart: | |
| - | 7744 |
| + | 5248 |
| values.getHead.celestiaPointers.8.shareLen: | |
| - | 3635 |
| + | 3582 |
| values.getHead.celestiaPointers.7.height: | |
| - | 4336127 |
| + | 4740080 |
| values.getHead.celestiaPointers.7.shareStart: | |
| - | 4352 |
| + | 9280 |
| values.getHead.celestiaPointers.7.shareLen: | |
| - | 3663 |
| + | 3605 |
| values.getHead.celestiaPointers.6.height: | |
| - | 4336258 |
| + | 4740119 |
| values.getHead.celestiaPointers.6.shareStart: | |
| - | 1792 |
| + | 5184 |
| values.getHead.celestiaPointers.6.shareLen: | |
| - | 3652 |
| + | 3665 |
| values.getHead.celestiaPointers.5.height: | |
| - | 4336175 |
| + | 4739940 |
| values.getHead.celestiaPointers.5.shareStart: | |
| - | 1792 |
| + | 8576 |
| values.getHead.celestiaPointers.5.shareLen: | |
| - | 3664 |
| + | 3576 |
| values.getHead.celestiaPointers.4.height: | |
| - | 4336373 |
| + | 4739880 |
| values.getHead.celestiaPointers.4.shareStart: | |
| - | 4416 |
| + | 6208 |
| values.getHead.celestiaPointers.4.shareLen: | |
| - | 3664 |
| + | 3259 |
| values.getHead.celestiaPointers.3.height: | |
| - | 4336090 |
| + | 4739978 |
| values.getHead.celestiaPointers.3.shareStart: | |
| - | 6912 |
| + | 9408 |
| values.getHead.celestiaPointers.3.shareLen: | |
| - | 3658 |
| + | 3437 |
| values.getHead.celestiaPointers.2.height: | |
| - | 4336161 |
| + | 4739997 |
| values.getHead.celestiaPointers.2.shareStart: | |
| - | 3840 |
| + | 5504 |
| values.getHead.celestiaPointers.2.shareLen: | |
| - | 3665 |
| + | 3432 |
| values.getHead.celestiaPointers.1.height: | |
| - | 4336273 |
| + | 4739912 |
| values.getHead.celestiaPointers.1.shareStart: | |
| - | 2688 |
| + | 6464 |
| values.getHead.celestiaPointers.1.shareLen: | |
| - | 3465 |
| + | 3447 |
| values.getHead.celestiaPointers.0.height: | |
| - | 4336382 |
| + | 4740063 |
| values.getHead.celestiaPointers.0.shareStart: | |
| - | 6976 |
| + | 7872 |
| values.getHead.celestiaPointers.0.shareLen: | |
| - | 3415 |
| + | 3224 |
| } | |
| + | Status: CREATED |
| contract SystemConfig (0x670E1C42A7A5962348138110E3ede3F422c10e2f) | |
| +++ description: Fork of the OP stack's SystemConfig. It link to the main portal contract and stores a 'start block' number. Both values are currently unused. Most importantly, it does NOT contain the resource configuration info. | |
| + | Status: CREATED |
| contract L1CrossDomainMessenger (0xA30eAe91b9184Bb5e14b86Dd10d463F67c699C38) | |
| +++ description: Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain's epoch gas limit, it can be resubmitted via this contract's replay function. | |
| + | Status: CREATED |
| contract LightLinkPortal (0xB1Fb5A59A738c2df565d79572b0D6f348aE7cADE) | |
| +++ description: Main contract to deposit ETH and handle L1 to L2 messages. It also allows to prove and finalize withdrawals. It also stores the resource configuration for the chain. | |
| + | Status: CREATED |
| contract L1StandardBridge (0xc7a7199bb5F0aA7B54eca90fC793Ec83E5683b0c) | |
| +++ description: The main entry point to deposit ERC20 tokens from host chain to this chain. | |
Some admin / owner permissions moved from EOA to 3/3 Safe (Lightlink is moving to an op stack deployment).
Some admin / owner permissions moved from EOA to 3/3 Safe (Lightlink is moving to an op stack deployment).
| contract Challenge (0x1c1271bEE8556918092dA9238FcC77ee8be4b5Cd) { | |
| +++ description: None | |
| issuedPermissions.0.to: | |
| - | "0xcc90c738acfc1695D19336Bc3E392a46234112BF" |
| + | "0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7" |
| values.$admin: | |
| - | "0xcc90c738acfc1695D19336Bc3E392a46234112BF" |
| + | "0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7" |
| values.owner: | |
| - | "0xcc90c738acfc1695D19336Bc3E392a46234112BF" |
| + | "0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7" |
| } | |
| contract ChainOracle (0x2fbD45A4B57379492450c3D5a8fdcaD68336DB04) { | |
| +++ description: None | |
| issuedPermissions.0.to: | |
| - | "0xcc90c738acfc1695D19336Bc3E392a46234112BF" |
| + | "0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7" |
| values.$admin: | |
| - | "0xcc90c738acfc1695D19336Bc3E392a46234112BF" |
| + | "0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7" |
| values.owner: | |
| - | "0xcc90c738acfc1695D19336Bc3E392a46234112BF" |
| + | "0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7" |
| } | |
| contract CanonicalStateChain (0x65E325A22c0F519041db69F5693EbAc3b4AE71bE) { | |
| +++ description: None | |
| issuedPermissions.0.to: | |
| - | "0xcc90c738acfc1695D19336Bc3E392a46234112BF" |
| + | "0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7" |
| values.$admin: | |
| - | "0xcc90c738acfc1695D19336Bc3E392a46234112BF" |
| + | "0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7" |
| values.owner: | |
| - | "0xcc90c738acfc1695D19336Bc3E392a46234112BF" |
| + | "0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7" |
| } | |
| + | Status: CREATED |
| contract LightLinkMultisig2 (0x8D43A0d17F9883ED0b2Ddf89761d3cc74a5fC6C7) | |
| +++ description: None | |
Bridge paused, all ETH moved into a multisig. Probably connected to them moving their infra to the op stack fork. Put project under review and added warning.
Bridge paused, all ETH moved into a multisig. Probably connected to them moving their infra to the op stack fork.
Put project under review and added warning.
| contract LightLinkMultisig (0x3345702FeA1669Efa1e085610A62F89d159Bc0c8) { | |
| +++ description: None | |
| values.getTransactionCount: | |
| - | 20 |
| + | 22 |
| } | |
| contract LightLinkBridge (0x3ca373F5ecB92ac762f9876f6e773082A4589995) { | |
| +++ description: None | |
| values.isPaused: | |
| - | false |
| + | true |
| } | |
challengeWindow (the effective challenge period) increased to 5d.
challengeWindow (the effective challenge period) increased to 5d.
| contract Challenge (0x1c1271bEE8556918092dA9238FcC77ee8be4b5Cd) { | |
| +++ description: None | |
| values.challengeWindow: | |
| - | 259200 |
| + | 432000 |
| values.finalizationSeconds: | |
| - | 432000 |
| + | 604800 |
| } | |

Permissioned set of actors that can validate withdrawals from 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.. Each validatorsIn the context of L2s, a Validator is an actor that validates the correctness of state transitions. For optimistic rollups this corresponds to challengers, and for ZK rollups this corresponds to the onchain verifier has a voting power assigned that determines the weight of their vote. Currently, the threshold is set to 50.00% of the total voting power.
A Multisig with 3/3 threshold.
Custom multisig implementation with a hardcoded n/2+1 threshold.

Sends messages from host chain to this chain, and relays messages back onto host chain. In the event that a message sent from host chain to this chain is rejected for exceeding this chain’s epoch gas limitThe maximum amount of gas a transaction or block may consume., it can be resubmitted via this contract’s replay function.
The main entry point to deposit ERC20 tokens from host chain to this chain.
Allows to challenge blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. headers. Each challenge requires the payment of a challenger fee. DA challenges are enabled: false. Header challenges are enabled: true. 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. Header challenges are enabled: false.
Used to challenge 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. blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. headers. If L2 block header challenges are inactive, this contract is not used.
The L1BridgeRegistry contract is used to store the address of the LightLink multisig and the address and voting power of the validatorsIn the context of L2s, a Validator is an actor that validates the correctness of state transitions. For optimistic rollups this corresponds to challengers, and for ZK rollups this corresponds to the onchain verifier managing 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..
ERC20 token escrow contract. It is validated by external validatorsIn the context of L2s, a Validator is an actor that validates the correctness of state transitions. For optimistic rollups this corresponds to challengers, and for ZK rollups this corresponds to the onchain verifier, according to the L1BridgeRegistry values.
All supported tokens in this escrow are included in the value secured calculation.
Contains the logic to update the state of the chain, and apply rollbacks based on an external challenger contract. If a blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over. header is challenged and rolled back, then all subsequent blocks are also rolled back.
Fork of the OP stack’s SystemConfig. It link to the main portal contract and stores a ‘start blockAn ordered list of transactions and chain-related metadata that gets bundled together and published to the L1/DA layer. Nodes execute the transactions contained within blocks to change the rollup chain’s state. Protocol rules dictate what constitutes a valid block, and invalid blocks are skipped over.’ number. Both values are currently unused. Most importantly, it does NOT contain the resource configuration info.
Main contract to deposit ETH and handle 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. to 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. messages. It also allows to prove and finalize withdrawals. It also stores the resource configuration for the chain.
