Skip to content
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 29 additions & 10 deletions package-lock.json

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

4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,8 +85,8 @@
},
"homepage": "https://github.com/bgd-labs/aave-address-book#readme",
"devDependencies": {
"@bgd-labs/react-web3-icons": "^1.35.0",
"@bgd-labs/toolbox": "^0.0.47",
"@bgd-labs/react-web3-icons": "^1.51.0",
"@bgd-labs/toolbox": "^0.0.51",
"@types/node": "^22.4.1",
"@uniswap/token-lists": "^1.0.0-beta.33",
"ajv": "^8.12.0",
Expand Down
2,535 changes: 1,258 additions & 1,277 deletions safe.csv

Large diffs are not rendered by default.

24 changes: 13 additions & 11 deletions scripts/generator/protocol-v3-generator/fetchEModes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import {IPool_ABI} from '../../../src/ts/abis/IPool';
import {Addresses, EMode, ReserveData} from '../../configs/types';
import {generateSolidityConstants, wrapIntoSolidityLibrary} from '../utils';
import {bitmapToIndexes} from '@bgd-labs/toolbox';
import {fixSymbol} from '../assetsLibraryGenerator';

/**
* As eModes are stores in a mapping there is no easy way to fetch "all eModes"
Expand All @@ -23,24 +24,25 @@ export async function fetchEModes(
let emptyCount = 0;
while (true) {
const eModeData = await poolContract.read.getEModeCategoryCollateralConfig([i]);
if (eModeData.liquidationThreshold == 0) {
if (eModeData.liquidationThreshold === 0) {
emptyCount++;
} else {
const [label, collateralBitmap, borrowableBitmap] = await Promise.all([
poolContract.read.getEModeCategoryLabel([i]),
const [collateralBitmap, borrowableBitmap] = await Promise.all([
poolContract.read.getEModeCategoryCollateralBitmap([i]),
poolContract.read.getEModeCategoryBorrowableBitmap([i]),
]);
const collaterals = bitmapToIndexes(collateralBitmap).map(
(id) => reserveData.find((r) => r.id === id)!,
);
const borrowables = bitmapToIndexes(borrowableBitmap).map(
(id) => reserveData.find((r) => r.id === id)!,
);
eModes.set(i, {
label,
label: `${collaterals.map((a) => fixSymbol(a.symbol, a.UNDERLYING))} / ${borrowables.map((a) => fixSymbol(a.symbol, a.UNDERLYING))}`,
collateralBitmap,
collateralAssets: bitmapToIndexes(collateralBitmap).map(
(id) => reserveData.find((r) => r.id === id)!.UNDERLYING,
),
collateralAssets: collaterals.map((a) => a.UNDERLYING),
borrowableBitmap,
borrowableAssets: bitmapToIndexes(borrowableBitmap).map(
(id) => reserveData.find((r) => r.id === id)!.UNDERLYING,
),
borrowableAssets: borrowables.map((a) => a.UNDERLYING),
...eModeData,
});
}
Expand All @@ -57,7 +59,7 @@ export function generateEmodeLibrary(
) {
const sorted = Array.from(eModes).sort(([keyA], [keyB]) => keyA - keyB);
const formatted = sorted.reduce((acc, [value, eMode]) => {
acc[eMode.label.toUpperCase().replace(/[^A-Z0-9]+/gi, '_')] = {
acc[eMode.label] = {
value,
type: 'uint8',
};
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,17 @@ import {IPool_ABI} from '../../../src/ts/abis/IPool';

export async function fetchExternalPoolLibraries(client: Client, poolAddress: Address) {
const poolContract = getContract({address: poolAddress, abi: IPool_ABI, client});
const [FLASHLOAN_LOGIC, BORROW_LOGIC, E_MODE_LOGIC, LIQUIDATION_LOGIC, POOL_LOGIC, SUPPLY_LOGIC] =
const [FLASHLOAN_LOGIC, BORROW_LOGIC, LIQUIDATION_LOGIC, POOL_LOGIC, SUPPLY_LOGIC] =
await Promise.all([
poolContract.read.getFlashLoanLogic(),
poolContract.read.getBorrowLogic(),
poolContract.read.getEModeLogic(),
poolContract.read.getLiquidationLogic(),
poolContract.read.getPoolLogic(),
poolContract.read.getSupplyLogic(),
]);
return {
FLASHLOAN_LOGIC,
BORROW_LOGIC,
E_MODE_LOGIC,
LIQUIDATION_LOGIC,
POOL_LOGIC,
SUPPLY_LOGIC,
Expand Down
3 changes: 2 additions & 1 deletion scripts/generator/utils.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,9 +55,10 @@ export function addressInfoToSolidityLibraryConstant(
)};\n`;
}

function keyToVar(key: string) {
export function keyToVar(key: string) {
return key
.replace(/^(\d)/, '_$1')
.replace(/\s*\/\s*/g, '___') // a / b
.replace(/\+/g, 'Plus')
.replace(/ü/g, 'ue')
.replace(/ä/g, 'ae')
Expand Down
17 changes: 7 additions & 10 deletions src/AaveV3Arbitrum.sol
Original file line number Diff line number Diff line change
Expand Up @@ -572,19 +572,19 @@ library AaveV3ArbitrumAssets {
library AaveV3ArbitrumEModes {
uint8 internal constant NONE = 0;

uint8 internal constant STABLECOINS = 1;
uint8 internal constant DAI_USDC_USDT_EURS_USDCn___ = 1;

uint8 internal constant ETH_CORRELATED = 2;
uint8 internal constant WETH_wstETH_weETH___WETH = 2;

uint8 internal constant EZETH_WSTETH_WETH_ETH_CORRELATED = 3;
uint8 internal constant ezETH___WETH_wstETH = 3;

uint8 internal constant EZETH_STABLECOINS = 4;
uint8 internal constant ezETH___USDT_USDCn = 4;

uint8 internal constant RSETH_WSTETH_WETH_ETH_CORRELATED = 5;
uint8 internal constant rsETH___WETH_wstETH = 5;

uint8 internal constant RSETH_STABLECOINS = 6;
uint8 internal constant rsETH___USDC_USDT = 6;

uint8 internal constant WSTETH_WETH_ETH_CORRELATED = 7;
uint8 internal constant wstETH___WETH = 7;
}
library AaveV3ArbitrumExternalLibraries {
// https://arbiscan.io/address/0x5e84CEe2afb7B37d2AB14722C39A7c1C26F5B0BB
Expand All @@ -593,9 +593,6 @@ library AaveV3ArbitrumExternalLibraries {
// https://arbiscan.io/address/0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6
address internal constant BORROW_LOGIC = 0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6;

// https://arbiscan.io/address/0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5
address internal constant E_MODE_LOGIC = 0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5;

// https://arbiscan.io/address/0x36Ae486289bB807C3C79A1427b9c3D934294ef43
address internal constant LIQUIDATION_LOGIC = 0x36Ae486289bB807C3C79A1427b9c3D934294ef43;

Expand Down
7 changes: 2 additions & 5 deletions src/AaveV3Avalanche.sol
Original file line number Diff line number Diff line change
Expand Up @@ -463,9 +463,9 @@ library AaveV3AvalancheAssets {
library AaveV3AvalancheEModes {
uint8 internal constant NONE = 0;

uint8 internal constant STABLECOINS = 1;
uint8 internal constant DAIe_USDC_USDt_FRAX_MAI___ = 1;

uint8 internal constant AVAX_CORRELATED = 2;
uint8 internal constant WAVAX_sAVAX___WAVAX = 2;
}
library AaveV3AvalancheExternalLibraries {
// https://snowscan.xyz/address/0x5e84CEe2afb7B37d2AB14722C39A7c1C26F5B0BB
Expand All @@ -474,9 +474,6 @@ library AaveV3AvalancheExternalLibraries {
// https://snowscan.xyz/address/0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6
address internal constant BORROW_LOGIC = 0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6;

// https://snowscan.xyz/address/0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5
address internal constant E_MODE_LOGIC = 0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5;

// https://snowscan.xyz/address/0x36Ae486289bB807C3C79A1427b9c3D934294ef43
address internal constant LIQUIDATION_LOGIC = 0x36Ae486289bB807C3C79A1427b9c3D934294ef43;

Expand Down
5 changes: 1 addition & 4 deletions src/AaveV3BNB.sol
Original file line number Diff line number Diff line change
Expand Up @@ -277,7 +277,7 @@ library AaveV3BNBAssets {
library AaveV3BNBEModes {
uint8 internal constant NONE = 0;

uint8 internal constant ETH_CORRELATED = 1;
uint8 internal constant wstETH___ETH = 1;
}
library AaveV3BNBExternalLibraries {
// https://bscscan.com/address/0x5e84CEe2afb7B37d2AB14722C39A7c1C26F5B0BB
Expand All @@ -286,9 +286,6 @@ library AaveV3BNBExternalLibraries {
// https://bscscan.com/address/0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6
address internal constant BORROW_LOGIC = 0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6;

// https://bscscan.com/address/0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5
address internal constant E_MODE_LOGIC = 0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5;

// https://bscscan.com/address/0x36Ae486289bB807C3C79A1427b9c3D934294ef43
address internal constant LIQUIDATION_LOGIC = 0x36Ae486289bB807C3C79A1427b9c3D934294ef43;

Expand Down
21 changes: 9 additions & 12 deletions src/AaveV3Base.sol
Original file line number Diff line number Diff line change
Expand Up @@ -431,23 +431,23 @@ library AaveV3BaseAssets {
library AaveV3BaseEModes {
uint8 internal constant NONE = 0;

uint8 internal constant ETH_CORRELATED = 1;
uint8 internal constant WETH_cbETH_wstETH_weETH___WETH = 1;

uint8 internal constant EZETH_WSTETH = 2;
uint8 internal constant ezETH___wstETH = 2;

uint8 internal constant EZETH_STABLECOINS = 3;
uint8 internal constant ezETH___USDC = 3;

uint8 internal constant LBTC_CBBTC = 4;
uint8 internal constant LBTC___cbBTC = 4;

uint8 internal constant RSETH_WSTETH = 5;
uint8 internal constant wrsETH___wstETH = 5;

uint8 internal constant RSETH_USDC = 6;
uint8 internal constant wrsETH___USDC = 6;

uint8 internal constant WEETH_WETH = 7;
uint8 internal constant weETH___WETH = 7;

uint8 internal constant WSTETH_WETH = 8;
uint8 internal constant wstETH___WETH = 8;

uint8 internal constant CBETH_WETH = 9;
uint8 internal constant cbETH___WETH = 9;
}
library AaveV3BaseExternalLibraries {
// https://basescan.org/address/0x5e84CEe2afb7B37d2AB14722C39A7c1C26F5B0BB
Expand All @@ -456,9 +456,6 @@ library AaveV3BaseExternalLibraries {
// https://basescan.org/address/0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6
address internal constant BORROW_LOGIC = 0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6;

// https://basescan.org/address/0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5
address internal constant E_MODE_LOGIC = 0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5;

// https://basescan.org/address/0x36Ae486289bB807C3C79A1427b9c3D934294ef43
address internal constant LIQUIDATION_LOGIC = 0x36Ae486289bB807C3C79A1427b9c3D934294ef43;

Expand Down
5 changes: 1 addition & 4 deletions src/AaveV3BaseSepolia.sol
Original file line number Diff line number Diff line change
Expand Up @@ -207,7 +207,7 @@ library AaveV3BaseSepoliaAssets {
library AaveV3BaseSepoliaEModes {
uint8 internal constant NONE = 0;

uint8 internal constant ETH_CORRELATED = 1;
uint8 internal constant WETH_cbETH___WETH_cbETH = 1;
}
library AaveV3BaseSepoliaExternalLibraries {
// https://sepolia.basescan.org/address/0x1a746330dF84b35236A02067B67e37Cd42DF5846
Expand All @@ -216,9 +216,6 @@ library AaveV3BaseSepoliaExternalLibraries {
// https://sepolia.basescan.org/address/0x17870d152c64C113c7F517fc8955fe9a16D2aa0C
address internal constant BORROW_LOGIC = 0x17870d152c64C113c7F517fc8955fe9a16D2aa0C;

// https://sepolia.basescan.org/address/0xa4eec8f03cA7D127f8351087286BbCe895Cb2f06
address internal constant E_MODE_LOGIC = 0xa4eec8f03cA7D127f8351087286BbCe895Cb2f06;

// https://sepolia.basescan.org/address/0xFB2e565d25Ee062bF4AA490D1cA72ec71F0DAE8E
address internal constant LIQUIDATION_LOGIC = 0xFB2e565d25Ee062bF4AA490D1cA72ec71F0DAE8E;

Expand Down
5 changes: 1 addition & 4 deletions src/AaveV3BaseSepoliaLido.sol
Original file line number Diff line number Diff line change
Expand Up @@ -167,7 +167,7 @@ library AaveV3BaseSepoliaLidoAssets {
library AaveV3BaseSepoliaLidoEModes {
uint8 internal constant NONE = 0;

uint8 internal constant ETH_CORRELATED = 1;
uint8 internal constant WETH_cbETH___WETH_cbETH = 1;
}
library AaveV3BaseSepoliaLidoExternalLibraries {
// https://sepolia.basescan.org/address/0x1a746330dF84b35236A02067B67e37Cd42DF5846
Expand All @@ -176,9 +176,6 @@ library AaveV3BaseSepoliaLidoExternalLibraries {
// https://sepolia.basescan.org/address/0x17870d152c64C113c7F517fc8955fe9a16D2aa0C
address internal constant BORROW_LOGIC = 0x17870d152c64C113c7F517fc8955fe9a16D2aa0C;

// https://sepolia.basescan.org/address/0xa4eec8f03cA7D127f8351087286BbCe895Cb2f06
address internal constant E_MODE_LOGIC = 0xa4eec8f03cA7D127f8351087286BbCe895Cb2f06;

// https://sepolia.basescan.org/address/0xFB2e565d25Ee062bF4AA490D1cA72ec71F0DAE8E
address internal constant LIQUIDATION_LOGIC = 0xFB2e565d25Ee062bF4AA490D1cA72ec71F0DAE8E;

Expand Down
3 changes: 0 additions & 3 deletions src/AaveV3Celo.sol
Original file line number Diff line number Diff line change
Expand Up @@ -202,9 +202,6 @@ library AaveV3CeloExternalLibraries {
// https://celoscan.io/address/0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6
address internal constant BORROW_LOGIC = 0xFeD9871528E713B5038c4c44BbE7a315f56cAdc6;

// https://celoscan.io/address/0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5
address internal constant E_MODE_LOGIC = 0xD1bddC05A3BB5A7907d82A1b4F1E21dBCE69c3d5;

// https://celoscan.io/address/0x36Ae486289bB807C3C79A1427b9c3D934294ef43
address internal constant LIQUIDATION_LOGIC = 0x36Ae486289bB807C3C79A1427b9c3D934294ef43;

Expand Down
Loading
Loading