From 986a8c18d3a78404d3995763d02449a4699504aa Mon Sep 17 00:00:00 2001 From: sendra Date: Wed, 22 Oct 2025 17:03:42 +0200 Subject: [PATCH 1/6] feat: X Layer aDI path activation --- .../XLayerNetworkADIPathActivation.md | 57 +++++++++++++++++++ ...yerNetworkADIPathActivation_20251022.s.sol | 56 ++++++++++++++++++ .../config.ts | 14 +++++ 3 files changed, 127 insertions(+) create mode 100644 src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md create mode 100644 src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol create mode 100644 src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/config.ts diff --git a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md new file mode 100644 index 000000000..49b8c39e2 --- /dev/null +++ b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md @@ -0,0 +1,57 @@ +--- +title: "X Layer network aDI path activation" +author: "BGD Labs @bgdlabs" +discussions: TODO +snapshot: TODO +--- + +## Simple Summary + +Proposal to register the necessary XLayer adapters on a.DI, a technical pre-requirement for an activation vote of Aave v3 XLayer. + +## Motivation + +In order to be able to pass messages from Ethereum to XLayer via a.DI (Aave Delivery Infrastructure), it is necessary to at least have one valid adapter Ethereum → XLayer smart contract enabled in the system (native adapter). + +The first case of message passing Ethereum → XLayer is the activation proposal for an Aave v3 XLayer pool and consequently, to be able to execute on the XLayer side the payload, the Aave governance should approve in advance the a.DI adapters smart contracts. + +## Specification + +The proposal payload simply registers pre-deployed XLayer adapters (with the necessary configurations to communicate with the XLayer a.DI) on the Ethereum a.DI instance. + +This is done by calling the enableBridgeAdapters() function on the Ethereum Cross-chain Controller smart contract. + +The following are the configured adapters for the Ethereum → XLayer path. The required confirmations on the path are 1 out of 1. + +| Network | XLayer Native Adapter | +| -------- | ------------------------------------------- | +| Ethereum | [](https://etherscan.io/address/) | +| XLayer | [](https://www.oklink.com/x-layer/address/) | + +The new a.DI deployments on XLayer network are as follows: + +| Contract | Address | +| -------------------- | ------------------------------------------- | +| CrossChainController | [](https://www.oklink.com/x-layer/address/) | +| Granular Guardian | [](https://www.oklink.com/x-layer/address/) | + +The new Aave Governance deployments on XLayer network are as follows: + +| Contract | Address | +| ------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| PayloadsController | [](https://www.oklink.com/x-layer/address/) | +| Executor Lvl 1 | [](https://www.oklink.com/x-layer/address/) | +| Governance Guardian | [0xeB55A63bf9993d80c86D47f819B5eC958c7C127B](https://www.oklink.com/x-layer/address/0xeB55A63bf9993d80c86D47f819B5eC958c7C127B) | +| BGD Labs Guardian | [0x734c3ff8de95c3745770df69053a31fdc92f2526](https://www.oklink.com/x-layer/address/0x734c3ff8de95c3745770df69053a31fdc92f2526) | + +## References + +- Adapter Implementations: [XLayer Native Adapters]() +- Payload Implementation: [Payload]() +- Payload Tests: [tests]() +- Diffs: [a.DI diffs]() +- [Discussion]() + +## Copyright + +Copyright and related rights waived via [CC0](https://creativecommons.org/publicdomain/zero/1.0/). diff --git a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol new file mode 100644 index 000000000..27870217b --- /dev/null +++ b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol @@ -0,0 +1,56 @@ +// SPDX-License-Identifier: MIT +pragma solidity ^0.8.0; + +import {GovV3Helpers, IPayloadsControllerCore, PayloadsControllerUtils} from 'aave-helpers/src/GovV3Helpers.sol'; +import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol'; +import {EthereumScript} from 'solidity-utils/contracts/utils/ScriptUtils.sol'; + +address constant PAYLOAD = address(0); // TODO: replace with actual payload once deployed + +/** + * @dev Deploy Ethereum + * deploy-command: make deploy-ledger contract=src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol:DeployEthereum chain=mainnet + * verify-command: FOUNDRY_PROFILE=deploy npx catapulta-verify -b broadcast/XLayerNetworkADIPathActivation_20251022.s.sol/1/run-latest.json + */ +contract DeployEthereum is EthereumScript { + function run() external broadcast { + // compose action + IPayloadsControllerCore.ExecutionAction[] + memory actions = new IPayloadsControllerCore.ExecutionAction[](1); + actions[0] = GovV3Helpers.buildAction(PAYLOAD); + + // register action at payloadsController + GovV3Helpers.createPayload(actions); + } +} + +/** + * @dev Create Proposal + * command: make deploy-ledger contract=src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol:CreateProposal chain=mainnet + */ +contract CreateProposal is EthereumScript { + function run() external { + // create payloads + PayloadsControllerUtils.Payload[] memory payloads = new PayloadsControllerUtils.Payload[](1); + + // compose actions for validation + { + IPayloadsControllerCore.ExecutionAction[] + memory actionsEthereum = new IPayloadsControllerCore.ExecutionAction[](1); + actionsEthereum[0] = GovV3Helpers.buildAction(PAYLOAD); + payloads[0] = GovV3Helpers.buildMainnetPayload(vm, actionsEthereum); + } + + // create proposal + vm.startBroadcast(); + GovV3Helpers.createProposal( + vm, + payloads, + GovernanceV3Ethereum.VOTING_PORTAL_ETH_AVAX, + GovV3Helpers.ipfsHashFile( + vm, + 'src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md' + ) + ); + } +} diff --git a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/config.ts b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/config.ts new file mode 100644 index 000000000..46356fb5e --- /dev/null +++ b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/config.ts @@ -0,0 +1,14 @@ +import {ConfigFile} from '../../generator/types'; +export const config: ConfigFile = { + rootOptions: { + author: 'BGD Labs @bgdlabs', + pools: ['AaveV3Ethereum'], + title: 'X Layer network aDI path activation', + shortName: 'XLayerNetworkADIPathActivation', + date: '20251022', + discussion: '', + snapshot: '', + votingNetwork: 'AVALANCHE', + }, + poolOptions: {AaveV3Ethereum: {configs: {OTHERS: {}}, cache: {blockNumber: 23633696}}}, +}; From c8046024e4b0ab0223e5d7bdfd3da7aa74de3f41 Mon Sep 17 00:00:00 2001 From: sendra Date: Tue, 4 Nov 2025 16:28:23 +0100 Subject: [PATCH 2/6] feat: add deployed addresses --- .../XLayerNetworkADIPathActivation.md | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md index 49b8c39e2..07af3dad0 100644 --- a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md +++ b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md @@ -23,26 +23,26 @@ This is done by calling the enableBridgeAdapters() function on the Ethereum Cros The following are the configured adapters for the Ethereum → XLayer path. The required confirmations on the path are 1 out of 1. -| Network | XLayer Native Adapter | -| -------- | ------------------------------------------- | -| Ethereum | [](https://etherscan.io/address/) | -| XLayer | [](https://www.oklink.com/x-layer/address/) | +| Network | XLayer Native Adapter | +| -------- | ------------------------------------------------------------------------------------------------------------------------------- | +| Ethereum | [0x9fD570da8fFe3384F1093833D44072ea79ABdEB0](https://etherscan.io/address/0x9fD570da8fFe3384F1093833D44072ea79ABdEB0) | +| XLayer | [0xEbc2c80073E4752e9A1D2e9A9bC98e8F4EeE9Be9](https://www.oklink.com/x-layer/address/0xEbc2c80073E4752e9A1D2e9A9bC98e8F4EeE9Be9) | The new a.DI deployments on XLayer network are as follows: -| Contract | Address | -| -------------------- | ------------------------------------------- | -| CrossChainController | [](https://www.oklink.com/x-layer/address/) | -| Granular Guardian | [](https://www.oklink.com/x-layer/address/) | +| Contract | Address | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------- | +| CrossChainController | [0xEd42a7D8559a463722Ca4beD50E0Cc05a386b0e1](https://www.oklink.com/x-layer/address/0xEd42a7D8559a463722Ca4beD50E0Cc05a386b0e1) | +| Granular Guardian | [0x4457cA11E90f416Cc1D3a8E1cA41C0cdEcC251d4](https://www.oklink.com/x-layer/address/0x4457cA11E90f416Cc1D3a8E1cA41C0cdEcC251d4) | The new Aave Governance deployments on XLayer network are as follows: | Contract | Address | | ------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| PayloadsController | [](https://www.oklink.com/x-layer/address/) | -| Executor Lvl 1 | [](https://www.oklink.com/x-layer/address/) | +| PayloadsController | [0x80e11cB895a23C901a990239E5534054C66476B5](https://www.oklink.com/x-layer/address/0x80e11cB895a23C901a990239E5534054C66476B5) | +| Executor Lvl 1 | [0xE2E8Badc5d50f8a6188577B89f50701cDE2D4e19](https://www.oklink.com/x-layer/address/0xE2E8Badc5d50f8a6188577B89f50701cDE2D4e19) | | Governance Guardian | [0xeB55A63bf9993d80c86D47f819B5eC958c7C127B](https://www.oklink.com/x-layer/address/0xeB55A63bf9993d80c86D47f819B5eC958c7C127B) | -| BGD Labs Guardian | [0x734c3ff8de95c3745770df69053a31fdc92f2526](https://www.oklink.com/x-layer/address/0x734c3ff8de95c3745770df69053a31fdc92f2526) | +| BGD Labs Guardian | [0x734c3fF8DE95c3745770df69053A31FDC92F2526](https://www.oklink.com/x-layer/address/0x734c3ff8de95c3745770df69053a31fdc92f2526) | ## References From 41ec673f1818fe0a6719435b530b8fd327228ad2 Mon Sep 17 00:00:00 2001 From: sendra Date: Tue, 4 Nov 2025 16:32:14 +0100 Subject: [PATCH 3/6] feat: add payload address --- .../XLayerNetworkADIPathActivation.md | 2 +- .../XLayerNetworkADIPathActivation_20251022.s.sol | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md index 07af3dad0..35af26aba 100644 --- a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md +++ b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md @@ -46,7 +46,7 @@ The new Aave Governance deployments on XLayer network are as follows: ## References -- Adapter Implementations: [XLayer Native Adapters]() +- Adapter Implementations: [XLayer Native Adapters](https://github.com/aave-dao/aave-delivery-infrastructure/blob/3d430b0441eab83f5825501077e8a02227d31634/src/contracts/adapters/xLayer/xLayerAdapter.sol) - Payload Implementation: [Payload]() - Payload Tests: [tests]() - Diffs: [a.DI diffs]() diff --git a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol index 27870217b..35d7d9f7c 100644 --- a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol +++ b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation_20251022.s.sol @@ -5,7 +5,7 @@ import {GovV3Helpers, IPayloadsControllerCore, PayloadsControllerUtils} from 'aa import {GovernanceV3Ethereum} from 'aave-address-book/GovernanceV3Ethereum.sol'; import {EthereumScript} from 'solidity-utils/contracts/utils/ScriptUtils.sol'; -address constant PAYLOAD = address(0); // TODO: replace with actual payload once deployed +address constant PAYLOAD = 0x90345B3f6d25684EB921c056Fad6CCf6360ceA5B; /** * @dev Deploy Ethereum From 5d4174b1845ed719c9734be558326ee58cf61565 Mon Sep 17 00:00:00 2001 From: sendra Date: Tue, 4 Nov 2025 16:46:26 +0100 Subject: [PATCH 4/6] feat: add links --- .../XLayerNetworkADIPathActivation.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md index 35af26aba..5e665a468 100644 --- a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md +++ b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md @@ -2,7 +2,6 @@ title: "X Layer network aDI path activation" author: "BGD Labs @bgdlabs" discussions: TODO -snapshot: TODO --- ## Simple Summary @@ -47,9 +46,9 @@ The new Aave Governance deployments on XLayer network are as follows: ## References - Adapter Implementations: [XLayer Native Adapters](https://github.com/aave-dao/aave-delivery-infrastructure/blob/3d430b0441eab83f5825501077e8a02227d31634/src/contracts/adapters/xLayer/xLayerAdapter.sol) -- Payload Implementation: [Payload]() -- Payload Tests: [tests]() -- Diffs: [a.DI diffs]() +- Payload Implementation: [Payload](https://github.com/bgd-labs/adi-deploy-bgd-fork/blob/8852ea9fe8909446c2a0a35d46b816e7e88877f1/scripts/payloads/adapters/ethereum/Ethereum_Activate_XLayer_Bridge_Adapter_Payload.s.sol) +- Payload Tests: [tests](https://github.com/bgd-labs/adi-deploy-bgd-fork/blob/8852ea9fe8909446c2a0a35d46b816e7e88877f1/tests/payloads/ethereum/AddXLayerPathTest.t.sol) +- Diffs: [a.DI diffs](https://github.com/bgd-labs/adi-deploy-bgd-fork/blob/8852ea9fe8909446c2a0a35d46b816e7e88877f1/diffs/adi_add_xlayer_path_to_adiethereum_before_adi_add_xlayer_path_to_adiethereum_after.md) - [Discussion]() ## Copyright From c91273653cb18854c77083ca81fd142967e6a43d Mon Sep 17 00:00:00 2001 From: sendra Date: Wed, 5 Nov 2025 15:36:18 +0100 Subject: [PATCH 5/6] fix: added forum link --- .../XLayerNetworkADIPathActivation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md index 5e665a468..ab369b7b4 100644 --- a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md +++ b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md @@ -1,7 +1,7 @@ --- title: "X Layer network aDI path activation" author: "BGD Labs @bgdlabs" -discussions: TODO +discussions: "https://governance.aave.com/t/technical-maintenance-proposals/15274/120" --- ## Simple Summary @@ -49,7 +49,7 @@ The new Aave Governance deployments on XLayer network are as follows: - Payload Implementation: [Payload](https://github.com/bgd-labs/adi-deploy-bgd-fork/blob/8852ea9fe8909446c2a0a35d46b816e7e88877f1/scripts/payloads/adapters/ethereum/Ethereum_Activate_XLayer_Bridge_Adapter_Payload.s.sol) - Payload Tests: [tests](https://github.com/bgd-labs/adi-deploy-bgd-fork/blob/8852ea9fe8909446c2a0a35d46b816e7e88877f1/tests/payloads/ethereum/AddXLayerPathTest.t.sol) - Diffs: [a.DI diffs](https://github.com/bgd-labs/adi-deploy-bgd-fork/blob/8852ea9fe8909446c2a0a35d46b816e7e88877f1/diffs/adi_add_xlayer_path_to_adiethereum_before_adi_add_xlayer_path_to_adiethereum_after.md) -- [Discussion]() +- [Discussion](https://governance.aave.com/t/technical-maintenance-proposals/15274/120) ## Copyright From ee2544b964baa9074d97c9e301bd27eee3f51d51 Mon Sep 17 00:00:00 2001 From: sendra Date: Wed, 5 Nov 2025 17:18:09 +0100 Subject: [PATCH 6/6] fix: correct addresses --- .../XLayerNetworkADIPathActivation.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md index ab369b7b4..8869c7cf3 100644 --- a/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md +++ b/src/20251022_AaveV3Ethereum_XLayerNetworkADIPathActivation/XLayerNetworkADIPathActivation.md @@ -31,8 +31,8 @@ The new a.DI deployments on XLayer network are as follows: | Contract | Address | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------- | -| CrossChainController | [0xEd42a7D8559a463722Ca4beD50E0Cc05a386b0e1](https://www.oklink.com/x-layer/address/0xEd42a7D8559a463722Ca4beD50E0Cc05a386b0e1) | -| Granular Guardian | [0x4457cA11E90f416Cc1D3a8E1cA41C0cdEcC251d4](https://www.oklink.com/x-layer/address/0x4457cA11E90f416Cc1D3a8E1cA41C0cdEcC251d4) | +| CrossChainController | [0xFdd46155fD3DA5B907AD3B9f9395366290f58097](https://www.oklink.com/x-layer/address/0xFdd46155fD3DA5B907AD3B9f9395366290f58097) | +| Granular Guardian | [0xD6727ec503A8d0C10a0EAA4e76eAf9A628188b25](https://www.oklink.com/x-layer/address/0xD6727ec503A8d0C10a0EAA4e76eAf9A628188b25) | The new Aave Governance deployments on XLayer network are as follows: