Skip to content

Commit e8b59c1

Browse files
committed
Squashed commit of the following:
commit 24e4cca Merge: 270a1ec 5ea49e6 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Feb 6 03:05:34 2025 -0800 Merge branch 'main' into jaime-dev commit 270a1ec Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Feb 6 01:24:53 2025 -0800 Update overview.md commit 6a2935c Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Mon Feb 3 23:57:11 2025 -0800 unified bridge styling commit dcd345d Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Mon Feb 3 01:34:47 2025 -0800 unified bridge docs revision commit a73c775 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Sun Feb 2 23:17:52 2025 -0800 Update overview.md commit 29c6e34 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 20:35:34 2025 -0800 Update overview.md commit 52eac0c Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 20:25:49 2025 -0800 overview styling commit a8b4c20 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 18:44:19 2025 -0800 overview v0.2 fixes commit def65a8 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 12:51:05 2025 -0800 v0.2 overview fixing styling commit 43cb7e2 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 12:37:40 2025 -0800 Update overview.md commit 5ca4417 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 12:07:21 2025 -0800 v0.2 fixing yaml file commit 7a0c51c Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 11:49:08 2025 -0800 directory fixing broken link commit 0679665 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 11:37:19 2025 -0800 architecture overview adding md file commit cbba7d0 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 11:34:01 2025 -0800 v0.2 docs agglayer node, yaml, overview commit 483ea65 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 10:53:18 2025 -0800 agglayer v0.2 styling, formatting, indexing commit 7bcdd5c Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 10:21:10 2025 -0800 Update mkdocs.yml nav bar commit afdfe16 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 09:58:33 2025 -0800 agglayer reorganizing files commit 3d8aa9f Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Fri Jan 31 09:46:50 2025 -0800 agglayer v0.2 docs: node; overview commit e619627 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Jan 30 21:47:35 2025 -0800 agglayer docs overview, unified bridge, crosschain interop, pessimistic proof, commit 1c87ec2 Merge: 4887c4e 4614969 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Jan 30 21:04:16 2025 -0800 Merge branch 'jaime-dev' into dev commit 4614969 Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Jan 30 21:03:57 2025 -0800 update overview al landing page commit 4887c4e Merge: c6a568f f8ec8ee Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Jan 30 15:41:06 2025 -0800 Merge branch 'jaime-dev' into dev commit f8ec8ee Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Jan 30 15:40:54 2025 -0800 update overview fixing styling commit c6a568f Merge: e521c18 76f064b Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Jan 30 15:13:40 2025 -0800 Merge branch 'jaime-dev' into dev commit 76f064b Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Jan 30 15:12:36 2025 -0800 agglayer overview commit e521c18 Merge: 7d9da35 045cdcb Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Wed Jan 29 21:56:57 2025 -0800 Merge branch 'jaime-dev' into dev commit 045cdcb Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Wed Jan 29 21:47:54 2025 -0800 agglayer v0.2 Agglayer Rust cross-chain interop overview pessimistic proof commit 7d9da35 Author: mitchpolygon <mitch@polygon.technology> Date: Tue Jan 14 14:36:47 2025 -0500 Update overview.md commit a355cc3 Author: mitchpolygon <mitch@polygon.technology> Date: Wed Jan 8 10:21:27 2025 -0500 Update overview.md commit 7de6ddd Author: mitchpolygon <mitch@polygon.technology> Date: Tue Jan 7 08:49:43 2025 -0500 Update high-level-views.md commit a5f5694 Author: mitchpolygon <mitch@polygon.technology> Date: Tue Jan 7 08:35:29 2025 -0500 updated PP arch commit ef5ec65 Author: mitchpolygon <mitch@polygon.technology> Date: Mon Jan 6 10:16:13 2025 -0500 updated PP and FEP arch formatting commit b3aba60 Author: mitchpolygon <mitch@polygon.technology> Date: Mon Jan 6 10:11:20 2025 -0500 updated FEP formatting commit 6d3fed2 Author: mitchpolygon <mitch@polygon.technology> Date: Mon Jan 6 10:07:12 2025 -0500 updated PP formatting commit dd3dbb9 Author: mitchpolygon <mitch@polygon.technology> Date: Mon Dec 30 08:12:57 2024 -0500 updated cdk docs formatting commit b744d8a Author: mitchpolygon <mitch@polygon.technology> Date: Mon Dec 30 07:39:48 2024 -0500 updates to cdk docs commit d8834b1 Author: mitchpolygon <mitch@polygon.technology> Date: Sat Dec 21 10:40:21 2024 -0500 updates to overview and release notes commit 8d5197f Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Dec 19 09:58:32 2024 -0800 moved folders commit 1e41b49 Author: mitchpolygon <mitch@polygon.technology> Date: Thu Dec 19 12:42:04 2024 -0500 Update README.md commit b5c5feb Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Dec 12 09:06:00 2024 -0800 Update agglayer-go.md commit 0fe1f4f Author: Jaime-N <149603094+Jaime-N@users.noreply.github.com> Date: Thu Dec 12 09:04:05 2024 -0800 Update README.md
1 parent fbc3ff7 commit e8b59c1

