From 902df0d73c516dd4d7dcb50029a403dd69139fc1 Mon Sep 17 00:00:00 2001 From: travis Date: Sun, 16 Jun 2024 16:30:01 -0700 Subject: [PATCH 1/4] updated ve-related addresses --- scripts/constants/fraxtal-l2.ts | 21 +++++++++++++------ src/Constants.sol | 36 ++++++++++++++++++++++----------- 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/scripts/constants/fraxtal-l2.ts b/scripts/constants/fraxtal-l2.ts index d306ff8..1926dd6 100644 --- a/scripts/constants/fraxtal-l2.ts +++ b/scripts/constants/fraxtal-l2.ts @@ -26,6 +26,7 @@ export const FRAXSWAP_V2_FRAX_FPI_FRAXTAL = "0x7b8848f10A016341c9B2427e8541C19F3 export const FRAXSWAP_V2_FRAX_FXS_FRAXTAL = "0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25"; export const FRAXSWAP_V2_FRAX_SFRXETH_FRAXTAL = "0xe402a39F788f90607A50254fAf56316E6a78231A"; export const FRAXSWAP_V2_FRAX_WFRXETH_FRAXTAL = "0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7"; +export const FXB_TIMED_LOCKER_20261231 = "0x00a5b34d4b436E3276695a1EaA8242FA2FC11dC5"; // FraxBonds export const FXB_20261231 = "0x8e9C334afc76106F08E0383907F4Fca9bB10BA3e"; @@ -96,12 +97,13 @@ export const FRAXSWAP_WFRX_ETH_PAIR = "0x4527bcEd9d41706D1436507e9a6e354d3FF44ff // Misc export const BALANCE_CHECKER = "0x219356ef2f11a314Dd0D8bfd7f4B0B951Cb16c3a"; export const DELEGATION_REGISTRY = "0x098c837FeF2e146e96ceAF58A10F68Fc6326DC4C"; -export const FPISLOCKER_UTILS = "0x45DD6dd4b1b0373E6452Edf7c6CC401DFbC7ecb9"; -export const FPISLOCKER_IMPL_V3 = "0x2D895a0d5Ec661028EDeeA8bEEf0Dee09CB1b11f"; -export const FPISLOCKER_IMPL_V2 = "0x36B406A00997E4bd5B9bB3618d832fB88Fb09840"; -export const FPISLOCKER_IMPL_V1 = "0xE91488002186029221EFC2449C19aDdF79E61C01"; -export const FPISLOCKER_PROXY = "0x8773DE100B4932e420896fe06A4DB1cCf2A616dF"; +export const FPIS_LOCKER_PROXY = "0x437E9F65cA234eCfed12149109587139d435AD35"; +export const FPIS_LOCKER_IMPL = "0x2b72DF3116cEb8E8a7391024f69A0BfF2718389D"; +export const FPIS_LOCKER_UTILS = "0x9E461cF6773F168A991A7aD73E2aD89ecD737745"; export const FRAXTAL_POINTS_FXTL = "0xaB4b7c5C9A7C8EbB97877085A6C3550ad4Ed3f97"; +export const SFRAX_ERC4626_MINT_REDEEMER_PROXY = "0xBFc4D34Db83553725eC6c768da71D2D9c1456B55"; +export const SFRAX_ERC4626_MINT_REDEEMER_IMPL = "0x0aF57786D6B2447EA2E04F9FAB36a239c2E8C9d5"; + // Fraxferry export const FRAXFERRY_ETHEREUM_FRAX = "0x00160baF84b3D2014837cc12e838ea399f8b8478"; export const FRAXFERRY_ETHEREUM_FXS = "0x24e927daC110Aab7189a4F864d41680e4F7865FB"; @@ -142,15 +144,22 @@ export const L1VEFXS_PROXY_ADMIN_OWNER = "0xC4EB45d80DC1F079045E75D5d55de8eD1c10 export const L1VEFXS_PROXY_ADMIN = "0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F"; export const L1VEFXS_IMPL_V1 = "0xbdb5088a8e89e9ec83e82caa01ec20ed976459ed"; export const L1VEFXS_PROXY = "0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F"; +export const L1VEFXS_TOTAL_SUPPLY_ORACLE = "0xaBBeFFb0d24EAcFFD3Be194471F0FD8aaaa3e5f8"; // FXB AMO export const FXB_AMO = "0x55271b0d4DaC2664Fa9d44F8cccd89A3e6342313"; export const OPTIMISM_MINTABLE_PERMIT_ERC20_FACTORY_IMPL_V1 = "0x111ddab65Af5fF96b674400246699ED40F550De1"; + +// veFXS Related export const VEFXS_YIELD_DISTRIBUTOR_IMPL_V1 = "0x691d1AaFB550c35B24e09bb991AEC9612342eD93"; -export const VEFXS_YIELD_DISTRIBUTOR_PROXY = "0x39333a540bbea6262e405E1A6d435Bd2e776561E"; +export const VEFXS_YIELD_DISTRIBUTOR_PROXY_V1 = "0x39333a540bbea6262e405E1A6d435Bd2e776561E"; +export const YIELD_DISTRIBUTOR_PROXY = "0x2673fD26dD56D22e85A7Cb6A8fDe1dEaB151f93b"; +export const YIELD_DISTRIBUTOR_IMPL = "0x5CA7cc32be0E03fde68057d04c1a7eE8ff379AF3"; export const VESTEDFXS_UTILS = "0xC540f05BF5a09336078634D65E46242DFBa55030"; export const VESTEDFXS_IMPL_V1 = "0x54bd5c72645fed784C117cA83533e0584b24Ee5c"; export const VESTEDFXS_PROXY = "0x007FD070a7E1B0fA1364044a373Ac1339bAD89CF"; +export const VEFXS_AGGREGATOR_PROXY = "0x176A4e081653EbB8a2246BAfbfCf663782426531"; +export const VEFXS_AGGREGATOR_IMPL = "0xF9Ca1Dc83B16C72b3359CEcD1d3Fc96d80dC4Fa6"; // Multisigs export const COMPTROLLERS = "0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6"; diff --git a/src/Constants.sol b/src/Constants.sol index 89b5d93..d8f41bf 100644 --- a/src/Constants.sol +++ b/src/Constants.sol @@ -779,6 +779,7 @@ library FraxtalL2 { address internal constant FRAXSWAP_V2_FRAX_FXS_FRAXTAL = 0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25; address internal constant FRAXSWAP_V2_FRAX_SFRXETH_FRAXTAL = 0xe402a39F788f90607A50254fAf56316E6a78231A; address internal constant FRAXSWAP_V2_FRAX_WFRXETH_FRAXTAL = 0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7; + address internal constant FXB_TIMED_LOCKER_20261231 = 0x00a5b34d4b436E3276695a1EaA8242FA2FC11dC5; address internal constant FXB_20261231 = 0x8e9C334afc76106F08E0383907F4Fca9bB10BA3e; address internal constant FXB_20241231 = 0xa71bB8c79dc8FfA90A6Dd711aA9Fbe5114c19cba; address internal constant FXB_20240630 = 0x758094A71a39De49626FE25B86631ED944558653; @@ -845,12 +846,12 @@ library FraxtalL2 { address internal constant FRAXSWAP_WFRX_ETH_PAIR = 0x4527bcEd9d41706D1436507e9a6e354d3FF44ff9; address internal constant BALANCE_CHECKER = 0x219356ef2f11a314Dd0D8bfd7f4B0B951Cb16c3a; address internal constant DELEGATION_REGISTRY = 0x098c837FeF2e146e96ceAF58A10F68Fc6326DC4C; - address internal constant FPISLOCKER_UTILS = 0x45DD6dd4b1b0373E6452Edf7c6CC401DFbC7ecb9; - address internal constant FPISLOCKER_IMPL_V3 = 0x2D895a0d5Ec661028EDeeA8bEEf0Dee09CB1b11f; - address internal constant FPISLOCKER_IMPL_V2 = 0x36B406A00997E4bd5B9bB3618d832fB88Fb09840; - address internal constant FPISLOCKER_IMPL_V1 = 0xE91488002186029221EFC2449C19aDdF79E61C01; - address internal constant FPISLOCKER_PROXY = 0x8773DE100B4932e420896fe06A4DB1cCf2A616dF; + address internal constant FPIS_LOCKER_PROXY = 0x437E9F65cA234eCfed12149109587139d435AD35; + address internal constant FPIS_LOCKER_IMPL = 0x2b72DF3116cEb8E8a7391024f69A0BfF2718389D; + address internal constant FPIS_LOCKER_UTILS = 0x9E461cF6773F168A991A7aD73E2aD89ecD737745; address internal constant FRAXTAL_POINTS_FXTL = 0xaB4b7c5C9A7C8EbB97877085A6C3550ad4Ed3f97; + address internal constant SFRAX_ERC4626_MINT_REDEEMER_PROXY = 0xBFc4D34Db83553725eC6c768da71D2D9c1456B55; + address internal constant SFRAX_ERC4626_MINT_REDEEMER_IMPL = 0x0aF57786D6B2447EA2E04F9FAB36a239c2E8C9d5; address internal constant FRAXFERRY_ETHEREUM_FRAX = 0x00160baF84b3D2014837cc12e838ea399f8b8478; address internal constant FRAXFERRY_ETHEREUM_FXS = 0x24e927daC110Aab7189a4F864d41680e4F7865FB; address internal constant FRAXFERRY_ETHEREUM_FPI = 0xEcf63fd1A839fF54949eB786693237bEEC59C6e7; @@ -878,14 +879,19 @@ library FraxtalL2 { address internal constant L1VEFXS_PROXY_ADMIN = 0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F; address internal constant L1VEFXS_IMPL_V1 = 0xBDB5088A8e89e9ec83e82caA01EC20Ed976459eD; address internal constant L1VEFXS_PROXY = 0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F; + address internal constant L1VEFXS_TOTAL_SUPPLY_ORACLE = 0xaBBeFFb0d24EAcFFD3Be194471F0FD8aaaa3e5f8; address internal constant FXB_AMO = 0x55271b0d4DaC2664Fa9d44F8cccd89A3e6342313; address internal constant OPTIMISM_MINTABLE_PERMIT_ERC20_FACTORY_IMPL_V1 = 0x111ddab65Af5fF96b674400246699ED40F550De1; address internal constant VEFXS_YIELD_DISTRIBUTOR_IMPL_V1 = 0x691d1AaFB550c35B24e09bb991AEC9612342eD93; - address internal constant VEFXS_YIELD_DISTRIBUTOR_PROXY = 0x39333a540bbea6262e405E1A6d435Bd2e776561E; + address internal constant VEFXS_YIELD_DISTRIBUTOR_PROXY_V1 = 0x39333a540bbea6262e405E1A6d435Bd2e776561E; + address internal constant YIELD_DISTRIBUTOR_PROXY = 0x2673fD26dD56D22e85A7Cb6A8fDe1dEaB151f93b; + address internal constant YIELD_DISTRIBUTOR_IMPL = 0x5CA7cc32be0E03fde68057d04c1a7eE8ff379AF3; address internal constant VESTEDFXS_UTILS = 0xC540f05BF5a09336078634D65E46242DFBa55030; address internal constant VESTEDFXS_IMPL_V1 = 0x54bd5c72645fed784C117cA83533e0584b24Ee5c; address internal constant VESTEDFXS_PROXY = 0x007FD070a7E1B0fA1364044a373Ac1339bAD89CF; + address internal constant VEFXS_AGGREGATOR_PROXY = 0x176A4e081653EbB8a2246BAfbfCf663782426531; + address internal constant VEFXS_AGGREGATOR_IMPL = 0xF9Ca1Dc83B16C72b3359CEcD1d3Fc96d80dC4Fa6; address internal constant COMPTROLLERS = 0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6; address internal constant PROPOSER_MULTI_SIG = 0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE; address internal constant GOV_PROPOSER_MSIG = 0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE; @@ -929,6 +935,7 @@ abstract contract AddressHelperFraxtalL2 is TestBase { vm.label(0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25, "Constants.FXTL_FRAXSWAP_V2_FRAX_FXS_FRAXTAL"); vm.label(0xe402a39F788f90607A50254fAf56316E6a78231A, "Constants.FXTL_FRAXSWAP_V2_FRAX_SFRXETH_FRAXTAL"); vm.label(0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7, "Constants.FXTL_FRAXSWAP_V2_FRAX_WFRXETH_FRAXTAL"); + vm.label(0x00a5b34d4b436E3276695a1EaA8242FA2FC11dC5, "Constants.FXTL_FXB_TIMED_LOCKER_20261231"); vm.label(0x8e9C334afc76106F08E0383907F4Fca9bB10BA3e, "Constants.FXTL_FXB_20261231"); vm.label(0xa71bB8c79dc8FfA90A6Dd711aA9Fbe5114c19cba, "Constants.FXTL_FXB_20241231"); vm.label(0x758094A71a39De49626FE25B86631ED944558653, "Constants.FXTL_FXB_20240630"); @@ -1007,12 +1014,12 @@ abstract contract AddressHelperFraxtalL2 is TestBase { vm.label(0x4527bcEd9d41706D1436507e9a6e354d3FF44ff9, "Constants.FXTL_FRAXSWAP_WFRX_ETH_PAIR"); vm.label(0x219356ef2f11a314Dd0D8bfd7f4B0B951Cb16c3a, "Constants.FXTL_BALANCE_CHECKER"); vm.label(0x098c837FeF2e146e96ceAF58A10F68Fc6326DC4C, "Constants.FXTL_DELEGATION_REGISTRY"); - vm.label(0x45DD6dd4b1b0373E6452Edf7c6CC401DFbC7ecb9, "Constants.FXTL_FPISLOCKER_UTILS"); - vm.label(0x2D895a0d5Ec661028EDeeA8bEEf0Dee09CB1b11f, "Constants.FXTL_FPISLOCKER_IMPL_V3"); - vm.label(0x36B406A00997E4bd5B9bB3618d832fB88Fb09840, "Constants.FXTL_FPISLOCKER_IMPL_V2"); - vm.label(0xE91488002186029221EFC2449C19aDdF79E61C01, "Constants.FXTL_FPISLOCKER_IMPL_V1"); - vm.label(0x8773DE100B4932e420896fe06A4DB1cCf2A616dF, "Constants.FXTL_FPISLOCKER_PROXY"); + vm.label(0x437E9F65cA234eCfed12149109587139d435AD35, "Constants.FXTL_FPIS_LOCKER_PROXY"); + vm.label(0x2b72DF3116cEb8E8a7391024f69A0BfF2718389D, "Constants.FXTL_FPIS_LOCKER_IMPL"); + vm.label(0x9E461cF6773F168A991A7aD73E2aD89ecD737745, "Constants.FXTL_FPIS_LOCKER_UTILS"); vm.label(0xaB4b7c5C9A7C8EbB97877085A6C3550ad4Ed3f97, "Constants.FXTL_FRAXTAL_POINTS_FXTL"); + vm.label(0xBFc4D34Db83553725eC6c768da71D2D9c1456B55, "Constants.FXTL_SFRAX_ERC4626_MINT_REDEEMER_PROXY"); + vm.label(0x0aF57786D6B2447EA2E04F9FAB36a239c2E8C9d5, "Constants.FXTL_SFRAX_ERC4626_MINT_REDEEMER_IMPL"); vm.label(0x00160baF84b3D2014837cc12e838ea399f8b8478, "Constants.FXTL_FRAXFERRY_ETHEREUM_FRAX"); vm.label(0x24e927daC110Aab7189a4F864d41680e4F7865FB, "Constants.FXTL_FRAXFERRY_ETHEREUM_FXS"); vm.label(0xEcf63fd1A839fF54949eB786693237bEEC59C6e7, "Constants.FXTL_FRAXFERRY_ETHEREUM_FPI"); @@ -1040,16 +1047,21 @@ abstract contract AddressHelperFraxtalL2 is TestBase { vm.label(0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F, "Constants.FXTL_L1VEFXS_PROXY_ADMIN"); vm.label(0xBDB5088A8e89e9ec83e82caA01EC20Ed976459eD, "Constants.FXTL_L1VEFXS_IMPL_V1"); vm.label(0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F, "Constants.FXTL_L1VEFXS_PROXY"); + vm.label(0xaBBeFFb0d24EAcFFD3Be194471F0FD8aaaa3e5f8, "Constants.FXTL_L1VEFXS_TOTAL_SUPPLY_ORACLE"); vm.label(0x55271b0d4DaC2664Fa9d44F8cccd89A3e6342313, "Constants.FXTL_FXB_AMO"); vm.label( 0x111ddab65Af5fF96b674400246699ED40F550De1, "Constants.FXTL_OPTIMISM_MINTABLE_PERMIT_ERC20_FACTORY_IMPL_V1" ); vm.label(0x691d1AaFB550c35B24e09bb991AEC9612342eD93, "Constants.FXTL_VEFXS_YIELD_DISTRIBUTOR_IMPL_V1"); - vm.label(0x39333a540bbea6262e405E1A6d435Bd2e776561E, "Constants.FXTL_VEFXS_YIELD_DISTRIBUTOR_PROXY"); + vm.label(0x39333a540bbea6262e405E1A6d435Bd2e776561E, "Constants.FXTL_VEFXS_YIELD_DISTRIBUTOR_PROXY_V1"); + vm.label(0x2673fD26dD56D22e85A7Cb6A8fDe1dEaB151f93b, "Constants.FXTL_YIELD_DISTRIBUTOR_PROXY"); + vm.label(0x5CA7cc32be0E03fde68057d04c1a7eE8ff379AF3, "Constants.FXTL_YIELD_DISTRIBUTOR_IMPL"); vm.label(0xC540f05BF5a09336078634D65E46242DFBa55030, "Constants.FXTL_VESTEDFXS_UTILS"); vm.label(0x54bd5c72645fed784C117cA83533e0584b24Ee5c, "Constants.FXTL_VESTEDFXS_IMPL_V1"); vm.label(0x007FD070a7E1B0fA1364044a373Ac1339bAD89CF, "Constants.FXTL_VESTEDFXS_PROXY"); + vm.label(0x176A4e081653EbB8a2246BAfbfCf663782426531, "Constants.FXTL_VEFXS_AGGREGATOR_PROXY"); + vm.label(0xF9Ca1Dc83B16C72b3359CEcD1d3Fc96d80dC4Fa6, "Constants.FXTL_VEFXS_AGGREGATOR_IMPL"); vm.label(0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6, "Constants.FXTL_COMPTROLLERS"); vm.label(0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE, "Constants.FXTL_PROPOSER_MULTI_SIG"); vm.label(0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE, "Constants.FXTL_GOV_PROPOSER_MSIG"); From d9193c0814d71fb387c984694e5c90430b86f998 Mon Sep 17 00:00:00 2001 From: travis Date: Sun, 16 Jun 2024 18:37:44 -0700 Subject: [PATCH 2/4] yd address fix --- scripts/constants/fraxtal-l2.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/constants/fraxtal-l2.ts b/scripts/constants/fraxtal-l2.ts index 1926dd6..94e419b 100644 --- a/scripts/constants/fraxtal-l2.ts +++ b/scripts/constants/fraxtal-l2.ts @@ -153,8 +153,8 @@ export const OPTIMISM_MINTABLE_PERMIT_ERC20_FACTORY_IMPL_V1 = "0x111ddab65Af5fF9 // veFXS Related export const VEFXS_YIELD_DISTRIBUTOR_IMPL_V1 = "0x691d1AaFB550c35B24e09bb991AEC9612342eD93"; export const VEFXS_YIELD_DISTRIBUTOR_PROXY_V1 = "0x39333a540bbea6262e405E1A6d435Bd2e776561E"; -export const YIELD_DISTRIBUTOR_PROXY = "0x2673fD26dD56D22e85A7Cb6A8fDe1dEaB151f93b"; -export const YIELD_DISTRIBUTOR_IMPL = "0x5CA7cc32be0E03fde68057d04c1a7eE8ff379AF3"; +export const YIELD_DISTRIBUTOR_PROXY = "0x21359d1697e610e25C8229B2C57907378eD09A2E"; +export const YIELD_DISTRIBUTOR_IMPL = "0x08de0C3BCBa9529fe59FA4e4593805Bd55A54B0B"; export const VESTEDFXS_UTILS = "0xC540f05BF5a09336078634D65E46242DFBa55030"; export const VESTEDFXS_IMPL_V1 = "0x54bd5c72645fed784C117cA83533e0584b24Ee5c"; export const VESTEDFXS_PROXY = "0x007FD070a7E1B0fA1364044a373Ac1339bAD89CF"; From 8af2f6dee2385dfa0bb2d79a26f0790444267d1a Mon Sep 17 00:00:00 2001 From: travis Date: Tue, 18 Jun 2024 12:15:04 -0700 Subject: [PATCH 3/4] generated constants' sol files separated by chain --- scripts/constants/generateConstants.ts | 61 - scripts/generateConstants.ts | 29 +- src/contracts/chain-constants/Arbitrum.sol | 318 +++ src/contracts/chain-constants/Avalanche.sol | 136 + src/contracts/chain-constants/BSC.sol | 116 + src/contracts/chain-constants/Fantom.sol | 129 + .../chain-constants/FraxtalL1Devnet.sol | 39 + src/contracts/chain-constants/FraxtalL2.sol | 329 +++ .../chain-constants/FraxtalL2Devnet.sol | 47 + .../chain-constants/FraxtalTestnetL1.sol | 42 + .../chain-constants/FraxtalTestnetL2.sol | 49 + src/contracts/chain-constants/Holesky.sol | 69 + src/contracts/chain-constants/Mainnet.sol | 2276 +++++++++++++++++ src/contracts/chain-constants/Moonbeam.sol | 86 + src/contracts/chain-constants/Moonriver.sol | 80 + src/contracts/chain-constants/Optimism.sol | 120 + src/contracts/chain-constants/Polygon.sol | 116 + .../chain-constants/PolygonzkEVM.sol | 84 + 18 files changed, 4050 insertions(+), 76 deletions(-) delete mode 100644 scripts/constants/generateConstants.ts create mode 100644 src/contracts/chain-constants/Arbitrum.sol create mode 100644 src/contracts/chain-constants/Avalanche.sol create mode 100644 src/contracts/chain-constants/BSC.sol create mode 100644 src/contracts/chain-constants/Fantom.sol create mode 100644 src/contracts/chain-constants/FraxtalL1Devnet.sol create mode 100644 src/contracts/chain-constants/FraxtalL2.sol create mode 100644 src/contracts/chain-constants/FraxtalL2Devnet.sol create mode 100644 src/contracts/chain-constants/FraxtalTestnetL1.sol create mode 100644 src/contracts/chain-constants/FraxtalTestnetL2.sol create mode 100644 src/contracts/chain-constants/Holesky.sol create mode 100644 src/contracts/chain-constants/Mainnet.sol create mode 100644 src/contracts/chain-constants/Moonbeam.sol create mode 100644 src/contracts/chain-constants/Moonriver.sol create mode 100644 src/contracts/chain-constants/Optimism.sol create mode 100644 src/contracts/chain-constants/Polygon.sol create mode 100644 src/contracts/chain-constants/PolygonzkEVM.sol diff --git a/scripts/constants/generateConstants.ts b/scripts/constants/generateConstants.ts deleted file mode 100644 index d9bec4b..0000000 --- a/scripts/constants/generateConstants.ts +++ /dev/null @@ -1,61 +0,0 @@ -import * as fs from "fs/promises"; -import path from "path"; - -import * as constants from "./constants"; -async function main() { - const networks = Object.keys(constants); - const outputStringsPromises = networks.map((networkName) => { - return handleSingleNetwork(networkName, constants[networkName]); - }); - const outputStrings = await Promise.all(outputStringsPromises); - const finalString = - `// SPDX-License-Identifier: ISC -pragma solidity >=0.8.0; - -// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. - -import { TestBase } from "forge-std/Test.sol"; - -` + outputStrings.join("\n"); - await fs.writeFile(path.resolve("src", "Constants.sol"), finalString); -} - -async function handleSingleNetwork(networkName, constants) { - const constantString = Object.entries(constants) - .map(([key, value]) => { - if ((value as string).startsWith("0x")) { - return ` address internal constant ${key} = ${value};`; - } - - return ` string internal constant ${key} = "${value}";`; - }) - .join("\n"); - - const labelStrings = Object.entries(constants) - .map(([key, value]) => { - return ` vm.label(${value}, "Constants.${key}");`; - }) - .join("\n"); - const contractString = `library ${networkName} { -${constantString} -} -`; - - if (networkName == "Mainnet") { - const constantsHelper = ` -abstract contract Helper is TestBase { - constructor() { - labelConstants(); - } - - function labelConstants() public { -${labelStrings} - } -} -`; - return contractString + constantsHelper; - } - return contractString; -} - -main(); diff --git a/scripts/generateConstants.ts b/scripts/generateConstants.ts index 0b1af54..0fec963 100644 --- a/scripts/generateConstants.ts +++ b/scripts/generateConstants.ts @@ -8,18 +8,18 @@ const networkPrefixes = { Avalanche: "AVAX", BSC: "BSC", Fantom: "FTM", - FraxtalL1Devnet: "FXTLL1DN", - FraxtalL2Devnet: "FXTLL2DN", + FraxtalL1Devnet: "FXTL_L1_DN", + FraxtalL2Devnet: "FXTL_L2_DN", FraxtalL2: "FXTL", - FraxtalTestnetL1: "FXTLTNL1", - FraxtalTestnetL2: "FXTLTNL2", + FraxtalTestnetL1: "FXTL_TN_L1", + FraxtalTestnetL2: "FXTL_TN_L2", Holesky: "HOLESKY", Mainnet: "ETH", Moonbeam: "MNBM", Moonriver: "MOVR", Optimism: "OPTI", Polygon: "POLY", - PolygonzkEVM: "POLYZKEVM", + PolygonzkEVM: "POLY_ZKEVM", }; const REMOVE_DUPLICATE_LABELS = false; @@ -31,23 +31,22 @@ async function main() { // Prepare seen/duplicate values const seenValues = []; - // Generate the strings - const outputStringsPromises = networks.map((networkName) => { - return handleSingleNetwork(networkName, constants[networkName], seenValues); - }); + // Generate the files + for (let n = 0; n < networks.length; n++) { + const networkName = networks[n]; + const outputString = await handleSingleNetwork(networkName, constants[networkName], seenValues); - // Write to Constants.sol - const outputStrings = await Promise.all(outputStringsPromises); - const finalString = - `// SPDX-License-Identifier: ISC + const finalString = + `// SPDX-License-Identifier: ISC pragma solidity >=0.8.0; // **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. import { TestBase } from "forge-std/Test.sol"; - ` + outputStrings.join("\n"); - await fs.writeFile(path.resolve("src", "Constants.sol"), finalString); + ` + outputString; + await fs.writeFile(path.resolve("src/contracts/chain-constants", `${networkName}.sol`), finalString); + } } async function handleSingleNetwork(networkName, constants, seenValues) { diff --git a/src/contracts/chain-constants/Arbitrum.sol b/src/contracts/chain-constants/Arbitrum.sol new file mode 100644 index 0000000..650bd86 --- /dev/null +++ b/src/contracts/chain-constants/Arbitrum.sol @@ -0,0 +1,318 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library Arbitrum { + address internal constant FRAX = 0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F; + address internal constant FXS = 0x9d2F299715D94d8A7E6F5eaa8E654E8c74a988A7; + address internal constant FPI = 0x1B01514A2B3CdEf16fD3c680a818A0Ab97Da8a09; + address internal constant FPIS = 0x3405E88af759992937b84E58F2Fe691EF0EeA320; + address internal constant FRXETH = 0x178412e79c25968a32e89b11f63B33F733770c2A; + address internal constant SFRXETH = 0x95aB45875cFFdba1E5f451B950bC2E42c0053f39; + address internal constant SFRAX = 0xe3b3FE7bcA19cA77Ad877A5Bebab186bEcfAD906; + address internal constant ARBIDEX_FRAX_DAI_PLUS = 0x56328f7138C3A4ebD2Bb1D126d28f62FcD5bac5d; + address internal constant ARBIDEX_FRAX_FRXETH = 0x436eE91dB228267c6a19b2A3F158fffCe5a4489c; + address internal constant ARBIDEX_FRAX_USD_PLUS = 0xe876230251cc14Ec0027b2a4aFc46B4c262d13D0; + address internal constant ARBIDEX_FRAX_USDCE = 0x11205af33F2F7006bB932953b10Ab5EeD78105Ca; + address internal constant ARBIDEX_FRAX_WETH = 0xf0677E33Fa38A023ec798F97D195d85d19823e7C; + address internal constant ARBIDEX_FRXETH_WETH = 0xc74c0Fcb777521F3D8747f338a024e9F3fD91608; + address internal constant CHRONOS_SAMM_FRAX_MAI = 0x1371512f45d85e6247aBfA2926Ac5213324a6BEB; + address internal constant CHRONOS_SAMM_FRAX_USD_PLUS = 0xaF618E6F5EF781e3aCFe00708BD005E0cc9A2e6F; + address internal constant CHRONOS_SAMM_FRXETH_SFRXETH = 0x548e0D4Fcb6b82a025E6770066b4127C5FCcBF07; + address internal constant CHRONOS_SAMM_FRXETH_WETH = 0x9A028F3Dd7067479b51ee89CDb0Db594744ebfAd; + address internal constant CONVEX_FRAXBP_ARBITRUM = 0x421Efd53FA0d90687db5ef370D5DCD7f89CbD9dE; + address internal constant CONVEX_FRAX_FXB_20241231_ARBITRUM = 0xB8c52da3db9EdF9Da6a20959410B007a2387E5a2; + address internal constant CONVEX_FRAX_FXB_20261231_ARBITRUM = 0xA81F4b86B412CcB51C7420000F59a639F3459f49; + address internal constant CONVEX_FRXETH_WETH_ARBITRUM = 0x24e927daC110Aab7189a4F864d41680e4F7865FB; + address internal constant CONVEX_HFXB_FRAX_ARBITRUM = 0xBa32Df0b78b1A68F7FA304BbD4Ed7a56A74c525a; + address internal constant CONVEX_USD_PLUS_FRAXBP = 0x56390acF12bce9675ab3922060D8d955149BE286; + address internal constant CURVE_VSTFRAX_F = 0x127963A74c07f72D862F2Bdc225226c3251BD117; + address internal constant DFORCE_FRAX_LENDING_ARBITRUM = 0xb3ab7148cCCAf66686AD6C1bE24D83e58E6a504e; + address internal constant HUNDRED_FRAX_LENDING_ARBITRUM = 0xd7f3Bf2085AD32ff95E1bCC408d37F10f6949270; + address internal constant KYBERSWAP_ELASTIC_FRAX_USDC_ARBITRUM = 0xbAFA44EFE7901E04E39Dad13167D089C559c1138; + address internal constant RAMSES_CRAMM_FRAX_DOLA = 0xF8719BC4a1A81969F00233a8D9409755d4366d28; + address internal constant RAMSES_CRAMM_FRAX_MAI = 0x385E1c3f90C52f5253EaBb015576E95a4886E552; + address internal constant RAMSES_CRAMM_FRAX_USDC = 0x22B6C54dC1cCD6CDF53723BEc88327c908258367; + address internal constant RAMSES_CRAMM_FRXETH_SFRXETH = 0x11C1060e12F3Ec480D47AD867583353496a1B0b8; + address internal constant RAMSES_CRAMM_FRXETH_WETH = 0x148Ca200d452AD9F310501ca3fd5C3bD4a5aBe81; + address internal constant RAMSES_VRAMM_FRAX_AGEUR = 0x0A923435Eb4C3FC740bbA0c000F16Cb1F6cd7Afb; + address internal constant RAMSES_VRAMM_FRAX_FXS = 0xdf725A7315d3d246a39C8887870f6cb0Fe73e36d; + address internal constant SADDLE_ARBUSD_V2_ARBITRUM = 0x6e1af6FB2B4006603c65dD8FC7796Ccff09c86a1; + address internal constant SADDLE_FRAXBP_USDS_ARBITRUM = 0x289532cA1DccE36D05e19Af468EC46fc9CB1390E; + address internal constant SADDLE_FRAXBP_USDT_ARBITRUM = 0xb306b7E9D895748A2779586C83112035D8223C7F; + address internal constant SADDLE_FRAXBP_USX_ARBITRUM = 0x0A18D5679C5c8b56Da0D87E308DB9EE2db701BaC; + address internal constant SADDLE_FRAX_USDC_BP_ARBITRUM = 0xBBcaeA4e732173C0De28397421c17A595372C9CF; + address internal constant SADDLE_L2D4_ARBITRUM = 0xd1dF24e8D225b20F9c8f4912BE88cCCec93f36E5; + address internal constant SENTIMENT_LFRAX = 0xcdE7054e7a232938CdDe8BF40faf827e6f377f54; + address internal constant STARGATE_BRIDGE_LIQUIDITY_FRAX_ARBITRUM = 0xeA8DfEE1898a7e0a59f7527F076106d7e44c2176; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FERRY_TO_POLYGON = 0xe57314D4405289FfC91306E4574C28b7394c4822; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FRAXFERRY_V1__ETHEREUM_ARBITRUM__FRAX__ARBI_SIDE = + 0x5a9BEf8CEa603aAc78a523fb245C1A9264D50706; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPIS__ARBI_SIDE = + 0x4EE62cA4DC0576b943dc5A8A8b9FF0883C5F2fe1; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPI__ARBI_SIDE = + 0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__FRXETH__ARBI_SIDE = + 0x6c5Ae8dCaD1E101FB108a89954D7dC0B8991445b; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__FXS__ARBI_SIDE = + 0x078Dd77De4e0f480D7442495d55707cE071B4B09; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRAX__ARBI_SIDE = + 0x1B0b9991Df27a4F2847478127d51Fb29883882f5; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRXETH__ARBI_SIDE = + 0xf1C16E1c01e62716884ef947063e9C7D44eC287F; + address internal constant FRAXLEND_WHITELIST_ADDRESS = 0xBC5Fcb3725c53b6EA8395A492Dad3D32F09EF079; + address internal constant FRAXLEND_HOT_WALLET = 0xdB3388e770F49A604E11f1a2084B39279492a61f; + address internal constant FRAXLEND_PAIR_REGISTRY_ADDRESS = 0x0bD2fFBcB0A17De2d5a543ec2D47C772eeaD316d; + address internal constant FRAXLEND_PAIR_DEPLOYER_V4_ADDRESS = 0xc70CC721d19dC7e627B81fEacb6a357Fb11200Af; + address internal constant FRAXLEND_PAIR_ARB_FRAX = 0x2D0483FefAbA4325c7521539a3DFaCf94A19C472; + address internal constant ARBITRUM_DUAL_ORACLE_ADDRESS = 0x5985FBb03b6A5EA390871c2bB9742cD406575667; + address internal constant ARB_ETH_UNI_V3_POOL = 0xC6F780497A95e246EB9449f5e4770916DCd6396A; + address internal constant ARB_USD_CHAINLINK_ORACLE = 0xb2A824043730FE05F3DA2efaFa1CBbe83fa548D6; + address internal constant ETH_USD_CHAINLINK_ORACLE = 0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612; + address internal constant ARB_ERC20 = 0x912CE59144191C1204E64559FE8253a0e49E6548; + address internal constant WETH_ERC20 = 0x82aF49447D8a07e3bd95BD0d56f35241523fBab1; + address internal constant FRAX_ERC20 = 0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F; + address internal constant VARIABLE_RATE_V2 = 0x6c1b76Ca12d74970d40Aec4d6f2E3A653CC58685; + address internal constant FRAXLEND_PAIR_GMX_FRAX = 0x6076ebDFE17555ed3E6869CF9C373Bbd9aD55d38; + address internal constant GMX_DUAL_ORACLE_ADDRESS = 0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3; + address internal constant GMX_ERC20 = 0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a; + address internal constant FRAXLENDPAIR_WBTC_FRAX = 0x9168AC3a83A31bd85c93F4429a84c05db2CaEF08; + address internal constant WBTC_DUAL_ORACLE_ADDRESS = 0x34b7525FB0735342Ef3E73d0ED2a912aaAC6c617; + address internal constant WBTC_ERC20 = 0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f; + address internal constant FRAXSWAP_FACTORY_V1 = 0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E; + address internal constant FRAXSWAP_FACTORY_V2 = 0x8374A74A728f06bEa6B7259C68AA7BBB732bfeaD; + address internal constant FRAXSWAP_ROUTER_V1 = 0xc2544A32872A91F4A553b404C6950e89De901fdb; + address internal constant FRAXSWAP_ROUTER_V2 = 0xCAAaB0A72f781B92bA63Af27477aA46aB8F653E7; + address internal constant FRAXSWAP_ROUTER_MULTI_HOP = 0x0000000000000000000000000000000000000000; + address internal constant KYBERSWAP_ELASTIC_FACTORY_V2 = 0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A; + address internal constant KYBERSWAP_ELASTIC_POS_MGR_V2 = 0xe222fBE074A436145b255442D919E4E3A6c6a480; + address internal constant KYBERSWAP_ELASTIC_ROUTER_V2 = 0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4; + address internal constant KYBERSWAP_ELASTIC_TICK_FEES_READER_V2 = 0x8Fd8Cb948965d9305999D767A02bf79833EADbB3; + address internal constant FRAX_AMO_MINTER_LAYER_2 = 0x1c5400491fE82EE8FC21489C51e402B3c8a2fB81; + address internal constant FRAXLEND_AMO = 0xCDeE1B853AD2E96921250775b7A60D6ff78fD8B4; + address internal constant CIRCUIT_BREAKER_ADDRESS = 0xDF85346111C0F9680a77d4c496b6fd5278516fa6; + address internal constant FPI_COMPTROLLER = 0xF0D5007dB0393c9D5F6A88A5F82Df520EA483fDb; + address internal constant FRAXLEND_COMPTROLLER_ADDRESS = 0x0B6A2B7fc025ce864A7CBF9df6e940C614C31f74; + address internal constant FRAX_MASTER_MULTISIG_ADDRESS = 0xe61D9ed1e5Dc261D1e90a99304fADCef2c76FD10; + address internal constant MAIN_COMPTROLLER = 0xe61D9ed1e5Dc261D1e90a99304fADCef2c76FD10; + address internal constant TIMELOCK_ADDRESS = 0xB426B13372B7c967C4a2371B5e95FC7dc37545Db; + address internal constant CURVE4POOL = 0x1C5ffa4FB4907B681c61B8c82b28C4672ceb1974; + address internal constant CVXFRAXBP = 0x93729702Bf9E1687Ae2124e191B8fFbcC0C8A0B0; + address internal constant CVXFRAXBP_REWARDER = 0x93729702Bf9E1687Ae2124e191B8fFbcC0C8A0B0; + address internal constant CVXFRAXFXB_20241231_ARBITRUM = 0xCDA69af1077765a89eA156aCe7a6f8b476e4aF12; + address internal constant CVXFRAXFXB_20261231_ARBITRUM = 0x2026681d569f80aE0A86D7c90bc81065D9A3AD42; + address internal constant CVXFRXETHWETH = 0xd2D8BEB901f90163bE4667A85cDDEbB7177eb3E3; + address internal constant CVXFRXETHWETH_REWARDER = 0xd2D8BEB901f90163bE4667A85cDDEbB7177eb3E3; + address internal constant CVXHFXBFRAX = 0x256F53F13AdfF53CB888bc19ea0003651Be8F3B6; + address internal constant CVXHFXBFRAX_REWARDER = 0x256F53F13AdfF53CB888bc19ea0003651Be8F3B6; + address internal constant CVXUSDPLUSFRAXBP = 0x11F2217fa1D5c44Eae310b9b985E2964FC47D8f9; + address internal constant CVXUSDPLUSFRAXBP_REWARDER = 0x11F2217fa1D5c44Eae310b9b985E2964FC47D8f9; + address internal constant FRAX2POOL = 0xf07d553B195080F84F582e88ecdD54bAa122b279; + address internal constant FRAXBP = 0xC9B8a3FDECB9D5b218d02555a8Baf332E5B740d5; + address internal constant FRAXBP_GAUGE = 0x95285Ea6fF14F80A2fD3989a6bAb993Bd6b5fA13; + address internal constant FRAXBP_POOL = 0xC9B8a3FDECB9D5b218d02555a8Baf332E5B740d5; + address internal constant FRAXFXB_20241231 = 0xE920eEdAff6c3BEd1Ef61010B64d46986634E908; + address internal constant FRAXFXB_20241231_GAUGE = 0x05824D6D4DE8A0ede4e12b98387A4f035a67ee68; + address internal constant FRAXFXB_20241231_POOL = 0xE920eEdAff6c3BEd1Ef61010B64d46986634E908; + address internal constant FRAXFXB_20261231 = 0x946adc524BD312D036776798c46ceDD948DD0A0f; + address internal constant FRAXFXB_20261231_GAUGE = 0xa2617A26f9f528fa7B0E47fc2e66FcC04C6682E9; + address internal constant FRAXFXB_20261231_POOL = 0x946adc524BD312D036776798c46ceDD948DD0A0f; + address internal constant FRXETHWETH = 0x1DeB3b1cA6afca0FF9C5cE9301950dC98Ac0D523; + address internal constant FRXETHWETH_GAUGE = 0x46FEc59Eb30C2D610917ebf4CE5114f7425b2c4A; + address internal constant FRXETHWETH_POOL = 0x1DeB3b1cA6afca0FF9C5cE9301950dC98Ac0D523; + address internal constant HFRAX = 0xb1c4426C86082D91a6c097fC588E5D5d8dD1f5a8; + address internal constant HFXBFRAX = 0x8f5d46267EB52F3aA6E141004A781469D445888c; + address internal constant HFXBFRAX_GAUGE = 0x725E997571F4fD144bB741762E8fA9f1D11761a7; + address internal constant HFXBFRAX_POOL = 0x8f5d46267EB52F3aA6E141004A781469D445888c; + address internal constant LFRAX = 0x2E9963ae673A885b6bfeDa2f80132CE28b784C40; + address internal constant SADDLEARBUSDV2 = 0x0a20c2FFa10cD43F67D06170422505b7D6fC0953; + address internal constant SADDLEL2D4 = 0x147D0Af556C6D89640BFa915D2b9619d7b55947a; + address internal constant SADDLEL2D4_PERMISSIONLESS_SWAP = 0xF2839E0b30B5e96083085F498b14bbc12530b734; + address internal constant SDL_ARBUSDV2 = 0x0a20c2FFa10cD43F67D06170422505b7D6fC0953; + address internal constant SDL_ARBUSDV2_POOL = 0xfeEa4D1BacB0519E8f952460A70719944fe56Ee0; + address internal constant SDL_FRAXBP = 0x896935B02D3cBEb152192774e4F1991bb1D2ED3f; + address internal constant SDL_FRAXBP_POOL = 0x401AFbc31ad2A3Bc0eD8960d63eFcDEA749b4849; + address internal constant SDL_USDSFRAXBP = 0x1e491122f3C096392b40a4EA27aa1a29360d38a1; + address internal constant SDL_USDSFRAXBP_POOL = 0xa5bD85ed9fA27ba23BfB702989e7218E44fd4706; + address internal constant SDL_USDTFRAXBP = 0x166680852ae9Dec3d63374c5eBf89E974448BFE9; + address internal constant SDL_USDTFRAXBP_POOL = 0xf8504e92428d65E56e495684A38f679C1B1DC30b; + address internal constant SDL_USXFRAXBP = 0x721DaC7d5ACc8Aa62946fd583C1F999e1570b97D; + address internal constant SDL_USXFRAXBP_POOL = 0xb2a2764D0DCAB445E24f4b813bE3f6ef8AE5f84D; + address internal constant USDPLUSFRAXBP = 0xb34a7d1444a707349Bc7b981B7F2E1f20F81F013; + address internal constant USDPLUSFRAXBP_GAUGE = 0x4645e6476D3A5595Be9Efd39426cc10586a8393D; + address internal constant USDPLUSFRAXBP_POOL = 0xb34a7d1444a707349Bc7b981B7F2E1f20F81F013; + address internal constant VECHR = 0x9A01857f33aa382b1d5bb96C3180347862432B0d; + address internal constant VERAM = 0xAAA343032aA79eE9a6897Dab03bef967c3289a06; +} + +abstract contract AddressHelperArbitrum is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F, "Constants.ARBI_FRAX"); + vm.label(0x9d2F299715D94d8A7E6F5eaa8E654E8c74a988A7, "Constants.ARBI_FXS"); + vm.label(0x1B01514A2B3CdEf16fD3c680a818A0Ab97Da8a09, "Constants.ARBI_FPI"); + vm.label(0x3405E88af759992937b84E58F2Fe691EF0EeA320, "Constants.ARBI_FPIS"); + vm.label(0x178412e79c25968a32e89b11f63B33F733770c2A, "Constants.ARBI_FRXETH"); + vm.label(0x95aB45875cFFdba1E5f451B950bC2E42c0053f39, "Constants.ARBI_SFRXETH"); + vm.label(0xe3b3FE7bcA19cA77Ad877A5Bebab186bEcfAD906, "Constants.ARBI_SFRAX"); + vm.label(0x56328f7138C3A4ebD2Bb1D126d28f62FcD5bac5d, "Constants.ARBI_ARBIDEX_FRAX_DAI_PLUS"); + vm.label(0x436eE91dB228267c6a19b2A3F158fffCe5a4489c, "Constants.ARBI_ARBIDEX_FRAX_FRXETH"); + vm.label(0xe876230251cc14Ec0027b2a4aFc46B4c262d13D0, "Constants.ARBI_ARBIDEX_FRAX_USD_PLUS"); + vm.label(0x11205af33F2F7006bB932953b10Ab5EeD78105Ca, "Constants.ARBI_ARBIDEX_FRAX_USDCE"); + vm.label(0xf0677E33Fa38A023ec798F97D195d85d19823e7C, "Constants.ARBI_ARBIDEX_FRAX_WETH"); + vm.label(0xc74c0Fcb777521F3D8747f338a024e9F3fD91608, "Constants.ARBI_ARBIDEX_FRXETH_WETH"); + vm.label(0x1371512f45d85e6247aBfA2926Ac5213324a6BEB, "Constants.ARBI_CHRONOS_SAMM_FRAX_MAI"); + vm.label(0xaF618E6F5EF781e3aCFe00708BD005E0cc9A2e6F, "Constants.ARBI_CHRONOS_SAMM_FRAX_USD_PLUS"); + vm.label(0x548e0D4Fcb6b82a025E6770066b4127C5FCcBF07, "Constants.ARBI_CHRONOS_SAMM_FRXETH_SFRXETH"); + vm.label(0x9A028F3Dd7067479b51ee89CDb0Db594744ebfAd, "Constants.ARBI_CHRONOS_SAMM_FRXETH_WETH"); + vm.label(0x421Efd53FA0d90687db5ef370D5DCD7f89CbD9dE, "Constants.ARBI_CONVEX_FRAXBP_ARBITRUM"); + vm.label(0xB8c52da3db9EdF9Da6a20959410B007a2387E5a2, "Constants.ARBI_CONVEX_FRAX_FXB_20241231_ARBITRUM"); + vm.label(0xA81F4b86B412CcB51C7420000F59a639F3459f49, "Constants.ARBI_CONVEX_FRAX_FXB_20261231_ARBITRUM"); + vm.label(0x24e927daC110Aab7189a4F864d41680e4F7865FB, "Constants.ARBI_CONVEX_FRXETH_WETH_ARBITRUM"); + vm.label(0xBa32Df0b78b1A68F7FA304BbD4Ed7a56A74c525a, "Constants.ARBI_CONVEX_HFXB_FRAX_ARBITRUM"); + vm.label(0x56390acF12bce9675ab3922060D8d955149BE286, "Constants.ARBI_CONVEX_USD_PLUS_FRAXBP"); + vm.label(0x127963A74c07f72D862F2Bdc225226c3251BD117, "Constants.ARBI_CURVE_VSTFRAX_F"); + vm.label(0xb3ab7148cCCAf66686AD6C1bE24D83e58E6a504e, "Constants.ARBI_DFORCE_FRAX_LENDING_ARBITRUM"); + vm.label(0xd7f3Bf2085AD32ff95E1bCC408d37F10f6949270, "Constants.ARBI_HUNDRED_FRAX_LENDING_ARBITRUM"); + vm.label(0xbAFA44EFE7901E04E39Dad13167D089C559c1138, "Constants.ARBI_KYBERSWAP_ELASTIC_FRAX_USDC_ARBITRUM"); + vm.label(0xF8719BC4a1A81969F00233a8D9409755d4366d28, "Constants.ARBI_RAMSES_CRAMM_FRAX_DOLA"); + vm.label(0x385E1c3f90C52f5253EaBb015576E95a4886E552, "Constants.ARBI_RAMSES_CRAMM_FRAX_MAI"); + vm.label(0x22B6C54dC1cCD6CDF53723BEc88327c908258367, "Constants.ARBI_RAMSES_CRAMM_FRAX_USDC"); + vm.label(0x11C1060e12F3Ec480D47AD867583353496a1B0b8, "Constants.ARBI_RAMSES_CRAMM_FRXETH_SFRXETH"); + vm.label(0x148Ca200d452AD9F310501ca3fd5C3bD4a5aBe81, "Constants.ARBI_RAMSES_CRAMM_FRXETH_WETH"); + vm.label(0x0A923435Eb4C3FC740bbA0c000F16Cb1F6cd7Afb, "Constants.ARBI_RAMSES_VRAMM_FRAX_AGEUR"); + vm.label(0xdf725A7315d3d246a39C8887870f6cb0Fe73e36d, "Constants.ARBI_RAMSES_VRAMM_FRAX_FXS"); + vm.label(0x6e1af6FB2B4006603c65dD8FC7796Ccff09c86a1, "Constants.ARBI_SADDLE_ARBUSD_V2_ARBITRUM"); + vm.label(0x289532cA1DccE36D05e19Af468EC46fc9CB1390E, "Constants.ARBI_SADDLE_FRAXBP_USDS_ARBITRUM"); + vm.label(0xb306b7E9D895748A2779586C83112035D8223C7F, "Constants.ARBI_SADDLE_FRAXBP_USDT_ARBITRUM"); + vm.label(0x0A18D5679C5c8b56Da0D87E308DB9EE2db701BaC, "Constants.ARBI_SADDLE_FRAXBP_USX_ARBITRUM"); + vm.label(0xBBcaeA4e732173C0De28397421c17A595372C9CF, "Constants.ARBI_SADDLE_FRAX_USDC_BP_ARBITRUM"); + vm.label(0xd1dF24e8D225b20F9c8f4912BE88cCCec93f36E5, "Constants.ARBI_SADDLE_L2D4_ARBITRUM"); + vm.label(0xcdE7054e7a232938CdDe8BF40faf827e6f377f54, "Constants.ARBI_SENTIMENT_LFRAX"); + vm.label(0xeA8DfEE1898a7e0a59f7527F076106d7e44c2176, "Constants.ARBI_STARGATE_BRIDGE_LIQUIDITY_FRAX_ARBITRUM"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.ARBI_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.ARBI_CREWMEMBER"); + vm.label(0xe57314D4405289FfC91306E4574C28b7394c4822, "Constants.ARBI_FERRY_TO_POLYGON"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.ARBI_FIRST_OFFICER"); + vm.label( + 0x5a9BEf8CEa603aAc78a523fb245C1A9264D50706, + "Constants.ARBI_FRAXFERRY_V1__ETHEREUM_ARBITRUM__FRAX__ARBI_SIDE" + ); + vm.label( + 0x4EE62cA4DC0576b943dc5A8A8b9FF0883C5F2fe1, + "Constants.ARBI_FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPIS__ARBI_SIDE" + ); + vm.label( + 0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E, + "Constants.ARBI_FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPI__ARBI_SIDE" + ); + vm.label( + 0x6c5Ae8dCaD1E101FB108a89954D7dC0B8991445b, + "Constants.ARBI_FRAXFERRY_V2__ETHEREUM_ARBITRUM__FRXETH__ARBI_SIDE" + ); + vm.label( + 0x078Dd77De4e0f480D7442495d55707cE071B4B09, + "Constants.ARBI_FRAXFERRY_V2__ETHEREUM_ARBITRUM__FXS__ARBI_SIDE" + ); + vm.label( + 0x1B0b9991Df27a4F2847478127d51Fb29883882f5, + "Constants.ARBI_FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRAX__ARBI_SIDE" + ); + vm.label( + 0xf1C16E1c01e62716884ef947063e9C7D44eC287F, + "Constants.ARBI_FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRXETH__ARBI_SIDE" + ); + vm.label(0xBC5Fcb3725c53b6EA8395A492Dad3D32F09EF079, "Constants.ARBI_FRAXLEND_WHITELIST_ADDRESS"); + vm.label(0xdB3388e770F49A604E11f1a2084B39279492a61f, "Constants.ARBI_FRAXLEND_HOT_WALLET"); + vm.label(0x0bD2fFBcB0A17De2d5a543ec2D47C772eeaD316d, "Constants.ARBI_FRAXLEND_PAIR_REGISTRY_ADDRESS"); + vm.label(0xc70CC721d19dC7e627B81fEacb6a357Fb11200Af, "Constants.ARBI_FRAXLEND_PAIR_DEPLOYER_V4_ADDRESS"); + vm.label(0x2D0483FefAbA4325c7521539a3DFaCf94A19C472, "Constants.ARBI_FRAXLEND_PAIR_ARB_FRAX"); + vm.label(0x5985FBb03b6A5EA390871c2bB9742cD406575667, "Constants.ARBI_ARBITRUM_DUAL_ORACLE_ADDRESS"); + vm.label(0xC6F780497A95e246EB9449f5e4770916DCd6396A, "Constants.ARBI_ARB_ETH_UNI_V3_POOL"); + vm.label(0xb2A824043730FE05F3DA2efaFa1CBbe83fa548D6, "Constants.ARBI_ARB_USD_CHAINLINK_ORACLE"); + vm.label(0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612, "Constants.ARBI_ETH_USD_CHAINLINK_ORACLE"); + vm.label(0x912CE59144191C1204E64559FE8253a0e49E6548, "Constants.ARBI_ARB_ERC20"); + vm.label(0x82aF49447D8a07e3bd95BD0d56f35241523fBab1, "Constants.ARBI_WETH_ERC20"); + vm.label(0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F, "Constants.ARBI_FRAX_ERC20"); + vm.label(0x6c1b76Ca12d74970d40Aec4d6f2E3A653CC58685, "Constants.ARBI_VARIABLE_RATE_V2"); + vm.label(0x6076ebDFE17555ed3E6869CF9C373Bbd9aD55d38, "Constants.ARBI_FRAXLEND_PAIR_GMX_FRAX"); + vm.label(0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3, "Constants.ARBI_GMX_DUAL_ORACLE_ADDRESS"); + vm.label(0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a, "Constants.ARBI_GMX_ERC20"); + vm.label(0x9168AC3a83A31bd85c93F4429a84c05db2CaEF08, "Constants.ARBI_FRAXLENDPAIR_WBTC_FRAX"); + vm.label(0x34b7525FB0735342Ef3E73d0ED2a912aaAC6c617, "Constants.ARBI_WBTC_DUAL_ORACLE_ADDRESS"); + vm.label(0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f, "Constants.ARBI_WBTC_ERC20"); + vm.label(0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E, "Constants.ARBI_FRAXSWAP_FACTORY_V1"); + vm.label(0x8374A74A728f06bEa6B7259C68AA7BBB732bfeaD, "Constants.ARBI_FRAXSWAP_FACTORY_V2"); + vm.label(0xc2544A32872A91F4A553b404C6950e89De901fdb, "Constants.ARBI_FRAXSWAP_ROUTER_V1"); + vm.label(0xCAAaB0A72f781B92bA63Af27477aA46aB8F653E7, "Constants.ARBI_FRAXSWAP_ROUTER_V2"); + vm.label(0x0000000000000000000000000000000000000000, "Constants.ARBI_FRAXSWAP_ROUTER_MULTI_HOP"); + vm.label(0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A, "Constants.ARBI_KYBERSWAP_ELASTIC_FACTORY_V2"); + vm.label(0xe222fBE074A436145b255442D919E4E3A6c6a480, "Constants.ARBI_KYBERSWAP_ELASTIC_POS_MGR_V2"); + vm.label(0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4, "Constants.ARBI_KYBERSWAP_ELASTIC_ROUTER_V2"); + vm.label(0x8Fd8Cb948965d9305999D767A02bf79833EADbB3, "Constants.ARBI_KYBERSWAP_ELASTIC_TICK_FEES_READER_V2"); + vm.label(0x1c5400491fE82EE8FC21489C51e402B3c8a2fB81, "Constants.ARBI_FRAX_AMO_MINTER_LAYER_2"); + vm.label(0xCDeE1B853AD2E96921250775b7A60D6ff78fD8B4, "Constants.ARBI_FRAXLEND_AMO"); + vm.label(0xDF85346111C0F9680a77d4c496b6fd5278516fa6, "Constants.ARBI_CIRCUIT_BREAKER_ADDRESS"); + vm.label(0xF0D5007dB0393c9D5F6A88A5F82Df520EA483fDb, "Constants.ARBI_FPI_COMPTROLLER"); + vm.label(0x0B6A2B7fc025ce864A7CBF9df6e940C614C31f74, "Constants.ARBI_FRAXLEND_COMPTROLLER_ADDRESS"); + vm.label(0xe61D9ed1e5Dc261D1e90a99304fADCef2c76FD10, "Constants.ARBI_FRAX_MASTER_MULTISIG_ADDRESS"); + vm.label(0xe61D9ed1e5Dc261D1e90a99304fADCef2c76FD10, "Constants.ARBI_MAIN_COMPTROLLER"); + vm.label(0xB426B13372B7c967C4a2371B5e95FC7dc37545Db, "Constants.ARBI_TIMELOCK_ADDRESS"); + vm.label(0x1C5ffa4FB4907B681c61B8c82b28C4672ceb1974, "Constants.ARBI_CURVE4POOL"); + vm.label(0x93729702Bf9E1687Ae2124e191B8fFbcC0C8A0B0, "Constants.ARBI_CVXFRAXBP"); + vm.label(0x93729702Bf9E1687Ae2124e191B8fFbcC0C8A0B0, "Constants.ARBI_CVXFRAXBP_REWARDER"); + vm.label(0xCDA69af1077765a89eA156aCe7a6f8b476e4aF12, "Constants.ARBI_CVXFRAXFXB_20241231_ARBITRUM"); + vm.label(0x2026681d569f80aE0A86D7c90bc81065D9A3AD42, "Constants.ARBI_CVXFRAXFXB_20261231_ARBITRUM"); + vm.label(0xd2D8BEB901f90163bE4667A85cDDEbB7177eb3E3, "Constants.ARBI_CVXFRXETHWETH"); + vm.label(0xd2D8BEB901f90163bE4667A85cDDEbB7177eb3E3, "Constants.ARBI_CVXFRXETHWETH_REWARDER"); + vm.label(0x256F53F13AdfF53CB888bc19ea0003651Be8F3B6, "Constants.ARBI_CVXHFXBFRAX"); + vm.label(0x256F53F13AdfF53CB888bc19ea0003651Be8F3B6, "Constants.ARBI_CVXHFXBFRAX_REWARDER"); + vm.label(0x11F2217fa1D5c44Eae310b9b985E2964FC47D8f9, "Constants.ARBI_CVXUSDPLUSFRAXBP"); + vm.label(0x11F2217fa1D5c44Eae310b9b985E2964FC47D8f9, "Constants.ARBI_CVXUSDPLUSFRAXBP_REWARDER"); + vm.label(0xf07d553B195080F84F582e88ecdD54bAa122b279, "Constants.ARBI_FRAX2POOL"); + vm.label(0xC9B8a3FDECB9D5b218d02555a8Baf332E5B740d5, "Constants.ARBI_FRAXBP"); + vm.label(0x95285Ea6fF14F80A2fD3989a6bAb993Bd6b5fA13, "Constants.ARBI_FRAXBP_GAUGE"); + vm.label(0xC9B8a3FDECB9D5b218d02555a8Baf332E5B740d5, "Constants.ARBI_FRAXBP_POOL"); + vm.label(0xE920eEdAff6c3BEd1Ef61010B64d46986634E908, "Constants.ARBI_FRAXFXB_20241231"); + vm.label(0x05824D6D4DE8A0ede4e12b98387A4f035a67ee68, "Constants.ARBI_FRAXFXB_20241231_GAUGE"); + vm.label(0xE920eEdAff6c3BEd1Ef61010B64d46986634E908, "Constants.ARBI_FRAXFXB_20241231_POOL"); + vm.label(0x946adc524BD312D036776798c46ceDD948DD0A0f, "Constants.ARBI_FRAXFXB_20261231"); + vm.label(0xa2617A26f9f528fa7B0E47fc2e66FcC04C6682E9, "Constants.ARBI_FRAXFXB_20261231_GAUGE"); + vm.label(0x946adc524BD312D036776798c46ceDD948DD0A0f, "Constants.ARBI_FRAXFXB_20261231_POOL"); + vm.label(0x1DeB3b1cA6afca0FF9C5cE9301950dC98Ac0D523, "Constants.ARBI_FRXETHWETH"); + vm.label(0x46FEc59Eb30C2D610917ebf4CE5114f7425b2c4A, "Constants.ARBI_FRXETHWETH_GAUGE"); + vm.label(0x1DeB3b1cA6afca0FF9C5cE9301950dC98Ac0D523, "Constants.ARBI_FRXETHWETH_POOL"); + vm.label(0xb1c4426C86082D91a6c097fC588E5D5d8dD1f5a8, "Constants.ARBI_HFRAX"); + vm.label(0x8f5d46267EB52F3aA6E141004A781469D445888c, "Constants.ARBI_HFXBFRAX"); + vm.label(0x725E997571F4fD144bB741762E8fA9f1D11761a7, "Constants.ARBI_HFXBFRAX_GAUGE"); + vm.label(0x8f5d46267EB52F3aA6E141004A781469D445888c, "Constants.ARBI_HFXBFRAX_POOL"); + vm.label(0x2E9963ae673A885b6bfeDa2f80132CE28b784C40, "Constants.ARBI_LFRAX"); + vm.label(0x0a20c2FFa10cD43F67D06170422505b7D6fC0953, "Constants.ARBI_SADDLEARBUSDV2"); + vm.label(0x147D0Af556C6D89640BFa915D2b9619d7b55947a, "Constants.ARBI_SADDLEL2D4"); + vm.label(0xF2839E0b30B5e96083085F498b14bbc12530b734, "Constants.ARBI_SADDLEL2D4_PERMISSIONLESS_SWAP"); + vm.label(0x0a20c2FFa10cD43F67D06170422505b7D6fC0953, "Constants.ARBI_SDL_ARBUSDV2"); + vm.label(0xfeEa4D1BacB0519E8f952460A70719944fe56Ee0, "Constants.ARBI_SDL_ARBUSDV2_POOL"); + vm.label(0x896935B02D3cBEb152192774e4F1991bb1D2ED3f, "Constants.ARBI_SDL_FRAXBP"); + vm.label(0x401AFbc31ad2A3Bc0eD8960d63eFcDEA749b4849, "Constants.ARBI_SDL_FRAXBP_POOL"); + vm.label(0x1e491122f3C096392b40a4EA27aa1a29360d38a1, "Constants.ARBI_SDL_USDSFRAXBP"); + vm.label(0xa5bD85ed9fA27ba23BfB702989e7218E44fd4706, "Constants.ARBI_SDL_USDSFRAXBP_POOL"); + vm.label(0x166680852ae9Dec3d63374c5eBf89E974448BFE9, "Constants.ARBI_SDL_USDTFRAXBP"); + vm.label(0xf8504e92428d65E56e495684A38f679C1B1DC30b, "Constants.ARBI_SDL_USDTFRAXBP_POOL"); + vm.label(0x721DaC7d5ACc8Aa62946fd583C1F999e1570b97D, "Constants.ARBI_SDL_USXFRAXBP"); + vm.label(0xb2a2764D0DCAB445E24f4b813bE3f6ef8AE5f84D, "Constants.ARBI_SDL_USXFRAXBP_POOL"); + vm.label(0xb34a7d1444a707349Bc7b981B7F2E1f20F81F013, "Constants.ARBI_USDPLUSFRAXBP"); + vm.label(0x4645e6476D3A5595Be9Efd39426cc10586a8393D, "Constants.ARBI_USDPLUSFRAXBP_GAUGE"); + vm.label(0xb34a7d1444a707349Bc7b981B7F2E1f20F81F013, "Constants.ARBI_USDPLUSFRAXBP_POOL"); + vm.label(0x9A01857f33aa382b1d5bb96C3180347862432B0d, "Constants.ARBI_VECHR"); + vm.label(0xAAA343032aA79eE9a6897Dab03bef967c3289a06, "Constants.ARBI_VERAM"); + } +} diff --git a/src/contracts/chain-constants/Avalanche.sol b/src/contracts/chain-constants/Avalanche.sol new file mode 100644 index 0000000..8892e62 --- /dev/null +++ b/src/contracts/chain-constants/Avalanche.sol @@ -0,0 +1,136 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library Avalanche { + address internal constant FRAX = 0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64; + address internal constant FXS = 0x214DB107654fF987AD859F34125307783fC8e387; + address internal constant FPI = 0xF530904FD8F9ce55F40b7cc78382A13B0cd5C48c; + address internal constant FPIS = 0xee7cBa1403A2B0C53181B3980D52f9C5EdEEcC9e; + address internal constant FRXETH = 0x2018B0CA0eDcE80800851958bD094dD4a8DA1fc4; + address internal constant SFRXETH = 0x6D3B126ae28f3E39894070148B377624F6Ab4a45; + address internal constant SFRAX = 0x3405E88af759992937b84E58F2Fe691EF0EeA320; + address internal constant PANGOLIN_FRAX_AVAX = 0x1f806f7C8dED893fd3caE279191ad7Aa3798E928; + address internal constant PANGOLIN_FXS_AVAX = 0x76Ad5c64Fe6B26b6aD9aaAA19eBa00e9eCa31FE1; + address internal constant SNOWBALL_S4D = 0x0bd7964E2E03bdb9703658A1e88F4Dc786FfA551; + address internal constant TRADER_JOE_FRAX_AVAX = 0x862905a82382Db9405a40DCAa8Ee9e8F4af52C89; + address internal constant TRADER_JOE_FRAX_GOHM = 0x3E6Be71dE004363379d864006AAC37C9F55F8329; + address internal constant TRADER_JOE_FXS_AVAX = 0x53942Dcce5087f56cF1D68F4e017Ca3A793F59a2; + address internal constant FRAXFERRY_V1__ETHEREUM_AVALANCHE__FRAX__AVAX_SIDE = + 0x5dfF474Cea8A1FA929AC9A3cE2550376aF11d2A8; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__FXS__AVAX_SIDE = + 0xC311b600bc926a3a8aC39945471427DFd9196930; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPI__AVAX_SIDE = + 0x5E2Ba6a55a5A031d4eCdbAf5691316b7779A6dD4; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPIS__AVAX_SIDE = + 0xb3F6A473b875d74b0E2a86ba9F8a2A935241BaE7; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__FRXETH__AVAX_SIDE = + 0x8f4312DAB71BaAaF64917556333B004db5f3D7DA; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRXETH__AVAX_SIDE = + 0xaf45B8fbde0e0aCbeB5Acf2faE28A34701b1eF01; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRAX__AVAX_SIDE = + 0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant COMBO_ORACLE = 0xf22460b939F1490b485005C0fe4643951724f822; + address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0xfD1a5eD9FaE84f06Ab2e846851F256D4d07B1A17; + address internal constant FRAXSWAP_FACTORY_V1 = 0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E; + address internal constant FRAXSWAP_FACTORY_V2 = 0xf77ca9B635898980fb219b4F4605C50e4ba58afF; + address internal constant FRAXSWAP_ROUTER_V1 = 0xc2544A32872A91F4A553b404C6950e89De901fdb; + address internal constant FRAXSWAP_ROUTER_V2 = 0x5977b16AA9aBC4D1281058C73B789C65Bf9ab3d3; + address internal constant FRAXSWAP_V1_FRAX_FXS = 0xEa9345507c4055b2aC73c67e56f7207702FE66Cc; + address internal constant FRAXSWAP_V1_FRAX_WAVAX = 0x48A7d7d9b6d6529a3d191E434b71CDB874f29011; + address internal constant FRAXSWAP_V2_FRAX_FXS = 0x27cc2Be95D1492bbA726E10Eba57968A065F05eC; + address internal constant FRAXSWAP_V2_FRAX_WAVAX = 0xC725819a7c2A5d3DA243e02eb886b4C5f2B4dc6A; + address internal constant COMPTROLLER = 0xc036Caff65c1A31eAa53e60F6E17f1E6689937AA; + address internal constant FPI_COMPTROLLER = 0xB3e03c9C1820C6216953FB1BBC6fFd232ac12a19; + address internal constant AXIAL_AC4D_TSD_MIM_FRAX_DAI_E = 0x4da067E13974A4d32D342d86fBBbE4fb0f95f382; + address internal constant CURVE4POOL = 0xcb11EE4B70d73e38a383b8691cAFb221059669cC; + address internal constant CURVE_4POOL = 0xcb11EE4B70d73e38a383b8691cAFb221059669cC; + address internal constant FRAX3CRV_F = 0xE013593CEA239E445d2271106836b00C9E7356ae; + address internal constant GOHM = 0x321E7092a180BB43555132ec53AaA65a5bF84251; + address internal constant PANGOLIN_CANFRAX_CANFXS = 0xe0CC7ed0666B29e60a21aF8636bBC69b21eDc434; + address internal constant PANGOLIN_CANFRAX_USDC_E = 0x0c8249757b8d66cB2b6155281A5e4f8F53C94c05; + address internal constant PANGOLIN_CANFRAX_WAVAX = 0x0CE543c0f81ac9AAa665cCaAe5EeC70861a6b559; + address internal constant PANGOLIN_CANFXS_USDC_E = 0x8614F7ca1f4b08Ef2C158a3027EA55fAA8384aC8; + address internal constant TRADER_JOE_FRAX_WAVAX = 0x0d84595e8638dBc631076c51000B2d31120D8aa1; +} + +abstract contract AddressHelperAvalanche is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64, "Constants.AVAX_FRAX"); + vm.label(0x214DB107654fF987AD859F34125307783fC8e387, "Constants.AVAX_FXS"); + vm.label(0xF530904FD8F9ce55F40b7cc78382A13B0cd5C48c, "Constants.AVAX_FPI"); + vm.label(0xee7cBa1403A2B0C53181B3980D52f9C5EdEEcC9e, "Constants.AVAX_FPIS"); + vm.label(0x2018B0CA0eDcE80800851958bD094dD4a8DA1fc4, "Constants.AVAX_FRXETH"); + vm.label(0x6D3B126ae28f3E39894070148B377624F6Ab4a45, "Constants.AVAX_SFRXETH"); + vm.label(0x3405E88af759992937b84E58F2Fe691EF0EeA320, "Constants.AVAX_SFRAX"); + vm.label(0x1f806f7C8dED893fd3caE279191ad7Aa3798E928, "Constants.AVAX_PANGOLIN_FRAX_AVAX"); + vm.label(0x76Ad5c64Fe6B26b6aD9aaAA19eBa00e9eCa31FE1, "Constants.AVAX_PANGOLIN_FXS_AVAX"); + vm.label(0x0bd7964E2E03bdb9703658A1e88F4Dc786FfA551, "Constants.AVAX_SNOWBALL_S4D"); + vm.label(0x862905a82382Db9405a40DCAa8Ee9e8F4af52C89, "Constants.AVAX_TRADER_JOE_FRAX_AVAX"); + vm.label(0x3E6Be71dE004363379d864006AAC37C9F55F8329, "Constants.AVAX_TRADER_JOE_FRAX_GOHM"); + vm.label(0x53942Dcce5087f56cF1D68F4e017Ca3A793F59a2, "Constants.AVAX_TRADER_JOE_FXS_AVAX"); + vm.label( + 0x5dfF474Cea8A1FA929AC9A3cE2550376aF11d2A8, + "Constants.AVAX_FRAXFERRY_V1__ETHEREUM_AVALANCHE__FRAX__AVAX_SIDE" + ); + vm.label( + 0xC311b600bc926a3a8aC39945471427DFd9196930, + "Constants.AVAX_FRAXFERRY_V2__ETHEREUM_AVALANCHE__FXS__AVAX_SIDE" + ); + vm.label( + 0x5E2Ba6a55a5A031d4eCdbAf5691316b7779A6dD4, + "Constants.AVAX_FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPI__AVAX_SIDE" + ); + vm.label( + 0xb3F6A473b875d74b0E2a86ba9F8a2A935241BaE7, + "Constants.AVAX_FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPIS__AVAX_SIDE" + ); + vm.label( + 0x8f4312DAB71BaAaF64917556333B004db5f3D7DA, + "Constants.AVAX_FRAXFERRY_V2__ETHEREUM_AVALANCHE__FRXETH__AVAX_SIDE" + ); + vm.label( + 0xaf45B8fbde0e0aCbeB5Acf2faE28A34701b1eF01, + "Constants.AVAX_FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRXETH__AVAX_SIDE" + ); + vm.label( + 0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E, + "Constants.AVAX_FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRAX__AVAX_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.AVAX_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.AVAX_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.AVAX_CREWMEMBER"); + vm.label(0xf22460b939F1490b485005C0fe4643951724f822, "Constants.AVAX_COMBO_ORACLE"); + vm.label(0xfD1a5eD9FaE84f06Ab2e846851F256D4d07B1A17, "Constants.AVAX_COMBO_ORACLE_UNIV2_UNIV3"); + vm.label(0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E, "Constants.AVAX_FRAXSWAP_FACTORY_V1"); + vm.label(0xf77ca9B635898980fb219b4F4605C50e4ba58afF, "Constants.AVAX_FRAXSWAP_FACTORY_V2"); + vm.label(0xc2544A32872A91F4A553b404C6950e89De901fdb, "Constants.AVAX_FRAXSWAP_ROUTER_V1"); + vm.label(0x5977b16AA9aBC4D1281058C73B789C65Bf9ab3d3, "Constants.AVAX_FRAXSWAP_ROUTER_V2"); + vm.label(0xEa9345507c4055b2aC73c67e56f7207702FE66Cc, "Constants.AVAX_FRAXSWAP_V1_FRAX_FXS"); + vm.label(0x48A7d7d9b6d6529a3d191E434b71CDB874f29011, "Constants.AVAX_FRAXSWAP_V1_FRAX_WAVAX"); + vm.label(0x27cc2Be95D1492bbA726E10Eba57968A065F05eC, "Constants.AVAX_FRAXSWAP_V2_FRAX_FXS"); + vm.label(0xC725819a7c2A5d3DA243e02eb886b4C5f2B4dc6A, "Constants.AVAX_FRAXSWAP_V2_FRAX_WAVAX"); + vm.label(0xc036Caff65c1A31eAa53e60F6E17f1E6689937AA, "Constants.AVAX_COMPTROLLER"); + vm.label(0xB3e03c9C1820C6216953FB1BBC6fFd232ac12a19, "Constants.AVAX_FPI_COMPTROLLER"); + vm.label(0x4da067E13974A4d32D342d86fBBbE4fb0f95f382, "Constants.AVAX_AXIAL_AC4D_TSD_MIM_FRAX_DAI_E"); + vm.label(0xcb11EE4B70d73e38a383b8691cAFb221059669cC, "Constants.AVAX_CURVE4POOL"); + vm.label(0xcb11EE4B70d73e38a383b8691cAFb221059669cC, "Constants.AVAX_CURVE_4POOL"); + vm.label(0xE013593CEA239E445d2271106836b00C9E7356ae, "Constants.AVAX_FRAX3CRV_F"); + vm.label(0x321E7092a180BB43555132ec53AaA65a5bF84251, "Constants.AVAX_GOHM"); + vm.label(0xe0CC7ed0666B29e60a21aF8636bBC69b21eDc434, "Constants.AVAX_PANGOLIN_CANFRAX_CANFXS"); + vm.label(0x0c8249757b8d66cB2b6155281A5e4f8F53C94c05, "Constants.AVAX_PANGOLIN_CANFRAX_USDC_E"); + vm.label(0x0CE543c0f81ac9AAa665cCaAe5EeC70861a6b559, "Constants.AVAX_PANGOLIN_CANFRAX_WAVAX"); + vm.label(0x8614F7ca1f4b08Ef2C158a3027EA55fAA8384aC8, "Constants.AVAX_PANGOLIN_CANFXS_USDC_E"); + vm.label(0x0d84595e8638dBc631076c51000B2d31120D8aa1, "Constants.AVAX_TRADER_JOE_FRAX_WAVAX"); + } +} diff --git a/src/contracts/chain-constants/BSC.sol b/src/contracts/chain-constants/BSC.sol new file mode 100644 index 0000000..e0cef38 --- /dev/null +++ b/src/contracts/chain-constants/BSC.sol @@ -0,0 +1,116 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library BSC { + address internal constant FRAX = 0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40; + address internal constant FXS = 0xe48A3d7d0Bc88d552f730B62c006bC925eadB9eE; + address internal constant FPI = 0x2Dd1B4D4548aCCeA497050619965f91f78b3b532; + address internal constant FPIS = 0xD1738eB733A636d1b8665f48bC8a24dA889c2562; + address internal constant FRXETH = 0x64048A7eEcF3a2F1BA9e144aAc3D7dB6e58F555e; + address internal constant SFRXETH = 0x3Cd55356433C89E50DC51aB07EE0fa0A95623D53; + address internal constant SFRAX = 0xa63f56985F9C7F3bc9fFc5685535649e0C1a55f3; + address internal constant APESWAP_CANFRAX_BUSD = 0x5c8D727b265DBAfaba67E050f2f739cAeEB4A6F9; + address internal constant APESWAP_CANFXS_WBNB = 0x5c8D727b265DBAfaba67E050f2f739cAeEB4A6F9; + address internal constant IMPOSSIBLE_FRAX_IF = 0x5e1F728C0123f7e8B237F61D0105bf9CBd8867B5; + address internal constant IMPOSSIBLE_FRAX_FXS = 0x5BE579e5fFF39a958E6269C6D011cd5f21e2cc32; + address internal constant PLANET_FINANCE_FRAX_LENDING = 0x6022bA7e5A70E1bAA98d47a566F3495A26511b25; + address internal constant FRAXFERRY_V1__ETHEREUM_BSC__FRAX__BSC_SIDE = 0x10Ef54F944639764d2d5Efa272262f06cfaF09AE; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__FXS__BSC_SIDE = 0x5CD3d6465cd21b645F15175840f4659228C6195c; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__FPI__BSC_SIDE = 0x1B01514A2B3CdEf16fD3c680a818A0Ab97Da8a09; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__FPIS__BSC_SIDE = 0x0248940C22D2586450dd5145E81B7Fc0CA4Dd4a2; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__FRXETH__BSC_SIDE = 0xB7C974530e59017DF7FA06b1EBD9e8a1E9aceC29; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__SFRXETH__BSC_SIDE = + 0x612015939f70C87E2041cc5daD909101c1A2383F; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__SFRAX__BSC_SIDE = 0x5E8422345238F34275888049021821E8E08CAa1f; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant COMBO_ORACLE = 0x1B3C6BdEACdc4DD9B0C8E3e2Fd222b4581a52A1A; + address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0x8159D9CD28B7A140Fd92311C1E5c667d97176727; + address internal constant FRAXSWAP_FACTORY_V1 = 0xa007a9716dba05289df85A90d0Fd9D39BEE808dE; + address internal constant FRAXSWAP_FACTORY_V2 = 0xf89e6CA06121B6d4370f4B196Ae458e8b969A011; + address internal constant FRAXSWAP_ROUTER_MULTI_HOP = 0x0000000000000000000000000000000000000000; + address internal constant FRAXSWAP_ROUTER_V1 = 0x0AE84c1A6E142Ed90f8A35a7E7B216CB25469E37; + address internal constant FRAXSWAP_ROUTER_V2 = 0x67F755137E0AE2a2aa0323c047715Bf6523116E5; + address internal constant FRAXSWAP_V1_FRAX_FXS = 0xC86B106F76ef5b9A085071365eD5355592A7aFa4; + address internal constant FRAXSWAP_V1_FRAX_WBNB = 0x84eE532a0d4238f5fC4a1E8c043f8749eD4F274D; + address internal constant FRAXSWAP_V2_FRAX_FXS = 0xF51709f61447E2647528CCC9030d6FE492C30D63; + address internal constant FRAXSWAP_V2_FRAX_WBNB = 0x14732123c443f8E815D5c64f3C7ecb63bCeEab74; + address internal constant COMPTROLLER = 0x8811Da0385cCf1848B21475A42eA4D07Fc5d964a; + address internal constant FPI_COMPTROLLER = 0x49f9cbf5333d8e50c9BE76c775777DB2ACb1d456; + address internal constant GFRAX = 0x6022bA7e5A70E1bAA98d47a566F3495A26511b25; + address internal constant APESWAP_CANFRAX_CANFXS = 0x489c8fF79245f14AEEE9520d28209844790cB979; + address internal constant APESWAP_CANFRAX_WBNB = 0x16BDb03E6074759943149eBB1526DDfD1AA5fc56; + address internal constant APESWAP_CANFRAX_USDC = 0x885BE9bCbCdcB70c59F56A78ae64A820e0448589; + address internal constant APESWAP_CANFXS_USDC = 0x84f2781E4E60f97D2963260A7b20D883F04F0d20; + address internal constant SADDLE_FRAX_BUSD = 0xBD0091CC77Fd3bDb620985a1dD8D3f94E071CCE3; +} + +abstract contract AddressHelperBSC is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40, "Constants.BSC_FRAX"); + vm.label(0xe48A3d7d0Bc88d552f730B62c006bC925eadB9eE, "Constants.BSC_FXS"); + vm.label(0x2Dd1B4D4548aCCeA497050619965f91f78b3b532, "Constants.BSC_FPI"); + vm.label(0xD1738eB733A636d1b8665f48bC8a24dA889c2562, "Constants.BSC_FPIS"); + vm.label(0x64048A7eEcF3a2F1BA9e144aAc3D7dB6e58F555e, "Constants.BSC_FRXETH"); + vm.label(0x3Cd55356433C89E50DC51aB07EE0fa0A95623D53, "Constants.BSC_SFRXETH"); + vm.label(0xa63f56985F9C7F3bc9fFc5685535649e0C1a55f3, "Constants.BSC_SFRAX"); + vm.label(0x5c8D727b265DBAfaba67E050f2f739cAeEB4A6F9, "Constants.BSC_APESWAP_CANFRAX_BUSD"); + vm.label(0x5c8D727b265DBAfaba67E050f2f739cAeEB4A6F9, "Constants.BSC_APESWAP_CANFXS_WBNB"); + vm.label(0x5e1F728C0123f7e8B237F61D0105bf9CBd8867B5, "Constants.BSC_IMPOSSIBLE_FRAX_IF"); + vm.label(0x5BE579e5fFF39a958E6269C6D011cd5f21e2cc32, "Constants.BSC_IMPOSSIBLE_FRAX_FXS"); + vm.label(0x6022bA7e5A70E1bAA98d47a566F3495A26511b25, "Constants.BSC_PLANET_FINANCE_FRAX_LENDING"); + vm.label( + 0x10Ef54F944639764d2d5Efa272262f06cfaF09AE, + "Constants.BSC_FRAXFERRY_V1__ETHEREUM_BSC__FRAX__BSC_SIDE" + ); + vm.label(0x5CD3d6465cd21b645F15175840f4659228C6195c, "Constants.BSC_FRAXFERRY_V2__ETHEREUM_BSC__FXS__BSC_SIDE"); + vm.label(0x1B01514A2B3CdEf16fD3c680a818A0Ab97Da8a09, "Constants.BSC_FRAXFERRY_V2__ETHEREUM_BSC__FPI__BSC_SIDE"); + vm.label( + 0x0248940C22D2586450dd5145E81B7Fc0CA4Dd4a2, + "Constants.BSC_FRAXFERRY_V2__ETHEREUM_BSC__FPIS__BSC_SIDE" + ); + vm.label( + 0xB7C974530e59017DF7FA06b1EBD9e8a1E9aceC29, + "Constants.BSC_FRAXFERRY_V2__ETHEREUM_BSC__FRXETH__BSC_SIDE" + ); + vm.label( + 0x612015939f70C87E2041cc5daD909101c1A2383F, + "Constants.BSC_FRAXFERRY_V2__ETHEREUM_BSC__SFRXETH__BSC_SIDE" + ); + vm.label( + 0x5E8422345238F34275888049021821E8E08CAa1f, + "Constants.BSC_FRAXFERRY_V2__ETHEREUM_BSC__SFRAX__BSC_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.BSC_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.BSC_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.BSC_CREWMEMBER"); + vm.label(0x1B3C6BdEACdc4DD9B0C8E3e2Fd222b4581a52A1A, "Constants.BSC_COMBO_ORACLE"); + vm.label(0x8159D9CD28B7A140Fd92311C1E5c667d97176727, "Constants.BSC_COMBO_ORACLE_UNIV2_UNIV3"); + vm.label(0xa007a9716dba05289df85A90d0Fd9D39BEE808dE, "Constants.BSC_FRAXSWAP_FACTORY_V1"); + vm.label(0xf89e6CA06121B6d4370f4B196Ae458e8b969A011, "Constants.BSC_FRAXSWAP_FACTORY_V2"); + vm.label(0x0000000000000000000000000000000000000000, "Constants.BSC_FRAXSWAP_ROUTER_MULTI_HOP"); + vm.label(0x0AE84c1A6E142Ed90f8A35a7E7B216CB25469E37, "Constants.BSC_FRAXSWAP_ROUTER_V1"); + vm.label(0x67F755137E0AE2a2aa0323c047715Bf6523116E5, "Constants.BSC_FRAXSWAP_ROUTER_V2"); + vm.label(0xC86B106F76ef5b9A085071365eD5355592A7aFa4, "Constants.BSC_FRAXSWAP_V1_FRAX_FXS"); + vm.label(0x84eE532a0d4238f5fC4a1E8c043f8749eD4F274D, "Constants.BSC_FRAXSWAP_V1_FRAX_WBNB"); + vm.label(0xF51709f61447E2647528CCC9030d6FE492C30D63, "Constants.BSC_FRAXSWAP_V2_FRAX_FXS"); + vm.label(0x14732123c443f8E815D5c64f3C7ecb63bCeEab74, "Constants.BSC_FRAXSWAP_V2_FRAX_WBNB"); + vm.label(0x8811Da0385cCf1848B21475A42eA4D07Fc5d964a, "Constants.BSC_COMPTROLLER"); + vm.label(0x49f9cbf5333d8e50c9BE76c775777DB2ACb1d456, "Constants.BSC_FPI_COMPTROLLER"); + vm.label(0x6022bA7e5A70E1bAA98d47a566F3495A26511b25, "Constants.BSC_GFRAX"); + vm.label(0x489c8fF79245f14AEEE9520d28209844790cB979, "Constants.BSC_APESWAP_CANFRAX_CANFXS"); + vm.label(0x16BDb03E6074759943149eBB1526DDfD1AA5fc56, "Constants.BSC_APESWAP_CANFRAX_WBNB"); + vm.label(0x885BE9bCbCdcB70c59F56A78ae64A820e0448589, "Constants.BSC_APESWAP_CANFRAX_USDC"); + vm.label(0x84f2781E4E60f97D2963260A7b20D883F04F0d20, "Constants.BSC_APESWAP_CANFXS_USDC"); + vm.label(0xBD0091CC77Fd3bDb620985a1dD8D3f94E071CCE3, "Constants.BSC_SADDLE_FRAX_BUSD"); + } +} diff --git a/src/contracts/chain-constants/Fantom.sol b/src/contracts/chain-constants/Fantom.sol new file mode 100644 index 0000000..42d182b --- /dev/null +++ b/src/contracts/chain-constants/Fantom.sol @@ -0,0 +1,129 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library Fantom { + address internal constant FRAX = 0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355; + address internal constant FXS = 0x7d016eec9c25232b01F23EF992D98ca97fc2AF5a; + address internal constant FPI = 0xAb069E73f1AA50c37A7171D16dCc3614c705101B; + address internal constant FPIS = 0x3bb6B72dC07D7bFDa981F70C631482e9517CF6EE; + address internal constant FRXETH = 0x9E73F99EE061C8807F69f9c6CCc44ea3d8c373ee; + address internal constant SFRXETH = 0xb90CCD563918fF900928dc529aA01046795ccb4A; + address internal constant LIQUID_DRIVER_FRAX_FTM = 0x6e2ad6527901c9664f016466b8DA1357a004db0f; + address internal constant SPIRITSWAP_FRAX_FTM = 0x7ed0cdDB9BB6c6dfEa6fB63E117c8305479B8D7D; + address internal constant SPIRITSWAP_FRAX_FXS = 0x21cE9F4bCe3Ec48f34cE9073a5102bEEd965f381; + address internal constant SPIRITSWAP_FRAX_USDC = 0x1478AEC7896e40aE5fB858C77D389F0B3e6CbC5d; + address internal constant VEDAO_FRAX = 0xE04C26444d37fE103B9cc8033c99b09D47056f51; + address internal constant FRAXFERRY_V1__ETHEREUM_FANTOM__FRAX__FTM_SIDE = + 0x088Be716eCA24b143fCC9ed06C6ae9977A469CCE; + address internal constant FRAXFERRY_V2__ETHEREUM_FANTOM__FXS__FTM_SIDE = 0x9b75031D46CdEe779B36F7F2f1857fd987C6C98c; + address internal constant FRAXFERRY_V2__ETHEREUM_FANTOM__FRXETH__FTM_SIDE = + 0x12b6a8178C67B2835E280E1Ed709F64446cddb08; + address internal constant FRAXFERRY_V2__ETHEREUM_FANTOM__SFRXETH__FTM_SIDE = + 0x71e1FEeAA17b6557c5FaD60101ca12F81d03838C; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant COMBO_ORACLE = 0x496E5c8F169C2930Dd67B821d8DdDDC78542f290; + address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0x689C5BC12B0A80a8aa33dc38dfDFB7E858A49601; + address internal constant FRAXSWAP_FACTORY_V1 = 0xF55C563148cA0c0F1626834ec1B8651844D76792; + address internal constant FRAXSWAP_FACTORY_V2 = 0xDc745E09fC459aDC295E2e7baACe881354dB7F64; + address internal constant FRAXSWAP_ROUTER_V1 = 0xa007a9716dba05289df85A90d0Fd9D39BEE808dE; + address internal constant FRAXSWAP_ROUTER_V2 = 0x7D21C651Dd333306B35F2FeAC2a19FA1e1241545; + address internal constant FRAXSWAP_ROUTER_MULTI_HOP = 0x0000000000000000000000000000000000000000; + address internal constant FRAXSWAP_V1_FRAX_FXS = 0xB186ad077cA69e860476B2C84ecD0DE3572A10F5; + address internal constant FRAXSWAP_V1_FRAX_WFTM = 0xc736279b8371c736f027cCC3F77755D7931F8845; + address internal constant FRAXSWAP_V2_FRAX_FXS = 0x4ac3de029F4C11ab40a51336F7229d67cd1e92A5; + address internal constant FRAXSWAP_V2_FRAX_WFTM = 0x173F3e43F0414F903620948F9d2094F9dbD92F15; + address internal constant COMPTROLLER = 0xE838c61635dd1D41952c68E47159329443283d90; + address internal constant FPI_COMPTROLLER = 0xe722B0fA594e290a8E53bFB5654cE4Ad8a4BE811; + address internal constant CURVE4POOL = 0x9dc516a18775d492c9f061211C8a3FDCd476558d; + address internal constant CURVE_4POOL = 0x9dc516a18775d492c9f061211C8a3FDCd476558d; + address internal constant FRAX2POOL = 0x7a656B342E14F745e2B164890E88017e27AE7320; + address internal constant HFRAX = 0xb4300e088a3AE4e624EE5C71Bc1822F68BB5f2bc; + address internal constant OFRAX = 0x88c05534566f3bD6b6D704c9259408fF1F1a3F00; + address internal constant OXSOLID = 0xDA0053F0bEfCbcaC208A3f867BB243716734D809; + address internal constant OX_VAMM_FXS_FRAX_DEPOSIT = 0x9601f81F35B2F00549a654E3f2E5D7c87F733530; + address internal constant SADDLE_FRAX_USDC = 0xc969dD0A7AB0F8a0C5A69C0839dB39b6C928bC08; + address internal constant SCFRAX = 0x4E6854EA84884330207fB557D1555961D85Fc17E; + address internal constant SEX_SAMM_USDC_FRAX_DEPOSIT = 0xF3E57E9cba43F9998559161DDd40aaeB2225E700; + address internal constant SEX_VAMM_FXS_FRAX_DEPOSIT = 0xa5944150136aCF58e4e9752703Fcf7B13e8579E7; + address internal constant SOLIDLY_STABLEV1_AMM___USDC_FRAX = 0x154eA0E896695824C87985a52230674C2BE7731b; + address internal constant SOLIDLY_VOLATILEV1_AMM___FXS_FRAX = 0x4bBd8467ccd49D5360648CE14830f43a7fEB6e45; + address internal constant SPIRITSWAP_CANFRAX_ANYUSDC = 0x1478AEC7896e40aE5fB858C77D389F0B3e6CbC5d; + address internal constant SPIRITSWAP_CANFRAX_CANFXS = 0x7a2aD237e389De505DE7a89768143337E516C6Ce; + address internal constant SPIRITSWAP_CANFRAX_FTM = 0x7ed0cdDB9BB6c6dfEa6fB63E117c8305479B8D7D; + address internal constant SPIRITSWAP_CANFXS_ANYUSDC = 0xB269A9969A437e778A8BFdB48A720aD366742554; +} + +abstract contract AddressHelperFantom is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355, "Constants.FTM_FRAX"); + vm.label(0x7d016eec9c25232b01F23EF992D98ca97fc2AF5a, "Constants.FTM_FXS"); + vm.label(0xAb069E73f1AA50c37A7171D16dCc3614c705101B, "Constants.FTM_FPI"); + vm.label(0x3bb6B72dC07D7bFDa981F70C631482e9517CF6EE, "Constants.FTM_FPIS"); + vm.label(0x9E73F99EE061C8807F69f9c6CCc44ea3d8c373ee, "Constants.FTM_FRXETH"); + vm.label(0xb90CCD563918fF900928dc529aA01046795ccb4A, "Constants.FTM_SFRXETH"); + vm.label(0x6e2ad6527901c9664f016466b8DA1357a004db0f, "Constants.FTM_LIQUID_DRIVER_FRAX_FTM"); + vm.label(0x7ed0cdDB9BB6c6dfEa6fB63E117c8305479B8D7D, "Constants.FTM_SPIRITSWAP_FRAX_FTM"); + vm.label(0x21cE9F4bCe3Ec48f34cE9073a5102bEEd965f381, "Constants.FTM_SPIRITSWAP_FRAX_FXS"); + vm.label(0x1478AEC7896e40aE5fB858C77D389F0B3e6CbC5d, "Constants.FTM_SPIRITSWAP_FRAX_USDC"); + vm.label(0xE04C26444d37fE103B9cc8033c99b09D47056f51, "Constants.FTM_VEDAO_FRAX"); + vm.label( + 0x088Be716eCA24b143fCC9ed06C6ae9977A469CCE, + "Constants.FTM_FRAXFERRY_V1__ETHEREUM_FANTOM__FRAX__FTM_SIDE" + ); + vm.label( + 0x9b75031D46CdEe779B36F7F2f1857fd987C6C98c, + "Constants.FTM_FRAXFERRY_V2__ETHEREUM_FANTOM__FXS__FTM_SIDE" + ); + vm.label( + 0x12b6a8178C67B2835E280E1Ed709F64446cddb08, + "Constants.FTM_FRAXFERRY_V2__ETHEREUM_FANTOM__FRXETH__FTM_SIDE" + ); + vm.label( + 0x71e1FEeAA17b6557c5FaD60101ca12F81d03838C, + "Constants.FTM_FRAXFERRY_V2__ETHEREUM_FANTOM__SFRXETH__FTM_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.FTM_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.FTM_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.FTM_CREWMEMBER"); + vm.label(0x496E5c8F169C2930Dd67B821d8DdDDC78542f290, "Constants.FTM_COMBO_ORACLE"); + vm.label(0x689C5BC12B0A80a8aa33dc38dfDFB7E858A49601, "Constants.FTM_COMBO_ORACLE_UNIV2_UNIV3"); + vm.label(0xF55C563148cA0c0F1626834ec1B8651844D76792, "Constants.FTM_FRAXSWAP_FACTORY_V1"); + vm.label(0xDc745E09fC459aDC295E2e7baACe881354dB7F64, "Constants.FTM_FRAXSWAP_FACTORY_V2"); + vm.label(0xa007a9716dba05289df85A90d0Fd9D39BEE808dE, "Constants.FTM_FRAXSWAP_ROUTER_V1"); + vm.label(0x7D21C651Dd333306B35F2FeAC2a19FA1e1241545, "Constants.FTM_FRAXSWAP_ROUTER_V2"); + vm.label(0x0000000000000000000000000000000000000000, "Constants.FTM_FRAXSWAP_ROUTER_MULTI_HOP"); + vm.label(0xB186ad077cA69e860476B2C84ecD0DE3572A10F5, "Constants.FTM_FRAXSWAP_V1_FRAX_FXS"); + vm.label(0xc736279b8371c736f027cCC3F77755D7931F8845, "Constants.FTM_FRAXSWAP_V1_FRAX_WFTM"); + vm.label(0x4ac3de029F4C11ab40a51336F7229d67cd1e92A5, "Constants.FTM_FRAXSWAP_V2_FRAX_FXS"); + vm.label(0x173F3e43F0414F903620948F9d2094F9dbD92F15, "Constants.FTM_FRAXSWAP_V2_FRAX_WFTM"); + vm.label(0xE838c61635dd1D41952c68E47159329443283d90, "Constants.FTM_COMPTROLLER"); + vm.label(0xe722B0fA594e290a8E53bFB5654cE4Ad8a4BE811, "Constants.FTM_FPI_COMPTROLLER"); + vm.label(0x9dc516a18775d492c9f061211C8a3FDCd476558d, "Constants.FTM_CURVE4POOL"); + vm.label(0x9dc516a18775d492c9f061211C8a3FDCd476558d, "Constants.FTM_CURVE_4POOL"); + vm.label(0x7a656B342E14F745e2B164890E88017e27AE7320, "Constants.FTM_FRAX2POOL"); + vm.label(0xb4300e088a3AE4e624EE5C71Bc1822F68BB5f2bc, "Constants.FTM_HFRAX"); + vm.label(0x88c05534566f3bD6b6D704c9259408fF1F1a3F00, "Constants.FTM_OFRAX"); + vm.label(0xDA0053F0bEfCbcaC208A3f867BB243716734D809, "Constants.FTM_OXSOLID"); + vm.label(0x9601f81F35B2F00549a654E3f2E5D7c87F733530, "Constants.FTM_OX_VAMM_FXS_FRAX_DEPOSIT"); + vm.label(0xc969dD0A7AB0F8a0C5A69C0839dB39b6C928bC08, "Constants.FTM_SADDLE_FRAX_USDC"); + vm.label(0x4E6854EA84884330207fB557D1555961D85Fc17E, "Constants.FTM_SCFRAX"); + vm.label(0xF3E57E9cba43F9998559161DDd40aaeB2225E700, "Constants.FTM_SEX_SAMM_USDC_FRAX_DEPOSIT"); + vm.label(0xa5944150136aCF58e4e9752703Fcf7B13e8579E7, "Constants.FTM_SEX_VAMM_FXS_FRAX_DEPOSIT"); + vm.label(0x154eA0E896695824C87985a52230674C2BE7731b, "Constants.FTM_SOLIDLY_STABLEV1_AMM___USDC_FRAX"); + vm.label(0x4bBd8467ccd49D5360648CE14830f43a7fEB6e45, "Constants.FTM_SOLIDLY_VOLATILEV1_AMM___FXS_FRAX"); + vm.label(0x1478AEC7896e40aE5fB858C77D389F0B3e6CbC5d, "Constants.FTM_SPIRITSWAP_CANFRAX_ANYUSDC"); + vm.label(0x7a2aD237e389De505DE7a89768143337E516C6Ce, "Constants.FTM_SPIRITSWAP_CANFRAX_CANFXS"); + vm.label(0x7ed0cdDB9BB6c6dfEa6fB63E117c8305479B8D7D, "Constants.FTM_SPIRITSWAP_CANFRAX_FTM"); + vm.label(0xB269A9969A437e778A8BFdB48A720aD366742554, "Constants.FTM_SPIRITSWAP_CANFXS_ANYUSDC"); + } +} diff --git a/src/contracts/chain-constants/FraxtalL1Devnet.sol b/src/contracts/chain-constants/FraxtalL1Devnet.sol new file mode 100644 index 0000000..21d811e --- /dev/null +++ b/src/contracts/chain-constants/FraxtalL1Devnet.sol @@ -0,0 +1,39 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library FraxtalL1Devnet { + address internal constant FRAX = 0x114a0318Da080A2Ee3380269d796E93DF767D24F; + address internal constant FXS = 0xD86518aDB08DF9AcF9E84EB216d7862bc0F634C0; + address internal constant FPI = 0xfC75d8fD01fD999D2A4731a01d87131b40A8a645; + address internal constant FPIS = 0x9445aD9a63def63CA9D23cfd7cd72538BbF1780A; + address internal constant FRXBTC = 0x2a2acd879050aC8910d80dccb428a0AEf77fFA36; + address internal constant FRXETH = 0x51Ed07ceB785d2983e56CF00CAf65499dae5df3B; + address internal constant SFRXETH = 0x2787eC65f085acbbE94F1bB7E099dF06B56b6DaC; + address internal constant SFRAX = 0xB26fDD0FF10A287a73EFaa0b18A0e57fd8168835; + uint256 internal constant CHAIN_ID = 2520; + address internal constant FRXETH_MINTER = 0x890205b3397a1F273BaD55476F2856886964E788; + address internal constant COMPTROLLER = 0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160; +} + +abstract contract AddressHelperFraxtalL1Devnet is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0x114a0318Da080A2Ee3380269d796E93DF767D24F, "Constants.FXTL_L1_DN_FRAX"); + vm.label(0xD86518aDB08DF9AcF9E84EB216d7862bc0F634C0, "Constants.FXTL_L1_DN_FXS"); + vm.label(0xfC75d8fD01fD999D2A4731a01d87131b40A8a645, "Constants.FXTL_L1_DN_FPI"); + vm.label(0x9445aD9a63def63CA9D23cfd7cd72538BbF1780A, "Constants.FXTL_L1_DN_FPIS"); + vm.label(0x2a2acd879050aC8910d80dccb428a0AEf77fFA36, "Constants.FXTL_L1_DN_FRXBTC"); + vm.label(0x51Ed07ceB785d2983e56CF00CAf65499dae5df3B, "Constants.FXTL_L1_DN_FRXETH"); + vm.label(0x2787eC65f085acbbE94F1bB7E099dF06B56b6DaC, "Constants.FXTL_L1_DN_SFRXETH"); + vm.label(0xB26fDD0FF10A287a73EFaa0b18A0e57fd8168835, "Constants.FXTL_L1_DN_SFRAX"); + vm.label(0x890205b3397a1F273BaD55476F2856886964E788, "Constants.FXTL_L1_DN_FRXETH_MINTER"); + vm.label(0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160, "Constants.FXTL_L1_DN_COMPTROLLER"); + } +} diff --git a/src/contracts/chain-constants/FraxtalL2.sol b/src/contracts/chain-constants/FraxtalL2.sol new file mode 100644 index 0000000..a621daa --- /dev/null +++ b/src/contracts/chain-constants/FraxtalL2.sol @@ -0,0 +1,329 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library FraxtalL2 { + uint256 internal constant CHAIN_ID = 252; + address internal constant FRAX = 0xFc00000000000000000000000000000000000001; + address internal constant FXS = 0xFc00000000000000000000000000000000000002; + address internal constant FPI = 0xFc00000000000000000000000000000000000003; + address internal constant FPIS = 0xfc00000000000000000000000000000000000004; + address internal constant SFRXETH = 0xFC00000000000000000000000000000000000005; + address internal constant WFRXETH = 0xFC00000000000000000000000000000000000006; + address internal constant FRXBTC = 0xfC00000000000000000000000000000000000007; + address internal constant SFRAX = 0xfc00000000000000000000000000000000000008; + address internal constant FRAX_PROXY = 0xFc00000000000000000000000000000000000001; + address internal constant FXS_PROXY = 0xFc00000000000000000000000000000000000002; + address internal constant FPI_PROXY = 0xFc00000000000000000000000000000000000003; + address internal constant FPIS_PROXY = 0xfc00000000000000000000000000000000000004; + address internal constant SFRXETH_PROXY = 0xFC00000000000000000000000000000000000005; + address internal constant WFRXETH_PROXY = 0xFC00000000000000000000000000000000000006; + address internal constant FRXBTC_PROXY = 0xfC00000000000000000000000000000000000007; + address internal constant SFRAX_PROXY = 0xfc00000000000000000000000000000000000008; + address internal constant CONVEX_SQUID_WFRXETH_FRAXTAL = 0x95AB2a2F6e701873cEA0070dAc735589D089f6Bc; + address internal constant FLE_FRAX_FXS_FRAXTAL = 0xCe70630b4b2E889AdC558b58B2980437f58003D4; + address internal constant FLE_FXS_WFRXETH_FRAXTAL = 0x7A6BE195f9931341c1f4c4230fc48F8B9b9dE91b; + address internal constant FRAXSWAP_V2_FRAX_FPI_FRAXTAL = 0x7b8848f10A016341c9B2427e8541C19F31C2D243; + address internal constant FRAXSWAP_V2_FRAX_FXS_FRAXTAL = 0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25; + address internal constant FRAXSWAP_V2_FRAX_SFRXETH_FRAXTAL = 0xe402a39F788f90607A50254fAf56316E6a78231A; + address internal constant FRAXSWAP_V2_FRAX_WFRXETH_FRAXTAL = 0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7; + address internal constant FXB_TIMED_LOCKER_20261231 = 0x00a5b34d4b436E3276695a1EaA8242FA2FC11dC5; + address internal constant FXB_20261231 = 0x8e9C334afc76106F08E0383907F4Fca9bB10BA3e; + address internal constant FXB_20241231 = 0xa71bB8c79dc8FfA90A6Dd711aA9Fbe5114c19cba; + address internal constant FXB_20240630 = 0x758094A71a39De49626FE25B86631ED944558653; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__FRAX__FXTL_SIDE = + 0x00160baF84b3D2014837cc12e838ea399f8b8478; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__FXS__FXTL_SIDE = + 0x24e927daC110Aab7189a4F864d41680e4F7865FB; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPI__FXTL_SIDE = + 0xEcf63fd1A839fF54949eB786693237bEEC59C6e7; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPIS__FXTL_SIDE = + 0xcD3A040f05769d7628582B403063e61B7D212F91; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRXETH__FXTL_SIDE = + 0x67c6A8A715fc726ffD0A40588701813d9eC04d9C; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRAX__FXTL_SIDE = + 0x08Be8BaAb62fB0A363f38C82Ee2320A36b72f2DB; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CHAINLINK_ETH_USD_ORACLE = 0xA6cBe9aB6075d8b1049Db7528f2fCf22FC7d051B; + address internal constant CIRCUIT_BREAKER_ADDRESS = 0x0eD01ea3B95e0f68DF2c9CD67F138ff3547b311C; + address internal constant FRAXLEND_DEPLOYER_V4 = 0x4C3B0e85CD8C12E049E07D9a4d68C441196E6a12; + address internal constant FRAXLEND_HOT_WALLET = 0x31562ae726AFEBe25417df01bEdC72EF489F45b3; + address internal constant FRAXLEND_PAIR_REGISTRY_ADDRESS = 0x8c22EBc8f9B96cEac97EA21c53F3B27ef2F45e57; + address internal constant FRAXLEND_WHITELIST_ADDRESS = 0x64F85076665dcE1FbEfC23391b8BFB2595c250f6; + address internal constant FRAXTAL_BLOCKHASH_PROVIDER = 0x4200000000000000000000000000000000000015; + address internal constant FRAXTAL_MERKLE_PRICE_SOURCE = 0x9990eb28E58380122AA3AdF64ea6f874df51114C; + address internal constant FRAXTAL_STATE_ROOT_ORACLE = 0xeD403d48e2bC946438B5686AA1AD65056Ccf9512; + address internal constant FRXETH_DUAL_ORACLE_REDSTONE = 0x4b0Ca693e29e5FD2AA39332a0387BBCD0f91a527; + address internal constant FXB_20240630_ORACLE = 0x1A60b40601Bb5AA192389b05F80A7BeAde6d77d7; + address internal constant FXB_20241231_ORACLE = 0x01480a0C134CeCC309015a564C7e292ba6E0F358; + address internal constant FXB_20261231_ORACLE = 0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3; + address internal constant FXB_VARIABLE_RATE_2 = 0x3FdA3e9E78EAcd7381F1ED2CF145B93537878c1f; + address internal constant FXS_DUAL_ORACLE_REDSTONE = 0xB99c9d329Bd69dDf8AF57110e011F5D81801c6d2; + address internal constant SFRAX_SFRXETH_INVERSE_ORACLE_REDSTONE = 0x1010E24A2F0e6954c6456Bf925764eCc8577Fa2c; + address internal constant SFRXETH_DUAL_ORACLE_REDSTONE = 0xfbcDf41Cc692ed529b9a8cC1A5867B9524FD0164; + address internal constant TIMELOCK_ADDRESS = 0xc16068d1ca7E24E20e56bB70af4D00D92AA4f0b2; + address internal constant VARIABLE_RATE_2_ADDRESS = 0xFA7207F02ba29Cd122A9d49ce96F6cA7707A1652; + address internal constant VARIABLE_RATE_2_ADDRESS_50 = 0x3Fdb6BC356dAD0D7260E9619efa125409a08C3B2; + address internal constant FRAXLEND_PAIR_FXB12312026_FRAX = 0x032578d99b1070682a5E171012BE1756a50a17d4; + address internal constant FRAXLEND_PAIR_FXB12312024_FRAX = 0x6154334A7D0E7f5f0479599D15F462B200C721E1; + address internal constant FRAXLEND_PAIR_FXB06302024 = 0x57b709e214B239821A78dFCF09c89f52bA3D80aD; + address internal constant FRAXLEND_PAIR_SFRXETH_FRAX = 0x4F968317721B9c300afBff3FD37365637318271D; + address internal constant FRAXLEND_PAIR_FXS_FRAX = 0x8EdA613EC96992D3C42BCd9aC2Ae58a92929Ceb2; + address internal constant FRAXLEND_PAIR_SFRAX_SFRXETH = 0xB71E4829e81f72f7F36A0d858e58109f5948A713; + address internal constant SDAI_ERC4626_ORACLE = 0xfdE8C36F32Bf32e73A1bdeb4ef3E17709674a838; + address internal constant SDAI_ORACLE_MERKLE_PRICE_SOURCE = 0xf3E3E2a376939bfF87e9cac84e0E5A35e495417a; + address internal constant SFRAX_ERC4626_ORACLE = 0xF750636E1df115e3B334eD06E5b45c375107FC60; + address internal constant SFRAX_MERKLE_PRICE_SOURCE = 0xe7C6385Cf5d4Ea61774A56E3aeaf60a09fC8E1d5; + address internal constant SFRXETH_ERC4626_ORACLE = 0xe7C6385Cf5d4Ea61774A56E3aeaf60a09fC8E1d5; + address internal constant SFRXETH_MERKLE_PRICE_SOURCE = 0xa560E014501f96752726f65c27E96C3e9127Ce32; + address internal constant SUSDE_ERC4626_ORACLE = 0xd295936C8Bb465ADd1eC756a51698127CB4F4910; + address internal constant SUSDE_MERKLE_PRICE_SOURCE = 0xc2B984E37D1CAf5Eef82D9D892287361058955E9; + address internal constant FRAXSWAP_FACTORY = 0xE30521fe7f3bEB6Ad556887b50739d6C7CA667E6; + address internal constant FRAXSWAP_FRAX_FPIS_PAIR = 0x78d264E25781f31343352A0f91875B655c79B843; + address internal constant FRAXSWAP_FRAX_FPI_FARM = 0x7b8848f10A016341c9B2427e8541C19F31C2D243; + address internal constant FRAXSWAP_FRAX_FPI_PAIR = 0x0EFFABede4e31101DE5209096611D073981A817b; + address internal constant FRAXSWAP_FRAX_FXS_FARM = 0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25; + address internal constant FRAXSWAP_FRAX_FXS_PAIR = 0xb4dA8dA10ffF1F6127ab71395053Aa1d499b503F; + address internal constant FRAXSWAP_FRAX_SFRXETH_FARM = 0xe402a39F788f90607A50254fAf56316E6a78231A; + address internal constant FRAXSWAP_FRAX_SFRXETH_PAIR = 0xEBD293F2173082320d88533316F5964298dE316E; + address internal constant FRAXSWAP_FRAX_WFRXETH_FARM = 0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7; + address internal constant FRAXSWAP_ROUTER = 0x39cd4db6460d8B5961F73E997E86DdbB7Ca4D5F6; + address internal constant FRAXSWAP_ROUTER_MULTIHOP = 0x67E04873691258950299Bd8610403D69bA0A1e10; + address internal constant FRAXSWAP_WFRX_ETH_PAIR = 0x4527bcEd9d41706D1436507e9a6e354d3FF44ff9; + address internal constant BALANCE_CHECKER = 0x219356ef2f11a314Dd0D8bfd7f4B0B951Cb16c3a; + address internal constant DELEGATION_REGISTRY = 0x098c837FeF2e146e96ceAF58A10F68Fc6326DC4C; + address internal constant FPIS_LOCKER_PROXY = 0x437E9F65cA234eCfed12149109587139d435AD35; + address internal constant FPIS_LOCKER_IMPL = 0x2b72DF3116cEb8E8a7391024f69A0BfF2718389D; + address internal constant FPIS_LOCKER_UTILS = 0x9E461cF6773F168A991A7aD73E2aD89ecD737745; + address internal constant FRAXTAL_POINTS_FXTL = 0xaB4b7c5C9A7C8EbB97877085A6C3550ad4Ed3f97; + address internal constant SFRAX_ERC4626_MINT_REDEEMER_PROXY = 0xBFc4D34Db83553725eC6c768da71D2D9c1456B55; + address internal constant SFRAX_ERC4626_MINT_REDEEMER_IMPL = 0x0aF57786D6B2447EA2E04F9FAB36a239c2E8C9d5; + address internal constant FRAXFERRY_ETHEREUM_FRAX = 0x00160baF84b3D2014837cc12e838ea399f8b8478; + address internal constant FRAXFERRY_ETHEREUM_FXS = 0x24e927daC110Aab7189a4F864d41680e4F7865FB; + address internal constant FRAXFERRY_ETHEREUM_FPI = 0xEcf63fd1A839fF54949eB786693237bEEC59C6e7; + address internal constant FRAXFERRY_ETHEREUM_FPIS = 0xcD3A040f05769d7628582B403063e61B7D212F91; + address internal constant FRAXFERRY_ETHEREUM_SFRXETH = 0x67c6A8A715fc726ffD0A40588701813d9eC04d9C; + address internal constant FRAXFERRY_ETHEREUM_SFRAX = 0x08Be8BaAb62fB0A363f38C82Ee2320A36b72f2DB; + address internal constant BLOCKHASH_PROVIDER = 0x4200000000000000000000000000000000000015; + address internal constant STATE_ROOT_ORACLE = 0xeD403d48e2bC946438B5686AA1AD65056Ccf9512; + address internal constant MERKLE_PRICE_SOURCE = 0x9990eb28E58380122AA3AdF64ea6f874df51114C; + address internal constant CHAINLINK_MERKLE_PRICE_SOURCE = 0x4AD728706bFe28A3F090b3f1D8Ac3A8515805B41; + address internal constant SFRXETH_L2_RATE_ORACLE = 0xEE095b7d9191603126Da584a1179BB403a027c3A; + address internal constant SFRAX_L2_RATE_ORACLE = 0x1B680F4385f24420D264D78cab7C58365ED3F1FF; + address internal constant SDAI_L2_RATE_ORACLE = 0xfdE8C36F32Bf32e73A1bdeb4ef3E17709674a838; + address internal constant SUSDE_L2_RATE_ORACLE = 0xd295936C8Bb465ADd1eC756a51698127CB4F4910; + address internal constant SFRXETH_L2_RATE_ORACLE_OLD = 0x8865435777730eAAbAAF2d1F55F115a87AbCf91A; + address internal constant SFRAX_L2_RATE_ORACLE_OLD = 0xF750636E1df115e3B334eD06E5b45c375107FC60; + address internal constant FRAXTAL_SDAI_MERKLE_PRICE_SOURCE = 0xf3E3E2a376939bfF87e9cac84e0E5A35e495417a; + address internal constant FRAXTAL_SFRAX_MERKLE_PRICE_SOURCE = 0xE25D8aaa6dF41B94A415EE39cCEE0DF6673B9bDb; + address internal constant FRAXTAL_SFRXETH_MERKLE_PRICE_SOURCE = 0xabca0b314d15B3e28F24AC0ee84A63001d1b44Db; + address internal constant FRAXTAL_SUSDE_MERKLE_PRICE_SOURCE = 0xc2B984E37D1CAf5Eef82D9D892287361058955E9; + address internal constant FRAXTAL_SFRAX_MERKLE_PRICE_SOURCE_OLD = 0xe7C6385Cf5d4Ea61774A56E3aeaf60a09fC8E1d5; + address internal constant FRAXTAL_SFRXETH_MERKLE_PRICE_SOURCE_OLD = 0xa560E014501f96752726f65c27E96C3e9127Ce32; + address internal constant L1VEFXS_IMPLEMENTATION_OWNER = 0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6; + address internal constant L1VEFXS_PROXY_ADMIN_OWNER = 0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6; + address internal constant L1VEFXS_PROXY_ADMIN = 0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F; + address internal constant L1VEFXS_IMPL_V1 = 0xBDB5088A8e89e9ec83e82caA01EC20Ed976459eD; + address internal constant L1VEFXS_PROXY = 0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F; + address internal constant L1VEFXS_TOTAL_SUPPLY_ORACLE = 0xaBBeFFb0d24EAcFFD3Be194471F0FD8aaaa3e5f8; + address internal constant FXB_AMO = 0x55271b0d4DaC2664Fa9d44F8cccd89A3e6342313; + address internal constant OPTIMISM_MINTABLE_PERMIT_ERC20_FACTORY_IMPL_V1 = + 0x111ddab65Af5fF96b674400246699ED40F550De1; + address internal constant VEFXS_YIELD_DISTRIBUTOR_IMPL_V1 = 0x691d1AaFB550c35B24e09bb991AEC9612342eD93; + address internal constant VEFXS_YIELD_DISTRIBUTOR_PROXY_V1 = 0x39333a540bbea6262e405E1A6d435Bd2e776561E; + address internal constant YIELD_DISTRIBUTOR_PROXY = 0x21359d1697e610e25C8229B2C57907378eD09A2E; + address internal constant YIELD_DISTRIBUTOR_IMPL = 0x08de0C3BCBa9529fe59FA4e4593805Bd55A54B0B; + address internal constant VESTEDFXS_UTILS = 0xC540f05BF5a09336078634D65E46242DFBa55030; + address internal constant VESTEDFXS_IMPL_V1 = 0x54bd5c72645fed784C117cA83533e0584b24Ee5c; + address internal constant VESTEDFXS_PROXY = 0x007FD070a7E1B0fA1364044a373Ac1339bAD89CF; + address internal constant VEFXS_AGGREGATOR_PROXY = 0x176A4e081653EbB8a2246BAfbfCf663782426531; + address internal constant VEFXS_AGGREGATOR_IMPL = 0xF9Ca1Dc83B16C72b3359CEcD1d3Fc96d80dC4Fa6; + address internal constant COMPTROLLERS = 0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6; + address internal constant PROPOSER_MULTI_SIG = 0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE; + address internal constant GOV_PROPOSER_MSIG = 0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE; + address internal constant CVXSQUIDWFRXETH = 0x29FF8F9ACb27727D8A2A52D16091c12ea56E9E4d; + address internal constant CVXSQUIDWFRXETH_REWARDER = 0x29FF8F9ACb27727D8A2A52D16091c12ea56E9E4d; + address internal constant SQUIDWFRXETH = 0x277FA53c8a53C880E0625c92C92a62a9F60f3f04; + address internal constant SQUIDWFRXETH_GAUGE = 0xe5E5ed1B50AE33E66ca69dF17Aa6381FDe4e9C7e; + address internal constant SQUIDWFRXETH_POOL = 0x277FA53c8a53C880E0625c92C92a62a9F60f3f04; + address internal constant CROSS_DOMAIN_MESSENGER = 0x4200000000000000000000000000000000000007; + address internal constant ERC20_FACTORY_PROXY = 0x4200000000000000000000000000000000000012; + address internal constant L2_STANDARD_BRIDGE_PROXY = 0x4200000000000000000000000000000000000010; + address internal constant L2_TO_L1_MESSAGE_PASSER = 0x4200000000000000000000000000000000000016; +} + +abstract contract AddressHelperFraxtalL2 is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0xFc00000000000000000000000000000000000001, "Constants.FXTL_FRAX"); + vm.label(0xFc00000000000000000000000000000000000002, "Constants.FXTL_FXS"); + vm.label(0xFc00000000000000000000000000000000000003, "Constants.FXTL_FPI"); + vm.label(0xfc00000000000000000000000000000000000004, "Constants.FXTL_FPIS"); + vm.label(0xFC00000000000000000000000000000000000005, "Constants.FXTL_SFRXETH"); + vm.label(0xFC00000000000000000000000000000000000006, "Constants.FXTL_WFRXETH"); + vm.label(0xfC00000000000000000000000000000000000007, "Constants.FXTL_FRXBTC"); + vm.label(0xfc00000000000000000000000000000000000008, "Constants.FXTL_SFRAX"); + vm.label(0xFc00000000000000000000000000000000000001, "Constants.FXTL_FRAX_PROXY"); + vm.label(0xFc00000000000000000000000000000000000002, "Constants.FXTL_FXS_PROXY"); + vm.label(0xFc00000000000000000000000000000000000003, "Constants.FXTL_FPI_PROXY"); + vm.label(0xfc00000000000000000000000000000000000004, "Constants.FXTL_FPIS_PROXY"); + vm.label(0xFC00000000000000000000000000000000000005, "Constants.FXTL_SFRXETH_PROXY"); + vm.label(0xFC00000000000000000000000000000000000006, "Constants.FXTL_WFRXETH_PROXY"); + vm.label(0xfC00000000000000000000000000000000000007, "Constants.FXTL_FRXBTC_PROXY"); + vm.label(0xfc00000000000000000000000000000000000008, "Constants.FXTL_SFRAX_PROXY"); + vm.label(0x95AB2a2F6e701873cEA0070dAc735589D089f6Bc, "Constants.FXTL_CONVEX_SQUID_WFRXETH_FRAXTAL"); + vm.label(0xCe70630b4b2E889AdC558b58B2980437f58003D4, "Constants.FXTL_FLE_FRAX_FXS_FRAXTAL"); + vm.label(0x7A6BE195f9931341c1f4c4230fc48F8B9b9dE91b, "Constants.FXTL_FLE_FXS_WFRXETH_FRAXTAL"); + vm.label(0x7b8848f10A016341c9B2427e8541C19F31C2D243, "Constants.FXTL_FRAXSWAP_V2_FRAX_FPI_FRAXTAL"); + vm.label(0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25, "Constants.FXTL_FRAXSWAP_V2_FRAX_FXS_FRAXTAL"); + vm.label(0xe402a39F788f90607A50254fAf56316E6a78231A, "Constants.FXTL_FRAXSWAP_V2_FRAX_SFRXETH_FRAXTAL"); + vm.label(0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7, "Constants.FXTL_FRAXSWAP_V2_FRAX_WFRXETH_FRAXTAL"); + vm.label(0x00a5b34d4b436E3276695a1EaA8242FA2FC11dC5, "Constants.FXTL_FXB_TIMED_LOCKER_20261231"); + vm.label(0x8e9C334afc76106F08E0383907F4Fca9bB10BA3e, "Constants.FXTL_FXB_20261231"); + vm.label(0xa71bB8c79dc8FfA90A6Dd711aA9Fbe5114c19cba, "Constants.FXTL_FXB_20241231"); + vm.label(0x758094A71a39De49626FE25B86631ED944558653, "Constants.FXTL_FXB_20240630"); + vm.label( + 0x00160baF84b3D2014837cc12e838ea399f8b8478, + "Constants.FXTL_FRAXFERRY_V2__ETHEREUM_FRAXTAL__FRAX__FXTL_SIDE" + ); + vm.label( + 0x24e927daC110Aab7189a4F864d41680e4F7865FB, + "Constants.FXTL_FRAXFERRY_V2__ETHEREUM_FRAXTAL__FXS__FXTL_SIDE" + ); + vm.label( + 0xEcf63fd1A839fF54949eB786693237bEEC59C6e7, + "Constants.FXTL_FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPI__FXTL_SIDE" + ); + vm.label( + 0xcD3A040f05769d7628582B403063e61B7D212F91, + "Constants.FXTL_FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPIS__FXTL_SIDE" + ); + vm.label( + 0x67c6A8A715fc726ffD0A40588701813d9eC04d9C, + "Constants.FXTL_FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRXETH__FXTL_SIDE" + ); + vm.label( + 0x08Be8BaAb62fB0A363f38C82Ee2320A36b72f2DB, + "Constants.FXTL_FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRAX__FXTL_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.FXTL_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.FXTL_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.FXTL_CREWMEMBER"); + vm.label(0xA6cBe9aB6075d8b1049Db7528f2fCf22FC7d051B, "Constants.FXTL_CHAINLINK_ETH_USD_ORACLE"); + vm.label(0x0eD01ea3B95e0f68DF2c9CD67F138ff3547b311C, "Constants.FXTL_CIRCUIT_BREAKER_ADDRESS"); + vm.label(0x4C3B0e85CD8C12E049E07D9a4d68C441196E6a12, "Constants.FXTL_FRAXLEND_DEPLOYER_V4"); + vm.label(0x31562ae726AFEBe25417df01bEdC72EF489F45b3, "Constants.FXTL_FRAXLEND_HOT_WALLET"); + vm.label(0x8c22EBc8f9B96cEac97EA21c53F3B27ef2F45e57, "Constants.FXTL_FRAXLEND_PAIR_REGISTRY_ADDRESS"); + vm.label(0x64F85076665dcE1FbEfC23391b8BFB2595c250f6, "Constants.FXTL_FRAXLEND_WHITELIST_ADDRESS"); + vm.label(0x4200000000000000000000000000000000000015, "Constants.FXTL_FRAXTAL_BLOCKHASH_PROVIDER"); + vm.label(0x9990eb28E58380122AA3AdF64ea6f874df51114C, "Constants.FXTL_FRAXTAL_MERKLE_PRICE_SOURCE"); + vm.label(0xeD403d48e2bC946438B5686AA1AD65056Ccf9512, "Constants.FXTL_FRAXTAL_STATE_ROOT_ORACLE"); + vm.label(0x4b0Ca693e29e5FD2AA39332a0387BBCD0f91a527, "Constants.FXTL_FRXETH_DUAL_ORACLE_REDSTONE"); + vm.label(0x1A60b40601Bb5AA192389b05F80A7BeAde6d77d7, "Constants.FXTL_FXB_20240630_ORACLE"); + vm.label(0x01480a0C134CeCC309015a564C7e292ba6E0F358, "Constants.FXTL_FXB_20241231_ORACLE"); + vm.label(0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3, "Constants.FXTL_FXB_20261231_ORACLE"); + vm.label(0x3FdA3e9E78EAcd7381F1ED2CF145B93537878c1f, "Constants.FXTL_FXB_VARIABLE_RATE_2"); + vm.label(0xB99c9d329Bd69dDf8AF57110e011F5D81801c6d2, "Constants.FXTL_FXS_DUAL_ORACLE_REDSTONE"); + vm.label(0x1010E24A2F0e6954c6456Bf925764eCc8577Fa2c, "Constants.FXTL_SFRAX_SFRXETH_INVERSE_ORACLE_REDSTONE"); + vm.label(0xfbcDf41Cc692ed529b9a8cC1A5867B9524FD0164, "Constants.FXTL_SFRXETH_DUAL_ORACLE_REDSTONE"); + vm.label(0xc16068d1ca7E24E20e56bB70af4D00D92AA4f0b2, "Constants.FXTL_TIMELOCK_ADDRESS"); + vm.label(0xFA7207F02ba29Cd122A9d49ce96F6cA7707A1652, "Constants.FXTL_VARIABLE_RATE_2_ADDRESS"); + vm.label(0x3Fdb6BC356dAD0D7260E9619efa125409a08C3B2, "Constants.FXTL_VARIABLE_RATE_2_ADDRESS_50"); + vm.label(0x032578d99b1070682a5E171012BE1756a50a17d4, "Constants.FXTL_FRAXLEND_PAIR_FXB12312026_FRAX"); + vm.label(0x6154334A7D0E7f5f0479599D15F462B200C721E1, "Constants.FXTL_FRAXLEND_PAIR_FXB12312024_FRAX"); + vm.label(0x57b709e214B239821A78dFCF09c89f52bA3D80aD, "Constants.FXTL_FRAXLEND_PAIR_FXB06302024"); + vm.label(0x4F968317721B9c300afBff3FD37365637318271D, "Constants.FXTL_FRAXLEND_PAIR_SFRXETH_FRAX"); + vm.label(0x8EdA613EC96992D3C42BCd9aC2Ae58a92929Ceb2, "Constants.FXTL_FRAXLEND_PAIR_FXS_FRAX"); + vm.label(0xB71E4829e81f72f7F36A0d858e58109f5948A713, "Constants.FXTL_FRAXLEND_PAIR_SFRAX_SFRXETH"); + vm.label(0xfdE8C36F32Bf32e73A1bdeb4ef3E17709674a838, "Constants.FXTL_SDAI_ERC4626_ORACLE"); + vm.label(0xf3E3E2a376939bfF87e9cac84e0E5A35e495417a, "Constants.FXTL_SDAI_ORACLE_MERKLE_PRICE_SOURCE"); + vm.label(0xF750636E1df115e3B334eD06E5b45c375107FC60, "Constants.FXTL_SFRAX_ERC4626_ORACLE"); + vm.label(0xe7C6385Cf5d4Ea61774A56E3aeaf60a09fC8E1d5, "Constants.FXTL_SFRAX_MERKLE_PRICE_SOURCE"); + vm.label(0xe7C6385Cf5d4Ea61774A56E3aeaf60a09fC8E1d5, "Constants.FXTL_SFRXETH_ERC4626_ORACLE"); + vm.label(0xa560E014501f96752726f65c27E96C3e9127Ce32, "Constants.FXTL_SFRXETH_MERKLE_PRICE_SOURCE"); + vm.label(0xd295936C8Bb465ADd1eC756a51698127CB4F4910, "Constants.FXTL_SUSDE_ERC4626_ORACLE"); + vm.label(0xc2B984E37D1CAf5Eef82D9D892287361058955E9, "Constants.FXTL_SUSDE_MERKLE_PRICE_SOURCE"); + vm.label(0xE30521fe7f3bEB6Ad556887b50739d6C7CA667E6, "Constants.FXTL_FRAXSWAP_FACTORY"); + vm.label(0x78d264E25781f31343352A0f91875B655c79B843, "Constants.FXTL_FRAXSWAP_FRAX_FPIS_PAIR"); + vm.label(0x7b8848f10A016341c9B2427e8541C19F31C2D243, "Constants.FXTL_FRAXSWAP_FRAX_FPI_FARM"); + vm.label(0x0EFFABede4e31101DE5209096611D073981A817b, "Constants.FXTL_FRAXSWAP_FRAX_FPI_PAIR"); + vm.label(0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25, "Constants.FXTL_FRAXSWAP_FRAX_FXS_FARM"); + vm.label(0xb4dA8dA10ffF1F6127ab71395053Aa1d499b503F, "Constants.FXTL_FRAXSWAP_FRAX_FXS_PAIR"); + vm.label(0xe402a39F788f90607A50254fAf56316E6a78231A, "Constants.FXTL_FRAXSWAP_FRAX_SFRXETH_FARM"); + vm.label(0xEBD293F2173082320d88533316F5964298dE316E, "Constants.FXTL_FRAXSWAP_FRAX_SFRXETH_PAIR"); + vm.label(0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7, "Constants.FXTL_FRAXSWAP_FRAX_WFRXETH_FARM"); + vm.label(0x39cd4db6460d8B5961F73E997E86DdbB7Ca4D5F6, "Constants.FXTL_FRAXSWAP_ROUTER"); + vm.label(0x67E04873691258950299Bd8610403D69bA0A1e10, "Constants.FXTL_FRAXSWAP_ROUTER_MULTIHOP"); + vm.label(0x4527bcEd9d41706D1436507e9a6e354d3FF44ff9, "Constants.FXTL_FRAXSWAP_WFRX_ETH_PAIR"); + vm.label(0x219356ef2f11a314Dd0D8bfd7f4B0B951Cb16c3a, "Constants.FXTL_BALANCE_CHECKER"); + vm.label(0x098c837FeF2e146e96ceAF58A10F68Fc6326DC4C, "Constants.FXTL_DELEGATION_REGISTRY"); + vm.label(0x437E9F65cA234eCfed12149109587139d435AD35, "Constants.FXTL_FPIS_LOCKER_PROXY"); + vm.label(0x2b72DF3116cEb8E8a7391024f69A0BfF2718389D, "Constants.FXTL_FPIS_LOCKER_IMPL"); + vm.label(0x9E461cF6773F168A991A7aD73E2aD89ecD737745, "Constants.FXTL_FPIS_LOCKER_UTILS"); + vm.label(0xaB4b7c5C9A7C8EbB97877085A6C3550ad4Ed3f97, "Constants.FXTL_FRAXTAL_POINTS_FXTL"); + vm.label(0xBFc4D34Db83553725eC6c768da71D2D9c1456B55, "Constants.FXTL_SFRAX_ERC4626_MINT_REDEEMER_PROXY"); + vm.label(0x0aF57786D6B2447EA2E04F9FAB36a239c2E8C9d5, "Constants.FXTL_SFRAX_ERC4626_MINT_REDEEMER_IMPL"); + vm.label(0x00160baF84b3D2014837cc12e838ea399f8b8478, "Constants.FXTL_FRAXFERRY_ETHEREUM_FRAX"); + vm.label(0x24e927daC110Aab7189a4F864d41680e4F7865FB, "Constants.FXTL_FRAXFERRY_ETHEREUM_FXS"); + vm.label(0xEcf63fd1A839fF54949eB786693237bEEC59C6e7, "Constants.FXTL_FRAXFERRY_ETHEREUM_FPI"); + vm.label(0xcD3A040f05769d7628582B403063e61B7D212F91, "Constants.FXTL_FRAXFERRY_ETHEREUM_FPIS"); + vm.label(0x67c6A8A715fc726ffD0A40588701813d9eC04d9C, "Constants.FXTL_FRAXFERRY_ETHEREUM_SFRXETH"); + vm.label(0x08Be8BaAb62fB0A363f38C82Ee2320A36b72f2DB, "Constants.FXTL_FRAXFERRY_ETHEREUM_SFRAX"); + vm.label(0x4200000000000000000000000000000000000015, "Constants.FXTL_BLOCKHASH_PROVIDER"); + vm.label(0xeD403d48e2bC946438B5686AA1AD65056Ccf9512, "Constants.FXTL_STATE_ROOT_ORACLE"); + vm.label(0x9990eb28E58380122AA3AdF64ea6f874df51114C, "Constants.FXTL_MERKLE_PRICE_SOURCE"); + vm.label(0x4AD728706bFe28A3F090b3f1D8Ac3A8515805B41, "Constants.FXTL_CHAINLINK_MERKLE_PRICE_SOURCE"); + vm.label(0xEE095b7d9191603126Da584a1179BB403a027c3A, "Constants.FXTL_SFRXETH_L2_RATE_ORACLE"); + vm.label(0x1B680F4385f24420D264D78cab7C58365ED3F1FF, "Constants.FXTL_SFRAX_L2_RATE_ORACLE"); + vm.label(0xfdE8C36F32Bf32e73A1bdeb4ef3E17709674a838, "Constants.FXTL_SDAI_L2_RATE_ORACLE"); + vm.label(0xd295936C8Bb465ADd1eC756a51698127CB4F4910, "Constants.FXTL_SUSDE_L2_RATE_ORACLE"); + vm.label(0x8865435777730eAAbAAF2d1F55F115a87AbCf91A, "Constants.FXTL_SFRXETH_L2_RATE_ORACLE_OLD"); + vm.label(0xF750636E1df115e3B334eD06E5b45c375107FC60, "Constants.FXTL_SFRAX_L2_RATE_ORACLE_OLD"); + vm.label(0xf3E3E2a376939bfF87e9cac84e0E5A35e495417a, "Constants.FXTL_FRAXTAL_SDAI_MERKLE_PRICE_SOURCE"); + vm.label(0xE25D8aaa6dF41B94A415EE39cCEE0DF6673B9bDb, "Constants.FXTL_FRAXTAL_SFRAX_MERKLE_PRICE_SOURCE"); + vm.label(0xabca0b314d15B3e28F24AC0ee84A63001d1b44Db, "Constants.FXTL_FRAXTAL_SFRXETH_MERKLE_PRICE_SOURCE"); + vm.label(0xc2B984E37D1CAf5Eef82D9D892287361058955E9, "Constants.FXTL_FRAXTAL_SUSDE_MERKLE_PRICE_SOURCE"); + vm.label(0xe7C6385Cf5d4Ea61774A56E3aeaf60a09fC8E1d5, "Constants.FXTL_FRAXTAL_SFRAX_MERKLE_PRICE_SOURCE_OLD"); + vm.label(0xa560E014501f96752726f65c27E96C3e9127Ce32, "Constants.FXTL_FRAXTAL_SFRXETH_MERKLE_PRICE_SOURCE_OLD"); + vm.label(0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6, "Constants.FXTL_L1VEFXS_IMPLEMENTATION_OWNER"); + vm.label(0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6, "Constants.FXTL_L1VEFXS_PROXY_ADMIN_OWNER"); + vm.label(0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F, "Constants.FXTL_L1VEFXS_PROXY_ADMIN"); + vm.label(0xBDB5088A8e89e9ec83e82caA01EC20Ed976459eD, "Constants.FXTL_L1VEFXS_IMPL_V1"); + vm.label(0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F, "Constants.FXTL_L1VEFXS_PROXY"); + vm.label(0xaBBeFFb0d24EAcFFD3Be194471F0FD8aaaa3e5f8, "Constants.FXTL_L1VEFXS_TOTAL_SUPPLY_ORACLE"); + vm.label(0x55271b0d4DaC2664Fa9d44F8cccd89A3e6342313, "Constants.FXTL_FXB_AMO"); + vm.label( + 0x111ddab65Af5fF96b674400246699ED40F550De1, + "Constants.FXTL_OPTIMISM_MINTABLE_PERMIT_ERC20_FACTORY_IMPL_V1" + ); + vm.label(0x691d1AaFB550c35B24e09bb991AEC9612342eD93, "Constants.FXTL_VEFXS_YIELD_DISTRIBUTOR_IMPL_V1"); + vm.label(0x39333a540bbea6262e405E1A6d435Bd2e776561E, "Constants.FXTL_VEFXS_YIELD_DISTRIBUTOR_PROXY_V1"); + vm.label(0x21359d1697e610e25C8229B2C57907378eD09A2E, "Constants.FXTL_YIELD_DISTRIBUTOR_PROXY"); + vm.label(0x08de0C3BCBa9529fe59FA4e4593805Bd55A54B0B, "Constants.FXTL_YIELD_DISTRIBUTOR_IMPL"); + vm.label(0xC540f05BF5a09336078634D65E46242DFBa55030, "Constants.FXTL_VESTEDFXS_UTILS"); + vm.label(0x54bd5c72645fed784C117cA83533e0584b24Ee5c, "Constants.FXTL_VESTEDFXS_IMPL_V1"); + vm.label(0x007FD070a7E1B0fA1364044a373Ac1339bAD89CF, "Constants.FXTL_VESTEDFXS_PROXY"); + vm.label(0x176A4e081653EbB8a2246BAfbfCf663782426531, "Constants.FXTL_VEFXS_AGGREGATOR_PROXY"); + vm.label(0xF9Ca1Dc83B16C72b3359CEcD1d3Fc96d80dC4Fa6, "Constants.FXTL_VEFXS_AGGREGATOR_IMPL"); + vm.label(0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6, "Constants.FXTL_COMPTROLLERS"); + vm.label(0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE, "Constants.FXTL_PROPOSER_MULTI_SIG"); + vm.label(0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE, "Constants.FXTL_GOV_PROPOSER_MSIG"); + vm.label(0x29FF8F9ACb27727D8A2A52D16091c12ea56E9E4d, "Constants.FXTL_CVXSQUIDWFRXETH"); + vm.label(0x29FF8F9ACb27727D8A2A52D16091c12ea56E9E4d, "Constants.FXTL_CVXSQUIDWFRXETH_REWARDER"); + vm.label(0x277FA53c8a53C880E0625c92C92a62a9F60f3f04, "Constants.FXTL_SQUIDWFRXETH"); + vm.label(0xe5E5ed1B50AE33E66ca69dF17Aa6381FDe4e9C7e, "Constants.FXTL_SQUIDWFRXETH_GAUGE"); + vm.label(0x277FA53c8a53C880E0625c92C92a62a9F60f3f04, "Constants.FXTL_SQUIDWFRXETH_POOL"); + vm.label(0x4200000000000000000000000000000000000007, "Constants.FXTL_CROSS_DOMAIN_MESSENGER"); + vm.label(0x4200000000000000000000000000000000000012, "Constants.FXTL_ERC20_FACTORY_PROXY"); + vm.label(0x4200000000000000000000000000000000000010, "Constants.FXTL_L2_STANDARD_BRIDGE_PROXY"); + vm.label(0x4200000000000000000000000000000000000016, "Constants.FXTL_L2_TO_L1_MESSAGE_PASSER"); + } +} diff --git a/src/contracts/chain-constants/FraxtalL2Devnet.sol b/src/contracts/chain-constants/FraxtalL2Devnet.sol new file mode 100644 index 0000000..c4e0fec --- /dev/null +++ b/src/contracts/chain-constants/FraxtalL2Devnet.sol @@ -0,0 +1,47 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library FraxtalL2Devnet { + address internal constant FRAX = 0xFc00000000000000000000000000000000000001; + address internal constant FXS = 0xFc00000000000000000000000000000000000002; + address internal constant FPI = 0xFc00000000000000000000000000000000000003; + address internal constant FPIS = 0xfc00000000000000000000000000000000000004; + address internal constant FRXBTC = 0xfC00000000000000000000000000000000000007; + address internal constant WFRXETH = 0xFC00000000000000000000000000000000000006; + address internal constant SFRXETH = 0xFC00000000000000000000000000000000000005; + address internal constant SFRAX = 0xfc00000000000000000000000000000000000008; + uint256 internal constant CHAIN_ID = 2521; + address internal constant PROXY_ADMIN = 0xfC00000000000000000000000000000000000009; + address internal constant COMPTROLLER = 0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160; + address internal constant CROSS_DOMAIN_MESSENGER = 0x4200000000000000000000000000000000000007; + address internal constant ERC20_FACTORY_PROXY = 0x4200000000000000000000000000000000000012; + address internal constant L2_STANDARD_BRIDGE_PROXY = 0x4200000000000000000000000000000000000010; + address internal constant L2_TO_L1_MESSAGE_PASSER = 0x4200000000000000000000000000000000000016; +} + +abstract contract AddressHelperFraxtalL2Devnet is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0xFc00000000000000000000000000000000000001, "Constants.FXTL_L2_DN_FRAX"); + vm.label(0xFc00000000000000000000000000000000000002, "Constants.FXTL_L2_DN_FXS"); + vm.label(0xFc00000000000000000000000000000000000003, "Constants.FXTL_L2_DN_FPI"); + vm.label(0xfc00000000000000000000000000000000000004, "Constants.FXTL_L2_DN_FPIS"); + vm.label(0xfC00000000000000000000000000000000000007, "Constants.FXTL_L2_DN_FRXBTC"); + vm.label(0xFC00000000000000000000000000000000000006, "Constants.FXTL_L2_DN_WFRXETH"); + vm.label(0xFC00000000000000000000000000000000000005, "Constants.FXTL_L2_DN_SFRXETH"); + vm.label(0xfc00000000000000000000000000000000000008, "Constants.FXTL_L2_DN_SFRAX"); + vm.label(0xfC00000000000000000000000000000000000009, "Constants.FXTL_L2_DN_PROXY_ADMIN"); + vm.label(0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160, "Constants.FXTL_L2_DN_COMPTROLLER"); + vm.label(0x4200000000000000000000000000000000000007, "Constants.FXTL_L2_DN_CROSS_DOMAIN_MESSENGER"); + vm.label(0x4200000000000000000000000000000000000012, "Constants.FXTL_L2_DN_ERC20_FACTORY_PROXY"); + vm.label(0x4200000000000000000000000000000000000010, "Constants.FXTL_L2_DN_L2_STANDARD_BRIDGE_PROXY"); + vm.label(0x4200000000000000000000000000000000000016, "Constants.FXTL_L2_DN_L2_TO_L1_MESSAGE_PASSER"); + } +} diff --git a/src/contracts/chain-constants/FraxtalTestnetL1.sol b/src/contracts/chain-constants/FraxtalTestnetL1.sol new file mode 100644 index 0000000..b1daff3 --- /dev/null +++ b/src/contracts/chain-constants/FraxtalTestnetL1.sol @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library FraxtalTestnetL1 { + uint256 internal constant CHAIN_ID = 17_000; + address internal constant PROXY_ADMIN = 0xA0c6294D524f56fF9BdAeE94b69064c529cB9a1e; + address internal constant COMPTROLLER = 0x88699c59E413e8A47117820D15d8D33b09B21edD; + address internal constant ADDRESS_MANAGER = 0x6C52d1f7aAdD1F27aaa6A9e228CE0312E3CB09A6; + address internal constant L1_CROSS_DOMAIN_MESSENGER_PROXY = 0x45A98115D5722C6cfC48D711e0053758E7C0b8ad; + address internal constant L1_ERC721_BRIDGE_PROXY = 0x0301A6b26a37566d3DCebC7fC4c2143B426bBf53; + address internal constant L1_STANDARD_BRIDGE_PROXY = 0x0BaafC217162f64930909aD9f2B27125121d6332; + address internal constant L2_OUTPUT_ORACLE_PROXY = 0x715EA64DA13F4d0831ece4Ad3E8c1aa013167F32; + address internal constant OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = 0x740fAfe2383F736d0Bd1a042E50fE15dDa2726C6; + address internal constant OPTIMISM_PORTAL_PROXY = 0xB9c64BfA498d5b9a8398Ed6f46eb76d90dE5505d; + address internal constant SYSTEM_CONFIG_PROXY = 0x570Bf63A187776A19a44E6D1e055E3da65C1E3Db; +} + +abstract contract AddressHelperFraxtalTestnetL1 is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0xA0c6294D524f56fF9BdAeE94b69064c529cB9a1e, "Constants.FXTL_TN_L1_PROXY_ADMIN"); + vm.label(0x88699c59E413e8A47117820D15d8D33b09B21edD, "Constants.FXTL_TN_L1_COMPTROLLER"); + vm.label(0x6C52d1f7aAdD1F27aaa6A9e228CE0312E3CB09A6, "Constants.FXTL_TN_L1_ADDRESS_MANAGER"); + vm.label(0x45A98115D5722C6cfC48D711e0053758E7C0b8ad, "Constants.FXTL_TN_L1_L1_CROSS_DOMAIN_MESSENGER_PROXY"); + vm.label(0x0301A6b26a37566d3DCebC7fC4c2143B426bBf53, "Constants.FXTL_TN_L1_L1_ERC721_BRIDGE_PROXY"); + vm.label(0x0BaafC217162f64930909aD9f2B27125121d6332, "Constants.FXTL_TN_L1_L1_STANDARD_BRIDGE_PROXY"); + vm.label(0x715EA64DA13F4d0831ece4Ad3E8c1aa013167F32, "Constants.FXTL_TN_L1_L2_OUTPUT_ORACLE_PROXY"); + vm.label( + 0x740fAfe2383F736d0Bd1a042E50fE15dDa2726C6, + "Constants.FXTL_TN_L1_OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY" + ); + vm.label(0xB9c64BfA498d5b9a8398Ed6f46eb76d90dE5505d, "Constants.FXTL_TN_L1_OPTIMISM_PORTAL_PROXY"); + vm.label(0x570Bf63A187776A19a44E6D1e055E3da65C1E3Db, "Constants.FXTL_TN_L1_SYSTEM_CONFIG_PROXY"); + } +} diff --git a/src/contracts/chain-constants/FraxtalTestnetL2.sol b/src/contracts/chain-constants/FraxtalTestnetL2.sol new file mode 100644 index 0000000..7f2470f --- /dev/null +++ b/src/contracts/chain-constants/FraxtalTestnetL2.sol @@ -0,0 +1,49 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library FraxtalTestnetL2 { + uint256 internal constant CHAIN_ID = 2522; + address internal constant FRAX = 0xFc00000000000000000000000000000000000001; + address internal constant FXS = 0xFc00000000000000000000000000000000000002; + address internal constant FPI = 0xFc00000000000000000000000000000000000003; + address internal constant FPIS = 0xfc00000000000000000000000000000000000004; + address internal constant SFRXETH = 0xFC00000000000000000000000000000000000005; + address internal constant WFRXETH = 0xFC00000000000000000000000000000000000006; + address internal constant FRAXSWAP_FACTORY = 0xbc679bdd1bA59654bD50DEB03fd80dC97c713fF2; + address internal constant FRAXSWAP_ROUTER = 0x938d99A81814f66b01010d19DDce92A633441699; + address internal constant FRAXSWAP_ROUTER_MULTIHOP = 0x509728dC748586214Fa30cEF61359f136523F24d; + address internal constant COMPTROLLER = 0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160; + address internal constant PROXY_ADMIN = 0xfC00000000000000000000000000000000000007; + address internal constant CROSS_DOMAIN_MESSENGER = 0x4200000000000000000000000000000000000007; + address internal constant ERC20_FACTORY_PROXY = 0x4200000000000000000000000000000000000012; + address internal constant L2_STANDARD_BRIDGE_PROXY = 0x4200000000000000000000000000000000000010; + address internal constant L2_TO_L1_MESSAGE_PASSER = 0x4200000000000000000000000000000000000016; +} + +abstract contract AddressHelperFraxtalTestnetL2 is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0xFc00000000000000000000000000000000000001, "Constants.FXTL_TN_L2_FRAX"); + vm.label(0xFc00000000000000000000000000000000000002, "Constants.FXTL_TN_L2_FXS"); + vm.label(0xFc00000000000000000000000000000000000003, "Constants.FXTL_TN_L2_FPI"); + vm.label(0xfc00000000000000000000000000000000000004, "Constants.FXTL_TN_L2_FPIS"); + vm.label(0xFC00000000000000000000000000000000000005, "Constants.FXTL_TN_L2_SFRXETH"); + vm.label(0xFC00000000000000000000000000000000000006, "Constants.FXTL_TN_L2_WFRXETH"); + vm.label(0xbc679bdd1bA59654bD50DEB03fd80dC97c713fF2, "Constants.FXTL_TN_L2_FRAXSWAP_FACTORY"); + vm.label(0x938d99A81814f66b01010d19DDce92A633441699, "Constants.FXTL_TN_L2_FRAXSWAP_ROUTER"); + vm.label(0x509728dC748586214Fa30cEF61359f136523F24d, "Constants.FXTL_TN_L2_FRAXSWAP_ROUTER_MULTIHOP"); + vm.label(0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160, "Constants.FXTL_TN_L2_COMPTROLLER"); + vm.label(0xfC00000000000000000000000000000000000007, "Constants.FXTL_TN_L2_PROXY_ADMIN"); + vm.label(0x4200000000000000000000000000000000000007, "Constants.FXTL_TN_L2_CROSS_DOMAIN_MESSENGER"); + vm.label(0x4200000000000000000000000000000000000012, "Constants.FXTL_TN_L2_ERC20_FACTORY_PROXY"); + vm.label(0x4200000000000000000000000000000000000010, "Constants.FXTL_TN_L2_L2_STANDARD_BRIDGE_PROXY"); + vm.label(0x4200000000000000000000000000000000000016, "Constants.FXTL_TN_L2_L2_TO_L1_MESSAGE_PASSER"); + } +} diff --git a/src/contracts/chain-constants/Holesky.sol b/src/contracts/chain-constants/Holesky.sol new file mode 100644 index 0000000..44ad698 --- /dev/null +++ b/src/contracts/chain-constants/Holesky.sol @@ -0,0 +1,69 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library Holesky { + uint256 internal constant CHAIN_ID = 17_000; + address internal constant FRAX = 0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E; + address internal constant FXS = 0x4e7300F74F59AFaEcCdc0d434758Df9be238F0BF; + address internal constant FPI = 0xfBCB0F967817c924f83e26e04F0FB28ED4d6276F; + address internal constant FPIS = 0x0363a32D18c25a3FD19a0d00B02106C03d8b8182; + address internal constant FRXETH = 0x17845EA6a9BfD2caF1b9E558948BB4999dF2656e; + address internal constant SFRXETH = 0xa63f56985F9C7F3bc9fFc5685535649e0C1a55f3; + address internal constant FPI_ERC20 = 0xfBCB0F967817c924f83e26e04F0FB28ED4d6276F; + address internal constant FPIS_ERC20 = 0x0363a32D18c25a3FD19a0d00B02106C03d8b8182; + address internal constant FRAX_ERC20 = 0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E; + address internal constant FXS_ERC20 = 0x4e7300F74F59AFaEcCdc0d434758Df9be238F0BF; + address internal constant SFRXETH_ERC20 = 0xa63f56985F9C7F3bc9fFc5685535649e0C1a55f3; + address internal constant FRXETH_ERC20 = 0x17845EA6a9BfD2caF1b9E558948BB4999dF2656e; + address internal constant ADDRESS_MANAGER = 0x6C52d1f7aAdD1F27aaa6A9e228CE0312E3CB09A6; + address internal constant FRAXTAL_COMPTROLLER = 0x88699c59E413e8A47117820D15d8D33b09B21edD; + address internal constant L1_CROSS_DOMAIN_MESSENGER_PROXY = 0x45A98115D5722C6cfC48D711e0053758E7C0b8ad; + address internal constant L1_ERC721_BRIDGE_PROXY = 0x0301A6b26a37566d3DCebC7fC4c2143B426bBf53; + address internal constant L1_STANDARD_BRIDGE_PROXY = 0x0BaafC217162f64930909aD9f2B27125121d6332; + address internal constant L2_OUTPUT_ORACLE_PROXY = 0x715EA64DA13F4d0831ece4Ad3E8c1aa013167F32; + address internal constant OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = 0x740fAfe2383F736d0Bd1a042E50fE15dDa2726C6; + address internal constant OPTIMISM_PORTAL_PROXY = 0xB9c64BfA498d5b9a8398Ed6f46eb76d90dE5505d; + address internal constant PROTOCOL_VERSIONS_PROXY = 0x0D2d3D6540638291C50db5521527d4115c8eddB7; + address internal constant PROXY_ADMIN = 0xA0c6294D524f56fF9BdAeE94b69064c529cB9a1e; + address internal constant SUPERCHAIN_CONFIG_PROXY = 0x089065000De745708B5EE76Be5dF236Eb6453b82; + address internal constant SYSTEM_CONFIG_PROXY = 0x570Bf63A187776A19a44E6D1e055E3da65C1E3Db; + address internal constant FRXETH_MINTER = 0x5E8422345238F34275888049021821E8E08CAa1f; +} + +abstract contract AddressHelperHolesky is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E, "Constants.HOLESKY_FRAX"); + vm.label(0x4e7300F74F59AFaEcCdc0d434758Df9be238F0BF, "Constants.HOLESKY_FXS"); + vm.label(0xfBCB0F967817c924f83e26e04F0FB28ED4d6276F, "Constants.HOLESKY_FPI"); + vm.label(0x0363a32D18c25a3FD19a0d00B02106C03d8b8182, "Constants.HOLESKY_FPIS"); + vm.label(0x17845EA6a9BfD2caF1b9E558948BB4999dF2656e, "Constants.HOLESKY_FRXETH"); + vm.label(0xa63f56985F9C7F3bc9fFc5685535649e0C1a55f3, "Constants.HOLESKY_SFRXETH"); + vm.label(0xfBCB0F967817c924f83e26e04F0FB28ED4d6276F, "Constants.HOLESKY_FPI_ERC20"); + vm.label(0x0363a32D18c25a3FD19a0d00B02106C03d8b8182, "Constants.HOLESKY_FPIS_ERC20"); + vm.label(0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E, "Constants.HOLESKY_FRAX_ERC20"); + vm.label(0x4e7300F74F59AFaEcCdc0d434758Df9be238F0BF, "Constants.HOLESKY_FXS_ERC20"); + vm.label(0xa63f56985F9C7F3bc9fFc5685535649e0C1a55f3, "Constants.HOLESKY_SFRXETH_ERC20"); + vm.label(0x17845EA6a9BfD2caF1b9E558948BB4999dF2656e, "Constants.HOLESKY_FRXETH_ERC20"); + vm.label(0x6C52d1f7aAdD1F27aaa6A9e228CE0312E3CB09A6, "Constants.HOLESKY_ADDRESS_MANAGER"); + vm.label(0x88699c59E413e8A47117820D15d8D33b09B21edD, "Constants.HOLESKY_FRAXTAL_COMPTROLLER"); + vm.label(0x45A98115D5722C6cfC48D711e0053758E7C0b8ad, "Constants.HOLESKY_L1_CROSS_DOMAIN_MESSENGER_PROXY"); + vm.label(0x0301A6b26a37566d3DCebC7fC4c2143B426bBf53, "Constants.HOLESKY_L1_ERC721_BRIDGE_PROXY"); + vm.label(0x0BaafC217162f64930909aD9f2B27125121d6332, "Constants.HOLESKY_L1_STANDARD_BRIDGE_PROXY"); + vm.label(0x715EA64DA13F4d0831ece4Ad3E8c1aa013167F32, "Constants.HOLESKY_L2_OUTPUT_ORACLE_PROXY"); + vm.label(0x740fAfe2383F736d0Bd1a042E50fE15dDa2726C6, "Constants.HOLESKY_OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY"); + vm.label(0xB9c64BfA498d5b9a8398Ed6f46eb76d90dE5505d, "Constants.HOLESKY_OPTIMISM_PORTAL_PROXY"); + vm.label(0x0D2d3D6540638291C50db5521527d4115c8eddB7, "Constants.HOLESKY_PROTOCOL_VERSIONS_PROXY"); + vm.label(0xA0c6294D524f56fF9BdAeE94b69064c529cB9a1e, "Constants.HOLESKY_PROXY_ADMIN"); + vm.label(0x089065000De745708B5EE76Be5dF236Eb6453b82, "Constants.HOLESKY_SUPERCHAIN_CONFIG_PROXY"); + vm.label(0x570Bf63A187776A19a44E6D1e055E3da65C1E3Db, "Constants.HOLESKY_SYSTEM_CONFIG_PROXY"); + vm.label(0x5E8422345238F34275888049021821E8E08CAa1f, "Constants.HOLESKY_FRXETH_MINTER"); + } +} diff --git a/src/contracts/chain-constants/Mainnet.sol b/src/contracts/chain-constants/Mainnet.sol new file mode 100644 index 0000000..a827818 --- /dev/null +++ b/src/contracts/chain-constants/Mainnet.sol @@ -0,0 +1,2276 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library Mainnet { + address internal constant FRAX = 0x853d955aCEf822Db058eb8505911ED77F175b99e; + address internal constant FXS = 0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0; + address internal constant FPI = 0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E; + address internal constant FPIS = 0xc2544A32872A91F4A553b404C6950e89De901fdb; + address internal constant FRXETH = 0x5E8422345238F34275888049021821E8E08CAa1f; + address internal constant SFRXETH = 0xac3E018457B222d93114458476f3E3416Abbe38F; + address internal constant SFRAX = 0xA663B02CF0a4b149d2aD41910CB81e23e1c41c32; + address internal constant FRAX_ERC20 = 0x853d955aCEf822Db058eb8505911ED77F175b99e; + address internal constant FXS_ERC20 = 0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0; + address internal constant FRXETH_ERC20 = 0x5E8422345238F34275888049021821E8E08CAa1f; + address internal constant SFRXETH_ERC20 = 0xac3E018457B222d93114458476f3E3416Abbe38F; + address internal constant AAVE_AFRAX = 0x02577b426F223A6B4f2351315A19ecD6F357d65c; + address internal constant ANGLE_FRAX_AGEUR_STAKING = 0xb40432243E4F317cE287398e72Ab8f0312fc2FE8; + address internal constant AURA_FRXETH_PXETH_DEPOSIT = 0x60aaA9b33e712A76F9421E46a75ec47fBDc8d4CB; + address internal constant BALANCER_FRXETH_PXETH_GAUGE_DEPRECATED = 0x1e64E373c143810524BDb1Ac8Dce35977d12e55d; + address internal constant BALANCER_SFRXETH_STETH_RETH_BPT = 0x3F0FB52648Eb3981EA598716b7320081d1c8Ba1a; + address internal constant BUNNI_FRAX_USDC_GAUGE = 0x50B4cDb17D3e10C9BC88b3744F3fD7c25695EEE7; + address internal constant BUNNI_FRXETH_WETH_GAUGE = 0xcbcCBA2FA84606Df153B593dD01c37a50ac8427C; + address internal constant CONVEX_STKCVXAGEURFRAXBP = 0xd1f21322bBDd3586dC1151ADCcaA2684641c2b31; + address internal constant CONVEX_STKCVXALCXFRAXBP = 0xA0657642224Fc53dAB4a3d2069430afe157BEc5D; + address internal constant CONVEX_STKCVXALUSDFRAXBP = 0x711d650Cd10dF656C2c28D375649689f137005fA; + address internal constant CONVEX_STKCVXAPEUSDFRAXBP = 0xa810D1268cEF398EC26095c27094596374262826; + address internal constant CONVEX_STKCVXBADGERFRAXBP = 0x5a92EF27f4baA7C766aee6d751f754EBdEBd9fae; + address internal constant CONVEX_STKCVXBUSDFRAXBP = 0xaCf54f101B86f9e55d35C0674Ebd8C854E5f80e4; + address internal constant CONVEX_STKCVXCLEVUSDFRAXBP = 0x5745506D56b0088f800085b1227B3f1F7d419c89; + address internal constant CONVEX_STKCVXCOILFRAXBP = 0x39cd4db6460d8B5961F73E997E86DdbB7Ca4D5F6; + address internal constant CONVEX_STKCVXCOILFRAXBP_DEPRECATED = 0x94c491e298625b1226a89DDA091B3932c59FAbc1; + address internal constant CONVEX_STKCVXCRVUSDFRAX = 0x67CC47cF82785728DD5E3AE9900873a074328658; + address internal constant CONVEX_STKCVXCVGFRAXBP = 0x1ee8D379e374A4A00e7d79AF4Bf2eD2b591561c2; + address internal constant CONVEX_STKCVXCVXCRVFRAXBP = 0x57c9F019B25AaAF822926f4Cacf0a860f61eDd8D; + address internal constant CONVEX_STKCVXCVXFRAXBP = 0xeC670c5e0A8A8d5ae5639158565D840DE44CA03f; + address internal constant CONVEX_STKCVXCVXFXSFRAXBP = 0x2F9504988675c91787E188Ed928D6E042d9052e9; + address internal constant CONVEX_STKCVXDOLAFRAXBP = 0xE7211E87D60177575846936F2123b5FA6f0ce8Ab; + address internal constant CONVEX_STKCVXDOLAFRAXPYUSD = 0x972d92f4563Ac9581c730A13A47Ae9d6dCdf18b7; + address internal constant CONVEX_STKCVXEUSDFRAXBP = 0x4c9AD8c53d0a001E7fF08a3E5E26dE6795bEA5ac; + address internal constant CONVEX_STKCVXFPIFRAX = 0x0a08673E3d7c454E1c6b27acD059C50Df6727FC9; + address internal constant CONVEX_STKCVXFRAXBP = 0x963f487796d54d2f27bA6F3Fbe91154cA103b199; + address internal constant CONVEX_STKCVXFRAXFPI_NG = 0x7d69b887751Af59fB4b56BC98fcA0234096Eb267; + address internal constant CONVEX_STKCVXFRAXFXB_20240630 = 0x6D54747fC8e32cA1A91bA2fd36aB673bD84E2e7b; + address internal constant CONVEX_STKCVXFRAXFXB_20241231 = 0x9D7eB7Ec34283D93C6677AE30F3983399Ab72A2f; + address internal constant CONVEX_STKCVXFRAXFXB_20261231 = 0x9A95396eC04B55de54859C06fd75dFb8466F4653; + address internal constant CONVEX_STKCVXFRAXPYUSD = 0x18FEFE5Db2D63aCaa8b5520AFde32507216d39e1; + address internal constant CONVEX_STKCVXFRAXSDAI = 0x90EB2F13Acf1bc35c2c40c0EBaff2De4d2Eb0d6b; + address internal constant CONVEX_STKCVXFRAXUSDP = 0x2A5b8C7DFE489CeB00ec80524C0bA0C1b78433A9; + address internal constant CONVEX_STKCVXFRXETHALETH = 0x56790e4A08eD17aa3b7b4B1b23A6a84D731Fd77e; + address internal constant CONVEX_STKCVXFRXETHANKRETH = 0x854B98dC1F76c92b22F75d1f33D23FEb64D8087F; + address internal constant CONVEX_STKCVXFRXETHCBETH = 0x16e55917849aC7fA4341470FA3A22bB503D5cACD; + address internal constant CONVEX_STKCVXFRXETHCRV = 0xDA0622cBa8cC821ee0d4AfA366Df95E948b43297; + address internal constant CONVEX_STKCVXFRXETHCVX = 0xb01BaB994b52A37a231551f00a1B7cAcd43bc8C9; + address internal constant CONVEX_STKCVXFRXETHETH = 0xa537d64881b84faffb9Ae43c951EEbF368b71cdA; + address internal constant CONVEX_STKCVXFRXETHMSETH = 0x2816Ab1F4Db656602b6B0041c006652A4F5D0437; + address internal constant CONVEX_STKCVXFRXETHPETH = 0xD591A551bC1776A7Ce066a5Df7640266afc850bF; + address internal constant CONVEX_STKCVXFRXETHPXETH = 0xC68A0174401AE002D6DbA8C9788C6dF4c807BD52; + address internal constant CONVEX_STKCVXFRXETHRETH = 0x719505cB97DF15565255eb1bDe65586271dB873C; + address internal constant CONVEX_STKCVXFRXETHRETH_STAFI = 0x76CF35aB1450D3A6c84EdDB8A960A5F65B76e706; + address internal constant CONVEX_STKCVXFRXETHSETH = 0xd79Ae34eD6D11A235629A48aeA9F661a241faD4f; + address internal constant CONVEX_STKCVXFRXETHSTETH = 0x68921998fbc43B360D3cF14a03aF4273CB0cFA44; + address internal constant CONVEX_STKCVXFRXETHWETH = 0xB4fdD7444E1d86b2035c97124C46b1528802DA35; + address internal constant CONVEX_STKCVXFRXETHZETH = 0x882B9fad02D1a7436449dcdE9934Eeb9E287909c; + address internal constant CONVEX_STKCVXFRXETHZUNETH = 0xE2E998A68C6f1D10c41884931457B7C302C6fA97; + address internal constant CONVEX_STKCVXGRAIFRAXBP = 0x5684d5566bb438D8Ef7B3C1E5da9450cD19C1b9f; + address internal constant CONVEX_STKCVXGUSDFRAXBP = 0xF0Ffe16810B7f412c52C1610e3BC9819A7Dcb366; + address internal constant CONVEX_STKCVXLUSDFRAXBP = 0xF0A9b6F6593b4Bf96E1Ab13921A8a3FbFd9d4F16; + address internal constant CONVEX_STKCVXMAIFRAXBP = 0xdE5684F85a78F6CcCFFB4b9301ad0944eb5CE3eE; + address internal constant CONVEX_STKCVXMKUSDFRAXBP = 0x95AB2a2F6e701873cEA0070dAc735589D089f6Bc; + address internal constant CONVEX_STKCVXMSUSDFRAXBP = 0xfB2CCc82755A734C53C8B45f260fFc2df026fe87; + address internal constant CONVEX_STKCVXOHMFRAXBP = 0xc96e1a26264D965078bd01eaceB129A65C09FFE7; + address internal constant CONVEX_STKCVXPUSDFRAXBP = 0x40b42E4ab3c044e67CBFb0bD99C9E975dcB83668; + address internal constant CONVEX_STKCVXRSRFRAXBP = 0xF22D3C85e41Ef4b5Ac8Cb8B89a14718e290a0561; + address internal constant CONVEX_STKCVXSDTFRAXBP = 0x9C8d9667d5726aEcA4d24171958BeE9F46861bed; + address internal constant CONVEX_STKCVXSTGFRAXBP = 0xd600A3E4F57E718A7ad6A0cbb10c2A92c57827e6; + address internal constant CONVEX_STKCVXSUSDFRAXBP = 0x560c7668459221e33ED515D1D17c09ECda1996f5; + address internal constant CONVEX_STKCVXSWETHFRXETH = 0x7b8848f10A016341c9B2427e8541C19F31C2D243; + address internal constant CONVEX_STKCVXTRICRYPTOFRAX = 0x5C0238c4C8f13370001632806C87066B90F1E383; + address internal constant CONVEX_STKCVXTRISDT = 0x50Cde910D1f8b6C787b7903d23082542593E0710; + address internal constant CONVEX_STKCVXTUSDFRAXBP = 0xb324b2BD8a3Dc55b04111E84d5cce0c3771F8889; + address internal constant CONVEX_STKCVXUSDDFRAXBP = 0xF7242A1cE383174802818febB36B6eebb56d5BFb; + address internal constant CONVEX_STKCVXUZDFRAXBP = 0xb8ebc210BCF78be8Ef3F09Dd0d8e85Fa5e252e86; + address internal constant CONVEX_STKCVXUZDFRAXBP_DEPRECATED = 0x7838d18AD75372061a1e71e1499b7E90832c1508; + address internal constant CONVEX_STKCVXUZDFRAXBP_DEPRECATED_OLD = 0x7677D1AADcd42dC40E758115FfDE5e1E10B7f30b; + address internal constant CONVEX_STKCVXXAIFRAXBP = 0x4edF7C64dAD8c256f6843AcFe56876024b54A1b6; + address internal constant CONVEX_STKCVXZUSDFRAXBP = 0x107a33019910E57533Ad4F75762d6A958630cA3d; + address internal constant CURVE_FRAX3CRV_F_2 = 0xBBbAf1adf4d39B2843928CCa1E65564e5ce99ccC; + address internal constant DFORCE_FRAX_LENDING_ETHEREUM = 0x71173e3c6999c2C72ccf363f4Ae7b67BCc7E8F63; + address internal constant FLUX_FINANCE_FFRAX = 0x1C9A2d6b33B4826757273D47ebEe0e2DddcD978B; + address internal constant FRAXLEND_V1_FRAX_FXS = 0x73e1e624C6d3E027b8674e6C72F104F1429FC17E; + address internal constant FRAXSWAP_V1_FRAX_IQ = 0x5e15E40A3AA06bECA711EdE9F3F76E1d80C34490; + address internal constant FRAXSWAP_V1_FRAX_IQ_V2 = 0xBF33B67F243a4DAbED494Ff5840f113B2E202a0d; + address internal constant FRAXSWAP_V1_FRAX_IQ_V3 = 0x35678017e1D252dA1CdD6745b147E3e75d1f9C27; + address internal constant FRAXSWAP_V1_FRAX_PITCHFXS = 0x9E66E7811fEacf5402B65021475d1A293f7ea797; + address internal constant FRAXSWAP_V1_FRAX_PITCHFXS_V2 = 0x899Aa575E0e46344D18471f69337663C48b76e35; + address internal constant FRAXSWAP_V1_FRAX_PITCHFXS_V3 = 0x24C66Ba25ca2A53bB97B452B9F45DD075b07Cf55; + address internal constant FRAXSWAP_V1_FRAX_SYN = 0xE8453a2e8E97cba69365A1d727Fde3768b18d814; + address internal constant FRAXSWAP_V2_FRAX_FPIS = 0x9d46C0584C5C89e14fb1143e2414712feF36f00F; + address internal constant FRAXSWAP_V2_FRAX_FXS = 0x3F2E53B1A3036Fd33F3c2f3cC49daB26A88DF2e0; + address internal constant FRAXSWAP_V2_FRAX_IQ = 0x7af00CF8D3a8A75210a5Ed74f2254E2EC43B5B5b; + address internal constant FRAXSWAP_V2_FRAX_OHM = 0xf562B2f33b3c90d5D273f88Cdf0CeD866E17092e; + address internal constant FRAXSWAP_V2_FRAX_PITCHFXS = 0xa632Fab76Fe013199c8271Ac22b466b9D11BFe88; + address internal constant FRAXSWAP_V2_FRAX_SDL = 0x8875A328EaDb1e142f4021Fc2098096796a30cf8; + address internal constant FRAXSWAP_V2_FRAX_SYN = 0x788E44b6424A0e4160Ae4766E86640EC5a6baD5b; + address internal constant FRAXSWAP_V2_FRAX_ZZ = 0x38950D42CD549842B3Fc862a45F00eB24331F462; + address internal constant GEARBOX_DFRAX = 0x8A1112AFef7F4FC7c066a77AABBc01b3Fff31D47; + address internal constant GELATO_UNISWAP_FRAX_DAI = 0xcdfc491804A420b677f8e788B5157856910E2F6f; + address internal constant KYBERSWAP_ELASTIC_FRAX_USDC = 0x21AF9DBa45989512468B08d13978e9040cc0cEF6; + address internal constant KYBERSWAP_ELASTIC_FRAX_USDC_DEPRECATED = 0x90d52cdc60B7FF7994095Aa184694225035E8A60; + address internal constant KYBERSWAP_ELASTIC_FRXETH_ETH = 0x6b96465F5e51C01134e0e64bff19f922fA7337C7; + address internal constant KYBERSWAP_ELASTIC_FRXETH_ETH_DEPRECATED = 0x0cF99bbc8794e09e713769c4352eB3318e25c975; + address internal constant KYBERSWAP_ELASTIC_FRXETH_FRAX = 0xaDf48a504b7E7262FE9BFC62Ab11894187590BB7; + address internal constant MONOLITH_MO_SAMM_FRAX_USDT = 0x9972F7c292Deae7759a3831b1aDFF54dD43Dc264; + address internal constant MONOLITH_MO_SAMM_FRXETH_WETH = 0x4E30fc7ccD2dF3ddCA39a69d2085334Ee63b9c96; + address internal constant MONOLITH_MO_VAMM_FXS_FRXETH = 0x520b8e754768EEed9a37d78de76Cd5d75456b92F; + address internal constant PICKLE_FINANCE_CURVE_CVXFXS_FXS = 0x6667c53D631410649B1826D21cFdf41E7a7aE6b1; + address internal constant PICKLE_FINANCE_PVEFXS_BRINERY = 0x62826760CC53AE076a7523Fd9dCF4f8Dbb1dA140; + address internal constant PICKLE_FINANCE_SADDLE_D4 = 0x08cb0A0ba8e4f143e4e6F7BED65E02b6dFb9A16C; + address internal constant PICKLE_FINANCE_UNIV3_FRAX_DAI = 0xA50e005c3f2f3Cd1f56B09DF558816CfCe25E934; + address internal constant PICKLE_FINANCE_UNIV3_FRAX_USDC = 0x6092cdE5762FA9F5c8D081fb0c5eD23601f0F400; + address internal constant SADDLE_ALUSD_FEI_FRAX_LUSD = 0x0639076265e9f88542C91DCdEda65127974A5CA5; + address internal constant SOLIDLY_SAMM_FRAX_USDC = 0x810E190Be9592615D75c514C0f9D8c9b79eB8056; + address internal constant SOLIDLY_SAMM_FRAX_USDT = 0x9972F7c292Deae7759a3831b1aDFF54dD43Dc264; + address internal constant SOLIDLY_SAMM_FRXETH_WETH = 0x4E30fc7ccD2dF3ddCA39a69d2085334Ee63b9c96; + address internal constant SOLIDLY_VAMM_FRAX_FRXETH = 0xFae2B6Cac80635Cf768c9B68A4f453DB00BC79F0; + address internal constant SOLIDLY_VAMM_FXS_FRXETH = 0x520b8e754768EEed9a37d78de76Cd5d75456b92F; + address internal constant SOMMELIER_FRAXIMAL = 0x290a42E913083Edf5AEFb241f8A12B306C19f8f9; + address internal constant STAKEDAO_CVXFXS_FXS = 0xAB1927160EC7414C6Fa71763E2a9f3D107c126dd; + address internal constant STAKEDAO_FRAX3CRV = 0x72E158d38dbd50A483501c24f792bDAAA3e7D55C; + address internal constant STAKEDAO_FRAX_USDC = 0xCFc25170633581Bf896CB6CDeE170e3E3Aa59503; + address internal constant STAKEDAO_FRXETHCRV = 0x2932a86df44Fe8D2A706d8e9c5d51c24883423F5; + address internal constant STAKEDAO_SANFRAX = 0xb40432243E4F317cE287398e72Ab8f0312fc2FE8; + address internal constant STAKEDAO_SDETH_FRAXPUT = 0x0A53544b2194Dd8Ebc62c779043fc0624705BB56; + address internal constant STAKEDAO_SDFRAX3CRV_F = 0xEB81b86248d3C2b618CcB071ADB122109DA96Da2; + address internal constant STAKEDAO_SDFXS = 0xF3C6e8fbB946260e8c2a55d48a5e01C82fD63106; + address internal constant STAKEDAO_SDFXS_FXS = 0xa9A9BC60fc80478059A83f516D5215185eeC2fc0; + address internal constant STAKEDAO_SFRXETH_STETH_RETH_BPT = 0x3F0FB52648Eb3981EA598716b7320081d1c8Ba1a; + address internal constant STARGATE_BRIDGE_LIQUIDITY_FRAX_ETHEREUM = 0xB0D502E938ed5f4df2E681fE6E419ff29631d62b; + address internal constant SUSHI_FRAX_SUSHI = 0xb4Ab0dE6581FBD3A02cF8f9f265138691c3A7d5D; + address internal constant TEMPLE_FRAX_TEMPLE = 0x10460d02226d6ef7B2419aE150E6377BdbB7Ef16; + address internal constant TOKEMAK_FRAX_STAKING = 0x94671A3ceE8C7A12Ea72602978D1Bb84E920eFB2; + address internal constant TOKEMAK_FXS_STAKING = 0xADF15Ec41689fc5b6DcA0db7c53c9bFE7981E655; + address internal constant UNISWAP_FEI_TRIBE = 0x9928e4046d7c6513326cCeA028cD3e7a91c7590A; + address internal constant UNISWAP_FRAX_FXS = 0xda2c338350a0E59Ce71CDCED9679A3A590Dd9BEC; + address internal constant UNISWAP_FRAX_IQ = 0xF37057823910653a554d996B49E3399DC87fAE1b; + address internal constant UNISWAP_FRAX_OHM = 0xfC77A420f56Dec53e3b91D7FC936902e132335FF; + address internal constant UNISWAP_FRAX_USDC = 0xa29367a3f057F3191b62bd4055845a33411892b6; + address internal constant UNISWAP_FRAX_WETH = 0xD875628B942f8970De3CcEaf6417005F68540d4f; + address internal constant UNISWAP_FXS_WETH = 0xDc65f3514725206Dd83A8843AAE2aC3D99771C88; + address internal constant UNISWAP_V3_FRAX_AGEUR = 0xf8caEd1943B15B877D7105B9906a618c154f69E8; + address internal constant UNISWAP_V3_FRAX_DAI = 0xF22471AC2156B489CC4a59092c56713F813ff53e; + address internal constant UNISWAP_V3_FRAX_USDC = 0x3EF26504dbc8Dd7B7aa3E97Bc9f3813a9FC0B4B0; + address internal constant VEFPIS_FPIS_STAKING = 0x574C154C83432B0A45BA3ad2429C3fA242eD7359; + address internal constant VEFXS_FXS_STAKING = 0xc8418aF6358FFddA74e09Ca9CC3Fe03Ca6aDC5b0; + address internal constant VESPER_ORBIT_FRAX = 0x698137C473bc1F0Ea9b85adE45Caf64ef2DF48d6; + address internal constant YEARN_CRVFRAX_VAULT_V3 = 0x1A5ebfF0E881Aec34837845e4D0EB430a1B4b737; + address internal constant SLIPPAGE_AUCTION_FACTORY = 0xc9268c7F59850B26567b0f5d3Dcc317cEDC43490; + address internal constant FXB_FACTORY = 0xa8478781D9605E17c3b4c9C79e7127c4597116E4; + address internal constant FXB_AMO = 0x452420df4AC1e3db5429b5FD629f3047482C543C; + address internal constant FXB_AMO_TIMELOCK = 0x831822660572bd54ebaa065C2acef662a6277D40; + address internal constant FXB_20240630 = 0x0dE54CFdfeD8005176f8b7A9D5438B45c4F1df1e; + address internal constant AUCTION_20240630 = 0xC92067D8DDb1970ecB93202DA31a3C45cC2c1F44; + address internal constant ORACLE_20240630 = 0x27F4f8ca2f906B73c5eD8d794d1eA016f2cA0A97; + address internal constant CURVE_20240630_MAINNET_POOL = 0x4ef4c7519023F30A78647EEab321d6cFabC2513c; + address internal constant FXB_20241231 = 0xF8FDe8A259A3698902C88bdB1E13Ff28Cd7f6F09; + address internal constant AUCTION_20241231 = 0xc9aa98788a675FF0846E8856cb83F19452f3b0c8; + address internal constant ORACLE_20241231 = 0x08a0748cF885F46e20fA30A50a035808eab293D3; + address internal constant CURVE_20241231_MAINNET_POOL = 0x6307E6688819951Cf8D6B6066018243D2496952F; + address internal constant CURVE_20241231_ARBITRUM_POOL = 0xE920eEdAff6c3BEd1Ef61010B64d46986634E908; + address internal constant CURVE_20241231_ARBITRUM_GAUGE = 0x05824D6D4DE8A0ede4e12b98387A4f035a67ee68; + address internal constant FXB_20261231 = 0x76237BCfDbe8e06FB774663add96216961df4ff3; + address internal constant AUCTION_20261231 = 0x63981f5E690eaF7E8795c42832664e8848F532fB; + address internal constant ORACLE_20261231 = 0x2ec5D1C13fEF1C7029eE329a1D31B2180c9b3707; + address internal constant CURVE_20261231_MAINNET_POOL = 0xe035e27A8eD6842b478933820f90093D205F7098; + address internal constant CURVE_20261231_ARBITRUM_POOL = 0x946adc524BD312D036776798c46ceDD948DD0A0f; + address internal constant CURVE_20261231_ARBITRUM_GAUGE = 0xa2617A26f9f528fa7B0E47fc2e66FcC04C6682E9; + address internal constant FRAXFERRY_V1__ETHEREUM_ARBITRUM__FRAX__ETH_SIDE = + 0x85c5f05Ae4CB68190C695a22b292C3bA90696128; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__FXS__ETH_SIDE = + 0x4b8792aF00eaE944484bF572bc33029B2184a50C; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPI__ETH_SIDE = + 0x5878d03AA50d2c00A921948Ea8Fa5F2d247f6BDB; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPIS__ETH_SIDE = + 0xCd4aa7DB9D8a995a651498E94f6693A4D26e6C9E; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__FRXETH__ETH_SIDE = + 0x505603e2440b44C1602b44D0Eb8385399b3F7bab; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRXETH__ETH_SIDE = + 0x8afd5082E0C24dEcEA39A9eFb14e4ACF4373D7D6; + address internal constant FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRAX__ETH_SIDE = + 0x2453b1FbD17ceA069A31C9D16A27f4F93a85Cc0d; + address internal constant FRAXFERRY_V1__ETHEREUM_AURORA__FRAX__ETH_SIDE = + 0x6ac96F65156281a9383455D704b58A74ea9C9eC4; + address internal constant FRAXFERRY_V1__ETHEREUM_AVALANCHE__FRAX__ETH_SIDE = + 0xA381d58e96eC3818c825E1fb264099448945CF8b; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__FXS__ETH_SIDE = + 0x9Ab224996D25bfDCB91d838F7f1902698Ac0a742; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPI__ETH_SIDE = + 0xbb6b54F8969a4711527fdF6AB852B6D6cdF368d1; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPIS__ETH_SIDE = + 0x18A5ca670dC42D0551f00E11A730074f6787f17F; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__FRXETH__ETH_SIDE = + 0x94ddd112C9ea0fb534e376BE09A50d310F0612b4; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRXETH__ETH_SIDE = + 0xF380200B115Caa22D49e6C115b758d6130377620; + address internal constant FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRAX__ETH_SIDE = + 0x59ae66FB395893E3FD965aDb06A52d06C49dF8A9; + address internal constant FRAXFERRY_V1__ETHEREUM_BOBA__FRAX__ETH_SIDE = 0x3eF1d856EA62A2292B8690855042095a7aC48B4b; + address internal constant FRAXFERRY_V1__ETHEREUM_BSC__FRAX__ETH_SIDE = 0xDAe210BfB0cF8c81EDB4b459e2e0bA14D553e2D9; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__FXS__ETH_SIDE = 0x9B62402Eb9A755677dEbdaE3639CB531c0Af0E5d; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__FPI__ETH_SIDE = 0xfbD33d2f3330f063C87b523Ba80D5F7f296E5393; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__FPIS__ETH_SIDE = 0xf18B122c3935Ff49f62C8f1f77Dc42A6F85A0bb5; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__FRXETH__ETH_SIDE = 0xce4DbAF3fa72C962Ee1F371694109fc2a80B03f5; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__SFRXETH__ETH_SIDE = + 0x621D0e62f26314387f338A2509aFA3Ae3414661A; + address internal constant FRAXFERRY_V2__ETHEREUM_BSC__SFRAX__ETH_SIDE = 0xe3e7F354ac948ceBa925181C81618D7c9b3da8C9; + address internal constant FRAXFERRY_V1__ETHEREUM_EVMOS__FRAX__ETH_SIDE = 0x2d2261f970F605C813f160E8BAEd455E9004A842; + address internal constant FRAXFERRY_V1__ETHEREUM_FANTOM__FRAX__ETH_SIDE = + 0xfB788F9E20ef426a32A67986654750172A6c1788; + address internal constant FRAXFERRY_V2__ETHEREUM_FANTOM__FXS__ETH_SIDE = 0x1313d143BE1ac25aCACEFF39Bf31877bccDb9622; + address internal constant FRAXFERRY_V2__ETHEREUM_FANTOM__FRXETH__ETH_SIDE = + 0xaF4305d05e9B08b1D17894ce1ACE8235528f7EdE; + address internal constant FRAXFERRY_V2__ETHEREUM_FANTOM__SFRXETH__ETH_SIDE = + 0xB6b0290A39E2F896bBd8fC19cf17FE393e993dE4; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__FRAX__ETH_SIDE = + 0x5e1D94021484642863Ea8E7Cb4F0188e56B18FEE; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__FXS__ETH_SIDE = + 0x4A6d155df9Ec9A1BB3639e6B7B99E46Fb68D42f6; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPI__ETH_SIDE = + 0x9A576A3d39c589A861B46864C253288bcA428a6c; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPIS__ETH_SIDE = + 0x958815f476cD07354c0BC034EE5077B20fD93003; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRXETH__ETH_SIDE = + 0x5c5f05cF8528FFe925A2264743bFfEdbAB2b0FE3; + address internal constant FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRAX__ETH_SIDE = + 0x2b4864c2F2A2C275C6C66B90a2ae6BE9fA9cbE47; + address internal constant FRAXFERRY_V1__ETHEREUM_MOONBEAM__FRAX__ETH_SIDE = + 0xF1E1deA8F1053FD9C5F47f72F1f03977E17aF242; + address internal constant FRAXFERRY_V2__ETHEREUM_MOONBEAM__FXS__ETH_SIDE = + 0x2De1354c98880889643c4cA8B06FA2Fb8Fc1Fd7A; + address internal constant FRAXFERRY_V2__ETHEREUM_MOONBEAM__FRXETH__ETH_SIDE = + 0x228567c10b7533C88057c10dDeA6349360F122c5; + address internal constant FRAXFERRY_V2__ETHEREUM_MOONBEAM__SFRXETH__ETH_SIDE = + 0xbc3A2bF4FA20bE2056DCE5BFB168970BA657F187; + address internal constant FRAXFERRY_V1__ETHEREUM_MOONRIVER__FRAX__ETH_SIDE = + 0x15ADa72A3B52A88E25DdD2CC2bA1120234e34bb0; + address internal constant FRAXFERRY_V2__ETHEREUM_MOONRIVER__FXS__ETH_SIDE = + 0xFe7ebA20c20C8FF12A337F940Ce7A97c6e2594DE; + address internal constant FRAXFERRY_V1__ETHEREUM_OPTIMISM__FRAX__ETH_SIDE = + 0x06Fa869caa1160754C6a0B744Da6454c5EA325d4; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__FXS__ETH_SIDE = + 0x6650D5183C4Cd294a81B1F724c365b0c42f8270a; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPI__ETH_SIDE = + 0xC05DE1CB258bAdc152d8EAd3F573CA9A2E812B2a; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPIS__ETH_SIDE = + 0x8Bf7Af56bB721BC3d015111508593Fcb301546F0; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__FRXETH__ETH_SIDE = + 0x2F08F4645d2fA1fB12D2db8531c0c2EA0268BdE2; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRXETH__ETH_SIDE = + 0x04ba20D2Cc47C63bce1166C2864F0241e4D0a0CC; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRAX__ETH_SIDE = + 0x9694dcF5b6CCF6216B05FE64945f62603e2d2367; + address internal constant FRAXFERRY_V1__ETHEREUM_POLYGON__FRAX__ETH_SIDE = + 0x43959A388603DCb6B02Ca084A55d4c7f3b442c57; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON__FXS__ETH_SIDE = + 0xCa026e80F1E9e44da7ce3eD6aC2E9630260B9276; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON__FRXETH__ETH_SIDE = + 0x98f5E4b7D9eDF57A6ED41b334bD40B2eAa6B6e26; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON__SFRXETH__ETH_SIDE = + 0x91Ff54EffF7564BA3884A91d0E293502D8E6fF90; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRAX__ETH_SIDE = + 0x86E71075e55F0aaD27D700017E0783458310c98a; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FXS__ETH_SIDE = + 0xBa32Df0b78b1A68F7FA304BbD4Ed7a56A74c525a; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPI__ETH_SIDE = + 0x45D2d8e4aB0F5af1D29305301A1b31D5d41b3349; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPIS__ETH_SIDE = + 0xF887C4cFAAfB43d1AA7De204344895591016772c; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRXETH__ETH_SIDE = + 0x3aaB5C43D4e47f71DEea94a7d541E6C07e21B137; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRXETH__ETH_SIDE = + 0xb8686Ef9B7ee9e73dE5d1721E4Da580278F8F4d2; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRAX__ETH_SIDE = + 0x602cCfee6B4BA8Eb5e35Cf26e05fDEDE379e578E; + address internal constant FRAXFERRY_V2__ETHEREUM_ZKSYNC__FRAX__ETH_SIDE = + 0x32dDf80508cfD8feD8ABe375582FC7cfD20372C4; + address internal constant FRAXFERRY_V2__ETHEREUM_ZKSYNC__FXS__ETH_SIDE = 0x27E97F35D80514D5DD1Caa730e22a292E912a214; + address internal constant FRAXFERRY_V2__ETHEREUM_ZKSYNC__FPI__ETH_SIDE = 0x0F6136F9aBB7A0c21FbE076771625b39C544BDf5; + address internal constant FRAXFERRY_V2__ETHEREUM_ZKSYNC__FPIS__ETH_SIDE = + 0xFBC512849D4dcEeeFAa1bfce08B3dC9daD755482; + address internal constant FRAXFERRY_V2__ETHEREUM_ZKSYNC__FRXETH__ETH_SIDE = + 0x9f76b097Cd95627bFbD8052A583127FF6e7b3Fa9; + address internal constant FRAXFERRY_V2__ETHEREUM_ZKSYNC__SFRXETH__ETH_SIDE = + 0x29396AaE6198130A15F6Ff982C44BC4a7353Ef37; + address internal constant FRAXFERRY_CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FRAXFERRY_FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FRAXFERRY_CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FRAX_POOL_USDC = 0x3C2982CA260e870eee70c423818010DfeF212659; + address internal constant FRAX_POOL_USDC_V2 = 0x1864Ca3d47AaB98Ee78D11fc9DCC5E7bADdA1c0d; + address internal constant FRAX_POOL_USDT = 0x7d3FCd3825AE54E8E8FFD3d0ce95882330d54968; + address internal constant FRAX_POOL_V3 = 0x2fE065e6FFEf9ac95ab39E5042744d695F560729; + address internal constant AAVE_ERC20 = 0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9; + address internal constant AAVE_TOKEN_DUAL_ORACLE_ADDRESS = 0x3284E1BCEaf70767A7575d0e1e10fAFbC4618B52; + address internal constant AAVE_USD_CHAINLINK_ORACLE = 0x547a514d5e3769680Ce22B2361c10Ea13619e8a9; + address internal constant APECOIN_DUAL_ORACLE_ADDRESS = 0x2CDF5812F4ebcF3BD533E8918D47Bd3e65514520; + address internal constant APE_ERC20 = 0x4d224452801ACEd8B2F0aebE155379bb5D594381; + address internal constant APE_USD_CHAINLINK_ORACLE = 0xD10aBbC76679a20055E167BB80A24ac851b37056; + address internal constant BTC_USD_CHAINLINK_ORACLE = 0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c; + address internal constant CHAIN_LINK_TOKEN_DUAL_ORACLE = 0x7F09c398740518F8e34556D8C1A1FBE1cb1F6Db0; + address internal constant CIRCUIT_BREAKER_ADDRESS = 0xfd3065C629ee890Fd74F43b802c2fea4B7279B8c; + address internal constant COMBO_ORACLE = 0x878f2059435a19C79c20318ee57657bF4543B6d4; + address internal constant COMBO_ORACLE_KYBERSWAP_ELASTIC = 0x734fd1fD1f3720379f52cB9d8168d76Cd1ca4A73; + address internal constant COMBO_ORACLE_KYBERSWAP_ELASTIC_V2 = 0xc3a483Bb5F96bC4E6104325aa1A229A8E29166B3; + address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0x1cBE07F3b3bf3BDe44d363cecAecfe9a98EC2dff; + address internal constant COMPTROLLER_ADDRESS = 0x168200cF227D4543302686124ac28aE0eaf2cA0B; + address internal constant CONVEX_WRAPPER_FRAX_USDC_CURVE_POOL_LP = 0x8A2112B42AF1F997002FBAfF77dd09F42A281e8d; + address internal constant CONVEX_WRAPPER_FRXETH_ETH_CURVE_POOL_LP = 0x45127c7fA0c3Ce6A18fEc9604D96eDfBBc8A9700; + address internal constant CONVEX_WRAPPER_FRAX_USDC_FRAXLEND_LP_OLD = 0x54a3A6aFd87F10Eea4Acc2A067A2C0b612B6D315; + address internal constant CONVEX_WRAPPER_FRXETH_ETH_FRAXLEND_LP_OLD = 0xd1b222AAEdf2877CeEB3c66BDaA6858200eb48fC; + address internal constant CPI_TRACKER_ORACLE = 0x7086F2aCB5558043fF9cE3df346D8E3FB4F4f452; + address internal constant CPI_TRACKER_ORACLE_V2 = 0x66B7DFF2Ac66dc4d6FBB3Db1CB627BBb01fF3146; + address internal constant CRV_ERC20 = 0xD533a949740bb3306d119CC777fa900bA034cd52; + address internal constant CRV_USD_CHAINLINK_ORACLE = 0xCd627aA160A6fA45Eb793D19Ef54f5062F20f33f; + address internal constant CVX_ERC20 = 0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B; + address internal constant CVX_USD_CHAINLINK_ORACLE = 0xd962fC30A72A84cE50161031391756Bf2876Af5D; + address internal constant ETH_USD_CHAINLINK_ORACLE = 0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419; + address internal constant EZETHETH_DUAL_ORACLE = 0x8216AE38454cCe2d52dEcf0442042250Ea6A2510; + address internal constant EZETH_DUAL_ORACLE = 0xB020ab0E609d907578f6899a9469E3CbD79e4e70; + address internal constant EZETH_ERC20 = 0xbf5495Efe5DB9ce00f80364C8B423567e58d2110; + address internal constant FIL_ERC20 = 0xB8B01cec5CEd05C457654Fc0fda0948f859883CA; + address internal constant FIL_ETH_CHAINLINK_ORACLE = 0x0606Be69451B1C9861Ac6b3626b99093b713E801; + address internal constant FIL_USD_CHAINLINK_ORACLE = 0x1A31D42149e82Eb99777f903C08A2E41A00085d3; + address internal constant FPIS_ERC20 = 0xc2544A32872A91F4A553b404C6950e89De901fdb; + address internal constant FPI_CONTROLLER_POOL_ADDRESS = 0x2397321b301B80A1C0911d6f9ED4b6033d43cF51; + address internal constant FPI_ERC20 = 0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E; + address internal constant FPI_ORACLE = 0xd2516e709a2e9D64F66B4c4009efE4F74F5FA40D; + address internal constant FPI_ORACLE_V2 = 0x2469757756ebA7Bea6B7F054896e3Db74103A962; + address internal constant FRAXBP_CURVE_LP_DUAL_ORACLE = 0x251d4fE77eD73126583Ee347041258ABeEcB7C66; + address internal constant FRAXLEND_DEPLOYER_ADDRESS_V0 = 0x5d6e79Bcf90140585CE88c7119b7E43CAaA67044; + address internal constant FRAXLEND_PAIRDEPLOYER = 0x5d6e79Bcf90140585CE88c7119b7E43CAaA67044; + address internal constant FRAXLEND_PAIRHELPER = 0x26fa88b783cE712a2Fa10E91296Caf3daAE0AB37; + address internal constant FRAXLEND_PAIR_DEPLOYER_ADDRESS = 0x38488dE975B77dc1b0D4B8569f596f6FD6ca0B92; + address internal constant FRAXLEND_PAIR_DEPLOYER_CONVEX_ADDRESS = 0xC4e34AD5908c4D2508a26C20c8687Ff64CB9e05b; + address internal constant FRAXLEND_PAIR_DEPLOYER_V3_ADDRESS = 0xaa913C26dD7723Fcae9dBD2036d28171a56C6251; + address internal constant FRAXLEND_PAIR_DEPLOYER_V41_ADDRESS = 0xEb8816BAEB70690660ce6C0eDA2b07A21493e664; + address internal constant FRAXLEND_PAIR_DEPLOYER_V4_ADDRESS = 0x7AB788d0483551428f2291232477F1818952998C; + address internal constant FRAXLEND_PAIR_HELPER = 0x1b0bCeD6dd26a7c234506E261BC68C9A3A4031b7; + address internal constant FRAXLEND_PAIR_REGISTRY_ADDRESS = 0xD6E9D27C75Afd88ad24Cd5EdccdC76fd2fc3A751; + address internal constant FRAXLEND_WHITELIST_ADDRESS = 0x118C1462AA28bF2ea304f78f49C3388cfd93234e; + address internal constant FRAXSWAP_ROUTER_ADDRESS = 0xC14d550632db8592D1243Edc8B95b0Ad06703867; + address internal constant FRAX_HOT_WALLET = 0xdB3388e770F49A604E11f1a2084B39279492a61f; + address internal constant FRAX_USDC_CURVE_LP_DUAL_ORACLE_ADDRESS = 0x2Ad35cce2a690E0bF1e6dCAC2F9175389F31D7F4; + address internal constant FRAX_USDC_CURVE_POOL_LP_ERC20 = 0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC; + address internal constant FRAX_USDC_CURVE_POOL_NOT_LP = 0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2; + address internal constant FRAX_USDC_PLAIN_POOL = 0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2; + address internal constant FRAX_USD_CHAINLINK_ORACLE = 0xB9E1E3A9feFf48998E45Fa90847ed4D467E8BcfD; + address internal constant FRXETH_ETH_CURVE_POOL_LP_DUAL_ORACLE_ADDRESS = 0x1A4ae41e247ef90EDAaC97DD729a4F03687059DB; + address internal constant FRXETH_ETH_CURVE_POOL_LP_ERC20 = 0xf43211935C781D5ca1a41d2041F397B8A7366C7A; + address internal constant FRXETH_ETH_CURVE_POOL_NOT_LP = 0xa1F8A6807c402E4A15ef4EBa36528A3FED24E577; + address internal constant FRXETH_ETH_DUAL_ORACLE_ADDRESS = 0xb12c19C838499E3447AFd9e59274B1BE56b1546A; + address internal constant FRXETH_FRAX_ORACLE_ADDRESS = 0xC58F3385FBc1C8AD2c0C9a061D7c13b141D7A5Df; + address internal constant FXB_20240630_ERC20 = 0x0dE54CFdfeD8005176f8b7A9D5438B45c4F1df1e; + address internal constant FXB_20240630_ORACLE = 0x27F4f8ca2f906B73c5eD8d794d1eA016f2cA0A97; + address internal constant FXB_20241231_ERC20 = 0xF8FDe8A259A3698902C88bdB1E13Ff28Cd7f6F09; + address internal constant FXB_20241231_ORACLE_ADAPTER = 0x34b7525FB0735342Ef3E73d0ED2a912aaAC6c617; + address internal constant FXB_20261231_ERC20 = 0x76237BCfDbe8e06FB774663add96216961df4ff3; + address internal constant FXB_20261231_ORACLE_ADAPTER = 0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3; + address internal constant FXB_VARIABLE_RATE_2 = 0x01480a0C134CeCC309015a564C7e292ba6E0F358; + address internal constant FXS_USD_CHAINLINK_ORACLE = 0x6Ebc52C8C1089be9eB3945C4350B68B8E4C2233f; + address internal constant GOHM_ERC20 = 0x0ab87046fBb341D058F17CBC4c1133F25a20a52f; + address internal constant GOHM_ORACLE = 0xe893297a9d4310976424fD0B25f53aC2B6464fe3; + address internal constant LDO_DUAL_ORACLE = 0x883Aa2E1E46b53648520E0F6857e2ee1798F3e5d; + address internal constant LDO_ERC20 = 0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32; + address internal constant LDO_ETH_CHAINLINK_ORACLE = 0x4e844125952D32AcdF339BE976c98E22F6F318dB; + address internal constant LDO_ETH_CURVE_V2_POOL = 0x9409280DC1e6D33AB7A8C6EC03e5763FB61772B5; + address internal constant LINEAR_INTEREST_RATE = 0x2f3511C5E960040369F68508ebb366DF58DF1BF2; + address internal constant LINEAR_RATE_ADDRESS = 0x2f3511C5E960040369F68508ebb366DF58DF1BF2; + address internal constant LINK_ERC20 = 0x514910771AF9Ca656af840dff83E8264EcF986CA; + address internal constant LINK_USD_CHAINLINK_ORACLE = 0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c; + address internal constant MAKER_DUAL_ORACLE_ADDRESS = 0x4c7b43EcE8958D7f6b184B3833DD1D383db1f83b; + address internal constant MKR_ERC20 = 0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2; + address internal constant MKR_ETH_CHAINLINK_ORACLE = 0x24551a8Fb2A7211A25a17B1481f043A8a8adC7f2; + address internal constant MKR_USD_CHAINLINK_ORACLE = 0xec1D1B3b0443256cc3860e24a46F108e699484Aa; + address internal constant OHMV2_ETH_CHAINLINK_ORACLE = 0x9a72298ae3886221820B1c878d12D872087D3a23; + address internal constant RETH_DUAL_ORACLE = 0x8161EDD2208247066FA213EDA909B0D351543b3d; + address internal constant RETH_ERC20 = 0xae78736Cd615f374D3085123A210448E74Fc6393; + address internal constant RSETHETH_DUAL_ORACLE = 0x16BAb4C46b36587609093633550816fc828817Ba; + address internal constant RSETH_ERC20 = 0xA1290d69c65A6Fe4DF752f95823fae25cB99e5A7; + address internal constant SFRAX_ERC20 = 0xA663B02CF0a4b149d2aD41910CB81e23e1c41c32; + address internal constant SFRXETH_DUAL_ORACLE_ADDRESS = 0xd2F0fa7f2E6a60EEcf4b78c5b6D81002b9789F2c; + address internal constant SFRXETH_ETH_DUAL_ORACLE_ADDRESS = 0x1473F3e4d236CBBe3412b9f65B4c210756BE2C0E; + address internal constant SFRXETH_FRAX_ORACLE_ADDRESS = 0xB9af7723CfBd4469A7E8aa60B93428D648Bda99d; + address internal constant SFRXETH_ORACLE = 0x27942aFe4EcB7F9945168094e0749CAC749aC97B; + address internal constant SFRXETH_ORACLE_V2 = 0x807502C8EAdAc82C3227249f8aCf54d9d98F76d1; + address internal constant SFRXETH_SFRAX_INVERSE_ORACLE_ADAPTER = 0xAfBcCB0a8d301AA8c18eBb4Ac94aB32d394fDCeC; + address internal constant SFRXETH_USDC_ORACLE_V2_ADAPTER = 0x3FdA3e9E78EAcd7381F1ED2CF145B93537878c1f; + address internal constant SFRXETH_USD_ORACLE_V2 = 0x3d3D868522b5a4035ADcb67BF0846D61597A6a6F; + address internal constant SUSDE_ERC20 = 0x9D39A5DE30e57443BfF2A8307A4256c8797A3497; + address internal constant SUSDE_ORACLE = 0x8Eb7a4Fa315620CC342073326acC206961F4BB62; + address internal constant UNISWAP_DUAL_ORACLE_ADDRESS = 0x33A9D662d9F7cb2153e3a5102615B08865BeAbdB; + address internal constant UNIV2_ROUTER = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D; + address internal constant UNI_ERC20 = 0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984; + address internal constant UNI_USD_CHAINLINK_ORACLE = 0x553303d460EE0afB37EdFf9bE42922D8FF63220e; + address internal constant USDC_ERC20 = 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48; + address internal constant USDC_USD_CHAINLINK_ORACLE = 0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6; + address internal constant USDE_CURVE_PAIR = 0x5dc1BF6f1e983C0b21EfB003c105133736fA0743; + address internal constant USDE_ERC20 = 0x4c9EDD5852cd905f086C759E8383e09bff1E68B3; + address internal constant USDE_ORACLE = 0xfdE8C36F32Bf32e73A1bdeb4ef3E17709674a838; + address internal constant VARIABLE_RATE_2_ADDRESS = 0x18500cB1f2fE7a40eBdA393383A0B8548a31F261; + address internal constant VARIABLE_RATE_2_ADDRESS_50 = 0x576E23b6E2665A91DdF301DcfF53d1fFA2972bB5; + address internal constant VARIABLE_RATE_50BP_ADDRESS = 0xFf7846bAcB63FE97406a1E1e48CAf1595f66A98c; + address internal constant VARIABLE_RATE_ADDRESS = 0x9327058a739089869B7DC3436E074C6d56051C7A; + address internal constant VARIABLE_RATE_ADDRESS_OLD = 0x3da1bf0Be175B7cAa38d67A6E78371947d2F51f7; + address internal constant VARIABLE_RATE_STABLE_ADDRESS = 0x9599033315C29Be9690b716bFE409381426dAD41; + address internal constant WBTC_ERC20 = 0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599; + address internal constant WBTC_SFRAX_INVERSE_DUAL_ORACLE = 0xeA94770583b5d57791dFe9CF1e29EfD6D53d2fdC; + address internal constant WBTC_SFRAX_INVERSE_ORACLE_ADAPTER_CHAINLINK = 0xb7dA758EE015c3C45B4a54579743Ebf365F7A53b; + address internal constant WETH_ERC20 = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; + address internal constant WETH_FRAX_V3_POOL = 0x92c7b5Ce4CB0e5483F3365C1449f21578eE9f21A; + address internal constant WETH_SFRAX_INVERSE_ORACLE_ADAPTER_CHAINLINK = 0x1cA1350F67575B0beE44EC9DC6725A4032431F33; + address internal constant WETH_USDC_V3_POOL = 0xE0554a476A092703abdB3Ef35c80e0D76d32939F; + address internal constant WSTETH_ERC20 = 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0; + address internal constant WSTETH_USD_DUAL_ORACLE_ADDRESS = 0xe73375f36A1b17A21d7Aa0fDa092195431e7017a; + address internal constant FRAXLEND_PAIR_WETH_FRAX = 0x794F6B13FBd7EB7ef10d1ED205c9a416910207Ff; + address internal constant FRAXLEND_PAIR_WBTC_FRAX = 0x32467a5fc2d72D21E8DCe990906547A2b012f382; + address internal constant FRAXLEND_PAIR_SFRXETH_FRAX = 0x78bB3aEC3d855431bd9289fD98dA13F9ebB7ef15; + address internal constant FRAXLEND_PAIR_CRVETHFRXETH_FRAX = 0x281E6CB341a552E4faCCc6b4eEF1A6fCC523682d; + address internal constant FRAXLEND_PAIR_FXS_FRAX = 0xDbe88DBAc39263c47629ebbA02b3eF4cf0752A72; + address internal constant FRAXLEND_PAIR_FPI_FRAX = 0x74F82Bd9D0390A4180DaaEc92D64cf0708751759; + address internal constant FRAXLEND_PAIR_APE_FRAX = 0x3a25B9aB8c07FfEFEe614531C75905E810d8A239; + address internal constant FRAXLEND_PAIR_CVX_FRAX = 0xa1D100a5bf6BFd2736837c97248853D989a9ED84; + address internal constant FRAXLEND_PAIR_CRV_FRAX = 0x3835a58CA93Cdb5f912519ad366826aC9a752510; + address internal constant FRAXLEND_PAIR_GOHM_FRAX = 0x66bf36dBa79d4606039f04b32946A260BCd3FF52; + address internal constant FRAXLEND_PAIR_MKR_FRAX = 0x82Ec28636B77661a95f021090F6bE0C8d379DD5D; + address internal constant FRAXLEND_PAIR_UNI_FRAX = 0xc6CadA314389430d396C7b0C70c6281e99ca7fe8; + address internal constant FRAXLEND_PAIR_AAVE_FRAX = 0xc779fEE076EB04b9F8EA424ec19DE27Efd17A68d; + address internal constant FRAXLEND_PAIR_FXB06302024_FRAX = 0x35E08B28d5b01D058cbB1c39dA9188CC521a79aF; + address internal constant FRAXLEND_PAIR_FXB12312024_FRAX = 0xd1887398f3bbdC9d10D0d5616AD83506DdF5057a; + address internal constant FRAXLEND_PAIR_FXB12312026_FRAX = 0x1c0C222989a37247D974937782cebc8bF4f25733; + address internal constant FRAXLEND_PAIR_SFRXETH_USDC = 0xeE847a804b67f4887c9E8fe559A2dA4278deFB52; + address internal constant FRAXLEND_PAIR_LINK_FRAX = 0x7093F6141293F7C4F67E5efD922aC934402E452d; + address internal constant FRAXLEND_PAIR_WSTETH_FRAX = 0xb5a46f712F03808aE5c4B885C6F598fA06442684; + address internal constant FRAXLEND_PAIR_LDO_FRAX = 0x0601B72bEF2b3F09E9f48B7d60a8d7D2D3800C6e; + address internal constant FRAXLEND_PAIR_RETH_FRAX = 0xa4Ddd4770588EF97A3a03E4B7E3885d824159bAA; + address internal constant FRAXLEND_PAIR_SUSDE_FRAX = 0xb5Ae5b75C0DF5632c572A657109375646Ce66f90; + address internal constant FRAXLEND_PAIR_SFRAX_WBTC = 0xb67Bd04f74BD79a505c5167675E8812355270eD5; + address internal constant FRAXLEND_PAIR_SFRAX_SFRXETH = 0x501256B1DC7bb99CdE57AF188a69307BCC7E00E8; + address internal constant FRAXLEND_PAIR_EZETH_FRXETH = 0x1eE17BE9B788bcf3EB86C08D0E2b049e036F6eb1; + address internal constant FRAXLEND_PAIR_RSETH_FRXETH = 0xCfE3550206ea801c3F7Dc7997376F09E0b7e4B81; + address internal constant FRAXLEND_WRAPPER_FACTORY = 0xe5Ca8CB440A6f9F6fA1D535D94A839CED59D9942; + address internal constant FRAXSWAP_FACTORY_V1 = 0xB076b06F669e682609fb4a8C6646D2619717Be4b; + address internal constant FRAXSWAP_FACTORY_V2 = 0x43eC799eAdd63848443E2347C49f5f52e8Fe0F6f; + address internal constant FRAXSWAP_ROUTER_V1 = 0x1C6cA5DEe97C8C368Ca559892CCce2454c8C35C7; + address internal constant FRAXSWAP_ROUTER_V2 = 0xC14d550632db8592D1243Edc8B95b0Ad06703867; + address internal constant FRAXSWAP_ROUTER_MULTI_HOP = 0x25e9acA5951262241290841b6f863d59D37DC4f0; + address internal constant FRAXSWAP_PAIR_FRAX_FPI = 0x5A1eA0130Dc4DC38420AA77929f992f1FBd482Bb; + address internal constant FRAXSWAP_PAIR_FS_V2_FRAX_FPI = 0xd79886841026a39cFF99321140B3c4D31314782B; + address internal constant FRAXSWAP_PAIR_FRAX_FXS = 0x8206412c107eF1aDb70B9277974f5163760E128E; + address internal constant FRAXSWAP_PAIR_FS_V2_FRAX_FXS = 0x03B59Bd1c8B9F6C265bA0c3421923B93f15036Fa; + address internal constant FRAXSWAP_PAIR_FRAX_FPIS = 0x99887AC15eBCcbad52FA2c9ceDc9D91A91e36051; + address internal constant FRAXSWAP_PAIR_FS_V2_FRAX_FPIS = 0x56695c26b3Cdb528815cd22fF7B47510ab821EFd; + address internal constant FRAXSWAP_PAIR_FPI_FPIS = 0xD3542ec999ceA6C79f09483fF88833f154a5e92f; + address internal constant FRAXSWAP_PAIR_FS_V2_FPI_FPIS = 0xF14766a7C44EFb7F71441B7114d5Dd295B637175; + address internal constant FRAXSWAP_PAIR_FPI_FXS = 0x843B5Ae5861362F20A3aC185A2dD2393D7526C65; + address internal constant FRAXSWAP_PAIR_FS_V2_FPI_FXS = 0x3ECfdA4EfF6184cD8563772D6d024cB0Fb9cBf80; + address internal constant FRAXSWAP_PAIR_FXS_FPIS = 0x1306b420B4B5f99cBeE938E369f06863a0f419A5; + address internal constant FRAXSWAP_PAIR_FS_V2_FXS_FPIS = 0x7a9Bd205B55cCB1Cc1c5B99FF5Db87a6e7B2C38b; + address internal constant FRAXSWAP_PAIR_FS_V2_FXS_FRXETH = 0x49FD21C5C8813B1bAE4e5507C556391D6Dd9e9f1; + address internal constant FRAXSWAP_PAIR_FRAX_WETH = 0x8300f0528e00Ad33b218bb05D396F61A9FDd68Cd; + address internal constant FRAXSWAP_PAIR_FS_V2_FRAX_WETH = 0x31351Bf3fba544863FBff44DDC27bA880916A199; + address internal constant FRAXSWAP_PAIR_FRAX_PITCHFXS = 0x0a92aC70B5A187fB509947916a8F63DD31600F80; + address internal constant FRAXSWAP_PAIR_FRAX_PITCHFXS_V2 = 0x2bac101F9769AEfF63c63EFfB4189152e833649F; + address internal constant FRAXSWAP_PAIR_FRAX_IQ = 0xcB0bC7C879bb3E9CFEB9d8EFef653F33B3d242e9; + address internal constant FRAXSWAP_PAIR_FRAX_IQ_V2 = 0x07AF6BB51d6Ad0Cf126E3eD2DeE6EaC34BF094F8; + address internal constant FRAXSWAP_PAIR_FRAX_OHM = 0x38633ed142BCc8128b45aB04A2e4A6e53774699F; + address internal constant FRAXSWAP_PAIR_FRAX_OHM_V2 = 0x5769071665eb8Db80e7e9226F92336Bb2897DCFA; + address internal constant FRAXSWAP_PAIR_FRAX_SDL_V2 = 0xCCB26b5CC4e1Ce29521DA281a0107A6672bfe099; + address internal constant FRAXSWAP_PAIR_FRAX_SYN_V2 = 0x832c6f546Bf34A552DeB8773216a93bf6801028c; + address internal constant FRAXSWAP_PAIR_FRAX_ZZ_V2 = 0x5E8c1aD4c3D04f059d5c1A2Ce4593e53be270bca; + address internal constant ADDRESS_MANAGER = 0x8c5D64d10394cFa070066e70Ec19E67398b4dABE; + address internal constant BASE_FEE_VAULT_RECIPIENT = 0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27; + address internal constant BATCH_INBOX = 0xfF000000000000000000000000000000000420fC; + address internal constant BATCH_SENDER = 0x6017f75108f251a488B045A7ce2a7C15b179d1f2; + address internal constant DISPUTE_GAME_FACTORY_PROXY = 0x3AA7e876880CB34371c01f1510B1e0A932dCb8C1; + address internal constant FINAL_SYSTEM_OWNER = 0xe0d7755252873c4eF5788f7f45764E0e17610508; + address internal constant FRAXTAL_COMPTROLLER = 0xe0d7755252873c4eF5788f7f45764E0e17610508; + address internal constant FRAXTAL_DEPLOYER = 0xe0d7755252873c4eF5788f7f45764E0e17610508; + address internal constant L1_CROSS_DOMAIN_MESSENGER_IMPL_V2 = 0xC6e4ECE5576dC96846bb11eD8910f3dF3CE516b8; + address internal constant L1_CROSS_DOMAIN_MESSENGER_PROXY = 0x126bcc31Bc076B3d515f60FBC81FddE0B0d542Ed; + address internal constant L1_CROSS_DOMAIN_MESSENGER__IMPL_V1 = 0x31c25985E6b10CF335FC01cf9790aF4890d0505c; + address internal constant L1_ERC721_BRIDGE_IMPL_V2 = 0x7eE1637C33Ed0DFEE6403f3301B6d404106018e4; + address internal constant L1_ERC721_BRIDGE_PROXY = 0xa9B5Fb84B7aeAF0D51C95DB04a76B1D4738D0eC5; + address internal constant L1_ERC721_BRIDGE__IMPL_V1 = 0x23A0478996241F9f966b7054c06FdeB96Ddf3475; + address internal constant L1_STANDARD_BRIDGE_IMPL_V2_ADDR = 0x30Cd695249394eED44C576f2caEC5304be6455F9; + address internal constant L1_STANDARD_BRIDGE_PROXY = 0x34C0bD5877A5Ee7099D0f5688D65F4bB9158BDE2; + address internal constant L1_STANDARD_BRIDGE__IMPL_V1_ADDR = 0xCC26248B71284B812Ff7825e005560DB01a874C7; + address internal constant L2_OUTPUT_ORACLE_CHALLENGER = 0xe0d7755252873c4eF5788f7f45764E0e17610508; + address internal constant L2_OUTPUT_ORACLE_IMPL_V2 = 0x6f3CcC8C9DAf8B9b39aDe481213Ff7A626a42B65; + address internal constant L2_OUTPUT_ORACLE_PROPOSER = 0xFb90465f3064fF63FC460F01A6307eC73d64bc50; + address internal constant L2_OUTPUT_ORACLE_PROXY = 0x66CC916Ed5C6C2FA97014f7D1cD141528Ae171e4; + address internal constant L2_OUTPUT_ORACLE__IMPL_V1 = 0xA30ADd78D5be6B2B55C934666bb4fF2C4429d800; + address internal constant OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = 0x11FE3be54aC01C13Dd985cE2BdD10eD77e1376cc; + address internal constant OPTIMISM_PORTAL_IMPL_V2_ADDR = 0x47Ec03B67ba4f3C71a4320D2947f2173E0B45a23; + address internal constant OPTIMISM_PORTAL_PROXY = 0x36cb65c1967A0Fb0EEE11569C51C2f2aA1Ca6f6D; + address internal constant OPTIMISM_PORTAL__IMPL_V1_ADDR = 0x59B6903044Fa9439a5D621D3605789A6E654b1D6; + address internal constant P2P_SEQUENCER_ADDRESS = 0xc88138f5c82DD1bD327708C7F1c15E44Ce7FdA0C; + address internal constant PORTAL_GUARDIAN = 0xe0d7755252873c4eF5788f7f45764E0e17610508; + address internal constant PROTOCOL_VERSIONS_IMPL_V2 = 0xeE1d28b0FB299BcE1E164aCc001c15e283082bA2; + address internal constant PROTOCOL_VERSIONS_PROXY = 0x3c7EA1c10Eb783fE86e4eEd202324dCFEEca9043; + address internal constant PROXY_ADMIN = 0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA; + address internal constant PROXY_ADMIN_OWNER = 0xe0d7755252873c4eF5788f7f45764E0e17610508; + address internal constant STORAGE_SETTER = 0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A; + address internal constant SUPERCHAIN_CONFIG_GUARDIAN = 0xe0d7755252873c4eF5788f7f45764E0e17610508; + address internal constant SUPERCHAIN_CONFIG_IMPL_V2 = 0x0d9C39c64CF8eDA1EdFeBD78AFa895bAA797eFc4; + address internal constant SUPERCHAIN_CONFIG_PROXY = 0x61ca43CB037aC9181d8Fa5CD0073dC314065Ccc4; + address internal constant SYSTEM_CONFIG_IMPL_V2_ADDR = 0x4D7A1a16d0DA89B50FBd8b524508FC393A6Dc367; + address internal constant SYSTEM_CONFIG_PROXY = 0x34a9f273cbD847d49c3De015FC26c3E66825f8b2; + address internal constant SYSTEM_CONFIG__IMPL_V1_ADDR = 0x22052c592f763CA14a090D9974c5Bf9Fd3a44b8c; + address internal constant SYSTEM_OWNER_SAFE = 0xe0d7755252873c4eF5788f7f45764E0e17610508; + address internal constant BALANCER_FRXETH_BB_A_WETH_GAUGE = 0xE3f4e2b79f1a8bf3b14d9100323Fca24D923f796; + address internal constant CONVEX_FRAXBP_ARBITRUM = 0x636A9d7686bFA0a2ddd93b37A1E33bCdE6C31e8D; + address internal constant CONVEX_FRAX_FXB_20241231_ARBITRUM = 0xba1ED260F9a81088Ecb7602F790a67C773817BDA; + address internal constant CONVEX_FRAX_FXB_20261231_ARBITRUM = 0x2A8499c4a86F7c07e311c73E36575A0Dc2D362C3; + address internal constant CONVEX_FRXETH_WETH_ARBITRUM = 0x5608051D98377419d7D861531728DFB869dDc054; + address internal constant CONVEX_HFXB_FRAX_ARBITRUM = 0x53e78a6e12146565c7d7307d07A3C1ABacf3E20F; + address internal constant CONVEX_SQUID_WFRXETH_FRAXTAL = 0xE096E62B4b23C46a748828083458e22b014640f3; + address internal constant CONVEX_USD_FRAXBP = 0x840f20ffED887c61435E81fd1231CB923df39d3d; + address internal constant CURVE_VSTFRAX_F = 0x127963A74c07f72D862F2Bdc225226c3251BD117; + address internal constant FLE_FXS_WFRXETH_FRAXTAL = 0x6f82A6551cc351Bc295602C3ea99C78EdACF590C; + address internal constant FLE_FRAX_FXS_FRAXTAL = 0x83Dc6775c1B0fc7AaA46680D78B04b4a3d4f5650; + address internal constant FRAXSWAP_V2_FRAX_FPI_FRAXTAL = 0x3B78BdC7575896701C4e32f9D070AA387fcEB22b; + address internal constant FRAXSWAP_V2_FRAX_FXS_FRAXTAL = 0x99FA1928A9Fea45b8d1395e870a92a0675A10E6E; + address internal constant FRAXSWAP_V2_FRAX_SFRXETH_FRAXTAL = 0x007c874a4240f8C31B4BfE6D91f47b903e2E3BE1; + address internal constant FRAXSWAP_V2_FRAX_WFRXETH_FRAXTAL = 0x8Fa7B006538F0710BD5fEfBd5737eBDD8B487166; + address internal constant KYBERSWAP_ELASTIC_FRAX_USDC_ARBITRUM = 0x0884c9Bb52348fa76d4e1c6Ea042A2EaF0b72c6C; + address internal constant KYBERSWAP_ELASTIC_FRAX_USDC_OPTIMISM = 0x9c9e8E8ccD7dAF6AfAB436829992B3Cf408319B4; + address internal constant KYBERSWAP_ELASTIC_FRAX_USDC_POLYGON = 0x11c9C6F9e983bf6E10296A9ce09D4572F664FF25; + address internal constant MSTABLE_FRAX_MUSD = 0x3e14f6EEDCC5Bc1d0Fc7B20B45eAE7B1F74a6AeC; + address internal constant SADDLE_L2D4_ARBITRUM = 0x9B8AEd182B8A9430C14e97Bf2C02F129f2b36854; + address internal constant SENTIMENT_LFRAX = 0x86c0A521807f43A646978e9f302BAF693350eAa3; + address internal constant SNOWBALL_S4D = 0x66fD216bCBeb566EF038A116B7270f241005e186; + address internal constant SPIRITSWAP_FRAX_FXS = 0xebF993690F65B23862E10F489656529ac06A27B8; + address internal constant AAVE_AMO = 0x66635DC1EdEfF19e839f152a67278151Aa6e1B61; + address internal constant AMO_MINTER = 0xcf37B62109b537fa0Cb9A90Af4CA72f6fb85E241; + address internal constant AMO_MINTER_OLD = 0x36a0B6a5F7b318A2B4Af75FFFb1b51a5C78dEB8C; + address internal constant BALANCE_CHECKER = 0x0be27F994E24F8C3E5f6D0C28AbB5732256ee205; + address internal constant BUNDLE_UTILS = 0xD1a7b80a954e56bfd7bd889aF6e2BE8674719F5d; + address internal constant CONVEX_AMO = 0x49ee75278820f409ecd67063D8D717B38d66bd71; + address internal constant CONVEX_AMO_ADMIN = 0xE53d45ABe10Ce20427D20c5a1b6360Fa5BA0cE0A; + address internal constant CRVFRAX_VAULT = 0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139; + address internal constant CURVE_AMO = 0x72170Cdc48C33a6AE6B3E83CD387ca3Fb9105da2; + address internal constant CURVE_AMO_IMPL_V1 = 0x5840Db064e17480f8e8E74fD6714C9c316f7DdFE; + address internal constant CURVE_AMO_V1 = 0xbd061885260F176e05699fED9C5a4604fc7F2BDC; + address internal constant CURVE_AMO_V2 = 0xD103FEf74D05FbC20B5184FE85c7187735355DB3; + address internal constant CURVE_AMO_V5 = 0xf8a4ffe7C980fD50B160b7B86dCd5e9eb7E281a9; + address internal constant CURVE_AMO_ADMIN = 0x900909C07c2761d84C5d863FF5905102916DF69C; + address internal constant CURVE_METAPOOL_LOCKER = 0x70F55767B11c047C8397285E852919F5f6c8DC60; + address internal constant CURVE_METAPOOL_LOCKER_2 = 0xE4BD0461AE7fdc76c61CE286a80c9B55d83B204a; + address internal constant CURVE_VOTER_PROXY = 0x847FA1A5337C7f24D7066E467F2e2A0f969Ca79F; + address internal constant CVX_LOCKER_AMO = 0x7038C406e7e2C9F81571557190d26704bB39B8f3; + address internal constant CVX_LOCKER_AMO_V2 = 0x72a19342e8F1838460eBFCCEf09F6585e32db86E; + address internal constant DEPOSIT_CONTRACT_ADDRESS = 0x00000000219ab540356cBB839Cbe05303d7705Fa; + address internal constant ETH_ADDRESS = 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE; + address internal constant FPI_CONTROLLER_AMO = 0x2397321b301B80A1C0911d6f9ED4b6033d43cF51; + address internal constant FRAX3CRV_CURVE_FXS_DISTRIBUTOR = 0xBBbAf1adf4d39B2843928CCa1E65564e5ce99ccC; + address internal constant FRAX3CRV_CURVE_REWARDS_DISTRIBUTOR_EOA = 0x73f9F84B04584227b4f0bafFd8B37D6D0C11a23c; + address internal constant FRAX_GAUGE_CONTROLLER = 0x44ade9AA409B0C29463fF7fcf07c9d3c939166ce; + address internal constant FRAX_GAUGE_CONTROLLER_V2 = 0x3669C421b77340B2979d1A00a792CC2ee0FcE737; + address internal constant FRAX_GAUGE_REWARDS_DISTRIBUTOR = 0x278dC748edA1d8eFEf1aDFB518542612b49Fcd34; + address internal constant FRAX_GAUGE_NOOP_REWARDS_DISTRIBUTOR = 0x48D9A9e67e9deCfD493efE2B3D3B5291fc802e5F; + address internal constant FRAX_GAUGE_V2 = 0x72E158d38dbd50A483501c24f792bDAAA3e7D55C; + address internal constant FRAXLEND_AMO = 0x0Ed8fA7FC63A8eb5487E7F87CAF1aB3914eA4eCa; + address internal constant FRAXLEND_AMO_V3 = 0xf6E697e95D4008f81044337A749ECF4d15C30Ea6; + address internal constant FRXETH_MINTER = 0xbAFA44EFE7901E04E39Dad13167D089C559c1138; + address internal constant FXS_1559_AMO = 0x9C6a04871D11b33645ab592f68C41bb2B41F51EE; + address internal constant FXS_1559_AMO_V2 = 0xC80C48862E4254F37047235298eDb6AA35717C24; + address internal constant FXS_1559_AMO_V2_ADMIN = 0xCaa487D113ad1C34Ce128c4f3a2A437614C6a692; + address internal constant FXS_1559_AMO_V2_IMPL_V1 = 0xCDe9A4e885B87a893b8817D136FD2F404B54294f; + address internal constant FXS_1559_AMO_V3 = 0xb524622901b3f7b5DeA6501E9830700C847C7DC5; + address internal constant INVESTOR_AMO = 0xB8315Af919729c823B2d996B1A6DDE381E7444f1; + address internal constant INVESTOR_AMO_V1 = 0xEE5825d5185a1D512706f9068E69146A54B6e076; + address internal constant INVESTOR_AMO_ADMIN = 0x069c24600c2A03147D4E1D9b04d193151676F577; + address internal constant INVESTOR_AMO_IMPL_V1 = 0xdE3C8aA7f53a69c595b7720045000A68Cb9CB341; + address internal constant LENDING_AMO = 0x9507189f5B6D820cd93d970d67893006968825ef; + address internal constant MANUAL_TOKEN_TRACKER_AMO = 0xEc8672dd770D59FaD9a811591a5Edd40e8F6A413; + address internal constant MIGRATION_BUNDLE_UTILS = 0x239c957d42343B3d91FABc7c16E7F1e30Bc32E5B; + address internal constant MIGRATION_HELPER = 0xe16723A08Ae054a8F20BDc0395389569011e78D6; + address internal constant MIM_CONVEX_AMO = 0x31183a2CCe8d1BFBBFE140Ea1A1264A454Fc821E; + address internal constant MINT_UTILITIES = 0xE054C1ab5D548E0144ab3F89a8f5809137819906; + address internal constant MSIG_HELPER = 0x977eaDb6fa9b8E1a2A950CcDE1A75a7b527a8cBB; + address internal constant MULTICALL_OZ_DELEGATECALL = 0x1EA632b997B7c7068ac48aDe8040652a8AF9FbbB; + address internal constant MULTISIG = 0xFa27873EA2F0eA9DcD2052848C4A7F8ADE8a3936; + address internal constant OHM_AMO = 0x5699d20732a2EFa9A895EF04bb210aa751C4dB96; + address internal constant OHM_AMO_ADMIN = 0xE53d45ABe10Ce20427D20c5a1b6360Fa5BA0cE0A; + address internal constant RARI_AMO = 0x96665d63c1B53f8335e3c9287Ee255f306C93c45; + address internal constant RAGEQUITTER_TEMPLE = 0xB12C76b92936d136Fd8264F6EFcBb06458338D97; + address internal constant STAKEDAO_AMO = 0x375278D3C65f29C1A90E8550888f1439cFeFe465; + address internal constant STAKING_UTILITIES = 0xE4de6E1DF1FE135D6462554d0Fd36A14d787f689; + address internal constant TIMELOCK = 0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA; + address internal constant TOKEMAK_AMO = 0x4e710B33c87CEDF832Cd82E11d743A011864f733; + address internal constant TOKEN_TRACKER_AMO = 0x3F702a8F6c9f9F7ABdfEA67f89d33F18e0368600; + address internal constant TOKEN_TRACKER_V2 = 0x37336AD1F3A145C710247E6a14C9AcC7f34D09eE; + address internal constant TWAMM_AMO = 0x11Fc7df1fb0E51f9c9AB8f575d9bbaDC92FA425B; + address internal constant TWAMM_AMO_V2 = 0x629C473e0E698FD101496E5fbDA4bcB58DA78dC4; + address internal constant UNIV2_TO_UNIV3_MIGRATOR_ADDRESS = 0x7b50137E8996A1717a6D97a0527e4c5D2D133405; + address internal constant UNIV3_LIQUIDITY_AMO = 0x3814307b86b54b1d8e7B2Ac34662De9125F8f4E6; + address internal constant UNIV3_LIQUIDITY_AMO_V2 = 0xc91Bb4b0696e3b48c0C501B4ce8E7244Fc363A79; + address internal constant VEFXS_SMART_WALLET_CHECKER = 0x53c13BA8834a1567474b19822aAD85c6F90D9f9F; + address internal constant VEFXS_YIELD_DISTRIBUTOR = 0x19a0a70a68fbC604Bf20A03b787df8f7AC1d50f0; + address internal constant VEFXS_YIELD_DISTRIBUTOR_V2 = 0x62C4cf364078C98fA08AfDB4D3d8D87e780Ebd45; + address internal constant VEFXS_YIELD_DISTRIBUTOR_V3 = 0xed2647Bbf875b2936AAF95a3F5bbc82819e3d3FE; + address internal constant VEFXS_YIELD_DISTRIBUTOR_V4 = 0xc6764e58b36e26b08Fd1d2AeD4538c02171fA872; + address internal constant VEFPIS_YIELD_DISTRIBUTOR_V4 = 0xE6D31C144BA99Af564bE7E81261f7bD951b802F6; + address internal constant VEFPIS_SMART_WALLET_CHECKER = 0x81903F6f9675f7b500eAFE20681bD2D7BAb7C71b; + address internal constant YIELDSPACE_AMO = 0x8971946467a77b798762823434c0f407d20F9df9; + address internal constant ADVISORS_MULTISIG = 0x874a873e4891fB760EdFDae0D26cA2c00922C404; + address internal constant BEE_USER = 0x733371d7C15ACECF9e120dd037D6BcDb6E069148; + address internal constant COMMUNITY_MULTISIG = 0x63278bF9AcdFC9fA65CFa2940b89A34ADfbCb4A1; + address internal constant COMPTROLLER_MULTISIG = 0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27; + address internal constant CURVEAMO_OPERATOR_ADDRESS = 0x8D8Cb63BcB8AD89Aa750B9f80Aa8Fa4CfBcC8E0C; + address internal constant FPI_COMPTROLLER_MULTISIG = 0x6A7efa964Cf6D9Ab3BC3c47eBdDB853A8853C502; + address internal constant FPI_CORE_CONTRIBUTORS_TEAM_MULTISIG = 0x708695db8dF61e646571E78b9b3e2BAd7D6c42E3; + address internal constant FPI_TREASURY_MULTISIG = 0x5181C3c36bD52F783e6E1771d80b1e3AdCB36019; + address internal constant FRAXLEND_MAIN_MULTISIG = 0x168200cF227D4543302686124ac28aE0eaf2cA0B; + address internal constant FRAXLEND_OPERATOR_MULTISIG = 0xa4EC124e09D6D1A092c6BD16aFac9CD83f73E3c3; + address internal constant FRAXLEND_CIRCUIT_BREAKER_MULTISIG = 0xfd3065C629ee890Fd74F43b802c2fea4B7279B8c; + address internal constant FRXETH_COMPTROLLER = 0x8306300ffd616049FD7e4b0354a64Da835c1A81C; + address internal constant FRXETH_OWNER = 0x8306300ffd616049FD7e4b0354a64Da835c1A81C; + address internal constant FXB_MULTISIG = 0x831822660572bd54ebaa065C2acef662a6277D40; + address internal constant INVESTORS_MULTISIG = 0xa95f86fE0409030136D6b82491822B3D70F890b3; + address internal constant TEAM_MULTISIG = 0x8D4392F55bC76A046E443eb3bab99887F4366BB0; + address internal constant TIMELOCK_ADDRESS = 0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA; + address internal constant TREASURY_MULTISIG = 0x9AA7Db8E488eE3ffCC9CdFD4f2EaECC8ABeDCB48; + address internal constant WALLET_WITH_CRVFRAX = 0xCFc25170633581Bf896CB6CDeE170e3E3Aa59503; + address internal constant WALLET_WITH_USDC = 0xD6216fC19DB775Df9774a6E33526131dA7D19a2c; + address internal constant WALLET_WITH_WETH = 0x8EB8a3b98659Cce290402893d0123abb75E3ab28; + address internal constant AFRAX = 0xd4937682df3C8aEF4FE912A96A74121C0829E664; + address internal constant AGEURFRAXBP = 0x22e859Ee894c2068920858A60b51DC03ac5581c1; + address internal constant AGEURFRAXBP_POOL = 0x58257e4291F95165184b4beA7793a1d6F8e7b627; + address internal constant ALCXFRAXBP = 0xf985005a3793DbA4cCe241B3C19ddcd3Fe069ff4; + address internal constant ALCXFRAXBP_POOL = 0x4149d1038575CE235E03E03B39487a80FD709D31; + address internal constant ALETHFRXETH = 0x97Ba76a574bC5709b944bB1887691301c72337Ca; + address internal constant ALETHFRXETH_POOL = 0x97Ba76a574bC5709b944bB1887691301c72337Ca; + address internal constant ALUSDFRAXBP = 0xB30dA2376F63De30b42dC055C93fa474F31330A5; + address internal constant ALUSDFRAXBP_POOL = 0xB30dA2376F63De30b42dC055C93fa474F31330A5; + address internal constant ANKRETHFRXETH = 0xa8e14F03124Ea156A4fc416537c82ff91a647D50; + address internal constant ANKRETHFRXETH_POOL = 0x41eA4045de2676727883aa0B4E43D7e32261f559; + address internal constant APEUSDFRAXBP = 0x04b727C7e246CA70d496ecF52E6b6280f3c8077D; + address internal constant APEUSDFRAXBP_POOL = 0x04b727C7e246CA70d496ecF52E6b6280f3c8077D; + address internal constant AUSDC = 0xBcca60bB61934080951369a648Fb03DF4F96263C; + address internal constant BADGERFRAXBP = 0x09b2E090531228d1b8E3d948C73b990Cb6e60720; + address internal constant BADGERFRAXBP_POOL = 0x13B876C26Ad6d21cb87AE459EaF6d7A1b788A113; + address internal constant BUSDFRAXBP = 0x8fdb0bB9365a46B145Db80D0B1C5C5e979C84190; + address internal constant BUSDFRAXBP_POOL = 0x8fdb0bB9365a46B145Db80D0B1C5C5e979C84190; + address internal constant CAAVE = 0xe65cdB6479BaC1e22340E4E755fAE7E509EcD06c; + address internal constant CBETHFRXETH = 0x548E063CE6F3BaC31457E4f5b4e2345286274257; + address internal constant CBETHFRXETH_POOL = 0x73069892f6750CCaaAbabaDC54b6b6b36B3A057D; + address internal constant CLEVUSDFRAXBP = 0x84C333e94AEA4a51a21F6cf0C7F528C50Dc7592C; + address internal constant CLEVUSDFRAXBP_POOL = 0x84C333e94AEA4a51a21F6cf0C7F528C50Dc7592C; + address internal constant COILFRAXBP = 0xb85010193FD15aF8390dbD62790Da70F46c1126B; + address internal constant COILFRAXBP_POOL = 0xAF4264916B467e2c9C8aCF07Acc22b9EDdDaDF33; + address internal constant CRVFRAX = 0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC; + address internal constant CRVFRAX_GAUGE = 0xCFc25170633581Bf896CB6CDeE170e3E3Aa59503; + address internal constant CRVFRXETH = 0xc34993c9aDf6a5AB3b4cA27dC71b9c7894A53974; + address internal constant CRVFRXETH_POOL = 0x442F37cfD85D3f35e576AD7D63bBa7Bb36fCFe4a; + address internal constant CRVUSDFRAX = 0x0CD6f267b2086bea681E922E19D40512511BE538; + address internal constant CRVUSDFRAX_GAUGE = 0x96424E6b5eaafe0c3B36CA82068d574D44BE4e3c; + address internal constant CRVUSDFRAX_POOL = 0x0CD6f267b2086bea681E922E19D40512511BE538; + address internal constant CURVE4POOL = 0x4e0915C88bC70750D68C481540F081fEFaF22273; + address internal constant CUSDC = 0x39AA39c021dfbaE8faC545936693aC917d5E7563; + address internal constant CVGFRAXBP = 0x421E13b4e805993A0d50aD8c6c47A4F693f04424; + address internal constant CVGFRAXBP_GAUGE = 0x8A111B47B31bBa40C2F0D2f9a8Cf6B6C4B50114E; + address internal constant CVGFRAXBP_POOL = 0xa7B0E924c2dBB9B4F576CCE96ac80657E42c3e42; + address internal constant CVXAGEURFRAXBP = 0x9e187393cBc76c8Bf8e8a06bD7737a7cabe9d66C; + address internal constant CVXAGEURFRAXBP_REWARDER = 0x17962aB30c7F291b125A0A38d0ad220ab22F8a5B; + address internal constant CVXALCXFRAXBP = 0xCf9fC20189755354edDdED66C9ED9DFADAFd7a2E; + address internal constant CVXALCXFRAXBP_REWARDER = 0xC10fD95fd3B56535668426B2c8681AD1E15Be608; + address internal constant CVXALUSDFRAXBP = 0x5BcAfc77f19F72bCf1420cC1722c3e06E16Ec29a; + address internal constant CVXALUSDFRAXBP_REWARDER = 0x26598e3E511ADFadefD70ab2C3475Ff741741104; + address internal constant CVXAPEUSDFRAXBP = 0x04b727C7e246CA70d496ecF52E6b6280f3c8077D; + address internal constant CVXAPEUSDFRAXBP_REWARDER = 0x51e6B84968D56a1E5BC93Ee264e95b1Ea577339c; + address internal constant CVXBADGERFRAXBP = 0x25f0b7c3A7A43b409634a5759526560cC3313d75; + address internal constant CVXBADGERFRAXBP_REWARDER = 0xe0705A91984b076C250d410A41f615380aF1C2ed; + address internal constant CVXBUSDFRAXBP = 0xf203A94e59d071062a0dd31f396bCb19a38809A4; + address internal constant CVXBUSDFRAXBP_REWARDER = 0x9e6Daf019767D5cEAdE416ce77E8d187b5B254F3; + address internal constant CVXCLEVUSDFRAXBP = 0x84C333e94AEA4a51a21F6cf0C7F528C50Dc7592C; + address internal constant CVXCLEVUSDFRAXBP_REWARDER = 0x710e85B2793b3AE88Cb1Da3cb25b3d62D810d180; + address internal constant CVXCOILFRAXBP = 0x624cEFdBe30507EEAc71882C9e42Ca0900D5B6a1; + address internal constant CVXCOILFRAXBP_REWARDER = 0xAE0b6b66378C7DEFc0514D7cBc6E4e92Cf56b0af; + address internal constant CVXCRVFRAX = 0x117A0bab81F25e60900787d98061cCFae023560c; + address internal constant CVXCRVFRAXBP = 0x527331F3F550f6f85ACFEcAB9Cc0889180C6f1d5; + address internal constant CVXCRVFRAXBP_POOL = 0x31c325A01861c7dBd331a9270296a31296D797A0; + address internal constant CVXCRVFRAX_REWARDER = 0x7e880867363A7e321f5d260Cade2B0Bb2F717B02; + address internal constant CVXCRVUSDFRAX = 0x01CcDe1dFb6c84e1Cc13a6Bf777aa2160ABd11BA; + address internal constant CVXCRVUSDFRAX_REWARDER = 0x3CfB4B26dc96B124D15A6f360503d028cF2a3c00; + address internal constant CVXCRV_REWARDER = 0x3Fe65692bfCD0e6CF84cB1E7d24108E434A7587e; + address internal constant CVXCVGFRAXBP = 0x3cB8E5cac768D6Dd3E7683dBC78E255aae66EDBB; + address internal constant CVXCVGFRAXBP_REWARDER = 0x0736b746F53826A1eEC888a05EBF592AF68946Db; + address internal constant CVXCVXCRVFRAXBP = 0x2aE739F40Cda5F053F9dbecE7E177Fcbdc4A07D9; + address internal constant CVXCVXCRVFRAXBP_REWARDER = 0xdEbc7B51043b4D0dd4f3310C68A12382b8843ceE; + address internal constant CVXCVXFRAXBP = 0x123dC033d6fF314211F7953eD31bC805f85C13d5; + address internal constant CVXCVXFRAXBP_REWARDER = 0xf02B3A77b1e7775de10294d78a4c3d77772B484A; + address internal constant CVXCVXFXSFRAXBP = 0xDad9DB2c7c96a1496493E6D48d131a2667f284f9; + address internal constant CVXCVXFXSFRAXBP_REWARDER = 0x19eA715F854dB2196C6f45A174541a5Ac884D2f9; + address internal constant CVXDOLAFRAXBP = 0xf7eCC27CC9DB5d28110AF2d89b176A6623c7E351; + address internal constant CVXDOLAFRAXBP_REWARDER = 0x0404d05F3992347d2f0dC3a97bdd147D77C85c1c; + address internal constant CVXDOLAFRAXPYUSD = 0x430bE19e180fd8c2199eC5FAEabE2F5CDba68C94; + address internal constant CVXDOLAFRAXPYUSD_REWARDER = 0xE8cBdBFD4A1D776AB1146B63ABD1718b2F92a823; + address internal constant CVXEUSDFRAXBP = 0x8e074d44aaBC1b3b4406fE03Da7ceF787ea85938; + address internal constant CVXEUSDFRAXBP_REWARDER = 0xB468dB2E478885B87D7ce0C8DA1D4373A756C138; + address internal constant CVXFPIFRAX_F = 0x28ebAb5Ecbc3efB4116205c2D3237d8b16976B06; + address internal constant CVXFRAXBP = 0x7F17A6C77C3938D235b014818092eb6305BdA110; + address internal constant CVXFRAXBP_POOL = 0xBEc570d92AFB7fFc553bdD9d4B4638121000b10D; + address internal constant CVXFRAXFPI_NG = 0xBA927A88eb7B7902ffC5cd99b94fA2964d1a1E03; + address internal constant CVXFRAXFPI_NG_REWARDER = 0x062450B06EB92F1C4E227C41c987ed97c93Ae232; + address internal constant CVXFRAXFXB_20240630 = 0x5A82ae31C1a36833B9E148d01E967c1b05eDb346; + address internal constant CVXFRAXFXB_20240630_REWARDER = 0x830a71574E3c8AE9da477cE1B7F12849E9f7c8c8; + address internal constant CVXFRAXFXB_20241231 = 0x06382622D0FafB372dA64b765EAd3d082a8BCabB; + address internal constant CVXFRAXFXB_20241231_REWARDER = 0x249cE0b1a682AD7b02e43271f9f0C9ac85Ec47e8; + address internal constant CVXFRAXFXB_20261231 = 0x7Ce2F444D0B034f44EeA4FE77608f0c680966D20; + address internal constant CVXFRAXFXB_20261231_REWARDER = 0xC9F6D73fD06b8EEB0A4E87cAd407219E10F31712; + address internal constant CVXFRAXPYUSD = 0x839CF70a09f1CB104b4eb0B48E26B855A0F7e855; + address internal constant CVXFRAXPYUSD_REWARDER = 0xB10a6e39Ed8a66fEd3aAef3866a95611a49B9a95; + address internal constant CVXFRAXSDAI = 0xAb4feFd9cabC03D935cAD345b7626C3180238fb3; + address internal constant CVXFRAXSDAI_REWARDER = 0xE627082369689b2B86D948c377A4aE4e739C59eE; + address internal constant CVXFRAXUSDP = 0x29c22337E3ce362Ce4ad8ecc9CE11fE5A08DBA3c; + address internal constant CVXFRAXUSDP_REWARDER = 0x6991C1CD588c4e6f6f1de3A0bac5B8BbAb7aAF6d; + address internal constant CVXFRXETH = 0xBb2568deeb365b8B89ef7F9B53E86B34cd5D0490; + address internal constant CVXFRXETHALETH = 0x112E8f4b685475CcEd5C38142Cd7A2aE41ef6737; + address internal constant CVXFRXETHALETH_REWARDER = 0xe0DbbCF08A5465db7c7401C86cce89030e11aB67; + address internal constant CVXFRXETHANKRETH = 0xc18695D5824C49cF50E054953B3A5910c45597A0; + address internal constant CVXFRXETHANKRETH_REWARDER = 0xc18695D5824C49cF50E054953B3A5910c45597A0; + address internal constant CVXFRXETHCBETH = 0x39E1Ea9CB87a352CfFd43e0b19D573d12cf110CC; + address internal constant CVXFRXETHCBETH_REWARDER = 0x0080d49D4a4921dF0F3853c5e4533462A51fbb29; + address internal constant CVXFRXETHCRV = 0x41603dA2DD26E6fe29CAe074fC6772053A39C2A9; + address internal constant CVXFRXETHCRV_REWARDER = 0xd5dC65ec6948845C1C428fb60BE38FE59B50BD13; + address internal constant CVXFRXETHCVX = 0xAc4b1295F9Aeb1DB29acB37902bE349a79a66403; + address internal constant CVXFRXETHCVX_REWARDER = 0xA064C1EeEbECD1DF41432f4B7264F508F005aF0C; + address internal constant CVXFRXETHETH = 0xC07e540DbFecCF7431EA2478Eb28A03918c1C30E; + address internal constant CVXFRXETHETH_REWARDER = 0xbD5445402B0a287cbC77cb67B2a52e2FC635dce4; + address internal constant CVXFRXETHMSETH = 0x29889a5fE8e467da8af697C5f1eB901F4911Ab50; + address internal constant CVXFRXETHMSETH_REWARDER = 0x15507737f44446EB0A86147E2C72Aa6A111A64B2; + address internal constant CVXFRXETHPETH = 0x1941da8D12A6B39B76bd54c865c8cD3a4553E9C3; + address internal constant CVXFRXETHPETH_REWARDER = 0x42aaC689261723d06d2a8f356448bd8249f831Bc; + address internal constant CVXFRXETHPXETH = 0xDE183818eb02AfEa367C1AAFF1BFdeDecE6B2B05; + address internal constant CVXFRXETHPXETH_REWARDER = 0x72b99E2cf3f9A2bbDA1Cc76894E4554d7aA8FE2E; + address internal constant CVXFRXETHRETH = 0xeEC515BE690BF445c8C4d1625FD82FA75Bc38bf6; + address internal constant CVXFRXETHRETH_REWARDER = 0x84754821b5484A69DB3164eF4eDC5A5657318039; + address internal constant CVXFRXETHRETH_STAFI = 0x02a2206268b49A9b3ee5DD51577E5bDa0072d5F1; + address internal constant CVXFRXETHRETH_STAFI_REWARDER = 0xf011aD8E91D1dc8625e5548755AEa1F6Fff81089; + address internal constant CVXFRXETHSETH = 0xf67FEC3D0A32418813bE2BcdD78e058BCFa33AE8; + address internal constant CVXFRXETHSETH_REWARDER = 0x55cdF6c7E6d04b83835E4702ed395D0263237DA2; + address internal constant CVXFRXETHSTETH = 0x01492A2cB0Bd14034710475197B4169501B49Ead; + address internal constant CVXFRXETHSTETH_REWARDER = 0xC3D0B8170E105d6476fE407934492930CAc3BDAC; + address internal constant CVXFRXETHWETH = 0xAA71e0065A29F2529aBC0F615874009287966229; + address internal constant CVXFRXETHWETH_REWARDER = 0xFafDE12dC476C4913e29F47B4747860C148c5E4f; + address internal constant CVXFRXETHZETH = 0x52EdB08ab81e4Cc32cf318aed17dB11c09C3E8B9; + address internal constant CVXFRXETHZETH_REWARDER = 0x98B662443695f7328F6A7fDe9894CC0E88630269; + address internal constant CVXFRXETHZUNETH = 0xCB5d9126402cC17eF47b81BD48B43D52bF474Cd4; + address internal constant CVXFRXETHZUNETH_REWARDER = 0x756d67A10974Fa0e0cE63F82AF4E7ef0d46d452D; + address internal constant CVXFRXETH_POOL = 0x6E855d08f2984516c40C4246A385bA4A2eDFcd0A; + address internal constant CVXFXSFRAXBP = 0xF57ccaD8122B898A147Cc8601B1ECA88B1662c7E; + address internal constant CVXFXSFRAXBP_POOL = 0x21d158d95C2e150e144c36FC64E3653B8D6c6267; + address internal constant CVXGRAIFRAXBP = 0x6CceedbC3551B619da21e552623Dc7C64Ae15168; + address internal constant CVXGRAIFRAXBP_REWARDER = 0xC4581E043F676b95Eb1430474C69f3559a758086; + address internal constant CVXGUSD3CRV_FREE = 0x15c2471ef46Fa721990730cfa526BcFb45574576; + address internal constant CVXGUSDFRAXBP = 0xfbd79471A12929De8379a6CbaF320E150f139ac4; + address internal constant CVXGUSDFRAXBP_REWARDER = 0x47809eE386D1dEC29c0b13f21ba30F564517538B; + address internal constant CVXLUSDFRAXBP = 0xE8a371b5D32344033589A2F0a2712dBD12130b18; + address internal constant CVXLUSDFRAXBP_REWARDER = 0x053e1dad223A206e6BCa24C77786bb69a10e427d; + address internal constant CVXMAIFRAXBP = 0xe79914274Ea1332222793d7ba931647531E10a5b; + address internal constant CVXMAIFRAXBP_REWARDER = 0xD3C412C3cEdbEC604425B23DCd79Aa1ac810622f; + address internal constant CVXMKUSDFRAXBP = 0x187601595F6D5746566BC0361a48d13066F11C71; + address internal constant CVXMKUSDFRAXBP_REWARDER = 0x35FbE5520E70768DCD6E3215Ed54E14CBccA10D2; + address internal constant CVXMSUSDFRAXBP = 0xc3b19502F8c02be75F3f77fd673503520DEB51dD; + address internal constant CVXMSUSDFRAXBP_REWARDER = 0xF189A4a1E845Fd62944F93De497409798523B397; + address internal constant CVXOHMFRAXBP = 0x5271045F7B73c17825A7A7aee6917eE46b0B7520; + address internal constant CVXOHMFRAXBP_REWARDER = 0x27A8c58e3DE84280826d615D80ddb33930383fE9; + address internal constant CVXPUSDFRAXBP = 0xB17255D92892F1322d023befddaB85f172E36f67; + address internal constant CVXPUSDFRAXBP_REWARDER = 0x6d096C99Cc2Ea52490355311b73D86365Acf087f; + address internal constant CVXRSRFRAXBP = 0x022600684e9492dA82f0da11Bf039c11109d0935; + address internal constant CVXRSRFRAXBP_REWARDER = 0x28441fb9b8b026487A6174Ff39Be015810611C0F; + address internal constant CVXSDTFRAXBP = 0x95B051E97957f1D48C622Bf73225E3d4c2B189fb; + address internal constant CVXSDTFRAXBP_REWARDER = 0xc3df9cC2B8FFdB801E8e6E8FF9C1245E2dEcdA98; + address internal constant CVXSTGFRAXBP = 0x867fe27FC2462cff8890B54DfD64E6d42a9D1aC8; + address internal constant CVXSTGFRAXBP_REWARDER = 0xAa57A289Bb22a1A0C583db306F6566AE2c0CAf21; + address internal constant CVXSUSDFRAXBP = 0x8E2A6e9390CbD4C3895D07E4Cb171C0527990dF6; + address internal constant CVXSUSDFRAXBP_REWARDER = 0x3fABBDfe05487De1720a9420fE2e16d2c3e79A9D; + address internal constant CVXSWETHFRXETH = 0x1fb9115929b32D4456C37B80536a2C9434061296; + address internal constant CVXSWETHFRXETH_REWARDER = 0x91362eBf6DbFA5c0FD45CE4cF46DfFd4A8899c7C; + address internal constant CVXTRICRYPTOFRAX = 0xa0821fDc8d62413757B9da2357b0e5371f45335e; + address internal constant CVXTRICRYPTOFRAX_REWARDER = 0x4af50A690062970DAf1d2f0Fa9042C6f5a5495E3; + address internal constant CVXTRISDT = 0x5C2c6E21e141Dd3D13C34754A20d620A1bb731B5; + address internal constant CVXTRISDT_REWARDER = 0x1f2a117314e6e8655E0A1C97669b7B836e2cDb91; + address internal constant CVXTUSDFRAXBP = 0x33baeDa08b8afACc4d3d07cf31d49FC1F1f3E893; + address internal constant CVXTUSDFRAXBP_REWARDER = 0x4a744870fD705971c8c00aC510eAc2206C93d5bb; + address internal constant CVXUSDDFRAXBP = 0x4606326b4Db89373F5377C316d3b0F6e55Bc6A20; + address internal constant CVXUSDDFRAXBP_REWARDER = 0x546cd3B917c1d8A6525b4A312bB0014BE031Eb28; + address internal constant CVXUZDFRAXBP = 0xe6c0fAA19A7fB6A0a2C01e0BBC1a782b9e4a7B48; + address internal constant CVXUZDFRAXBP_REWARDER = 0x820Fad75512c8C3E57Ad021d016846CEEB5F7105; + address internal constant CVXXAIFRAXBP = 0xEbB0Dd1AfE63813AdD4c38EEbd71CE7354dd9b7e; + address internal constant CVXXAIFRAXBP_REWARDER = 0x4a866fE20A442Dff55FAA010684A5C1379151458; + address internal constant CVXZUSDFRAXBP = 0xd48494c36F98BE491f6Cfd6841617e847C819806; + address internal constant CVXZUSDFRAXBP_REWARDER = 0xFd3A7636694259b32B3896f59436997AD25380cA; + address internal constant D3POOL = 0xBaaa1F5DbA42C3389bDbc2c9D2dE134F5cD0Dc89; + address internal constant DOLAFRAXBP = 0xE57180685E3348589E9521aa53Af0BCD497E884d; + address internal constant DOLAFRAXBP_POOL = 0xE57180685E3348589E9521aa53Af0BCD497E884d; + address internal constant DOLAFRAXPYUSD = 0xef484de8C07B6e2d732A92B5F78e81B38f99f95E; + address internal constant DOLAFRAXPYUSD_GAUGE = 0x4B092818708A721cB187dFACF41f440ADb79044D; + address internal constant DOLAFRAXPYUSD_POOL = 0xef484de8C07B6e2d732A92B5F78e81B38f99f95E; + address internal constant EUSDFRAXBP = 0xAEda92e6A3B1028edc139A4ae56Ec881f3064D4F; + address internal constant EUSDFRAXBP_POOL = 0xAEda92e6A3B1028edc139A4ae56Ec881f3064D4F; + address internal constant FPIFRAX_F = 0x4704aB1fb693ce163F7c9D3A31b3FF4eaF797714; + address internal constant FPIFRAX_F_POOL = 0xf861483fa7E511fbc37487D91B6FAa803aF5d37c; + address internal constant FRAX3CRV_F = 0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B; + address internal constant FRAXBP = 0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC; + address internal constant FRAXBP_POOL = 0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2; + address internal constant FRAXFPI = 0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe; + address internal constant FRAXFPI_NG = 0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe; + address internal constant FRAXFPI_NG_GAUGE = 0x107E4c1302403095e5A4Bc5e815982aa732e95BD; + address internal constant FRAXFPI_NG_POOL = 0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe; + address internal constant FRAXFPI_POOL = 0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe; + address internal constant FRAXFXB_20240630 = 0x4ef4c7519023F30A78647EEab321d6cFabC2513c; + address internal constant FRAXFXB_20240630_GAUGE = 0x35aD1ACf0C4BE5d4Ba11342128D440fDb9e189eb; + address internal constant FRAXFXB_20240630_POOL = 0x4ef4c7519023F30A78647EEab321d6cFabC2513c; + address internal constant FRAXFXB_20241231 = 0x6307E6688819951Cf8D6B6066018243D2496952F; + address internal constant FRAXFXB_20241231_GAUGE = 0xC2FE9D3c761994897594Df63B33b6D843Ab7b1cF; + address internal constant FRAXFXB_20241231_POOL = 0x6307E6688819951Cf8D6B6066018243D2496952F; + address internal constant FRAXFXB_20261231 = 0xe035e27A8eD6842b478933820f90093D205F7098; + address internal constant FRAXFXB_20261231_GAUGE = 0x0E83dF148F69965BfE752250835854b0dBeeaf01; + address internal constant FRAXFXB_20261231_POOL = 0xe035e27A8eD6842b478933820f90093D205F7098; + address internal constant FRAXPYUSD = 0xA5588F7cdf560811710A2D82D3C9c99769DB1Dcb; + address internal constant FRAXPYUSD_GAUGE = 0xdc6d319FAc1498125e871ccEdF7f1B9998ebA3C5; + address internal constant FRAXPYUSD_POOL = 0xA5588F7cdf560811710A2D82D3C9c99769DB1Dcb; + address internal constant FRAXSDAI = 0xcE6431D21E3fb1036CE9973a3312368ED96F5CE7; + address internal constant FRAXSDAI_GAUGE = 0xb9BDcDcD7c3C1A3255402D44639cb6c7281833cF; + address internal constant FRAXSDAI_POOL = 0xcE6431D21E3fb1036CE9973a3312368ED96F5CE7; + address internal constant FRAXUSDP = 0xFC2838a17D8e8B1D5456E0a351B0708a09211147; + address internal constant FRAXUSDP_POOL = 0xaE34574AC03A15cd58A92DC79De7B1A0800F1CE3; + address internal constant FRXETHALETH = 0xB657B895B265C38c53FFF00166cF7F6A3C70587d; + address internal constant FRXETHALETH_GAUGE = 0x415F30505368fa1dB82Feea02EB778be04e75907; + address internal constant FRXETHALETH_POOL = 0xB657B895B265C38c53FFF00166cF7F6A3C70587d; + address internal constant FRXETHANKRETH = 0xa8e14F03124Ea156A4fc416537c82ff91a647D50; + address internal constant FRXETHANKRETH_GAUGE = 0x86f8d7Ced9A8F5563C1198466968B02238E05917; + address internal constant FRXETHANKRETH_POOL = 0x41eA4045de2676727883aa0B4E43D7e32261f559; + address internal constant FRXETHCBETH = 0x548E063CE6F3BaC31457E4f5b4e2345286274257; + address internal constant FRXETHCBETH_GAUGE = 0xD10C17D82053DD0AB65851a9A93a0abE0C4F4794; + address internal constant FRXETHCBETH_POOL = 0x73069892f6750CCaaAbabaDC54b6b6b36B3A057D; + address internal constant FRXETHCRV = 0xc34993c9aDf6a5AB3b4cA27dC71b9c7894A53974; + address internal constant FRXETHCRV_GAUGE = 0x266cE172a1180134cf6C7836C516bd6A58b1f619; + address internal constant FRXETHCRV_POOL = 0x442F37cfD85D3f35e576AD7D63bBa7Bb36fCFe4a; + address internal constant FRXETHCVX = 0x6e52cCe4EaFDf77091dD1c82183b2D97b776b397; + address internal constant FRXETHCVX_GAUGE = 0xc2075702490F0426E84E00d8B328119027813AC5; + address internal constant FRXETHCVX_POOL = 0x47D5E1679Fe5f0D9f0A657c6715924e33Ce05093; + address internal constant FRXETHETH = 0xf43211935C781D5ca1a41d2041F397B8A7366C7A; + address internal constant FRXETHETH_POOL = 0xa1F8A6807c402E4A15ef4EBa36528A3FED24E577; + address internal constant FRXETHMSETH = 0x2d600BbBcC3F1B6Cb9910A70BaB59eC9d5F81B9A; + address internal constant FRXETHMSETH_GAUGE = 0xB7A3C519889a916C5ecB54101E69ECf11DE60d0b; + address internal constant FRXETHMSETH_POOL = 0x2d600BbBcC3F1B6Cb9910A70BaB59eC9d5F81B9A; + address internal constant FRXETHPETH = 0x320B564Fb9CF36933eC507a846ce230008631fd3; + address internal constant FRXETHPETH_GAUGE = 0x57e1947e1134F6e733A4a694dE6A163eF23EDf54; + address internal constant FRXETHPETH_POOL = 0x320B564Fb9CF36933eC507a846ce230008631fd3; + address internal constant FRXETHPXETH = 0xe2Ed1dAc3A9547BC6057e32bf8133b5268D7d987; + address internal constant FRXETHPXETH_GAUGE = 0x277d1424a84B35ec0a8108482551b00b4fc1539b; + address internal constant FRXETHPXETH_POOL = 0xe2Ed1dAc3A9547BC6057e32bf8133b5268D7d987; + address internal constant FRXETHRETH = 0xbA6c373992AD8ec1f7520E5878E5540Eb36DeBf1; + address internal constant FRXETHRETH_GAUGE = 0xF20bd4D5A4112d5f9c64aDF53726F3ef1b7d0D61; + address internal constant FRXETHRETH_POOL = 0xe7c6E0A739021CdbA7aAC21b4B728779EeF974D9; + address internal constant FRXETHRETH_STAFI = 0xfcc067EFb7bE2EEbD32615F14fC22195abB68e9B; + address internal constant FRXETHRETH_STAFI_GAUGE = 0xb0549599d8446A196541dE11008eF5e79fA14F57; + address internal constant FRXETHRETH_STAFI_POOL = 0xfcc067EFb7bE2EEbD32615F14fC22195abB68e9B; + address internal constant FRXETHSETH = 0x663aC72a1c3E1C4186CD3dCb184f216291F4878C; + address internal constant FRXETHSETH_GAUGE = 0x77ef5D544FF6C739E7E10a549f64Dd08055538d1; + address internal constant FRXETHSETH_POOL = 0x663aC72a1c3E1C4186CD3dCb184f216291F4878C; + address internal constant FRXETHSTETH = 0x4d9f9D15101EEC665F77210cB999639f760F831E; + address internal constant FRXETHSTETH_GAUGE = 0x821529Bb07c83803C9CC7763e5974386e9eFEdC7; + address internal constant FRXETHSTETH_POOL = 0x4d9f9D15101EEC665F77210cB999639f760F831E; + address internal constant FRXETHWETH = 0x9c3B46C0Ceb5B9e304FCd6D88Fc50f7DD24B31Bc; + address internal constant FRXETHWETH_GAUGE = 0x4E21418095d32d15c6e2B96A9910772613A50d50; + address internal constant FRXETHWETH_POOL = 0x9c3B46C0Ceb5B9e304FCd6D88Fc50f7DD24B31Bc; + address internal constant FRXETHZETH = 0xfC89b519658967fCBE1f525f1b8f4bf62d9b9018; + address internal constant FRXETHZETH_GAUGE = 0xB3627140BEacb97f9CA52b34090352FdAfC77d72; + address internal constant FRXETHZETH_POOL = 0xfC89b519658967fCBE1f525f1b8f4bf62d9b9018; + address internal constant FRXETHZUNETH = 0x3A65cbaebBFecbeA5D0CB523ab56fDbda7fF9aAA; + address internal constant FRXETHZUNETH_GAUGE = 0x44f30D79f62a3D5340030d64806cD73239889F07; + address internal constant FRXETHZUNETH_POOL = 0x3A65cbaebBFecbeA5D0CB523ab56fDbda7fF9aAA; + address internal constant FTRIBE_8 = 0xFd3300A9a74b3250F1b2AbC12B47611171910b07; + address internal constant FUSDC_18 = 0x6f95d4d251053483f41c8718C30F4F3C404A8cf2; + address internal constant FXSFRXETH = 0x970FAA9aFBC5Feb3EC53059BA330DEe71E22B55B; + address internal constant FXSFRXETH_POOL = 0x5133Da6Ba0474368Ad0398d953c8D31c1B75b82B; + address internal constant GOHM = 0x0ab87046fBb341D058F17CBC4c1133F25a20a52f; + address internal constant GRAIFRAXBP = 0x3175f54A354C83e8ADe950c14FA3e32fc794c0Dc; + address internal constant GRAIFRAXBP_GAUGE = 0x8d5AF1F5DD3dC4B73e3A9Af682aDC3641FADE9a5; + address internal constant GRAIFRAXBP_POOL = 0x3175f54A354C83e8ADe950c14FA3e32fc794c0Dc; + address internal constant GUSD3CRV = 0xD2967f45c4f384DEEa880F807Be904762a3DeA07; + address internal constant GUSDFRAXBP = 0x4e43151b78b5fbb16298C1161fcbF7531d5F8D93; + address internal constant GUSDFRAXBP_POOL = 0x4e43151b78b5fbb16298C1161fcbF7531d5F8D93; + address internal constant LUSDFRAXBP = 0x497CE58F34605B9944E6b15EcafE6b001206fd25; + address internal constant LUSDFRAXBP_POOL = 0x497CE58F34605B9944E6b15EcafE6b001206fd25; + address internal constant MAIFRAXBP = 0x66E335622ad7a6C9c72c98dbfCCE684996a20Ef9; + address internal constant MAIFRAXBP_POOL = 0x66E335622ad7a6C9c72c98dbfCCE684996a20Ef9; + address internal constant MKUSDFRAXBP = 0x0CFe5C777A7438C9Dd8Add53ed671cEc7A5FAeE5; + address internal constant MKUSDFRAXBP_GAUGE = 0xF184d80915Ba7d835D941BA70cDdf93DE36517ee; + address internal constant MKUSDFRAXBP_POOL = 0x0CFe5C777A7438C9Dd8Add53ed671cEc7A5FAeE5; + address internal constant MSUSDFRAXBP = 0xc3b19502F8c02be75F3f77fd673503520DEB51dD; + address internal constant MSUSDFRAXBP_POOL = 0xc3b19502F8c02be75F3f77fd673503520DEB51dD; + address internal constant OGTEMPLE = 0x654590F810f01B51dc7B86915D4632977e49EA33; + address internal constant OHMFRAXBP = 0x5271045F7B73c17825A7A7aee6917eE46b0B7520; + address internal constant OHMFRAXBP_POOL = 0xFc1e8bf3E81383Ef07Be24c3FD146745719DE48D; + address internal constant PITCHFXS = 0x11EBe21e9d7BF541A18e1E3aC94939018Ce88F0b; + address internal constant PUSDFRAXBP = 0xC47EBd6c0f68fD5963005D28D0ba533750E5C11B; + address internal constant PUSDFRAXBP_POOL = 0xC47EBd6c0f68fD5963005D28D0ba533750E5C11B; + address internal constant RETHFRXETH = 0xbA6c373992AD8ec1f7520E5878E5540Eb36DeBf1; + address internal constant RETHFRXETH_POOL = 0xe7c6E0A739021CdbA7aAC21b4B728779EeF974D9; + address internal constant RSRFRAXBP = 0x3F436954afb722F5D14D868762a23faB6b0DAbF0; + address internal constant RSRFRAXBP_POOL = 0x6a6283aB6e31C2AeC3fA08697A8F806b740660b2; + address internal constant SADDLED4 = 0xd48cF4D7FB0824CC8bAe055dF3092584d0a1726A; + address internal constant SADDLED4_POOL = 0xC69DDcd4DFeF25D8a793241834d4cc4b3668EAD6; + address internal constant SDFRAX3CRV_F = 0x5af15DA84A4a6EDf2d9FA6720De921E1026E37b7; + address internal constant SDL_ALUSDFRAXBP = 0x3cF7b9479a01eeB3bbfC43581fa3bb21cd888e2A; + address internal constant SDL_ALUSDFRAXBP_GAUGE = 0x953693DCB2E9DDC0c1398C1b540b81b63ceA5e16; + address internal constant SDL_ALUSDFRAXBP_POOL = 0xFB516cF3710fC6901F2266aAEB8834cF5e4E9558; + address internal constant SDL_FRAX3POOL = 0x0785aDDf5F7334aDB7ec40cD785EBF39bfD91520; + address internal constant SDL_FRAX3POOL_GAUGE = 0x13Ba45c2B686c6db7C2E28BD3a9E8EDd24B894eD; + address internal constant SDL_FRAX3POOL_POOL = 0x8cAEa59f3Bf1F341f89c51607E4919841131e47a; + address internal constant SDL_FRAXBP = 0x927E6f04609A45B107C789aF34BA90Ebbf479f7f; + address internal constant SDL_FRAXBP_GAUGE = 0xB2Ac3382dA625eb41Fc803b57743f941a484e2a6; + address internal constant SDL_FRAXBP_POOL = 0x13Cc34Aa8037f722405285AD2C82FE570bfa2bdc; + address internal constant SDL_SUSDFRAXBP = 0x6Ac7a4cB3BFa90DC651CD53EB098e23c88d04e77; + address internal constant SDL_SUSDFRAXBP_GAUGE = 0x104F44551386d603217450822443456229F73aE4; + address internal constant SDL_SUSDFRAXBP_POOL = 0x69baA0d7c2e864b74173922Ca069Ac79d3be1556; + address internal constant SDL_USDTFRAXBP = 0x486DFCfdbF9025c062110E8c0344a15279aD0a85; + address internal constant SDL_USDTFRAXBP_GAUGE = 0x6EC5DD7D8E396973588f0dEFD79dCA04F844d57C; + address internal constant SDL_USDTFRAXBP_POOL = 0xC765Cd3d015626244AD63B5FB63a97c5634643b9; + address internal constant SDL_VESPERFRAXEARNPOOLFRAXBP = 0xA3beCa25Bd2bDd67272556666A7791d772C36571; + address internal constant SDL_VESPERFRAXEARNPOOLFRAXBP_GAUGE = 0x9980C9b35844946cF3451cC0B43D9b6501F4a96E; + address internal constant SDL_VESPERFRAXEARNPOOLFRAXBP_POOL = 0x9AC17f026f0599F77b3513a0A35f0258B0ec77f3; + address internal constant SDTFRAXBP = 0x893DA8A02b487FEF2F7e3F35DF49d7625aE549a3; + address internal constant SDTFRAXBP_POOL = 0x3e3C6c7db23cdDEF80B694679aaF1bCd9517D0Ae; + address internal constant SETHFRXETH = 0x663aC72a1c3E1C4186CD3dCb184f216291F4878C; + address internal constant SETHFRXETH_POOL = 0x663aC72a1c3E1C4186CD3dCb184f216291F4878C; + address internal constant SOHM = 0x04F2694C8fcee23e8Fd0dfEA1d4f5Bb8c352111F; + address internal constant STETHFRXETH = 0x4d9f9D15101EEC665F77210cB999639f760F831E; + address internal constant STETHFRXETH_POOL = 0x4d9f9D15101EEC665F77210cB999639f760F831E; + address internal constant STGFRAXBP = 0x9de1c3D446237ab9BaFF74127eb4F303802a2683; + address internal constant STGFRAXBP_POOL = 0x867fe27FC2462cff8890B54DfD64E6d42a9D1aC8; + address internal constant STKAAVE = 0x4da27a545c0c5B758a6BA100e3a049001de870f5; + address internal constant STKCVXAGEURFRAXBP = 0x78b74C93c726B6e29d0Ef5A01764fA19eCCF0C1c; + address internal constant STKCVXALCXFRAXBP = 0xAF1b82809296E52A42B3452c52e301369Ce20554; + address internal constant STKCVXALUSDFRAXBP = 0xBE1C919cA137299715e9c929BC7126Af14f76091; + address internal constant STKCVXAPEUSDFRAXBP = 0x6a20FC1654A2167d00614332A5aFbB7EBcD9d414; + address internal constant STKCVXBADGERFRAXBP = 0xb92e3fD365Fc5E038aa304Afe919FeE158359C88; + address internal constant STKCVXBUSDFRAXBP = 0x20c5177504A3f9Bad59c430791feA853EeAD4CCE; + address internal constant STKCVXCLEVUSDFRAXBP = 0x3199a1ed1Ad4cb1d1b57939809c8ee79eafE9934; + address internal constant STKCVXCOILFRAXBP = 0xa5B6f8Ec4122c5Fe0dBc4Ead8Bfe66A412aE427C; + address internal constant STKCVXCOILFRAXBP_DEPRECATED = 0xdA69CeC36AE581C1b2a2EEb77C527Fb7c1331310; + address internal constant STKCVXCRV = 0xaa0C3f5F7DFD688C6E646F66CD2a6B66ACdbE434; + address internal constant STKCVXCRVUSDFRAX = 0xb6F63cc2066e7626fA47fCC37E78Df9fe89F1663; + address internal constant STKCVXCVGFRAXBP = 0x7B465174A93a6d0602fD4ea99eEc86C07e5E1568; + address internal constant STKCVXCVXCRVFRAXBP = 0xa103a6ca0C4D4072BA59a55FD453BFE4197A095B; + address internal constant STKCVXCVXFRAXBP = 0x93D1De20eaBB21686CFe716f78F67E51ee578185; + address internal constant STKCVXCVXFXSFRAXBP = 0xA6A8F315b1a8C9B05433d206b8fECfbF0fC96217; + address internal constant STKCVXDOLAFRAXBP = 0xF06c8696730cf760619e4fA0eDd0f79ea50531A9; + address internal constant STKCVXDOLAFRAXPYUSD = 0x8aAa49650C4908156efAc3B47e00745a319c806c; + address internal constant STKCVXEUSDFRAXBP = 0x49BF6f9B860fAF73B0b515c06Be1Bcbf4A0db3dF; + address internal constant STKCVXFPIFRAX = 0x7287488F8Df7dddc5f373142D4827aAF92AAC845; + address internal constant STKCVXFRAXBP = 0x8a53ee42FB458D4897e15cc7dEa3F75D0F1c3475; + address internal constant STKCVXFRAXFPI_NG = 0x562E4d6C958333a5f0988FFedA11e45C27722994; + address internal constant STKCVXFRAXFXB_20240630 = 0x6E804b00fe562707E3a86bBbcC53Eb73c36c0cf6; + address internal constant STKCVXFRAXFXB_20241231 = 0xBb16610CF051AAc4bBEF9c53e2fc99b77BCE4A8c; + address internal constant STKCVXFRAXFXB_20261231 = 0x8aa015CE081505064a9cB8e7816deE3Bd7a45a12; + address internal constant STKCVXFRAXPYUSD = 0x59Ae4E430be0bF47e758F7E022E9a50A8C7D09d6; + address internal constant STKCVXFRAXSDAI = 0x2EB43dBF8C0013712fEc7B2A57453e41B9907e95; + address internal constant STKCVXFRAXUSDP = 0x5385AE7dC08F5C3799691E5b387cB01108B76627; + address internal constant STKCVXFRXETHALETH = 0x8A59781B415288f9E633b948618726CB6E47e980; + address internal constant STKCVXFRXETHANKRETH = 0x75A439b3F8106428b86198D8c306c57E9e7Bb3dC; + address internal constant STKCVXFRXETHCBETH = 0x4e9D8323603E69c1310E5e04Db172bD5aB07df95; + address internal constant STKCVXFRXETHCRV = 0x194aA54376886dAd3d08e71F47D189A88251D8Da; + address internal constant STKCVXFRXETHCVX = 0x5B31bf2988E5388Edae2960504d96Bc142742dCb; + address internal constant STKCVXFRXETHETH = 0x4659d5fF63A1E1EDD6D5DD9CC315e063c95947d0; + address internal constant STKCVXFRXETHMSETH = 0x09bFD0c760E4a1bFc970cdaAAD240307C917Aa6c; + address internal constant STKCVXFRXETHPETH = 0xeCF134dF5DE1e0E12A441D446ff81994Cb0301A2; + address internal constant STKCVXFRXETHPXETH = 0x51521Da84Cbce1B4A930B55d8D896b590532f7A6; + address internal constant STKCVXFRXETHRETH = 0xE0c65F74728Ff26219C6adddCEfB215484bb08DF; + address internal constant STKCVXFRXETHRETH_STAFI = 0xffAFA5aA5b0a9C0C8e05ec8b89056F018EE2Bad6; + address internal constant STKCVXFRXETHSETH = 0x44b51F7F92D761Cf2FC46011AD6b74Ce56447924; + address internal constant STKCVXFRXETHSTETH = 0xc2eC3d1209FD1Fc512950825f34281EaF9aB13A2; + address internal constant STKCVXFRXETHWETH = 0x08061feC3FC09Aa2Eb4B4B72EA618034CBFD22b0; + address internal constant STKCVXFRXETHZETH = 0xd69068777d1b2dc74522117efA75AA195c0b57DB; + address internal constant STKCVXFRXETHZUNETH = 0xD893522D2CCd40eA6C1414815e3eAD1B58a83D51; + address internal constant STKCVXGRAIFRAXBP = 0xDf9BB26ba5a05fcFc2637dC763AA4eb735911568; + address internal constant STKCVXGUSDFRAXBP = 0x16e9eaC2A9e29aF3c53d24ed0F07fc403E098b64; + address internal constant STKCVXLUSDFRAXBP = 0x8C402989a966D37B96f60401A6158D5D49f1381D; + address internal constant STKCVXMAIFRAXBP = 0x787eB52b94c4610ABE2C9C5eE95c3a4a16533344; + address internal constant STKCVXMKUSDFRAXBP = 0xd529a0FD4249f0b48171140873b1b13a1ad5286d; + address internal constant STKCVXMSUSDFRAXBP = 0x227b7F44468A0EC0FDdfc3FB0cE09b294E62f875; + address internal constant STKCVXOHMFRAXBP = 0x81b0dCDa53482A2EA9eb496342dC787643323e95; + address internal constant STKCVXPUSDFRAXBP = 0x7AEF5bDC573dCbfb40EC68b0BAAB03abB846C9c6; + address internal constant STKCVXRSRFRAXBP = 0xF37007f2b9DE656115e1B977Bb1fd38A99B8a2a6; + address internal constant STKCVXSDTFRAXBP = 0xE6Aa75F98e6c105b821a2dba9Fbbd886b421F06b; + address internal constant STKCVXSTGFRAXBP = 0xAe1bA2Cf0eBF00C5052309992d7B6c94e3EfcBEf; + address internal constant STKCVXSUSDFRAXBP = 0x9f0C2673a33b7087e367253f196A7E823fBc2341; + address internal constant STKCVXSWETHFRXETH = 0xa3ae006Cc863423F690ca01C2a8F692B97c93c3b; + address internal constant STKCVXTRICRYPTOFRAX = 0x0643d5C29498149D31bAd69a5bE2771b5440C58d; + address internal constant STKCVXTRISDT = 0xAD059ccF041e344eA52A3152Bbf654c605d68473; + address internal constant STKCVXTUSDFRAXBP = 0x32fA492Ac1F729E0eE9eDdfCBacc3ef72B234e27; + address internal constant STKCVXUSDDFRAXBP = 0x507e41A64eB7AE47ee303e3B16237ab757F6C06c; + address internal constant STKCVXUZDFRAXBP = 0xaa236bd1302755937Aa46D6f3423655BbC654B02; + address internal constant STKCVXUZDFRAXBP_DEPRECATED = 0x57Fb068BDa27351EF0913113264Ce3EF4EeA3316; + address internal constant STKCVXUZDFRAXBP_DEPRECATED_OLD = 0x57Fb068BDa27351EF0913113264Ce3EF4EeA3316; + address internal constant STKCVXXAIFRAXBP = 0x19f0a60f4635d3E2c48647822Eda5332BA094fd3; + address internal constant STKCVXZUSDFRAXBP = 0xFD2d7847E0f450d8B00d3D697D720C687E622a7B; + address internal constant STKMTA = 0x8f2326316eC696F6d023E37A9931c2b2C177a3D7; + address internal constant SUSDFRAXBP = 0xe3c190c57b5959Ae62EfE3B6797058B76bA2f5eF; + address internal constant SUSDFRAXBP_POOL = 0xe3c190c57b5959Ae62EfE3B6797058B76bA2f5eF; + address internal constant SWETHFRXETH = 0xe49AdDc2D1A131c6b8145F0EBa1C946B7198e0BA; + address internal constant SWETHFRXETH_POOL = 0x67e0bDbe0A2C5999A60D048f50e794218056b767; + address internal constant TFRAX = 0x94671A3ceE8C7A12Ea72602978D1Bb84E920eFB2; + address internal constant TFXS = 0xADF15Ec41689fc5b6DcA0db7c53c9bFE7981E655; + address internal constant THREECRV_ERC20 = 0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490; + address internal constant THREECRV_POOL = 0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7; + address internal constant TRICRYPTOFRAX = 0x4D1941a887eC788F059b3bfcC8eE1E97b968825B; + address internal constant TRICRYPTOFRAX_GAUGE = 0x4B43fEaB8f5ccD38Ac0831DD7eC797330114F058; + address internal constant TRISDT = 0x954313005C56b555bdC41B84D6c63B69049d7847; + address internal constant TRISDT_GAUGE = 0x2DD2b7E07dD433B758B98A3889a63cbF48ef0D99; + address internal constant TUSDFRAXBP = 0x33baeDa08b8afACc4d3d07cf31d49FC1F1f3E893; + address internal constant TUSDFRAXBP_POOL = 0x33baeDa08b8afACc4d3d07cf31d49FC1F1f3E893; + address internal constant USDDFRAXBP = 0x4606326b4Db89373F5377C316d3b0F6e55Bc6A20; + address internal constant USDDFRAXBP_POOL = 0x4606326b4Db89373F5377C316d3b0F6e55Bc6A20; + address internal constant UZDFRAXBP = 0x68934F60758243eafAf4D2cFeD27BF8010bede3a; + address internal constant UZDFRAXBP_POOL = 0x68934F60758243eafAf4D2cFeD27BF8010bede3a; + address internal constant VECRV = 0x5f3b5DfEb7B28CDbD7FAba78963EE202a494e2A2; + address internal constant VESDL = 0xD2751CdBED54B87777E805be36670D7aeAe73bb2; + address internal constant VLCVX = 0x72a19342e8F1838460eBFCCEf09F6585e32db86E; + address internal constant XAIFRAXBP = 0x326290A1B0004eeE78fa6ED4F1d8f4b2523ab669; + address internal constant XAIFRAXBP_POOL = 0x326290A1B0004eeE78fa6ED4F1d8f4b2523ab669; + address internal constant XSDT = 0xaC14864ce5A98aF3248Ffbf549441b04421247D3; + address internal constant YVUSDC = 0xa354F35829Ae975e850e23e9615b11Da1B3dC4DE; + address internal constant ZUSDFRAXBP = 0x400d4C984779A747462e88373c3fE369EF9F5b50; + address internal constant ZUSDFRAXBP_GAUGE = 0x218E4678318ab5527e41135713193E5EAd73337f; + address internal constant ZUSDFRAXBP_POOL = 0x400d4C984779A747462e88373c3fE369EF9F5b50; + address internal constant AAVE_ETH_UNI_V3_POOL = 0x5aB53EE1d50eeF2C1DD3d5402789cd27bB52c1bB; + address internal constant APE_WETH_UNI_V3_POOL = 0xAc4b3DacB91461209Ae9d41EC517c2B9Cb1B7DAF; + address internal constant FRAX_DAI_V3_POOL = 0x97e7d56A0408570bA1a7852De36350f7713906ec; + address internal constant FRAX_USDC_V3_POOL = 0xc63B0708E2F7e69CB8A1df0e1389A98C35A76D52; + address internal constant FRAX_WETH_UNI_V3_POOL = 0x92c7b5Ce4CB0e5483F3365C1449f21578eE9f21A; + address internal constant FRXETH_FRAX_V3_POOL = 0x36C060Cc4b088c830a561E959A679A58205D3F56; + address internal constant LINK_ETH_UNI_V3_POOL = 0xa6Cc3C2531FdaA6Ae1A3CA84c2855806728693e8; + address internal constant MKR_ETH_UNI_V3_POOL = 0xe8c6c9227491C0a8156A0106A0204d881BB7E531; + address internal constant STATIC_UNI_V3_ORACLE = 0xB210CE856631EeEB767eFa666EC7C1C57738d438; + address internal constant UNI_ETH_UNI_V3_POOL = 0x1d42064Fc4Beb5F8aAF85F4617AE8b3b5B8Bd801; + address internal constant USDC_WETH_UNI_V3_POOL = 0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640; + address internal constant KYBERSWAP_ELASTIC_FACTORY = 0x5F1dddbf348aC2fbe22a163e30F99F9ECE3DD50a; + address internal constant KYBERSWAP_ELASTIC_FACTORY_V2 = 0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A; + address internal constant KYBERSWAP_ELASTIC_POS_MGR = 0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8; + address internal constant KYBERSWAP_ELASTIC_POS_MGR_V2 = 0xe222fBE074A436145b255442D919E4E3A6c6a480; + address internal constant KYBERSWAP_ELASTIC_ROUTER = 0xC1e7dFE73E1598E3910EF4C7845B68A9Ab6F4c83; + address internal constant KYBERSWAP_ELASTIC_ROUTER_V2 = 0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4; + address internal constant KYBERSWAP_ELASTIC_TICK_FEES_READER = 0xD7ab1699280980E756C446769B4c0F04550f88c9; + address internal constant KYBERSWAP_ELASTIC_TICK_FEES_READER_V2 = 0x8Fd8Cb948965d9305999D767A02bf79833EADbB3; + address internal constant NON_FUNGIBLE_POSITION_MANAGER = 0xC36442b4a4522E871399CD717aBDD847Ab11FE88; + address internal constant SWAPROUTER = 0xE592427A0AEce92De3Edee1F18E0157C05861564; + address internal constant UNISWAP_V3_FACTORY = 0x1F98431c8aD98523631AE4a59f267346ea31F984; +} + +abstract contract AddressHelperMainnet is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0x853d955aCEf822Db058eb8505911ED77F175b99e, "Constants.ETH_FRAX"); + vm.label(0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0, "Constants.ETH_FXS"); + vm.label(0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E, "Constants.ETH_FPI"); + vm.label(0xc2544A32872A91F4A553b404C6950e89De901fdb, "Constants.ETH_FPIS"); + vm.label(0x5E8422345238F34275888049021821E8E08CAa1f, "Constants.ETH_FRXETH"); + vm.label(0xac3E018457B222d93114458476f3E3416Abbe38F, "Constants.ETH_SFRXETH"); + vm.label(0xA663B02CF0a4b149d2aD41910CB81e23e1c41c32, "Constants.ETH_SFRAX"); + vm.label(0x853d955aCEf822Db058eb8505911ED77F175b99e, "Constants.ETH_FRAX_ERC20"); + vm.label(0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0, "Constants.ETH_FXS_ERC20"); + vm.label(0x5E8422345238F34275888049021821E8E08CAa1f, "Constants.ETH_FRXETH_ERC20"); + vm.label(0xac3E018457B222d93114458476f3E3416Abbe38F, "Constants.ETH_SFRXETH_ERC20"); + vm.label(0x02577b426F223A6B4f2351315A19ecD6F357d65c, "Constants.ETH_AAVE_AFRAX"); + vm.label(0xb40432243E4F317cE287398e72Ab8f0312fc2FE8, "Constants.ETH_ANGLE_FRAX_AGEUR_STAKING"); + vm.label(0x60aaA9b33e712A76F9421E46a75ec47fBDc8d4CB, "Constants.ETH_AURA_FRXETH_PXETH_DEPOSIT"); + vm.label(0x1e64E373c143810524BDb1Ac8Dce35977d12e55d, "Constants.ETH_BALANCER_FRXETH_PXETH_GAUGE_DEPRECATED"); + vm.label(0x3F0FB52648Eb3981EA598716b7320081d1c8Ba1a, "Constants.ETH_BALANCER_SFRXETH_STETH_RETH_BPT"); + vm.label(0x50B4cDb17D3e10C9BC88b3744F3fD7c25695EEE7, "Constants.ETH_BUNNI_FRAX_USDC_GAUGE"); + vm.label(0xcbcCBA2FA84606Df153B593dD01c37a50ac8427C, "Constants.ETH_BUNNI_FRXETH_WETH_GAUGE"); + vm.label(0xd1f21322bBDd3586dC1151ADCcaA2684641c2b31, "Constants.ETH_CONVEX_STKCVXAGEURFRAXBP"); + vm.label(0xA0657642224Fc53dAB4a3d2069430afe157BEc5D, "Constants.ETH_CONVEX_STKCVXALCXFRAXBP"); + vm.label(0x711d650Cd10dF656C2c28D375649689f137005fA, "Constants.ETH_CONVEX_STKCVXALUSDFRAXBP"); + vm.label(0xa810D1268cEF398EC26095c27094596374262826, "Constants.ETH_CONVEX_STKCVXAPEUSDFRAXBP"); + vm.label(0x5a92EF27f4baA7C766aee6d751f754EBdEBd9fae, "Constants.ETH_CONVEX_STKCVXBADGERFRAXBP"); + vm.label(0xaCf54f101B86f9e55d35C0674Ebd8C854E5f80e4, "Constants.ETH_CONVEX_STKCVXBUSDFRAXBP"); + vm.label(0x5745506D56b0088f800085b1227B3f1F7d419c89, "Constants.ETH_CONVEX_STKCVXCLEVUSDFRAXBP"); + vm.label(0x39cd4db6460d8B5961F73E997E86DdbB7Ca4D5F6, "Constants.ETH_CONVEX_STKCVXCOILFRAXBP"); + vm.label(0x94c491e298625b1226a89DDA091B3932c59FAbc1, "Constants.ETH_CONVEX_STKCVXCOILFRAXBP_DEPRECATED"); + vm.label(0x67CC47cF82785728DD5E3AE9900873a074328658, "Constants.ETH_CONVEX_STKCVXCRVUSDFRAX"); + vm.label(0x1ee8D379e374A4A00e7d79AF4Bf2eD2b591561c2, "Constants.ETH_CONVEX_STKCVXCVGFRAXBP"); + vm.label(0x57c9F019B25AaAF822926f4Cacf0a860f61eDd8D, "Constants.ETH_CONVEX_STKCVXCVXCRVFRAXBP"); + vm.label(0xeC670c5e0A8A8d5ae5639158565D840DE44CA03f, "Constants.ETH_CONVEX_STKCVXCVXFRAXBP"); + vm.label(0x2F9504988675c91787E188Ed928D6E042d9052e9, "Constants.ETH_CONVEX_STKCVXCVXFXSFRAXBP"); + vm.label(0xE7211E87D60177575846936F2123b5FA6f0ce8Ab, "Constants.ETH_CONVEX_STKCVXDOLAFRAXBP"); + vm.label(0x972d92f4563Ac9581c730A13A47Ae9d6dCdf18b7, "Constants.ETH_CONVEX_STKCVXDOLAFRAXPYUSD"); + vm.label(0x4c9AD8c53d0a001E7fF08a3E5E26dE6795bEA5ac, "Constants.ETH_CONVEX_STKCVXEUSDFRAXBP"); + vm.label(0x0a08673E3d7c454E1c6b27acD059C50Df6727FC9, "Constants.ETH_CONVEX_STKCVXFPIFRAX"); + vm.label(0x963f487796d54d2f27bA6F3Fbe91154cA103b199, "Constants.ETH_CONVEX_STKCVXFRAXBP"); + vm.label(0x7d69b887751Af59fB4b56BC98fcA0234096Eb267, "Constants.ETH_CONVEX_STKCVXFRAXFPI_NG"); + vm.label(0x6D54747fC8e32cA1A91bA2fd36aB673bD84E2e7b, "Constants.ETH_CONVEX_STKCVXFRAXFXB_20240630"); + vm.label(0x9D7eB7Ec34283D93C6677AE30F3983399Ab72A2f, "Constants.ETH_CONVEX_STKCVXFRAXFXB_20241231"); + vm.label(0x9A95396eC04B55de54859C06fd75dFb8466F4653, "Constants.ETH_CONVEX_STKCVXFRAXFXB_20261231"); + vm.label(0x18FEFE5Db2D63aCaa8b5520AFde32507216d39e1, "Constants.ETH_CONVEX_STKCVXFRAXPYUSD"); + vm.label(0x90EB2F13Acf1bc35c2c40c0EBaff2De4d2Eb0d6b, "Constants.ETH_CONVEX_STKCVXFRAXSDAI"); + vm.label(0x2A5b8C7DFE489CeB00ec80524C0bA0C1b78433A9, "Constants.ETH_CONVEX_STKCVXFRAXUSDP"); + vm.label(0x56790e4A08eD17aa3b7b4B1b23A6a84D731Fd77e, "Constants.ETH_CONVEX_STKCVXFRXETHALETH"); + vm.label(0x854B98dC1F76c92b22F75d1f33D23FEb64D8087F, "Constants.ETH_CONVEX_STKCVXFRXETHANKRETH"); + vm.label(0x16e55917849aC7fA4341470FA3A22bB503D5cACD, "Constants.ETH_CONVEX_STKCVXFRXETHCBETH"); + vm.label(0xDA0622cBa8cC821ee0d4AfA366Df95E948b43297, "Constants.ETH_CONVEX_STKCVXFRXETHCRV"); + vm.label(0xb01BaB994b52A37a231551f00a1B7cAcd43bc8C9, "Constants.ETH_CONVEX_STKCVXFRXETHCVX"); + vm.label(0xa537d64881b84faffb9Ae43c951EEbF368b71cdA, "Constants.ETH_CONVEX_STKCVXFRXETHETH"); + vm.label(0x2816Ab1F4Db656602b6B0041c006652A4F5D0437, "Constants.ETH_CONVEX_STKCVXFRXETHMSETH"); + vm.label(0xD591A551bC1776A7Ce066a5Df7640266afc850bF, "Constants.ETH_CONVEX_STKCVXFRXETHPETH"); + vm.label(0xC68A0174401AE002D6DbA8C9788C6dF4c807BD52, "Constants.ETH_CONVEX_STKCVXFRXETHPXETH"); + vm.label(0x719505cB97DF15565255eb1bDe65586271dB873C, "Constants.ETH_CONVEX_STKCVXFRXETHRETH"); + vm.label(0x76CF35aB1450D3A6c84EdDB8A960A5F65B76e706, "Constants.ETH_CONVEX_STKCVXFRXETHRETH_STAFI"); + vm.label(0xd79Ae34eD6D11A235629A48aeA9F661a241faD4f, "Constants.ETH_CONVEX_STKCVXFRXETHSETH"); + vm.label(0x68921998fbc43B360D3cF14a03aF4273CB0cFA44, "Constants.ETH_CONVEX_STKCVXFRXETHSTETH"); + vm.label(0xB4fdD7444E1d86b2035c97124C46b1528802DA35, "Constants.ETH_CONVEX_STKCVXFRXETHWETH"); + vm.label(0x882B9fad02D1a7436449dcdE9934Eeb9E287909c, "Constants.ETH_CONVEX_STKCVXFRXETHZETH"); + vm.label(0xE2E998A68C6f1D10c41884931457B7C302C6fA97, "Constants.ETH_CONVEX_STKCVXFRXETHZUNETH"); + vm.label(0x5684d5566bb438D8Ef7B3C1E5da9450cD19C1b9f, "Constants.ETH_CONVEX_STKCVXGRAIFRAXBP"); + vm.label(0xF0Ffe16810B7f412c52C1610e3BC9819A7Dcb366, "Constants.ETH_CONVEX_STKCVXGUSDFRAXBP"); + vm.label(0xF0A9b6F6593b4Bf96E1Ab13921A8a3FbFd9d4F16, "Constants.ETH_CONVEX_STKCVXLUSDFRAXBP"); + vm.label(0xdE5684F85a78F6CcCFFB4b9301ad0944eb5CE3eE, "Constants.ETH_CONVEX_STKCVXMAIFRAXBP"); + vm.label(0x95AB2a2F6e701873cEA0070dAc735589D089f6Bc, "Constants.ETH_CONVEX_STKCVXMKUSDFRAXBP"); + vm.label(0xfB2CCc82755A734C53C8B45f260fFc2df026fe87, "Constants.ETH_CONVEX_STKCVXMSUSDFRAXBP"); + vm.label(0xc96e1a26264D965078bd01eaceB129A65C09FFE7, "Constants.ETH_CONVEX_STKCVXOHMFRAXBP"); + vm.label(0x40b42E4ab3c044e67CBFb0bD99C9E975dcB83668, "Constants.ETH_CONVEX_STKCVXPUSDFRAXBP"); + vm.label(0xF22D3C85e41Ef4b5Ac8Cb8B89a14718e290a0561, "Constants.ETH_CONVEX_STKCVXRSRFRAXBP"); + vm.label(0x9C8d9667d5726aEcA4d24171958BeE9F46861bed, "Constants.ETH_CONVEX_STKCVXSDTFRAXBP"); + vm.label(0xd600A3E4F57E718A7ad6A0cbb10c2A92c57827e6, "Constants.ETH_CONVEX_STKCVXSTGFRAXBP"); + vm.label(0x560c7668459221e33ED515D1D17c09ECda1996f5, "Constants.ETH_CONVEX_STKCVXSUSDFRAXBP"); + vm.label(0x7b8848f10A016341c9B2427e8541C19F31C2D243, "Constants.ETH_CONVEX_STKCVXSWETHFRXETH"); + vm.label(0x5C0238c4C8f13370001632806C87066B90F1E383, "Constants.ETH_CONVEX_STKCVXTRICRYPTOFRAX"); + vm.label(0x50Cde910D1f8b6C787b7903d23082542593E0710, "Constants.ETH_CONVEX_STKCVXTRISDT"); + vm.label(0xb324b2BD8a3Dc55b04111E84d5cce0c3771F8889, "Constants.ETH_CONVEX_STKCVXTUSDFRAXBP"); + vm.label(0xF7242A1cE383174802818febB36B6eebb56d5BFb, "Constants.ETH_CONVEX_STKCVXUSDDFRAXBP"); + vm.label(0xb8ebc210BCF78be8Ef3F09Dd0d8e85Fa5e252e86, "Constants.ETH_CONVEX_STKCVXUZDFRAXBP"); + vm.label(0x7838d18AD75372061a1e71e1499b7E90832c1508, "Constants.ETH_CONVEX_STKCVXUZDFRAXBP_DEPRECATED"); + vm.label(0x7677D1AADcd42dC40E758115FfDE5e1E10B7f30b, "Constants.ETH_CONVEX_STKCVXUZDFRAXBP_DEPRECATED_OLD"); + vm.label(0x4edF7C64dAD8c256f6843AcFe56876024b54A1b6, "Constants.ETH_CONVEX_STKCVXXAIFRAXBP"); + vm.label(0x107a33019910E57533Ad4F75762d6A958630cA3d, "Constants.ETH_CONVEX_STKCVXZUSDFRAXBP"); + vm.label(0xBBbAf1adf4d39B2843928CCa1E65564e5ce99ccC, "Constants.ETH_CURVE_FRAX3CRV_F_2"); + vm.label(0x71173e3c6999c2C72ccf363f4Ae7b67BCc7E8F63, "Constants.ETH_DFORCE_FRAX_LENDING_ETHEREUM"); + vm.label(0x1C9A2d6b33B4826757273D47ebEe0e2DddcD978B, "Constants.ETH_FLUX_FINANCE_FFRAX"); + vm.label(0x73e1e624C6d3E027b8674e6C72F104F1429FC17E, "Constants.ETH_FRAXLEND_V1_FRAX_FXS"); + vm.label(0x5e15E40A3AA06bECA711EdE9F3F76E1d80C34490, "Constants.ETH_FRAXSWAP_V1_FRAX_IQ"); + vm.label(0xBF33B67F243a4DAbED494Ff5840f113B2E202a0d, "Constants.ETH_FRAXSWAP_V1_FRAX_IQ_V2"); + vm.label(0x35678017e1D252dA1CdD6745b147E3e75d1f9C27, "Constants.ETH_FRAXSWAP_V1_FRAX_IQ_V3"); + vm.label(0x9E66E7811fEacf5402B65021475d1A293f7ea797, "Constants.ETH_FRAXSWAP_V1_FRAX_PITCHFXS"); + vm.label(0x899Aa575E0e46344D18471f69337663C48b76e35, "Constants.ETH_FRAXSWAP_V1_FRAX_PITCHFXS_V2"); + vm.label(0x24C66Ba25ca2A53bB97B452B9F45DD075b07Cf55, "Constants.ETH_FRAXSWAP_V1_FRAX_PITCHFXS_V3"); + vm.label(0xE8453a2e8E97cba69365A1d727Fde3768b18d814, "Constants.ETH_FRAXSWAP_V1_FRAX_SYN"); + vm.label(0x9d46C0584C5C89e14fb1143e2414712feF36f00F, "Constants.ETH_FRAXSWAP_V2_FRAX_FPIS"); + vm.label(0x3F2E53B1A3036Fd33F3c2f3cC49daB26A88DF2e0, "Constants.ETH_FRAXSWAP_V2_FRAX_FXS"); + vm.label(0x7af00CF8D3a8A75210a5Ed74f2254E2EC43B5B5b, "Constants.ETH_FRAXSWAP_V2_FRAX_IQ"); + vm.label(0xf562B2f33b3c90d5D273f88Cdf0CeD866E17092e, "Constants.ETH_FRAXSWAP_V2_FRAX_OHM"); + vm.label(0xa632Fab76Fe013199c8271Ac22b466b9D11BFe88, "Constants.ETH_FRAXSWAP_V2_FRAX_PITCHFXS"); + vm.label(0x8875A328EaDb1e142f4021Fc2098096796a30cf8, "Constants.ETH_FRAXSWAP_V2_FRAX_SDL"); + vm.label(0x788E44b6424A0e4160Ae4766E86640EC5a6baD5b, "Constants.ETH_FRAXSWAP_V2_FRAX_SYN"); + vm.label(0x38950D42CD549842B3Fc862a45F00eB24331F462, "Constants.ETH_FRAXSWAP_V2_FRAX_ZZ"); + vm.label(0x8A1112AFef7F4FC7c066a77AABBc01b3Fff31D47, "Constants.ETH_GEARBOX_DFRAX"); + vm.label(0xcdfc491804A420b677f8e788B5157856910E2F6f, "Constants.ETH_GELATO_UNISWAP_FRAX_DAI"); + vm.label(0x21AF9DBa45989512468B08d13978e9040cc0cEF6, "Constants.ETH_KYBERSWAP_ELASTIC_FRAX_USDC"); + vm.label(0x90d52cdc60B7FF7994095Aa184694225035E8A60, "Constants.ETH_KYBERSWAP_ELASTIC_FRAX_USDC_DEPRECATED"); + vm.label(0x6b96465F5e51C01134e0e64bff19f922fA7337C7, "Constants.ETH_KYBERSWAP_ELASTIC_FRXETH_ETH"); + vm.label(0x0cF99bbc8794e09e713769c4352eB3318e25c975, "Constants.ETH_KYBERSWAP_ELASTIC_FRXETH_ETH_DEPRECATED"); + vm.label(0xaDf48a504b7E7262FE9BFC62Ab11894187590BB7, "Constants.ETH_KYBERSWAP_ELASTIC_FRXETH_FRAX"); + vm.label(0x9972F7c292Deae7759a3831b1aDFF54dD43Dc264, "Constants.ETH_MONOLITH_MO_SAMM_FRAX_USDT"); + vm.label(0x4E30fc7ccD2dF3ddCA39a69d2085334Ee63b9c96, "Constants.ETH_MONOLITH_MO_SAMM_FRXETH_WETH"); + vm.label(0x520b8e754768EEed9a37d78de76Cd5d75456b92F, "Constants.ETH_MONOLITH_MO_VAMM_FXS_FRXETH"); + vm.label(0x6667c53D631410649B1826D21cFdf41E7a7aE6b1, "Constants.ETH_PICKLE_FINANCE_CURVE_CVXFXS_FXS"); + vm.label(0x62826760CC53AE076a7523Fd9dCF4f8Dbb1dA140, "Constants.ETH_PICKLE_FINANCE_PVEFXS_BRINERY"); + vm.label(0x08cb0A0ba8e4f143e4e6F7BED65E02b6dFb9A16C, "Constants.ETH_PICKLE_FINANCE_SADDLE_D4"); + vm.label(0xA50e005c3f2f3Cd1f56B09DF558816CfCe25E934, "Constants.ETH_PICKLE_FINANCE_UNIV3_FRAX_DAI"); + vm.label(0x6092cdE5762FA9F5c8D081fb0c5eD23601f0F400, "Constants.ETH_PICKLE_FINANCE_UNIV3_FRAX_USDC"); + vm.label(0x0639076265e9f88542C91DCdEda65127974A5CA5, "Constants.ETH_SADDLE_ALUSD_FEI_FRAX_LUSD"); + vm.label(0x810E190Be9592615D75c514C0f9D8c9b79eB8056, "Constants.ETH_SOLIDLY_SAMM_FRAX_USDC"); + vm.label(0x9972F7c292Deae7759a3831b1aDFF54dD43Dc264, "Constants.ETH_SOLIDLY_SAMM_FRAX_USDT"); + vm.label(0x4E30fc7ccD2dF3ddCA39a69d2085334Ee63b9c96, "Constants.ETH_SOLIDLY_SAMM_FRXETH_WETH"); + vm.label(0xFae2B6Cac80635Cf768c9B68A4f453DB00BC79F0, "Constants.ETH_SOLIDLY_VAMM_FRAX_FRXETH"); + vm.label(0x520b8e754768EEed9a37d78de76Cd5d75456b92F, "Constants.ETH_SOLIDLY_VAMM_FXS_FRXETH"); + vm.label(0x290a42E913083Edf5AEFb241f8A12B306C19f8f9, "Constants.ETH_SOMMELIER_FRAXIMAL"); + vm.label(0xAB1927160EC7414C6Fa71763E2a9f3D107c126dd, "Constants.ETH_STAKEDAO_CVXFXS_FXS"); + vm.label(0x72E158d38dbd50A483501c24f792bDAAA3e7D55C, "Constants.ETH_STAKEDAO_FRAX3CRV"); + vm.label(0xCFc25170633581Bf896CB6CDeE170e3E3Aa59503, "Constants.ETH_STAKEDAO_FRAX_USDC"); + vm.label(0x2932a86df44Fe8D2A706d8e9c5d51c24883423F5, "Constants.ETH_STAKEDAO_FRXETHCRV"); + vm.label(0xb40432243E4F317cE287398e72Ab8f0312fc2FE8, "Constants.ETH_STAKEDAO_SANFRAX"); + vm.label(0x0A53544b2194Dd8Ebc62c779043fc0624705BB56, "Constants.ETH_STAKEDAO_SDETH_FRAXPUT"); + vm.label(0xEB81b86248d3C2b618CcB071ADB122109DA96Da2, "Constants.ETH_STAKEDAO_SDFRAX3CRV_F"); + vm.label(0xF3C6e8fbB946260e8c2a55d48a5e01C82fD63106, "Constants.ETH_STAKEDAO_SDFXS"); + vm.label(0xa9A9BC60fc80478059A83f516D5215185eeC2fc0, "Constants.ETH_STAKEDAO_SDFXS_FXS"); + vm.label(0x3F0FB52648Eb3981EA598716b7320081d1c8Ba1a, "Constants.ETH_STAKEDAO_SFRXETH_STETH_RETH_BPT"); + vm.label(0xB0D502E938ed5f4df2E681fE6E419ff29631d62b, "Constants.ETH_STARGATE_BRIDGE_LIQUIDITY_FRAX_ETHEREUM"); + vm.label(0xb4Ab0dE6581FBD3A02cF8f9f265138691c3A7d5D, "Constants.ETH_SUSHI_FRAX_SUSHI"); + vm.label(0x10460d02226d6ef7B2419aE150E6377BdbB7Ef16, "Constants.ETH_TEMPLE_FRAX_TEMPLE"); + vm.label(0x94671A3ceE8C7A12Ea72602978D1Bb84E920eFB2, "Constants.ETH_TOKEMAK_FRAX_STAKING"); + vm.label(0xADF15Ec41689fc5b6DcA0db7c53c9bFE7981E655, "Constants.ETH_TOKEMAK_FXS_STAKING"); + vm.label(0x9928e4046d7c6513326cCeA028cD3e7a91c7590A, "Constants.ETH_UNISWAP_FEI_TRIBE"); + vm.label(0xda2c338350a0E59Ce71CDCED9679A3A590Dd9BEC, "Constants.ETH_UNISWAP_FRAX_FXS"); + vm.label(0xF37057823910653a554d996B49E3399DC87fAE1b, "Constants.ETH_UNISWAP_FRAX_IQ"); + vm.label(0xfC77A420f56Dec53e3b91D7FC936902e132335FF, "Constants.ETH_UNISWAP_FRAX_OHM"); + vm.label(0xa29367a3f057F3191b62bd4055845a33411892b6, "Constants.ETH_UNISWAP_FRAX_USDC"); + vm.label(0xD875628B942f8970De3CcEaf6417005F68540d4f, "Constants.ETH_UNISWAP_FRAX_WETH"); + vm.label(0xDc65f3514725206Dd83A8843AAE2aC3D99771C88, "Constants.ETH_UNISWAP_FXS_WETH"); + vm.label(0xf8caEd1943B15B877D7105B9906a618c154f69E8, "Constants.ETH_UNISWAP_V3_FRAX_AGEUR"); + vm.label(0xF22471AC2156B489CC4a59092c56713F813ff53e, "Constants.ETH_UNISWAP_V3_FRAX_DAI"); + vm.label(0x3EF26504dbc8Dd7B7aa3E97Bc9f3813a9FC0B4B0, "Constants.ETH_UNISWAP_V3_FRAX_USDC"); + vm.label(0x574C154C83432B0A45BA3ad2429C3fA242eD7359, "Constants.ETH_VEFPIS_FPIS_STAKING"); + vm.label(0xc8418aF6358FFddA74e09Ca9CC3Fe03Ca6aDC5b0, "Constants.ETH_VEFXS_FXS_STAKING"); + vm.label(0x698137C473bc1F0Ea9b85adE45Caf64ef2DF48d6, "Constants.ETH_VESPER_ORBIT_FRAX"); + vm.label(0x1A5ebfF0E881Aec34837845e4D0EB430a1B4b737, "Constants.ETH_YEARN_CRVFRAX_VAULT_V3"); + vm.label(0xc9268c7F59850B26567b0f5d3Dcc317cEDC43490, "Constants.ETH_SLIPPAGE_AUCTION_FACTORY"); + vm.label(0xa8478781D9605E17c3b4c9C79e7127c4597116E4, "Constants.ETH_FXB_FACTORY"); + vm.label(0x452420df4AC1e3db5429b5FD629f3047482C543C, "Constants.ETH_FXB_AMO"); + vm.label(0x831822660572bd54ebaa065C2acef662a6277D40, "Constants.ETH_FXB_AMO_TIMELOCK"); + vm.label(0x0dE54CFdfeD8005176f8b7A9D5438B45c4F1df1e, "Constants.ETH_FXB_20240630"); + vm.label(0xC92067D8DDb1970ecB93202DA31a3C45cC2c1F44, "Constants.ETH_AUCTION_20240630"); + vm.label(0x27F4f8ca2f906B73c5eD8d794d1eA016f2cA0A97, "Constants.ETH_ORACLE_20240630"); + vm.label(0x4ef4c7519023F30A78647EEab321d6cFabC2513c, "Constants.ETH_CURVE_20240630_MAINNET_POOL"); + vm.label(0xF8FDe8A259A3698902C88bdB1E13Ff28Cd7f6F09, "Constants.ETH_FXB_20241231"); + vm.label(0xc9aa98788a675FF0846E8856cb83F19452f3b0c8, "Constants.ETH_AUCTION_20241231"); + vm.label(0x08a0748cF885F46e20fA30A50a035808eab293D3, "Constants.ETH_ORACLE_20241231"); + vm.label(0x6307E6688819951Cf8D6B6066018243D2496952F, "Constants.ETH_CURVE_20241231_MAINNET_POOL"); + vm.label(0xE920eEdAff6c3BEd1Ef61010B64d46986634E908, "Constants.ETH_CURVE_20241231_ARBITRUM_POOL"); + vm.label(0x05824D6D4DE8A0ede4e12b98387A4f035a67ee68, "Constants.ETH_CURVE_20241231_ARBITRUM_GAUGE"); + vm.label(0x76237BCfDbe8e06FB774663add96216961df4ff3, "Constants.ETH_FXB_20261231"); + vm.label(0x63981f5E690eaF7E8795c42832664e8848F532fB, "Constants.ETH_AUCTION_20261231"); + vm.label(0x2ec5D1C13fEF1C7029eE329a1D31B2180c9b3707, "Constants.ETH_ORACLE_20261231"); + vm.label(0xe035e27A8eD6842b478933820f90093D205F7098, "Constants.ETH_CURVE_20261231_MAINNET_POOL"); + vm.label(0x946adc524BD312D036776798c46ceDD948DD0A0f, "Constants.ETH_CURVE_20261231_ARBITRUM_POOL"); + vm.label(0xa2617A26f9f528fa7B0E47fc2e66FcC04C6682E9, "Constants.ETH_CURVE_20261231_ARBITRUM_GAUGE"); + vm.label( + 0x85c5f05Ae4CB68190C695a22b292C3bA90696128, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_ARBITRUM__FRAX__ETH_SIDE" + ); + vm.label( + 0x4b8792aF00eaE944484bF572bc33029B2184a50C, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ARBITRUM__FXS__ETH_SIDE" + ); + vm.label( + 0x5878d03AA50d2c00A921948Ea8Fa5F2d247f6BDB, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPI__ETH_SIDE" + ); + vm.label( + 0xCd4aa7DB9D8a995a651498E94f6693A4D26e6C9E, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPIS__ETH_SIDE" + ); + vm.label( + 0x505603e2440b44C1602b44D0Eb8385399b3F7bab, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ARBITRUM__FRXETH__ETH_SIDE" + ); + vm.label( + 0x8afd5082E0C24dEcEA39A9eFb14e4ACF4373D7D6, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRXETH__ETH_SIDE" + ); + vm.label( + 0x2453b1FbD17ceA069A31C9D16A27f4F93a85Cc0d, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRAX__ETH_SIDE" + ); + vm.label( + 0x6ac96F65156281a9383455D704b58A74ea9C9eC4, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_AURORA__FRAX__ETH_SIDE" + ); + vm.label( + 0xA381d58e96eC3818c825E1fb264099448945CF8b, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_AVALANCHE__FRAX__ETH_SIDE" + ); + vm.label( + 0x9Ab224996D25bfDCB91d838F7f1902698Ac0a742, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_AVALANCHE__FXS__ETH_SIDE" + ); + vm.label( + 0xbb6b54F8969a4711527fdF6AB852B6D6cdF368d1, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPI__ETH_SIDE" + ); + vm.label( + 0x18A5ca670dC42D0551f00E11A730074f6787f17F, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPIS__ETH_SIDE" + ); + vm.label( + 0x94ddd112C9ea0fb534e376BE09A50d310F0612b4, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_AVALANCHE__FRXETH__ETH_SIDE" + ); + vm.label( + 0xF380200B115Caa22D49e6C115b758d6130377620, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRXETH__ETH_SIDE" + ); + vm.label( + 0x59ae66FB395893E3FD965aDb06A52d06C49dF8A9, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRAX__ETH_SIDE" + ); + vm.label( + 0x3eF1d856EA62A2292B8690855042095a7aC48B4b, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_BOBA__FRAX__ETH_SIDE" + ); + vm.label( + 0xDAe210BfB0cF8c81EDB4b459e2e0bA14D553e2D9, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_BSC__FRAX__ETH_SIDE" + ); + vm.label(0x9B62402Eb9A755677dEbdaE3639CB531c0Af0E5d, "Constants.ETH_FRAXFERRY_V2__ETHEREUM_BSC__FXS__ETH_SIDE"); + vm.label(0xfbD33d2f3330f063C87b523Ba80D5F7f296E5393, "Constants.ETH_FRAXFERRY_V2__ETHEREUM_BSC__FPI__ETH_SIDE"); + vm.label( + 0xf18B122c3935Ff49f62C8f1f77Dc42A6F85A0bb5, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_BSC__FPIS__ETH_SIDE" + ); + vm.label( + 0xce4DbAF3fa72C962Ee1F371694109fc2a80B03f5, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_BSC__FRXETH__ETH_SIDE" + ); + vm.label( + 0x621D0e62f26314387f338A2509aFA3Ae3414661A, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_BSC__SFRXETH__ETH_SIDE" + ); + vm.label( + 0xe3e7F354ac948ceBa925181C81618D7c9b3da8C9, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_BSC__SFRAX__ETH_SIDE" + ); + vm.label( + 0x2d2261f970F605C813f160E8BAEd455E9004A842, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_EVMOS__FRAX__ETH_SIDE" + ); + vm.label( + 0xfB788F9E20ef426a32A67986654750172A6c1788, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_FANTOM__FRAX__ETH_SIDE" + ); + vm.label( + 0x1313d143BE1ac25aCACEFF39Bf31877bccDb9622, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_FANTOM__FXS__ETH_SIDE" + ); + vm.label( + 0xaF4305d05e9B08b1D17894ce1ACE8235528f7EdE, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_FANTOM__FRXETH__ETH_SIDE" + ); + vm.label( + 0xB6b0290A39E2F896bBd8fC19cf17FE393e993dE4, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_FANTOM__SFRXETH__ETH_SIDE" + ); + vm.label( + 0x5e1D94021484642863Ea8E7Cb4F0188e56B18FEE, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_FRAXTAL__FRAX__ETH_SIDE" + ); + vm.label( + 0x4A6d155df9Ec9A1BB3639e6B7B99E46Fb68D42f6, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_FRAXTAL__FXS__ETH_SIDE" + ); + vm.label( + 0x9A576A3d39c589A861B46864C253288bcA428a6c, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPI__ETH_SIDE" + ); + vm.label( + 0x958815f476cD07354c0BC034EE5077B20fD93003, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPIS__ETH_SIDE" + ); + vm.label( + 0x5c5f05cF8528FFe925A2264743bFfEdbAB2b0FE3, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRXETH__ETH_SIDE" + ); + vm.label( + 0x2b4864c2F2A2C275C6C66B90a2ae6BE9fA9cbE47, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRAX__ETH_SIDE" + ); + vm.label( + 0xF1E1deA8F1053FD9C5F47f72F1f03977E17aF242, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_MOONBEAM__FRAX__ETH_SIDE" + ); + vm.label( + 0x2De1354c98880889643c4cA8B06FA2Fb8Fc1Fd7A, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_MOONBEAM__FXS__ETH_SIDE" + ); + vm.label( + 0x228567c10b7533C88057c10dDeA6349360F122c5, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_MOONBEAM__FRXETH__ETH_SIDE" + ); + vm.label( + 0xbc3A2bF4FA20bE2056DCE5BFB168970BA657F187, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_MOONBEAM__SFRXETH__ETH_SIDE" + ); + vm.label( + 0x15ADa72A3B52A88E25DdD2CC2bA1120234e34bb0, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_MOONRIVER__FRAX__ETH_SIDE" + ); + vm.label( + 0xFe7ebA20c20C8FF12A337F940Ce7A97c6e2594DE, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_MOONRIVER__FXS__ETH_SIDE" + ); + vm.label( + 0x06Fa869caa1160754C6a0B744Da6454c5EA325d4, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_OPTIMISM__FRAX__ETH_SIDE" + ); + vm.label( + 0x6650D5183C4Cd294a81B1F724c365b0c42f8270a, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_OPTIMISM__FXS__ETH_SIDE" + ); + vm.label( + 0xC05DE1CB258bAdc152d8EAd3F573CA9A2E812B2a, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPI__ETH_SIDE" + ); + vm.label( + 0x8Bf7Af56bB721BC3d015111508593Fcb301546F0, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPIS__ETH_SIDE" + ); + vm.label( + 0x2F08F4645d2fA1fB12D2db8531c0c2EA0268BdE2, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_OPTIMISM__FRXETH__ETH_SIDE" + ); + vm.label( + 0x04ba20D2Cc47C63bce1166C2864F0241e4D0a0CC, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRXETH__ETH_SIDE" + ); + vm.label( + 0x9694dcF5b6CCF6216B05FE64945f62603e2d2367, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRAX__ETH_SIDE" + ); + vm.label( + 0x43959A388603DCb6B02Ca084A55d4c7f3b442c57, + "Constants.ETH_FRAXFERRY_V1__ETHEREUM_POLYGON__FRAX__ETH_SIDE" + ); + vm.label( + 0xCa026e80F1E9e44da7ce3eD6aC2E9630260B9276, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON__FXS__ETH_SIDE" + ); + vm.label( + 0x98f5E4b7D9eDF57A6ED41b334bD40B2eAa6B6e26, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON__FRXETH__ETH_SIDE" + ); + vm.label( + 0x91Ff54EffF7564BA3884A91d0E293502D8E6fF90, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON__SFRXETH__ETH_SIDE" + ); + vm.label( + 0x86E71075e55F0aaD27D700017E0783458310c98a, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRAX__ETH_SIDE" + ); + vm.label( + 0xBa32Df0b78b1A68F7FA304BbD4Ed7a56A74c525a, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FXS__ETH_SIDE" + ); + vm.label( + 0x45D2d8e4aB0F5af1D29305301A1b31D5d41b3349, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPI__ETH_SIDE" + ); + vm.label( + 0xF887C4cFAAfB43d1AA7De204344895591016772c, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPIS__ETH_SIDE" + ); + vm.label( + 0x3aaB5C43D4e47f71DEea94a7d541E6C07e21B137, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRXETH__ETH_SIDE" + ); + vm.label( + 0xb8686Ef9B7ee9e73dE5d1721E4Da580278F8F4d2, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRXETH__ETH_SIDE" + ); + vm.label( + 0x602cCfee6B4BA8Eb5e35Cf26e05fDEDE379e578E, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRAX__ETH_SIDE" + ); + vm.label( + 0x32dDf80508cfD8feD8ABe375582FC7cfD20372C4, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ZKSYNC__FRAX__ETH_SIDE" + ); + vm.label( + 0x27E97F35D80514D5DD1Caa730e22a292E912a214, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ZKSYNC__FXS__ETH_SIDE" + ); + vm.label( + 0x0F6136F9aBB7A0c21FbE076771625b39C544BDf5, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ZKSYNC__FPI__ETH_SIDE" + ); + vm.label( + 0xFBC512849D4dcEeeFAa1bfce08B3dC9daD755482, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ZKSYNC__FPIS__ETH_SIDE" + ); + vm.label( + 0x9f76b097Cd95627bFbD8052A583127FF6e7b3Fa9, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ZKSYNC__FRXETH__ETH_SIDE" + ); + vm.label( + 0x29396AaE6198130A15F6Ff982C44BC4a7353Ef37, + "Constants.ETH_FRAXFERRY_V2__ETHEREUM_ZKSYNC__SFRXETH__ETH_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.ETH_FRAXFERRY_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.ETH_FRAXFERRY_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.ETH_FRAXFERRY_CREWMEMBER"); + vm.label(0x3C2982CA260e870eee70c423818010DfeF212659, "Constants.ETH_FRAX_POOL_USDC"); + vm.label(0x1864Ca3d47AaB98Ee78D11fc9DCC5E7bADdA1c0d, "Constants.ETH_FRAX_POOL_USDC_V2"); + vm.label(0x7d3FCd3825AE54E8E8FFD3d0ce95882330d54968, "Constants.ETH_FRAX_POOL_USDT"); + vm.label(0x2fE065e6FFEf9ac95ab39E5042744d695F560729, "Constants.ETH_FRAX_POOL_V3"); + vm.label(0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9, "Constants.ETH_AAVE_ERC20"); + vm.label(0x3284E1BCEaf70767A7575d0e1e10fAFbC4618B52, "Constants.ETH_AAVE_TOKEN_DUAL_ORACLE_ADDRESS"); + vm.label(0x547a514d5e3769680Ce22B2361c10Ea13619e8a9, "Constants.ETH_AAVE_USD_CHAINLINK_ORACLE"); + vm.label(0x2CDF5812F4ebcF3BD533E8918D47Bd3e65514520, "Constants.ETH_APECOIN_DUAL_ORACLE_ADDRESS"); + vm.label(0x4d224452801ACEd8B2F0aebE155379bb5D594381, "Constants.ETH_APE_ERC20"); + vm.label(0xD10aBbC76679a20055E167BB80A24ac851b37056, "Constants.ETH_APE_USD_CHAINLINK_ORACLE"); + vm.label(0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c, "Constants.ETH_BTC_USD_CHAINLINK_ORACLE"); + vm.label(0x7F09c398740518F8e34556D8C1A1FBE1cb1F6Db0, "Constants.ETH_CHAIN_LINK_TOKEN_DUAL_ORACLE"); + vm.label(0xfd3065C629ee890Fd74F43b802c2fea4B7279B8c, "Constants.ETH_CIRCUIT_BREAKER_ADDRESS"); + vm.label(0x878f2059435a19C79c20318ee57657bF4543B6d4, "Constants.ETH_COMBO_ORACLE"); + vm.label(0x734fd1fD1f3720379f52cB9d8168d76Cd1ca4A73, "Constants.ETH_COMBO_ORACLE_KYBERSWAP_ELASTIC"); + vm.label(0xc3a483Bb5F96bC4E6104325aa1A229A8E29166B3, "Constants.ETH_COMBO_ORACLE_KYBERSWAP_ELASTIC_V2"); + vm.label(0x1cBE07F3b3bf3BDe44d363cecAecfe9a98EC2dff, "Constants.ETH_COMBO_ORACLE_UNIV2_UNIV3"); + vm.label(0x168200cF227D4543302686124ac28aE0eaf2cA0B, "Constants.ETH_COMPTROLLER_ADDRESS"); + vm.label(0x8A2112B42AF1F997002FBAfF77dd09F42A281e8d, "Constants.ETH_CONVEX_WRAPPER_FRAX_USDC_CURVE_POOL_LP"); + vm.label(0x45127c7fA0c3Ce6A18fEc9604D96eDfBBc8A9700, "Constants.ETH_CONVEX_WRAPPER_FRXETH_ETH_CURVE_POOL_LP"); + vm.label(0x54a3A6aFd87F10Eea4Acc2A067A2C0b612B6D315, "Constants.ETH_CONVEX_WRAPPER_FRAX_USDC_FRAXLEND_LP_OLD"); + vm.label(0xd1b222AAEdf2877CeEB3c66BDaA6858200eb48fC, "Constants.ETH_CONVEX_WRAPPER_FRXETH_ETH_FRAXLEND_LP_OLD"); + vm.label(0x7086F2aCB5558043fF9cE3df346D8E3FB4F4f452, "Constants.ETH_CPI_TRACKER_ORACLE"); + vm.label(0x66B7DFF2Ac66dc4d6FBB3Db1CB627BBb01fF3146, "Constants.ETH_CPI_TRACKER_ORACLE_V2"); + vm.label(0xD533a949740bb3306d119CC777fa900bA034cd52, "Constants.ETH_CRV_ERC20"); + vm.label(0xCd627aA160A6fA45Eb793D19Ef54f5062F20f33f, "Constants.ETH_CRV_USD_CHAINLINK_ORACLE"); + vm.label(0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B, "Constants.ETH_CVX_ERC20"); + vm.label(0xd962fC30A72A84cE50161031391756Bf2876Af5D, "Constants.ETH_CVX_USD_CHAINLINK_ORACLE"); + vm.label(0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419, "Constants.ETH_ETH_USD_CHAINLINK_ORACLE"); + vm.label(0x8216AE38454cCe2d52dEcf0442042250Ea6A2510, "Constants.ETH_EZETHETH_DUAL_ORACLE"); + vm.label(0xB020ab0E609d907578f6899a9469E3CbD79e4e70, "Constants.ETH_EZETH_DUAL_ORACLE"); + vm.label(0xbf5495Efe5DB9ce00f80364C8B423567e58d2110, "Constants.ETH_EZETH_ERC20"); + vm.label(0xB8B01cec5CEd05C457654Fc0fda0948f859883CA, "Constants.ETH_FIL_ERC20"); + vm.label(0x0606Be69451B1C9861Ac6b3626b99093b713E801, "Constants.ETH_FIL_ETH_CHAINLINK_ORACLE"); + vm.label(0x1A31D42149e82Eb99777f903C08A2E41A00085d3, "Constants.ETH_FIL_USD_CHAINLINK_ORACLE"); + vm.label(0xc2544A32872A91F4A553b404C6950e89De901fdb, "Constants.ETH_FPIS_ERC20"); + vm.label(0x2397321b301B80A1C0911d6f9ED4b6033d43cF51, "Constants.ETH_FPI_CONTROLLER_POOL_ADDRESS"); + vm.label(0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E, "Constants.ETH_FPI_ERC20"); + vm.label(0xd2516e709a2e9D64F66B4c4009efE4F74F5FA40D, "Constants.ETH_FPI_ORACLE"); + vm.label(0x2469757756ebA7Bea6B7F054896e3Db74103A962, "Constants.ETH_FPI_ORACLE_V2"); + vm.label(0x251d4fE77eD73126583Ee347041258ABeEcB7C66, "Constants.ETH_FRAXBP_CURVE_LP_DUAL_ORACLE"); + vm.label(0x5d6e79Bcf90140585CE88c7119b7E43CAaA67044, "Constants.ETH_FRAXLEND_DEPLOYER_ADDRESS_V0"); + vm.label(0x5d6e79Bcf90140585CE88c7119b7E43CAaA67044, "Constants.ETH_FRAXLEND_PAIRDEPLOYER"); + vm.label(0x26fa88b783cE712a2Fa10E91296Caf3daAE0AB37, "Constants.ETH_FRAXLEND_PAIRHELPER"); + vm.label(0x38488dE975B77dc1b0D4B8569f596f6FD6ca0B92, "Constants.ETH_FRAXLEND_PAIR_DEPLOYER_ADDRESS"); + vm.label(0xC4e34AD5908c4D2508a26C20c8687Ff64CB9e05b, "Constants.ETH_FRAXLEND_PAIR_DEPLOYER_CONVEX_ADDRESS"); + vm.label(0xaa913C26dD7723Fcae9dBD2036d28171a56C6251, "Constants.ETH_FRAXLEND_PAIR_DEPLOYER_V3_ADDRESS"); + vm.label(0xEb8816BAEB70690660ce6C0eDA2b07A21493e664, "Constants.ETH_FRAXLEND_PAIR_DEPLOYER_V41_ADDRESS"); + vm.label(0x7AB788d0483551428f2291232477F1818952998C, "Constants.ETH_FRAXLEND_PAIR_DEPLOYER_V4_ADDRESS"); + vm.label(0x1b0bCeD6dd26a7c234506E261BC68C9A3A4031b7, "Constants.ETH_FRAXLEND_PAIR_HELPER"); + vm.label(0xD6E9D27C75Afd88ad24Cd5EdccdC76fd2fc3A751, "Constants.ETH_FRAXLEND_PAIR_REGISTRY_ADDRESS"); + vm.label(0x118C1462AA28bF2ea304f78f49C3388cfd93234e, "Constants.ETH_FRAXLEND_WHITELIST_ADDRESS"); + vm.label(0xC14d550632db8592D1243Edc8B95b0Ad06703867, "Constants.ETH_FRAXSWAP_ROUTER_ADDRESS"); + vm.label(0xdB3388e770F49A604E11f1a2084B39279492a61f, "Constants.ETH_FRAX_HOT_WALLET"); + vm.label(0x2Ad35cce2a690E0bF1e6dCAC2F9175389F31D7F4, "Constants.ETH_FRAX_USDC_CURVE_LP_DUAL_ORACLE_ADDRESS"); + vm.label(0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC, "Constants.ETH_FRAX_USDC_CURVE_POOL_LP_ERC20"); + vm.label(0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2, "Constants.ETH_FRAX_USDC_CURVE_POOL_NOT_LP"); + vm.label(0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2, "Constants.ETH_FRAX_USDC_PLAIN_POOL"); + vm.label(0xB9E1E3A9feFf48998E45Fa90847ed4D467E8BcfD, "Constants.ETH_FRAX_USD_CHAINLINK_ORACLE"); + vm.label( + 0x1A4ae41e247ef90EDAaC97DD729a4F03687059DB, + "Constants.ETH_FRXETH_ETH_CURVE_POOL_LP_DUAL_ORACLE_ADDRESS" + ); + vm.label(0xf43211935C781D5ca1a41d2041F397B8A7366C7A, "Constants.ETH_FRXETH_ETH_CURVE_POOL_LP_ERC20"); + vm.label(0xa1F8A6807c402E4A15ef4EBa36528A3FED24E577, "Constants.ETH_FRXETH_ETH_CURVE_POOL_NOT_LP"); + vm.label(0xb12c19C838499E3447AFd9e59274B1BE56b1546A, "Constants.ETH_FRXETH_ETH_DUAL_ORACLE_ADDRESS"); + vm.label(0xC58F3385FBc1C8AD2c0C9a061D7c13b141D7A5Df, "Constants.ETH_FRXETH_FRAX_ORACLE_ADDRESS"); + vm.label(0x0dE54CFdfeD8005176f8b7A9D5438B45c4F1df1e, "Constants.ETH_FXB_20240630_ERC20"); + vm.label(0x27F4f8ca2f906B73c5eD8d794d1eA016f2cA0A97, "Constants.ETH_FXB_20240630_ORACLE"); + vm.label(0xF8FDe8A259A3698902C88bdB1E13Ff28Cd7f6F09, "Constants.ETH_FXB_20241231_ERC20"); + vm.label(0x34b7525FB0735342Ef3E73d0ED2a912aaAC6c617, "Constants.ETH_FXB_20241231_ORACLE_ADAPTER"); + vm.label(0x76237BCfDbe8e06FB774663add96216961df4ff3, "Constants.ETH_FXB_20261231_ERC20"); + vm.label(0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3, "Constants.ETH_FXB_20261231_ORACLE_ADAPTER"); + vm.label(0x01480a0C134CeCC309015a564C7e292ba6E0F358, "Constants.ETH_FXB_VARIABLE_RATE_2"); + vm.label(0x6Ebc52C8C1089be9eB3945C4350B68B8E4C2233f, "Constants.ETH_FXS_USD_CHAINLINK_ORACLE"); + vm.label(0x0ab87046fBb341D058F17CBC4c1133F25a20a52f, "Constants.ETH_GOHM_ERC20"); + vm.label(0xe893297a9d4310976424fD0B25f53aC2B6464fe3, "Constants.ETH_GOHM_ORACLE"); + vm.label(0x883Aa2E1E46b53648520E0F6857e2ee1798F3e5d, "Constants.ETH_LDO_DUAL_ORACLE"); + vm.label(0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32, "Constants.ETH_LDO_ERC20"); + vm.label(0x4e844125952D32AcdF339BE976c98E22F6F318dB, "Constants.ETH_LDO_ETH_CHAINLINK_ORACLE"); + vm.label(0x9409280DC1e6D33AB7A8C6EC03e5763FB61772B5, "Constants.ETH_LDO_ETH_CURVE_V2_POOL"); + vm.label(0x2f3511C5E960040369F68508ebb366DF58DF1BF2, "Constants.ETH_LINEAR_INTEREST_RATE"); + vm.label(0x2f3511C5E960040369F68508ebb366DF58DF1BF2, "Constants.ETH_LINEAR_RATE_ADDRESS"); + vm.label(0x514910771AF9Ca656af840dff83E8264EcF986CA, "Constants.ETH_LINK_ERC20"); + vm.label(0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c, "Constants.ETH_LINK_USD_CHAINLINK_ORACLE"); + vm.label(0x4c7b43EcE8958D7f6b184B3833DD1D383db1f83b, "Constants.ETH_MAKER_DUAL_ORACLE_ADDRESS"); + vm.label(0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2, "Constants.ETH_MKR_ERC20"); + vm.label(0x24551a8Fb2A7211A25a17B1481f043A8a8adC7f2, "Constants.ETH_MKR_ETH_CHAINLINK_ORACLE"); + vm.label(0xec1D1B3b0443256cc3860e24a46F108e699484Aa, "Constants.ETH_MKR_USD_CHAINLINK_ORACLE"); + vm.label(0x9a72298ae3886221820B1c878d12D872087D3a23, "Constants.ETH_OHMV2_ETH_CHAINLINK_ORACLE"); + vm.label(0x8161EDD2208247066FA213EDA909B0D351543b3d, "Constants.ETH_RETH_DUAL_ORACLE"); + vm.label(0xae78736Cd615f374D3085123A210448E74Fc6393, "Constants.ETH_RETH_ERC20"); + vm.label(0x16BAb4C46b36587609093633550816fc828817Ba, "Constants.ETH_RSETHETH_DUAL_ORACLE"); + vm.label(0xA1290d69c65A6Fe4DF752f95823fae25cB99e5A7, "Constants.ETH_RSETH_ERC20"); + vm.label(0xA663B02CF0a4b149d2aD41910CB81e23e1c41c32, "Constants.ETH_SFRAX_ERC20"); + vm.label(0xd2F0fa7f2E6a60EEcf4b78c5b6D81002b9789F2c, "Constants.ETH_SFRXETH_DUAL_ORACLE_ADDRESS"); + vm.label(0x1473F3e4d236CBBe3412b9f65B4c210756BE2C0E, "Constants.ETH_SFRXETH_ETH_DUAL_ORACLE_ADDRESS"); + vm.label(0xB9af7723CfBd4469A7E8aa60B93428D648Bda99d, "Constants.ETH_SFRXETH_FRAX_ORACLE_ADDRESS"); + vm.label(0x27942aFe4EcB7F9945168094e0749CAC749aC97B, "Constants.ETH_SFRXETH_ORACLE"); + vm.label(0x807502C8EAdAc82C3227249f8aCf54d9d98F76d1, "Constants.ETH_SFRXETH_ORACLE_V2"); + vm.label(0xAfBcCB0a8d301AA8c18eBb4Ac94aB32d394fDCeC, "Constants.ETH_SFRXETH_SFRAX_INVERSE_ORACLE_ADAPTER"); + vm.label(0x3FdA3e9E78EAcd7381F1ED2CF145B93537878c1f, "Constants.ETH_SFRXETH_USDC_ORACLE_V2_ADAPTER"); + vm.label(0x3d3D868522b5a4035ADcb67BF0846D61597A6a6F, "Constants.ETH_SFRXETH_USD_ORACLE_V2"); + vm.label(0x9D39A5DE30e57443BfF2A8307A4256c8797A3497, "Constants.ETH_SUSDE_ERC20"); + vm.label(0x8Eb7a4Fa315620CC342073326acC206961F4BB62, "Constants.ETH_SUSDE_ORACLE"); + vm.label(0x33A9D662d9F7cb2153e3a5102615B08865BeAbdB, "Constants.ETH_UNISWAP_DUAL_ORACLE_ADDRESS"); + vm.label(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D, "Constants.ETH_UNIV2_ROUTER"); + vm.label(0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984, "Constants.ETH_UNI_ERC20"); + vm.label(0x553303d460EE0afB37EdFf9bE42922D8FF63220e, "Constants.ETH_UNI_USD_CHAINLINK_ORACLE"); + vm.label(0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48, "Constants.ETH_USDC_ERC20"); + vm.label(0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6, "Constants.ETH_USDC_USD_CHAINLINK_ORACLE"); + vm.label(0x5dc1BF6f1e983C0b21EfB003c105133736fA0743, "Constants.ETH_USDE_CURVE_PAIR"); + vm.label(0x4c9EDD5852cd905f086C759E8383e09bff1E68B3, "Constants.ETH_USDE_ERC20"); + vm.label(0xfdE8C36F32Bf32e73A1bdeb4ef3E17709674a838, "Constants.ETH_USDE_ORACLE"); + vm.label(0x18500cB1f2fE7a40eBdA393383A0B8548a31F261, "Constants.ETH_VARIABLE_RATE_2_ADDRESS"); + vm.label(0x576E23b6E2665A91DdF301DcfF53d1fFA2972bB5, "Constants.ETH_VARIABLE_RATE_2_ADDRESS_50"); + vm.label(0xFf7846bAcB63FE97406a1E1e48CAf1595f66A98c, "Constants.ETH_VARIABLE_RATE_50BP_ADDRESS"); + vm.label(0x9327058a739089869B7DC3436E074C6d56051C7A, "Constants.ETH_VARIABLE_RATE_ADDRESS"); + vm.label(0x3da1bf0Be175B7cAa38d67A6E78371947d2F51f7, "Constants.ETH_VARIABLE_RATE_ADDRESS_OLD"); + vm.label(0x9599033315C29Be9690b716bFE409381426dAD41, "Constants.ETH_VARIABLE_RATE_STABLE_ADDRESS"); + vm.label(0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599, "Constants.ETH_WBTC_ERC20"); + vm.label(0xeA94770583b5d57791dFe9CF1e29EfD6D53d2fdC, "Constants.ETH_WBTC_SFRAX_INVERSE_DUAL_ORACLE"); + vm.label( + 0xb7dA758EE015c3C45B4a54579743Ebf365F7A53b, + "Constants.ETH_WBTC_SFRAX_INVERSE_ORACLE_ADAPTER_CHAINLINK" + ); + vm.label(0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2, "Constants.ETH_WETH_ERC20"); + vm.label(0x92c7b5Ce4CB0e5483F3365C1449f21578eE9f21A, "Constants.ETH_WETH_FRAX_V3_POOL"); + vm.label( + 0x1cA1350F67575B0beE44EC9DC6725A4032431F33, + "Constants.ETH_WETH_SFRAX_INVERSE_ORACLE_ADAPTER_CHAINLINK" + ); + vm.label(0xE0554a476A092703abdB3Ef35c80e0D76d32939F, "Constants.ETH_WETH_USDC_V3_POOL"); + vm.label(0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0, "Constants.ETH_WSTETH_ERC20"); + vm.label(0xe73375f36A1b17A21d7Aa0fDa092195431e7017a, "Constants.ETH_WSTETH_USD_DUAL_ORACLE_ADDRESS"); + vm.label(0x794F6B13FBd7EB7ef10d1ED205c9a416910207Ff, "Constants.ETH_FRAXLEND_PAIR_WETH_FRAX"); + vm.label(0x32467a5fc2d72D21E8DCe990906547A2b012f382, "Constants.ETH_FRAXLEND_PAIR_WBTC_FRAX"); + vm.label(0x78bB3aEC3d855431bd9289fD98dA13F9ebB7ef15, "Constants.ETH_FRAXLEND_PAIR_SFRXETH_FRAX"); + vm.label(0x281E6CB341a552E4faCCc6b4eEF1A6fCC523682d, "Constants.ETH_FRAXLEND_PAIR_CRVETHFRXETH_FRAX"); + vm.label(0xDbe88DBAc39263c47629ebbA02b3eF4cf0752A72, "Constants.ETH_FRAXLEND_PAIR_FXS_FRAX"); + vm.label(0x74F82Bd9D0390A4180DaaEc92D64cf0708751759, "Constants.ETH_FRAXLEND_PAIR_FPI_FRAX"); + vm.label(0x3a25B9aB8c07FfEFEe614531C75905E810d8A239, "Constants.ETH_FRAXLEND_PAIR_APE_FRAX"); + vm.label(0xa1D100a5bf6BFd2736837c97248853D989a9ED84, "Constants.ETH_FRAXLEND_PAIR_CVX_FRAX"); + vm.label(0x3835a58CA93Cdb5f912519ad366826aC9a752510, "Constants.ETH_FRAXLEND_PAIR_CRV_FRAX"); + vm.label(0x66bf36dBa79d4606039f04b32946A260BCd3FF52, "Constants.ETH_FRAXLEND_PAIR_GOHM_FRAX"); + vm.label(0x82Ec28636B77661a95f021090F6bE0C8d379DD5D, "Constants.ETH_FRAXLEND_PAIR_MKR_FRAX"); + vm.label(0xc6CadA314389430d396C7b0C70c6281e99ca7fe8, "Constants.ETH_FRAXLEND_PAIR_UNI_FRAX"); + vm.label(0xc779fEE076EB04b9F8EA424ec19DE27Efd17A68d, "Constants.ETH_FRAXLEND_PAIR_AAVE_FRAX"); + vm.label(0x35E08B28d5b01D058cbB1c39dA9188CC521a79aF, "Constants.ETH_FRAXLEND_PAIR_FXB06302024_FRAX"); + vm.label(0xd1887398f3bbdC9d10D0d5616AD83506DdF5057a, "Constants.ETH_FRAXLEND_PAIR_FXB12312024_FRAX"); + vm.label(0x1c0C222989a37247D974937782cebc8bF4f25733, "Constants.ETH_FRAXLEND_PAIR_FXB12312026_FRAX"); + vm.label(0xeE847a804b67f4887c9E8fe559A2dA4278deFB52, "Constants.ETH_FRAXLEND_PAIR_SFRXETH_USDC"); + vm.label(0x7093F6141293F7C4F67E5efD922aC934402E452d, "Constants.ETH_FRAXLEND_PAIR_LINK_FRAX"); + vm.label(0xb5a46f712F03808aE5c4B885C6F598fA06442684, "Constants.ETH_FRAXLEND_PAIR_WSTETH_FRAX"); + vm.label(0x0601B72bEF2b3F09E9f48B7d60a8d7D2D3800C6e, "Constants.ETH_FRAXLEND_PAIR_LDO_FRAX"); + vm.label(0xa4Ddd4770588EF97A3a03E4B7E3885d824159bAA, "Constants.ETH_FRAXLEND_PAIR_RETH_FRAX"); + vm.label(0xb5Ae5b75C0DF5632c572A657109375646Ce66f90, "Constants.ETH_FRAXLEND_PAIR_SUSDE_FRAX"); + vm.label(0xb67Bd04f74BD79a505c5167675E8812355270eD5, "Constants.ETH_FRAXLEND_PAIR_SFRAX_WBTC"); + vm.label(0x501256B1DC7bb99CdE57AF188a69307BCC7E00E8, "Constants.ETH_FRAXLEND_PAIR_SFRAX_SFRXETH"); + vm.label(0x1eE17BE9B788bcf3EB86C08D0E2b049e036F6eb1, "Constants.ETH_FRAXLEND_PAIR_EZETH_FRXETH"); + vm.label(0xCfE3550206ea801c3F7Dc7997376F09E0b7e4B81, "Constants.ETH_FRAXLEND_PAIR_RSETH_FRXETH"); + vm.label(0xe5Ca8CB440A6f9F6fA1D535D94A839CED59D9942, "Constants.ETH_FRAXLEND_WRAPPER_FACTORY"); + vm.label(0xB076b06F669e682609fb4a8C6646D2619717Be4b, "Constants.ETH_FRAXSWAP_FACTORY_V1"); + vm.label(0x43eC799eAdd63848443E2347C49f5f52e8Fe0F6f, "Constants.ETH_FRAXSWAP_FACTORY_V2"); + vm.label(0x1C6cA5DEe97C8C368Ca559892CCce2454c8C35C7, "Constants.ETH_FRAXSWAP_ROUTER_V1"); + vm.label(0xC14d550632db8592D1243Edc8B95b0Ad06703867, "Constants.ETH_FRAXSWAP_ROUTER_V2"); + vm.label(0x25e9acA5951262241290841b6f863d59D37DC4f0, "Constants.ETH_FRAXSWAP_ROUTER_MULTI_HOP"); + vm.label(0x5A1eA0130Dc4DC38420AA77929f992f1FBd482Bb, "Constants.ETH_FRAXSWAP_PAIR_FRAX_FPI"); + vm.label(0xd79886841026a39cFF99321140B3c4D31314782B, "Constants.ETH_FRAXSWAP_PAIR_FS_V2_FRAX_FPI"); + vm.label(0x8206412c107eF1aDb70B9277974f5163760E128E, "Constants.ETH_FRAXSWAP_PAIR_FRAX_FXS"); + vm.label(0x03B59Bd1c8B9F6C265bA0c3421923B93f15036Fa, "Constants.ETH_FRAXSWAP_PAIR_FS_V2_FRAX_FXS"); + vm.label(0x99887AC15eBCcbad52FA2c9ceDc9D91A91e36051, "Constants.ETH_FRAXSWAP_PAIR_FRAX_FPIS"); + vm.label(0x56695c26b3Cdb528815cd22fF7B47510ab821EFd, "Constants.ETH_FRAXSWAP_PAIR_FS_V2_FRAX_FPIS"); + vm.label(0xD3542ec999ceA6C79f09483fF88833f154a5e92f, "Constants.ETH_FRAXSWAP_PAIR_FPI_FPIS"); + vm.label(0xF14766a7C44EFb7F71441B7114d5Dd295B637175, "Constants.ETH_FRAXSWAP_PAIR_FS_V2_FPI_FPIS"); + vm.label(0x843B5Ae5861362F20A3aC185A2dD2393D7526C65, "Constants.ETH_FRAXSWAP_PAIR_FPI_FXS"); + vm.label(0x3ECfdA4EfF6184cD8563772D6d024cB0Fb9cBf80, "Constants.ETH_FRAXSWAP_PAIR_FS_V2_FPI_FXS"); + vm.label(0x1306b420B4B5f99cBeE938E369f06863a0f419A5, "Constants.ETH_FRAXSWAP_PAIR_FXS_FPIS"); + vm.label(0x7a9Bd205B55cCB1Cc1c5B99FF5Db87a6e7B2C38b, "Constants.ETH_FRAXSWAP_PAIR_FS_V2_FXS_FPIS"); + vm.label(0x49FD21C5C8813B1bAE4e5507C556391D6Dd9e9f1, "Constants.ETH_FRAXSWAP_PAIR_FS_V2_FXS_FRXETH"); + vm.label(0x8300f0528e00Ad33b218bb05D396F61A9FDd68Cd, "Constants.ETH_FRAXSWAP_PAIR_FRAX_WETH"); + vm.label(0x31351Bf3fba544863FBff44DDC27bA880916A199, "Constants.ETH_FRAXSWAP_PAIR_FS_V2_FRAX_WETH"); + vm.label(0x0a92aC70B5A187fB509947916a8F63DD31600F80, "Constants.ETH_FRAXSWAP_PAIR_FRAX_PITCHFXS"); + vm.label(0x2bac101F9769AEfF63c63EFfB4189152e833649F, "Constants.ETH_FRAXSWAP_PAIR_FRAX_PITCHFXS_V2"); + vm.label(0xcB0bC7C879bb3E9CFEB9d8EFef653F33B3d242e9, "Constants.ETH_FRAXSWAP_PAIR_FRAX_IQ"); + vm.label(0x07AF6BB51d6Ad0Cf126E3eD2DeE6EaC34BF094F8, "Constants.ETH_FRAXSWAP_PAIR_FRAX_IQ_V2"); + vm.label(0x38633ed142BCc8128b45aB04A2e4A6e53774699F, "Constants.ETH_FRAXSWAP_PAIR_FRAX_OHM"); + vm.label(0x5769071665eb8Db80e7e9226F92336Bb2897DCFA, "Constants.ETH_FRAXSWAP_PAIR_FRAX_OHM_V2"); + vm.label(0xCCB26b5CC4e1Ce29521DA281a0107A6672bfe099, "Constants.ETH_FRAXSWAP_PAIR_FRAX_SDL_V2"); + vm.label(0x832c6f546Bf34A552DeB8773216a93bf6801028c, "Constants.ETH_FRAXSWAP_PAIR_FRAX_SYN_V2"); + vm.label(0x5E8c1aD4c3D04f059d5c1A2Ce4593e53be270bca, "Constants.ETH_FRAXSWAP_PAIR_FRAX_ZZ_V2"); + vm.label(0x8c5D64d10394cFa070066e70Ec19E67398b4dABE, "Constants.ETH_ADDRESS_MANAGER"); + vm.label(0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27, "Constants.ETH_BASE_FEE_VAULT_RECIPIENT"); + vm.label(0xfF000000000000000000000000000000000420fC, "Constants.ETH_BATCH_INBOX"); + vm.label(0x6017f75108f251a488B045A7ce2a7C15b179d1f2, "Constants.ETH_BATCH_SENDER"); + vm.label(0x3AA7e876880CB34371c01f1510B1e0A932dCb8C1, "Constants.ETH_DISPUTE_GAME_FACTORY_PROXY"); + vm.label(0xe0d7755252873c4eF5788f7f45764E0e17610508, "Constants.ETH_FINAL_SYSTEM_OWNER"); + vm.label(0xe0d7755252873c4eF5788f7f45764E0e17610508, "Constants.ETH_FRAXTAL_COMPTROLLER"); + vm.label(0xe0d7755252873c4eF5788f7f45764E0e17610508, "Constants.ETH_FRAXTAL_DEPLOYER"); + vm.label(0xC6e4ECE5576dC96846bb11eD8910f3dF3CE516b8, "Constants.ETH_L1_CROSS_DOMAIN_MESSENGER_IMPL_V2"); + vm.label(0x126bcc31Bc076B3d515f60FBC81FddE0B0d542Ed, "Constants.ETH_L1_CROSS_DOMAIN_MESSENGER_PROXY"); + vm.label(0x31c25985E6b10CF335FC01cf9790aF4890d0505c, "Constants.ETH_L1_CROSS_DOMAIN_MESSENGER__IMPL_V1"); + vm.label(0x7eE1637C33Ed0DFEE6403f3301B6d404106018e4, "Constants.ETH_L1_ERC721_BRIDGE_IMPL_V2"); + vm.label(0xa9B5Fb84B7aeAF0D51C95DB04a76B1D4738D0eC5, "Constants.ETH_L1_ERC721_BRIDGE_PROXY"); + vm.label(0x23A0478996241F9f966b7054c06FdeB96Ddf3475, "Constants.ETH_L1_ERC721_BRIDGE__IMPL_V1"); + vm.label(0x30Cd695249394eED44C576f2caEC5304be6455F9, "Constants.ETH_L1_STANDARD_BRIDGE_IMPL_V2_ADDR"); + vm.label(0x34C0bD5877A5Ee7099D0f5688D65F4bB9158BDE2, "Constants.ETH_L1_STANDARD_BRIDGE_PROXY"); + vm.label(0xCC26248B71284B812Ff7825e005560DB01a874C7, "Constants.ETH_L1_STANDARD_BRIDGE__IMPL_V1_ADDR"); + vm.label(0xe0d7755252873c4eF5788f7f45764E0e17610508, "Constants.ETH_L2_OUTPUT_ORACLE_CHALLENGER"); + vm.label(0x6f3CcC8C9DAf8B9b39aDe481213Ff7A626a42B65, "Constants.ETH_L2_OUTPUT_ORACLE_IMPL_V2"); + vm.label(0xFb90465f3064fF63FC460F01A6307eC73d64bc50, "Constants.ETH_L2_OUTPUT_ORACLE_PROPOSER"); + vm.label(0x66CC916Ed5C6C2FA97014f7D1cD141528Ae171e4, "Constants.ETH_L2_OUTPUT_ORACLE_PROXY"); + vm.label(0xA30ADd78D5be6B2B55C934666bb4fF2C4429d800, "Constants.ETH_L2_OUTPUT_ORACLE__IMPL_V1"); + vm.label(0x11FE3be54aC01C13Dd985cE2BdD10eD77e1376cc, "Constants.ETH_OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY"); + vm.label(0x47Ec03B67ba4f3C71a4320D2947f2173E0B45a23, "Constants.ETH_OPTIMISM_PORTAL_IMPL_V2_ADDR"); + vm.label(0x36cb65c1967A0Fb0EEE11569C51C2f2aA1Ca6f6D, "Constants.ETH_OPTIMISM_PORTAL_PROXY"); + vm.label(0x59B6903044Fa9439a5D621D3605789A6E654b1D6, "Constants.ETH_OPTIMISM_PORTAL__IMPL_V1_ADDR"); + vm.label(0xc88138f5c82DD1bD327708C7F1c15E44Ce7FdA0C, "Constants.ETH_P2P_SEQUENCER_ADDRESS"); + vm.label(0xe0d7755252873c4eF5788f7f45764E0e17610508, "Constants.ETH_PORTAL_GUARDIAN"); + vm.label(0xeE1d28b0FB299BcE1E164aCc001c15e283082bA2, "Constants.ETH_PROTOCOL_VERSIONS_IMPL_V2"); + vm.label(0x3c7EA1c10Eb783fE86e4eEd202324dCFEEca9043, "Constants.ETH_PROTOCOL_VERSIONS_PROXY"); + vm.label(0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA, "Constants.ETH_PROXY_ADMIN"); + vm.label(0xe0d7755252873c4eF5788f7f45764E0e17610508, "Constants.ETH_PROXY_ADMIN_OWNER"); + vm.label(0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A, "Constants.ETH_STORAGE_SETTER"); + vm.label(0xe0d7755252873c4eF5788f7f45764E0e17610508, "Constants.ETH_SUPERCHAIN_CONFIG_GUARDIAN"); + vm.label(0x0d9C39c64CF8eDA1EdFeBD78AFa895bAA797eFc4, "Constants.ETH_SUPERCHAIN_CONFIG_IMPL_V2"); + vm.label(0x61ca43CB037aC9181d8Fa5CD0073dC314065Ccc4, "Constants.ETH_SUPERCHAIN_CONFIG_PROXY"); + vm.label(0x4D7A1a16d0DA89B50FBd8b524508FC393A6Dc367, "Constants.ETH_SYSTEM_CONFIG_IMPL_V2_ADDR"); + vm.label(0x34a9f273cbD847d49c3De015FC26c3E66825f8b2, "Constants.ETH_SYSTEM_CONFIG_PROXY"); + vm.label(0x22052c592f763CA14a090D9974c5Bf9Fd3a44b8c, "Constants.ETH_SYSTEM_CONFIG__IMPL_V1_ADDR"); + vm.label(0xe0d7755252873c4eF5788f7f45764E0e17610508, "Constants.ETH_SYSTEM_OWNER_SAFE"); + vm.label(0xE3f4e2b79f1a8bf3b14d9100323Fca24D923f796, "Constants.ETH_BALANCER_FRXETH_BB_A_WETH_GAUGE"); + vm.label(0x636A9d7686bFA0a2ddd93b37A1E33bCdE6C31e8D, "Constants.ETH_CONVEX_FRAXBP_ARBITRUM"); + vm.label(0xba1ED260F9a81088Ecb7602F790a67C773817BDA, "Constants.ETH_CONVEX_FRAX_FXB_20241231_ARBITRUM"); + vm.label(0x2A8499c4a86F7c07e311c73E36575A0Dc2D362C3, "Constants.ETH_CONVEX_FRAX_FXB_20261231_ARBITRUM"); + vm.label(0x5608051D98377419d7D861531728DFB869dDc054, "Constants.ETH_CONVEX_FRXETH_WETH_ARBITRUM"); + vm.label(0x53e78a6e12146565c7d7307d07A3C1ABacf3E20F, "Constants.ETH_CONVEX_HFXB_FRAX_ARBITRUM"); + vm.label(0xE096E62B4b23C46a748828083458e22b014640f3, "Constants.ETH_CONVEX_SQUID_WFRXETH_FRAXTAL"); + vm.label(0x840f20ffED887c61435E81fd1231CB923df39d3d, "Constants.ETH_CONVEX_USD_FRAXBP"); + vm.label(0x127963A74c07f72D862F2Bdc225226c3251BD117, "Constants.ETH_CURVE_VSTFRAX_F"); + vm.label(0x6f82A6551cc351Bc295602C3ea99C78EdACF590C, "Constants.ETH_FLE_FXS_WFRXETH_FRAXTAL"); + vm.label(0x83Dc6775c1B0fc7AaA46680D78B04b4a3d4f5650, "Constants.ETH_FLE_FRAX_FXS_FRAXTAL"); + vm.label(0x3B78BdC7575896701C4e32f9D070AA387fcEB22b, "Constants.ETH_FRAXSWAP_V2_FRAX_FPI_FRAXTAL"); + vm.label(0x99FA1928A9Fea45b8d1395e870a92a0675A10E6E, "Constants.ETH_FRAXSWAP_V2_FRAX_FXS_FRAXTAL"); + vm.label(0x007c874a4240f8C31B4BfE6D91f47b903e2E3BE1, "Constants.ETH_FRAXSWAP_V2_FRAX_SFRXETH_FRAXTAL"); + vm.label(0x8Fa7B006538F0710BD5fEfBd5737eBDD8B487166, "Constants.ETH_FRAXSWAP_V2_FRAX_WFRXETH_FRAXTAL"); + vm.label(0x0884c9Bb52348fa76d4e1c6Ea042A2EaF0b72c6C, "Constants.ETH_KYBERSWAP_ELASTIC_FRAX_USDC_ARBITRUM"); + vm.label(0x9c9e8E8ccD7dAF6AfAB436829992B3Cf408319B4, "Constants.ETH_KYBERSWAP_ELASTIC_FRAX_USDC_OPTIMISM"); + vm.label(0x11c9C6F9e983bf6E10296A9ce09D4572F664FF25, "Constants.ETH_KYBERSWAP_ELASTIC_FRAX_USDC_POLYGON"); + vm.label(0x3e14f6EEDCC5Bc1d0Fc7B20B45eAE7B1F74a6AeC, "Constants.ETH_MSTABLE_FRAX_MUSD"); + vm.label(0x9B8AEd182B8A9430C14e97Bf2C02F129f2b36854, "Constants.ETH_SADDLE_L2D4_ARBITRUM"); + vm.label(0x86c0A521807f43A646978e9f302BAF693350eAa3, "Constants.ETH_SENTIMENT_LFRAX"); + vm.label(0x66fD216bCBeb566EF038A116B7270f241005e186, "Constants.ETH_SNOWBALL_S4D"); + vm.label(0xebF993690F65B23862E10F489656529ac06A27B8, "Constants.ETH_SPIRITSWAP_FRAX_FXS"); + vm.label(0x66635DC1EdEfF19e839f152a67278151Aa6e1B61, "Constants.ETH_AAVE_AMO"); + vm.label(0xcf37B62109b537fa0Cb9A90Af4CA72f6fb85E241, "Constants.ETH_AMO_MINTER"); + vm.label(0x36a0B6a5F7b318A2B4Af75FFFb1b51a5C78dEB8C, "Constants.ETH_AMO_MINTER_OLD"); + vm.label(0x0be27F994E24F8C3E5f6D0C28AbB5732256ee205, "Constants.ETH_BALANCE_CHECKER"); + vm.label(0xD1a7b80a954e56bfd7bd889aF6e2BE8674719F5d, "Constants.ETH_BUNDLE_UTILS"); + vm.label(0x49ee75278820f409ecd67063D8D717B38d66bd71, "Constants.ETH_CONVEX_AMO"); + vm.label(0xE53d45ABe10Ce20427D20c5a1b6360Fa5BA0cE0A, "Constants.ETH_CONVEX_AMO_ADMIN"); + vm.label(0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139, "Constants.ETH_CRVFRAX_VAULT"); + vm.label(0x72170Cdc48C33a6AE6B3E83CD387ca3Fb9105da2, "Constants.ETH_CURVE_AMO"); + vm.label(0x5840Db064e17480f8e8E74fD6714C9c316f7DdFE, "Constants.ETH_CURVE_AMO_IMPL_V1"); + vm.label(0xbd061885260F176e05699fED9C5a4604fc7F2BDC, "Constants.ETH_CURVE_AMO_V1"); + vm.label(0xD103FEf74D05FbC20B5184FE85c7187735355DB3, "Constants.ETH_CURVE_AMO_V2"); + vm.label(0xf8a4ffe7C980fD50B160b7B86dCd5e9eb7E281a9, "Constants.ETH_CURVE_AMO_V5"); + vm.label(0x900909C07c2761d84C5d863FF5905102916DF69C, "Constants.ETH_CURVE_AMO_ADMIN"); + vm.label(0x70F55767B11c047C8397285E852919F5f6c8DC60, "Constants.ETH_CURVE_METAPOOL_LOCKER"); + vm.label(0xE4BD0461AE7fdc76c61CE286a80c9B55d83B204a, "Constants.ETH_CURVE_METAPOOL_LOCKER_2"); + vm.label(0x847FA1A5337C7f24D7066E467F2e2A0f969Ca79F, "Constants.ETH_CURVE_VOTER_PROXY"); + vm.label(0x7038C406e7e2C9F81571557190d26704bB39B8f3, "Constants.ETH_CVX_LOCKER_AMO"); + vm.label(0x72a19342e8F1838460eBFCCEf09F6585e32db86E, "Constants.ETH_CVX_LOCKER_AMO_V2"); + vm.label(0x00000000219ab540356cBB839Cbe05303d7705Fa, "Constants.ETH_DEPOSIT_CONTRACT_ADDRESS"); + vm.label(0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE, "Constants.ETH_ETH_ADDRESS"); + vm.label(0x2397321b301B80A1C0911d6f9ED4b6033d43cF51, "Constants.ETH_FPI_CONTROLLER_AMO"); + vm.label(0xBBbAf1adf4d39B2843928CCa1E65564e5ce99ccC, "Constants.ETH_FRAX3CRV_CURVE_FXS_DISTRIBUTOR"); + vm.label(0x73f9F84B04584227b4f0bafFd8B37D6D0C11a23c, "Constants.ETH_FRAX3CRV_CURVE_REWARDS_DISTRIBUTOR_EOA"); + vm.label(0x44ade9AA409B0C29463fF7fcf07c9d3c939166ce, "Constants.ETH_FRAX_GAUGE_CONTROLLER"); + vm.label(0x3669C421b77340B2979d1A00a792CC2ee0FcE737, "Constants.ETH_FRAX_GAUGE_CONTROLLER_V2"); + vm.label(0x278dC748edA1d8eFEf1aDFB518542612b49Fcd34, "Constants.ETH_FRAX_GAUGE_REWARDS_DISTRIBUTOR"); + vm.label(0x48D9A9e67e9deCfD493efE2B3D3B5291fc802e5F, "Constants.ETH_FRAX_GAUGE_NOOP_REWARDS_DISTRIBUTOR"); + vm.label(0x72E158d38dbd50A483501c24f792bDAAA3e7D55C, "Constants.ETH_FRAX_GAUGE_V2"); + vm.label(0x0Ed8fA7FC63A8eb5487E7F87CAF1aB3914eA4eCa, "Constants.ETH_FRAXLEND_AMO"); + vm.label(0xf6E697e95D4008f81044337A749ECF4d15C30Ea6, "Constants.ETH_FRAXLEND_AMO_V3"); + vm.label(0xbAFA44EFE7901E04E39Dad13167D089C559c1138, "Constants.ETH_FRXETH_MINTER"); + vm.label(0x9C6a04871D11b33645ab592f68C41bb2B41F51EE, "Constants.ETH_FXS_1559_AMO"); + vm.label(0xC80C48862E4254F37047235298eDb6AA35717C24, "Constants.ETH_FXS_1559_AMO_V2"); + vm.label(0xCaa487D113ad1C34Ce128c4f3a2A437614C6a692, "Constants.ETH_FXS_1559_AMO_V2_ADMIN"); + vm.label(0xCDe9A4e885B87a893b8817D136FD2F404B54294f, "Constants.ETH_FXS_1559_AMO_V2_IMPL_V1"); + vm.label(0xb524622901b3f7b5DeA6501E9830700C847C7DC5, "Constants.ETH_FXS_1559_AMO_V3"); + vm.label(0xB8315Af919729c823B2d996B1A6DDE381E7444f1, "Constants.ETH_INVESTOR_AMO"); + vm.label(0xEE5825d5185a1D512706f9068E69146A54B6e076, "Constants.ETH_INVESTOR_AMO_V1"); + vm.label(0x069c24600c2A03147D4E1D9b04d193151676F577, "Constants.ETH_INVESTOR_AMO_ADMIN"); + vm.label(0xdE3C8aA7f53a69c595b7720045000A68Cb9CB341, "Constants.ETH_INVESTOR_AMO_IMPL_V1"); + vm.label(0x9507189f5B6D820cd93d970d67893006968825ef, "Constants.ETH_LENDING_AMO"); + vm.label(0xEc8672dd770D59FaD9a811591a5Edd40e8F6A413, "Constants.ETH_MANUAL_TOKEN_TRACKER_AMO"); + vm.label(0x239c957d42343B3d91FABc7c16E7F1e30Bc32E5B, "Constants.ETH_MIGRATION_BUNDLE_UTILS"); + vm.label(0xe16723A08Ae054a8F20BDc0395389569011e78D6, "Constants.ETH_MIGRATION_HELPER"); + vm.label(0x31183a2CCe8d1BFBBFE140Ea1A1264A454Fc821E, "Constants.ETH_MIM_CONVEX_AMO"); + vm.label(0xE054C1ab5D548E0144ab3F89a8f5809137819906, "Constants.ETH_MINT_UTILITIES"); + vm.label(0x977eaDb6fa9b8E1a2A950CcDE1A75a7b527a8cBB, "Constants.ETH_MSIG_HELPER"); + vm.label(0x1EA632b997B7c7068ac48aDe8040652a8AF9FbbB, "Constants.ETH_MULTICALL_OZ_DELEGATECALL"); + vm.label(0xFa27873EA2F0eA9DcD2052848C4A7F8ADE8a3936, "Constants.ETH_MULTISIG"); + vm.label(0x5699d20732a2EFa9A895EF04bb210aa751C4dB96, "Constants.ETH_OHM_AMO"); + vm.label(0xE53d45ABe10Ce20427D20c5a1b6360Fa5BA0cE0A, "Constants.ETH_OHM_AMO_ADMIN"); + vm.label(0x96665d63c1B53f8335e3c9287Ee255f306C93c45, "Constants.ETH_RARI_AMO"); + vm.label(0xB12C76b92936d136Fd8264F6EFcBb06458338D97, "Constants.ETH_RAGEQUITTER_TEMPLE"); + vm.label(0x375278D3C65f29C1A90E8550888f1439cFeFe465, "Constants.ETH_STAKEDAO_AMO"); + vm.label(0xE4de6E1DF1FE135D6462554d0Fd36A14d787f689, "Constants.ETH_STAKING_UTILITIES"); + vm.label(0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA, "Constants.ETH_TIMELOCK"); + vm.label(0x4e710B33c87CEDF832Cd82E11d743A011864f733, "Constants.ETH_TOKEMAK_AMO"); + vm.label(0x3F702a8F6c9f9F7ABdfEA67f89d33F18e0368600, "Constants.ETH_TOKEN_TRACKER_AMO"); + vm.label(0x37336AD1F3A145C710247E6a14C9AcC7f34D09eE, "Constants.ETH_TOKEN_TRACKER_V2"); + vm.label(0x11Fc7df1fb0E51f9c9AB8f575d9bbaDC92FA425B, "Constants.ETH_TWAMM_AMO"); + vm.label(0x629C473e0E698FD101496E5fbDA4bcB58DA78dC4, "Constants.ETH_TWAMM_AMO_V2"); + vm.label(0x7b50137E8996A1717a6D97a0527e4c5D2D133405, "Constants.ETH_UNIV2_TO_UNIV3_MIGRATOR_ADDRESS"); + vm.label(0x3814307b86b54b1d8e7B2Ac34662De9125F8f4E6, "Constants.ETH_UNIV3_LIQUIDITY_AMO"); + vm.label(0xc91Bb4b0696e3b48c0C501B4ce8E7244Fc363A79, "Constants.ETH_UNIV3_LIQUIDITY_AMO_V2"); + vm.label(0x53c13BA8834a1567474b19822aAD85c6F90D9f9F, "Constants.ETH_VEFXS_SMART_WALLET_CHECKER"); + vm.label(0x19a0a70a68fbC604Bf20A03b787df8f7AC1d50f0, "Constants.ETH_VEFXS_YIELD_DISTRIBUTOR"); + vm.label(0x62C4cf364078C98fA08AfDB4D3d8D87e780Ebd45, "Constants.ETH_VEFXS_YIELD_DISTRIBUTOR_V2"); + vm.label(0xed2647Bbf875b2936AAF95a3F5bbc82819e3d3FE, "Constants.ETH_VEFXS_YIELD_DISTRIBUTOR_V3"); + vm.label(0xc6764e58b36e26b08Fd1d2AeD4538c02171fA872, "Constants.ETH_VEFXS_YIELD_DISTRIBUTOR_V4"); + vm.label(0xE6D31C144BA99Af564bE7E81261f7bD951b802F6, "Constants.ETH_VEFPIS_YIELD_DISTRIBUTOR_V4"); + vm.label(0x81903F6f9675f7b500eAFE20681bD2D7BAb7C71b, "Constants.ETH_VEFPIS_SMART_WALLET_CHECKER"); + vm.label(0x8971946467a77b798762823434c0f407d20F9df9, "Constants.ETH_YIELDSPACE_AMO"); + vm.label(0x874a873e4891fB760EdFDae0D26cA2c00922C404, "Constants.ETH_ADVISORS_MULTISIG"); + vm.label(0x733371d7C15ACECF9e120dd037D6BcDb6E069148, "Constants.ETH_BEE_USER"); + vm.label(0x63278bF9AcdFC9fA65CFa2940b89A34ADfbCb4A1, "Constants.ETH_COMMUNITY_MULTISIG"); + vm.label(0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27, "Constants.ETH_COMPTROLLER_MULTISIG"); + vm.label(0x8D8Cb63BcB8AD89Aa750B9f80Aa8Fa4CfBcC8E0C, "Constants.ETH_CURVEAMO_OPERATOR_ADDRESS"); + vm.label(0x6A7efa964Cf6D9Ab3BC3c47eBdDB853A8853C502, "Constants.ETH_FPI_COMPTROLLER_MULTISIG"); + vm.label(0x708695db8dF61e646571E78b9b3e2BAd7D6c42E3, "Constants.ETH_FPI_CORE_CONTRIBUTORS_TEAM_MULTISIG"); + vm.label(0x5181C3c36bD52F783e6E1771d80b1e3AdCB36019, "Constants.ETH_FPI_TREASURY_MULTISIG"); + vm.label(0x168200cF227D4543302686124ac28aE0eaf2cA0B, "Constants.ETH_FRAXLEND_MAIN_MULTISIG"); + vm.label(0xa4EC124e09D6D1A092c6BD16aFac9CD83f73E3c3, "Constants.ETH_FRAXLEND_OPERATOR_MULTISIG"); + vm.label(0xfd3065C629ee890Fd74F43b802c2fea4B7279B8c, "Constants.ETH_FRAXLEND_CIRCUIT_BREAKER_MULTISIG"); + vm.label(0x8306300ffd616049FD7e4b0354a64Da835c1A81C, "Constants.ETH_FRXETH_COMPTROLLER"); + vm.label(0x8306300ffd616049FD7e4b0354a64Da835c1A81C, "Constants.ETH_FRXETH_OWNER"); + vm.label(0x831822660572bd54ebaa065C2acef662a6277D40, "Constants.ETH_FXB_MULTISIG"); + vm.label(0xa95f86fE0409030136D6b82491822B3D70F890b3, "Constants.ETH_INVESTORS_MULTISIG"); + vm.label(0x8D4392F55bC76A046E443eb3bab99887F4366BB0, "Constants.ETH_TEAM_MULTISIG"); + vm.label(0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA, "Constants.ETH_TIMELOCK_ADDRESS"); + vm.label(0x9AA7Db8E488eE3ffCC9CdFD4f2EaECC8ABeDCB48, "Constants.ETH_TREASURY_MULTISIG"); + vm.label(0xCFc25170633581Bf896CB6CDeE170e3E3Aa59503, "Constants.ETH_WALLET_WITH_CRVFRAX"); + vm.label(0xD6216fC19DB775Df9774a6E33526131dA7D19a2c, "Constants.ETH_WALLET_WITH_USDC"); + vm.label(0x8EB8a3b98659Cce290402893d0123abb75E3ab28, "Constants.ETH_WALLET_WITH_WETH"); + vm.label(0xd4937682df3C8aEF4FE912A96A74121C0829E664, "Constants.ETH_AFRAX"); + vm.label(0x22e859Ee894c2068920858A60b51DC03ac5581c1, "Constants.ETH_AGEURFRAXBP"); + vm.label(0x58257e4291F95165184b4beA7793a1d6F8e7b627, "Constants.ETH_AGEURFRAXBP_POOL"); + vm.label(0xf985005a3793DbA4cCe241B3C19ddcd3Fe069ff4, "Constants.ETH_ALCXFRAXBP"); + vm.label(0x4149d1038575CE235E03E03B39487a80FD709D31, "Constants.ETH_ALCXFRAXBP_POOL"); + vm.label(0x97Ba76a574bC5709b944bB1887691301c72337Ca, "Constants.ETH_ALETHFRXETH"); + vm.label(0x97Ba76a574bC5709b944bB1887691301c72337Ca, "Constants.ETH_ALETHFRXETH_POOL"); + vm.label(0xB30dA2376F63De30b42dC055C93fa474F31330A5, "Constants.ETH_ALUSDFRAXBP"); + vm.label(0xB30dA2376F63De30b42dC055C93fa474F31330A5, "Constants.ETH_ALUSDFRAXBP_POOL"); + vm.label(0xa8e14F03124Ea156A4fc416537c82ff91a647D50, "Constants.ETH_ANKRETHFRXETH"); + vm.label(0x41eA4045de2676727883aa0B4E43D7e32261f559, "Constants.ETH_ANKRETHFRXETH_POOL"); + vm.label(0x04b727C7e246CA70d496ecF52E6b6280f3c8077D, "Constants.ETH_APEUSDFRAXBP"); + vm.label(0x04b727C7e246CA70d496ecF52E6b6280f3c8077D, "Constants.ETH_APEUSDFRAXBP_POOL"); + vm.label(0xBcca60bB61934080951369a648Fb03DF4F96263C, "Constants.ETH_AUSDC"); + vm.label(0x09b2E090531228d1b8E3d948C73b990Cb6e60720, "Constants.ETH_BADGERFRAXBP"); + vm.label(0x13B876C26Ad6d21cb87AE459EaF6d7A1b788A113, "Constants.ETH_BADGERFRAXBP_POOL"); + vm.label(0x8fdb0bB9365a46B145Db80D0B1C5C5e979C84190, "Constants.ETH_BUSDFRAXBP"); + vm.label(0x8fdb0bB9365a46B145Db80D0B1C5C5e979C84190, "Constants.ETH_BUSDFRAXBP_POOL"); + vm.label(0xe65cdB6479BaC1e22340E4E755fAE7E509EcD06c, "Constants.ETH_CAAVE"); + vm.label(0x548E063CE6F3BaC31457E4f5b4e2345286274257, "Constants.ETH_CBETHFRXETH"); + vm.label(0x73069892f6750CCaaAbabaDC54b6b6b36B3A057D, "Constants.ETH_CBETHFRXETH_POOL"); + vm.label(0x84C333e94AEA4a51a21F6cf0C7F528C50Dc7592C, "Constants.ETH_CLEVUSDFRAXBP"); + vm.label(0x84C333e94AEA4a51a21F6cf0C7F528C50Dc7592C, "Constants.ETH_CLEVUSDFRAXBP_POOL"); + vm.label(0xb85010193FD15aF8390dbD62790Da70F46c1126B, "Constants.ETH_COILFRAXBP"); + vm.label(0xAF4264916B467e2c9C8aCF07Acc22b9EDdDaDF33, "Constants.ETH_COILFRAXBP_POOL"); + vm.label(0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC, "Constants.ETH_CRVFRAX"); + vm.label(0xCFc25170633581Bf896CB6CDeE170e3E3Aa59503, "Constants.ETH_CRVFRAX_GAUGE"); + vm.label(0xc34993c9aDf6a5AB3b4cA27dC71b9c7894A53974, "Constants.ETH_CRVFRXETH"); + vm.label(0x442F37cfD85D3f35e576AD7D63bBa7Bb36fCFe4a, "Constants.ETH_CRVFRXETH_POOL"); + vm.label(0x0CD6f267b2086bea681E922E19D40512511BE538, "Constants.ETH_CRVUSDFRAX"); + vm.label(0x96424E6b5eaafe0c3B36CA82068d574D44BE4e3c, "Constants.ETH_CRVUSDFRAX_GAUGE"); + vm.label(0x0CD6f267b2086bea681E922E19D40512511BE538, "Constants.ETH_CRVUSDFRAX_POOL"); + vm.label(0x4e0915C88bC70750D68C481540F081fEFaF22273, "Constants.ETH_CURVE4POOL"); + vm.label(0x39AA39c021dfbaE8faC545936693aC917d5E7563, "Constants.ETH_CUSDC"); + vm.label(0x421E13b4e805993A0d50aD8c6c47A4F693f04424, "Constants.ETH_CVGFRAXBP"); + vm.label(0x8A111B47B31bBa40C2F0D2f9a8Cf6B6C4B50114E, "Constants.ETH_CVGFRAXBP_GAUGE"); + vm.label(0xa7B0E924c2dBB9B4F576CCE96ac80657E42c3e42, "Constants.ETH_CVGFRAXBP_POOL"); + vm.label(0x9e187393cBc76c8Bf8e8a06bD7737a7cabe9d66C, "Constants.ETH_CVXAGEURFRAXBP"); + vm.label(0x17962aB30c7F291b125A0A38d0ad220ab22F8a5B, "Constants.ETH_CVXAGEURFRAXBP_REWARDER"); + vm.label(0xCf9fC20189755354edDdED66C9ED9DFADAFd7a2E, "Constants.ETH_CVXALCXFRAXBP"); + vm.label(0xC10fD95fd3B56535668426B2c8681AD1E15Be608, "Constants.ETH_CVXALCXFRAXBP_REWARDER"); + vm.label(0x5BcAfc77f19F72bCf1420cC1722c3e06E16Ec29a, "Constants.ETH_CVXALUSDFRAXBP"); + vm.label(0x26598e3E511ADFadefD70ab2C3475Ff741741104, "Constants.ETH_CVXALUSDFRAXBP_REWARDER"); + vm.label(0x04b727C7e246CA70d496ecF52E6b6280f3c8077D, "Constants.ETH_CVXAPEUSDFRAXBP"); + vm.label(0x51e6B84968D56a1E5BC93Ee264e95b1Ea577339c, "Constants.ETH_CVXAPEUSDFRAXBP_REWARDER"); + vm.label(0x25f0b7c3A7A43b409634a5759526560cC3313d75, "Constants.ETH_CVXBADGERFRAXBP"); + vm.label(0xe0705A91984b076C250d410A41f615380aF1C2ed, "Constants.ETH_CVXBADGERFRAXBP_REWARDER"); + vm.label(0xf203A94e59d071062a0dd31f396bCb19a38809A4, "Constants.ETH_CVXBUSDFRAXBP"); + vm.label(0x9e6Daf019767D5cEAdE416ce77E8d187b5B254F3, "Constants.ETH_CVXBUSDFRAXBP_REWARDER"); + vm.label(0x84C333e94AEA4a51a21F6cf0C7F528C50Dc7592C, "Constants.ETH_CVXCLEVUSDFRAXBP"); + vm.label(0x710e85B2793b3AE88Cb1Da3cb25b3d62D810d180, "Constants.ETH_CVXCLEVUSDFRAXBP_REWARDER"); + vm.label(0x624cEFdBe30507EEAc71882C9e42Ca0900D5B6a1, "Constants.ETH_CVXCOILFRAXBP"); + vm.label(0xAE0b6b66378C7DEFc0514D7cBc6E4e92Cf56b0af, "Constants.ETH_CVXCOILFRAXBP_REWARDER"); + vm.label(0x117A0bab81F25e60900787d98061cCFae023560c, "Constants.ETH_CVXCRVFRAX"); + vm.label(0x527331F3F550f6f85ACFEcAB9Cc0889180C6f1d5, "Constants.ETH_CVXCRVFRAXBP"); + vm.label(0x31c325A01861c7dBd331a9270296a31296D797A0, "Constants.ETH_CVXCRVFRAXBP_POOL"); + vm.label(0x7e880867363A7e321f5d260Cade2B0Bb2F717B02, "Constants.ETH_CVXCRVFRAX_REWARDER"); + vm.label(0x01CcDe1dFb6c84e1Cc13a6Bf777aa2160ABd11BA, "Constants.ETH_CVXCRVUSDFRAX"); + vm.label(0x3CfB4B26dc96B124D15A6f360503d028cF2a3c00, "Constants.ETH_CVXCRVUSDFRAX_REWARDER"); + vm.label(0x3Fe65692bfCD0e6CF84cB1E7d24108E434A7587e, "Constants.ETH_CVXCRV_REWARDER"); + vm.label(0x3cB8E5cac768D6Dd3E7683dBC78E255aae66EDBB, "Constants.ETH_CVXCVGFRAXBP"); + vm.label(0x0736b746F53826A1eEC888a05EBF592AF68946Db, "Constants.ETH_CVXCVGFRAXBP_REWARDER"); + vm.label(0x2aE739F40Cda5F053F9dbecE7E177Fcbdc4A07D9, "Constants.ETH_CVXCVXCRVFRAXBP"); + vm.label(0xdEbc7B51043b4D0dd4f3310C68A12382b8843ceE, "Constants.ETH_CVXCVXCRVFRAXBP_REWARDER"); + vm.label(0x123dC033d6fF314211F7953eD31bC805f85C13d5, "Constants.ETH_CVXCVXFRAXBP"); + vm.label(0xf02B3A77b1e7775de10294d78a4c3d77772B484A, "Constants.ETH_CVXCVXFRAXBP_REWARDER"); + vm.label(0xDad9DB2c7c96a1496493E6D48d131a2667f284f9, "Constants.ETH_CVXCVXFXSFRAXBP"); + vm.label(0x19eA715F854dB2196C6f45A174541a5Ac884D2f9, "Constants.ETH_CVXCVXFXSFRAXBP_REWARDER"); + vm.label(0xf7eCC27CC9DB5d28110AF2d89b176A6623c7E351, "Constants.ETH_CVXDOLAFRAXBP"); + vm.label(0x0404d05F3992347d2f0dC3a97bdd147D77C85c1c, "Constants.ETH_CVXDOLAFRAXBP_REWARDER"); + vm.label(0x430bE19e180fd8c2199eC5FAEabE2F5CDba68C94, "Constants.ETH_CVXDOLAFRAXPYUSD"); + vm.label(0xE8cBdBFD4A1D776AB1146B63ABD1718b2F92a823, "Constants.ETH_CVXDOLAFRAXPYUSD_REWARDER"); + vm.label(0x8e074d44aaBC1b3b4406fE03Da7ceF787ea85938, "Constants.ETH_CVXEUSDFRAXBP"); + vm.label(0xB468dB2E478885B87D7ce0C8DA1D4373A756C138, "Constants.ETH_CVXEUSDFRAXBP_REWARDER"); + vm.label(0x28ebAb5Ecbc3efB4116205c2D3237d8b16976B06, "Constants.ETH_CVXFPIFRAX_F"); + vm.label(0x7F17A6C77C3938D235b014818092eb6305BdA110, "Constants.ETH_CVXFRAXBP"); + vm.label(0xBEc570d92AFB7fFc553bdD9d4B4638121000b10D, "Constants.ETH_CVXFRAXBP_POOL"); + vm.label(0xBA927A88eb7B7902ffC5cd99b94fA2964d1a1E03, "Constants.ETH_CVXFRAXFPI_NG"); + vm.label(0x062450B06EB92F1C4E227C41c987ed97c93Ae232, "Constants.ETH_CVXFRAXFPI_NG_REWARDER"); + vm.label(0x5A82ae31C1a36833B9E148d01E967c1b05eDb346, "Constants.ETH_CVXFRAXFXB_20240630"); + vm.label(0x830a71574E3c8AE9da477cE1B7F12849E9f7c8c8, "Constants.ETH_CVXFRAXFXB_20240630_REWARDER"); + vm.label(0x06382622D0FafB372dA64b765EAd3d082a8BCabB, "Constants.ETH_CVXFRAXFXB_20241231"); + vm.label(0x249cE0b1a682AD7b02e43271f9f0C9ac85Ec47e8, "Constants.ETH_CVXFRAXFXB_20241231_REWARDER"); + vm.label(0x7Ce2F444D0B034f44EeA4FE77608f0c680966D20, "Constants.ETH_CVXFRAXFXB_20261231"); + vm.label(0xC9F6D73fD06b8EEB0A4E87cAd407219E10F31712, "Constants.ETH_CVXFRAXFXB_20261231_REWARDER"); + vm.label(0x839CF70a09f1CB104b4eb0B48E26B855A0F7e855, "Constants.ETH_CVXFRAXPYUSD"); + vm.label(0xB10a6e39Ed8a66fEd3aAef3866a95611a49B9a95, "Constants.ETH_CVXFRAXPYUSD_REWARDER"); + vm.label(0xAb4feFd9cabC03D935cAD345b7626C3180238fb3, "Constants.ETH_CVXFRAXSDAI"); + vm.label(0xE627082369689b2B86D948c377A4aE4e739C59eE, "Constants.ETH_CVXFRAXSDAI_REWARDER"); + vm.label(0x29c22337E3ce362Ce4ad8ecc9CE11fE5A08DBA3c, "Constants.ETH_CVXFRAXUSDP"); + vm.label(0x6991C1CD588c4e6f6f1de3A0bac5B8BbAb7aAF6d, "Constants.ETH_CVXFRAXUSDP_REWARDER"); + vm.label(0xBb2568deeb365b8B89ef7F9B53E86B34cd5D0490, "Constants.ETH_CVXFRXETH"); + vm.label(0x112E8f4b685475CcEd5C38142Cd7A2aE41ef6737, "Constants.ETH_CVXFRXETHALETH"); + vm.label(0xe0DbbCF08A5465db7c7401C86cce89030e11aB67, "Constants.ETH_CVXFRXETHALETH_REWARDER"); + vm.label(0xc18695D5824C49cF50E054953B3A5910c45597A0, "Constants.ETH_CVXFRXETHANKRETH"); + vm.label(0xc18695D5824C49cF50E054953B3A5910c45597A0, "Constants.ETH_CVXFRXETHANKRETH_REWARDER"); + vm.label(0x39E1Ea9CB87a352CfFd43e0b19D573d12cf110CC, "Constants.ETH_CVXFRXETHCBETH"); + vm.label(0x0080d49D4a4921dF0F3853c5e4533462A51fbb29, "Constants.ETH_CVXFRXETHCBETH_REWARDER"); + vm.label(0x41603dA2DD26E6fe29CAe074fC6772053A39C2A9, "Constants.ETH_CVXFRXETHCRV"); + vm.label(0xd5dC65ec6948845C1C428fb60BE38FE59B50BD13, "Constants.ETH_CVXFRXETHCRV_REWARDER"); + vm.label(0xAc4b1295F9Aeb1DB29acB37902bE349a79a66403, "Constants.ETH_CVXFRXETHCVX"); + vm.label(0xA064C1EeEbECD1DF41432f4B7264F508F005aF0C, "Constants.ETH_CVXFRXETHCVX_REWARDER"); + vm.label(0xC07e540DbFecCF7431EA2478Eb28A03918c1C30E, "Constants.ETH_CVXFRXETHETH"); + vm.label(0xbD5445402B0a287cbC77cb67B2a52e2FC635dce4, "Constants.ETH_CVXFRXETHETH_REWARDER"); + vm.label(0x29889a5fE8e467da8af697C5f1eB901F4911Ab50, "Constants.ETH_CVXFRXETHMSETH"); + vm.label(0x15507737f44446EB0A86147E2C72Aa6A111A64B2, "Constants.ETH_CVXFRXETHMSETH_REWARDER"); + vm.label(0x1941da8D12A6B39B76bd54c865c8cD3a4553E9C3, "Constants.ETH_CVXFRXETHPETH"); + vm.label(0x42aaC689261723d06d2a8f356448bd8249f831Bc, "Constants.ETH_CVXFRXETHPETH_REWARDER"); + vm.label(0xDE183818eb02AfEa367C1AAFF1BFdeDecE6B2B05, "Constants.ETH_CVXFRXETHPXETH"); + vm.label(0x72b99E2cf3f9A2bbDA1Cc76894E4554d7aA8FE2E, "Constants.ETH_CVXFRXETHPXETH_REWARDER"); + vm.label(0xeEC515BE690BF445c8C4d1625FD82FA75Bc38bf6, "Constants.ETH_CVXFRXETHRETH"); + vm.label(0x84754821b5484A69DB3164eF4eDC5A5657318039, "Constants.ETH_CVXFRXETHRETH_REWARDER"); + vm.label(0x02a2206268b49A9b3ee5DD51577E5bDa0072d5F1, "Constants.ETH_CVXFRXETHRETH_STAFI"); + vm.label(0xf011aD8E91D1dc8625e5548755AEa1F6Fff81089, "Constants.ETH_CVXFRXETHRETH_STAFI_REWARDER"); + vm.label(0xf67FEC3D0A32418813bE2BcdD78e058BCFa33AE8, "Constants.ETH_CVXFRXETHSETH"); + vm.label(0x55cdF6c7E6d04b83835E4702ed395D0263237DA2, "Constants.ETH_CVXFRXETHSETH_REWARDER"); + vm.label(0x01492A2cB0Bd14034710475197B4169501B49Ead, "Constants.ETH_CVXFRXETHSTETH"); + vm.label(0xC3D0B8170E105d6476fE407934492930CAc3BDAC, "Constants.ETH_CVXFRXETHSTETH_REWARDER"); + vm.label(0xAA71e0065A29F2529aBC0F615874009287966229, "Constants.ETH_CVXFRXETHWETH"); + vm.label(0xFafDE12dC476C4913e29F47B4747860C148c5E4f, "Constants.ETH_CVXFRXETHWETH_REWARDER"); + vm.label(0x52EdB08ab81e4Cc32cf318aed17dB11c09C3E8B9, "Constants.ETH_CVXFRXETHZETH"); + vm.label(0x98B662443695f7328F6A7fDe9894CC0E88630269, "Constants.ETH_CVXFRXETHZETH_REWARDER"); + vm.label(0xCB5d9126402cC17eF47b81BD48B43D52bF474Cd4, "Constants.ETH_CVXFRXETHZUNETH"); + vm.label(0x756d67A10974Fa0e0cE63F82AF4E7ef0d46d452D, "Constants.ETH_CVXFRXETHZUNETH_REWARDER"); + vm.label(0x6E855d08f2984516c40C4246A385bA4A2eDFcd0A, "Constants.ETH_CVXFRXETH_POOL"); + vm.label(0xF57ccaD8122B898A147Cc8601B1ECA88B1662c7E, "Constants.ETH_CVXFXSFRAXBP"); + vm.label(0x21d158d95C2e150e144c36FC64E3653B8D6c6267, "Constants.ETH_CVXFXSFRAXBP_POOL"); + vm.label(0x6CceedbC3551B619da21e552623Dc7C64Ae15168, "Constants.ETH_CVXGRAIFRAXBP"); + vm.label(0xC4581E043F676b95Eb1430474C69f3559a758086, "Constants.ETH_CVXGRAIFRAXBP_REWARDER"); + vm.label(0x15c2471ef46Fa721990730cfa526BcFb45574576, "Constants.ETH_CVXGUSD3CRV_FREE"); + vm.label(0xfbd79471A12929De8379a6CbaF320E150f139ac4, "Constants.ETH_CVXGUSDFRAXBP"); + vm.label(0x47809eE386D1dEC29c0b13f21ba30F564517538B, "Constants.ETH_CVXGUSDFRAXBP_REWARDER"); + vm.label(0xE8a371b5D32344033589A2F0a2712dBD12130b18, "Constants.ETH_CVXLUSDFRAXBP"); + vm.label(0x053e1dad223A206e6BCa24C77786bb69a10e427d, "Constants.ETH_CVXLUSDFRAXBP_REWARDER"); + vm.label(0xe79914274Ea1332222793d7ba931647531E10a5b, "Constants.ETH_CVXMAIFRAXBP"); + vm.label(0xD3C412C3cEdbEC604425B23DCd79Aa1ac810622f, "Constants.ETH_CVXMAIFRAXBP_REWARDER"); + vm.label(0x187601595F6D5746566BC0361a48d13066F11C71, "Constants.ETH_CVXMKUSDFRAXBP"); + vm.label(0x35FbE5520E70768DCD6E3215Ed54E14CBccA10D2, "Constants.ETH_CVXMKUSDFRAXBP_REWARDER"); + vm.label(0xc3b19502F8c02be75F3f77fd673503520DEB51dD, "Constants.ETH_CVXMSUSDFRAXBP"); + vm.label(0xF189A4a1E845Fd62944F93De497409798523B397, "Constants.ETH_CVXMSUSDFRAXBP_REWARDER"); + vm.label(0x5271045F7B73c17825A7A7aee6917eE46b0B7520, "Constants.ETH_CVXOHMFRAXBP"); + vm.label(0x27A8c58e3DE84280826d615D80ddb33930383fE9, "Constants.ETH_CVXOHMFRAXBP_REWARDER"); + vm.label(0xB17255D92892F1322d023befddaB85f172E36f67, "Constants.ETH_CVXPUSDFRAXBP"); + vm.label(0x6d096C99Cc2Ea52490355311b73D86365Acf087f, "Constants.ETH_CVXPUSDFRAXBP_REWARDER"); + vm.label(0x022600684e9492dA82f0da11Bf039c11109d0935, "Constants.ETH_CVXRSRFRAXBP"); + vm.label(0x28441fb9b8b026487A6174Ff39Be015810611C0F, "Constants.ETH_CVXRSRFRAXBP_REWARDER"); + vm.label(0x95B051E97957f1D48C622Bf73225E3d4c2B189fb, "Constants.ETH_CVXSDTFRAXBP"); + vm.label(0xc3df9cC2B8FFdB801E8e6E8FF9C1245E2dEcdA98, "Constants.ETH_CVXSDTFRAXBP_REWARDER"); + vm.label(0x867fe27FC2462cff8890B54DfD64E6d42a9D1aC8, "Constants.ETH_CVXSTGFRAXBP"); + vm.label(0xAa57A289Bb22a1A0C583db306F6566AE2c0CAf21, "Constants.ETH_CVXSTGFRAXBP_REWARDER"); + vm.label(0x8E2A6e9390CbD4C3895D07E4Cb171C0527990dF6, "Constants.ETH_CVXSUSDFRAXBP"); + vm.label(0x3fABBDfe05487De1720a9420fE2e16d2c3e79A9D, "Constants.ETH_CVXSUSDFRAXBP_REWARDER"); + vm.label(0x1fb9115929b32D4456C37B80536a2C9434061296, "Constants.ETH_CVXSWETHFRXETH"); + vm.label(0x91362eBf6DbFA5c0FD45CE4cF46DfFd4A8899c7C, "Constants.ETH_CVXSWETHFRXETH_REWARDER"); + vm.label(0xa0821fDc8d62413757B9da2357b0e5371f45335e, "Constants.ETH_CVXTRICRYPTOFRAX"); + vm.label(0x4af50A690062970DAf1d2f0Fa9042C6f5a5495E3, "Constants.ETH_CVXTRICRYPTOFRAX_REWARDER"); + vm.label(0x5C2c6E21e141Dd3D13C34754A20d620A1bb731B5, "Constants.ETH_CVXTRISDT"); + vm.label(0x1f2a117314e6e8655E0A1C97669b7B836e2cDb91, "Constants.ETH_CVXTRISDT_REWARDER"); + vm.label(0x33baeDa08b8afACc4d3d07cf31d49FC1F1f3E893, "Constants.ETH_CVXTUSDFRAXBP"); + vm.label(0x4a744870fD705971c8c00aC510eAc2206C93d5bb, "Constants.ETH_CVXTUSDFRAXBP_REWARDER"); + vm.label(0x4606326b4Db89373F5377C316d3b0F6e55Bc6A20, "Constants.ETH_CVXUSDDFRAXBP"); + vm.label(0x546cd3B917c1d8A6525b4A312bB0014BE031Eb28, "Constants.ETH_CVXUSDDFRAXBP_REWARDER"); + vm.label(0xe6c0fAA19A7fB6A0a2C01e0BBC1a782b9e4a7B48, "Constants.ETH_CVXUZDFRAXBP"); + vm.label(0x820Fad75512c8C3E57Ad021d016846CEEB5F7105, "Constants.ETH_CVXUZDFRAXBP_REWARDER"); + vm.label(0xEbB0Dd1AfE63813AdD4c38EEbd71CE7354dd9b7e, "Constants.ETH_CVXXAIFRAXBP"); + vm.label(0x4a866fE20A442Dff55FAA010684A5C1379151458, "Constants.ETH_CVXXAIFRAXBP_REWARDER"); + vm.label(0xd48494c36F98BE491f6Cfd6841617e847C819806, "Constants.ETH_CVXZUSDFRAXBP"); + vm.label(0xFd3A7636694259b32B3896f59436997AD25380cA, "Constants.ETH_CVXZUSDFRAXBP_REWARDER"); + vm.label(0xBaaa1F5DbA42C3389bDbc2c9D2dE134F5cD0Dc89, "Constants.ETH_D3POOL"); + vm.label(0xE57180685E3348589E9521aa53Af0BCD497E884d, "Constants.ETH_DOLAFRAXBP"); + vm.label(0xE57180685E3348589E9521aa53Af0BCD497E884d, "Constants.ETH_DOLAFRAXBP_POOL"); + vm.label(0xef484de8C07B6e2d732A92B5F78e81B38f99f95E, "Constants.ETH_DOLAFRAXPYUSD"); + vm.label(0x4B092818708A721cB187dFACF41f440ADb79044D, "Constants.ETH_DOLAFRAXPYUSD_GAUGE"); + vm.label(0xef484de8C07B6e2d732A92B5F78e81B38f99f95E, "Constants.ETH_DOLAFRAXPYUSD_POOL"); + vm.label(0xAEda92e6A3B1028edc139A4ae56Ec881f3064D4F, "Constants.ETH_EUSDFRAXBP"); + vm.label(0xAEda92e6A3B1028edc139A4ae56Ec881f3064D4F, "Constants.ETH_EUSDFRAXBP_POOL"); + vm.label(0x4704aB1fb693ce163F7c9D3A31b3FF4eaF797714, "Constants.ETH_FPIFRAX_F"); + vm.label(0xf861483fa7E511fbc37487D91B6FAa803aF5d37c, "Constants.ETH_FPIFRAX_F_POOL"); + vm.label(0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B, "Constants.ETH_FRAX3CRV_F"); + vm.label(0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC, "Constants.ETH_FRAXBP"); + vm.label(0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2, "Constants.ETH_FRAXBP_POOL"); + vm.label(0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe, "Constants.ETH_FRAXFPI"); + vm.label(0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe, "Constants.ETH_FRAXFPI_NG"); + vm.label(0x107E4c1302403095e5A4Bc5e815982aa732e95BD, "Constants.ETH_FRAXFPI_NG_GAUGE"); + vm.label(0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe, "Constants.ETH_FRAXFPI_NG_POOL"); + vm.label(0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe, "Constants.ETH_FRAXFPI_POOL"); + vm.label(0x4ef4c7519023F30A78647EEab321d6cFabC2513c, "Constants.ETH_FRAXFXB_20240630"); + vm.label(0x35aD1ACf0C4BE5d4Ba11342128D440fDb9e189eb, "Constants.ETH_FRAXFXB_20240630_GAUGE"); + vm.label(0x4ef4c7519023F30A78647EEab321d6cFabC2513c, "Constants.ETH_FRAXFXB_20240630_POOL"); + vm.label(0x6307E6688819951Cf8D6B6066018243D2496952F, "Constants.ETH_FRAXFXB_20241231"); + vm.label(0xC2FE9D3c761994897594Df63B33b6D843Ab7b1cF, "Constants.ETH_FRAXFXB_20241231_GAUGE"); + vm.label(0x6307E6688819951Cf8D6B6066018243D2496952F, "Constants.ETH_FRAXFXB_20241231_POOL"); + vm.label(0xe035e27A8eD6842b478933820f90093D205F7098, "Constants.ETH_FRAXFXB_20261231"); + vm.label(0x0E83dF148F69965BfE752250835854b0dBeeaf01, "Constants.ETH_FRAXFXB_20261231_GAUGE"); + vm.label(0xe035e27A8eD6842b478933820f90093D205F7098, "Constants.ETH_FRAXFXB_20261231_POOL"); + vm.label(0xA5588F7cdf560811710A2D82D3C9c99769DB1Dcb, "Constants.ETH_FRAXPYUSD"); + vm.label(0xdc6d319FAc1498125e871ccEdF7f1B9998ebA3C5, "Constants.ETH_FRAXPYUSD_GAUGE"); + vm.label(0xA5588F7cdf560811710A2D82D3C9c99769DB1Dcb, "Constants.ETH_FRAXPYUSD_POOL"); + vm.label(0xcE6431D21E3fb1036CE9973a3312368ED96F5CE7, "Constants.ETH_FRAXSDAI"); + vm.label(0xb9BDcDcD7c3C1A3255402D44639cb6c7281833cF, "Constants.ETH_FRAXSDAI_GAUGE"); + vm.label(0xcE6431D21E3fb1036CE9973a3312368ED96F5CE7, "Constants.ETH_FRAXSDAI_POOL"); + vm.label(0xFC2838a17D8e8B1D5456E0a351B0708a09211147, "Constants.ETH_FRAXUSDP"); + vm.label(0xaE34574AC03A15cd58A92DC79De7B1A0800F1CE3, "Constants.ETH_FRAXUSDP_POOL"); + vm.label(0xB657B895B265C38c53FFF00166cF7F6A3C70587d, "Constants.ETH_FRXETHALETH"); + vm.label(0x415F30505368fa1dB82Feea02EB778be04e75907, "Constants.ETH_FRXETHALETH_GAUGE"); + vm.label(0xB657B895B265C38c53FFF00166cF7F6A3C70587d, "Constants.ETH_FRXETHALETH_POOL"); + vm.label(0xa8e14F03124Ea156A4fc416537c82ff91a647D50, "Constants.ETH_FRXETHANKRETH"); + vm.label(0x86f8d7Ced9A8F5563C1198466968B02238E05917, "Constants.ETH_FRXETHANKRETH_GAUGE"); + vm.label(0x41eA4045de2676727883aa0B4E43D7e32261f559, "Constants.ETH_FRXETHANKRETH_POOL"); + vm.label(0x548E063CE6F3BaC31457E4f5b4e2345286274257, "Constants.ETH_FRXETHCBETH"); + vm.label(0xD10C17D82053DD0AB65851a9A93a0abE0C4F4794, "Constants.ETH_FRXETHCBETH_GAUGE"); + vm.label(0x73069892f6750CCaaAbabaDC54b6b6b36B3A057D, "Constants.ETH_FRXETHCBETH_POOL"); + vm.label(0xc34993c9aDf6a5AB3b4cA27dC71b9c7894A53974, "Constants.ETH_FRXETHCRV"); + vm.label(0x266cE172a1180134cf6C7836C516bd6A58b1f619, "Constants.ETH_FRXETHCRV_GAUGE"); + vm.label(0x442F37cfD85D3f35e576AD7D63bBa7Bb36fCFe4a, "Constants.ETH_FRXETHCRV_POOL"); + vm.label(0x6e52cCe4EaFDf77091dD1c82183b2D97b776b397, "Constants.ETH_FRXETHCVX"); + vm.label(0xc2075702490F0426E84E00d8B328119027813AC5, "Constants.ETH_FRXETHCVX_GAUGE"); + vm.label(0x47D5E1679Fe5f0D9f0A657c6715924e33Ce05093, "Constants.ETH_FRXETHCVX_POOL"); + vm.label(0xf43211935C781D5ca1a41d2041F397B8A7366C7A, "Constants.ETH_FRXETHETH"); + vm.label(0xa1F8A6807c402E4A15ef4EBa36528A3FED24E577, "Constants.ETH_FRXETHETH_POOL"); + vm.label(0x2d600BbBcC3F1B6Cb9910A70BaB59eC9d5F81B9A, "Constants.ETH_FRXETHMSETH"); + vm.label(0xB7A3C519889a916C5ecB54101E69ECf11DE60d0b, "Constants.ETH_FRXETHMSETH_GAUGE"); + vm.label(0x2d600BbBcC3F1B6Cb9910A70BaB59eC9d5F81B9A, "Constants.ETH_FRXETHMSETH_POOL"); + vm.label(0x320B564Fb9CF36933eC507a846ce230008631fd3, "Constants.ETH_FRXETHPETH"); + vm.label(0x57e1947e1134F6e733A4a694dE6A163eF23EDf54, "Constants.ETH_FRXETHPETH_GAUGE"); + vm.label(0x320B564Fb9CF36933eC507a846ce230008631fd3, "Constants.ETH_FRXETHPETH_POOL"); + vm.label(0xe2Ed1dAc3A9547BC6057e32bf8133b5268D7d987, "Constants.ETH_FRXETHPXETH"); + vm.label(0x277d1424a84B35ec0a8108482551b00b4fc1539b, "Constants.ETH_FRXETHPXETH_GAUGE"); + vm.label(0xe2Ed1dAc3A9547BC6057e32bf8133b5268D7d987, "Constants.ETH_FRXETHPXETH_POOL"); + vm.label(0xbA6c373992AD8ec1f7520E5878E5540Eb36DeBf1, "Constants.ETH_FRXETHRETH"); + vm.label(0xF20bd4D5A4112d5f9c64aDF53726F3ef1b7d0D61, "Constants.ETH_FRXETHRETH_GAUGE"); + vm.label(0xe7c6E0A739021CdbA7aAC21b4B728779EeF974D9, "Constants.ETH_FRXETHRETH_POOL"); + vm.label(0xfcc067EFb7bE2EEbD32615F14fC22195abB68e9B, "Constants.ETH_FRXETHRETH_STAFI"); + vm.label(0xb0549599d8446A196541dE11008eF5e79fA14F57, "Constants.ETH_FRXETHRETH_STAFI_GAUGE"); + vm.label(0xfcc067EFb7bE2EEbD32615F14fC22195abB68e9B, "Constants.ETH_FRXETHRETH_STAFI_POOL"); + vm.label(0x663aC72a1c3E1C4186CD3dCb184f216291F4878C, "Constants.ETH_FRXETHSETH"); + vm.label(0x77ef5D544FF6C739E7E10a549f64Dd08055538d1, "Constants.ETH_FRXETHSETH_GAUGE"); + vm.label(0x663aC72a1c3E1C4186CD3dCb184f216291F4878C, "Constants.ETH_FRXETHSETH_POOL"); + vm.label(0x4d9f9D15101EEC665F77210cB999639f760F831E, "Constants.ETH_FRXETHSTETH"); + vm.label(0x821529Bb07c83803C9CC7763e5974386e9eFEdC7, "Constants.ETH_FRXETHSTETH_GAUGE"); + vm.label(0x4d9f9D15101EEC665F77210cB999639f760F831E, "Constants.ETH_FRXETHSTETH_POOL"); + vm.label(0x9c3B46C0Ceb5B9e304FCd6D88Fc50f7DD24B31Bc, "Constants.ETH_FRXETHWETH"); + vm.label(0x4E21418095d32d15c6e2B96A9910772613A50d50, "Constants.ETH_FRXETHWETH_GAUGE"); + vm.label(0x9c3B46C0Ceb5B9e304FCd6D88Fc50f7DD24B31Bc, "Constants.ETH_FRXETHWETH_POOL"); + vm.label(0xfC89b519658967fCBE1f525f1b8f4bf62d9b9018, "Constants.ETH_FRXETHZETH"); + vm.label(0xB3627140BEacb97f9CA52b34090352FdAfC77d72, "Constants.ETH_FRXETHZETH_GAUGE"); + vm.label(0xfC89b519658967fCBE1f525f1b8f4bf62d9b9018, "Constants.ETH_FRXETHZETH_POOL"); + vm.label(0x3A65cbaebBFecbeA5D0CB523ab56fDbda7fF9aAA, "Constants.ETH_FRXETHZUNETH"); + vm.label(0x44f30D79f62a3D5340030d64806cD73239889F07, "Constants.ETH_FRXETHZUNETH_GAUGE"); + vm.label(0x3A65cbaebBFecbeA5D0CB523ab56fDbda7fF9aAA, "Constants.ETH_FRXETHZUNETH_POOL"); + vm.label(0xFd3300A9a74b3250F1b2AbC12B47611171910b07, "Constants.ETH_FTRIBE_8"); + vm.label(0x6f95d4d251053483f41c8718C30F4F3C404A8cf2, "Constants.ETH_FUSDC_18"); + vm.label(0x970FAA9aFBC5Feb3EC53059BA330DEe71E22B55B, "Constants.ETH_FXSFRXETH"); + vm.label(0x5133Da6Ba0474368Ad0398d953c8D31c1B75b82B, "Constants.ETH_FXSFRXETH_POOL"); + vm.label(0x0ab87046fBb341D058F17CBC4c1133F25a20a52f, "Constants.ETH_GOHM"); + vm.label(0x3175f54A354C83e8ADe950c14FA3e32fc794c0Dc, "Constants.ETH_GRAIFRAXBP"); + vm.label(0x8d5AF1F5DD3dC4B73e3A9Af682aDC3641FADE9a5, "Constants.ETH_GRAIFRAXBP_GAUGE"); + vm.label(0x3175f54A354C83e8ADe950c14FA3e32fc794c0Dc, "Constants.ETH_GRAIFRAXBP_POOL"); + vm.label(0xD2967f45c4f384DEEa880F807Be904762a3DeA07, "Constants.ETH_GUSD3CRV"); + vm.label(0x4e43151b78b5fbb16298C1161fcbF7531d5F8D93, "Constants.ETH_GUSDFRAXBP"); + vm.label(0x4e43151b78b5fbb16298C1161fcbF7531d5F8D93, "Constants.ETH_GUSDFRAXBP_POOL"); + vm.label(0x497CE58F34605B9944E6b15EcafE6b001206fd25, "Constants.ETH_LUSDFRAXBP"); + vm.label(0x497CE58F34605B9944E6b15EcafE6b001206fd25, "Constants.ETH_LUSDFRAXBP_POOL"); + vm.label(0x66E335622ad7a6C9c72c98dbfCCE684996a20Ef9, "Constants.ETH_MAIFRAXBP"); + vm.label(0x66E335622ad7a6C9c72c98dbfCCE684996a20Ef9, "Constants.ETH_MAIFRAXBP_POOL"); + vm.label(0x0CFe5C777A7438C9Dd8Add53ed671cEc7A5FAeE5, "Constants.ETH_MKUSDFRAXBP"); + vm.label(0xF184d80915Ba7d835D941BA70cDdf93DE36517ee, "Constants.ETH_MKUSDFRAXBP_GAUGE"); + vm.label(0x0CFe5C777A7438C9Dd8Add53ed671cEc7A5FAeE5, "Constants.ETH_MKUSDFRAXBP_POOL"); + vm.label(0xc3b19502F8c02be75F3f77fd673503520DEB51dD, "Constants.ETH_MSUSDFRAXBP"); + vm.label(0xc3b19502F8c02be75F3f77fd673503520DEB51dD, "Constants.ETH_MSUSDFRAXBP_POOL"); + vm.label(0x654590F810f01B51dc7B86915D4632977e49EA33, "Constants.ETH_OGTEMPLE"); + vm.label(0x5271045F7B73c17825A7A7aee6917eE46b0B7520, "Constants.ETH_OHMFRAXBP"); + vm.label(0xFc1e8bf3E81383Ef07Be24c3FD146745719DE48D, "Constants.ETH_OHMFRAXBP_POOL"); + vm.label(0x11EBe21e9d7BF541A18e1E3aC94939018Ce88F0b, "Constants.ETH_PITCHFXS"); + vm.label(0xC47EBd6c0f68fD5963005D28D0ba533750E5C11B, "Constants.ETH_PUSDFRAXBP"); + vm.label(0xC47EBd6c0f68fD5963005D28D0ba533750E5C11B, "Constants.ETH_PUSDFRAXBP_POOL"); + vm.label(0xbA6c373992AD8ec1f7520E5878E5540Eb36DeBf1, "Constants.ETH_RETHFRXETH"); + vm.label(0xe7c6E0A739021CdbA7aAC21b4B728779EeF974D9, "Constants.ETH_RETHFRXETH_POOL"); + vm.label(0x3F436954afb722F5D14D868762a23faB6b0DAbF0, "Constants.ETH_RSRFRAXBP"); + vm.label(0x6a6283aB6e31C2AeC3fA08697A8F806b740660b2, "Constants.ETH_RSRFRAXBP_POOL"); + vm.label(0xd48cF4D7FB0824CC8bAe055dF3092584d0a1726A, "Constants.ETH_SADDLED4"); + vm.label(0xC69DDcd4DFeF25D8a793241834d4cc4b3668EAD6, "Constants.ETH_SADDLED4_POOL"); + vm.label(0x5af15DA84A4a6EDf2d9FA6720De921E1026E37b7, "Constants.ETH_SDFRAX3CRV_F"); + vm.label(0x3cF7b9479a01eeB3bbfC43581fa3bb21cd888e2A, "Constants.ETH_SDL_ALUSDFRAXBP"); + vm.label(0x953693DCB2E9DDC0c1398C1b540b81b63ceA5e16, "Constants.ETH_SDL_ALUSDFRAXBP_GAUGE"); + vm.label(0xFB516cF3710fC6901F2266aAEB8834cF5e4E9558, "Constants.ETH_SDL_ALUSDFRAXBP_POOL"); + vm.label(0x0785aDDf5F7334aDB7ec40cD785EBF39bfD91520, "Constants.ETH_SDL_FRAX3POOL"); + vm.label(0x13Ba45c2B686c6db7C2E28BD3a9E8EDd24B894eD, "Constants.ETH_SDL_FRAX3POOL_GAUGE"); + vm.label(0x8cAEa59f3Bf1F341f89c51607E4919841131e47a, "Constants.ETH_SDL_FRAX3POOL_POOL"); + vm.label(0x927E6f04609A45B107C789aF34BA90Ebbf479f7f, "Constants.ETH_SDL_FRAXBP"); + vm.label(0xB2Ac3382dA625eb41Fc803b57743f941a484e2a6, "Constants.ETH_SDL_FRAXBP_GAUGE"); + vm.label(0x13Cc34Aa8037f722405285AD2C82FE570bfa2bdc, "Constants.ETH_SDL_FRAXBP_POOL"); + vm.label(0x6Ac7a4cB3BFa90DC651CD53EB098e23c88d04e77, "Constants.ETH_SDL_SUSDFRAXBP"); + vm.label(0x104F44551386d603217450822443456229F73aE4, "Constants.ETH_SDL_SUSDFRAXBP_GAUGE"); + vm.label(0x69baA0d7c2e864b74173922Ca069Ac79d3be1556, "Constants.ETH_SDL_SUSDFRAXBP_POOL"); + vm.label(0x486DFCfdbF9025c062110E8c0344a15279aD0a85, "Constants.ETH_SDL_USDTFRAXBP"); + vm.label(0x6EC5DD7D8E396973588f0dEFD79dCA04F844d57C, "Constants.ETH_SDL_USDTFRAXBP_GAUGE"); + vm.label(0xC765Cd3d015626244AD63B5FB63a97c5634643b9, "Constants.ETH_SDL_USDTFRAXBP_POOL"); + vm.label(0xA3beCa25Bd2bDd67272556666A7791d772C36571, "Constants.ETH_SDL_VESPERFRAXEARNPOOLFRAXBP"); + vm.label(0x9980C9b35844946cF3451cC0B43D9b6501F4a96E, "Constants.ETH_SDL_VESPERFRAXEARNPOOLFRAXBP_GAUGE"); + vm.label(0x9AC17f026f0599F77b3513a0A35f0258B0ec77f3, "Constants.ETH_SDL_VESPERFRAXEARNPOOLFRAXBP_POOL"); + vm.label(0x893DA8A02b487FEF2F7e3F35DF49d7625aE549a3, "Constants.ETH_SDTFRAXBP"); + vm.label(0x3e3C6c7db23cdDEF80B694679aaF1bCd9517D0Ae, "Constants.ETH_SDTFRAXBP_POOL"); + vm.label(0x663aC72a1c3E1C4186CD3dCb184f216291F4878C, "Constants.ETH_SETHFRXETH"); + vm.label(0x663aC72a1c3E1C4186CD3dCb184f216291F4878C, "Constants.ETH_SETHFRXETH_POOL"); + vm.label(0x04F2694C8fcee23e8Fd0dfEA1d4f5Bb8c352111F, "Constants.ETH_SOHM"); + vm.label(0x4d9f9D15101EEC665F77210cB999639f760F831E, "Constants.ETH_STETHFRXETH"); + vm.label(0x4d9f9D15101EEC665F77210cB999639f760F831E, "Constants.ETH_STETHFRXETH_POOL"); + vm.label(0x9de1c3D446237ab9BaFF74127eb4F303802a2683, "Constants.ETH_STGFRAXBP"); + vm.label(0x867fe27FC2462cff8890B54DfD64E6d42a9D1aC8, "Constants.ETH_STGFRAXBP_POOL"); + vm.label(0x4da27a545c0c5B758a6BA100e3a049001de870f5, "Constants.ETH_STKAAVE"); + vm.label(0x78b74C93c726B6e29d0Ef5A01764fA19eCCF0C1c, "Constants.ETH_STKCVXAGEURFRAXBP"); + vm.label(0xAF1b82809296E52A42B3452c52e301369Ce20554, "Constants.ETH_STKCVXALCXFRAXBP"); + vm.label(0xBE1C919cA137299715e9c929BC7126Af14f76091, "Constants.ETH_STKCVXALUSDFRAXBP"); + vm.label(0x6a20FC1654A2167d00614332A5aFbB7EBcD9d414, "Constants.ETH_STKCVXAPEUSDFRAXBP"); + vm.label(0xb92e3fD365Fc5E038aa304Afe919FeE158359C88, "Constants.ETH_STKCVXBADGERFRAXBP"); + vm.label(0x20c5177504A3f9Bad59c430791feA853EeAD4CCE, "Constants.ETH_STKCVXBUSDFRAXBP"); + vm.label(0x3199a1ed1Ad4cb1d1b57939809c8ee79eafE9934, "Constants.ETH_STKCVXCLEVUSDFRAXBP"); + vm.label(0xa5B6f8Ec4122c5Fe0dBc4Ead8Bfe66A412aE427C, "Constants.ETH_STKCVXCOILFRAXBP"); + vm.label(0xdA69CeC36AE581C1b2a2EEb77C527Fb7c1331310, "Constants.ETH_STKCVXCOILFRAXBP_DEPRECATED"); + vm.label(0xaa0C3f5F7DFD688C6E646F66CD2a6B66ACdbE434, "Constants.ETH_STKCVXCRV"); + vm.label(0xb6F63cc2066e7626fA47fCC37E78Df9fe89F1663, "Constants.ETH_STKCVXCRVUSDFRAX"); + vm.label(0x7B465174A93a6d0602fD4ea99eEc86C07e5E1568, "Constants.ETH_STKCVXCVGFRAXBP"); + vm.label(0xa103a6ca0C4D4072BA59a55FD453BFE4197A095B, "Constants.ETH_STKCVXCVXCRVFRAXBP"); + vm.label(0x93D1De20eaBB21686CFe716f78F67E51ee578185, "Constants.ETH_STKCVXCVXFRAXBP"); + vm.label(0xA6A8F315b1a8C9B05433d206b8fECfbF0fC96217, "Constants.ETH_STKCVXCVXFXSFRAXBP"); + vm.label(0xF06c8696730cf760619e4fA0eDd0f79ea50531A9, "Constants.ETH_STKCVXDOLAFRAXBP"); + vm.label(0x8aAa49650C4908156efAc3B47e00745a319c806c, "Constants.ETH_STKCVXDOLAFRAXPYUSD"); + vm.label(0x49BF6f9B860fAF73B0b515c06Be1Bcbf4A0db3dF, "Constants.ETH_STKCVXEUSDFRAXBP"); + vm.label(0x7287488F8Df7dddc5f373142D4827aAF92AAC845, "Constants.ETH_STKCVXFPIFRAX"); + vm.label(0x8a53ee42FB458D4897e15cc7dEa3F75D0F1c3475, "Constants.ETH_STKCVXFRAXBP"); + vm.label(0x562E4d6C958333a5f0988FFedA11e45C27722994, "Constants.ETH_STKCVXFRAXFPI_NG"); + vm.label(0x6E804b00fe562707E3a86bBbcC53Eb73c36c0cf6, "Constants.ETH_STKCVXFRAXFXB_20240630"); + vm.label(0xBb16610CF051AAc4bBEF9c53e2fc99b77BCE4A8c, "Constants.ETH_STKCVXFRAXFXB_20241231"); + vm.label(0x8aa015CE081505064a9cB8e7816deE3Bd7a45a12, "Constants.ETH_STKCVXFRAXFXB_20261231"); + vm.label(0x59Ae4E430be0bF47e758F7E022E9a50A8C7D09d6, "Constants.ETH_STKCVXFRAXPYUSD"); + vm.label(0x2EB43dBF8C0013712fEc7B2A57453e41B9907e95, "Constants.ETH_STKCVXFRAXSDAI"); + vm.label(0x5385AE7dC08F5C3799691E5b387cB01108B76627, "Constants.ETH_STKCVXFRAXUSDP"); + vm.label(0x8A59781B415288f9E633b948618726CB6E47e980, "Constants.ETH_STKCVXFRXETHALETH"); + vm.label(0x75A439b3F8106428b86198D8c306c57E9e7Bb3dC, "Constants.ETH_STKCVXFRXETHANKRETH"); + vm.label(0x4e9D8323603E69c1310E5e04Db172bD5aB07df95, "Constants.ETH_STKCVXFRXETHCBETH"); + vm.label(0x194aA54376886dAd3d08e71F47D189A88251D8Da, "Constants.ETH_STKCVXFRXETHCRV"); + vm.label(0x5B31bf2988E5388Edae2960504d96Bc142742dCb, "Constants.ETH_STKCVXFRXETHCVX"); + vm.label(0x4659d5fF63A1E1EDD6D5DD9CC315e063c95947d0, "Constants.ETH_STKCVXFRXETHETH"); + vm.label(0x09bFD0c760E4a1bFc970cdaAAD240307C917Aa6c, "Constants.ETH_STKCVXFRXETHMSETH"); + vm.label(0xeCF134dF5DE1e0E12A441D446ff81994Cb0301A2, "Constants.ETH_STKCVXFRXETHPETH"); + vm.label(0x51521Da84Cbce1B4A930B55d8D896b590532f7A6, "Constants.ETH_STKCVXFRXETHPXETH"); + vm.label(0xE0c65F74728Ff26219C6adddCEfB215484bb08DF, "Constants.ETH_STKCVXFRXETHRETH"); + vm.label(0xffAFA5aA5b0a9C0C8e05ec8b89056F018EE2Bad6, "Constants.ETH_STKCVXFRXETHRETH_STAFI"); + vm.label(0x44b51F7F92D761Cf2FC46011AD6b74Ce56447924, "Constants.ETH_STKCVXFRXETHSETH"); + vm.label(0xc2eC3d1209FD1Fc512950825f34281EaF9aB13A2, "Constants.ETH_STKCVXFRXETHSTETH"); + vm.label(0x08061feC3FC09Aa2Eb4B4B72EA618034CBFD22b0, "Constants.ETH_STKCVXFRXETHWETH"); + vm.label(0xd69068777d1b2dc74522117efA75AA195c0b57DB, "Constants.ETH_STKCVXFRXETHZETH"); + vm.label(0xD893522D2CCd40eA6C1414815e3eAD1B58a83D51, "Constants.ETH_STKCVXFRXETHZUNETH"); + vm.label(0xDf9BB26ba5a05fcFc2637dC763AA4eb735911568, "Constants.ETH_STKCVXGRAIFRAXBP"); + vm.label(0x16e9eaC2A9e29aF3c53d24ed0F07fc403E098b64, "Constants.ETH_STKCVXGUSDFRAXBP"); + vm.label(0x8C402989a966D37B96f60401A6158D5D49f1381D, "Constants.ETH_STKCVXLUSDFRAXBP"); + vm.label(0x787eB52b94c4610ABE2C9C5eE95c3a4a16533344, "Constants.ETH_STKCVXMAIFRAXBP"); + vm.label(0xd529a0FD4249f0b48171140873b1b13a1ad5286d, "Constants.ETH_STKCVXMKUSDFRAXBP"); + vm.label(0x227b7F44468A0EC0FDdfc3FB0cE09b294E62f875, "Constants.ETH_STKCVXMSUSDFRAXBP"); + vm.label(0x81b0dCDa53482A2EA9eb496342dC787643323e95, "Constants.ETH_STKCVXOHMFRAXBP"); + vm.label(0x7AEF5bDC573dCbfb40EC68b0BAAB03abB846C9c6, "Constants.ETH_STKCVXPUSDFRAXBP"); + vm.label(0xF37007f2b9DE656115e1B977Bb1fd38A99B8a2a6, "Constants.ETH_STKCVXRSRFRAXBP"); + vm.label(0xE6Aa75F98e6c105b821a2dba9Fbbd886b421F06b, "Constants.ETH_STKCVXSDTFRAXBP"); + vm.label(0xAe1bA2Cf0eBF00C5052309992d7B6c94e3EfcBEf, "Constants.ETH_STKCVXSTGFRAXBP"); + vm.label(0x9f0C2673a33b7087e367253f196A7E823fBc2341, "Constants.ETH_STKCVXSUSDFRAXBP"); + vm.label(0xa3ae006Cc863423F690ca01C2a8F692B97c93c3b, "Constants.ETH_STKCVXSWETHFRXETH"); + vm.label(0x0643d5C29498149D31bAd69a5bE2771b5440C58d, "Constants.ETH_STKCVXTRICRYPTOFRAX"); + vm.label(0xAD059ccF041e344eA52A3152Bbf654c605d68473, "Constants.ETH_STKCVXTRISDT"); + vm.label(0x32fA492Ac1F729E0eE9eDdfCBacc3ef72B234e27, "Constants.ETH_STKCVXTUSDFRAXBP"); + vm.label(0x507e41A64eB7AE47ee303e3B16237ab757F6C06c, "Constants.ETH_STKCVXUSDDFRAXBP"); + vm.label(0xaa236bd1302755937Aa46D6f3423655BbC654B02, "Constants.ETH_STKCVXUZDFRAXBP"); + vm.label(0x57Fb068BDa27351EF0913113264Ce3EF4EeA3316, "Constants.ETH_STKCVXUZDFRAXBP_DEPRECATED"); + vm.label(0x57Fb068BDa27351EF0913113264Ce3EF4EeA3316, "Constants.ETH_STKCVXUZDFRAXBP_DEPRECATED_OLD"); + vm.label(0x19f0a60f4635d3E2c48647822Eda5332BA094fd3, "Constants.ETH_STKCVXXAIFRAXBP"); + vm.label(0xFD2d7847E0f450d8B00d3D697D720C687E622a7B, "Constants.ETH_STKCVXZUSDFRAXBP"); + vm.label(0x8f2326316eC696F6d023E37A9931c2b2C177a3D7, "Constants.ETH_STKMTA"); + vm.label(0xe3c190c57b5959Ae62EfE3B6797058B76bA2f5eF, "Constants.ETH_SUSDFRAXBP"); + vm.label(0xe3c190c57b5959Ae62EfE3B6797058B76bA2f5eF, "Constants.ETH_SUSDFRAXBP_POOL"); + vm.label(0xe49AdDc2D1A131c6b8145F0EBa1C946B7198e0BA, "Constants.ETH_SWETHFRXETH"); + vm.label(0x67e0bDbe0A2C5999A60D048f50e794218056b767, "Constants.ETH_SWETHFRXETH_POOL"); + vm.label(0x94671A3ceE8C7A12Ea72602978D1Bb84E920eFB2, "Constants.ETH_TFRAX"); + vm.label(0xADF15Ec41689fc5b6DcA0db7c53c9bFE7981E655, "Constants.ETH_TFXS"); + vm.label(0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490, "Constants.ETH_THREECRV_ERC20"); + vm.label(0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7, "Constants.ETH_THREECRV_POOL"); + vm.label(0x4D1941a887eC788F059b3bfcC8eE1E97b968825B, "Constants.ETH_TRICRYPTOFRAX"); + vm.label(0x4B43fEaB8f5ccD38Ac0831DD7eC797330114F058, "Constants.ETH_TRICRYPTOFRAX_GAUGE"); + vm.label(0x954313005C56b555bdC41B84D6c63B69049d7847, "Constants.ETH_TRISDT"); + vm.label(0x2DD2b7E07dD433B758B98A3889a63cbF48ef0D99, "Constants.ETH_TRISDT_GAUGE"); + vm.label(0x33baeDa08b8afACc4d3d07cf31d49FC1F1f3E893, "Constants.ETH_TUSDFRAXBP"); + vm.label(0x33baeDa08b8afACc4d3d07cf31d49FC1F1f3E893, "Constants.ETH_TUSDFRAXBP_POOL"); + vm.label(0x4606326b4Db89373F5377C316d3b0F6e55Bc6A20, "Constants.ETH_USDDFRAXBP"); + vm.label(0x4606326b4Db89373F5377C316d3b0F6e55Bc6A20, "Constants.ETH_USDDFRAXBP_POOL"); + vm.label(0x68934F60758243eafAf4D2cFeD27BF8010bede3a, "Constants.ETH_UZDFRAXBP"); + vm.label(0x68934F60758243eafAf4D2cFeD27BF8010bede3a, "Constants.ETH_UZDFRAXBP_POOL"); + vm.label(0x5f3b5DfEb7B28CDbD7FAba78963EE202a494e2A2, "Constants.ETH_VECRV"); + vm.label(0xD2751CdBED54B87777E805be36670D7aeAe73bb2, "Constants.ETH_VESDL"); + vm.label(0x72a19342e8F1838460eBFCCEf09F6585e32db86E, "Constants.ETH_VLCVX"); + vm.label(0x326290A1B0004eeE78fa6ED4F1d8f4b2523ab669, "Constants.ETH_XAIFRAXBP"); + vm.label(0x326290A1B0004eeE78fa6ED4F1d8f4b2523ab669, "Constants.ETH_XAIFRAXBP_POOL"); + vm.label(0xaC14864ce5A98aF3248Ffbf549441b04421247D3, "Constants.ETH_XSDT"); + vm.label(0xa354F35829Ae975e850e23e9615b11Da1B3dC4DE, "Constants.ETH_YVUSDC"); + vm.label(0x400d4C984779A747462e88373c3fE369EF9F5b50, "Constants.ETH_ZUSDFRAXBP"); + vm.label(0x218E4678318ab5527e41135713193E5EAd73337f, "Constants.ETH_ZUSDFRAXBP_GAUGE"); + vm.label(0x400d4C984779A747462e88373c3fE369EF9F5b50, "Constants.ETH_ZUSDFRAXBP_POOL"); + vm.label(0x5aB53EE1d50eeF2C1DD3d5402789cd27bB52c1bB, "Constants.ETH_AAVE_ETH_UNI_V3_POOL"); + vm.label(0xAc4b3DacB91461209Ae9d41EC517c2B9Cb1B7DAF, "Constants.ETH_APE_WETH_UNI_V3_POOL"); + vm.label(0x97e7d56A0408570bA1a7852De36350f7713906ec, "Constants.ETH_FRAX_DAI_V3_POOL"); + vm.label(0xc63B0708E2F7e69CB8A1df0e1389A98C35A76D52, "Constants.ETH_FRAX_USDC_V3_POOL"); + vm.label(0x92c7b5Ce4CB0e5483F3365C1449f21578eE9f21A, "Constants.ETH_FRAX_WETH_UNI_V3_POOL"); + vm.label(0x36C060Cc4b088c830a561E959A679A58205D3F56, "Constants.ETH_FRXETH_FRAX_V3_POOL"); + vm.label(0xa6Cc3C2531FdaA6Ae1A3CA84c2855806728693e8, "Constants.ETH_LINK_ETH_UNI_V3_POOL"); + vm.label(0xe8c6c9227491C0a8156A0106A0204d881BB7E531, "Constants.ETH_MKR_ETH_UNI_V3_POOL"); + vm.label(0xB210CE856631EeEB767eFa666EC7C1C57738d438, "Constants.ETH_STATIC_UNI_V3_ORACLE"); + vm.label(0x1d42064Fc4Beb5F8aAF85F4617AE8b3b5B8Bd801, "Constants.ETH_UNI_ETH_UNI_V3_POOL"); + vm.label(0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640, "Constants.ETH_USDC_WETH_UNI_V3_POOL"); + vm.label(0x5F1dddbf348aC2fbe22a163e30F99F9ECE3DD50a, "Constants.ETH_KYBERSWAP_ELASTIC_FACTORY"); + vm.label(0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A, "Constants.ETH_KYBERSWAP_ELASTIC_FACTORY_V2"); + vm.label(0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8, "Constants.ETH_KYBERSWAP_ELASTIC_POS_MGR"); + vm.label(0xe222fBE074A436145b255442D919E4E3A6c6a480, "Constants.ETH_KYBERSWAP_ELASTIC_POS_MGR_V2"); + vm.label(0xC1e7dFE73E1598E3910EF4C7845B68A9Ab6F4c83, "Constants.ETH_KYBERSWAP_ELASTIC_ROUTER"); + vm.label(0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4, "Constants.ETH_KYBERSWAP_ELASTIC_ROUTER_V2"); + vm.label(0xD7ab1699280980E756C446769B4c0F04550f88c9, "Constants.ETH_KYBERSWAP_ELASTIC_TICK_FEES_READER"); + vm.label(0x8Fd8Cb948965d9305999D767A02bf79833EADbB3, "Constants.ETH_KYBERSWAP_ELASTIC_TICK_FEES_READER_V2"); + vm.label(0xC36442b4a4522E871399CD717aBDD847Ab11FE88, "Constants.ETH_NON_FUNGIBLE_POSITION_MANAGER"); + vm.label(0xE592427A0AEce92De3Edee1F18E0157C05861564, "Constants.ETH_SWAPROUTER"); + vm.label(0x1F98431c8aD98523631AE4a59f267346ea31F984, "Constants.ETH_UNISWAP_V3_FACTORY"); + } +} diff --git a/src/contracts/chain-constants/Moonbeam.sol b/src/contracts/chain-constants/Moonbeam.sol new file mode 100644 index 0000000..64e4d17 --- /dev/null +++ b/src/contracts/chain-constants/Moonbeam.sol @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library Moonbeam { + address internal constant FRAX = 0x322E86852e492a7Ee17f28a78c663da38FB33bfb; + address internal constant FXS = 0x2CC0A9D8047A5011dEfe85328a6f26968C8aaA1C; + address internal constant FRXETH = 0x82bbd1b6f6De2B7bb63D3e1546e6b1553508BE99; + address internal constant SFRXETH = 0xecf91116348aF1cfFe335e9807f0051332BE128D; + address internal constant FRAXFERRY_V1__ETHEREUM_MOONBEAM__FRAX__MNBM_SIDE = + 0xd545Fd6080db07eDdcC1F57dC28a53D930837A8d; + address internal constant FRAXFERRY_V2__ETHEREUM_MOONBEAM__FXS__MNBM_SIDE = + 0x1E87990678f640BFfe5A118c331fEc296DDC8d89; + address internal constant FRAXFERRY_V2__ETHEREUM_MOONBEAM__FRXETH__MNBM_SIDE = + 0x7c7Fd7412F5E79f4917163F78d5Ece5E2e923504; + address internal constant FRAXFERRY_V2__ETHEREUM_MOONBEAM__SFRXETH__MNBM_SIDE = + 0x78348E58582d0D1789da1621B79Fc62012485CAe; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant COMBO_ORACLE = 0x247A323DAA63cC97c2BAD61b4D6f1E0120B5c9e2; + address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0x4A40198373dE481741bdf629B44Dc98f12f18161; + address internal constant FRAXSWAP_FACTORY_V1 = 0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E; + address internal constant FRAXSWAP_FACTORY_V2 = 0x51f9DBEd76f5Dcf209817f641b549aa82F35D23F; + address internal constant FRAXSWAP_ROUTER_V1 = 0xc2544A32872A91F4A553b404C6950e89De901fdb; + address internal constant FRAXSWAP_ROUTER_V2 = 0xd95fe880d7717f7f20981FE6e41A2315f3EFeAb5; + address internal constant FRAXSWAP_ROUTER_MULTI_HOP = 0x0000000000000000000000000000000000000000; + address internal constant FRAXSWAP_V1_FRAX_FXS = 0x44E11b99ff8F6164FD54393a17b3CD4c57732dB7; + address internal constant FRAXSWAP_V2_FRAX_FXS = 0x2974A0D3e70FDe22d44c188F770beE964205aCad; + address internal constant FRAXSWAP_V1_FRAX_WGLMR = 0xAE0b5be7d467C8c0898CaE4c96B2f40A6810DEBC; + address internal constant FRAXSWAP_V2_FRAX_WGLMR = 0xd3bE0E32147ae91378F035fF96f3e2cAb96aC48b; + address internal constant COMPTROLLER = 0x343e4f06BF240d22FbdFd4a2Fe5858BC66e79F12; + address internal constant FPI_COMPTROLLER = 0xc4d89dcE72cde17DC3BEF317E62530b6A0733971; + address internal constant ZENLINK_CANFRAX_CANFXS = 0x8ca030649720b94b16e8C3B551cc2ab88c681C0F; + address internal constant ZENLINK_CANFRAX_WGLMR = 0xd341D2191bb0F84E5c29cB301deF5753Dab1ac04; +} + +abstract contract AddressHelperMoonbeam is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0x322E86852e492a7Ee17f28a78c663da38FB33bfb, "Constants.MNBM_FRAX"); + vm.label(0x2CC0A9D8047A5011dEfe85328a6f26968C8aaA1C, "Constants.MNBM_FXS"); + vm.label(0x82bbd1b6f6De2B7bb63D3e1546e6b1553508BE99, "Constants.MNBM_FRXETH"); + vm.label(0xecf91116348aF1cfFe335e9807f0051332BE128D, "Constants.MNBM_SFRXETH"); + vm.label( + 0xd545Fd6080db07eDdcC1F57dC28a53D930837A8d, + "Constants.MNBM_FRAXFERRY_V1__ETHEREUM_MOONBEAM__FRAX__MNBM_SIDE" + ); + vm.label( + 0x1E87990678f640BFfe5A118c331fEc296DDC8d89, + "Constants.MNBM_FRAXFERRY_V2__ETHEREUM_MOONBEAM__FXS__MNBM_SIDE" + ); + vm.label( + 0x7c7Fd7412F5E79f4917163F78d5Ece5E2e923504, + "Constants.MNBM_FRAXFERRY_V2__ETHEREUM_MOONBEAM__FRXETH__MNBM_SIDE" + ); + vm.label( + 0x78348E58582d0D1789da1621B79Fc62012485CAe, + "Constants.MNBM_FRAXFERRY_V2__ETHEREUM_MOONBEAM__SFRXETH__MNBM_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.MNBM_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.MNBM_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.MNBM_CREWMEMBER"); + vm.label(0x247A323DAA63cC97c2BAD61b4D6f1E0120B5c9e2, "Constants.MNBM_COMBO_ORACLE"); + vm.label(0x4A40198373dE481741bdf629B44Dc98f12f18161, "Constants.MNBM_COMBO_ORACLE_UNIV2_UNIV3"); + vm.label(0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E, "Constants.MNBM_FRAXSWAP_FACTORY_V1"); + vm.label(0x51f9DBEd76f5Dcf209817f641b549aa82F35D23F, "Constants.MNBM_FRAXSWAP_FACTORY_V2"); + vm.label(0xc2544A32872A91F4A553b404C6950e89De901fdb, "Constants.MNBM_FRAXSWAP_ROUTER_V1"); + vm.label(0xd95fe880d7717f7f20981FE6e41A2315f3EFeAb5, "Constants.MNBM_FRAXSWAP_ROUTER_V2"); + vm.label(0x0000000000000000000000000000000000000000, "Constants.MNBM_FRAXSWAP_ROUTER_MULTI_HOP"); + vm.label(0x44E11b99ff8F6164FD54393a17b3CD4c57732dB7, "Constants.MNBM_FRAXSWAP_V1_FRAX_FXS"); + vm.label(0x2974A0D3e70FDe22d44c188F770beE964205aCad, "Constants.MNBM_FRAXSWAP_V2_FRAX_FXS"); + vm.label(0xAE0b5be7d467C8c0898CaE4c96B2f40A6810DEBC, "Constants.MNBM_FRAXSWAP_V1_FRAX_WGLMR"); + vm.label(0xd3bE0E32147ae91378F035fF96f3e2cAb96aC48b, "Constants.MNBM_FRAXSWAP_V2_FRAX_WGLMR"); + vm.label(0x343e4f06BF240d22FbdFd4a2Fe5858BC66e79F12, "Constants.MNBM_COMPTROLLER"); + vm.label(0xc4d89dcE72cde17DC3BEF317E62530b6A0733971, "Constants.MNBM_FPI_COMPTROLLER"); + vm.label(0x8ca030649720b94b16e8C3B551cc2ab88c681C0F, "Constants.MNBM_ZENLINK_CANFRAX_CANFXS"); + vm.label(0xd341D2191bb0F84E5c29cB301deF5753Dab1ac04, "Constants.MNBM_ZENLINK_CANFRAX_WGLMR"); + } +} diff --git a/src/contracts/chain-constants/Moonriver.sol b/src/contracts/chain-constants/Moonriver.sol new file mode 100644 index 0000000..d27c041 --- /dev/null +++ b/src/contracts/chain-constants/Moonriver.sol @@ -0,0 +1,80 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library Moonriver { + address internal constant FRAX = 0x1A93B23281CC1CDE4C4741353F3064709A16197d; + address internal constant FXS = 0x6f1D1Ee50846Fcbc3de91723E61cb68CFa6D0E98; + address internal constant FRAXFERRY_V1__ETHEREUM_MOONRIVER__FRAX__MOVR_SIDE = + 0x81dbcc69937DAd14e358B1a16Ba7ea047703c404; + address internal constant FRAXFERRY_V2__ETHEREUM_MOONRIVER__FXS__MOVR_SIDE = + 0x2d3146aD02f64cb21C23b54f3fD5B0ddc927ba20; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant ZENLINK_CANFRAX_WGLMR = 0xd341D2191bb0F84E5c29cB301deF5753Dab1ac04; + address internal constant COMBO_ORACLE = 0x3B56E2DD29e4976B639BAd95044A0852BeeEBF02; + address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0x212ae4B6e93a735840A431845833261CA9cA76ED; + address internal constant FRAXSWAP_FACTORY_V1 = 0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E; + address internal constant FRAXSWAP_FACTORY_V2 = 0x7FB05Ca29DAc7F5690E9b5AE0aF0415D579D7CD3; + address internal constant FRAXSWAP_ROUTER_V1 = 0xc2544A32872A91F4A553b404C6950e89De901fdb; + address internal constant FRAXSWAP_ROUTER_V2 = 0xD8FC27ec222E8d5172CD63aC453C6Dfb7467a3C7; + address internal constant FRAXSWAP_ROUTER_MULTI_HOP = 0x0000000000000000000000000000000000000000; + address internal constant FRAXSWAP_V1_FRAX_FXS = 0x2C803cd6E9a7AdAD813718a4767ECec4F6e0ca90; + address internal constant FRAXSWAP_V2_FRAX_FXS = 0x08C81e49D695Ae8F50574144560a301542b05C60; + address internal constant FRAXSWAP_V1_FRAX_WMOVR = 0x3Dbb1Fd5E0b50a5905fc24Fc38D8e741C52F782b; + address internal constant FRAXSWAP_V2_FRAX_WMOVR = 0x72B7D2Bb0082cC9cDa8db55eca6Ce4dfcc954191; + address internal constant COMPTROLLER = 0x2bBbE751E8C36CD6c92767776067f8Dd3A21941f; + address internal constant SOLARBEAM_FRAX_ROME = 0x069C2065100b4D3D982383f7Ef3EcD1b95C05894; + address internal constant SOLARBEAM_FRAX_MOVR = 0x2cc54b4A3878e36E1C754871438113C1117a3ad7; + address internal constant SUSHI_FRAX_USDC_MOONRIVER = 0x310C4d18640aF4878567c4A31cB9cBde7Cd234A3; + address internal constant SUSHI_CANFRAX_CANFXS = 0xC5147A6E773343aFE527249a26EF16AFc6a0013F; + address internal constant SUSHI_CANFRAX_ANYUSDC = 0x310C4d18640aF4878567c4A31cB9cBde7Cd234A3; + address internal constant SUSHI_CANFRAX_WMOVR = 0x756057872D1Ad41C703B68e12701D27874fbe533; + address internal constant SUSHI_CANFXS_ANYUSDC = 0xc0EAB66DaDC825c95cA1951A2B02BC56073Fc7B2; +} + +abstract contract AddressHelperMoonriver is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0x1A93B23281CC1CDE4C4741353F3064709A16197d, "Constants.MOVR_FRAX"); + vm.label(0x6f1D1Ee50846Fcbc3de91723E61cb68CFa6D0E98, "Constants.MOVR_FXS"); + vm.label( + 0x81dbcc69937DAd14e358B1a16Ba7ea047703c404, + "Constants.MOVR_FRAXFERRY_V1__ETHEREUM_MOONRIVER__FRAX__MOVR_SIDE" + ); + vm.label( + 0x2d3146aD02f64cb21C23b54f3fD5B0ddc927ba20, + "Constants.MOVR_FRAXFERRY_V2__ETHEREUM_MOONRIVER__FXS__MOVR_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.MOVR_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.MOVR_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.MOVR_CREWMEMBER"); + vm.label(0xd341D2191bb0F84E5c29cB301deF5753Dab1ac04, "Constants.MOVR_ZENLINK_CANFRAX_WGLMR"); + vm.label(0x3B56E2DD29e4976B639BAd95044A0852BeeEBF02, "Constants.MOVR_COMBO_ORACLE"); + vm.label(0x212ae4B6e93a735840A431845833261CA9cA76ED, "Constants.MOVR_COMBO_ORACLE_UNIV2_UNIV3"); + vm.label(0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E, "Constants.MOVR_FRAXSWAP_FACTORY_V1"); + vm.label(0x7FB05Ca29DAc7F5690E9b5AE0aF0415D579D7CD3, "Constants.MOVR_FRAXSWAP_FACTORY_V2"); + vm.label(0xc2544A32872A91F4A553b404C6950e89De901fdb, "Constants.MOVR_FRAXSWAP_ROUTER_V1"); + vm.label(0xD8FC27ec222E8d5172CD63aC453C6Dfb7467a3C7, "Constants.MOVR_FRAXSWAP_ROUTER_V2"); + vm.label(0x0000000000000000000000000000000000000000, "Constants.MOVR_FRAXSWAP_ROUTER_MULTI_HOP"); + vm.label(0x2C803cd6E9a7AdAD813718a4767ECec4F6e0ca90, "Constants.MOVR_FRAXSWAP_V1_FRAX_FXS"); + vm.label(0x08C81e49D695Ae8F50574144560a301542b05C60, "Constants.MOVR_FRAXSWAP_V2_FRAX_FXS"); + vm.label(0x3Dbb1Fd5E0b50a5905fc24Fc38D8e741C52F782b, "Constants.MOVR_FRAXSWAP_V1_FRAX_WMOVR"); + vm.label(0x72B7D2Bb0082cC9cDa8db55eca6Ce4dfcc954191, "Constants.MOVR_FRAXSWAP_V2_FRAX_WMOVR"); + vm.label(0x2bBbE751E8C36CD6c92767776067f8Dd3A21941f, "Constants.MOVR_COMPTROLLER"); + vm.label(0x069C2065100b4D3D982383f7Ef3EcD1b95C05894, "Constants.MOVR_SOLARBEAM_FRAX_ROME"); + vm.label(0x2cc54b4A3878e36E1C754871438113C1117a3ad7, "Constants.MOVR_SOLARBEAM_FRAX_MOVR"); + vm.label(0x310C4d18640aF4878567c4A31cB9cBde7Cd234A3, "Constants.MOVR_SUSHI_FRAX_USDC_MOONRIVER"); + vm.label(0xC5147A6E773343aFE527249a26EF16AFc6a0013F, "Constants.MOVR_SUSHI_CANFRAX_CANFXS"); + vm.label(0x310C4d18640aF4878567c4A31cB9cBde7Cd234A3, "Constants.MOVR_SUSHI_CANFRAX_ANYUSDC"); + vm.label(0x756057872D1Ad41C703B68e12701D27874fbe533, "Constants.MOVR_SUSHI_CANFRAX_WMOVR"); + vm.label(0xc0EAB66DaDC825c95cA1951A2B02BC56073Fc7B2, "Constants.MOVR_SUSHI_CANFXS_ANYUSDC"); + } +} diff --git a/src/contracts/chain-constants/Optimism.sol b/src/contracts/chain-constants/Optimism.sol new file mode 100644 index 0000000..4163704 --- /dev/null +++ b/src/contracts/chain-constants/Optimism.sol @@ -0,0 +1,120 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library Optimism { + address internal constant FRAX = 0x2E3D870790dC77A83DD1d18184Acc7439A53f475; + address internal constant FXS = 0x67CCEA5bb16181E7b4109c9c2143c24a1c2205Be; + address internal constant FPI = 0xC5d43A94e26fCa47A9b21CF547ae4AA0268670E1; + address internal constant FPIS = 0x8368Dca5CE2a4Db530c0F6e535d90B6826428Dee; + address internal constant FRXETH = 0x6806411765Af15Bddd26f8f544A34cC40cb9838B; + address internal constant SFRXETH = 0x484c2D6e3cDd945a8B2DF735e079178C1036578c; + address internal constant SFRAX = 0x2Dd1B4D4548aCCeA497050619965f91f78b3b532; + address internal constant FRAXFERRY_V1__ETHEREUM_OPTIMISM__FRAX__OPTI_SIDE = + 0xb781FCaC4B8eF06891F9baD7dB9C178B1cE67967; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__FXS__OPTI_SIDE = + 0xdF6B3b56B1668dA507Db58C64b7153756cfE8e67; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPI__OPTI_SIDE = + 0x053F082f3bC0C48B8409970c017b4F2a6f673e16; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPIS__OPTI_SIDE = + 0xB84E29042Bfb489439949a79aed8a0e156169Ae5; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__FRXETH__OPTI_SIDE = + 0xA4EFC2d768C9b9b0f97DD91a1555B345f69b39C0; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRXETH__OPTI_SIDE = + 0x59b99CF08C01a6ADa0e0D819520719CA41B35c7C; + address internal constant FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRAX__OPTI_SIDE = + 0xD1738eB733A636d1b8665f48bC8a24dA889c2562; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant COMBO_ORACLE = 0x626eFc448227d794dC8C02ffea6a932bB360f72a; + address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0xeba66661Afc03aB95ec37383b1BfB724abe14a0F; + address internal constant COMBO_ORACLE_KYBERSWAP_ELASTIC_V2 = 0x2C37fb628b35dfdFD515d41B0cAAe11B542773C3; + address internal constant FRAXSWAP_FACTORY_V1 = 0xBe90FD3CDdaf0D3B8576ffb5E51aDbfD304d0437; + address internal constant FRAXSWAP_FACTORY_V2 = 0x67a1412d2D6CbF211bb71F8e851b4393b491B10f; + address internal constant FRAXSWAP_ROUTER_MULTI_HOP = 0x0000000000000000000000000000000000000000; + address internal constant FRAXSWAP_ROUTER_V1 = 0xffE66A866B249f5d7C97b4a4c84742A393bC9354; + address internal constant FRAXSWAP_ROUTER_V2 = 0xB9A55F455e46e8D717eEA5E47D2c449416A0437F; + address internal constant FRAXSWAP_V1_FRAX_FXS = 0x25e2222Bc50E3B2dc945E1b9430F5498107FD3A5; + address internal constant FRAXSWAP_V1_FRAX_WETH = 0x0BC2D9B4c3f599BD85789EC3649774076A7D9264; + address internal constant FRAXSWAP_V2_FRAX_FXS = 0x9456c020D3A05b159dAB4557535083fBA836c49A; + address internal constant FRAXSWAP_V2_FRAX_WETH = 0xCc4Dd8Bc7967D46060bA3fAAA8e525A35625F8b4; + address internal constant KYBERSWAP_ELASTIC_FACTORY_V2 = 0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A; + address internal constant KYBERSWAP_ELASTIC_POS_MGR_V2 = 0xe222fBE074A436145b255442D919E4E3A6c6a480; + address internal constant KYBERSWAP_ELASTIC_ROUTER_V2 = 0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4; + address internal constant KYBERSWAP_ELASTIC_TICK_FEES_READER_V2 = 0x8Fd8Cb948965d9305999D767A02bf79833EADbB3; + address internal constant COMPTROLLER = 0x0dF840dCbf1229262A4125C1fc559bd338eC9491; + address internal constant FPI_COMPTROLLER = 0x8Acc8819cBB632dE4a8E732f08b9E578D2A8F635; + address internal constant CURVE_4POOL = 0x3da3153E26A230d918bb9F9428A8d60349B73379; + address internal constant KYBERSWAP_ELASTIC_FRAX_USDC_OPTIMISM = 0x97cB76cbb84Aa35deaF1dAC3101a506588B6c197; +} + +abstract contract AddressHelperOptimism is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0x2E3D870790dC77A83DD1d18184Acc7439A53f475, "Constants.OPTI_FRAX"); + vm.label(0x67CCEA5bb16181E7b4109c9c2143c24a1c2205Be, "Constants.OPTI_FXS"); + vm.label(0xC5d43A94e26fCa47A9b21CF547ae4AA0268670E1, "Constants.OPTI_FPI"); + vm.label(0x8368Dca5CE2a4Db530c0F6e535d90B6826428Dee, "Constants.OPTI_FPIS"); + vm.label(0x6806411765Af15Bddd26f8f544A34cC40cb9838B, "Constants.OPTI_FRXETH"); + vm.label(0x484c2D6e3cDd945a8B2DF735e079178C1036578c, "Constants.OPTI_SFRXETH"); + vm.label(0x2Dd1B4D4548aCCeA497050619965f91f78b3b532, "Constants.OPTI_SFRAX"); + vm.label( + 0xb781FCaC4B8eF06891F9baD7dB9C178B1cE67967, + "Constants.OPTI_FRAXFERRY_V1__ETHEREUM_OPTIMISM__FRAX__OPTI_SIDE" + ); + vm.label( + 0xdF6B3b56B1668dA507Db58C64b7153756cfE8e67, + "Constants.OPTI_FRAXFERRY_V2__ETHEREUM_OPTIMISM__FXS__OPTI_SIDE" + ); + vm.label( + 0x053F082f3bC0C48B8409970c017b4F2a6f673e16, + "Constants.OPTI_FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPI__OPTI_SIDE" + ); + vm.label( + 0xB84E29042Bfb489439949a79aed8a0e156169Ae5, + "Constants.OPTI_FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPIS__OPTI_SIDE" + ); + vm.label( + 0xA4EFC2d768C9b9b0f97DD91a1555B345f69b39C0, + "Constants.OPTI_FRAXFERRY_V2__ETHEREUM_OPTIMISM__FRXETH__OPTI_SIDE" + ); + vm.label( + 0x59b99CF08C01a6ADa0e0D819520719CA41B35c7C, + "Constants.OPTI_FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRXETH__OPTI_SIDE" + ); + vm.label( + 0xD1738eB733A636d1b8665f48bC8a24dA889c2562, + "Constants.OPTI_FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRAX__OPTI_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.OPTI_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.OPTI_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.OPTI_CREWMEMBER"); + vm.label(0x626eFc448227d794dC8C02ffea6a932bB360f72a, "Constants.OPTI_COMBO_ORACLE"); + vm.label(0xeba66661Afc03aB95ec37383b1BfB724abe14a0F, "Constants.OPTI_COMBO_ORACLE_UNIV2_UNIV3"); + vm.label(0x2C37fb628b35dfdFD515d41B0cAAe11B542773C3, "Constants.OPTI_COMBO_ORACLE_KYBERSWAP_ELASTIC_V2"); + vm.label(0xBe90FD3CDdaf0D3B8576ffb5E51aDbfD304d0437, "Constants.OPTI_FRAXSWAP_FACTORY_V1"); + vm.label(0x67a1412d2D6CbF211bb71F8e851b4393b491B10f, "Constants.OPTI_FRAXSWAP_FACTORY_V2"); + vm.label(0x0000000000000000000000000000000000000000, "Constants.OPTI_FRAXSWAP_ROUTER_MULTI_HOP"); + vm.label(0xffE66A866B249f5d7C97b4a4c84742A393bC9354, "Constants.OPTI_FRAXSWAP_ROUTER_V1"); + vm.label(0xB9A55F455e46e8D717eEA5E47D2c449416A0437F, "Constants.OPTI_FRAXSWAP_ROUTER_V2"); + vm.label(0x25e2222Bc50E3B2dc945E1b9430F5498107FD3A5, "Constants.OPTI_FRAXSWAP_V1_FRAX_FXS"); + vm.label(0x0BC2D9B4c3f599BD85789EC3649774076A7D9264, "Constants.OPTI_FRAXSWAP_V1_FRAX_WETH"); + vm.label(0x9456c020D3A05b159dAB4557535083fBA836c49A, "Constants.OPTI_FRAXSWAP_V2_FRAX_FXS"); + vm.label(0xCc4Dd8Bc7967D46060bA3fAAA8e525A35625F8b4, "Constants.OPTI_FRAXSWAP_V2_FRAX_WETH"); + vm.label(0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A, "Constants.OPTI_KYBERSWAP_ELASTIC_FACTORY_V2"); + vm.label(0xe222fBE074A436145b255442D919E4E3A6c6a480, "Constants.OPTI_KYBERSWAP_ELASTIC_POS_MGR_V2"); + vm.label(0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4, "Constants.OPTI_KYBERSWAP_ELASTIC_ROUTER_V2"); + vm.label(0x8Fd8Cb948965d9305999D767A02bf79833EADbB3, "Constants.OPTI_KYBERSWAP_ELASTIC_TICK_FEES_READER_V2"); + vm.label(0x0dF840dCbf1229262A4125C1fc559bd338eC9491, "Constants.OPTI_COMPTROLLER"); + vm.label(0x8Acc8819cBB632dE4a8E732f08b9E578D2A8F635, "Constants.OPTI_FPI_COMPTROLLER"); + vm.label(0x3da3153E26A230d918bb9F9428A8d60349B73379, "Constants.OPTI_CURVE_4POOL"); + vm.label(0x97cB76cbb84Aa35deaF1dAC3101a506588B6c197, "Constants.OPTI_KYBERSWAP_ELASTIC_FRAX_USDC_OPTIMISM"); + } +} diff --git a/src/contracts/chain-constants/Polygon.sol b/src/contracts/chain-constants/Polygon.sol new file mode 100644 index 0000000..2ef1bca --- /dev/null +++ b/src/contracts/chain-constants/Polygon.sol @@ -0,0 +1,116 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library Polygon { + address internal constant FRAX = 0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89; + address internal constant FXS = 0x1a3acf6D19267E2d3e7f898f42803e90C9219062; + address internal constant FPI = 0x411C9cDd0fBBa243488988f2A3005D6fFf126661; + address internal constant FPIS = 0x84F6FCeb8E4A3EB87768C4a111273C17b54D4411; + address internal constant FRXETH = 0xEe327F889d5947c1dc1934Bb208a1E792F953E96; + address internal constant SFRXETH = 0x6d1FdBB266fCc09A16a22016369210A15bb95761; + address internal constant BALANCER_FRXETH_BB_A_WETH_GAUGE = 0x617430FF1C74faff0378726627F26a8704d03c8d; + address internal constant KYBERSWAP_ELASTIC_FRAX_USDC_POLYGON = 0x0363a32D18c25a3FD19a0d00B02106C03d8b8182; + address internal constant MSTABLE_FRAX_MUSD = 0xc425Fd9Ed3C892d849C9E1a971516da1C1B29696; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant DUMMY_TKN = 0xC6525aC8fc37814Fd68216F1ea690b3dC2249e89; + address internal constant FERRY_TO_ARBITRUM = 0xA621dC655fFBD0dB9cb2564529324E5750f2A4F0; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FRAXFERRY_V1__ETHEREUM_POLYGON__FRAX__POLY_SIDE = + 0x6f7F18C15B97dC9Fac48Ae7F986989F97D25dbc7; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON__FRXETH__POLY_SIDE = + 0x2760a93993BaA3BC4d7C209db000d4685bdAD6B1; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON__FXS__POLY_SIDE = + 0x6f71Ea0e9679389854010eE48a7D237cB430DBA4; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON__SFRXETH__POLY_SIDE = + 0x6728b24B4a4C42cabEe14a2BdFDc51271aa3Ae63; + address internal constant COMBO_ORACLE = 0xAfe0C8318B67Ea8461350ABf7Bc82E5ce9Cf11D3; + address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0x86Cffe1fE0C09A0815Fe4Fd21956D24Af5ba4020; + address internal constant COMBO_ORACLE_KYBERSWAP_ELASTIC_V2 = 0xfBCB0F967817c924f83e26e04F0FB28ED4d6276F; + address internal constant FRAXSWAP_FACTORY_V1 = 0xc2544A32872A91F4A553b404C6950e89De901fdb; + address internal constant FRAXSWAP_FACTORY_V2 = 0x54F454D747e037Da288dB568D4121117EAb34e79; + address internal constant FRAXSWAP_ROUTER_MULTI_HOP = 0x0000000000000000000000000000000000000000; + address internal constant FRAXSWAP_ROUTER_V1 = 0x9bc2152fD37b196C0Ff3C16f5533767c9A983971; + address internal constant FRAXSWAP_ROUTER_V2 = 0xE52D0337904D4D0519EF7487e707268E1DB6495F; + address internal constant FRAXSWAP_V1_FRAX_FXS = 0x60AC6d228ffeeefF423879baA02091558e6480dc; + address internal constant FRAXSWAP_V1_FRAX_WMATIC = 0x4F7267Af6DB7B284dF74BEA9e35402987D8C72a7; + address internal constant FRAXSWAP_V2_FRAX_FXS = 0xd2105fE5f1B631daf2398e918549758Cd181cA7C; + address internal constant FRAXSWAP_V2_FRAX_WMATIC = 0xA964b92C690f0B8efad5B46a278A84bD0EF8AC01; + address internal constant KYBERSWAP_ELASTIC_FACTORY_V2 = 0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A; + address internal constant KYBERSWAP_ELASTIC_POS_MGR_V2 = 0xe222fBE074A436145b255442D919E4E3A6c6a480; + address internal constant KYBERSWAP_ELASTIC_ROUTER_V2 = 0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4; + address internal constant KYBERSWAP_ELASTIC_TICK_FEES_READER_V2 = 0x8Fd8Cb948965d9305999D767A02bf79833EADbB3; + address internal constant COMPTROLLER = 0xDCB5A4b6Ee39447D700F4FA3303B1d1c25Ea9cA7; + address internal constant FPI_COMPTROLLER = 0x4EBd698a5dB2580587EE0000929128190524006c; + address internal constant CURVE4POOL = 0xe4ae3Ee65bb687045e401827b404FeE34BE4BA53; + address internal constant DYSTOPIA_STABLEV1_AMM___USDC_FRAX = 0x53227c83a98Ba1035FEd912Da6cE26a0c11C7C66; + address internal constant DYSTOPIA_VOLATILEV1_AMM___FXS_FRAX = 0xfC2e89aabD257471a461dd506188609B2Bec53Fa; + address internal constant FRAX3POOL = 0x5e5A23b52Cb48F5E70271Be83079cA5bC9c9e9ac; + address internal constant HOP_LP_USDC = 0x9D373d22FD091d7f9A6649EB067557cc12Fb1A0A; +} + +abstract contract AddressHelperPolygon is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89, "Constants.POLY_FRAX"); + vm.label(0x1a3acf6D19267E2d3e7f898f42803e90C9219062, "Constants.POLY_FXS"); + vm.label(0x411C9cDd0fBBa243488988f2A3005D6fFf126661, "Constants.POLY_FPI"); + vm.label(0x84F6FCeb8E4A3EB87768C4a111273C17b54D4411, "Constants.POLY_FPIS"); + vm.label(0xEe327F889d5947c1dc1934Bb208a1E792F953E96, "Constants.POLY_FRXETH"); + vm.label(0x6d1FdBB266fCc09A16a22016369210A15bb95761, "Constants.POLY_SFRXETH"); + vm.label(0x617430FF1C74faff0378726627F26a8704d03c8d, "Constants.POLY_BALANCER_FRXETH_BB_A_WETH_GAUGE"); + vm.label(0x0363a32D18c25a3FD19a0d00B02106C03d8b8182, "Constants.POLY_KYBERSWAP_ELASTIC_FRAX_USDC_POLYGON"); + vm.label(0xc425Fd9Ed3C892d849C9E1a971516da1C1B29696, "Constants.POLY_MSTABLE_FRAX_MUSD"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.POLY_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.POLY_CREWMEMBER"); + vm.label(0xC6525aC8fc37814Fd68216F1ea690b3dC2249e89, "Constants.POLY_DUMMY_TKN"); + vm.label(0xA621dC655fFBD0dB9cb2564529324E5750f2A4F0, "Constants.POLY_FERRY_TO_ARBITRUM"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.POLY_FIRST_OFFICER"); + vm.label( + 0x6f7F18C15B97dC9Fac48Ae7F986989F97D25dbc7, + "Constants.POLY_FRAXFERRY_V1__ETHEREUM_POLYGON__FRAX__POLY_SIDE" + ); + vm.label( + 0x2760a93993BaA3BC4d7C209db000d4685bdAD6B1, + "Constants.POLY_FRAXFERRY_V2__ETHEREUM_POLYGON__FRXETH__POLY_SIDE" + ); + vm.label( + 0x6f71Ea0e9679389854010eE48a7D237cB430DBA4, + "Constants.POLY_FRAXFERRY_V2__ETHEREUM_POLYGON__FXS__POLY_SIDE" + ); + vm.label( + 0x6728b24B4a4C42cabEe14a2BdFDc51271aa3Ae63, + "Constants.POLY_FRAXFERRY_V2__ETHEREUM_POLYGON__SFRXETH__POLY_SIDE" + ); + vm.label(0xAfe0C8318B67Ea8461350ABf7Bc82E5ce9Cf11D3, "Constants.POLY_COMBO_ORACLE"); + vm.label(0x86Cffe1fE0C09A0815Fe4Fd21956D24Af5ba4020, "Constants.POLY_COMBO_ORACLE_UNIV2_UNIV3"); + vm.label(0xfBCB0F967817c924f83e26e04F0FB28ED4d6276F, "Constants.POLY_COMBO_ORACLE_KYBERSWAP_ELASTIC_V2"); + vm.label(0xc2544A32872A91F4A553b404C6950e89De901fdb, "Constants.POLY_FRAXSWAP_FACTORY_V1"); + vm.label(0x54F454D747e037Da288dB568D4121117EAb34e79, "Constants.POLY_FRAXSWAP_FACTORY_V2"); + vm.label(0x0000000000000000000000000000000000000000, "Constants.POLY_FRAXSWAP_ROUTER_MULTI_HOP"); + vm.label(0x9bc2152fD37b196C0Ff3C16f5533767c9A983971, "Constants.POLY_FRAXSWAP_ROUTER_V1"); + vm.label(0xE52D0337904D4D0519EF7487e707268E1DB6495F, "Constants.POLY_FRAXSWAP_ROUTER_V2"); + vm.label(0x60AC6d228ffeeefF423879baA02091558e6480dc, "Constants.POLY_FRAXSWAP_V1_FRAX_FXS"); + vm.label(0x4F7267Af6DB7B284dF74BEA9e35402987D8C72a7, "Constants.POLY_FRAXSWAP_V1_FRAX_WMATIC"); + vm.label(0xd2105fE5f1B631daf2398e918549758Cd181cA7C, "Constants.POLY_FRAXSWAP_V2_FRAX_FXS"); + vm.label(0xA964b92C690f0B8efad5B46a278A84bD0EF8AC01, "Constants.POLY_FRAXSWAP_V2_FRAX_WMATIC"); + vm.label(0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A, "Constants.POLY_KYBERSWAP_ELASTIC_FACTORY_V2"); + vm.label(0xe222fBE074A436145b255442D919E4E3A6c6a480, "Constants.POLY_KYBERSWAP_ELASTIC_POS_MGR_V2"); + vm.label(0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4, "Constants.POLY_KYBERSWAP_ELASTIC_ROUTER_V2"); + vm.label(0x8Fd8Cb948965d9305999D767A02bf79833EADbB3, "Constants.POLY_KYBERSWAP_ELASTIC_TICK_FEES_READER_V2"); + vm.label(0xDCB5A4b6Ee39447D700F4FA3303B1d1c25Ea9cA7, "Constants.POLY_COMPTROLLER"); + vm.label(0x4EBd698a5dB2580587EE0000929128190524006c, "Constants.POLY_FPI_COMPTROLLER"); + vm.label(0xe4ae3Ee65bb687045e401827b404FeE34BE4BA53, "Constants.POLY_CURVE4POOL"); + vm.label(0x53227c83a98Ba1035FEd912Da6cE26a0c11C7C66, "Constants.POLY_DYSTOPIA_STABLEV1_AMM___USDC_FRAX"); + vm.label(0xfC2e89aabD257471a461dd506188609B2Bec53Fa, "Constants.POLY_DYSTOPIA_VOLATILEV1_AMM___FXS_FRAX"); + vm.label(0x5e5A23b52Cb48F5E70271Be83079cA5bC9c9e9ac, "Constants.POLY_FRAX3POOL"); + vm.label(0x9D373d22FD091d7f9A6649EB067557cc12Fb1A0A, "Constants.POLY_HOP_LP_USDC"); + } +} diff --git a/src/contracts/chain-constants/PolygonzkEVM.sol b/src/contracts/chain-constants/PolygonzkEVM.sol new file mode 100644 index 0000000..c17931e --- /dev/null +++ b/src/contracts/chain-constants/PolygonzkEVM.sol @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +// **NOTE** Generated code, do not modify. Run 'npm run generate:constants'. + +import { TestBase } from "forge-std/Test.sol"; + +library PolygonzkEVM { + address internal constant FRAX = 0xFf8544feD5379D9ffa8D47a74cE6b91e632AC44D; + address internal constant FXS = 0x6b856a14CeA1d7dCfaF80fA6936c0b75972cCacE; + address internal constant FPI = 0x7E5845b1bFc9e6620893e48346bdB8541995a8D9; + address internal constant FPIS = 0xdE7df9036801676aF0cB73661d93a098c0085fba; + address internal constant FRXETH = 0xCf7eceE185f19e2E970a301eE37F93536ed66179; + address internal constant SFRXETH = 0x7c2aF1Fb79D0b1c67d4eb802d44C673D0A1D2C04; + address internal constant SFRAX = 0x2C37fb628b35dfdFD515d41B0cAAe11B542773C3; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRAX__POLYZKEVM_SIDE = + 0xEaBd7625056bbD2c260f90D0B08759C69d971a5B; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FXS__POLYZKEVM_SIDE = + 0x96720C1E893bB69C14291d8a85475ED9BC484b26; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPI__POLYZKEVM_SIDE = + 0xA31001fbe938C520C27204b984817d998bAeA885; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPIS__POLYZKEVM_SIDE = + 0x3d1bc21F8991091538FfEf535Fe96A449794461C; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRXETH__POLYZKEVM_SIDE = + 0xA711F85672899331900359e5b89848A30BeEBDBe; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRXETH__POLYZKEVM_SIDE = + 0x4DB406906835ca0B28bFbef344c7d2C707BC4947; + address internal constant FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRAX__POLYZKEVM_SIDE = + 0xE30521fe7f3bEB6Ad556887b50739d6C7CA667E6; + address internal constant CAPTAIN = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant FIRST_OFFICER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant CREWMEMBER = 0xBB437059584e30598b3AF0154472E47E6e2a45B9; + address internal constant COMBO_ORACLE = 0x030BD43af99cb72B51dA233A73F7697Cd2461C0b; + address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0x967d0c5f7362A54b156cf2831Fb17dA8681FAD7D; +} + +abstract contract AddressHelperPolygonzkEVM is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { + vm.label(0xFf8544feD5379D9ffa8D47a74cE6b91e632AC44D, "Constants.POLY_ZKEVM_FRAX"); + vm.label(0x6b856a14CeA1d7dCfaF80fA6936c0b75972cCacE, "Constants.POLY_ZKEVM_FXS"); + vm.label(0x7E5845b1bFc9e6620893e48346bdB8541995a8D9, "Constants.POLY_ZKEVM_FPI"); + vm.label(0xdE7df9036801676aF0cB73661d93a098c0085fba, "Constants.POLY_ZKEVM_FPIS"); + vm.label(0xCf7eceE185f19e2E970a301eE37F93536ed66179, "Constants.POLY_ZKEVM_FRXETH"); + vm.label(0x7c2aF1Fb79D0b1c67d4eb802d44C673D0A1D2C04, "Constants.POLY_ZKEVM_SFRXETH"); + vm.label(0x2C37fb628b35dfdFD515d41B0cAAe11B542773C3, "Constants.POLY_ZKEVM_SFRAX"); + vm.label( + 0xEaBd7625056bbD2c260f90D0B08759C69d971a5B, + "Constants.POLY_ZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRAX__POLYZKEVM_SIDE" + ); + vm.label( + 0x96720C1E893bB69C14291d8a85475ED9BC484b26, + "Constants.POLY_ZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FXS__POLYZKEVM_SIDE" + ); + vm.label( + 0xA31001fbe938C520C27204b984817d998bAeA885, + "Constants.POLY_ZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPI__POLYZKEVM_SIDE" + ); + vm.label( + 0x3d1bc21F8991091538FfEf535Fe96A449794461C, + "Constants.POLY_ZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPIS__POLYZKEVM_SIDE" + ); + vm.label( + 0xA711F85672899331900359e5b89848A30BeEBDBe, + "Constants.POLY_ZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRXETH__POLYZKEVM_SIDE" + ); + vm.label( + 0x4DB406906835ca0B28bFbef344c7d2C707BC4947, + "Constants.POLY_ZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRXETH__POLYZKEVM_SIDE" + ); + vm.label( + 0xE30521fe7f3bEB6Ad556887b50739d6C7CA667E6, + "Constants.POLY_ZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRAX__POLYZKEVM_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.POLY_ZKEVM_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.POLY_ZKEVM_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.POLY_ZKEVM_CREWMEMBER"); + vm.label(0x030BD43af99cb72B51dA233A73F7697Cd2461C0b, "Constants.POLY_ZKEVM_COMBO_ORACLE"); + vm.label(0x967d0c5f7362A54b156cf2831Fb17dA8681FAD7D, "Constants.POLY_ZKEVM_COMBO_ORACLE_UNIV2_UNIV3"); + } +} From 25c602c15e10a098f4de0e2c57c27a22f8440c16 Mon Sep 17 00:00:00 2001 From: travis Date: Tue, 18 Jun 2024 13:07:00 -0700 Subject: [PATCH 4/4] fix build --- scripts/constants/fraxtal-l2.ts | 2 +- scripts/constants/mainnet.ts | 4 +- src/contracts/chain-constants/Mainnet.sol | 7 ++- src/test/BaseTest.t.sol | 71 ++++++++++++----------- 4 files changed, 47 insertions(+), 37 deletions(-) diff --git a/scripts/constants/fraxtal-l2.ts b/scripts/constants/fraxtal-l2.ts index 94e419b..6cd7960 100644 --- a/scripts/constants/fraxtal-l2.ts +++ b/scripts/constants/fraxtal-l2.ts @@ -142,7 +142,7 @@ export const FRAXTAL_SFRXETH_MERKLE_PRICE_SOURCE_OLD = "0xa560E014501f96752726f6 export const L1VEFXS_IMPLEMENTATION_OWNER = "0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6"; export const L1VEFXS_PROXY_ADMIN_OWNER = "0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6"; export const L1VEFXS_PROXY_ADMIN = "0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F"; -export const L1VEFXS_IMPL_V1 = "0xbdb5088a8e89e9ec83e82caa01ec20ed976459ed"; +export const L1VEFXS_IMPL_V1 = "0xBDB5088A8e89e9ec83e82caA01EC20Ed976459eD"; export const L1VEFXS_PROXY = "0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F"; export const L1VEFXS_TOTAL_SUPPLY_ORACLE = "0xaBBeFFb0d24EAcFFD3Be194471F0FD8aaaa3e5f8"; diff --git a/scripts/constants/mainnet.ts b/scripts/constants/mainnet.ts index 4f5f613..c188a0c 100644 --- a/scripts/constants/mainnet.ts +++ b/scripts/constants/mainnet.ts @@ -1,4 +1,5 @@ // Canonicals +export const CHAIN_ID = 1; export const FRAX = "0x853d955aCEf822Db058eb8505911ED77F175b99e"; export const FXS = "0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0"; export const FPI = "0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E"; @@ -265,7 +266,7 @@ export const COMBO_ORACLE = "0x878f2059435a19C79c20318ee57657bF4543B6d4"; export const COMBO_ORACLE_KYBERSWAP_ELASTIC = "0x734fd1fD1f3720379f52cB9d8168d76Cd1ca4A73"; export const COMBO_ORACLE_KYBERSWAP_ELASTIC_V2 = "0xc3a483Bb5F96bC4E6104325aa1A229A8E29166B3"; export const COMBO_ORACLE_UNIV2_UNIV3 = "0x1cBE07F3b3bf3BDe44d363cecAecfe9a98EC2dff"; -export const COMPTROLLER_ADDRESS = "0x168200cF227D4543302686124ac28aE0eaf2cA0B"; +export const FRAXLEND_COMPTROLLER_ADDRESS = "0x168200cF227D4543302686124ac28aE0eaf2cA0B"; export const CONVEX_WRAPPER_FRAX_USDC_CURVE_POOL_LP = "0x8A2112B42AF1F997002FBAfF77dd09F42A281e8d"; export const CONVEX_WRAPPER_FRXETH_ETH_CURVE_POOL_LP = "0x45127c7fA0c3Ce6A18fEc9604D96eDfBBc8A9700"; export const CONVEX_WRAPPER_FRAX_USDC_FRAXLEND_LP_OLD = "0x54a3A6aFd87F10Eea4Acc2A067A2C0b612B6D315"; @@ -579,6 +580,7 @@ export const YIELDSPACE_AMO = "0x8971946467a77b798762823434c0f407d20F9df9"; export const ADVISORS_MULTISIG = "0x874a873e4891fB760EdFDae0D26cA2c00922C404"; export const BEE_USER = "0x733371d7C15ACECF9e120dd037D6BcDb6E069148"; export const COMMUNITY_MULTISIG = "0x63278bF9AcdFC9fA65CFa2940b89A34ADfbCb4A1"; +export const COMPTROLLER = "0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27"; export const COMPTROLLER_MULTISIG = "0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27"; export const CURVEAMO_OPERATOR_ADDRESS = "0x8D8Cb63BcB8AD89Aa750B9f80Aa8Fa4CfBcC8E0C"; export const FPI_COMPTROLLER_MULTISIG = "0x6A7efa964Cf6D9Ab3BC3c47eBdDB853A8853C502"; diff --git a/src/contracts/chain-constants/Mainnet.sol b/src/contracts/chain-constants/Mainnet.sol index a827818..6a39e9b 100644 --- a/src/contracts/chain-constants/Mainnet.sol +++ b/src/contracts/chain-constants/Mainnet.sol @@ -6,6 +6,7 @@ pragma solidity >=0.8.0; import { TestBase } from "forge-std/Test.sol"; library Mainnet { + uint256 internal constant CHAIN_ID = 1; address internal constant FRAX = 0x853d955aCEf822Db058eb8505911ED77F175b99e; address internal constant FXS = 0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0; address internal constant FPI = 0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E; @@ -315,7 +316,7 @@ library Mainnet { address internal constant COMBO_ORACLE_KYBERSWAP_ELASTIC = 0x734fd1fD1f3720379f52cB9d8168d76Cd1ca4A73; address internal constant COMBO_ORACLE_KYBERSWAP_ELASTIC_V2 = 0xc3a483Bb5F96bC4E6104325aa1A229A8E29166B3; address internal constant COMBO_ORACLE_UNIV2_UNIV3 = 0x1cBE07F3b3bf3BDe44d363cecAecfe9a98EC2dff; - address internal constant COMPTROLLER_ADDRESS = 0x168200cF227D4543302686124ac28aE0eaf2cA0B; + address internal constant FRAXLEND_COMPTROLLER_ADDRESS = 0x168200cF227D4543302686124ac28aE0eaf2cA0B; address internal constant CONVEX_WRAPPER_FRAX_USDC_CURVE_POOL_LP = 0x8A2112B42AF1F997002FBAfF77dd09F42A281e8d; address internal constant CONVEX_WRAPPER_FRXETH_ETH_CURVE_POOL_LP = 0x45127c7fA0c3Ce6A18fEc9604D96eDfBBc8A9700; address internal constant CONVEX_WRAPPER_FRAX_USDC_FRAXLEND_LP_OLD = 0x54a3A6aFd87F10Eea4Acc2A067A2C0b612B6D315; @@ -619,6 +620,7 @@ library Mainnet { address internal constant ADVISORS_MULTISIG = 0x874a873e4891fB760EdFDae0D26cA2c00922C404; address internal constant BEE_USER = 0x733371d7C15ACECF9e120dd037D6BcDb6E069148; address internal constant COMMUNITY_MULTISIG = 0x63278bF9AcdFC9fA65CFa2940b89A34ADfbCb4A1; + address internal constant COMPTROLLER = 0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27; address internal constant COMPTROLLER_MULTISIG = 0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27; address internal constant CURVEAMO_OPERATOR_ADDRESS = 0x8D8Cb63BcB8AD89Aa750B9f80Aa8Fa4CfBcC8E0C; address internal constant FPI_COMPTROLLER_MULTISIG = 0x6A7efa964Cf6D9Ab3BC3c47eBdDB853A8853C502; @@ -1514,7 +1516,7 @@ abstract contract AddressHelperMainnet is TestBase { vm.label(0x734fd1fD1f3720379f52cB9d8168d76Cd1ca4A73, "Constants.ETH_COMBO_ORACLE_KYBERSWAP_ELASTIC"); vm.label(0xc3a483Bb5F96bC4E6104325aa1A229A8E29166B3, "Constants.ETH_COMBO_ORACLE_KYBERSWAP_ELASTIC_V2"); vm.label(0x1cBE07F3b3bf3BDe44d363cecAecfe9a98EC2dff, "Constants.ETH_COMBO_ORACLE_UNIV2_UNIV3"); - vm.label(0x168200cF227D4543302686124ac28aE0eaf2cA0B, "Constants.ETH_COMPTROLLER_ADDRESS"); + vm.label(0x168200cF227D4543302686124ac28aE0eaf2cA0B, "Constants.ETH_FRAXLEND_COMPTROLLER_ADDRESS"); vm.label(0x8A2112B42AF1F997002FBAfF77dd09F42A281e8d, "Constants.ETH_CONVEX_WRAPPER_FRAX_USDC_CURVE_POOL_LP"); vm.label(0x45127c7fA0c3Ce6A18fEc9604D96eDfBBc8A9700, "Constants.ETH_CONVEX_WRAPPER_FRXETH_ETH_CURVE_POOL_LP"); vm.label(0x54a3A6aFd87F10Eea4Acc2A067A2C0b612B6D315, "Constants.ETH_CONVEX_WRAPPER_FRAX_USDC_FRAXLEND_LP_OLD"); @@ -1827,6 +1829,7 @@ abstract contract AddressHelperMainnet is TestBase { vm.label(0x874a873e4891fB760EdFDae0D26cA2c00922C404, "Constants.ETH_ADVISORS_MULTISIG"); vm.label(0x733371d7C15ACECF9e120dd037D6BcDb6E069148, "Constants.ETH_BEE_USER"); vm.label(0x63278bF9AcdFC9fA65CFa2940b89A34ADfbCb4A1, "Constants.ETH_COMMUNITY_MULTISIG"); + vm.label(0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27, "Constants.ETH_COMPTROLLER"); vm.label(0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27, "Constants.ETH_COMPTROLLER_MULTISIG"); vm.label(0x8D8Cb63BcB8AD89Aa750B9f80Aa8Fa4CfBcC8E0C, "Constants.ETH_CURVEAMO_OPERATOR_ADDRESS"); vm.label(0x6A7efa964Cf6D9Ab3BC3c47eBdDB853A8853C502, "Constants.ETH_FPI_COMPTROLLER_MULTISIG"); diff --git a/src/test/BaseTest.t.sol b/src/test/BaseTest.t.sol index 5755dd9..5b3602a 100644 --- a/src/test/BaseTest.t.sol +++ b/src/test/BaseTest.t.sol @@ -4,12 +4,17 @@ pragma solidity ^0.8.19; import "frax-std/FraxTest.sol"; import "../contracts/Counter.sol"; import "./Helpers.sol"; -import "../Constants.sol" as Constants; -contract BaseTest is FraxTest, Constants.Helper { +import { Mainnet } from "src/contracts/chain-constants/Mainnet.sol"; +import { FraxtalL1Devnet } from "src/contracts/chain-constants/FraxtalL1Devnet.sol"; +import { FraxtalL2 } from "src/contracts/chain-constants/FraxtalL2.sol"; +import { FraxtalTestnetL1 } from "src/contracts/chain-constants/FraxtalTestnetL1.sol"; +import { FraxtalTestnetL2 } from "src/contracts/chain-constants/FraxtalTestnetL2.sol"; + +contract BaseTest is FraxTest { Counter public counter; - address timelock = Constants.Mainnet.TIMELOCK_ADDRESS; + address timelock = Mainnet.TIMELOCK_ADDRESS; // Fraxtal / Fraxtal Testnet L1 & L2 addresses address public PROXY_ADMIN; address public COMPTROLLER; @@ -29,38 +34,38 @@ contract BaseTest is FraxTest, Constants.Helper { constructor() { // Setup fraxtal / fraxtal testnet L1 addresses - if (block.chainid == Constants.FraxtalL1.CHAIN_ID) { - PROXY_ADMIN = Constants.FraxtalL1.PROXY_ADMIN; - COMPTROLLER = Constants.FraxtalL1.COMPTROLLER; - ADDRESS_MANAGER = Constants.FraxtalL1.ADDRESS_MANAGER; - L1_CROSS_DOMAIN_MESSENGER_PROXY = Constants.FraxtalL1.L1_CROSS_DOMAIN_MESSENGER_PROXY; - L1_ERC721_BRIDGE_PROXY = Constants.FraxtalL1.L1_ERC721_BRIDGE_PROXY; - L1_STANDARD_BRIDGE_PROXY = Constants.FraxtalL1.L1_STANDARD_BRIDGE_PROXY; - L2_OUTPUT_ORACLE_PROXY = Constants.FraxtalL1.L2_OUTPUT_ORACLE_PROXY; - OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = Constants.FraxtalL1.OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY; - OPTIMISM_PORTAL_PROXY = Constants.FraxtalL1.OPTIMISM_PORTAL_PROXY; - SYSTEM_CONFIG_PROXY = Constants.FraxtalL1.SYSTEM_CONFIG_PROXY; - } else if (block.chainid == Constants.FraxtalTestnetL1.CHAIN_ID) { - PROXY_ADMIN = Constants.FraxtalTestnetL1.PROXY_ADMIN; - COMPTROLLER = Constants.FraxtalTestnetL1.COMPTROLLER; - ADDRESS_MANAGER = Constants.FraxtalTestnetL1.ADDRESS_MANAGER; - L1_CROSS_DOMAIN_MESSENGER_PROXY = Constants.FraxtalTestnetL1.L1_CROSS_DOMAIN_MESSENGER_PROXY; - L1_ERC721_BRIDGE_PROXY = Constants.FraxtalTestnetL1.L1_ERC721_BRIDGE_PROXY; - L1_STANDARD_BRIDGE_PROXY = Constants.FraxtalTestnetL1.L1_STANDARD_BRIDGE_PROXY; - L2_OUTPUT_ORACLE_PROXY = Constants.FraxtalTestnetL1.L2_OUTPUT_ORACLE_PROXY; - OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = Constants.FraxtalTestnetL1.OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY; - OPTIMISM_PORTAL_PROXY = Constants.FraxtalTestnetL1.OPTIMISM_PORTAL_PROXY; - SYSTEM_CONFIG_PROXY = Constants.FraxtalTestnetL1.SYSTEM_CONFIG_PROXY; + if (block.chainid == Mainnet.CHAIN_ID) { + PROXY_ADMIN = Mainnet.PROXY_ADMIN; + COMPTROLLER = Mainnet.COMPTROLLER; + ADDRESS_MANAGER = Mainnet.ADDRESS_MANAGER; + L1_CROSS_DOMAIN_MESSENGER_PROXY = Mainnet.L1_CROSS_DOMAIN_MESSENGER_PROXY; + L1_ERC721_BRIDGE_PROXY = Mainnet.L1_ERC721_BRIDGE_PROXY; + L1_STANDARD_BRIDGE_PROXY = Mainnet.L1_STANDARD_BRIDGE_PROXY; + L2_OUTPUT_ORACLE_PROXY = Mainnet.L2_OUTPUT_ORACLE_PROXY; + OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = Mainnet.OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY; + OPTIMISM_PORTAL_PROXY = Mainnet.OPTIMISM_PORTAL_PROXY; + SYSTEM_CONFIG_PROXY = Mainnet.SYSTEM_CONFIG_PROXY; + } else if (block.chainid == FraxtalTestnetL1.CHAIN_ID) { + PROXY_ADMIN = FraxtalTestnetL1.PROXY_ADMIN; + COMPTROLLER = FraxtalTestnetL1.COMPTROLLER; + ADDRESS_MANAGER = FraxtalTestnetL1.ADDRESS_MANAGER; + L1_CROSS_DOMAIN_MESSENGER_PROXY = FraxtalTestnetL1.L1_CROSS_DOMAIN_MESSENGER_PROXY; + L1_ERC721_BRIDGE_PROXY = FraxtalTestnetL1.L1_ERC721_BRIDGE_PROXY; + L1_STANDARD_BRIDGE_PROXY = FraxtalTestnetL1.L1_STANDARD_BRIDGE_PROXY; + L2_OUTPUT_ORACLE_PROXY = FraxtalTestnetL1.L2_OUTPUT_ORACLE_PROXY; + OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = FraxtalTestnetL1.OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY; + OPTIMISM_PORTAL_PROXY = FraxtalTestnetL1.OPTIMISM_PORTAL_PROXY; + SYSTEM_CONFIG_PROXY = FraxtalTestnetL1.SYSTEM_CONFIG_PROXY; } // Setup fraxtal / fraxtal testnet L2 addresses - if (block.chainid == Constants.FraxtalL2.CHAIN_ID) { - FRAXSWAP_FACTORY = Constants.FraxtalL2.FRAXSWAP_FACTORY; - FRAXSWAP_ROUTER = Constants.FraxtalL2.FRAXSWAP_ROUTER; - FRAXSWAP_ROUTER_MULTIHOP = Constants.FraxtalL2.FRAXSWAP_ROUTER_MULTIHOP; - } else if (block.chainid == Constants.FraxtalTestnetL2.CHAIN_ID) { - FRAXSWAP_FACTORY = Constants.FraxtalTestnetL2.FRAXSWAP_FACTORY; - FRAXSWAP_ROUTER = Constants.FraxtalTestnetL2.FRAXSWAP_ROUTER; - FRAXSWAP_ROUTER_MULTIHOP = Constants.FraxtalTestnetL2.FRAXSWAP_ROUTER_MULTIHOP; + if (block.chainid == FraxtalL2.CHAIN_ID) { + FRAXSWAP_FACTORY = FraxtalL2.FRAXSWAP_FACTORY; + FRAXSWAP_ROUTER = FraxtalL2.FRAXSWAP_ROUTER; + FRAXSWAP_ROUTER_MULTIHOP = FraxtalL2.FRAXSWAP_ROUTER_MULTIHOP; + } else if (block.chainid == FraxtalTestnetL2.CHAIN_ID) { + FRAXSWAP_FACTORY = FraxtalTestnetL2.FRAXSWAP_FACTORY; + FRAXSWAP_ROUTER = FraxtalTestnetL2.FRAXSWAP_ROUTER; + FRAXSWAP_ROUTER_MULTIHOP = FraxtalTestnetL2.FRAXSWAP_ROUTER_MULTIHOP; } } }