Skip to content

Commit

Permalink
feat: add linea contracts
Browse files Browse the repository at this point in the history
  • Loading branch information
brotherlymite committed Dec 3, 2024
1 parent d8ccf37 commit 15baa56
Show file tree
Hide file tree
Showing 11 changed files with 243 additions and 5 deletions.
8 changes: 4 additions & 4 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@
"homepage": "https://github.com/bgd-labs/aave-address-book#readme",
"devDependencies": {
"@bgd-labs/react-web3-icons": "^1.7.2",
"@bgd-labs/rpc-env": "^2.1.2",
"@bgd-labs/rpc-env": "^2.2.0",
"@types/node": "^22.4.1",
"@uniswap/token-lists": "^1.0.0-beta.33",
"ajv": "^8.12.0",
Expand Down
21 changes: 21 additions & 0 deletions safe.csv
Original file line number Diff line number Diff line change
Expand Up @@ -1982,6 +1982,27 @@ 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
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
Expand Down
12 changes: 12 additions & 0 deletions scripts/configs/networks/linea.ts
Original file line number Diff line number Diff line change
@@ -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',
},
};
22 changes: 22 additions & 0 deletions scripts/configs/pools/linea.ts
Original file line number Diff line number Diff line change
@@ -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'
},
};
4 changes: 4 additions & 0 deletions scripts/generateAddresses.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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';
Expand Down Expand Up @@ -61,6 +62,7 @@ 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';
Expand Down Expand Up @@ -132,6 +134,7 @@ async function main() {
harmonyProtoV3,
lidoEthereumMainnetProtoV3Pool,
etherFiEthereumMainnetProtoV3Pool,
lineaProtoV3,
].map((config) => generateProtocolV3Library(config)),
);
const ghoAddresses = [ghoEthereum, ghoArbitrum].map((config) => generateGho(config));
Expand All @@ -158,6 +161,7 @@ async function main() {
polygonZkEvmAddresses,
sepoliaAddresses,
zkSyncAddresses,
lineaAddresses,
].map((addresses) => generateNetworkAddresses(addresses));

const govImports = generateGovV2();
Expand Down
93 changes: 93 additions & 0 deletions src/AaveV3Linea.sol
Original file line number Diff line number Diff line change
@@ -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;
}
14 changes: 14 additions & 0 deletions src/MiscLinea.sol
Original file line number Diff line number Diff line change
@@ -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;
}
2 changes: 2 additions & 0 deletions src/ts/AaveAddressBook.ts
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,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';
Expand All @@ -60,6 +61,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';
Expand Down
59 changes: 59 additions & 0 deletions src/ts/AaveV3Linea.ts
Original file line number Diff line number Diff line change
@@ -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;
11 changes: 11 additions & 0 deletions src/ts/MiscLinea.ts
Original file line number Diff line number Diff line change
@@ -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;

0 comments on commit 15baa56

Please sign in to comment.