diff --git a/safe.csv b/safe.csv index 3a7601ac..fea990f4 100644 --- a/safe.csv +++ b/safe.csv @@ -2025,6 +2025,33 @@ address,name,chainId 0x56C1a4b54921DEA9A344967a8693C7E661D72968,MiscAvalanche PROTOCOL_GUARDIAN,43114 0xD3cF979e676265e4f6379749DECe4708B9A22476,MiscAvalanche PROXY_ADMIN,43114 0x2Efe215aE82339fa059bb9d611E4cC858cfe9Df6,MiscAvalanche TRANSPARENT_PROXY_FACTORY,43114 +0x2D97F8FA96886Fd923c065F5457F9DDd494e3877,AaveV3Linea AAVE_PROTOCOL_DATA_PROVIDER,59144 +0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88,AaveV3Linea ACL_ADMIN,59144 +0xbf32c7dFC72b730967072B112927ca0de205dbb5,AaveV3Linea ACL_MANAGER,59144 +0x6c23bAF050ec192afc0B967a93b83e6c5405df43,AaveV3Linea CONFIG_ENGINE,59144 +0xc67bb8F2314fA0df50cBa314c6509A7bdAD500C0,AaveV3Linea DEFAULT_INCENTIVES_CONTROLLER,59144 +0x0165C65FB21bDC9Cdc09C627d62AB3a983337158,AaveV3Linea EMISSION_MANAGER,59144 +0xCFDAdA7DCd2e785cF706BaDBC2B8Af5084d595e9,AaveV3Linea ORACLE,59144 +0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac,AaveV3Linea POOL,59144 +0x89502c3731F69DDC95B65753708A07F8Cd0373F4,AaveV3Linea POOL_ADDRESSES_PROVIDER,59144 +0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2,AaveV3Linea POOL_ADDRESSES_PROVIDER_REGISTRY,59144 +0x812E7c19421D9f41A6DDCF047d5cc2dE2Ca5Bfa2,AaveV3Linea POOL_CONFIGURATOR,59144 +0x1236010CECea55998384e795B59815D871f5f94d,AaveV3Linea POOL_CONFIGURATOR_IMPL,59144 +0x36616cf17557639614c1cdDb356b1B83fc0B2132,AaveV3Linea POOL_IMPL,59144 +0x28ad75CA21793835b975130e9FdA149A476a2b7c,AaveV3Linea STATIC_A_TOKEN_FACTORY,59144 +0x117684358D990E42Eb1649E7e8C4691951dc1E71,AaveV3Linea UI_INCENTIVE_DATA_PROVIDER,59144 +0xf751969521E20A972A0776CDB0497Fad0F773F1F,AaveV3Linea UI_POOL_DATA_PROVIDER,59144 +0xff75B6da14FfbbfD355Daf7a2731456b3562Ba6D,AaveV3Linea WALLET_BALANCE_PROVIDER,59144 +0x4758213271BFdC72224A7a8742dC865fC97756e1,AaveV3Linea WETH_GATEWAY,59144 +0x0D3f821e9741C8a8Bcac231162320251Db0cdf52,GovernanceV3Linea CROSS_CHAIN_CONTROLLER,59144 +0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88,GovernanceV3Linea EXECUTOR_LVL_1,59144 +0x056E4C4E80D1D14a637ccbD0412CDAAEc5B51F4E,GovernanceV3Linea GOVERNANCE_GUARDIAN,59144 +0xc1cd6faF6e9138b4e6C21d438f9ebF2bd6F6cA16,GovernanceV3Linea GRANULAR_GUARDIAN,59144 +0x3BcE23a1363728091bc57A58a226CF2940C2e074,GovernanceV3Linea PAYLOADS_CONTROLLER,59144 +0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99,GovernanceV3Linea PC_DATA_HELPER,59144 +0x0BF186764D8333a938f35e5dD124a7b9b9dccDF9,MiscLinea PROTOCOL_GUARDIAN,59144 +0x160E35e28fEE90F3656420584e0a990276219b5A,MiscLinea PROXY_ADMIN,59144 +0xDe090EfCD6ef4b86792e2D84E55a5fa8d49D25D2,MiscLinea TRANSPARENT_PROXY_FACTORY,59144 0xe2108b60623C6Dcf7bBd535bD15a451fd0811f7b,AaveV3Scroll AAVE_PROTOCOL_DATA_PROVIDER,534352 0xc1ABF87FfAdf4908f4eC8dc54A25DCFEabAE4A24,AaveV3Scroll ACL_ADMIN,534352 0x7633F981D87dC6307227de9383D2ce7243158081,AaveV3Scroll ACL_MANAGER,534352 diff --git a/scripts/configs/governance/linea.ts b/scripts/configs/governance/linea.ts new file mode 100644 index 00000000..f17fa914 --- /dev/null +++ b/scripts/configs/governance/linea.ts @@ -0,0 +1,14 @@ +import {ChainId} from '@bgd-labs/rpc-env'; +import {GovernanceConfig} from '../types'; + +export const governanceConfigLinea: GovernanceConfig = { + name: 'Linea', + CHAIN_ID: ChainId.linea, + ADDRESSES: { + CROSS_CHAIN_CONTROLLER: '0x0D3f821e9741C8a8Bcac231162320251Db0cdf52', + PAYLOADS_CONTROLLER: '0x3BcE23a1363728091bc57A58a226CF2940C2e074', + PC_DATA_HELPER: '0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99', + GRANULAR_GUARDIAN: '0xc1cd6faF6e9138b4e6C21d438f9ebF2bd6F6cA16', + GOVERNANCE_GUARDIAN: '0x056E4C4E80D1D14a637ccbD0412CDAAEc5B51F4E', + }, +}; diff --git a/scripts/configs/networks/linea.ts b/scripts/configs/networks/linea.ts new file mode 100644 index 00000000..e33b624f --- /dev/null +++ b/scripts/configs/networks/linea.ts @@ -0,0 +1,12 @@ +import {ChainId} from '@bgd-labs/rpc-env'; +import {NetworkAddresses} from '../types'; + +export const lineaAddresses: NetworkAddresses = { + name: 'Linea', + chainId: ChainId.linea, + addresses: { + TRANSPARENT_PROXY_FACTORY: '0xDe090EfCD6ef4b86792e2D84E55a5fa8d49D25D2', + PROXY_ADMIN: '0x160E35e28fEE90F3656420584e0a990276219b5A', + PROTOCOL_GUARDIAN: '0x0BF186764D8333a938f35e5dD124a7b9b9dccDF9', + }, +}; diff --git a/scripts/configs/pools/linea.ts b/scripts/configs/pools/linea.ts new file mode 100644 index 00000000..8d42089e --- /dev/null +++ b/scripts/configs/pools/linea.ts @@ -0,0 +1,22 @@ +import {ChainId} from '@bgd-labs/rpc-env'; +import {PoolConfig} from '../types'; + +export const lineaProtoV3: PoolConfig = { + name: 'Linea', + chainId: ChainId.linea, + POOL_ADDRESSES_PROVIDER: '0x89502c3731F69DDC95B65753708A07F8Cd0373F4', + additionalAddresses: { + CONFIG_ENGINE: '0x6c23bAF050ec192afc0B967a93b83e6c5405df43', + POOL_ADDRESSES_PROVIDER_REGISTRY: '0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2', + UI_INCENTIVE_DATA_PROVIDER: '0x117684358D990E42Eb1649E7e8C4691951dc1E71', + UI_POOL_DATA_PROVIDER: '0xf751969521E20A972A0776CDB0497Fad0F773F1F', + WALLET_BALANCE_PROVIDER: '0xff75B6da14FfbbfD355Daf7a2731456b3562Ba6D', + WETH_GATEWAY: '0x4758213271BFdC72224A7a8742dC865fC97756e1', + STATIC_A_TOKEN_FACTORY: '0x28ad75CA21793835b975130e9FdA149A476a2b7c' + }, + initial: { + COLLECTOR: '0x86E2938daE289763D4e09a7e42c5cCcA62Cf9809', + DEFAULT_A_TOKEN_IMPL: '0x589750BA8aF186cE5B55391B0b7148cAD43a1619', + DEFAULT_VARIABLE_DEBT_TOKEN_IMPL: '0xBeC519531F0E78BcDdB295242fA4EC5251B38574' + }, +}; diff --git a/scripts/generateAddresses.ts b/scripts/generateAddresses.ts index cf52048d..7ed60ac9 100644 --- a/scripts/generateAddresses.ts +++ b/scripts/generateAddresses.ts @@ -27,6 +27,7 @@ import {optimismProtoV3, optimismSepoliaProtoV3} from './configs/pools/optimism' import {polygonProtoV2, polygonProtoV3} from './configs/pools/polygon'; import {scrollSepoliaProtoV3, scrollProtoV3} from './configs/pools/scroll'; import {zkSyncProtoV3} from './configs/pools/zksync'; +import {lineaProtoV3} from './configs/pools/linea'; import {generateGovernanceLibrary} from './generator/governanceV3Generator'; import {generateProtocolV2Library} from './generator/protocolV2Generator'; import {generateProtocolV3Library} from './generator/protocolV3Generator'; @@ -61,9 +62,11 @@ import {generateTokenList} from './generator/generateTokenList'; import {generateAaveV1} from './generator/protocolV1Generator'; import {governanceConfigZkSync} from './configs/governance/zksync'; import {zkSyncAddresses} from './configs/networks/zksync'; +import {lineaAddresses} from './configs/networks/linea'; import {ghoArbitrum} from './configs/gho/arbitrum'; import {ghoEthereum} from './configs/gho/ethereum'; import {generateGho} from './generator/ghoGenerator'; +import {governanceConfigLinea} from './configs/governance/linea'; async function main() { // cleanup ts artifacts @@ -93,6 +96,7 @@ async function main() { governanceConfigScroll, governanceConfigPolygonZkEvm, governanceConfigZkSync, + governanceConfigLinea, ].map((config) => generateGovernanceLibrary(config)), ); const v1Library = generateAaveV1(); @@ -132,6 +136,7 @@ async function main() { harmonyProtoV3, lidoEthereumMainnetProtoV3Pool, etherFiEthereumMainnetProtoV3Pool, + lineaProtoV3, ].map((config) => generateProtocolV3Library(config)), ); const ghoAddresses = [ghoEthereum, ghoArbitrum].map((config) => generateGho(config)); @@ -158,6 +163,7 @@ async function main() { polygonZkEvmAddresses, sepoliaAddresses, zkSyncAddresses, + lineaAddresses, ].map((addresses) => generateNetworkAddresses(addresses)); const govImports = generateGovV2(); diff --git a/src/AaveV3Linea.sol b/src/AaveV3Linea.sol new file mode 100644 index 00000000..72d4b492 --- /dev/null +++ b/src/AaveV3Linea.sol @@ -0,0 +1,93 @@ +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +// SPDX-License-Identifier: MIT +pragma solidity >=0.6.0; + +import {IPoolAddressesProvider, IPool, IPoolConfigurator, IAaveOracle, IPoolDataProvider, IACLManager} from './AaveV3.sol'; +import {ICollector} from './common/ICollector.sol'; +library AaveV3Linea { + // https://lineascan.build/address/0x89502c3731F69DDC95B65753708A07F8Cd0373F4 + IPoolAddressesProvider internal constant POOL_ADDRESSES_PROVIDER = + IPoolAddressesProvider(0x89502c3731F69DDC95B65753708A07F8Cd0373F4); + + // https://lineascan.build/address/0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac + IPool internal constant POOL = IPool(0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac); + + // https://lineascan.build/address/0x812E7c19421D9f41A6DDCF047d5cc2dE2Ca5Bfa2 + IPoolConfigurator internal constant POOL_CONFIGURATOR = + IPoolConfigurator(0x812E7c19421D9f41A6DDCF047d5cc2dE2Ca5Bfa2); + + // https://lineascan.build/address/0xCFDAdA7DCd2e785cF706BaDBC2B8Af5084d595e9 + IAaveOracle internal constant ORACLE = IAaveOracle(0xCFDAdA7DCd2e785cF706BaDBC2B8Af5084d595e9); + + // https://lineascan.build/address/0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88 + address internal constant ACL_ADMIN = 0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88; + + // https://lineascan.build/address/0xbf32c7dFC72b730967072B112927ca0de205dbb5 + IACLManager internal constant ACL_MANAGER = + IACLManager(0xbf32c7dFC72b730967072B112927ca0de205dbb5); + + // https://lineascan.build/address/0x2D97F8FA96886Fd923c065F5457F9DDd494e3877 + IPoolDataProvider internal constant AAVE_PROTOCOL_DATA_PROVIDER = + IPoolDataProvider(0x2D97F8FA96886Fd923c065F5457F9DDd494e3877); + + // https://lineascan.build/address/0x36616cf17557639614c1cdDb356b1B83fc0B2132 + address internal constant POOL_IMPL = 0x36616cf17557639614c1cdDb356b1B83fc0B2132; + + // https://lineascan.build/address/0x1236010CECea55998384e795B59815D871f5f94d + address internal constant POOL_CONFIGURATOR_IMPL = 0x1236010CECea55998384e795B59815D871f5f94d; + + // https://lineascan.build/address/0xc67bb8F2314fA0df50cBa314c6509A7bdAD500C0 + address internal constant DEFAULT_INCENTIVES_CONTROLLER = + 0xc67bb8F2314fA0df50cBa314c6509A7bdAD500C0; + + // https://lineascan.build/address/0x0165C65FB21bDC9Cdc09C627d62AB3a983337158 + address internal constant EMISSION_MANAGER = 0x0165C65FB21bDC9Cdc09C627d62AB3a983337158; + + // https://lineascan.build/address/0x6c23bAF050ec192afc0B967a93b83e6c5405df43 + address internal constant CONFIG_ENGINE = 0x6c23bAF050ec192afc0B967a93b83e6c5405df43; + + // https://lineascan.build/address/0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2 + address internal constant POOL_ADDRESSES_PROVIDER_REGISTRY = + 0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2; + + // https://lineascan.build/address/0x117684358D990E42Eb1649E7e8C4691951dc1E71 + address internal constant UI_INCENTIVE_DATA_PROVIDER = 0x117684358D990E42Eb1649E7e8C4691951dc1E71; + + // https://lineascan.build/address/0xf751969521E20A972A0776CDB0497Fad0F773F1F + address internal constant UI_POOL_DATA_PROVIDER = 0xf751969521E20A972A0776CDB0497Fad0F773F1F; + + // https://lineascan.build/address/0xff75B6da14FfbbfD355Daf7a2731456b3562Ba6D + address internal constant WALLET_BALANCE_PROVIDER = 0xff75B6da14FfbbfD355Daf7a2731456b3562Ba6D; + + // https://lineascan.build/address/0x4758213271BFdC72224A7a8742dC865fC97756e1 + address internal constant WETH_GATEWAY = 0x4758213271BFdC72224A7a8742dC865fC97756e1; + + // https://lineascan.build/address/0x28ad75CA21793835b975130e9FdA149A476a2b7c + address internal constant STATIC_A_TOKEN_FACTORY = 0x28ad75CA21793835b975130e9FdA149A476a2b7c; +} +library AaveV3LineaAssets {} +library AaveV3LineaEModes { + uint8 internal constant NONE = 0; +} +library AaveV3LineaExternalLibraries { + // https://lineascan.build/address/0x6990DFae5c227F1aC5D486b1AC0eecAcC2B3e68d + address internal constant FLASHLOAN_LOGIC = 0x6990DFae5c227F1aC5D486b1AC0eecAcC2B3e68d; + + // https://lineascan.build/address/0xbFEDA4cC9184727Ac7546Ce529D306bB5CffcB4F + address internal constant BORROW_LOGIC = 0xbFEDA4cC9184727Ac7546Ce529D306bB5CffcB4F; + + // https://lineascan.build/address/0x3f399651Fc3FE274F7754Bb240BC80e096c0d1c5 + address internal constant BRIDGE_LOGIC = 0x3f399651Fc3FE274F7754Bb240BC80e096c0d1c5; + + // https://lineascan.build/address/0x848eD9932047Fae0baf74d645450018F424A4367 + address internal constant E_MODE_LOGIC = 0x848eD9932047Fae0baf74d645450018F424A4367; + + // https://lineascan.build/address/0xB84A9FBa16902e990EbCb63A22bB46996E9CfABe + address internal constant LIQUIDATION_LOGIC = 0xB84A9FBa16902e990EbCb63A22bB46996E9CfABe; + + // https://lineascan.build/address/0x7Cc1def95a7eCfb5afF91425D5e828802A8d914E + address internal constant POOL_LOGIC = 0x7Cc1def95a7eCfb5afF91425D5e828802A8d914E; + + // https://lineascan.build/address/0x3c012c5d3Be847F46a1428A3Bc53d70dFe691194 + address internal constant SUPPLY_LOGIC = 0x3c012c5d3Be847F46a1428A3Bc53d70dFe691194; +} diff --git a/src/GovernanceV3Linea.sol b/src/GovernanceV3Linea.sol new file mode 100644 index 00000000..f1aa21a5 --- /dev/null +++ b/src/GovernanceV3Linea.sol @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: MIT +pragma solidity >=0.6.0; + +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +import {IGovernanceCore, IPayloadsControllerCore, IDataWarehouse, IVotingStrategy} from './GovernanceV3.sol'; +library GovernanceV3Linea { + // https://lineascan.build/address/0x0D3f821e9741C8a8Bcac231162320251Db0cdf52 + address internal constant CROSS_CHAIN_CONTROLLER = 0x0D3f821e9741C8a8Bcac231162320251Db0cdf52; + + // https://lineascan.build/address/0x3BcE23a1363728091bc57A58a226CF2940C2e074 + IPayloadsControllerCore internal constant PAYLOADS_CONTROLLER = + IPayloadsControllerCore(0x3BcE23a1363728091bc57A58a226CF2940C2e074); + + // https://lineascan.build/address/0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99 + address internal constant PC_DATA_HELPER = 0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99; + + // https://lineascan.build/address/0xc1cd6faF6e9138b4e6C21d438f9ebF2bd6F6cA16 + address internal constant GRANULAR_GUARDIAN = 0xc1cd6faF6e9138b4e6C21d438f9ebF2bd6F6cA16; + + // https://lineascan.build/address/0x056E4C4E80D1D14a637ccbD0412CDAAEc5B51F4E + address internal constant GOVERNANCE_GUARDIAN = 0x056E4C4E80D1D14a637ccbD0412CDAAEc5B51F4E; + + // https://lineascan.build/address/0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88 + address internal constant EXECUTOR_LVL_1 = 0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88; +} diff --git a/src/MiscLinea.sol b/src/MiscLinea.sol new file mode 100644 index 00000000..aa84ffee --- /dev/null +++ b/src/MiscLinea.sol @@ -0,0 +1,14 @@ +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +// SPDX-License-Identifier: MIT +pragma solidity >=0.6.0; + +library MiscLinea { + // https://lineascan.build/address/0xDe090EfCD6ef4b86792e2D84E55a5fa8d49D25D2 + address internal constant TRANSPARENT_PROXY_FACTORY = 0xDe090EfCD6ef4b86792e2D84E55a5fa8d49D25D2; + + // https://lineascan.build/address/0x160E35e28fEE90F3656420584e0a990276219b5A + address internal constant PROXY_ADMIN = 0x160E35e28fEE90F3656420584e0a990276219b5A; + + // https://lineascan.build/address/0x0BF186764D8333a938f35e5dD124a7b9b9dccDF9 + address internal constant PROTOCOL_GUARDIAN = 0x0BF186764D8333a938f35e5dD124a7b9b9dccDF9; +} diff --git a/src/ts/AaveAddressBook.ts b/src/ts/AaveAddressBook.ts index e0a92e40..8a9c579b 100644 --- a/src/ts/AaveAddressBook.ts +++ b/src/ts/AaveAddressBook.ts @@ -12,6 +12,7 @@ export * as GovernanceV3Gnosis from './GovernanceV3Gnosis'; export * as GovernanceV3Scroll from './GovernanceV3Scroll'; export * as GovernanceV3PolygonZkEvm from './GovernanceV3PolygonZkEvm'; export * as GovernanceV3ZkSync from './GovernanceV3ZkSync'; +export * as GovernanceV3Linea from './GovernanceV3Linea'; export * as AaveV1 from './AaveV1'; export * as AaveV2EthereumAMM from './AaveV2EthereumAMM'; export * as AaveV2EthereumArc from './AaveV2EthereumArc'; @@ -42,6 +43,7 @@ export * as AaveV3Fantom from './AaveV3Fantom'; export * as AaveV3Harmony from './AaveV3Harmony'; export * as AaveV3EthereumLido from './AaveV3EthereumLido'; export * as AaveV3EthereumEtherFi from './AaveV3EthereumEtherFi'; +export * as AaveV3Linea from './AaveV3Linea'; export * as MiscArbitrum from './MiscArbitrum'; export * as MiscArbitrumSepolia from './MiscArbitrumSepolia'; export * as MiscAvalanche from './MiscAvalanche'; @@ -60,6 +62,7 @@ export * as MiscScroll from './MiscScroll'; export * as MiscPolygonZkEvm from './MiscPolygonZkEvm'; export * as MiscSepolia from './MiscSepolia'; export * as MiscZkSync from './MiscZkSync'; +export * as MiscLinea from './MiscLinea'; export * as AaveGovernanceV2 from './AaveGovernanceV2'; export * as AaveSafetyModule from './AaveSafetyModule'; export * as GhoEthereum from './GhoEthereum'; diff --git a/src/ts/AaveV3Linea.ts b/src/ts/AaveV3Linea.ts new file mode 100644 index 00000000..c99bacdb --- /dev/null +++ b/src/ts/AaveV3Linea.ts @@ -0,0 +1,59 @@ +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +// IPoolAddressesProvider https://lineascan.build/address/0x89502c3731F69DDC95B65753708A07F8Cd0373F4 +export const POOL_ADDRESSES_PROVIDER = '0x89502c3731F69DDC95B65753708A07F8Cd0373F4'; + +// IPool https://lineascan.build/address/0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac +export const POOL = '0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac'; + +// IPoolConfigurator https://lineascan.build/address/0x812E7c19421D9f41A6DDCF047d5cc2dE2Ca5Bfa2 +export const POOL_CONFIGURATOR = '0x812E7c19421D9f41A6DDCF047d5cc2dE2Ca5Bfa2'; + +// IAaveOracle https://lineascan.build/address/0xCFDAdA7DCd2e785cF706BaDBC2B8Af5084d595e9 +export const ORACLE = '0xCFDAdA7DCd2e785cF706BaDBC2B8Af5084d595e9'; + +// https://lineascan.build/address/0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88 +export const ACL_ADMIN = '0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88'; + +// IACLManager https://lineascan.build/address/0xbf32c7dFC72b730967072B112927ca0de205dbb5 +export const ACL_MANAGER = '0xbf32c7dFC72b730967072B112927ca0de205dbb5'; + +// IPoolDataProvider https://lineascan.build/address/0x2D97F8FA96886Fd923c065F5457F9DDd494e3877 +export const AAVE_PROTOCOL_DATA_PROVIDER = '0x2D97F8FA96886Fd923c065F5457F9DDd494e3877'; + +// https://lineascan.build/address/0x36616cf17557639614c1cdDb356b1B83fc0B2132 +export const POOL_IMPL = '0x36616cf17557639614c1cdDb356b1B83fc0B2132'; + +// https://lineascan.build/address/0x1236010CECea55998384e795B59815D871f5f94d +export const POOL_CONFIGURATOR_IMPL = '0x1236010CECea55998384e795B59815D871f5f94d'; + +// https://lineascan.build/address/0xc67bb8F2314fA0df50cBa314c6509A7bdAD500C0 +export const DEFAULT_INCENTIVES_CONTROLLER = '0xc67bb8F2314fA0df50cBa314c6509A7bdAD500C0'; + +// https://lineascan.build/address/0x0165C65FB21bDC9Cdc09C627d62AB3a983337158 +export const EMISSION_MANAGER = '0x0165C65FB21bDC9Cdc09C627d62AB3a983337158'; + +// https://lineascan.build/address/0x6c23bAF050ec192afc0B967a93b83e6c5405df43 +export const CONFIG_ENGINE = '0x6c23bAF050ec192afc0B967a93b83e6c5405df43'; + +// https://lineascan.build/address/0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2 +export const POOL_ADDRESSES_PROVIDER_REGISTRY = '0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2'; + +// https://lineascan.build/address/0x117684358D990E42Eb1649E7e8C4691951dc1E71 +export const UI_INCENTIVE_DATA_PROVIDER = '0x117684358D990E42Eb1649E7e8C4691951dc1E71'; + +// https://lineascan.build/address/0xf751969521E20A972A0776CDB0497Fad0F773F1F +export const UI_POOL_DATA_PROVIDER = '0xf751969521E20A972A0776CDB0497Fad0F773F1F'; + +// https://lineascan.build/address/0xff75B6da14FfbbfD355Daf7a2731456b3562Ba6D +export const WALLET_BALANCE_PROVIDER = '0xff75B6da14FfbbfD355Daf7a2731456b3562Ba6D'; + +// https://lineascan.build/address/0x4758213271BFdC72224A7a8742dC865fC97756e1 +export const WETH_GATEWAY = '0x4758213271BFdC72224A7a8742dC865fC97756e1'; + +// https://lineascan.build/address/0x28ad75CA21793835b975130e9FdA149A476a2b7c +export const STATIC_A_TOKEN_FACTORY = '0x28ad75CA21793835b975130e9FdA149A476a2b7c'; + +export const CHAIN_ID = 59144; +export const ASSETS = {} as const; +export const E_MODES = {} as const; +export const EXTERNAL_LIBRARIES = {} as const; diff --git a/src/ts/GovernanceV3Linea.ts b/src/ts/GovernanceV3Linea.ts new file mode 100644 index 00000000..62ab5abd --- /dev/null +++ b/src/ts/GovernanceV3Linea.ts @@ -0,0 +1,19 @@ +// https://lineascan.build/address/0x0D3f821e9741C8a8Bcac231162320251Db0cdf52 +export const CROSS_CHAIN_CONTROLLER = '0x0D3f821e9741C8a8Bcac231162320251Db0cdf52'; + +// IPayloadsControllerCore https://lineascan.build/address/0x3BcE23a1363728091bc57A58a226CF2940C2e074 +export const PAYLOADS_CONTROLLER = '0x3BcE23a1363728091bc57A58a226CF2940C2e074'; + +// https://lineascan.build/address/0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99 +export const PC_DATA_HELPER = '0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99'; + +// https://lineascan.build/address/0xc1cd6faF6e9138b4e6C21d438f9ebF2bd6F6cA16 +export const GRANULAR_GUARDIAN = '0xc1cd6faF6e9138b4e6C21d438f9ebF2bd6F6cA16'; + +// https://lineascan.build/address/0x056E4C4E80D1D14a637ccbD0412CDAAEc5B51F4E +export const GOVERNANCE_GUARDIAN = '0x056E4C4E80D1D14a637ccbD0412CDAAEc5B51F4E'; + +// https://lineascan.build/address/0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88 +export const EXECUTOR_LVL_1 = '0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88'; + +export const CHAIN_ID = 59144; diff --git a/src/ts/MiscLinea.ts b/src/ts/MiscLinea.ts new file mode 100644 index 00000000..74428b58 --- /dev/null +++ b/src/ts/MiscLinea.ts @@ -0,0 +1,11 @@ +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +// https://lineascan.build/address/0xDe090EfCD6ef4b86792e2D84E55a5fa8d49D25D2 +export const TRANSPARENT_PROXY_FACTORY = '0xDe090EfCD6ef4b86792e2D84E55a5fa8d49D25D2'; + +// https://lineascan.build/address/0x160E35e28fEE90F3656420584e0a990276219b5A +export const PROXY_ADMIN = '0x160E35e28fEE90F3656420584e0a990276219b5A'; + +// https://lineascan.build/address/0x0BF186764D8333a938f35e5dD124a7b9b9dccDF9 +export const PROTOCOL_GUARDIAN = '0x0BF186764D8333a938f35e5dD124a7b9b9dccDF9'; + +export const CHAIN_ID = 59144; diff --git a/tests/cache/verified.json b/tests/cache/verified.json index 79f29a31..6107b834 100644 --- a/tests/cache/verified.json +++ b/tests/cache/verified.json @@ -6488,6 +6488,86 @@ "name": "PriceCapAdapterStable" } }, + "59144": { + "0x0D3f821e9741C8a8Bcac231162320251Db0cdf52": { + "name": "TransparentUpgradeableProxy" + }, + "0x056E4C4E80D1D14a637ccbD0412CDAAEc5B51F4E": { + "name": "SafeProxy" + }, + "0xbf32c7dFC72b730967072B112927ca0de205dbb5": { + "name": "ACLManager" + }, + "0x6c23bAF050ec192afc0B967a93b83e6c5405df43": { + "name": "AaveV3ConfigEngine" + }, + "0x28ad75CA21793835b975130e9FdA149A476a2b7c": { + "name": "TransparentUpgradeableProxy" + }, + "0x3BcE23a1363728091bc57A58a226CF2940C2e074": { + "name": "TransparentUpgradeableProxy" + }, + "0xc1cd6faF6e9138b4e6C21d438f9ebF2bd6F6cA16": { + "name": "GranularGuardianAccessControl" + }, + "0x812E7c19421D9f41A6DDCF047d5cc2dE2Ca5Bfa2": { + "name": "InitializableImmutableAdminUpgradeabilityProxy" + }, + "0x1236010CECea55998384e795B59815D871f5f94d": { + "name": "PoolConfiguratorInstance" + }, + "0x117684358D990E42Eb1649E7e8C4691951dc1E71": { + "name": "UiIncentiveDataProviderV3" + }, + "0x160E35e28fEE90F3656420584e0a990276219b5A": { + "name": "ProxyAdmin" + }, + "0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99": { + "name": "PayloadsControllerDataHelper" + }, + "0xCFDAdA7DCd2e785cF706BaDBC2B8Af5084d595e9": { + "name": "AaveOracle" + }, + "0x0165C65FB21bDC9Cdc09C627d62AB3a983337158": { + "name": "EmissionManager" + }, + "0x4758213271BFdC72224A7a8742dC865fC97756e1": { + "name": "WrappedTokenGatewayV3" + }, + "0x8c2d95FE7aeB57b86961F3abB296A54f0ADb7F88": { + "name": "Executor" + }, + "0x36616cf17557639614c1cdDb356b1B83fc0B2132": { + "name": "L2PoolInstance" + }, + "0x96dFCCB3F9ACDaF6c8f8a35E814023C3484d1eA2": { + "name": "PoolAddressesProviderRegistry" + }, + "0x0BF186764D8333a938f35e5dD124a7b9b9dccDF9": { + "name": "SafeProxy" + }, + "0xc47b8C00b0f69a36fa203Ffeac0334874574a8Ac": { + "name": "InitializableImmutableAdminUpgradeabilityProxy" + }, + "0xff75B6da14FfbbfD355Daf7a2731456b3562Ba6D": { + "name": "WalletBalanceProvider" + }, + "0x2D97F8FA96886Fd923c065F5457F9DDd494e3877": { + "name": "AaveProtocolDataProvider" + }, + "0xc67bb8F2314fA0df50cBa314c6509A7bdAD500C0": { + "name": "InitializableImmutableAdminUpgradeabilityProxy" + }, + "0xf751969521E20A972A0776CDB0497Fad0F773F1F": { + "name": "UiPoolDataProviderV3" + }, + "0x89502c3731F69DDC95B65753708A07F8Cd0373F4": { + "name": "PoolAddressesProvider" + }, + "0xDe090EfCD6ef4b86792e2D84E55a5fa8d49D25D2": { + "name": "TransparentProxyFactory" + } + }, "84532": { "0xAF4646B0131af8fc0DC435AF7F7d303Ac131E072": { "name": "AaveProtocolDataProvider" diff --git a/tests/sanity/configEngine.spec.ts b/tests/sanity/configEngine.spec.ts index a77333cf..f907a224 100644 --- a/tests/sanity/configEngine.spec.ts +++ b/tests/sanity/configEngine.spec.ts @@ -50,7 +50,7 @@ describe('config engine', () => { const client = getClient(addresses.CHAIN_ID); // we only want to validate AaveV3 config engines as V2 does not expose the necessary getters // we also skip testnets as they are not controlled trough governance - if (!client.chain?.testnet && addresses.CONFIG_ENGINE && library.startsWith('AaveV3')) + if (!client.chain?.testnet && addresses.CONFIG_ENGINE && addresses.COLLECTOR && library.startsWith('AaveV3')) return check(addresses); }), ); diff --git a/tokenlist.json b/tokenlist.json index 7102b1fb..815baaf3 100644 --- a/tokenlist.json +++ b/tokenlist.json @@ -7048,6 +7048,6 @@ } } ], - "version": { "major": 3, "minor": 0, "patch": 72 }, - "timestamp": "2025-01-16T00:13:24.539Z" + "version": { "major": 3, "minor": 0, "patch": 74 }, + "timestamp": "2025-01-17T12:14:09.084Z" }