diff --git a/safe.csv b/safe.csv index efee9a3c..94c60c29 100644 --- a/safe.csv +++ b/safe.csv @@ -620,7 +620,7 @@ address,name,chainId 0x4816b2C2895f97fB918f1aE7Da403750a0eE372e,AaveV3Ethereum POOL_CONFIGURATOR_IMPL,1 0xeF434E4573b90b6ECd4a00f4888381e4D0CC5Ccd,AaveV3Ethereum POOL_IMPL,1 0x35bb522b102326ea3F1141661dF4626C87000e3E,AaveV3Ethereum REPAY_WITH_COLLATERAL_ADAPTER,1 -0xF3911922bd054Bf6f4d6A02B8ADAC444921B0c51,AaveV3Ethereum RISK_STEWARD,1 +0x7C7143f4bE189928A6a98D8686c5e84c893c59c7,AaveV3Ethereum RISK_STEWARD,1 0xE28E2c8d240dd5eBd0adcab86fbD79df7a052034,AaveV3Ethereum SAVINGS_DAI_TOKEN_WRAPPER,1 0x411D79b8cC43384FDE66CaBf9b6a17180c842511,AaveV3Ethereum STATIC_A_TOKEN_FACTORY,1 0xADC0A53095A0af87F3aa29FE0715B5c28016364e,AaveV3Ethereum SWAP_COLLATERAL_ADAPTER,1 @@ -668,7 +668,7 @@ address,name,chainId 0x4816b2C2895f97fB918f1aE7Da403750a0eE372e,AaveV3EthereumEtherFi POOL_CONFIGURATOR_IMPL,1 0x3d881c2Dc90F00e7A52F06155f77FBEC63A779c7,AaveV3EthereumEtherFi POOL_IMPL,1 0x23b282c49C88d9161aae14b5eD777B976A5Ae65D,AaveV3EthereumEtherFi REPAY_WITH_COLLATERAL_ADAPTER,1 -0x7FbBCCFB548c110226fEF5BEc816Ea04B5170EA3,AaveV3EthereumEtherFi RISK_STEWARD,1 +0xBF79d8339303148E345277a994Eb2cD5d82F0067,AaveV3EthereumEtherFi RISK_STEWARD,1 0x1Ff525426800279843B71C0F818594DeCdC3b522,AaveV3EthereumEtherFi STATIC_A_TOKEN_FACTORY,1 0xB04427eFdd15b0EC233400d2F7f7E4fd0291C285,AaveV3EthereumEtherFi SWAP_COLLATERAL_ADAPTER,1 0xe3dFf4052F0bF6134ACb73bEaE8fe2317d71F047,AaveV3EthereumEtherFi UI_INCENTIVE_DATA_PROVIDER,1 @@ -719,7 +719,7 @@ address,name,chainId 0x4816b2C2895f97fB918f1aE7Da403750a0eE372e,AaveV3EthereumLido POOL_CONFIGURATOR_IMPL,1 0xf5b4664CB6D13189345119c60a948cdc7785d0FE,AaveV3EthereumLido POOL_IMPL,1 0x66E1aBdb06e7363a618D65a910c540dfED23754f,AaveV3EthereumLido REPAY_WITH_COLLATERAL_ADAPTER,1 -0x45C4f8b32927eFFdf1dA3cA42498504947dd4d0D,AaveV3EthereumLido RISK_STEWARD,1 +0x30adC2f98ff78fDde12F191Acb82699f640694FB,AaveV3EthereumLido RISK_STEWARD,1 0xD0887AA7fEBC8962c622493646195e7c76D94fCE,AaveV3EthereumLido SWAP_COLLATERAL_ADAPTER,1 0xe3dFf4052F0bF6134ACb73bEaE8fe2317d71F047,AaveV3EthereumLido UI_INCENTIVE_DATA_PROVIDER,1 0x3F78BBD206e4D3c504Eb854232EdA7e47E9Fd8FC,AaveV3EthereumLido UI_POOL_DATA_PROVIDER,1 @@ -880,7 +880,7 @@ address,name,chainId 0x7A7eF57479123f26DB6a0e3EFbF8A3562EDD65BE,AaveV3Optimism POOL_IMPL,10 0xE229d5DE4BD5beEAf12d427B5B57BFe66abD2c3b,AaveV3Optimism PRICE_ORACLE_SENTINEL,10 0x5d4D4007A4c6336550DdAa2a7c0d5e7972eebd16,AaveV3Optimism REPAY_WITH_COLLATERAL_ADAPTER,10 -0x9062F78b631f33D24Ed058cBc116A653452ea82A,AaveV3Optimism RISK_STEWARD,10 +0x928807b90A74210268B590D0159FCf1340Ad76Bd,AaveV3Optimism RISK_STEWARD,10 0x22D76094730fA377184100EFB8CEfC673B89B372,AaveV3Optimism STATIC_A_TOKEN_FACTORY,10 0x830C5A67a0C95D69dA5fb7801Ac1773c6fB53857,AaveV3Optimism SWAP_COLLATERAL_ADAPTER,10 0x5c5228aC8BC1528482514aF3e27E692495148717,AaveV3Optimism UI_INCENTIVE_DATA_PROVIDER,10 @@ -966,7 +966,7 @@ address,name,chainId 0x4816b2C2895f97fB918f1aE7Da403750a0eE372e,AaveV3BNB POOL_CONFIGURATOR_IMPL,56 0xB769c2A9259B3Eedaf120d8643C4C7EAe977fd7f,AaveV3BNB POOL_IMPL,56 0x5598BbFA2f4fE8151f45bBA0a3edE1b54B51a0a9,AaveV3BNB REPAY_WITH_COLLATERAL_ADAPTER,56 -0x45918bB1D3F73904a30Ffc3eD11CdB1c05eBF726,AaveV3BNB RISK_STEWARD,56 +0xbe7998712402B6A63975515A532Ce503437998b7,AaveV3BNB RISK_STEWARD,56 0x326aB0868bD279382Be2DF5E228Cb8AF38649AB4,AaveV3BNB STATIC_A_TOKEN_FACTORY,56 0x33E0b3fc976DC9C516926BA48CfC0A9E10a2aAA5,AaveV3BNB SWAP_COLLATERAL_ADAPTER,56 0x5c5228aC8BC1528482514aF3e27E692495148717,AaveV3BNB UI_INCENTIVE_DATA_PROVIDER,56 @@ -1053,7 +1053,7 @@ address,name,chainId 0x7304979ec9E4EaA0273b6A037a31c4e9e5A75D16,AaveV3Gnosis POOL_CONFIGURATOR,100 0x4816b2C2895f97fB918f1aE7Da403750a0eE372e,AaveV3Gnosis POOL_CONFIGURATOR_IMPL,100 0xF2C312BfAF4CF0429DB4DA15a0cf5F770Ea3E770,AaveV3Gnosis POOL_IMPL,100 -0x0b9cA640284cf2636577703f785D5aEEc466BC56,AaveV3Gnosis RISK_STEWARD,100 +0x677c9f358dA5DC83aF6760a839E4448D72840d04,AaveV3Gnosis RISK_STEWARD,100 0x02e9b27599C4Bf8f789d34b6E65C51092c3d9FA6,AaveV3Gnosis STATIC_A_TOKEN_FACTORY,100 0x5d4D4007A4c6336550DdAa2a7c0d5e7972eebd16,AaveV3Gnosis UI_INCENTIVE_DATA_PROVIDER,100 0x5598BbFA2f4fE8151f45bBA0a3edE1b54B51a0a9,AaveV3Gnosis UI_POOL_DATA_PROVIDER,100 @@ -1306,7 +1306,7 @@ address,name,chainId 0x4816b2C2895f97fB918f1aE7Da403750a0eE372e,AaveV3Polygon POOL_CONFIGURATOR_IMPL,137 0x5DFb8c777C19d3cEdcDc7398d2EeF1FB0b9b05c9,AaveV3Polygon POOL_IMPL,137 0x5d4D4007A4c6336550DdAa2a7c0d5e7972eebd16,AaveV3Polygon REPAY_WITH_COLLATERAL_ADAPTER,137 -0xfF33BEcB9ECFE4328D4f9C37bE0F07b2CFe976E3,AaveV3Polygon RISK_STEWARD,137 +0x88dECc4bf07f5219ea7D1E32fe3762DA28ff7609,AaveV3Polygon RISK_STEWARD,137 0x397202AB0b4E7C954ac0c493c00749C517210953,AaveV3Polygon STATIC_A_TOKEN_FACTORY,137 0xC4aff49fCeD8ac1D818a6DCAB063f9f97E66ec5E,AaveV3Polygon SWAP_COLLATERAL_ADAPTER,137 0x91E04cf78e53aEBe609e8a7f2003e7EECD743F2B,AaveV3Polygon UI_INCENTIVE_DATA_PROVIDER,137 @@ -1450,7 +1450,7 @@ address,name,chainId 0x0207d31b4377C74bEC37356aaD83E3dCc979F40E,AaveV3ZkSync POOL_CONFIGURATOR,324 0xBc4c49630350F67D7Ec88785E5DF9A57c78a1b7d,AaveV3ZkSync POOL_CONFIGURATOR_IMPL,324 0x79Bef43a562047B8FDF6335b28Fa61820A442fD6,AaveV3ZkSync POOL_IMPL,324 -0xDeDee21f34eff4e2902B95A106855834a608e19a,AaveV3ZkSync RISK_STEWARD,324 +0x05c77Cf62346329a157d7A6F874464D049CECb26,AaveV3ZkSync RISK_STEWARD,324 0x1Bc8dbF1f5aF8094Aa166098131116CaAd6B22F9,AaveV3ZkSync STATIC_A_TOKEN_FACTORY,324 0x430Ef10d29237a0f061f9F7753fCe1cd1F5cF0e1,AaveV3ZkSync UI_INCENTIVE_DATA_PROVIDER,324 0x6fCDa2646d6E4a42b1663d219811fC96AE3A0ec8,AaveV3ZkSync UI_POOL_DATA_PROVIDER,324 @@ -1515,7 +1515,7 @@ address,name,chainId 0x4816b2C2895f97fB918f1aE7Da403750a0eE372e,AaveV3Metis POOL_CONFIGURATOR_IMPL,1088 0xcA311Dce5b11436c7Bd7b3847E77adE29F829F8e,AaveV3Metis POOL_IMPL,1088 0x2B5EA1604BAbb7B730120950Cb13951f3525828A,AaveV3Metis PRICE_ORACLE_SENTINEL,1088 -0xF73F2634b43344d86921DA3391d4EF0d5675Dd63,AaveV3Metis RISK_STEWARD,1088 +0x58226D26658F19724cB881E9F747EeDC846BB1c9,AaveV3Metis RISK_STEWARD,1088 0x9C62AdC332888F56998542415c38D7CDf3Ff7619,AaveV3Metis STATIC_A_TOKEN_FACTORY,1088 0xE92cd6164CE7DC68e740765BC1f2a091B6CBc3e4,AaveV3Metis UI_INCENTIVE_DATA_PROVIDER,1088 0xc0179321f0825c3e0F59Fe7Ca4E40557b97797a3,AaveV3Metis UI_POOL_DATA_PROVIDER,1088 @@ -1603,7 +1603,7 @@ address,name,chainId 0x3a9C471F13C9cA1eBDf440cf713C8404e498F9C3,AaveV3Base POOL_IMPL,8453 0x943AcD0c93d7a8Bee7dA5Fd0DC3d0028237074d6,AaveV3Base PRICE_ORACLE_SENTINEL,8453 0x63dfa7c09Dc2Ff4030d6B8Dc2ce6262BF898C8A4,AaveV3Base REPAY_WITH_COLLATERAL_ADAPTER,8453 -0x963C0b3dFF5C35b171CcC11DAC006a605E42BeD2,AaveV3Base RISK_STEWARD,8453 +0xD3DE4b3571744EB77946d65aBF01408902E92c4E,AaveV3Base RISK_STEWARD,8453 0x940F9a5d5F9ED264990D0eaee1F3DD60B4Cb9A22,AaveV3Base STATIC_A_TOKEN_FACTORY,8453 0xe63eAf6DAb1045689BD3a332bC596FfcF54A5C88,AaveV3Base STATIC_A_TOKEN_ORACLE,8453 0x2E549104c516b8657A7D888494DfbAbD7C70b464,AaveV3Base SWAP_COLLATERAL_ADAPTER,8453 @@ -1751,7 +1751,7 @@ address,name,chainId 0x7A9ff54A6eE4a21223036890bB8c4ea2D62c686b,AaveV3Arbitrum PRICE_ORACLE_SENTINEL,42161 0xcC47c4Fe1F7f29ff31A8b62197023aC8553C7896,AaveV3Arbitrum RATES_FACTORY,42161 0xE28E2c8d240dd5eBd0adcab86fbD79df7a052034,AaveV3Arbitrum REPAY_WITH_COLLATERAL_ADAPTER,42161 -0x9EEa1Ba822d204077e9f90a92D30432417184587,AaveV3Arbitrum RISK_STEWARD,42161 +0x14568979093FFF97aeBD73F58051a4f0e297b1eB,AaveV3Arbitrum RISK_STEWARD,42161 0x411D79b8cC43384FDE66CaBf9b6a17180c842511,AaveV3Arbitrum STATIC_A_TOKEN_FACTORY,42161 0xD61BF98649EA8F8D09e184184777b1867F00E5CB,AaveV3Arbitrum STATIC_A_TOKEN_ORACLE,42161 0xF3C3F14dd7BDb7E03e6EBc3bc5Ffc6D66De12251,AaveV3Arbitrum SWAP_COLLATERAL_ADAPTER,42161 @@ -1932,7 +1932,7 @@ address,name,chainId 0xab22988D93d5F942fC6B6c6Ea285744809D1d9Cc,AaveV3Avalanche PROOF_OF_RESERVE,43114 0x80f2c02224a2E548FC67c0bF705eBFA825dd5439,AaveV3Avalanche PROOF_OF_RESERVE_AGGREGATOR,43114 0x5d4D4007A4c6336550DdAa2a7c0d5e7972eebd16,AaveV3Avalanche REPAY_WITH_COLLATERAL_ADAPTER,43114 -0x5d7e9a32E0c3db609089186bEBC4B9d8Eb86ad2c,AaveV3Avalanche RISK_STEWARD,43114 +0xbf03aB677DEdA36E19D294d1735b93Dd9d1E0c05,AaveV3Avalanche RISK_STEWARD,43114 0x691C316b2Eec7e64d17e7E3E01f3dB44c9CcEf19,AaveV3Avalanche STATIC_A_TOKEN_FACTORY,43114 0x2Cf641F7C0eac2788A7924B82d6Ca8EB7bAa4E3A,AaveV3Avalanche SWAP_COLLATERAL_ADAPTER,43114 0x99732D5dA21f44f9e45e36eF9da4B1df2Eb0b28E,AaveV3Avalanche UI_INCENTIVE_DATA_PROVIDER,43114 @@ -2001,7 +2001,7 @@ address,name,chainId 0x4816b2C2895f97fB918f1aE7Da403750a0eE372e,AaveV3Scroll POOL_CONFIGURATOR_IMPL,534352 0xcB2107Ace932591C57EB5D07A135F1F3Dd613Dc0,AaveV3Scroll POOL_IMPL,534352 0xfD0Ba55775C1e53f50736FA5528d8aa45FBcA391,AaveV3Scroll PRICE_ORACLE_SENTINEL,534352 -0x5E27B8EfDe76814795a07c8a378FcdF09715850b,AaveV3Scroll RISK_STEWARD,534352 +0x64093fe5f8Cf62aFb4377cf7EF4373537fe9155B,AaveV3Scroll RISK_STEWARD,534352 0x970b77b96D94966939a8F867c2BfC2aC0310C0e7,AaveV3Scroll STATIC_A_TOKEN_FACTORY,534352 0x5d4D4007A4c6336550DdAa2a7c0d5e7972eebd16,AaveV3Scroll UI_INCENTIVE_DATA_PROVIDER,534352 0x5598BbFA2f4fE8151f45bBA0a3edE1b54B51a0a9,AaveV3Scroll UI_POOL_DATA_PROVIDER,534352 diff --git a/scripts/checks/riskStewards.ts b/scripts/checks/riskStewards.ts new file mode 100644 index 00000000..06b572b3 --- /dev/null +++ b/scripts/checks/riskStewards.ts @@ -0,0 +1,45 @@ +import {getContract} from 'viem'; +import {getClient} from '../clients'; +import {getGovernance} from './utils'; +import {IRiskSteward_ABI} from '../../src/ts/abis/IRiskSteward'; + +export async function check(lib: string, addresses: Record) { + if (addresses.RISK_STEWARD) { + const client = getClient(addresses.CHAIN_ID); + if (!client.chain?.testnet) { + const riskStewardContract = getContract({ + abi: IRiskSteward_ABI, + address: addresses.RISK_STEWARD, + client, + }); + const [ + CONFIG_ENGINE, + POOL_DATA_PROVIDER, + OWNER + ] = await Promise.all([ + riskStewardContract.read.CONFIG_ENGINE(), + riskStewardContract.read.POOL_DATA_PROVIDER(), + riskStewardContract.read.owner() + ]); + if (CONFIG_ENGINE !== addresses.CONFIG_ENGINE) throw new Error(`SANITY_RISK_STEWARDS: wrong CONFIG_ENGINE on ${client.chain?.name}`); + if (POOL_DATA_PROVIDER !== addresses.AAVE_PROTOCOL_DATA_PROVIDER) + throw new Error(`SANITY_RISK_STEWARDS: wrong POOL_DATA_PROVIDER on ${client.chain?.name}`); + + const governance = getGovernance(addresses.CHAIN_ID); + if (!governance) { + console.log( + `SANITY_RISK_STEWARDS: Skipped due to missing governance on ${client.chain?.name}`, + ); + } else { + const l1Executor = (governance as any).EXECUTOR_LVL_1; + // prettier would be to check against executor lvl_1 + if (OWNER !== l1Executor) { + throw new Error( + `SANITY_RISK_STEWARDS: OWNER MISMATCH ${addresses.POOL}.${addresses.RISK_STEWARD}:${OWNER} != ${l1Executor} on ${client.chain?.name}`, + ); + } + } + console.log('SANITY_RISK_STEWARDS: PASSED'); + } + } +} diff --git a/scripts/configs/abis.ts b/scripts/configs/abis.ts index 0aa50f33..88444c16 100644 --- a/scripts/configs/abis.ts +++ b/scripts/configs/abis.ts @@ -1,3 +1,4 @@ +import { RISK_STEWARD } from './../../src/ts/AaveV3Avalanche'; import {governanceConfigMainnet} from './governance/ethereum'; import {mainnetProtoV3Pool} from './pools/ethereum'; @@ -65,6 +66,10 @@ export const DOWNLOAD_ABI_INTERFACES = [ address: mainnetProtoV3Pool.additionalAddresses.UI_POOL_DATA_PROVIDER, name: 'IUiPoolDataProvider', }, + { + address: mainnetProtoV3Pool.additionalAddresses.RISK_STEWARD, + name: 'IRiskSteward', + }, { address: '0x5D4Aa78B08Bc7C530e21bf7447988b1Be7991322', name: 'IAaveToken', diff --git a/scripts/configs/pools/arbitrum.ts b/scripts/configs/pools/arbitrum.ts index 515844af..dba6c69d 100644 --- a/scripts/configs/pools/arbitrum.ts +++ b/scripts/configs/pools/arbitrum.ts @@ -7,7 +7,7 @@ export const arbitrumProtoV3: PoolConfig = { POOL_ADDRESSES_PROVIDER: '0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb', additionalAddresses: { CAPS_PLUS_RISK_STEWARD: '0xADf86b537eF08591c2777E144322E8b0Ca7E82a7', - RISK_STEWARD: '0x9EEa1Ba822d204077e9f90a92D30432417184587', + RISK_STEWARD: '0x14568979093FFF97aeBD73F58051a4f0e297b1eB', FREEZING_STEWARD: '0xe59470B3BE3293534603487E00A44C72f2CD466d', DEBT_SWAP_ADAPTER: '0x63dfa7c09Dc2Ff4030d6B8Dc2ce6262BF898C8A4', L2_ENCODER: '0x9abADECD08572e0eA5aF4d47A9C7984a5AA503dC', diff --git a/scripts/configs/pools/avalanche.ts b/scripts/configs/pools/avalanche.ts index b1064025..6e819f49 100644 --- a/scripts/configs/pools/avalanche.ts +++ b/scripts/configs/pools/avalanche.ts @@ -57,7 +57,7 @@ export const avalancheProtoV3: PoolConfig = { POOL_ADDRESSES_PROVIDER: '0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb', additionalAddresses: { CAPS_PLUS_RISK_STEWARD: '0xD2C92b5A793e196aB11dBefBe3Af6BddeD6c3DD5', - RISK_STEWARD: '0x5d7e9a32E0c3db609089186bEBC4B9d8Eb86ad2c', + RISK_STEWARD: '0xbf03aB677DEdA36E19D294d1735b93Dd9d1E0c05', FREEZING_STEWARD: '0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99', DEBT_SWAP_ADAPTER: '0xE28E2c8d240dd5eBd0adcab86fbD79df7a052034', CONFIG_ENGINE: '0x9aaB9F0b6E19907e346420Edc0d3029Edb5e8616', diff --git a/scripts/configs/pools/base.ts b/scripts/configs/pools/base.ts index f57a3c0e..83587e1c 100644 --- a/scripts/configs/pools/base.ts +++ b/scripts/configs/pools/base.ts @@ -7,7 +7,7 @@ export const baseProtoV3: PoolConfig = { POOL_ADDRESSES_PROVIDER: '0xe20fCBdBfFC4Dd138cE8b2E6FBb6CB49777ad64D', additionalAddresses: { CAPS_PLUS_RISK_STEWARD: '0x12DEB4025b79f2B43f6aeF079F9D77C3f9a67bb6', - RISK_STEWARD: '0x963C0b3dFF5C35b171CcC11DAC006a605E42BeD2', + RISK_STEWARD: '0xD3DE4b3571744EB77946d65aBF01408902E92c4E', FREEZING_STEWARD: '0x4A4c73d563395ad827511F70097d4Ef82E653805', DEBT_SWAP_ADAPTER: '0xb12e82DF057BF16ecFa89D7D089dc7E5C1Dc057B', WITHDRAW_SWAP_ADAPTER: '0x5598BbFA2f4fE8151f45bBA0a3edE1b54B51a0a9', diff --git a/scripts/configs/pools/bnb.ts b/scripts/configs/pools/bnb.ts index eee7d715..da73f15f 100644 --- a/scripts/configs/pools/bnb.ts +++ b/scripts/configs/pools/bnb.ts @@ -7,7 +7,7 @@ export const bnbProtoV3: PoolConfig = { POOL_ADDRESSES_PROVIDER: '0xff75B6da14FfbbfD355Daf7a2731456b3562Ba6D', additionalAddresses: { CAPS_PLUS_RISK_STEWARD: '0x971F1C94b139AdEdedA729DA636e2B0C433Ff595', - RISK_STEWARD: '0x45918bB1D3F73904a30Ffc3eD11CdB1c05eBF726', + RISK_STEWARD: '0xbe7998712402b6a63975515a532ce503437998b7', FREEZING_STEWARD: '0x83f15Bc50d1A212576B202f80489502a7cc10412', DEBT_SWAP_ADAPTER: '0x5d4D4007A4c6336550DdAa2a7c0d5e7972eebd16', CONFIG_ENGINE: '0x249396a890F89D47F89326d7EE116b1d374Fb3A9', diff --git a/scripts/configs/pools/ethereum.ts b/scripts/configs/pools/ethereum.ts index 97e842a2..aed1e3c3 100644 --- a/scripts/configs/pools/ethereum.ts +++ b/scripts/configs/pools/ethereum.ts @@ -66,7 +66,7 @@ export const mainnetProtoV3Pool: PoolConfig = { POOL_ADDRESSES_PROVIDER: '0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e', additionalAddresses: { CAPS_PLUS_RISK_STEWARD: '0x82dcCF206Ae2Ab46E2099e663F70DeE77caE7778', - RISK_STEWARD: '0xF3911922bd054Bf6f4d6A02B8ADAC444921B0c51', + RISK_STEWARD: '0x7C7143f4bE189928A6a98D8686c5e84c893c59c7', FREEZING_STEWARD: '0x2eE68ACb6A1319de1b49DC139894644E424fefD6', DEBT_SWAP_ADAPTER: '0xd7852E139a7097E119623de0751AE53a61efb442', DELEGATION_AWARE_A_TOKEN_IMPL_REV_1: '0x21714092D90c7265F52fdfDae068EC11a23C6248', @@ -100,7 +100,7 @@ export const lidoEthereumMainnetProtoV3Pool: PoolConfig = { WETH_GATEWAY: '0x0B8C700917a6991FEa7198dDFC80bc8962b5055D', CONFIG_ENGINE: '0x1097eDb85392932b7dCB630baDDC8A6D73585218', CAPS_PLUS_RISK_STEWARD: '0x3843b29118fFC18d5d12EE079d0324E1bF115e69', - RISK_STEWARD: '0x45C4f8b32927eFFdf1dA3cA42498504947dd4d0D', + RISK_STEWARD: '0x30adC2f98ff78fDde12F191Acb82699f640694FB', // STATIC_A_TOKEN_FACTORY: '', // FREEZING_STEWARD: '', // RATES_FACTORY: '', @@ -123,7 +123,7 @@ export const etherFiEthereumMainnetProtoV3Pool: PoolConfig = { CONFIG_ENGINE: '0x909bA8DA4c826C62013Ce3A30ce1F42943F3b340', STATIC_A_TOKEN_FACTORY: '0x1Ff525426800279843B71C0F818594DeCdC3b522', CAPS_PLUS_RISK_STEWARD: '0x1EBdbE77bbDDD284BdCE8D7981D7eD26D6af58cA', - RISK_STEWARD: '0x7FbBCCFB548c110226fEF5BEc816Ea04B5170EA3', + RISK_STEWARD: '0xBF79d8339303148E345277a994Eb2cD5d82F0067', }, initial: { COLLECTOR: '0x464C71f6c2F760DdA6093dCB91C24c39e5d6e18c', diff --git a/scripts/configs/pools/gnosis.ts b/scripts/configs/pools/gnosis.ts index f37b666e..a26bc3e3 100644 --- a/scripts/configs/pools/gnosis.ts +++ b/scripts/configs/pools/gnosis.ts @@ -13,7 +13,7 @@ export const gnosisProtoV3: PoolConfig = { WALLET_BALANCE_PROVIDER: '0x4172E6aAEC070ACB31aaCE343A58c93E4C70f44D', WETH_GATEWAY: '0x7B9c12915c594a68dE96201Cbdc79147F09da278', CAPS_PLUS_RISK_STEWARD: '0x33AE1f41546a2e05368Bf789b3d868813c0Ae658', - RISK_STEWARD: '0x0b9cA640284cf2636577703f785D5aEEc466BC56', + RISK_STEWARD: '0x677c9f358dA5DC83aF6760a839E4448D72840d04', FREEZING_STEWARD: '0x3Ceaf9b6CAb92dFe6302D0CC3F1BA880C28d35e5', STATIC_A_TOKEN_FACTORY: '0x02e9b27599C4Bf8f789d34b6E65C51092c3d9FA6', }, diff --git a/scripts/configs/pools/metis.ts b/scripts/configs/pools/metis.ts index be3ec49d..9b1a0fbb 100644 --- a/scripts/configs/pools/metis.ts +++ b/scripts/configs/pools/metis.ts @@ -7,7 +7,7 @@ export const metisProtoV3: PoolConfig = { POOL_ADDRESSES_PROVIDER: '0xB9FABd7500B2C6781c35Dd48d54f81fc2299D7AF', additionalAddresses: { CAPS_PLUS_RISK_STEWARD: '0x5f4d15d761528c57a5C30c43c1DAb26Fc5452731', - RISK_STEWARD: '0xF73F2634b43344d86921DA3391d4EF0d5675Dd63', + RISK_STEWARD: '0x58226D26658F19724cB881E9F747EeDC846BB1c9', FREEZING_STEWARD: '0x2C77153fF4a1e83A8d8D750735FB101ECB55949f', L2_ENCODER: '0x9f3A1B399A9074eBA63Dc4fc274bE2A2b2d80cB9', CONFIG_ENGINE: '0x45918bB1D3F73904a30Ffc3eD11CdB1c05eBF726', diff --git a/scripts/configs/pools/optimism.ts b/scripts/configs/pools/optimism.ts index 461be81a..4fad6386 100644 --- a/scripts/configs/pools/optimism.ts +++ b/scripts/configs/pools/optimism.ts @@ -7,7 +7,7 @@ export const optimismProtoV3: PoolConfig = { POOL_ADDRESSES_PROVIDER: '0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb', additionalAddresses: { CAPS_PLUS_RISK_STEWARD: '0x5E76E98E0963EcDC6A065d1435F84065b7523f39', - RISK_STEWARD: '0x9062F78b631f33D24Ed058cBc116A653452ea82A', + RISK_STEWARD: '0x928807b90a74210268b590d0159fcf1340ad76bd', FREEZING_STEWARD: '0x3829943c53F2d00e20B58475aF19716724bF90Ba', DEBT_SWAP_ADAPTER: '0xE28E2c8d240dd5eBd0adcab86fbD79df7a052034', L2_ENCODER: '0x9abADECD08572e0eA5aF4d47A9C7984a5AA503dC', diff --git a/scripts/configs/pools/polygon.ts b/scripts/configs/pools/polygon.ts index d5c28d89..7dcc5e4b 100644 --- a/scripts/configs/pools/polygon.ts +++ b/scripts/configs/pools/polygon.ts @@ -26,7 +26,7 @@ export const polygonProtoV3: PoolConfig = { POOL_ADDRESSES_PROVIDER: '0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb', additionalAddresses: { CAPS_PLUS_RISK_STEWARD: '0xc5de989E0D1BF605d19478Fdd32Aa827a10b464f', - RISK_STEWARD: '0xfF33BEcB9ECFE4328D4f9C37bE0F07b2CFe976E3', + RISK_STEWARD: '0x88dECc4bf07f5219ea7D1E32fe3762DA28ff7609', FREEZING_STEWARD: '0xa7b40ed4dfAC9255EA9Dd218A3874f380D9FbBEB', DEBT_SWAP_ADAPTER: '0xE28E2c8d240dd5eBd0adcab86fbD79df7a052034', CONFIG_ENGINE: '0x43632469e02cdaaeb4de3dcbfcaabef310975729', diff --git a/scripts/configs/pools/scroll.ts b/scripts/configs/pools/scroll.ts index e26a7785..ae391584 100644 --- a/scripts/configs/pools/scroll.ts +++ b/scripts/configs/pools/scroll.ts @@ -22,7 +22,7 @@ export const scrollProtoV3: PoolConfig = { additionalAddresses: { L2_ENCODER: '0x8714E5ED2d8edD4E88eFf66637C3FE8eCf2B8C40', CAPS_PLUS_RISK_STEWARD: '0xc4dca550ef04fd0f8abd4c384575fb8a8123054e', - RISK_STEWARD: '0x5E27B8EfDe76814795a07c8a378FcdF09715850b', + RISK_STEWARD: '0x64093fe5f8Cf62aFb4377cf7EF4373537fe9155B', FREEZING_STEWARD: '0xc68d0c511076283075bd5cc9aa61e43673135f37', CONFIG_ENGINE: '0xC0FE411b2606a06f64C1536E8F92FA6a9d5a89B8', POOL_ADDRESSES_PROVIDER_REGISTRY: '0xFBedc64AeE24921cb43004312B9eF367a4162b57', diff --git a/scripts/configs/pools/zksync.ts b/scripts/configs/pools/zksync.ts index c22682d0..06fac0f2 100644 --- a/scripts/configs/pools/zksync.ts +++ b/scripts/configs/pools/zksync.ts @@ -13,7 +13,7 @@ export const zkSyncProtoV3: PoolConfig = { WALLET_BALANCE_PROVIDER: '0xcb8Dc3C135e59B1252F057da44A8f43EE6B0dAB0', WETH_GATEWAY: '0xD5f6c8D402E0a0222f7FA132F9e80fDCC074df5C', STATIC_A_TOKEN_FACTORY: '0x1Bc8dbF1f5aF8094Aa166098131116CaAd6B22F9', - RISK_STEWARD: '0xDeDee21f34eff4e2902B95A106855834a608e19a', + RISK_STEWARD: '0x05c77Cf62346329a157d7A6F874464D049CECb26', }, initial: { COLLECTOR: '0xd69Cbda644c6be817AaFb5Fd9174f50C33803B6b', diff --git a/scripts/sanity.ts b/scripts/sanity.ts index 8413bf87..ce92e26e 100644 --- a/scripts/sanity.ts +++ b/scripts/sanity.ts @@ -5,9 +5,10 @@ import * as addressBook from '../src/ts/AaveAddressBook'; import {check as stataCheck} from './checks/stataFactory'; import {check as wethCheck} from './checks/wethGateway'; import {check as configEngineCheck} from './checks/configEngine'; +import {check as riskStewardsCheck} from './checks/riskStewards'; async function sanity() { - const sanitySuites = [stataCheck, wethCheck, configEngineCheck]; + const sanitySuites = [stataCheck, wethCheck, configEngineCheck, riskStewardsCheck]; for (const key of Object.keys(addressBook)) { for (const suite of sanitySuites) { await suite(key, addressBook[key]); diff --git a/src/AaveV3Arbitrum.sol b/src/AaveV3Arbitrum.sol index 4bf8264c..7ebd9109 100644 --- a/src/AaveV3Arbitrum.sol +++ b/src/AaveV3Arbitrum.sol @@ -59,8 +59,8 @@ library AaveV3Arbitrum { // https://arbiscan.io/address/0xADf86b537eF08591c2777E144322E8b0Ca7E82a7 address internal constant CAPS_PLUS_RISK_STEWARD = 0xADf86b537eF08591c2777E144322E8b0Ca7E82a7; - // https://arbiscan.io/address/0x9EEa1Ba822d204077e9f90a92D30432417184587 - address internal constant RISK_STEWARD = 0x9EEa1Ba822d204077e9f90a92D30432417184587; + // https://arbiscan.io/address/0x14568979093FFF97aeBD73F58051a4f0e297b1eB + address internal constant RISK_STEWARD = 0x14568979093FFF97aeBD73F58051a4f0e297b1eB; // https://arbiscan.io/address/0xe59470B3BE3293534603487E00A44C72f2CD466d address internal constant FREEZING_STEWARD = 0xe59470B3BE3293534603487E00A44C72f2CD466d; diff --git a/src/AaveV3Avalanche.sol b/src/AaveV3Avalanche.sol index 560dd5a9..8f291dc7 100644 --- a/src/AaveV3Avalanche.sol +++ b/src/AaveV3Avalanche.sol @@ -56,8 +56,8 @@ library AaveV3Avalanche { // https://snowtrace.io/address/0xD2C92b5A793e196aB11dBefBe3Af6BddeD6c3DD5 address internal constant CAPS_PLUS_RISK_STEWARD = 0xD2C92b5A793e196aB11dBefBe3Af6BddeD6c3DD5; - // https://snowtrace.io/address/0x5d7e9a32E0c3db609089186bEBC4B9d8Eb86ad2c - address internal constant RISK_STEWARD = 0x5d7e9a32E0c3db609089186bEBC4B9d8Eb86ad2c; + // https://snowtrace.io/address/0xbf03aB677DEdA36E19D294d1735b93Dd9d1E0c05 + address internal constant RISK_STEWARD = 0xbf03aB677DEdA36E19D294d1735b93Dd9d1E0c05; // https://snowtrace.io/address/0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99 address internal constant FREEZING_STEWARD = 0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99; diff --git a/src/AaveV3BNB.sol b/src/AaveV3BNB.sol index a832be97..2fa56e54 100644 --- a/src/AaveV3BNB.sol +++ b/src/AaveV3BNB.sol @@ -56,8 +56,8 @@ library AaveV3BNB { // https://bscscan.com/address/0x971F1C94b139AdEdedA729DA636e2B0C433Ff595 address internal constant CAPS_PLUS_RISK_STEWARD = 0x971F1C94b139AdEdedA729DA636e2B0C433Ff595; - // https://bscscan.com/address/0x45918bB1D3F73904a30Ffc3eD11CdB1c05eBF726 - address internal constant RISK_STEWARD = 0x45918bB1D3F73904a30Ffc3eD11CdB1c05eBF726; + // https://bscscan.com/address/0xbe7998712402B6A63975515A532Ce503437998b7 + address internal constant RISK_STEWARD = 0xbe7998712402B6A63975515A532Ce503437998b7; // https://bscscan.com/address/0x83f15Bc50d1A212576B202f80489502a7cc10412 address internal constant FREEZING_STEWARD = 0x83f15Bc50d1A212576B202f80489502a7cc10412; diff --git a/src/AaveV3Base.sol b/src/AaveV3Base.sol index c816386b..6aef5e70 100644 --- a/src/AaveV3Base.sol +++ b/src/AaveV3Base.sol @@ -59,8 +59,8 @@ library AaveV3Base { // https://basescan.org/address/0x12DEB4025b79f2B43f6aeF079F9D77C3f9a67bb6 address internal constant CAPS_PLUS_RISK_STEWARD = 0x12DEB4025b79f2B43f6aeF079F9D77C3f9a67bb6; - // https://basescan.org/address/0x963C0b3dFF5C35b171CcC11DAC006a605E42BeD2 - address internal constant RISK_STEWARD = 0x963C0b3dFF5C35b171CcC11DAC006a605E42BeD2; + // https://basescan.org/address/0xD3DE4b3571744EB77946d65aBF01408902E92c4E + address internal constant RISK_STEWARD = 0xD3DE4b3571744EB77946d65aBF01408902E92c4E; // https://basescan.org/address/0x4A4c73d563395ad827511F70097d4Ef82E653805 address internal constant FREEZING_STEWARD = 0x4A4c73d563395ad827511F70097d4Ef82E653805; diff --git a/src/AaveV3Ethereum.sol b/src/AaveV3Ethereum.sol index 95e49aaf..09c96c8c 100644 --- a/src/AaveV3Ethereum.sol +++ b/src/AaveV3Ethereum.sol @@ -56,8 +56,8 @@ library AaveV3Ethereum { // https://etherscan.io/address/0x82dcCF206Ae2Ab46E2099e663F70DeE77caE7778 address internal constant CAPS_PLUS_RISK_STEWARD = 0x82dcCF206Ae2Ab46E2099e663F70DeE77caE7778; - // https://etherscan.io/address/0xF3911922bd054Bf6f4d6A02B8ADAC444921B0c51 - address internal constant RISK_STEWARD = 0xF3911922bd054Bf6f4d6A02B8ADAC444921B0c51; + // https://etherscan.io/address/0x7C7143f4bE189928A6a98D8686c5e84c893c59c7 + address internal constant RISK_STEWARD = 0x7C7143f4bE189928A6a98D8686c5e84c893c59c7; // https://etherscan.io/address/0x2eE68ACb6A1319de1b49DC139894644E424fefD6 address internal constant FREEZING_STEWARD = 0x2eE68ACb6A1319de1b49DC139894644E424fefD6; diff --git a/src/AaveV3EthereumEtherFi.sol b/src/AaveV3EthereumEtherFi.sol index 5ca9a0ad..77fe36c9 100644 --- a/src/AaveV3EthereumEtherFi.sol +++ b/src/AaveV3EthereumEtherFi.sol @@ -88,8 +88,8 @@ library AaveV3EthereumEtherFi { // https://etherscan.io/address/0x1EBdbE77bbDDD284BdCE8D7981D7eD26D6af58cA address internal constant CAPS_PLUS_RISK_STEWARD = 0x1EBdbE77bbDDD284BdCE8D7981D7eD26D6af58cA; - // https://etherscan.io/address/0x7FbBCCFB548c110226fEF5BEc816Ea04B5170EA3 - address internal constant RISK_STEWARD = 0x7FbBCCFB548c110226fEF5BEc816Ea04B5170EA3; + // https://etherscan.io/address/0xBF79d8339303148E345277a994Eb2cD5d82F0067 + address internal constant RISK_STEWARD = 0xBF79d8339303148E345277a994Eb2cD5d82F0067; } library AaveV3EthereumEtherFiAssets { // https://etherscan.io/address/0xCd5fE23C85820F7B72D0926FC9b05b43E359b7ee diff --git a/src/AaveV3EthereumLido.sol b/src/AaveV3EthereumLido.sol index 65209bf2..74aeeb99 100644 --- a/src/AaveV3EthereumLido.sol +++ b/src/AaveV3EthereumLido.sol @@ -85,8 +85,8 @@ library AaveV3EthereumLido { // https://etherscan.io/address/0x3843b29118fFC18d5d12EE079d0324E1bF115e69 address internal constant CAPS_PLUS_RISK_STEWARD = 0x3843b29118fFC18d5d12EE079d0324E1bF115e69; - // https://etherscan.io/address/0x45C4f8b32927eFFdf1dA3cA42498504947dd4d0D - address internal constant RISK_STEWARD = 0x45C4f8b32927eFFdf1dA3cA42498504947dd4d0D; + // https://etherscan.io/address/0x30adC2f98ff78fDde12F191Acb82699f640694FB + address internal constant RISK_STEWARD = 0x30adC2f98ff78fDde12F191Acb82699f640694FB; } library AaveV3EthereumLidoAssets { // https://etherscan.io/address/0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0 diff --git a/src/AaveV3Gnosis.sol b/src/AaveV3Gnosis.sol index f21a3456..3a665caf 100644 --- a/src/AaveV3Gnosis.sol +++ b/src/AaveV3Gnosis.sol @@ -75,8 +75,8 @@ library AaveV3Gnosis { // https://gnosisscan.io/address/0x33AE1f41546a2e05368Bf789b3d868813c0Ae658 address internal constant CAPS_PLUS_RISK_STEWARD = 0x33AE1f41546a2e05368Bf789b3d868813c0Ae658; - // https://gnosisscan.io/address/0x0b9cA640284cf2636577703f785D5aEEc466BC56 - address internal constant RISK_STEWARD = 0x0b9cA640284cf2636577703f785D5aEEc466BC56; + // https://gnosisscan.io/address/0x677c9f358dA5DC83aF6760a839E4448D72840d04 + address internal constant RISK_STEWARD = 0x677c9f358dA5DC83aF6760a839E4448D72840d04; // https://gnosisscan.io/address/0x3Ceaf9b6CAb92dFe6302D0CC3F1BA880C28d35e5 address internal constant FREEZING_STEWARD = 0x3Ceaf9b6CAb92dFe6302D0CC3F1BA880C28d35e5; diff --git a/src/AaveV3Metis.sol b/src/AaveV3Metis.sol index 564468c6..4a4694ef 100644 --- a/src/AaveV3Metis.sol +++ b/src/AaveV3Metis.sol @@ -59,8 +59,8 @@ library AaveV3Metis { // https://explorer.metis.io/address/0x5f4d15d761528c57a5C30c43c1DAb26Fc5452731 address internal constant CAPS_PLUS_RISK_STEWARD = 0x5f4d15d761528c57a5C30c43c1DAb26Fc5452731; - // https://explorer.metis.io/address/0xF73F2634b43344d86921DA3391d4EF0d5675Dd63 - address internal constant RISK_STEWARD = 0xF73F2634b43344d86921DA3391d4EF0d5675Dd63; + // https://explorer.metis.io/address/0x58226D26658F19724cB881E9F747EeDC846BB1c9 + address internal constant RISK_STEWARD = 0x58226D26658F19724cB881E9F747EeDC846BB1c9; // https://explorer.metis.io/address/0x2C77153fF4a1e83A8d8D750735FB101ECB55949f address internal constant FREEZING_STEWARD = 0x2C77153fF4a1e83A8d8D750735FB101ECB55949f; diff --git a/src/AaveV3Optimism.sol b/src/AaveV3Optimism.sol index 7f88647f..f8af4fe2 100644 --- a/src/AaveV3Optimism.sol +++ b/src/AaveV3Optimism.sol @@ -59,8 +59,8 @@ library AaveV3Optimism { // https://optimistic.etherscan.io/address/0x5E76E98E0963EcDC6A065d1435F84065b7523f39 address internal constant CAPS_PLUS_RISK_STEWARD = 0x5E76E98E0963EcDC6A065d1435F84065b7523f39; - // https://optimistic.etherscan.io/address/0x9062F78b631f33D24Ed058cBc116A653452ea82A - address internal constant RISK_STEWARD = 0x9062F78b631f33D24Ed058cBc116A653452ea82A; + // https://optimistic.etherscan.io/address/0x928807b90A74210268B590D0159FCf1340Ad76Bd + address internal constant RISK_STEWARD = 0x928807b90A74210268B590D0159FCf1340Ad76Bd; // https://optimistic.etherscan.io/address/0x3829943c53F2d00e20B58475aF19716724bF90Ba address internal constant FREEZING_STEWARD = 0x3829943c53F2d00e20B58475aF19716724bF90Ba; diff --git a/src/AaveV3Polygon.sol b/src/AaveV3Polygon.sol index eefd6d4f..a5125397 100644 --- a/src/AaveV3Polygon.sol +++ b/src/AaveV3Polygon.sol @@ -56,8 +56,8 @@ library AaveV3Polygon { // https://polygonscan.com/address/0xc5de989E0D1BF605d19478Fdd32Aa827a10b464f address internal constant CAPS_PLUS_RISK_STEWARD = 0xc5de989E0D1BF605d19478Fdd32Aa827a10b464f; - // https://polygonscan.com/address/0xfF33BEcB9ECFE4328D4f9C37bE0F07b2CFe976E3 - address internal constant RISK_STEWARD = 0xfF33BEcB9ECFE4328D4f9C37bE0F07b2CFe976E3; + // https://polygonscan.com/address/0x88dECc4bf07f5219ea7D1E32fe3762DA28ff7609 + address internal constant RISK_STEWARD = 0x88dECc4bf07f5219ea7D1E32fe3762DA28ff7609; // https://polygonscan.com/address/0xa7b40ed4dfAC9255EA9Dd218A3874f380D9FbBEB address internal constant FREEZING_STEWARD = 0xa7b40ed4dfAC9255EA9Dd218A3874f380D9FbBEB; diff --git a/src/AaveV3Scroll.sol b/src/AaveV3Scroll.sol index 38b67905..b94189c8 100644 --- a/src/AaveV3Scroll.sol +++ b/src/AaveV3Scroll.sol @@ -62,8 +62,8 @@ library AaveV3Scroll { // https://scrollscan.com/address/0xc4dcA550EF04FD0f8AbD4c384575Fb8a8123054e address internal constant CAPS_PLUS_RISK_STEWARD = 0xc4dcA550EF04FD0f8AbD4c384575Fb8a8123054e; - // https://scrollscan.com/address/0x5E27B8EfDe76814795a07c8a378FcdF09715850b - address internal constant RISK_STEWARD = 0x5E27B8EfDe76814795a07c8a378FcdF09715850b; + // https://scrollscan.com/address/0x64093fe5f8Cf62aFb4377cf7EF4373537fe9155B + address internal constant RISK_STEWARD = 0x64093fe5f8Cf62aFb4377cf7EF4373537fe9155B; // https://scrollscan.com/address/0xc68D0C511076283075bD5cc9aA61E43673135f37 address internal constant FREEZING_STEWARD = 0xc68D0C511076283075bD5cc9aA61E43673135f37; diff --git a/src/AaveV3ZkSync.sol b/src/AaveV3ZkSync.sol index 7ca912b7..fe0054c0 100644 --- a/src/AaveV3ZkSync.sol +++ b/src/AaveV3ZkSync.sol @@ -75,8 +75,8 @@ library AaveV3ZkSync { // https://era.zksync.network/address/0x1Bc8dbF1f5aF8094Aa166098131116CaAd6B22F9 address internal constant STATIC_A_TOKEN_FACTORY = 0x1Bc8dbF1f5aF8094Aa166098131116CaAd6B22F9; - // https://era.zksync.network/address/0xDeDee21f34eff4e2902B95A106855834a608e19a - address internal constant RISK_STEWARD = 0xDeDee21f34eff4e2902B95A106855834a608e19a; + // https://era.zksync.network/address/0x05c77Cf62346329a157d7A6F874464D049CECb26 + address internal constant RISK_STEWARD = 0x05c77Cf62346329a157d7A6F874464D049CECb26; } library AaveV3ZkSyncAssets { // https://era.zksync.network/address/0x1d17CBcF0D6D143135aE902365D2E5e2A16538D4 diff --git a/src/ts/AaveV3Arbitrum.ts b/src/ts/AaveV3Arbitrum.ts index 0e138782..ad55c134 100644 --- a/src/ts/AaveV3Arbitrum.ts +++ b/src/ts/AaveV3Arbitrum.ts @@ -47,8 +47,8 @@ export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_2 = '0x5E76E98E0963EcDC6A065d1 // https://arbiscan.io/address/0xADf86b537eF08591c2777E144322E8b0Ca7E82a7 export const CAPS_PLUS_RISK_STEWARD = '0xADf86b537eF08591c2777E144322E8b0Ca7E82a7'; -// https://arbiscan.io/address/0x9EEa1Ba822d204077e9f90a92D30432417184587 -export const RISK_STEWARD = '0x9EEa1Ba822d204077e9f90a92D30432417184587'; +// https://arbiscan.io/address/0x14568979093FFF97aeBD73F58051a4f0e297b1eB +export const RISK_STEWARD = '0x14568979093FFF97aeBD73F58051a4f0e297b1eB'; // https://arbiscan.io/address/0xe59470B3BE3293534603487E00A44C72f2CD466d export const FREEZING_STEWARD = '0xe59470B3BE3293534603487E00A44C72f2CD466d'; diff --git a/src/ts/AaveV3Avalanche.ts b/src/ts/AaveV3Avalanche.ts index 4b3ad7a4..bbd6a4fc 100644 --- a/src/ts/AaveV3Avalanche.ts +++ b/src/ts/AaveV3Avalanche.ts @@ -44,8 +44,8 @@ export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_2 = '0xa0d9C1E9E48Ca30c8d8C3B5 // https://snowtrace.io/address/0xD2C92b5A793e196aB11dBefBe3Af6BddeD6c3DD5 export const CAPS_PLUS_RISK_STEWARD = '0xD2C92b5A793e196aB11dBefBe3Af6BddeD6c3DD5'; -// https://snowtrace.io/address/0x5d7e9a32E0c3db609089186bEBC4B9d8Eb86ad2c -export const RISK_STEWARD = '0x5d7e9a32E0c3db609089186bEBC4B9d8Eb86ad2c'; +// https://snowtrace.io/address/0xbf03aB677DEdA36E19D294d1735b93Dd9d1E0c05 +export const RISK_STEWARD = '0xbf03aB677DEdA36E19D294d1735b93Dd9d1E0c05'; // https://snowtrace.io/address/0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99 export const FREEZING_STEWARD = '0x6d4F341d8Bb3Dc5ABe822Aa940F1884508C13f99'; diff --git a/src/ts/AaveV3BNB.ts b/src/ts/AaveV3BNB.ts index c1d37669..8ef46e84 100644 --- a/src/ts/AaveV3BNB.ts +++ b/src/ts/AaveV3BNB.ts @@ -44,8 +44,8 @@ export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 = '0x777fBA024bA1228fDa76149 // https://bscscan.com/address/0x971F1C94b139AdEdedA729DA636e2B0C433Ff595 export const CAPS_PLUS_RISK_STEWARD = '0x971F1C94b139AdEdedA729DA636e2B0C433Ff595'; -// https://bscscan.com/address/0x45918bB1D3F73904a30Ffc3eD11CdB1c05eBF726 -export const RISK_STEWARD = '0x45918bB1D3F73904a30Ffc3eD11CdB1c05eBF726'; +// https://bscscan.com/address/0xbe7998712402B6A63975515A532Ce503437998b7 +export const RISK_STEWARD = '0xbe7998712402B6A63975515A532Ce503437998b7'; // https://bscscan.com/address/0x83f15Bc50d1A212576B202f80489502a7cc10412 export const FREEZING_STEWARD = '0x83f15Bc50d1A212576B202f80489502a7cc10412'; diff --git a/src/ts/AaveV3Base.ts b/src/ts/AaveV3Base.ts index 8c9f4d95..91638302 100644 --- a/src/ts/AaveV3Base.ts +++ b/src/ts/AaveV3Base.ts @@ -47,8 +47,8 @@ export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 = '0x2425A746911128c2eAA7bEB // https://basescan.org/address/0x12DEB4025b79f2B43f6aeF079F9D77C3f9a67bb6 export const CAPS_PLUS_RISK_STEWARD = '0x12DEB4025b79f2B43f6aeF079F9D77C3f9a67bb6'; -// https://basescan.org/address/0x963C0b3dFF5C35b171CcC11DAC006a605E42BeD2 -export const RISK_STEWARD = '0x963C0b3dFF5C35b171CcC11DAC006a605E42BeD2'; +// https://basescan.org/address/0xD3DE4b3571744EB77946d65aBF01408902E92c4E +export const RISK_STEWARD = '0xD3DE4b3571744EB77946d65aBF01408902E92c4E'; // https://basescan.org/address/0x4A4c73d563395ad827511F70097d4Ef82E653805 export const FREEZING_STEWARD = '0x4A4c73d563395ad827511F70097d4Ef82E653805'; diff --git a/src/ts/AaveV3Ethereum.ts b/src/ts/AaveV3Ethereum.ts index 2c04f7a3..2c7edafc 100644 --- a/src/ts/AaveV3Ethereum.ts +++ b/src/ts/AaveV3Ethereum.ts @@ -44,8 +44,8 @@ export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 = '0xaC725CB59D16C81061BDeA6 // https://etherscan.io/address/0x82dcCF206Ae2Ab46E2099e663F70DeE77caE7778 export const CAPS_PLUS_RISK_STEWARD = '0x82dcCF206Ae2Ab46E2099e663F70DeE77caE7778'; -// https://etherscan.io/address/0xF3911922bd054Bf6f4d6A02B8ADAC444921B0c51 -export const RISK_STEWARD = '0xF3911922bd054Bf6f4d6A02B8ADAC444921B0c51'; +// https://etherscan.io/address/0x7C7143f4bE189928A6a98D8686c5e84c893c59c7 +export const RISK_STEWARD = '0x7C7143f4bE189928A6a98D8686c5e84c893c59c7'; // https://etherscan.io/address/0x2eE68ACb6A1319de1b49DC139894644E424fefD6 export const FREEZING_STEWARD = '0x2eE68ACb6A1319de1b49DC139894644E424fefD6'; diff --git a/src/ts/AaveV3EthereumEtherFi.ts b/src/ts/AaveV3EthereumEtherFi.ts index 5c85d729..348b485b 100644 --- a/src/ts/AaveV3EthereumEtherFi.ts +++ b/src/ts/AaveV3EthereumEtherFi.ts @@ -74,8 +74,8 @@ export const STATIC_A_TOKEN_FACTORY = '0x1Ff525426800279843B71C0F818594DeCdC3b52 // https://etherscan.io/address/0x1EBdbE77bbDDD284BdCE8D7981D7eD26D6af58cA export const CAPS_PLUS_RISK_STEWARD = '0x1EBdbE77bbDDD284BdCE8D7981D7eD26D6af58cA'; -// https://etherscan.io/address/0x7FbBCCFB548c110226fEF5BEc816Ea04B5170EA3 -export const RISK_STEWARD = '0x7FbBCCFB548c110226fEF5BEc816Ea04B5170EA3'; +// https://etherscan.io/address/0xBF79d8339303148E345277a994Eb2cD5d82F0067 +export const RISK_STEWARD = '0xBF79d8339303148E345277a994Eb2cD5d82F0067'; export const CHAIN_ID = 1; export const ASSETS = { diff --git a/src/ts/AaveV3EthereumLido.ts b/src/ts/AaveV3EthereumLido.ts index ef2dfbd5..ed42f002 100644 --- a/src/ts/AaveV3EthereumLido.ts +++ b/src/ts/AaveV3EthereumLido.ts @@ -71,8 +71,8 @@ export const CONFIG_ENGINE = '0x1097eDb85392932b7dCB630baDDC8A6D73585218'; // https://etherscan.io/address/0x3843b29118fFC18d5d12EE079d0324E1bF115e69 export const CAPS_PLUS_RISK_STEWARD = '0x3843b29118fFC18d5d12EE079d0324E1bF115e69'; -// https://etherscan.io/address/0x45C4f8b32927eFFdf1dA3cA42498504947dd4d0D -export const RISK_STEWARD = '0x45C4f8b32927eFFdf1dA3cA42498504947dd4d0D'; +// https://etherscan.io/address/0x30adC2f98ff78fDde12F191Acb82699f640694FB +export const RISK_STEWARD = '0x30adC2f98ff78fDde12F191Acb82699f640694FB'; export const CHAIN_ID = 1; export const ASSETS = { diff --git a/src/ts/AaveV3Gnosis.ts b/src/ts/AaveV3Gnosis.ts index 6b8087a7..946ce5d3 100644 --- a/src/ts/AaveV3Gnosis.ts +++ b/src/ts/AaveV3Gnosis.ts @@ -62,8 +62,8 @@ export const WETH_GATEWAY = '0x7B9c12915c594a68dE96201Cbdc79147F09da278'; // https://gnosisscan.io/address/0x33AE1f41546a2e05368Bf789b3d868813c0Ae658 export const CAPS_PLUS_RISK_STEWARD = '0x33AE1f41546a2e05368Bf789b3d868813c0Ae658'; -// https://gnosisscan.io/address/0x0b9cA640284cf2636577703f785D5aEEc466BC56 -export const RISK_STEWARD = '0x0b9cA640284cf2636577703f785D5aEEc466BC56'; +// https://gnosisscan.io/address/0x677c9f358dA5DC83aF6760a839E4448D72840d04 +export const RISK_STEWARD = '0x677c9f358dA5DC83aF6760a839E4448D72840d04'; // https://gnosisscan.io/address/0x3Ceaf9b6CAb92dFe6302D0CC3F1BA880C28d35e5 export const FREEZING_STEWARD = '0x3Ceaf9b6CAb92dFe6302D0CC3F1BA880C28d35e5'; diff --git a/src/ts/AaveV3Metis.ts b/src/ts/AaveV3Metis.ts index 1afd63c9..e105a3c8 100644 --- a/src/ts/AaveV3Metis.ts +++ b/src/ts/AaveV3Metis.ts @@ -47,8 +47,8 @@ export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_1 = '0xE7fA271BD76FC9c6F2F9689 // https://explorer.metis.io/address/0x5f4d15d761528c57a5C30c43c1DAb26Fc5452731 export const CAPS_PLUS_RISK_STEWARD = '0x5f4d15d761528c57a5C30c43c1DAb26Fc5452731'; -// https://explorer.metis.io/address/0xF73F2634b43344d86921DA3391d4EF0d5675Dd63 -export const RISK_STEWARD = '0xF73F2634b43344d86921DA3391d4EF0d5675Dd63'; +// https://explorer.metis.io/address/0x58226D26658F19724cB881E9F747EeDC846BB1c9 +export const RISK_STEWARD = '0x58226D26658F19724cB881E9F747EeDC846BB1c9'; // https://explorer.metis.io/address/0x2C77153fF4a1e83A8d8D750735FB101ECB55949f export const FREEZING_STEWARD = '0x2C77153fF4a1e83A8d8D750735FB101ECB55949f'; diff --git a/src/ts/AaveV3Optimism.ts b/src/ts/AaveV3Optimism.ts index 453abf39..97f7aa09 100644 --- a/src/ts/AaveV3Optimism.ts +++ b/src/ts/AaveV3Optimism.ts @@ -47,8 +47,8 @@ export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_2 = '0x04a8D477eE202aDCE1682F5 // https://optimistic.etherscan.io/address/0x5E76E98E0963EcDC6A065d1435F84065b7523f39 export const CAPS_PLUS_RISK_STEWARD = '0x5E76E98E0963EcDC6A065d1435F84065b7523f39'; -// https://optimistic.etherscan.io/address/0x9062F78b631f33D24Ed058cBc116A653452ea82A -export const RISK_STEWARD = '0x9062F78b631f33D24Ed058cBc116A653452ea82A'; +// https://optimistic.etherscan.io/address/0x928807b90A74210268B590D0159FCf1340Ad76Bd +export const RISK_STEWARD = '0x928807b90A74210268B590D0159FCf1340Ad76Bd'; // https://optimistic.etherscan.io/address/0x3829943c53F2d00e20B58475aF19716724bF90Ba export const FREEZING_STEWARD = '0x3829943c53F2d00e20B58475aF19716724bF90Ba'; diff --git a/src/ts/AaveV3Polygon.ts b/src/ts/AaveV3Polygon.ts index 6d514644..8c90ba34 100644 --- a/src/ts/AaveV3Polygon.ts +++ b/src/ts/AaveV3Polygon.ts @@ -44,8 +44,8 @@ export const DEFAULT_VARIABLE_DEBT_TOKEN_IMPL_REV_2 = '0x79b5e91037AE441dE0d9e6f // https://polygonscan.com/address/0xc5de989E0D1BF605d19478Fdd32Aa827a10b464f export const CAPS_PLUS_RISK_STEWARD = '0xc5de989E0D1BF605d19478Fdd32Aa827a10b464f'; -// https://polygonscan.com/address/0xfF33BEcB9ECFE4328D4f9C37bE0F07b2CFe976E3 -export const RISK_STEWARD = '0xfF33BEcB9ECFE4328D4f9C37bE0F07b2CFe976E3'; +// https://polygonscan.com/address/0x88dECc4bf07f5219ea7D1E32fe3762DA28ff7609 +export const RISK_STEWARD = '0x88dECc4bf07f5219ea7D1E32fe3762DA28ff7609'; // https://polygonscan.com/address/0xa7b40ed4dfAC9255EA9Dd218A3874f380D9FbBEB export const FREEZING_STEWARD = '0xa7b40ed4dfAC9255EA9Dd218A3874f380D9FbBEB'; diff --git a/src/ts/AaveV3Scroll.ts b/src/ts/AaveV3Scroll.ts index d7dda09a..b6e400dc 100644 --- a/src/ts/AaveV3Scroll.ts +++ b/src/ts/AaveV3Scroll.ts @@ -50,8 +50,8 @@ export const L2_ENCODER = '0x8714E5ED2d8edD4E88eFf66637C3FE8eCf2B8C40'; // https://scrollscan.com/address/0xc4dcA550EF04FD0f8AbD4c384575Fb8a8123054e export const CAPS_PLUS_RISK_STEWARD = '0xc4dcA550EF04FD0f8AbD4c384575Fb8a8123054e'; -// https://scrollscan.com/address/0x5E27B8EfDe76814795a07c8a378FcdF09715850b -export const RISK_STEWARD = '0x5E27B8EfDe76814795a07c8a378FcdF09715850b'; +// https://scrollscan.com/address/0x64093fe5f8Cf62aFb4377cf7EF4373537fe9155B +export const RISK_STEWARD = '0x64093fe5f8Cf62aFb4377cf7EF4373537fe9155B'; // https://scrollscan.com/address/0xc68D0C511076283075bD5cc9aA61E43673135f37 export const FREEZING_STEWARD = '0xc68D0C511076283075bD5cc9aA61E43673135f37'; diff --git a/src/ts/AaveV3ZkSync.ts b/src/ts/AaveV3ZkSync.ts index 9beb860e..fd688cd3 100644 --- a/src/ts/AaveV3ZkSync.ts +++ b/src/ts/AaveV3ZkSync.ts @@ -62,8 +62,8 @@ export const WETH_GATEWAY = '0xD5f6c8D402E0a0222f7FA132F9e80fDCC074df5C'; // https://era.zksync.network/address/0x1Bc8dbF1f5aF8094Aa166098131116CaAd6B22F9 export const STATIC_A_TOKEN_FACTORY = '0x1Bc8dbF1f5aF8094Aa166098131116CaAd6B22F9'; -// https://era.zksync.network/address/0xDeDee21f34eff4e2902B95A106855834a608e19a -export const RISK_STEWARD = '0xDeDee21f34eff4e2902B95A106855834a608e19a'; +// https://era.zksync.network/address/0x05c77Cf62346329a157d7A6F874464D049CECb26 +export const RISK_STEWARD = '0x05c77Cf62346329a157d7A6F874464D049CECb26'; export const CHAIN_ID = 324; export const ASSETS = { diff --git a/src/ts/abis/IRiskSteward.ts b/src/ts/abis/IRiskSteward.ts new file mode 100644 index 00000000..a7bb1cfe --- /dev/null +++ b/src/ts/abis/IRiskSteward.ts @@ -0,0 +1,1349 @@ +// AUTOGENERATED - MANUALLY CHANGES WILL BE REVERTED BY THE GENERATOR +export const IRiskSteward_ABI = [ + { + type: 'constructor', + inputs: [ + { + name: 'poolDataProvider', + type: 'address', + internalType: 'contract IPoolDataProvider', + }, + { + name: 'engine', + type: 'address', + internalType: 'contract IAaveV3ConfigEngine', + }, + { + name: 'riskCouncil', + type: 'address', + internalType: 'address', + }, + { + name: 'riskConfig', + type: 'tuple', + internalType: 'struct IRiskSteward.Config', + components: [ + { + name: 'ltv', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'liquidationThreshold', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'liquidationBonus', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'supplyCap', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'borrowCap', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'debtCeiling', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'baseVariableBorrowRate', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'variableRateSlope1', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'variableRateSlope2', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'optimalUsageRatio', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'priceCapLst', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'priceCapStable', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + ], + }, + ], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'CONFIG_ENGINE', + inputs: [], + outputs: [ + { + name: '', + type: 'address', + internalType: 'contract IAaveV3ConfigEngine', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'POOL_DATA_PROVIDER', + inputs: [], + outputs: [ + { + name: '', + type: 'address', + internalType: 'contract IPoolDataProvider', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'RISK_COUNCIL', + inputs: [], + outputs: [ + { + name: '', + type: 'address', + internalType: 'address', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'getRiskConfig', + inputs: [], + outputs: [ + { + name: '', + type: 'tuple', + internalType: 'struct IRiskSteward.Config', + components: [ + { + name: 'ltv', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'liquidationThreshold', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'liquidationBonus', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'supplyCap', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'borrowCap', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'debtCeiling', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'baseVariableBorrowRate', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'variableRateSlope1', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'variableRateSlope2', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'optimalUsageRatio', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'priceCapLst', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'priceCapStable', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'getTimelock', + inputs: [ + { + name: 'asset', + type: 'address', + internalType: 'address', + }, + ], + outputs: [ + { + name: '', + type: 'tuple', + internalType: 'struct IRiskSteward.Debounce', + components: [ + { + name: 'supplyCapLastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'borrowCapLastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'ltvLastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'liquidationBonusLastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'liquidationThresholdLastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'debtCeilingLastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'baseVariableRateLastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'variableRateSlope1LastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'variableRateSlope2LastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'optimalUsageRatioLastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'priceCapLastUpdated', + type: 'uint40', + internalType: 'uint40', + }, + ], + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'isAddressRestricted', + inputs: [ + { + name: 'contractAddress', + type: 'address', + internalType: 'address', + }, + ], + outputs: [ + { + name: '', + type: 'bool', + internalType: 'bool', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'owner', + inputs: [], + outputs: [ + { + name: '', + type: 'address', + internalType: 'address', + }, + ], + stateMutability: 'view', + }, + { + type: 'function', + name: 'renounceOwnership', + inputs: [], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setAddressRestricted', + inputs: [ + { + name: 'contractAddress', + type: 'address', + internalType: 'address', + }, + { + name: 'isRestricted', + type: 'bool', + internalType: 'bool', + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'setRiskConfig', + inputs: [ + { + name: 'riskConfig', + type: 'tuple', + internalType: 'struct IRiskSteward.Config', + components: [ + { + name: 'ltv', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'liquidationThreshold', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'liquidationBonus', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'supplyCap', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'borrowCap', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'debtCeiling', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'baseVariableBorrowRate', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'variableRateSlope1', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'variableRateSlope2', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'optimalUsageRatio', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'priceCapLst', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'priceCapStable', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + ], + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'transferOwnership', + inputs: [ + { + name: 'newOwner', + type: 'address', + internalType: 'address', + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'updateCaps', + inputs: [ + { + name: 'capsUpdate', + type: 'tuple[]', + internalType: 'struct IAaveV3ConfigEngine.CapsUpdate[]', + components: [ + { + name: 'asset', + type: 'address', + internalType: 'address', + }, + { + name: 'supplyCap', + type: 'uint256', + internalType: 'uint256', + }, + { + name: 'borrowCap', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'updateCollateralSide', + inputs: [ + { + name: 'collateralUpdates', + type: 'tuple[]', + internalType: 'struct IAaveV3ConfigEngine.CollateralUpdate[]', + components: [ + { + name: 'asset', + type: 'address', + internalType: 'address', + }, + { + name: 'ltv', + type: 'uint256', + internalType: 'uint256', + }, + { + name: 'liqThreshold', + type: 'uint256', + internalType: 'uint256', + }, + { + name: 'liqBonus', + type: 'uint256', + internalType: 'uint256', + }, + { + name: 'debtCeiling', + type: 'uint256', + internalType: 'uint256', + }, + { + name: 'liqProtocolFee', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'updateLstPriceCaps', + inputs: [ + { + name: 'priceCapUpdates', + type: 'tuple[]', + internalType: 'struct IRiskSteward.PriceCapLstUpdate[]', + components: [ + { + name: 'oracle', + type: 'address', + internalType: 'address', + }, + { + name: 'priceCapUpdateParams', + type: 'tuple', + internalType: 'struct IPriceCapAdapter.PriceCapUpdateParams', + components: [ + { + name: 'snapshotRatio', + type: 'uint104', + internalType: 'uint104', + }, + { + name: 'snapshotTimestamp', + type: 'uint48', + internalType: 'uint48', + }, + { + name: 'maxYearlyRatioGrowthPercent', + type: 'uint16', + internalType: 'uint16', + }, + ], + }, + ], + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'updateRates', + inputs: [ + { + name: 'ratesUpdate', + type: 'tuple[]', + internalType: 'struct IAaveV3ConfigEngine.RateStrategyUpdate[]', + components: [ + { + name: 'asset', + type: 'address', + internalType: 'address', + }, + { + name: 'params', + type: 'tuple', + internalType: 'struct IAaveV3ConfigEngine.InterestRateInputData', + components: [ + { + name: 'optimalUsageRatio', + type: 'uint256', + internalType: 'uint256', + }, + { + name: 'baseVariableBorrowRate', + type: 'uint256', + internalType: 'uint256', + }, + { + name: 'variableRateSlope1', + type: 'uint256', + internalType: 'uint256', + }, + { + name: 'variableRateSlope2', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + ], + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'function', + name: 'updateStablePriceCaps', + inputs: [ + { + name: 'priceCapUpdates', + type: 'tuple[]', + internalType: 'struct IRiskSteward.PriceCapStableUpdate[]', + components: [ + { + name: 'oracle', + type: 'address', + internalType: 'address', + }, + { + name: 'priceCap', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + ], + outputs: [], + stateMutability: 'nonpayable', + }, + { + type: 'event', + name: 'AddressRestricted', + inputs: [ + { + name: 'contractAddress', + type: 'address', + indexed: true, + internalType: 'address', + }, + { + name: 'isRestricted', + type: 'bool', + indexed: true, + internalType: 'bool', + }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'OwnershipTransferred', + inputs: [ + { + name: 'previousOwner', + type: 'address', + indexed: true, + internalType: 'address', + }, + { + name: 'newOwner', + type: 'address', + indexed: true, + internalType: 'address', + }, + ], + anonymous: false, + }, + { + type: 'event', + name: 'RiskConfigSet', + inputs: [ + { + name: 'riskConfig', + type: 'tuple', + indexed: true, + internalType: 'struct IRiskSteward.Config', + components: [ + { + name: 'ltv', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'liquidationThreshold', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'liquidationBonus', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'supplyCap', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'borrowCap', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'debtCeiling', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'baseVariableBorrowRate', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'variableRateSlope1', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'variableRateSlope2', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'optimalUsageRatio', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'priceCapLst', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + { + name: 'priceCapStable', + type: 'tuple', + internalType: 'struct IRiskSteward.RiskParamConfig', + components: [ + { + name: 'minDelay', + type: 'uint40', + internalType: 'uint40', + }, + { + name: 'maxPercentChange', + type: 'uint256', + internalType: 'uint256', + }, + ], + }, + ], + }, + ], + anonymous: false, + }, + { + type: 'error', + name: 'AssetIsRestricted', + inputs: [], + }, + { + type: 'error', + name: 'DebounceNotRespected', + inputs: [], + }, + { + type: 'error', + name: 'InvalidCaller', + inputs: [], + }, + { + type: 'error', + name: 'InvalidPriceCapUpdate', + inputs: [], + }, + { + type: 'error', + name: 'InvalidUpdateToZero', + inputs: [], + }, + { + type: 'error', + name: 'NoZeroUpdates', + inputs: [], + }, + { + type: 'error', + name: 'OracleIsRestricted', + inputs: [], + }, + { + type: 'error', + name: 'ParamChangeNotAllowed', + inputs: [], + }, + { + type: 'error', + name: 'UpdateNotInRange', + inputs: [], + }, +] as const; diff --git a/src/ts/abis/index.ts b/src/ts/abis/index.ts index 07e07201..c9f810bc 100644 --- a/src/ts/abis/index.ts +++ b/src/ts/abis/index.ts @@ -35,6 +35,7 @@ export {IGovernanceDataHelper_ABI} from './IGovernanceDataHelper'; export {IMetaDelegateHelper_ABI} from './IMetaDelegateHelper'; export {IVotingMachineDataHelper_ABI} from './IVotingMachineDataHelper'; export {IUiPoolDataProvider_ABI} from './IUiPoolDataProvider'; +export {IRiskSteward_ABI} from './IRiskSteward'; export {IAaveToken_ABI} from './IAaveToken'; export {IStkAaveToken_ABI} from './IStkAaveToken'; export {IATokenWithDelegation_ABI} from './IATokenWithDelegation';