File tree

5 files changed

+23
-19
lines changed

5 files changed

+23
-19
lines changed

docs/agglayer/architecture/pessimistic-proof.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ The AggLayer is designed to be flexible enough to support blockchain architectur
1414

1515
The pessimistic proof does not extend security to chains integrated with the AggLayer; rather, each chain connected to the AggLayer is as secure as it would be if it were not integrated with the AggLayer.
1616

17+
1718
The AggLayer uses per-chain pessimistic proofs to ensure a complete view of all token and message transfers occurring over the protocol. This allows chains that may not trust one another to safely interoperate.
1819

1920
## Building a Pessimistic Proof
@@ -22,6 +23,8 @@ For any cross-chain token transfer to be finalized such that the token may be wi
2223
> **Note:** For more on how the AggLayer settles bridge claims to the underlying L1, see: [Unified Bridge](#)
2324
2425
## Token State
26+
27+
=======
2528
Each chain maintains a data structure called a **Local Exit Tree**, which contains only the messages and token transfers originating from it. In the unified bridge, Ethereum holds a **Global Exit Root**, which represents a tree containing all of the Local Exit Roots of chains integrated with the AggLayer.
2629

2730
> **Note:** See the [Unified Bridge: Data Structures and State Management](#) for a detailed breakdown of all data used by the AggLayer.

docs/agglayer/architecture/unified-bridge.md

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,12 @@
55
The unified bridge (prev. LxLy bridge) is the common access point for chains connected to the Agglayer. Along with the pessimistic proof, it is one of two core components of the Agglayer.
66

77
The unified bridge consists of two main components:
8-
- **On-Chain Smart Contracts**: Maintain the data structures related to chain states, cross-chain transactions, and the Agglayer’s Global Exit Root.
9-
- **Off-Chain Services & Tooling**: APIs and indexing frameworks for interacting with the bridge.
8+
**On-Chain Smart Contracts**: Maintain the data structures related to chain states, cross-chain transactions, and the Agglayer’s Global Exit Root.
9+
**Off-Chain Services & Tooling**: APIs and indexing frameworks for interacting with the bridge.
1010

1111
## Bridge Smart Contracts
1212

13-
The unified bridge is responsible for maintaining the data structures related to chain states, cross-chain transactions, and the Agglayer’s Global Exit Root, ensuring cross-chain transactions are indeed finalized on the L1 before they can be claimed. The smart contracts are as follows:
13+
The unified bridge is responsible for maintaining the data structures related to chain states, cross-chain transactions, and the Agglayer’s Global Exit Root, ensuring cross-chain transactions are finalized on the L1 before they can be claimed. The smart contracts are as follows:
1414

1515
| Contract | Functions | Deployed on |
1616
|----------|------------|--------------|
@@ -21,37 +21,35 @@ The unified bridge is responsible for maintaining the data structures related to
2121
## Unified Bridge: Data Structures
2222

2323
### Local Exit Root & Local Index
24-
- All cross-chain transactions using the unified bridge are recorded in a **Sparse Merkle Tree** called the **Local Exit Tree**.
25-
- Each Agglayer-connected chain updates its own **Local Exit Tree**, maintained in `PolygonZkEVMBridgeV2.sol` on the L2.
26-
- The **Local Exit Root** is the root of the Local Exit Tree, a binary tree with a height of 32, updated each time a new cross-chain transaction is initiated.
27-
- The **Local Root Index** is the index of the leaf node, which is a hash of cross-chain transactions such as `bridgeAsset` / `bridgeMessage`.
24+
All cross-chain transactions using the unified bridge are recorded in a **Sparse Merkle Tree** called the **Local Exit Tree**. Each Agglayer-connected chain updates its own **Local Exit Tree**, maintained in `PolygonZkEVMBridgeV2.sol` on the L2. The **Local Exit Root** is the root of the Local Exit Tree, a binary tree with a height of 32, updated each time a new cross-chain transaction is initiated.
25+
**Local Root Index** is the index of the leaf node, which is a hash of cross-chain transactions such as `bridgeAsset` / `bridgeMessage`.
2826

2927
### Rollup Exit Root
30-
- Once a chain updates its **Local Exit Tree** in `PolygonRollupManager.sol`, the contract updates the chain’s **Local Exit Root**.
31-
- Each time a chain’s Local Exit Root is updated, the **Rollup Exit Root** is also updated.
32-
- The **Rollup Exit Root** is the Merkle root of all Local Exit Roots.
33-
- Any update to the Rollup Exit Root triggers an update of the **Global Exit Root**, which is maintained in `PolygonZkEVMGlobalExitRootV2.sol` on the L1.
28+
Once a chain updates its **Local Exit Tree** in `PolygonRollupManager.sol`, the contract updates the chain’s **Local Exit Root**. Each time a chain’s Local Exit Root is updated, the **Rollup Exit Root** is also updated.The **Rollup Exit Root** is the Merkle root of all Local Exit Roots.
29+
30+
Any update to the Rollup Exit Root triggers an update of the **Global Exit Root**, which is maintained in `PolygonZkEVMGlobalExitRootV2.sol` on the L1.
3431

3532
### Mainnet Exit Root
36-
- Functionally similar to the **Local Exit Root**, but it tracks the bridging activities of L1 to all chains connected through the Agglayer.
37-
- When the **Mainnet Exit Root** is updated in `PolygonZkEVMBridgeV2.sol`, the contract then updates `mainnetExitRoot` in `PolygonZkEVMGlobalExitRootV2.sol`.
33+
Functionally similar to the **Local Exit Root**, but it tracks the bridging activities of L1 to all chains connected through the Agglayer.
34+
When the **Mainnet Exit Root** is updated in `PolygonZkEVMBridgeV2.sol`, the contract then updates `mainnetExitRoot` in `PolygonZkEVMGlobalExitRootV2.sol`.
3835

3936
### Global Exit Root, L1 Info Tree, Global Index
40-
- **Global Exit Root** is the hash of the **Rollup Exit Root** and **Mainnet Exit Root**.
41-
- When a new **Rollup Exit Root** or **Mainnet Exit Root** is submitted, the contract appends the new **Global Exit Root** to the **L1 Info Tree**.
42-
- **L1 Info Tree** is a **Sparse Merkle Tree** that maintains Global Exit Roots. It is a binary tree with a height of 32, updated every time a new Global Exit Root is submitted.
43-
- **Global Index** is a **256-bit string** used to locate the unique leaf in the latest **Global Exit Tree** when creating and verifying SMT proofs.
37+
**Global Exit Root** is the hash of the **Rollup Exit Root** and **Mainnet Exit Root**. When a new **Rollup Exit Root** or **Mainnet Exit Root** is submitted, the contract appends the new **Global Exit Root** to the **L1 Info Tree**.
38+
**L1 Info Tree** is a **Sparse Merkle Tree** that maintains Global Exit Roots. It is a binary tree with a height of 32, updated every time a new Global Exit Root is submitted.
39+
**Global Index** is a **256-bit string** used to locate the unique leaf in the latest **Global Exit Tree** when creating and verifying SMT proofs.
4440

4541
## Bridge Service
4642

4743
### Chain Indexer Framework
4844
- An EVM blockchain data indexer that parses, sorts, and organizes blockchain data for the **Bridge Service API**.
4945
- Each Agglayer-connected chain has its own indexer instance.
5046

47+
5148
### Transaction API
5249
- Provides details of a bridge transaction initiated by or incoming to a user’s wallet address.
5350

5451
**API Endpoints:**
52+
=======
5553
- **Testnet:**
5654
`https://api-gateway.polygon.technology/api/v3/transactions/testnet?userAddress={userAddress}`
5755
- **Mainnet:**

docs/agglayer/crosschain-interop/crosschain-interop.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,9 @@ The code for `BridgeAsset` can be found [here](https://github.com/0xPolygonHerme
3333
- **WETH**: WETH tokens are burned from the user's address.
3434
- **Foreign ERC20 Token**: Burn the token if it does not originate from the source network.
3535
- **Native ERC20 Token**: Run `permitData` (if provided), then transfer tokens to the bridge contract.
36+
3637
- **Note**: For ETH as the native token, the `PolygonZkEVMBridgeV2.WETHToken` address is set to `0x0`.
38+
3739
3. Emit the `BridgeEvent`.
3840
4. Add the `bridgeAsset` data to the Local Exit Tree as a leaf node.
3941

docs/agglayer/overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,15 +36,15 @@ hide:
3636
</a>
3737
</div>
3838
<div class="grid-item">
39-
<a href="./cross-chain-interop">
39+
<a href="agglayer/crosschain-interop/crosschain-interop.md">
4040
<div class="product-list-item-header">
4141
<div class="feature-card-heading">Cross-chain Interop</div>
4242
</div>
4343
<p class="feature-paragraph">Learn how to use <code>bridgeAndCall()</code> for cross-chain interactions</p>
4444
</a>
4545
</div>
4646
<div class="grid-item">
47-
<a href="../../agglayer/pessimistic-proof.md">
47+
<a href="agglayer/architecture/pessimistic-proof.md">
4848
<div class="product-list-item-header">
4949
<div class="feature-card-heading">Pessimistic Proof</div>
5050
</div>

docs/cdk/concepts/pessimistic-proofs.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ This ensures that all transactions are secure, trustlessly verified, and transpa
3737

3838
| Component | Repository | Notes |
3939
|--------------------------|---------------------------------------------------------------------------------------------|-------------------------------------------------------------|
40+
| Node (RPC and Sequencer) | [cdk-erigon](https://github.com/0xPolygonHermez/cdk-erigon) | Customizable; typically:<br>- Sequencer = 1 node<br>- RPC = multiple nodes |
4041
| Node (RPC and Sequencer) | [cdk-erigon v2.61.x](https://github.com/0xPolygonHermez/cdk-erigon) | Customizable; typically:<br>- Sequencer = 1 node<br>- RPC = multiple nodes |
4142
| Contracts | [zkevm-contracts](https://github.com/0xPolygonHermez/zkevm-contracts) | Includes Layer 1 contracts for functionality |
4243
| CLI tool | [cdk](https://github.com/0xPolygon/cdk) | Simplifies deployment and configuration |

0 commit comments

Comments
 (0)