From 4c45e6b6d03de178629cb92d352827c1d9e8be3f Mon Sep 17 00:00:00 2001 From: Carter Carlson Date: Mon, 14 Oct 2024 15:54:34 -0700 Subject: [PATCH] Initial commit --- .env.EXAMPLE | 15 + .github/workflows/main.yml | 32 + .gitignore | 22 + .husky/_/.gitignore | 1 + .husky/pre-commit | 1 + .lintstagedrc | 8 + .npmrc | 1 + .prettierignore | 9 + .prettierrc.json | 21 + .solhint.json | 24 + .solhintignore | 3 + README.md | 40 + foundry.toml | 80 + package.json | 39 + pnpm-lock.yaml | 2201 +++++++++ remappings.txt | 4 + scripts/constants/TEMPLATE.ts | 17 + scripts/constants/arbitrum.ts | 153 + scripts/constants/avalanche.ts | 62 + scripts/constants/bsc.ts | 58 + scripts/constants/fantom.ts | 65 + scripts/constants/fraxtal-devnet-l1.ts | 38 + scripts/constants/fraxtal-devnet-l2.ts | 34 + scripts/constants/fraxtal-l2.ts | 188 + scripts/constants/fraxtal-testnet-l1.ts | 30 + scripts/constants/fraxtal-testnet-l2.ts | 37 + scripts/constants/holesky.ts | 49 + scripts/constants/index.ts | 16 + scripts/constants/mainnet.ts | 1034 +++++ scripts/constants/moonbeam.ts | 43 + scripts/constants/moonriver.ts | 44 + scripts/constants/optimism.ts | 54 + scripts/constants/polygon-zkevm.ts | 38 + scripts/constants/polygon.ts | 58 + scripts/generateConstants.ts | 127 + src/Constants.sol | 3946 +++++++++++++++++ src/contracts/Counter.sol | 20 + 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 | 345 ++ .../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 | 2279 ++++++++++ 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 + src/script/DeployCounter.s.sol | 20 + src/test/.solhint.json | 27 + src/test/BaseTest.t.sol | 71 + src/test/Counter/TestIncrement.t.sol | 30 + src/test/Counter/TestSetNumber.t.sol | 35 + src/test/Helpers.sol | 13 + src/test/helpers/.gitkeep | 0 tsconfig.json | 22 + 61 files changed, 12885 insertions(+) create mode 100644 .env.EXAMPLE create mode 100644 .github/workflows/main.yml create mode 100644 .gitignore create mode 100644 .husky/_/.gitignore create mode 100755 .husky/pre-commit create mode 100644 .lintstagedrc create mode 100644 .npmrc create mode 100644 .prettierignore create mode 100644 .prettierrc.json create mode 100644 .solhint.json create mode 100644 .solhintignore create mode 100644 README.md create mode 100644 foundry.toml create mode 100644 package.json create mode 100644 pnpm-lock.yaml create mode 100644 remappings.txt create mode 100644 scripts/constants/TEMPLATE.ts create mode 100644 scripts/constants/arbitrum.ts create mode 100644 scripts/constants/avalanche.ts create mode 100644 scripts/constants/bsc.ts create mode 100644 scripts/constants/fantom.ts create mode 100644 scripts/constants/fraxtal-devnet-l1.ts create mode 100644 scripts/constants/fraxtal-devnet-l2.ts create mode 100644 scripts/constants/fraxtal-l2.ts create mode 100644 scripts/constants/fraxtal-testnet-l1.ts create mode 100644 scripts/constants/fraxtal-testnet-l2.ts create mode 100644 scripts/constants/holesky.ts create mode 100644 scripts/constants/index.ts create mode 100644 scripts/constants/mainnet.ts create mode 100644 scripts/constants/moonbeam.ts create mode 100644 scripts/constants/moonriver.ts create mode 100644 scripts/constants/optimism.ts create mode 100644 scripts/constants/polygon-zkevm.ts create mode 100644 scripts/constants/polygon.ts create mode 100644 scripts/generateConstants.ts create mode 100644 src/Constants.sol create mode 100644 src/contracts/Counter.sol 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 create mode 100644 src/script/DeployCounter.s.sol create mode 100644 src/test/.solhint.json create mode 100644 src/test/BaseTest.t.sol create mode 100644 src/test/Counter/TestIncrement.t.sol create mode 100644 src/test/Counter/TestSetNumber.t.sol create mode 100644 src/test/Helpers.sol create mode 100644 src/test/helpers/.gitkeep create mode 100644 tsconfig.json diff --git a/.env.EXAMPLE b/.env.EXAMPLE new file mode 100644 index 0000000..369bce8 --- /dev/null +++ b/.env.EXAMPLE @@ -0,0 +1,15 @@ +PK=0x{$INSERT_KEY_HERE} + +MAINNET_RPC_URL=https://eth-mainnet.g.alchemy.com/v2/{$INSERT_KEY_HERE} +ETHERSCAN_API_URL=https://api.etherscan.io/api +ETHERSCAN_API_KEY={$INSERT_KEY_HERE} + +POLYGON_RPC_URL=https://polygon-mainnet.g.alchemy.com/v2/{$INSERT_KEY_HERE} +POLYGONSCAN_API_URL=https://api.polygonscan.com/api +POLYGONSCAN_API_KEY={$INSERT_KEY_HERE} + +FRAXTAL_RPC_URL=https://rpc.frax.com +FRAXTAL_TESTNET_RPC_URL=https://rpc.testnet.frax.com +FRAXSCAN_API_URL=https://api.fraxscan.com/api +FRAXSCAN_TESTNET_API_URL=https://api-holesky.fraxscan.com/api +FRAXSCAN_API_KEY={$INSERT_KEY_HERE} \ No newline at end of file diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..f3a2ce0 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,32 @@ +# This workflow will do a clean install of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions +name: Node.js CI +on: + push: + branches: master + pull_request: + branches: master +jobs: + build: + timeout-minutes: 60 + runs-on: ubuntu-latest + env: + MAINNET_URL: ${{ secrets.MAINNET_RPC_URL }} + FOUNDRY_PROFILE: "test" + steps: + - uses: actions/setup-node@v2 + with: + node-version: 16.x + - uses: actions/checkout@v2 + - uses: pnpm/action-setup@v2 + with: + version: 8.11.0 + + - name: Install Foundry + uses: foundry-rs/foundry-toolchain@v1 + with: + version: nightly + - run: pnpm i + - run: pnpm lint:check + - run: forge build + - run: forge test diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..f558e1a --- /dev/null +++ b/.gitignore @@ -0,0 +1,22 @@ +# Compiler files +cache/ +out/ + +# Ignores development broadcast logs +!/broadcast +/broadcast/*/31337/ +/broadcast/**/dry-run/ + +# Docs +docs/ + +# Dotenv file +.env + +#misc +node_modules +.DS_Store +.vscode +lcov.info +report/ +.idea/ diff --git a/.husky/_/.gitignore b/.husky/_/.gitignore new file mode 100644 index 0000000..f59ec20 --- /dev/null +++ b/.husky/_/.gitignore @@ -0,0 +1 @@ +* \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit new file mode 100755 index 0000000..2312dc5 --- /dev/null +++ b/.husky/pre-commit @@ -0,0 +1 @@ +npx lint-staged diff --git a/.lintstagedrc b/.lintstagedrc new file mode 100644 index 0000000..58c6efb --- /dev/null +++ b/.lintstagedrc @@ -0,0 +1,8 @@ +{ + "*.{js,json,ts,yaml,yml}": [ + "prettier --config ./.prettierrc.json --write" + ], + "*.sol": [ + "forge fmt", "prettier --config ./.prettierrc.json --write" + ] +} diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..829951d --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +public-hoist-pattern=* \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..b079347 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,9 @@ +# directories +out +broadcast +cache +artifacts + +# files +*.env + diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..5fdc22b --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,21 @@ +{ + "arrowParens": "always", + "bracketSpacing": true, + "endOfLine": "auto", + "printWidth": 120, + "singleQuote": false, + "tabWidth": 2, + "trailingComma": "all", + "plugins": ["prettier-plugin-svelte", "prettier-plugin-solidity"], + "overrides": [ + { + "files": "*.sol", + "options": { + "bracketSpacing": true, + "tabWidth": 4, + "singleQuote": false, + "parser": "solidity-parse" + } + } + ] +} diff --git a/.solhint.json b/.solhint.json new file mode 100644 index 0000000..c478c7c --- /dev/null +++ b/.solhint.json @@ -0,0 +1,24 @@ +{ + "extends": "solhint:recommended", + "plugins": ["prettier"], + "rules": { + "code-complexity": ["warn", 8], + "compiler-version": ["warn", ">=0.8.0"], + "const-name-snakecase": "warn", + "constructor-syntax": "error", + "func-visibility": ["warn", { "ignoreConstructors": true }], + "max-line-length": ["warn", 120], + "not-rely-on-time": "warn", + "prettier/prettier": [ + "warn", + { + "endOfLine": "auto" + } + ], + "reason-string": ["warn", { "maxLength": 32 }], + "func-param-name-mixedCase": "warn", + "named-parameters-mapping": "warn", + "private-vars-leading-underscore": "warn", + "no-console": "warn" + } +} diff --git a/.solhintignore b/.solhintignore new file mode 100644 index 0000000..16dc0c0 --- /dev/null +++ b/.solhintignore @@ -0,0 +1,3 @@ +# directories +**/artifacts +**/node_modules diff --git a/README.md b/README.md new file mode 100644 index 0000000..d682b06 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +# Frax Template + +## Optional Setup +Add: +``` +function profile() { + FOUNDRY_PROFILE=$1 "${@:2}"} +``` +To easily execute specific foundry profiles like `profile test forge test -w` + +## Installation +`pnpm i` + +## Compile +`forge build` + +## Test +`profile test forge test` + +`profile test forge test -w` watch for file changes + +`profile test forge test -vvv` show stack traces for failed tests + +## Deploy +- Update environment variables where needed +- `source .env` +``` +`forge script src/script/{ScriptName}.s.sol \ + --rpc-url ${mainnet || fraxtal || fraxtal_testnet || polygon} \ + --etherscan-api-key {$ETHERSCAN_API_KEY || FRAXSCAN_API_KEY || POLYGONSCAN_API_KEY} \ + --broadcast --verify --watch +``` + +## Tooling +This repo uses the following tools: +- frax-standard-solidity for testing and scripting helpers +- forge fmt & prettier for code formatting +- lint-staged & husky for pre-commit formatting checks +- solhint for code quality and style hints +- foundry for compiling, testing, and deploying diff --git a/foundry.toml b/foundry.toml new file mode 100644 index 0000000..e55c3bb --- /dev/null +++ b/foundry.toml @@ -0,0 +1,80 @@ +# To easily switch between profiles add the following to your +# .bashrc or .zshrc: function profile() { FOUNDRY_PROFILE=$1 "${@:2}" } +# Then you can invoke like this: `profile test forge build -w` + +# See more config options https://github.com/foundry-rs/foundry/tree/master/config + +[profile.default] +# The source directory +src = 'src/contracts' +# the test directoy +test = 'src/test' +# The artifact directory +out = 'out' +# The script directory +script = "src/script" +# A list of paths to look for libraries in +libs = ['lib', 'node_modules'] +# Whether or not to enable `vm.ffi` +ffi = false +# Enables or disables the optimizer +optimizer = false +# The number of optimizer runs +optimizer_runs = 200 +# use the via-ir compiler flag +via_ir = false +# include metadata hash in bytecode +bytecode_hash = "none" +# Whether to append the metadata hash to the bytecode +cbor_metadata = false +# Contracts to track with --gas-report +#gas_reports = [] + +[fuzz] +# Amount of runs per fuzz test +runs = 1024 + +[profile.src] +test = "_" # Makes building faster +script = "_" +optimizer = false + +[profile.script] +src = "_" +test = "_" +optimizer = false + +[profile.deploy] +src = "_" +test = "_" +optimizer = true +optimizer_runs = 1_000_000 +via_ir = true + +[profile.test] +src = "_" +script = "_" +optimizer = false +build_info = false +extra_output = [] +verbosity = 3 +via_ir = false + +[fmt] +line_length = 1000 # This gets overriden by prettier afterwards +tab_width = 4 +bracket_spacing = true +int_types = "long" +number_underscore = "thousands" + +[rpc_endpoints] +mainnet = "${MAINNET_RPC_URL}" +polygon = "${POLYGON_RPC_URL}" +fraxtal = "${FRAXTAL_RPC_URL}" +fraxtal_testnet = "${FRAXTAL_TESTNET_RPC_URL}" + +[etherscan] +mainnet = { key = "${ETHERSCAN_API_KEY}", url = "${ETHERSCAN_API_URL}" } +polygon = { key = "${POLYGONSCAN_API_KEY}", url = "${POLYGONSCAN_API_URL}" } +fraxtal = { key = "${FRAXSCAN_API_KEY}", url = "${FRAXSCAN_API_URL}", chain=252 } +fraxtal_testnet = { key = "${FRAXSCAN_API_KEY}", url = "${FRAXSCAN_TESTNET_API_URL}", chain=2522 } diff --git a/package.json b/package.json new file mode 100644 index 0000000..cccc6f5 --- /dev/null +++ b/package.json @@ -0,0 +1,39 @@ +{ + "name": "frax-template", + "version": "1.3.0", + "description": "", + "directories": { + "lib": "lib", + "test": "test" + }, + "scripts": { + "lint:check": "prettier --check '**/*.(sol)' --ignore-path=.gitignore", + "lint:fix-all": "prettier --write '**/*.(sol)' --ignore-path=.gitignore", + "test": "forge test", + "prepare": "husky install", + "format": "forge fmt src && prettier --config ./.prettierrc.json --write src && forge fmt test && prettier --config ./.prettierrc.json --write test", + "generate:constants": "ts-node -T scripts/generateConstants.ts", + "deploy:mainnet": "forge script src/script{$ENTER_SCRIPT_FILE_HERE} --rpc-url $MAINNET_RPC_URL -vvvv --broadcast --verify --slow", + "deploy:polygon": "forge script src/script{$ENTER_SCRIPT_FILE_HERE} --rpc-url $POLYGON_RPC_URL -vvvv --broadcast --verify --slow" + }, + "author": "Frax Finance", + "license": "ISC", + "devDependencies": { + "@openzeppelin/contracts": "^5.0.1", + "husky": "^8.0.3", + "lint-staged": "^13.3.0", + "prettier": "^3.2.4", + "prettier-plugin-solidity": "^1.3.1", + "prettier-plugin-svelte": "^3.1.2", + "solhint": "^3.6.2", + "solhint-plugin-prettier": "^0.1.0", + "ts-node": "^10.9.2", + "typescript": "^5.3.3" + }, + "dependencies": { + "ds-test": "github:dapphub/ds-test", + "forge-std": "github:foundry-rs/forge-std#e8a047e3f40f13fa37af6fe14e6e06283d9a060e", + "frax-standard-solidity": "github:FraxFinance/frax-standard-solidity", + "solidity-bytes-utils": "github:GNSPS/solidity-bytes-utils" + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 0000000..7543ad9 --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,2201 @@ +lockfileVersion: "6.0" + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +dependencies: + ds-test: + specifier: github:dapphub/ds-test + version: github.com/dapphub/ds-test/e282159d5170298eb2455a6c05280ab5a73a4ef0 + forge-std: + specifier: github:foundry-rs/forge-std#e8a047e3f40f13fa37af6fe14e6e06283d9a060e + version: github.com/foundry-rs/forge-std/e8a047e3f40f13fa37af6fe14e6e06283d9a060e + frax-standard-solidity: + specifier: github:FraxFinance/frax-standard-solidity + version: github.com/FraxFinance/frax-standard-solidity/65b1f01cef3de014a2d6646ebe0ca0df202cc9e6(ethers@5.7.2) + solidity-bytes-utils: + specifier: github:GNSPS/solidity-bytes-utils + version: github.com/GNSPS/solidity-bytes-utils/df88556cbbc267b33a787a3a6eaa32fd7247b589 + +devDependencies: + "@openzeppelin/contracts": + specifier: ^5.0.1 + version: 5.0.1 + husky: + specifier: ^8.0.3 + version: 8.0.3 + lint-staged: + specifier: ^13.3.0 + version: 13.3.0 + prettier: + specifier: ^3.2.4 + version: 3.2.5 + prettier-plugin-solidity: + specifier: ^1.3.1 + version: 1.3.1(prettier@3.2.5) + prettier-plugin-svelte: + specifier: ^3.1.2 + version: 3.1.2(prettier@3.2.5)(svelte@4.2.10) + solhint: + specifier: ^3.6.2 + version: 3.6.2(typescript@5.3.3) + solhint-plugin-prettier: + specifier: ^0.1.0 + version: 0.1.0(prettier-plugin-solidity@1.3.1)(prettier@3.2.5) + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@20.11.16)(typescript@5.3.3) + typescript: + specifier: ^5.3.3 + version: 5.3.3 + +packages: + /@ampproject/remapping@2.2.1: + resolution: + { integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/gen-mapping": 0.3.3 + "@jridgewell/trace-mapping": 0.3.22 + dev: true + + /@babel/code-frame@7.23.5: + resolution: + { integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/highlight": 7.23.4 + chalk: 2.4.2 + + /@babel/helper-validator-identifier@7.22.20: + resolution: + { integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== } + engines: { node: ">=6.9.0" } + + /@babel/highlight@7.23.4: + resolution: + { integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-validator-identifier": 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + + /@babel/runtime@7.23.9: + resolution: + { integrity: sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw== } + engines: { node: ">=6.9.0" } + dependencies: + regenerator-runtime: 0.14.1 + dev: false + + /@chainlink/contracts@0.6.1(ethers@5.7.2): + resolution: + { integrity: sha512-EuwijGexttw0UjfrW+HygwhQIrGAbqpf1ue28R55HhWMHBzphEH0PhWm8DQmFfj5OZNy8Io66N4L0nStkZ3QKQ== } + dependencies: + "@eth-optimism/contracts": 0.5.40(ethers@5.7.2) + "@openzeppelin/contracts": 4.3.3 + "@openzeppelin/contracts-upgradeable": 4.9.5 + "@openzeppelin/contracts-v0.7": /@openzeppelin/contracts@3.4.2 + transitivePeerDependencies: + - bufferutil + - ethers + - utf-8-validate + dev: false + + /@cspotcode/source-map-support@0.8.1: + resolution: + { integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== } + engines: { node: ">=12" } + dependencies: + "@jridgewell/trace-mapping": 0.3.9 + + /@eth-optimism/contracts@0.5.40(ethers@5.7.2): + resolution: + { integrity: sha512-MrzV0nvsymfO/fursTB7m/KunkPsCndltVgfdHaT1Aj5Vi6R/doKIGGkOofHX+8B6VMZpuZosKCMQ5lQuqjt8w== } + peerDependencies: + ethers: ^5 + dependencies: + "@eth-optimism/core-utils": 0.12.0 + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/abstract-signer": 5.7.0 + ethers: 5.7.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@eth-optimism/core-utils@0.12.0: + resolution: + { integrity: sha512-qW+7LZYCz7i8dRa7SRlUKIo1VBU8lvN0HeXCxJR+z+xtMzMQpPds20XJNCMclszxYQHkXY00fOT6GvFw9ZL6nw== } + dependencies: + "@ethersproject/abi": 5.7.0 + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/contracts": 5.7.0 + "@ethersproject/hash": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/providers": 5.7.2 + "@ethersproject/rlp": 5.7.0 + "@ethersproject/transactions": 5.7.0 + "@ethersproject/web": 5.7.1 + bufio: 1.2.1 + chai: 4.4.1 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@ethersproject/abi@5.7.0: + resolution: + { integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== } + dependencies: + "@ethersproject/address": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/hash": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/strings": 5.7.0 + dev: false + + /@ethersproject/abstract-provider@5.7.0: + resolution: + { integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== } + dependencies: + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/networks": 5.7.1 + "@ethersproject/properties": 5.7.0 + "@ethersproject/transactions": 5.7.0 + "@ethersproject/web": 5.7.1 + dev: false + + /@ethersproject/abstract-signer@5.7.0: + resolution: + { integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== } + dependencies: + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/properties": 5.7.0 + dev: false + + /@ethersproject/address@5.7.0: + resolution: + { integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== } + dependencies: + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/rlp": 5.7.0 + dev: false + + /@ethersproject/base64@5.7.0: + resolution: + { integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== } + dependencies: + "@ethersproject/bytes": 5.7.0 + dev: false + + /@ethersproject/basex@5.7.0: + resolution: + { integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== } + dependencies: + "@ethersproject/bytes": 5.7.0 + "@ethersproject/properties": 5.7.0 + dev: false + + /@ethersproject/bignumber@5.7.0: + resolution: + { integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== } + dependencies: + "@ethersproject/bytes": 5.7.0 + "@ethersproject/logger": 5.7.0 + bn.js: 5.2.1 + dev: false + + /@ethersproject/bytes@5.7.0: + resolution: + { integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== } + dependencies: + "@ethersproject/logger": 5.7.0 + dev: false + + /@ethersproject/constants@5.7.0: + resolution: + { integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== } + dependencies: + "@ethersproject/bignumber": 5.7.0 + dev: false + + /@ethersproject/contracts@5.7.0: + resolution: + { integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== } + dependencies: + "@ethersproject/abi": 5.7.0 + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/transactions": 5.7.0 + dev: false + + /@ethersproject/hash@5.7.0: + resolution: + { integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== } + dependencies: + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/base64": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/strings": 5.7.0 + dev: false + + /@ethersproject/hdnode@5.7.0: + resolution: + { integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== } + dependencies: + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/basex": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/pbkdf2": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/sha2": 5.7.0 + "@ethersproject/signing-key": 5.7.0 + "@ethersproject/strings": 5.7.0 + "@ethersproject/transactions": 5.7.0 + "@ethersproject/wordlists": 5.7.0 + dev: false + + /@ethersproject/json-wallets@5.7.0: + resolution: + { integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== } + dependencies: + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/hdnode": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/pbkdf2": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/random": 5.7.0 + "@ethersproject/strings": 5.7.0 + "@ethersproject/transactions": 5.7.0 + aes-js: 3.0.0 + scrypt-js: 3.0.1 + dev: false + + /@ethersproject/keccak256@5.7.0: + resolution: + { integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== } + dependencies: + "@ethersproject/bytes": 5.7.0 + js-sha3: 0.8.0 + dev: false + + /@ethersproject/logger@5.7.0: + resolution: + { integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== } + dev: false + + /@ethersproject/networks@5.7.1: + resolution: + { integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== } + dependencies: + "@ethersproject/logger": 5.7.0 + dev: false + + /@ethersproject/pbkdf2@5.7.0: + resolution: + { integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== } + dependencies: + "@ethersproject/bytes": 5.7.0 + "@ethersproject/sha2": 5.7.0 + dev: false + + /@ethersproject/properties@5.7.0: + resolution: + { integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== } + dependencies: + "@ethersproject/logger": 5.7.0 + dev: false + + /@ethersproject/providers@5.7.2: + resolution: + { integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== } + dependencies: + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/base64": 5.7.0 + "@ethersproject/basex": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/hash": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/networks": 5.7.1 + "@ethersproject/properties": 5.7.0 + "@ethersproject/random": 5.7.0 + "@ethersproject/rlp": 5.7.0 + "@ethersproject/sha2": 5.7.0 + "@ethersproject/strings": 5.7.0 + "@ethersproject/transactions": 5.7.0 + "@ethersproject/web": 5.7.1 + bech32: 1.1.4 + ws: 7.4.6 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /@ethersproject/random@5.7.0: + resolution: + { integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== } + dependencies: + "@ethersproject/bytes": 5.7.0 + "@ethersproject/logger": 5.7.0 + dev: false + + /@ethersproject/rlp@5.7.0: + resolution: + { integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== } + dependencies: + "@ethersproject/bytes": 5.7.0 + "@ethersproject/logger": 5.7.0 + dev: false + + /@ethersproject/sha2@5.7.0: + resolution: + { integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== } + dependencies: + "@ethersproject/bytes": 5.7.0 + "@ethersproject/logger": 5.7.0 + hash.js: 1.1.7 + dev: false + + /@ethersproject/signing-key@5.7.0: + resolution: + { integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== } + dependencies: + "@ethersproject/bytes": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/properties": 5.7.0 + bn.js: 5.2.1 + elliptic: 6.5.4 + hash.js: 1.1.7 + dev: false + + /@ethersproject/solidity@5.7.0: + resolution: + { integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== } + dependencies: + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/sha2": 5.7.0 + "@ethersproject/strings": 5.7.0 + dev: false + + /@ethersproject/strings@5.7.0: + resolution: + { integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== } + dependencies: + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/logger": 5.7.0 + dev: false + + /@ethersproject/transactions@5.7.0: + resolution: + { integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== } + dependencies: + "@ethersproject/address": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/rlp": 5.7.0 + "@ethersproject/signing-key": 5.7.0 + dev: false + + /@ethersproject/units@5.7.0: + resolution: + { integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== } + dependencies: + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/logger": 5.7.0 + dev: false + + /@ethersproject/wallet@5.7.0: + resolution: + { integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== } + dependencies: + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/hash": 5.7.0 + "@ethersproject/hdnode": 5.7.0 + "@ethersproject/json-wallets": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/random": 5.7.0 + "@ethersproject/signing-key": 5.7.0 + "@ethersproject/transactions": 5.7.0 + "@ethersproject/wordlists": 5.7.0 + dev: false + + /@ethersproject/web@5.7.1: + resolution: + { integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== } + dependencies: + "@ethersproject/base64": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/strings": 5.7.0 + dev: false + + /@ethersproject/wordlists@5.7.0: + resolution: + { integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== } + dependencies: + "@ethersproject/bytes": 5.7.0 + "@ethersproject/hash": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/strings": 5.7.0 + dev: false + + /@jridgewell/gen-mapping@0.3.3: + resolution: + { integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/set-array": 1.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.22 + dev: true + + /@jridgewell/resolve-uri@3.1.1: + resolution: + { integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== } + engines: { node: ">=6.0.0" } + + /@jridgewell/set-array@1.1.2: + resolution: + { integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: + { integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== } + + /@jridgewell/trace-mapping@0.3.22: + resolution: + { integrity: sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== } + dependencies: + "@jridgewell/resolve-uri": 3.1.1 + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /@jridgewell/trace-mapping@0.3.9: + resolution: + { integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== } + dependencies: + "@jridgewell/resolve-uri": 3.1.1 + "@jridgewell/sourcemap-codec": 1.4.15 + + /@openzeppelin/contracts-upgradeable@4.9.5: + resolution: + { integrity: sha512-f7L1//4sLlflAN7fVzJLoRedrf5Na3Oal5PZfIq55NFcVZ90EpV1q5xOvL4lFvg3MNICSDr2hH0JUBxwlxcoPg== } + dev: false + + /@openzeppelin/contracts@3.4.2: + resolution: + { integrity: sha512-z0zMCjyhhp4y7XKAcDAi3Vgms4T2PstwBdahiO0+9NaGICQKjynK3wduSRplTgk4LXmoO1yfDGO5RbjKYxtuxA== } + dev: false + + /@openzeppelin/contracts@4.3.3: + resolution: + { integrity: sha512-tDBopO1c98Yk7Cv/PZlHqrvtVjlgK5R4J6jxLwoO7qxK4xqOiZG+zSkIvGFpPZ0ikc3QOED3plgdqjgNTnBc7g== } + dev: false + + /@openzeppelin/contracts@5.0.1: + resolution: + { integrity: sha512-yQJaT5HDp9hYOOp4jTYxMsR02gdFZFXhewX5HW9Jo4fsqSVqqyIO/xTHdWDaKX5a3pv1txmf076Lziz+sO7L1w== } + + /@prettier/sync@0.3.0(prettier@3.2.5): + resolution: + { integrity: sha512-3dcmCyAxIcxy036h1I7MQU/uEEBq8oLwf1CE3xeze+MPlgkdlb/+w6rGR/1dhp6Hqi17fRS6nvwnOzkESxEkOw== } + peerDependencies: + prettier: ^3.0.0 + dependencies: + prettier: 3.2.5 + + /@solidity-parser/parser@0.16.2: + resolution: + { integrity: sha512-PI9NfoA3P8XK2VBkK5oIfRgKDsicwDZfkVq9ZTBCQYGOP1N2owgY2dyLGyU5/J/hQs8KRk55kdmvTLjy3Mu3vg== } + dependencies: + antlr4ts: 0.5.0-alpha.4 + + /@solidity-parser/parser@0.17.0: + resolution: + { integrity: sha512-Nko8R0/kUo391jsEHHxrGM07QFdnPGvlmox4rmH0kNiNAashItAilhy4Mv4pK5gQmW5f4sXAF58fwJbmlkGcVw== } + + /@tsconfig/node10@1.0.9: + resolution: + { integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== } + + /@tsconfig/node12@1.0.11: + resolution: + { integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== } + + /@tsconfig/node14@1.0.3: + resolution: + { integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== } + + /@tsconfig/node16@1.0.4: + resolution: + { integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== } + + /@types/estree@1.0.5: + resolution: + { integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== } + dev: true + + /@types/fs-extra@11.0.4: + resolution: + { integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ== } + dependencies: + "@types/jsonfile": 6.1.4 + "@types/node": 18.19.14 + dev: false + + /@types/jsonfile@6.1.4: + resolution: + { integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ== } + dependencies: + "@types/node": 18.19.14 + dev: false + + /@types/node@18.19.14: + resolution: + { integrity: sha512-EnQ4Us2rmOS64nHDWr0XqAD8DsO6f3XR6lf9UIIrZQpUzPVdN/oPuEzfDWNHSyXLvoGgjuEm/sPwFGSSs35Wtg== } + dependencies: + undici-types: 5.26.5 + dev: false + + /@types/node@20.11.16: + resolution: + { integrity: sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ== } + dependencies: + undici-types: 5.26.5 + dev: true + + /acorn-walk@8.3.2: + resolution: + { integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== } + engines: { node: ">=0.4.0" } + + /acorn@8.11.3: + resolution: + { integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== } + engines: { node: ">=0.4.0" } + hasBin: true + + /aes-js@3.0.0: + resolution: + { integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== } + dev: false + + /ajv@6.12.6: + resolution: + { integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== } + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + /ajv@8.12.0: + resolution: + { integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== } + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + /ansi-escapes@5.0.0: + resolution: + { integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA== } + engines: { node: ">=12" } + dependencies: + type-fest: 1.4.0 + + /ansi-regex@5.0.1: + resolution: + { integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== } + engines: { node: ">=8" } + + /ansi-regex@6.0.1: + resolution: + { integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA== } + engines: { node: ">=12" } + + /ansi-styles@3.2.1: + resolution: + { integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== } + engines: { node: ">=4" } + dependencies: + color-convert: 1.9.3 + + /ansi-styles@4.3.0: + resolution: + { integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== } + engines: { node: ">=8" } + dependencies: + color-convert: 2.0.1 + + /ansi-styles@6.2.1: + resolution: + { integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug== } + engines: { node: ">=12" } + + /antlr4@4.13.1: + resolution: + { integrity: sha512-kiXTspaRYvnIArgE97z5YVVf/cDVQABr3abFRR6mE7yesLMkgu4ujuyV/sgxafQ8wgve0DJQUJ38Z8tkgA2izA== } + engines: { node: ">=16" } + + /antlr4ts@0.5.0-alpha.4: + resolution: + { integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== } + + /arg@4.1.3: + resolution: + { integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== } + + /argparse@2.0.1: + resolution: + { integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== } + + /aria-query@5.3.0: + resolution: + { integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== } + dependencies: + dequal: 2.0.3 + dev: true + + /assertion-error@1.1.0: + resolution: + { integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== } + dev: false + + /ast-parents@0.0.1: + resolution: + { integrity: sha512-XHusKxKz3zoYk1ic8Un640joHbFMhbqneyoZfoKnEGtf2ey9Uh/IdpcQplODdO/kENaMIWsD0nJm4+wX3UNLHA== } + + /astral-regex@2.0.0: + resolution: + { integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== } + engines: { node: ">=8" } + + /axobject-query@4.0.0: + resolution: + { integrity: sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw== } + dependencies: + dequal: 2.0.3 + dev: true + + /balanced-match@1.0.2: + resolution: + { integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== } + + /bech32@1.1.4: + resolution: + { integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== } + dev: false + + /bn.js@4.12.0: + resolution: + { integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== } + dev: false + + /bn.js@5.2.1: + resolution: + { integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== } + dev: false + + /brace-expansion@2.0.1: + resolution: + { integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== } + dependencies: + balanced-match: 1.0.2 + + /braces@3.0.2: + resolution: + { integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== } + engines: { node: ">=8" } + dependencies: + fill-range: 7.0.1 + + /brorand@1.1.0: + resolution: + { integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== } + dev: false + + /bufio@1.2.1: + resolution: + { integrity: sha512-9oR3zNdupcg/Ge2sSHQF3GX+kmvL/fTPvD0nd5AGLq8SjUYnTz+SlFjK/GXidndbZtIj+pVKXiWeR9w6e9wKCA== } + engines: { node: ">=14.0.0" } + dev: false + + /callsites@3.1.0: + resolution: + { integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== } + engines: { node: ">=6" } + + /camel-case@4.1.2: + resolution: + { integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw== } + dependencies: + pascal-case: 3.1.2 + tslib: 2.6.2 + dev: false + + /capital-case@1.0.4: + resolution: + { integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== } + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + upper-case-first: 2.0.2 + dev: false + + /chai@4.4.1: + resolution: + { integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== } + engines: { node: ">=4" } + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: false + + /chalk@2.4.2: + resolution: + { integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== } + engines: { node: ">=4" } + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk@4.1.2: + resolution: + { integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + /chalk@5.3.0: + resolution: + { integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w== } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + + /change-case@4.1.2: + resolution: + { integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== } + dependencies: + camel-case: 4.1.2 + capital-case: 1.0.4 + constant-case: 3.0.4 + dot-case: 3.0.4 + header-case: 2.0.4 + no-case: 3.0.4 + param-case: 3.0.4 + pascal-case: 3.1.2 + path-case: 3.0.4 + sentence-case: 3.0.4 + snake-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /check-error@1.0.3: + resolution: + { integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== } + dependencies: + get-func-name: 2.0.2 + dev: false + + /cli-cursor@4.0.0: + resolution: + { integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + restore-cursor: 4.0.0 + + /cli-truncate@3.1.0: + resolution: + { integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + slice-ansi: 5.0.0 + string-width: 5.1.2 + + /code-red@1.0.4: + resolution: + { integrity: sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw== } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + "@types/estree": 1.0.5 + acorn: 8.11.3 + estree-walker: 3.0.3 + periscopic: 3.1.0 + dev: true + + /color-convert@1.9.3: + resolution: + { integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== } + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: + { integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== } + engines: { node: ">=7.0.0" } + dependencies: + color-name: 1.1.4 + + /color-name@1.1.3: + resolution: + { integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== } + + /color-name@1.1.4: + resolution: + { integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== } + + /colorette@2.0.20: + resolution: + { integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== } + + /command-exists@1.2.9: + resolution: + { integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== } + dev: false + + /commander@10.0.1: + resolution: + { integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug== } + engines: { node: ">=14" } + + /commander@11.0.0: + resolution: + { integrity: sha512-9HMlXtt/BNoYr8ooyjjNRdIilOTkVJXB+GhxMTtOKwk0R4j4lS4NpjuqmRxroBfnfTSHQIHQB7wryHhXarNjmQ== } + engines: { node: ">=16" } + + /commander@8.3.0: + resolution: + { integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww== } + engines: { node: ">= 12" } + dev: false + + /constant-case@3.0.4: + resolution: + { integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== } + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + upper-case: 2.0.2 + dev: false + + /cosmiconfig@8.3.6(typescript@5.3.3): + resolution: + { integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA== } + engines: { node: ">=14" } + peerDependencies: + typescript: ">=4.9.5" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + typescript: 5.3.3 + + /create-require@1.1.1: + resolution: + { integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== } + + /cross-spawn@7.0.3: + resolution: + { integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== } + engines: { node: ">= 8" } + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + /css-tree@2.3.1: + resolution: + { integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw== } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } + dependencies: + mdn-data: 2.0.30 + source-map-js: 1.0.2 + dev: true + + /date-fns@2.30.0: + resolution: + { integrity: sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== } + engines: { node: ">=0.11" } + dependencies: + "@babel/runtime": 7.23.9 + dev: false + + /debug@4.3.4: + resolution: + { integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: + { integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== } + engines: { node: ">=6" } + dependencies: + type-detect: 4.0.8 + dev: false + + /dequal@2.0.3: + resolution: + { integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA== } + engines: { node: ">=6" } + dev: true + + /diff@4.0.2: + resolution: + { integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== } + engines: { node: ">=0.3.1" } + + /dot-case@3.0.4: + resolution: + { integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== } + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /eastasianwidth@0.2.0: + resolution: + { integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA== } + + /elliptic@6.5.4: + resolution: + { integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== } + dependencies: + bn.js: 4.12.0 + brorand: 1.1.0 + hash.js: 1.1.7 + hmac-drbg: 1.0.1 + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: false + + /emoji-regex@8.0.0: + resolution: + { integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== } + + /emoji-regex@9.2.2: + resolution: + { integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== } + + /error-ex@1.3.2: + resolution: + { integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== } + dependencies: + is-arrayish: 0.2.1 + + /escape-string-regexp@1.0.5: + resolution: + { integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== } + engines: { node: ">=0.8.0" } + + /estree-walker@3.0.3: + resolution: + { integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== } + dependencies: + "@types/estree": 1.0.5 + dev: true + + /ethers@5.7.2: + resolution: + { integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== } + dependencies: + "@ethersproject/abi": 5.7.0 + "@ethersproject/abstract-provider": 5.7.0 + "@ethersproject/abstract-signer": 5.7.0 + "@ethersproject/address": 5.7.0 + "@ethersproject/base64": 5.7.0 + "@ethersproject/basex": 5.7.0 + "@ethersproject/bignumber": 5.7.0 + "@ethersproject/bytes": 5.7.0 + "@ethersproject/constants": 5.7.0 + "@ethersproject/contracts": 5.7.0 + "@ethersproject/hash": 5.7.0 + "@ethersproject/hdnode": 5.7.0 + "@ethersproject/json-wallets": 5.7.0 + "@ethersproject/keccak256": 5.7.0 + "@ethersproject/logger": 5.7.0 + "@ethersproject/networks": 5.7.1 + "@ethersproject/pbkdf2": 5.7.0 + "@ethersproject/properties": 5.7.0 + "@ethersproject/providers": 5.7.2 + "@ethersproject/random": 5.7.0 + "@ethersproject/rlp": 5.7.0 + "@ethersproject/sha2": 5.7.0 + "@ethersproject/signing-key": 5.7.0 + "@ethersproject/solidity": 5.7.0 + "@ethersproject/strings": 5.7.0 + "@ethersproject/transactions": 5.7.0 + "@ethersproject/units": 5.7.0 + "@ethersproject/wallet": 5.7.0 + "@ethersproject/web": 5.7.1 + "@ethersproject/wordlists": 5.7.0 + transitivePeerDependencies: + - bufferutil + - utf-8-validate + dev: false + + /eventemitter3@5.0.1: + resolution: + { integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA== } + + /execa@7.2.0: + resolution: + { integrity: sha512-UduyVP7TLB5IcAQl+OzLyLcS/l32W/GLg+AhHJ+ow40FOk2U3SAllPwR44v4vmdFwIWqpdwxxpQbF1n5ta9seA== } + engines: { node: ^14.18.0 || ^16.14.0 || >=18.0.0 } + dependencies: + cross-spawn: 7.0.3 + get-stream: 6.0.1 + human-signals: 4.3.1 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.2.0 + onetime: 6.0.0 + signal-exit: 3.0.7 + strip-final-newline: 3.0.0 + + /fast-deep-equal@3.1.3: + resolution: + { integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== } + + /fast-diff@1.3.0: + resolution: + { integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== } + + /fast-json-stable-stringify@2.1.0: + resolution: + { integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== } + + /fill-range@7.0.1: + resolution: + { integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== } + engines: { node: ">=8" } + dependencies: + to-regex-range: 5.0.1 + + /follow-redirects@1.15.5: + resolution: + { integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== } + engines: { node: ">=4.0" } + peerDependencies: + debug: "*" + peerDependenciesMeta: + debug: + optional: true + dev: false + + /forge-std@1.1.2: + resolution: + { integrity: sha512-Wfb0iAS9PcfjMKtGpWQw9mXzJxrWD62kJCUqqLcyuI0+VRtJ3j20XembjF3kS20qELYdXft1vD/SPFVWVKMFOw== } + dev: false + + /fs-extra@11.2.0: + resolution: + { integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw== } + engines: { node: ">=14.14" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: false + + /fs.realpath@1.0.0: + resolution: + { integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== } + + /get-func-name@2.0.2: + resolution: + { integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== } + dev: false + + /get-stream@6.0.1: + resolution: + { integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== } + engines: { node: ">=10" } + + /glob@8.1.0: + resolution: + { integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== } + engines: { node: ">=12" } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + + /graceful-fs@4.2.11: + resolution: + { integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== } + dev: false + + /has-flag@3.0.0: + resolution: + { integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== } + engines: { node: ">=4" } + + /has-flag@4.0.0: + resolution: + { integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== } + engines: { node: ">=8" } + + /hash.js@1.1.7: + resolution: + { integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== } + dependencies: + inherits: 2.0.4 + minimalistic-assert: 1.0.1 + dev: false + + /header-case@2.0.4: + resolution: + { integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== } + dependencies: + capital-case: 1.0.4 + tslib: 2.6.2 + dev: false + + /hmac-drbg@1.0.1: + resolution: + { integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== } + dependencies: + hash.js: 1.1.7 + minimalistic-assert: 1.0.1 + minimalistic-crypto-utils: 1.0.1 + dev: false + + /human-signals@4.3.1: + resolution: + { integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ== } + engines: { node: ">=14.18.0" } + + /husky@8.0.3: + resolution: + { integrity: sha512-+dQSyqPh4x1hlO1swXBiNb2HzTDN1I2IGLQx1GrBuiqFJfoMrnZWwVmatvSiO+Iz8fBUnf+lekwNo4c2LlXItg== } + engines: { node: ">=14" } + hasBin: true + + /ignore@5.3.1: + resolution: + { integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== } + engines: { node: ">= 4" } + + /import-fresh@3.3.0: + resolution: + { integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== } + engines: { node: ">=6" } + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + + /inflight@1.0.6: + resolution: + { integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== } + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits@2.0.4: + resolution: + { integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== } + + /is-arrayish@0.2.1: + resolution: + { integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== } + + /is-fullwidth-code-point@3.0.0: + resolution: + { integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== } + engines: { node: ">=8" } + + /is-fullwidth-code-point@4.0.0: + resolution: + { integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ== } + engines: { node: ">=12" } + + /is-number@7.0.0: + resolution: + { integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== } + engines: { node: ">=0.12.0" } + + /is-reference@3.0.2: + resolution: + { integrity: sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg== } + dependencies: + "@types/estree": 1.0.5 + dev: true + + /is-stream@3.0.0: + resolution: + { integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + + /isexe@2.0.0: + resolution: + { integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== } + + /js-sha3@0.8.0: + resolution: + { integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== } + dev: false + + /js-tokens@4.0.0: + resolution: + { integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== } + + /js-yaml@4.1.0: + resolution: + { integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== } + hasBin: true + dependencies: + argparse: 2.0.1 + + /json-parse-even-better-errors@2.3.1: + resolution: + { integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== } + + /json-schema-traverse@0.4.1: + resolution: + { integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== } + + /json-schema-traverse@1.0.0: + resolution: + { integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== } + + /jsonfile@6.1.0: + resolution: + { integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== } + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: false + + /lilconfig@2.1.0: + resolution: + { integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ== } + engines: { node: ">=10" } + + /lines-and-columns@1.2.4: + resolution: + { integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== } + + /lint-staged@13.3.0: + resolution: + { integrity: sha512-mPRtrYnipYYv1FEE134ufbWpeggNTo+O/UPzngoaKzbzHAthvR55am+8GfHTnqNRQVRRrYQLGW9ZyUoD7DsBHQ== } + engines: { node: ^16.14.0 || >=18.0.0 } + hasBin: true + dependencies: + chalk: 5.3.0 + commander: 11.0.0 + debug: 4.3.4 + execa: 7.2.0 + lilconfig: 2.1.0 + listr2: 6.6.1 + micromatch: 4.0.5 + pidtree: 0.6.0 + string-argv: 0.3.2 + yaml: 2.3.1 + transitivePeerDependencies: + - enquirer + - supports-color + + /listr2@6.6.1: + resolution: + { integrity: sha512-+rAXGHh0fkEWdXBmX+L6mmfmXmXvDGEKzkjxO+8mP3+nI/r/CWznVBvsibXdxda9Zz0OW2e2ikphN3OwCT/jSg== } + engines: { node: ">=16.0.0" } + peerDependencies: + enquirer: ">= 2.3.0 < 3" + peerDependenciesMeta: + enquirer: + optional: true + dependencies: + cli-truncate: 3.1.0 + colorette: 2.0.20 + eventemitter3: 5.0.1 + log-update: 5.0.1 + rfdc: 1.3.1 + wrap-ansi: 8.1.0 + + /locate-character@3.0.0: + resolution: + { integrity: sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA== } + dev: true + + /lodash.truncate@4.4.2: + resolution: + { integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== } + + /lodash@4.17.21: + resolution: + { integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== } + + /log-update@5.0.1: + resolution: + { integrity: sha512-5UtUDQ/6edw4ofyljDNcOVJQ4c7OjDro4h3y8e1GQL5iYElYclVHJ3zeWchylvMaKnDbDilC8irOVyexnA/Slw== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + ansi-escapes: 5.0.0 + cli-cursor: 4.0.0 + slice-ansi: 5.0.0 + strip-ansi: 7.1.0 + wrap-ansi: 8.1.0 + + /loupe@2.3.7: + resolution: + { integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== } + dependencies: + get-func-name: 2.0.2 + dev: false + + /lower-case@2.0.2: + resolution: + { integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== } + dependencies: + tslib: 2.6.2 + dev: false + + /lru-cache@6.0.0: + resolution: + { integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== } + engines: { node: ">=10" } + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: + { integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /make-error@1.3.6: + resolution: + { integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== } + + /mdn-data@2.0.30: + resolution: + { integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA== } + dev: true + + /memorystream@0.3.1: + resolution: + { integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== } + engines: { node: ">= 0.10.0" } + dev: false + + /merge-stream@2.0.0: + resolution: + { integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== } + + /micromatch@4.0.5: + resolution: + { integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== } + engines: { node: ">=8.6" } + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + + /mimic-fn@2.1.0: + resolution: + { integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== } + engines: { node: ">=6" } + + /mimic-fn@4.0.0: + resolution: + { integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== } + engines: { node: ">=12" } + + /minimalistic-assert@1.0.1: + resolution: + { integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== } + dev: false + + /minimalistic-crypto-utils@1.0.1: + resolution: + { integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== } + dev: false + + /minimatch@5.1.6: + resolution: + { integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== } + engines: { node: ">=10" } + dependencies: + brace-expansion: 2.0.1 + + /ms@2.1.2: + resolution: + { integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== } + + /no-case@3.0.4: + resolution: + { integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== } + dependencies: + lower-case: 2.0.2 + tslib: 2.6.2 + dev: false + + /npm-run-path@5.2.0: + resolution: + { integrity: sha512-W4/tgAXFqFA0iL7fk0+uQ3g7wkL8xJmx3XdK0VGb4cHW//eZTtKGvFBBoRKVTpY7n6ze4NL9ly7rgXcHufqXKg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + + /once@1.4.0: + resolution: + { integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== } + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: + { integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== } + engines: { node: ">=6" } + dependencies: + mimic-fn: 2.1.0 + + /onetime@6.0.0: + resolution: + { integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== } + engines: { node: ">=12" } + dependencies: + mimic-fn: 4.0.0 + + /os-tmpdir@1.0.2: + resolution: + { integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== } + engines: { node: ">=0.10.0" } + dev: false + + /param-case@3.0.4: + resolution: + { integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A== } + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /parent-module@1.0.1: + resolution: + { integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== } + engines: { node: ">=6" } + dependencies: + callsites: 3.1.0 + + /parse-json@5.2.0: + resolution: + { integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== } + engines: { node: ">=8" } + dependencies: + "@babel/code-frame": 7.23.5 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + + /pascal-case@3.1.2: + resolution: + { integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g== } + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /path-case@3.0.4: + resolution: + { integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== } + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /path-key@3.1.1: + resolution: + { integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== } + engines: { node: ">=8" } + + /path-key@4.0.0: + resolution: + { integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== } + engines: { node: ">=12" } + + /path-type@4.0.0: + resolution: + { integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== } + engines: { node: ">=8" } + + /pathval@1.1.1: + resolution: + { integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== } + dev: false + + /periscopic@3.1.0: + resolution: + { integrity: sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw== } + dependencies: + "@types/estree": 1.0.5 + estree-walker: 3.0.3 + is-reference: 3.0.2 + dev: true + + /picomatch@2.3.1: + resolution: + { integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== } + engines: { node: ">=8.6" } + + /pidtree@0.6.0: + resolution: + { integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g== } + engines: { node: ">=0.10" } + hasBin: true + + /pluralize@8.0.0: + resolution: + { integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== } + engines: { node: ">=4" } + + /prettier-linter-helpers@1.0.0: + resolution: + { integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== } + engines: { node: ">=6.0.0" } + dependencies: + fast-diff: 1.3.0 + + /prettier-plugin-solidity@1.3.1(prettier@3.2.5): + resolution: + { integrity: sha512-MN4OP5I2gHAzHZG1wcuJl0FsLS3c4Cc5494bbg+6oQWBPuEamjwDvmGfFMZ6NFzsh3Efd9UUxeT7ImgjNH4ozA== } + engines: { node: ">=16" } + peerDependencies: + prettier: ">=2.3.0" + dependencies: + "@solidity-parser/parser": 0.17.0 + prettier: 3.2.5 + semver: 7.6.0 + solidity-comments-extractor: 0.0.8 + + /prettier-plugin-svelte@3.1.2(prettier@3.2.5)(svelte@4.2.10): + resolution: + { integrity: sha512-7xfMZtwgAWHMT0iZc8jN4o65zgbAQ3+O32V6W7pXrqNvKnHnkoyQCGCbKeUyXKZLbYE0YhFRnamfxfkEGxm8qA== } + peerDependencies: + prettier: ^3.0.0 + svelte: ^3.2.0 || ^4.0.0-next.0 || ^5.0.0-next.0 + dependencies: + prettier: 3.2.5 + svelte: 4.2.10 + dev: true + + /prettier@2.8.8: + resolution: + { integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== } + engines: { node: ">=10.13.0" } + hasBin: true + requiresBuild: true + optional: true + + /prettier@3.2.5: + resolution: + { integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== } + engines: { node: ">=14" } + hasBin: true + + /punycode@2.3.1: + resolution: + { integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== } + engines: { node: ">=6" } + + /regenerator-runtime@0.14.1: + resolution: + { integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== } + dev: false + + /require-from-string@2.0.2: + resolution: + { integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== } + engines: { node: ">=0.10.0" } + + /resolve-from@4.0.0: + resolution: + { integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== } + engines: { node: ">=4" } + + /restore-cursor@4.0.0: + resolution: + { integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg== } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + + /rfdc@1.3.1: + resolution: + { integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== } + + /scrypt-js@3.0.1: + resolution: + { integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== } + dev: false + + /semver@5.7.2: + resolution: + { integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== } + hasBin: true + dev: false + + /semver@7.6.0: + resolution: + { integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg== } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /sentence-case@3.0.4: + resolution: + { integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== } + dependencies: + no-case: 3.0.4 + tslib: 2.6.2 + upper-case-first: 2.0.2 + dev: false + + /shebang-command@2.0.0: + resolution: + { integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== } + engines: { node: ">=8" } + dependencies: + shebang-regex: 3.0.0 + + /shebang-regex@3.0.0: + resolution: + { integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== } + engines: { node: ">=8" } + + /signal-exit@3.0.7: + resolution: + { integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== } + + /slice-ansi@4.0.0: + resolution: + { integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + astral-regex: 2.0.0 + is-fullwidth-code-point: 3.0.0 + + /slice-ansi@5.0.0: + resolution: + { integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ== } + engines: { node: ">=12" } + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + /snake-case@3.0.4: + resolution: + { integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== } + dependencies: + dot-case: 3.0.4 + tslib: 2.6.2 + dev: false + + /solc@0.8.24: + resolution: + { integrity: sha512-G5yUqjTUPc8Np74sCFwfsevhBPlUifUOfhYrgyu6CmYlC6feSw0YS6eZW47XDT23k3JYdKx5nJ+Q7whCEmNcoA== } + engines: { node: ">=10.0.0" } + hasBin: true + dependencies: + command-exists: 1.2.9 + commander: 8.3.0 + follow-redirects: 1.15.5 + js-sha3: 0.8.0 + memorystream: 0.3.1 + semver: 5.7.2 + tmp: 0.0.33 + transitivePeerDependencies: + - debug + dev: false + + /solhint-plugin-prettier@0.1.0(prettier-plugin-solidity@1.3.1)(prettier@3.2.5): + resolution: + { integrity: sha512-SDOTSM6tZxZ6hamrzl3GUgzF77FM6jZplgL2plFBclj/OjKP8Z3eIPojKU73gRr0MvOS8ACZILn8a5g0VTz/Gw== } + peerDependencies: + prettier: ^3.0.0 + prettier-plugin-solidity: ^1.0.0 + dependencies: + "@prettier/sync": 0.3.0(prettier@3.2.5) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + prettier-plugin-solidity: 1.3.1(prettier@3.2.5) + + /solhint@3.6.2(typescript@5.3.3): + resolution: + { integrity: sha512-85EeLbmkcPwD+3JR7aEMKsVC9YrRSxd4qkXuMzrlf7+z2Eqdfm1wHWq1ffTuo5aDhoZxp2I9yF3QkxZOxOL7aQ== } + hasBin: true + dependencies: + "@solidity-parser/parser": 0.16.2 + ajv: 6.12.6 + antlr4: 4.13.1 + ast-parents: 0.0.1 + chalk: 4.1.2 + commander: 10.0.1 + cosmiconfig: 8.3.6(typescript@5.3.3) + fast-diff: 1.3.0 + glob: 8.1.0 + ignore: 5.3.1 + js-yaml: 4.1.0 + lodash: 4.17.21 + pluralize: 8.0.0 + semver: 7.6.0 + strip-ansi: 6.0.1 + table: 6.8.1 + text-table: 0.2.0 + optionalDependencies: + prettier: 2.8.8 + transitivePeerDependencies: + - typescript + + /solidity-bytes-utils@0.8.2: + resolution: + { integrity: sha512-cqXPYAV2auhpdKSTPuqji0CwpSceZDu95CzqSM/9tDJ2MoMaMsdHTpOIWtVw31BIqqGPNmIChCswzbw0tHaMTw== } + dependencies: + ds-test: github.com/dapphub/ds-test/e282159d5170298eb2455a6c05280ab5a73a4ef0 + forge-std: 1.1.2 + dev: false + + /solidity-comments-extractor@0.0.8: + resolution: + { integrity: sha512-htM7Vn6LhHreR+EglVMd2s+sZhcXAirB1Zlyrv5zBuTxieCvjfnRpd7iZk75m/u6NOlEyQ94C6TWbBn2cY7w8g== } + + /source-map-js@1.0.2: + resolution: + { integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== } + engines: { node: ">=0.10.0" } + dev: true + + /string-argv@0.3.2: + resolution: + { integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== } + engines: { node: ">=0.6.19" } + + /string-width@4.2.3: + resolution: + { integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== } + engines: { node: ">=8" } + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string-width@5.1.2: + resolution: + { integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA== } + engines: { node: ">=12" } + dependencies: + eastasianwidth: 0.2.0 + emoji-regex: 9.2.2 + strip-ansi: 7.1.0 + + /strip-ansi@6.0.1: + resolution: + { integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== } + engines: { node: ">=8" } + dependencies: + ansi-regex: 5.0.1 + + /strip-ansi@7.1.0: + resolution: + { integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ== } + engines: { node: ">=12" } + dependencies: + ansi-regex: 6.0.1 + + /strip-final-newline@3.0.0: + resolution: + { integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== } + engines: { node: ">=12" } + + /supports-color@5.5.0: + resolution: + { integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== } + engines: { node: ">=4" } + dependencies: + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: + { integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== } + engines: { node: ">=8" } + dependencies: + has-flag: 4.0.0 + + /svelte@4.2.10: + resolution: + { integrity: sha512-Ep06yCaCdgG1Mafb/Rx8sJ1QS3RW2I2BxGp2Ui9LBHSZ2/tO/aGLc5WqPjgiAP6KAnLJGaIr/zzwQlOo1b8MxA== } + engines: { node: ">=16" } + dependencies: + "@ampproject/remapping": 2.2.1 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.22 + "@types/estree": 1.0.5 + acorn: 8.11.3 + aria-query: 5.3.0 + axobject-query: 4.0.0 + code-red: 1.0.4 + css-tree: 2.3.1 + estree-walker: 3.0.3 + is-reference: 3.0.2 + locate-character: 3.0.0 + magic-string: 0.30.7 + periscopic: 3.1.0 + dev: true + + /table@6.8.1: + resolution: + { integrity: sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== } + engines: { node: ">=10.0.0" } + dependencies: + ajv: 8.12.0 + lodash.truncate: 4.4.2 + slice-ansi: 4.0.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + + /text-table@0.2.0: + resolution: + { integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== } + + /tmp@0.0.33: + resolution: + { integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== } + engines: { node: ">=0.6.0" } + dependencies: + os-tmpdir: 1.0.2 + dev: false + + /to-regex-range@5.0.1: + resolution: + { integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== } + engines: { node: ">=8.0" } + dependencies: + is-number: 7.0.0 + + /toml@3.0.0: + resolution: + { integrity: sha512-y/mWCZinnvxjTKYhJ+pYxwD0mRLVvOtdS2Awbgxln6iEnt4rk0yBxeSBHkGJcPucRiG0e55mwWp+g/05rsrd6w== } + dev: false + + /ts-node@10.9.2(@types/node@18.19.14)(typescript@5.3.3): + resolution: + { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } + hasBin: true + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + dependencies: + "@cspotcode/source-map-support": 0.8.1 + "@tsconfig/node10": 1.0.9 + "@tsconfig/node12": 1.0.11 + "@tsconfig/node14": 1.0.3 + "@tsconfig/node16": 1.0.4 + "@types/node": 18.19.14 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.3.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: false + + /ts-node@10.9.2(@types/node@20.11.16)(typescript@5.3.3): + resolution: + { integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== } + hasBin: true + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + dependencies: + "@cspotcode/source-map-support": 0.8.1 + "@tsconfig/node10": 1.0.9 + "@tsconfig/node12": 1.0.11 + "@tsconfig/node14": 1.0.3 + "@tsconfig/node16": 1.0.4 + "@types/node": 20.11.16 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.3.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: true + + /tslib@2.6.2: + resolution: + { integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== } + dev: false + + /type-detect@4.0.8: + resolution: + { integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== } + engines: { node: ">=4" } + dev: false + + /type-fest@1.4.0: + resolution: + { integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== } + engines: { node: ">=10" } + + /typescript@5.3.3: + resolution: + { integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== } + engines: { node: ">=14.17" } + hasBin: true + + /undici-types@5.26.5: + resolution: + { integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== } + + /universalify@2.0.1: + resolution: + { integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw== } + engines: { node: ">= 10.0.0" } + dev: false + + /upper-case-first@2.0.2: + resolution: + { integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== } + dependencies: + tslib: 2.6.2 + dev: false + + /upper-case@2.0.2: + resolution: + { integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== } + dependencies: + tslib: 2.6.2 + dev: false + + /uri-js@4.4.1: + resolution: + { integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== } + dependencies: + punycode: 2.3.1 + + /v8-compile-cache-lib@3.0.1: + resolution: + { integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== } + + /which@2.0.2: + resolution: + { integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== } + engines: { node: ">= 8" } + hasBin: true + dependencies: + isexe: 2.0.0 + + /wrap-ansi@8.1.0: + resolution: + { integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ== } + engines: { node: ">=12" } + dependencies: + ansi-styles: 6.2.1 + string-width: 5.1.2 + strip-ansi: 7.1.0 + + /wrappy@1.0.2: + resolution: + { integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== } + + /ws@7.4.6: + resolution: + { integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== } + engines: { node: ">=8.3.0" } + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: false + + /yallist@4.0.0: + resolution: + { integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== } + + /yaml@2.3.1: + resolution: + { integrity: sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== } + engines: { node: ">= 14" } + + /yn@3.1.1: + resolution: + { integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== } + engines: { node: ">=6" } + + github.com/FraxFinance/frax-standard-solidity/65b1f01cef3de014a2d6646ebe0ca0df202cc9e6(ethers@5.7.2): + resolution: + { + tarball: https://codeload.github.com/FraxFinance/frax-standard-solidity/tar.gz/65b1f01cef3de014a2d6646ebe0ca0df202cc9e6, + } + id: github.com/FraxFinance/frax-standard-solidity/65b1f01cef3de014a2d6646ebe0ca0df202cc9e6 + name: frax-standard-solidity + version: 1.0.0 + prepare: true + requiresBuild: true + dependencies: + "@chainlink/contracts": 0.6.1(ethers@5.7.2) + "@openzeppelin/contracts": 5.0.1 + "@types/fs-extra": 11.0.4 + "@types/node": 18.19.14 + change-case: 4.1.2 + commander: 10.0.1 + date-fns: 2.30.0 + ds-test: github.com/dapphub/ds-test/e282159d5170298eb2455a6c05280ab5a73a4ef0 + forge-std: github.com/foundry-rs/forge-std/e8a047e3f40f13fa37af6fe14e6e06283d9a060e + fs-extra: 11.2.0 + husky: 8.0.3 + lint-staged: 13.3.0 + prettier: 3.2.5 + prettier-plugin-solidity: 1.3.1(prettier@3.2.5) + solc: 0.8.24 + solhint: 3.6.2(typescript@5.3.3) + solhint-plugin-prettier: 0.1.0(prettier-plugin-solidity@1.3.1)(prettier@3.2.5) + solidity-bytes-utils: 0.8.2 + toml: 3.0.0 + ts-node: 10.9.2(@types/node@18.19.14)(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - "@swc/core" + - "@swc/wasm" + - bufferutil + - debug + - enquirer + - ethers + - supports-color + - utf-8-validate + dev: false + + github.com/GNSPS/solidity-bytes-utils/df88556cbbc267b33a787a3a6eaa32fd7247b589: + resolution: + { + tarball: https://codeload.github.com/GNSPS/solidity-bytes-utils/tar.gz/df88556cbbc267b33a787a3a6eaa32fd7247b589, + } + name: solidity-bytes-utils + version: 0.8.2 + dependencies: + ds-test: github.com/dapphub/ds-test/e282159d5170298eb2455a6c05280ab5a73a4ef0 + forge-std: 1.1.2 + dev: false + + github.com/dapphub/ds-test/e282159d5170298eb2455a6c05280ab5a73a4ef0: + resolution: { tarball: https://codeload.github.com/dapphub/ds-test/tar.gz/e282159d5170298eb2455a6c05280ab5a73a4ef0 } + name: ds-test + version: 1.0.0 + dev: false + + github.com/foundry-rs/forge-std/e8a047e3f40f13fa37af6fe14e6e06283d9a060e: + resolution: + { tarball: https://codeload.github.com/foundry-rs/forge-std/tar.gz/e8a047e3f40f13fa37af6fe14e6e06283d9a060e } + name: forge-std + version: 1.5.6 + dev: false diff --git a/remappings.txt b/remappings.txt new file mode 100644 index 0000000..92f1540 --- /dev/null +++ b/remappings.txt @@ -0,0 +1,4 @@ +frax-std/=node_modules/frax-standard-solidity/src/ +@prb/test/=node_modules/@prb/test/ +forge-std/=node_modules/forge-std/src/ +ds-test/=node_modules/ds-test/src/ \ No newline at end of file diff --git a/scripts/constants/TEMPLATE.ts b/scripts/constants/TEMPLATE.ts new file mode 100644 index 0000000..f9570ee --- /dev/null +++ b/scripts/constants/TEMPLATE.ts @@ -0,0 +1,17 @@ +// Canonicals + +// Farms + +// FraxBonds + +// FraxFerry + +// FraxlendAndOracles + +// Fraxswap + +// Misc + +// Multisigs + +// PoolRelatedTokens diff --git a/scripts/constants/arbitrum.ts b/scripts/constants/arbitrum.ts new file mode 100644 index 0000000..0da206f --- /dev/null +++ b/scripts/constants/arbitrum.ts @@ -0,0 +1,153 @@ +// Canonicals +export const FRAX = "0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F"; +export const FXS = "0x9d2F299715D94d8A7E6F5eaa8E654E8c74a988A7"; +export const FPI = "0x1B01514A2B3CdEf16fD3c680a818A0Ab97Da8a09"; +export const FPIS = "0x3405E88af759992937b84E58F2Fe691EF0EeA320"; +export const FRXETH = "0x178412e79c25968a32e89b11f63B33F733770c2A"; +export const SFRXETH = "0x95aB45875cFFdba1E5f451B950bC2E42c0053f39"; +export const SFRAX = "0xe3b3FE7bcA19cA77Ad877A5Bebab186bEcfAD906"; + +// Farms +export const ARBIDEX_FRAX_DAI_PLUS = "0x56328f7138C3A4ebD2Bb1D126d28f62FcD5bac5d"; +export const ARBIDEX_FRAX_FRXETH = "0x436eE91dB228267c6a19b2A3F158fffCe5a4489c"; +export const ARBIDEX_FRAX_USD_PLUS = "0xe876230251cc14Ec0027b2a4aFc46B4c262d13D0"; +export const ARBIDEX_FRAX_USDCE = "0x11205af33F2F7006bB932953b10Ab5EeD78105Ca"; +export const ARBIDEX_FRAX_WETH = "0xf0677E33Fa38A023ec798F97D195d85d19823e7C"; +export const ARBIDEX_FRXETH_WETH = "0xc74c0Fcb777521F3D8747f338a024e9F3fD91608"; +export const CHRONOS_SAMM_FRAX_MAI = "0x1371512f45d85e6247aBfA2926Ac5213324a6BEB"; +export const CHRONOS_SAMM_FRAX_USD_PLUS = "0xaF618E6F5EF781e3aCFe00708BD005E0cc9A2e6F"; +export const CHRONOS_SAMM_FRXETH_SFRXETH = "0x548e0D4Fcb6b82a025E6770066b4127C5FCcBF07"; +export const CHRONOS_SAMM_FRXETH_WETH = "0x9A028F3Dd7067479b51ee89CDb0Db594744ebfAd"; +export const CONVEX_FRAXBP_ARBITRUM = "0x421Efd53FA0d90687db5ef370D5DCD7f89CbD9dE"; +export const CONVEX_FRAX_FXB_20241231_ARBITRUM = "0xB8c52da3db9EdF9Da6a20959410B007a2387E5a2"; +export const CONVEX_FRAX_FXB_20261231_ARBITRUM = "0xA81F4b86B412CcB51C7420000F59a639F3459f49"; +export const CONVEX_FRXETH_WETH_ARBITRUM = "0x24e927daC110Aab7189a4F864d41680e4F7865FB"; +export const CONVEX_HFXB_FRAX_ARBITRUM = "0xBa32Df0b78b1A68F7FA304BbD4Ed7a56A74c525a"; +export const CONVEX_USD_PLUS_FRAXBP = "0x56390acF12bce9675ab3922060D8d955149BE286"; +export const CURVE_VSTFRAX_F = "0x127963A74c07f72D862F2Bdc225226c3251BD117"; +export const DFORCE_FRAX_LENDING_ARBITRUM = "0xb3ab7148cCCAf66686AD6C1bE24D83e58E6a504e"; +export const HUNDRED_FRAX_LENDING_ARBITRUM = "0xd7f3Bf2085AD32ff95E1bCC408d37F10f6949270"; +export const KYBERSWAP_ELASTIC_FRAX_USDC_ARBITRUM = "0xbAFA44EFE7901E04E39Dad13167D089C559c1138"; +export const RAMSES_CRAMM_FRAX_DOLA = "0xF8719BC4a1A81969F00233a8D9409755d4366d28"; +export const RAMSES_CRAMM_FRAX_MAI = "0x385E1c3f90C52f5253EaBb015576E95a4886E552"; +export const RAMSES_CRAMM_FRAX_USDC = "0x22B6C54dC1cCD6CDF53723BEc88327c908258367"; +export const RAMSES_CRAMM_FRXETH_SFRXETH = "0x11C1060e12F3Ec480D47AD867583353496a1B0b8"; +export const RAMSES_CRAMM_FRXETH_WETH = "0x148Ca200d452AD9F310501ca3fd5C3bD4a5aBe81"; +export const RAMSES_VRAMM_FRAX_AGEUR = "0x0A923435Eb4C3FC740bbA0c000F16Cb1F6cd7Afb"; +export const RAMSES_VRAMM_FRAX_FXS = "0xdf725A7315d3d246a39C8887870f6cb0Fe73e36d"; +export const SADDLE_ARBUSD_V2_ARBITRUM = "0x6e1af6FB2B4006603c65dD8FC7796Ccff09c86a1"; +export const SADDLE_FRAXBP_USDS_ARBITRUM = "0x289532cA1DccE36D05e19Af468EC46fc9CB1390E"; +export const SADDLE_FRAXBP_USDT_ARBITRUM = "0xb306b7E9D895748A2779586C83112035D8223C7F"; +export const SADDLE_FRAXBP_USX_ARBITRUM = "0x0A18D5679C5c8b56Da0D87E308DB9EE2db701BaC"; +export const SADDLE_FRAX_USDC_BP_ARBITRUM = "0xBBcaeA4e732173C0De28397421c17A595372C9CF"; +export const SADDLE_L2D4_ARBITRUM = "0xd1dF24e8D225b20F9c8f4912BE88cCCec93f36E5"; +export const SENTIMENT_LFRAX = "0xcdE7054e7a232938CdDe8BF40faf827e6f377f54"; +export const STARGATE_BRIDGE_LIQUIDITY_FRAX_ARBITRUM = "0xeA8DfEE1898a7e0a59f7527F076106d7e44c2176"; + +// FraxBonds + +// FraxFerry +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FERRY_TO_POLYGON = "0xe57314D4405289FfC91306E4574C28b7394c4822"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FRAXFERRY_V1__ETHEREUM_ARBITRUM__FRAX__ARBI_SIDE = "0x5a9BEf8CEa603aAc78a523fb245C1A9264D50706"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPIS__ARBI_SIDE = "0x4EE62cA4DC0576b943dc5A8A8b9FF0883C5F2fe1"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPI__ARBI_SIDE = "0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__FRXETH__ARBI_SIDE = "0x6c5Ae8dCaD1E101FB108a89954D7dC0B8991445b"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__FXS__ARBI_SIDE = "0x078Dd77De4e0f480D7442495d55707cE071B4B09"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRAX__ARBI_SIDE = "0x1B0b9991Df27a4F2847478127d51Fb29883882f5"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRXETH__ARBI_SIDE = "0xf1C16E1c01e62716884ef947063e9C7D44eC287F"; + +// FraxlendAndOracles +export const FRAXLEND_WHITELIST_ADDRESS = "0xBC5Fcb3725c53b6EA8395A492Dad3D32F09EF079"; +export const FRAXLEND_HOT_WALLET = "0xdB3388e770F49A604E11f1a2084B39279492a61f"; +export const FRAXLEND_PAIR_REGISTRY_ADDRESS = "0x0bD2fFBcB0A17De2d5a543ec2D47C772eeaD316d"; +export const FRAXLEND_PAIR_DEPLOYER_V4_ADDRESS = "0xc70CC721d19dC7e627B81fEacb6a357Fb11200Af"; +export const FRAXLEND_PAIR_ARB_FRAX = "0x2D0483FefAbA4325c7521539a3DFaCf94A19C472"; +export const ARBITRUM_DUAL_ORACLE_ADDRESS = "0x5985FBb03b6A5EA390871c2bB9742cD406575667"; +export const ARB_ETH_UNI_V3_POOL = "0xC6F780497A95e246EB9449f5e4770916DCd6396A"; +export const ARB_USD_CHAINLINK_ORACLE = "0xb2A824043730FE05F3DA2efaFa1CBbe83fa548D6"; +export const ETH_USD_CHAINLINK_ORACLE = "0x639Fe6ab55C921f74e7fac1ee960C0B6293ba612"; +export const ARB_ERC20 = "0x912CE59144191C1204E64559FE8253a0e49E6548"; +export const WETH_ERC20 = "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1"; +export const FRAX_ERC20 = "0x17FC002b466eEc40DaE837Fc4bE5c67993ddBd6F"; +export const VARIABLE_RATE_V2 = "0x6c1b76Ca12d74970d40Aec4d6f2E3A653CC58685"; +export const FRAXLEND_PAIR_GMX_FRAX = "0x6076ebDFE17555ed3E6869CF9C373Bbd9aD55d38"; +export const GMX_DUAL_ORACLE_ADDRESS = "0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3"; +export const GMX_ERC20 = "0xfc5A1A6EB076a2C7aD06eD22C90d7E710E35ad0a"; +export const FRAXLENDPAIR_WBTC_FRAX = "0x9168AC3a83A31bd85c93F4429a84c05db2CaEF08"; +export const WBTC_DUAL_ORACLE_ADDRESS = "0x34b7525FB0735342Ef3E73d0ED2a912aaAC6c617"; +export const WBTC_ERC20 = "0x2f2a2543B76A4166549F7aaB2e75Bef0aefC5B0f"; + +// Fraxswap +export const FRAXSWAP_FACTORY_V1 = "0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E"; +export const FRAXSWAP_FACTORY_V2 = "0x8374A74A728f06bEa6B7259C68AA7BBB732bfeaD"; +export const FRAXSWAP_ROUTER_V1 = "0xc2544A32872A91F4A553b404C6950e89De901fdb"; +export const FRAXSWAP_ROUTER_V2 = "0xCAAaB0A72f781B92bA63Af27477aA46aB8F653E7"; +export const FRAXSWAP_ROUTER_MULTI_HOP = "0x0000000000000000000000000000000000000000"; +export const KYBERSWAP_ELASTIC_FACTORY_V2 = "0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A"; +export const KYBERSWAP_ELASTIC_POS_MGR_V2 = "0xe222fBE074A436145b255442D919E4E3A6c6a480"; +export const KYBERSWAP_ELASTIC_ROUTER_V2 = "0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4"; +export const KYBERSWAP_ELASTIC_TICK_FEES_READER_V2 = "0x8Fd8Cb948965d9305999D767A02bf79833EADbB3"; + +// Misc +export const FRAX_AMO_MINTER_LAYER_2 = "0x1c5400491fE82EE8FC21489C51e402B3c8a2fB81"; +export const FRAXLEND_AMO = "0xCDeE1B853AD2E96921250775b7A60D6ff78fD8B4"; + +// Multisigs +export const CIRCUIT_BREAKER_ADDRESS = "0xDF85346111C0F9680a77d4c496b6fd5278516fa6"; +export const FPI_COMPTROLLER = "0xF0D5007dB0393c9D5F6A88A5F82Df520EA483fDb"; +export const FRAXLEND_COMPTROLLER_ADDRESS = "0x0B6A2B7fc025ce864A7CBF9df6e940C614C31f74"; +export const FRAX_MASTER_MULTISIG_ADDRESS = "0xe61D9ed1e5Dc261D1e90a99304fADCef2c76FD10"; +export const MAIN_COMPTROLLER = "0xe61D9ed1e5Dc261D1e90a99304fADCef2c76FD10"; +export const TIMELOCK_ADDRESS = "0xB426B13372B7c967C4a2371B5e95FC7dc37545Db"; + +// PoolRelatedTokens +export const CURVE4POOL = "0x1C5ffa4FB4907B681c61B8c82b28C4672ceb1974"; +export const CVXFRAXBP = "0x93729702Bf9E1687Ae2124e191B8fFbcC0C8A0B0"; +export const CVXFRAXBP_REWARDER = "0x93729702Bf9E1687Ae2124e191B8fFbcC0C8A0B0"; +export const CVXFRAXFXB_20241231_ARBITRUM = "0xCDA69af1077765a89eA156aCe7a6f8b476e4aF12"; +export const CVXFRAXFXB_20261231_ARBITRUM = "0x2026681d569f80aE0A86D7c90bc81065D9A3AD42"; +export const CVXFRXETHWETH = "0xd2D8BEB901f90163bE4667A85cDDEbB7177eb3E3"; +export const CVXFRXETHWETH_REWARDER = "0xd2D8BEB901f90163bE4667A85cDDEbB7177eb3E3"; +export const CVXHFXBFRAX = "0x256F53F13AdfF53CB888bc19ea0003651Be8F3B6"; +export const CVXHFXBFRAX_REWARDER = "0x256F53F13AdfF53CB888bc19ea0003651Be8F3B6"; +export const CVXUSDPLUSFRAXBP = "0x11F2217fa1D5c44Eae310b9b985E2964FC47D8f9"; +export const CVXUSDPLUSFRAXBP_REWARDER = "0x11F2217fa1D5c44Eae310b9b985E2964FC47D8f9"; +export const FRAX2POOL = "0xf07d553B195080F84F582e88ecdD54bAa122b279"; +export const FRAXBP = "0xC9B8a3FDECB9D5b218d02555a8Baf332E5B740d5"; +export const FRAXBP_GAUGE = "0x95285Ea6fF14F80A2fD3989a6bAb993Bd6b5fA13"; +export const FRAXBP_POOL = "0xC9B8a3FDECB9D5b218d02555a8Baf332E5B740d5"; +export const FRAXFXB_20241231 = "0xE920eEdAff6c3BEd1Ef61010B64d46986634E908"; +export const FRAXFXB_20241231_GAUGE = "0x05824D6D4DE8A0ede4e12b98387A4f035a67ee68"; +export const FRAXFXB_20241231_POOL = "0xE920eEdAff6c3BEd1Ef61010B64d46986634E908"; +export const FRAXFXB_20261231 = "0x946adc524BD312D036776798c46ceDD948DD0A0f"; +export const FRAXFXB_20261231_GAUGE = "0xa2617A26f9f528fa7B0E47fc2e66FcC04C6682E9"; +export const FRAXFXB_20261231_POOL = "0x946adc524BD312D036776798c46ceDD948DD0A0f"; +export const FRXETHWETH = "0x1DeB3b1cA6afca0FF9C5cE9301950dC98Ac0D523"; +export const FRXETHWETH_GAUGE = "0x46FEc59Eb30C2D610917ebf4CE5114f7425b2c4A"; +export const FRXETHWETH_POOL = "0x1DeB3b1cA6afca0FF9C5cE9301950dC98Ac0D523"; +export const HFRAX = "0xb1c4426C86082D91a6c097fC588E5D5d8dD1f5a8"; +export const HFXBFRAX = "0x8f5d46267EB52F3aA6E141004A781469D445888c"; +export const HFXBFRAX_GAUGE = "0x725E997571F4fD144bB741762E8fA9f1D11761a7"; +export const HFXBFRAX_POOL = "0x8f5d46267EB52F3aA6E141004A781469D445888c"; +export const LFRAX = "0x2E9963ae673A885b6bfeDa2f80132CE28b784C40"; +export const SADDLEARBUSDV2 = "0x0a20c2FFa10cD43F67D06170422505b7D6fC0953"; +export const SADDLEL2D4 = "0x147D0Af556C6D89640BFa915D2b9619d7b55947a"; +export const SADDLEL2D4_PERMISSIONLESS_SWAP = "0xF2839E0b30B5e96083085F498b14bbc12530b734"; +export const SDL_ARBUSDV2 = "0x0a20c2FFa10cD43F67D06170422505b7D6fC0953"; +export const SDL_ARBUSDV2_POOL = "0xfeEa4D1BacB0519E8f952460A70719944fe56Ee0"; +export const SDL_FRAXBP = "0x896935B02D3cBEb152192774e4F1991bb1D2ED3f"; +export const SDL_FRAXBP_POOL = "0x401AFbc31ad2A3Bc0eD8960d63eFcDEA749b4849"; +export const SDL_USDSFRAXBP = "0x1e491122f3C096392b40a4EA27aa1a29360d38a1"; +export const SDL_USDSFRAXBP_POOL = "0xa5bD85ed9fA27ba23BfB702989e7218E44fd4706"; +export const SDL_USDTFRAXBP = "0x166680852ae9Dec3d63374c5eBf89E974448BFE9"; +export const SDL_USDTFRAXBP_POOL = "0xf8504e92428d65E56e495684A38f679C1B1DC30b"; +export const SDL_USXFRAXBP = "0x721DaC7d5ACc8Aa62946fd583C1F999e1570b97D"; +export const SDL_USXFRAXBP_POOL = "0xb2a2764D0DCAB445E24f4b813bE3f6ef8AE5f84D"; +export const USDPLUSFRAXBP = "0xb34a7d1444a707349Bc7b981B7F2E1f20F81F013"; +export const USDPLUSFRAXBP_GAUGE = "0x4645e6476D3A5595Be9Efd39426cc10586a8393D"; +export const USDPLUSFRAXBP_POOL = "0xb34a7d1444a707349Bc7b981B7F2E1f20F81F013"; +export const VECHR = "0x9A01857f33aa382b1d5bb96C3180347862432B0d"; +export const VERAM = "0xAAA343032aA79eE9a6897Dab03bef967c3289a06"; diff --git a/scripts/constants/avalanche.ts b/scripts/constants/avalanche.ts new file mode 100644 index 0000000..295ead0 --- /dev/null +++ b/scripts/constants/avalanche.ts @@ -0,0 +1,62 @@ +// Canonicals +export const FRAX = "0xD24C2Ad096400B6FBcd2ad8B24E7acBc21A1da64"; +export const FXS = "0x214DB107654fF987AD859F34125307783fC8e387"; +export const FPI = "0xF530904FD8F9ce55F40b7cc78382A13B0cd5C48c"; +export const FPIS = "0xee7cBa1403A2B0C53181B3980D52f9C5EdEEcC9e"; +export const FRXETH = "0x2018B0CA0eDcE80800851958bD094dD4a8DA1fc4"; +export const SFRXETH = "0x6D3B126ae28f3E39894070148B377624F6Ab4a45"; +export const SFRAX = "0x3405E88af759992937b84E58F2Fe691EF0EeA320"; + +// Farms +export const PANGOLIN_FRAX_AVAX = "0x1f806f7C8dED893fd3caE279191ad7Aa3798E928"; +export const PANGOLIN_FXS_AVAX = "0x76Ad5c64Fe6B26b6aD9aaAA19eBa00e9eCa31FE1"; +export const SNOWBALL_S4D = "0x0bd7964E2E03bdb9703658A1e88F4Dc786FfA551"; +export const TRADER_JOE_FRAX_AVAX = "0x862905a82382Db9405a40DCAa8Ee9e8F4af52C89"; +export const TRADER_JOE_FRAX_GOHM = "0x3E6Be71dE004363379d864006AAC37C9F55F8329"; +export const TRADER_JOE_FXS_AVAX = "0x53942Dcce5087f56cF1D68F4e017Ca3A793F59a2"; + +// FraxBonds + +// FraxFerry +export const FRAXFERRY_V1__ETHEREUM_AVALANCHE__FRAX__AVAX_SIDE = "0x5dfF474Cea8A1FA929AC9A3cE2550376aF11d2A8"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__FXS__AVAX_SIDE = "0xC311b600bc926a3a8aC39945471427DFd9196930"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPI__AVAX_SIDE = "0x5E2Ba6a55a5A031d4eCdbAf5691316b7779A6dD4"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPIS__AVAX_SIDE = "0xb3F6A473b875d74b0E2a86ba9F8a2A935241BaE7"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__FRXETH__AVAX_SIDE = "0x8f4312DAB71BaAaF64917556333B004db5f3D7DA"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRXETH__AVAX_SIDE = "0xaf45B8fbde0e0aCbeB5Acf2faE28A34701b1eF01"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRAX__AVAX_SIDE = "0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E"; +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; + +// FraxlendAndOracles +export const COMBO_ORACLE = "0xf22460b939F1490b485005C0fe4643951724f822"; +export const COMBO_ORACLE_UNIV2_UNIV3 = "0xfD1a5eD9FaE84f06Ab2e846851F256D4d07B1A17"; + +// Fraxswap +export const FRAXSWAP_FACTORY_V1 = "0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E"; +export const FRAXSWAP_FACTORY_V2 = "0xf77ca9B635898980fb219b4F4605C50e4ba58afF"; +export const FRAXSWAP_ROUTER_V1 = "0xc2544A32872A91F4A553b404C6950e89De901fdb"; +export const FRAXSWAP_ROUTER_V2 = "0x5977b16AA9aBC4D1281058C73B789C65Bf9ab3d3"; +export const FRAXSWAP_V1_FRAX_FXS = "0xEa9345507c4055b2aC73c67e56f7207702FE66Cc"; +export const FRAXSWAP_V1_FRAX_WAVAX = "0x48A7d7d9b6d6529a3d191E434b71CDB874f29011"; +export const FRAXSWAP_V2_FRAX_FXS = "0x27cc2Be95D1492bbA726E10Eba57968A065F05eC"; +export const FRAXSWAP_V2_FRAX_WAVAX = "0xC725819a7c2A5d3DA243e02eb886b4C5f2B4dc6A"; + +// Misc + +// Multisigs +export const COMPTROLLER = "0xc036Caff65c1A31eAa53e60F6E17f1E6689937AA"; +export const FPI_COMPTROLLER = "0xB3e03c9C1820C6216953FB1BBC6fFd232ac12a19"; + +// PoolRelatedTokens +export const AXIAL_AC4D_TSD_MIM_FRAX_DAI_E = "0x4da067E13974A4d32D342d86fBBbE4fb0f95f382"; +export const CURVE4POOL = "0xcb11EE4B70d73e38a383b8691cAFb221059669cC"; +export const CURVE_4POOL = "0xcb11EE4B70d73e38a383b8691cAFb221059669cC"; +export const FRAX3CRV_F = "0xE013593CEA239E445d2271106836b00C9E7356ae"; +export const GOHM = "0x321E7092a180BB43555132ec53AaA65a5bF84251"; +export const PANGOLIN_CANFRAX_CANFXS = "0xe0CC7ed0666B29e60a21aF8636bBC69b21eDc434"; +export const PANGOLIN_CANFRAX_USDC_E = "0x0c8249757b8d66cB2b6155281A5e4f8F53C94c05"; +export const PANGOLIN_CANFRAX_WAVAX = "0x0CE543c0f81ac9AAa665cCaAe5EeC70861a6b559"; +export const PANGOLIN_CANFXS_USDC_E = "0x8614F7ca1f4b08Ef2C158a3027EA55fAA8384aC8"; +export const TRADER_JOE_FRAX_WAVAX = "0x0d84595e8638dBc631076c51000B2d31120D8aa1"; diff --git a/scripts/constants/bsc.ts b/scripts/constants/bsc.ts new file mode 100644 index 0000000..01e8591 --- /dev/null +++ b/scripts/constants/bsc.ts @@ -0,0 +1,58 @@ +// Canonicals +export const FRAX = "0x90C97F71E18723b0Cf0dfa30ee176Ab653E89F40"; +export const FXS = "0xe48A3d7d0Bc88d552f730B62c006bC925eadB9eE"; +export const FPI = "0x2Dd1B4D4548aCCeA497050619965f91f78b3b532"; +export const FPIS = "0xD1738eB733A636d1b8665f48bC8a24dA889c2562"; +export const FRXETH = "0x64048A7eEcF3a2F1BA9e144aAc3D7dB6e58F555e"; +export const SFRXETH = "0x3Cd55356433C89E50DC51aB07EE0fa0A95623D53"; +export const SFRAX = "0xa63f56985F9C7F3bc9fFc5685535649e0C1a55f3"; + +// Farms +export const APESWAP_CANFRAX_BUSD = "0x5c8D727b265DBAfaba67E050f2f739cAeEB4A6F9"; +export const APESWAP_CANFXS_WBNB = "0x5c8D727b265DBAfaba67E050f2f739cAeEB4A6F9"; +export const IMPOSSIBLE_FRAX_IF = "0x5e1F728C0123f7e8B237F61D0105bf9CBd8867B5"; +export const IMPOSSIBLE_FRAX_FXS = "0x5BE579e5fFF39a958E6269C6D011cd5f21e2cc32"; +export const PLANET_FINANCE_FRAX_LENDING = "0x6022bA7e5A70E1bAA98d47a566F3495A26511b25"; + +// FraxBonds + +// FraxFerry +export const FRAXFERRY_V1__ETHEREUM_BSC__FRAX__BSC_SIDE = "0x10Ef54F944639764d2d5Efa272262f06cfaF09AE"; +export const FRAXFERRY_V2__ETHEREUM_BSC__FXS__BSC_SIDE = "0x5CD3d6465cd21b645F15175840f4659228C6195c"; +export const FRAXFERRY_V2__ETHEREUM_BSC__FPI__BSC_SIDE = "0x1B01514A2B3CdEf16fD3c680a818A0Ab97Da8a09"; +export const FRAXFERRY_V2__ETHEREUM_BSC__FPIS__BSC_SIDE = "0x0248940C22D2586450dd5145E81B7Fc0CA4Dd4a2"; +export const FRAXFERRY_V2__ETHEREUM_BSC__FRXETH__BSC_SIDE = "0xB7C974530e59017DF7FA06b1EBD9e8a1E9aceC29"; +export const FRAXFERRY_V2__ETHEREUM_BSC__SFRXETH__BSC_SIDE = "0x612015939f70C87E2041cc5daD909101c1A2383F"; +export const FRAXFERRY_V2__ETHEREUM_BSC__SFRAX__BSC_SIDE = "0x5E8422345238F34275888049021821E8E08CAa1f"; +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; + +// FraxlendAndOracles +export const COMBO_ORACLE = "0x1B3C6BdEACdc4DD9B0C8E3e2Fd222b4581a52A1A"; +export const COMBO_ORACLE_UNIV2_UNIV3 = "0x8159D9CD28B7A140Fd92311C1E5c667d97176727"; + +// Fraxswap +export const FRAXSWAP_FACTORY_V1 = "0xa007a9716dba05289df85A90d0Fd9D39BEE808dE"; +export const FRAXSWAP_FACTORY_V2 = "0xf89e6CA06121B6d4370f4B196Ae458e8b969A011"; +export const FRAXSWAP_ROUTER_MULTI_HOP = "0x0000000000000000000000000000000000000000"; +export const FRAXSWAP_ROUTER_V1 = "0x0AE84c1A6E142Ed90f8A35a7E7B216CB25469E37"; +export const FRAXSWAP_ROUTER_V2 = "0x67F755137E0AE2a2aa0323c047715Bf6523116E5"; +export const FRAXSWAP_V1_FRAX_FXS = "0xC86B106F76ef5b9A085071365eD5355592A7aFa4"; +export const FRAXSWAP_V1_FRAX_WBNB = "0x84eE532a0d4238f5fC4a1E8c043f8749eD4F274D"; +export const FRAXSWAP_V2_FRAX_FXS = "0xF51709f61447E2647528CCC9030d6FE492C30D63"; +export const FRAXSWAP_V2_FRAX_WBNB = "0x14732123c443f8E815D5c64f3C7ecb63bCeEab74"; + +// Misc + +// Multisigs +export const COMPTROLLER = "0x8811Da0385cCf1848B21475A42eA4D07Fc5d964a"; +export const FPI_COMPTROLLER = "0x49f9cbf5333d8e50c9BE76c775777DB2ACb1d456"; + +// PoolRelatedTokens +export const GFRAX = "0x6022bA7e5A70E1bAA98d47a566F3495A26511b25"; +export const APESWAP_CANFRAX_CANFXS = "0x489c8fF79245f14AEEE9520d28209844790cB979"; +export const APESWAP_CANFRAX_WBNB = "0x16BDb03E6074759943149eBB1526DDfD1AA5fc56"; +export const APESWAP_CANFRAX_USDC = "0x885BE9bCbCdcB70c59F56A78ae64A820e0448589"; +export const APESWAP_CANFXS_USDC = "0x84f2781E4E60f97D2963260A7b20D883F04F0d20"; +export const SADDLE_FRAX_BUSD = "0xBD0091CC77Fd3bDb620985a1dD8D3f94E071CCE3"; diff --git a/scripts/constants/fantom.ts b/scripts/constants/fantom.ts new file mode 100644 index 0000000..633ca4d --- /dev/null +++ b/scripts/constants/fantom.ts @@ -0,0 +1,65 @@ +// Canonicals +export const FRAX = "0xdc301622e621166BD8E82f2cA0A26c13Ad0BE355"; +export const FXS = "0x7d016eec9c25232b01F23EF992D98ca97fc2AF5a"; +export const FPI = "0xAb069E73f1AA50c37A7171D16dCc3614c705101B"; +export const FPIS = "0x3bb6B72dC07D7bFDa981F70C631482e9517CF6EE"; +export const FRXETH = "0x9E73F99EE061C8807F69f9c6CCc44ea3d8c373ee"; +export const SFRXETH = "0xb90CCD563918fF900928dc529aA01046795ccb4A"; + +// Farms +export const LIQUID_DRIVER_FRAX_FTM = "0x6e2ad6527901c9664f016466b8DA1357a004db0f"; +export const SPIRITSWAP_FRAX_FTM = "0x7ed0cdDB9BB6c6dfEa6fB63E117c8305479B8D7D"; +export const SPIRITSWAP_FRAX_FXS = "0x21cE9F4bCe3Ec48f34cE9073a5102bEEd965f381"; +export const SPIRITSWAP_FRAX_USDC = "0x1478AEC7896e40aE5fB858C77D389F0B3e6CbC5d"; +export const VEDAO_FRAX = "0xE04C26444d37fE103B9cc8033c99b09D47056f51"; + +// FraxBonds + +// FraxFerry +export const FRAXFERRY_V1__ETHEREUM_FANTOM__FRAX__FTM_SIDE = "0x088Be716eCA24b143fCC9ed06C6ae9977A469CCE"; +export const FRAXFERRY_V2__ETHEREUM_FANTOM__FXS__FTM_SIDE = "0x9b75031D46CdEe779B36F7F2f1857fd987C6C98c"; +export const FRAXFERRY_V2__ETHEREUM_FANTOM__FRXETH__FTM_SIDE = "0x12b6a8178C67B2835E280E1Ed709F64446cddb08"; +export const FRAXFERRY_V2__ETHEREUM_FANTOM__SFRXETH__FTM_SIDE = "0x71e1FEeAA17b6557c5FaD60101ca12F81d03838C"; +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; + +// FraxlendAndOracles +export const COMBO_ORACLE = "0x496E5c8F169C2930Dd67B821d8DdDDC78542f290"; +export const COMBO_ORACLE_UNIV2_UNIV3 = "0x689C5BC12B0A80a8aa33dc38dfDFB7E858A49601"; + +// Fraxswap +export const FRAXSWAP_FACTORY_V1 = "0xF55C563148cA0c0F1626834ec1B8651844D76792"; +export const FRAXSWAP_FACTORY_V2 = "0xDc745E09fC459aDC295E2e7baACe881354dB7F64"; +export const FRAXSWAP_ROUTER_V1 = "0xa007a9716dba05289df85A90d0Fd9D39BEE808dE"; +export const FRAXSWAP_ROUTER_V2 = "0x7D21C651Dd333306B35F2FeAC2a19FA1e1241545"; +export const FRAXSWAP_ROUTER_MULTI_HOP = "0x0000000000000000000000000000000000000000"; +export const FRAXSWAP_V1_FRAX_FXS = "0xB186ad077cA69e860476B2C84ecD0DE3572A10F5"; +export const FRAXSWAP_V1_FRAX_WFTM = "0xc736279b8371c736f027cCC3F77755D7931F8845"; +export const FRAXSWAP_V2_FRAX_FXS = "0x4ac3de029F4C11ab40a51336F7229d67cd1e92A5"; +export const FRAXSWAP_V2_FRAX_WFTM = "0x173F3e43F0414F903620948F9d2094F9dbD92F15"; + +// Misc + +// Multisigs +export const COMPTROLLER = "0xE838c61635dd1D41952c68E47159329443283d90"; +export const FPI_COMPTROLLER = "0xe722B0fA594e290a8E53bFB5654cE4Ad8a4BE811"; + +// PoolRelatedTokens +export const CURVE4POOL = "0x9dc516a18775d492c9f061211C8a3FDCd476558d"; +export const CURVE_4POOL = "0x9dc516a18775d492c9f061211C8a3FDCd476558d"; +export const FRAX2POOL = "0x7a656B342E14F745e2B164890E88017e27AE7320"; +export const HFRAX = "0xb4300e088a3AE4e624EE5C71Bc1822F68BB5f2bc"; +export const OFRAX = "0x88c05534566f3bD6b6D704c9259408fF1F1a3F00"; +export const OXSOLID = "0xDA0053F0bEfCbcaC208A3f867BB243716734D809"; +export const OX_VAMM_FXS_FRAX_DEPOSIT = "0x9601f81F35B2F00549a654E3f2E5D7c87F733530"; +export const SADDLE_FRAX_USDC = "0xc969dD0A7AB0F8a0C5A69C0839dB39b6C928bC08"; +export const SCFRAX = "0x4E6854EA84884330207fB557D1555961D85Fc17E"; +export const SEX_SAMM_USDC_FRAX_DEPOSIT = "0xF3E57E9cba43F9998559161DDd40aaeB2225E700"; +export const SEX_VAMM_FXS_FRAX_DEPOSIT = "0xa5944150136aCF58e4e9752703Fcf7B13e8579E7"; +export const SOLIDLY_STABLEV1_AMM___USDC_FRAX = "0x154eA0E896695824C87985a52230674C2BE7731b"; +export const SOLIDLY_VOLATILEV1_AMM___FXS_FRAX = "0x4bBd8467ccd49D5360648CE14830f43a7fEB6e45"; +export const SPIRITSWAP_CANFRAX_ANYUSDC = "0x1478AEC7896e40aE5fB858C77D389F0B3e6CbC5d"; +export const SPIRITSWAP_CANFRAX_CANFXS = "0x7a2aD237e389De505DE7a89768143337E516C6Ce"; +export const SPIRITSWAP_CANFRAX_FTM = "0x7ed0cdDB9BB6c6dfEa6fB63E117c8305479B8D7D"; +export const SPIRITSWAP_CANFXS_ANYUSDC = "0xB269A9969A437e778A8BFdB48A720aD366742554"; diff --git a/scripts/constants/fraxtal-devnet-l1.ts b/scripts/constants/fraxtal-devnet-l1.ts new file mode 100644 index 0000000..b07a8c1 --- /dev/null +++ b/scripts/constants/fraxtal-devnet-l1.ts @@ -0,0 +1,38 @@ +// export const FPI_ERC20 = "0x67218f66a84809201CfBa5c8b46dBd3aB95A42da"; +// export const FPIS_ERC20 = "0xC0497C072d3015fd7D45893157bCDCC1BcfEb6b5"; +// export const FRAX_ERC20 = "0xac3E018457B222d93114458476f3E3416Abbe38F"; +// export const FXS_ERC20 = "0xbAFA44EFE7901E04E39Dad13167D089C559c1138"; +// export const SFRXETH_ERC20 = "0x56390acF12bce9675ab3922060D8d955149BE286"; +// export const FRXETH_ERC20 = "0xB1C4e5a15544f005166880749C46D35a00916462"; +// export const FRXETH_MINTER = "0x80f1C4F5CD94D49e98D0a975690796f1E8C0379e"; +// export const FRXBTC_ERC20 = "0x3fe0150F6Daa6a54C585f85f0e78d665532e5b74"; +// export const SFRAX_ERC20 = "0x1D348307745645b91c49716Fae22Ad5d4CC0b94a"; + +// Canonicals +export const FRAX = "0x114a0318Da080A2Ee3380269d796E93DF767D24F"; +export const FXS = "0xD86518aDB08DF9AcF9E84EB216d7862bc0F634C0"; +export const FPI = "0xfC75d8fD01fD999D2A4731a01d87131b40A8a645"; +export const FPIS = "0x9445aD9a63def63CA9D23cfd7cd72538BbF1780A"; +export const FRXBTC = "0x2a2acd879050aC8910d80dccb428a0AEf77fFA36"; +export const FRXETH = "0x51Ed07ceB785d2983e56CF00CAf65499dae5df3B"; +export const SFRXETH = "0x2787eC65f085acbbE94F1bB7E099dF06B56b6DaC"; +export const SFRAX = "0xB26fDD0FF10A287a73EFaa0b18A0e57fd8168835"; + +// Farms + +// FraxBonds + +// FraxFerry + +// FraxlendAndOracles + +// Fraxswap + +// Misc +export const CHAIN_ID = 2520; +export const FRXETH_MINTER = "0x890205b3397a1F273BaD55476F2856886964E788"; + +// Multisigs +export const COMPTROLLER = "0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160"; + +// PoolRelatedTokens diff --git a/scripts/constants/fraxtal-devnet-l2.ts b/scripts/constants/fraxtal-devnet-l2.ts new file mode 100644 index 0000000..2e560dd --- /dev/null +++ b/scripts/constants/fraxtal-devnet-l2.ts @@ -0,0 +1,34 @@ +// Canonicals +export const FRAX = "0xFc00000000000000000000000000000000000001"; +export const FXS = "0xFc00000000000000000000000000000000000002"; +export const FPI = "0xFc00000000000000000000000000000000000003"; +export const FPIS = "0xfc00000000000000000000000000000000000004"; +export const FRXBTC = "0xfC00000000000000000000000000000000000007"; +export const WFRXETH = "0xFC00000000000000000000000000000000000006"; +export const SFRXETH = "0xFC00000000000000000000000000000000000005"; +export const SFRAX = "0xfc00000000000000000000000000000000000008"; + +// Farms + +// FraxBonds + +// FraxFerry + +// FraxlendAndOracles + +// Fraxswap + +// Misc +export const CHAIN_ID = 2521; +export const PROXY_ADMIN = "0xfC00000000000000000000000000000000000009"; + +// Multisigs +export const COMPTROLLER = "0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160"; + +// PoolRelatedTokens + +// SystemContracts +export const CROSS_DOMAIN_MESSENGER = "0x4200000000000000000000000000000000000007"; +export const ERC20_FACTORY_PROXY = "0x4200000000000000000000000000000000000012"; +export const L2_STANDARD_BRIDGE_PROXY = "0x4200000000000000000000000000000000000010"; +export const L2_TO_L1_MESSAGE_PASSER = "0x4200000000000000000000000000000000000016"; diff --git a/scripts/constants/fraxtal-l2.ts b/scripts/constants/fraxtal-l2.ts new file mode 100644 index 0000000..6e921a1 --- /dev/null +++ b/scripts/constants/fraxtal-l2.ts @@ -0,0 +1,188 @@ +export const CHAIN_ID = 252; + +// Canonicals +export const FRAX = "0xFc00000000000000000000000000000000000001"; +export const FXS = "0xFc00000000000000000000000000000000000002"; +export const FPI = "0xFc00000000000000000000000000000000000003"; +export const FPIS = "0xfc00000000000000000000000000000000000004"; +export const SFRXETH = "0xFC00000000000000000000000000000000000005"; +export const WFRXETH = "0xFC00000000000000000000000000000000000006"; +export const FRXBTC = "0xfC00000000000000000000000000000000000007"; +export const SFRAX = "0xfc00000000000000000000000000000000000008"; +export const FRAX_PROXY = FRAX; +export const FXS_PROXY = FXS; +export const FPI_PROXY = FPI; +export const FPIS_PROXY = FPIS; +export const SFRXETH_PROXY = SFRXETH; +export const WFRXETH_PROXY = WFRXETH; +export const FRXBTC_PROXY = FRXBTC; +export const SFRAX_PROXY = SFRAX; + +// Farms +export const CONVEX_SQUID_WFRXETH_FRAXTAL = "0x95AB2a2F6e701873cEA0070dAc735589D089f6Bc"; +export const FLE_FRAX_FXS_FRAXTAL = "0xCe70630b4b2E889AdC558b58B2980437f58003D4"; +export const FLE_FXS_WFRXETH_FRAXTAL = "0x7A6BE195f9931341c1f4c4230fc48F8B9b9dE91b"; +export const FRAXSWAP_V2_FRAX_FPI_FRAXTAL = "0x7b8848f10A016341c9B2427e8541C19F31C2D243"; +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"; +export const FXB_20241231 = "0xa71bB8c79dc8FfA90A6Dd711aA9Fbe5114c19cba"; +export const FXB_20240630 = "0x758094A71a39De49626FE25B86631ED944558653"; +export const FXB_20551231 = "0xc38173d34afaea88bc482813b3cd267bc8a1ea83"; +export const FXB_20291231 = "0xf1e2b576af4c6a7ee966b14c810b772391e92153"; +export const FXB_20251231 = "0xaca9a33698cf96413a40a4eb9e87906ff40fc6ca"; + +// FraxFerry +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__FRAX__FXTL_SIDE = "0x00160baF84b3D2014837cc12e838ea399f8b8478"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__FXS__FXTL_SIDE = "0x24e927daC110Aab7189a4F864d41680e4F7865FB"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPI__FXTL_SIDE = "0xEcf63fd1A839fF54949eB786693237bEEC59C6e7"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPIS__FXTL_SIDE = "0xcD3A040f05769d7628582B403063e61B7D212F91"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRXETH__FXTL_SIDE = "0x67c6A8A715fc726ffD0A40588701813d9eC04d9C"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRAX__FXTL_SIDE = "0x08Be8BaAb62fB0A363f38C82Ee2320A36b72f2DB"; +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; + +// FraxlendAndOracles +export const CHAINLINK_ETH_USD_ORACLE = "0xA6cBe9aB6075d8b1049Db7528f2fCf22FC7d051B"; +export const CIRCUIT_BREAKER_ADDRESS = "0x0eD01ea3B95e0f68DF2c9CD67F138ff3547b311C"; +export const FRAXLEND_DEPLOYER_V4 = "0x4C3B0e85CD8C12E049E07D9a4d68C441196E6a12"; +export const FRAXLEND_HOT_WALLET = "0x31562ae726AFEBe25417df01bEdC72EF489F45b3"; +export const FRAXLEND_PAIR_REGISTRY_ADDRESS = "0x8c22EBc8f9B96cEac97EA21c53F3B27ef2F45e57"; +export const FRAXLEND_WHITELIST_ADDRESS = "0x64F85076665dcE1FbEfC23391b8BFB2595c250f6"; +export const FRAXTAL_BLOCKHASH_PROVIDER = "0x4200000000000000000000000000000000000015"; +export const FRAXTAL_MERKLE_PRICE_SOURCE = "0x9990eb28E58380122AA3AdF64ea6f874df51114C"; +export const FRAXTAL_STATE_ROOT_ORACLE = "0xeD403d48e2bC946438B5686AA1AD65056Ccf9512"; +export const FRXETH_DUAL_ORACLE_REDSTONE = "0x4b0Ca693e29e5FD2AA39332a0387BBCD0f91a527"; +export const FXB_20240630_ORACLE = "0x1A60b40601Bb5AA192389b05F80A7BeAde6d77d7"; +export const FXB_20241231_ORACLE = "0x01480a0C134CeCC309015a564C7e292ba6E0F358"; +export const FXB_20261231_ORACLE = "0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3"; +export const FXB_20551231_ORACLE = "0x8a081F35aE1cB4314c73CdDE63CC022Ca6AdEAa6"; +export const FXB_20291231_ORACLE = "0x859e3b11d9f8ff5d4c4beA569F76cdD25D5Ffc4b"; +export const FXB_20251231_ORACLE = "0x9c51c8ba9Ce85984C2389e13Fa1b77Cd587A2A18"; +export const FXB_VARIABLE_RATE_2 = "0x3FdA3e9E78EAcd7381F1ED2CF145B93537878c1f"; +export const FXS_DUAL_ORACLE_REDSTONE = "0xB99c9d329Bd69dDf8AF57110e011F5D81801c6d2"; +export const SFRAX_SFRXETH_INVERSE_ORACLE_REDSTONE = "0x1010E24A2F0e6954c6456Bf925764eCc8577Fa2c"; +export const SFRXETH_DUAL_ORACLE_REDSTONE = "0xfbcDf41Cc692ed529b9a8cC1A5867B9524FD0164"; +export const TIMELOCK_ADDRESS = "0xc16068d1ca7E24E20e56bB70af4D00D92AA4f0b2"; +export const VARIABLE_RATE_2_ADDRESS = "0xFA7207F02ba29Cd122A9d49ce96F6cA7707A1652"; +export const VARIABLE_RATE_2_ADDRESS_50 = "0x3Fdb6BC356dAD0D7260E9619efa125409a08C3B2"; +export const FRAXLEND_PAIR_FXB_20261231_FRAX = "0x032578d99b1070682a5E171012BE1756a50a17d4"; +export const FRAXLEND_PAIR_FXB_20241231_FRAX = "0x6154334A7D0E7f5f0479599D15F462B200C721E1"; +export const FRAXLEND_PAIR_FXB_20240630_FRAX = "0x57b709e214B239821A78dFCF09c89f52bA3D80aD"; +export const FRAXLEND_PAIR_FXB_20291231_FRAX = "0x3e92765eE2B009b104A8A7baf3759B159c19AbA1"; +export const FRAXLEND_PAIR_FXB_20251231_FRAX = "0x1b48c9595385F1780d7Be1aB57f8eAcFeA3A5cE5"; +export const FRAXLEND_PAIR_SFRXETH_FRAX = "0x4F968317721B9c300afBff3FD37365637318271D"; +export const FRAXLEND_PAIR_FXS_FRAX = "0x8EdA613EC96992D3C42BCd9aC2Ae58a92929Ceb2"; +export const FRAXLEND_PAIR_SFRAX_SFRXETH = "0xB71E4829e81f72f7F36A0d858e58109f5948A713"; +export const SDAI_ERC4626_ORACLE = "0xfdE8C36F32Bf32e73A1bdeb4ef3E17709674a838"; +export const SDAI_ORACLE_MERKLE_PRICE_SOURCE = "0xf3E3E2a376939bfF87e9cac84e0E5A35e495417a"; +export const SFRAX_ERC4626_ORACLE = "0xF750636E1df115e3B334eD06E5b45c375107FC60"; +export const SFRAX_MERKLE_PRICE_SOURCE = "0xe7C6385Cf5d4Ea61774A56E3aeaf60a09fC8E1d5"; +export const SFRXETH_ERC4626_ORACLE = "0xe7C6385Cf5d4Ea61774A56E3aeaf60a09fC8E1d5"; +export const SFRXETH_MERKLE_PRICE_SOURCE = "0xa560E014501f96752726f65c27E96C3e9127Ce32"; +export const SUSDE_ERC4626_ORACLE = "0xd295936C8Bb465ADd1eC756a51698127CB4F4910"; +export const SUSDE_MERKLE_PRICE_SOURCE = "0xc2B984E37D1CAf5Eef82D9D892287361058955E9"; + +// Fraxswap +export const FRAXSWAP_FACTORY = "0xE30521fe7f3bEB6Ad556887b50739d6C7CA667E6"; +export const FRAXSWAP_FRAX_FPIS_PAIR = "0x78d264E25781f31343352A0f91875B655c79B843"; +export const FRAXSWAP_FRAX_FPI_FARM = "0x7b8848f10A016341c9B2427e8541C19F31C2D243"; +export const FRAXSWAP_FRAX_FPI_PAIR = "0x0EFFABede4e31101DE5209096611D073981A817b"; +export const FRAXSWAP_FRAX_FXS_FARM = "0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25"; +export const FRAXSWAP_FRAX_FXS_PAIR = "0xb4dA8dA10ffF1F6127ab71395053Aa1d499b503F"; +export const FRAXSWAP_FRAX_SFRXETH_FARM = "0xe402a39F788f90607A50254fAf56316E6a78231A"; +export const FRAXSWAP_FRAX_SFRXETH_PAIR = "0xEBD293F2173082320d88533316F5964298dE316E"; +export const FRAXSWAP_FRAX_WFRXETH_FARM = "0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7"; +export const FRAXSWAP_ROUTER = "0x39cd4db6460d8B5961F73E997E86DdbB7Ca4D5F6"; +export const FRAXSWAP_ROUTER_MULTIHOP = "0x67E04873691258950299Bd8610403D69bA0A1e10"; +export const FRAXSWAP_WFRX_ETH_PAIR = "0x4527bcEd9d41706D1436507e9a6e354d3FF44ff9"; + +// Misc +export const BALANCE_CHECKER = "0x219356ef2f11a314Dd0D8bfd7f4B0B951Cb16c3a"; +export const DELEGATION_REGISTRY = "0x098c837FeF2e146e96ceAF58A10F68Fc6326DC4C"; +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"; +export const FRAXFERRY_ETHEREUM_FPI = "0xEcf63fd1A839fF54949eB786693237bEEC59C6e7"; +export const FRAXFERRY_ETHEREUM_FPIS = "0xcD3A040f05769d7628582B403063e61B7D212F91"; +export const FRAXFERRY_ETHEREUM_SFRXETH = "0x67c6A8A715fc726ffD0A40588701813d9eC04d9C"; +export const FRAXFERRY_ETHEREUM_SFRAX = "0x08Be8BaAb62fB0A363f38C82Ee2320A36b72f2DB"; + +// Global State Root +export const BLOCKHASH_PROVIDER = "0x4200000000000000000000000000000000000015"; +export const STATE_ROOT_ORACLE = "0xeD403d48e2bC946438B5686AA1AD65056Ccf9512"; +export const MERKLE_PRICE_SOURCE = "0x9990eb28E58380122AA3AdF64ea6f874df51114C"; +export const CHAINLINK_MERKLE_PRICE_SOURCE = "0x4AD728706bFe28A3F090b3f1D8Ac3A8515805B41"; + +// RateTransport Oracles +export const SFRXETH_L2_RATE_ORACLE = "0xEE095b7d9191603126Da584a1179BB403a027c3A"; +export const SFRAX_L2_RATE_ORACLE = "0x1B680F4385f24420D264D78cab7C58365ED3F1FF"; +export const SDAI_L2_RATE_ORACLE = "0xfdE8C36F32Bf32e73A1bdeb4ef3E17709674a838"; +export const SUSDE_L2_RATE_ORACLE = "0xd295936C8Bb465ADd1eC756a51698127CB4F4910"; + +// RateTransport Oracles Old +export const SFRXETH_L2_RATE_ORACLE_OLD = "0x8865435777730eAAbAAF2d1F55F115a87AbCf91A"; +export const SFRAX_L2_RATE_ORACLE_OLD = "0xF750636E1df115e3B334eD06E5b45c375107FC60"; + +// ERC4626 Rate Oracle Proover +export const FRAXTAL_SDAI_MERKLE_PRICE_SOURCE = "0xf3E3E2a376939bfF87e9cac84e0E5A35e495417a"; +export const FRAXTAL_SFRAX_MERKLE_PRICE_SOURCE = "0xE25D8aaa6dF41B94A415EE39cCEE0DF6673B9bDb"; +export const FRAXTAL_SFRXETH_MERKLE_PRICE_SOURCE = "0xabca0b314d15B3e28F24AC0ee84A63001d1b44Db"; +export const FRAXTAL_SUSDE_MERKLE_PRICE_SOURCE = "0xc2B984E37D1CAf5Eef82D9D892287361058955E9"; + +// ERC4626 Rate Oracle Proover Old +export const FRAXTAL_SFRAX_MERKLE_PRICE_SOURCE_OLD = "0xe7C6385Cf5d4Ea61774A56E3aeaf60a09fC8E1d5"; +export const FRAXTAL_SFRXETH_MERKLE_PRICE_SOURCE_OLD = "0xa560E014501f96752726f65c27E96C3e9127Ce32"; + +// L1VeFXS +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_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_V1 = "0x39333a540bbea6262e405E1A6d435Bd2e776561E"; +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"; +export const VEFXS_AGGREGATOR_PROXY = "0x176A4e081653EbB8a2246BAfbfCf663782426531"; +export const VEFXS_AGGREGATOR_IMPL = "0xF9Ca1Dc83B16C72b3359CEcD1d3Fc96d80dC4Fa6"; + +// Multisigs +export const COMPTROLLERS = "0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6"; +export const PROPOSER_MULTI_SIG = "0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE"; +export const GOV_PROPOSER_MSIG = "0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE"; + +// PoolRelatedTokens +export const CVXSQUIDWFRXETH = "0x29FF8F9ACb27727D8A2A52D16091c12ea56E9E4d"; +export const CVXSQUIDWFRXETH_REWARDER = "0x29FF8F9ACb27727D8A2A52D16091c12ea56E9E4d"; +export const SQUIDWFRXETH = "0x277FA53c8a53C880E0625c92C92a62a9F60f3f04"; +export const SQUIDWFRXETH_GAUGE = "0xe5E5ed1B50AE33E66ca69dF17Aa6381FDe4e9C7e"; +export const SQUIDWFRXETH_POOL = "0x277FA53c8a53C880E0625c92C92a62a9F60f3f04"; + +// SystemContracts +export const CROSS_DOMAIN_MESSENGER = "0x4200000000000000000000000000000000000007"; +export const ERC20_FACTORY_PROXY = "0x4200000000000000000000000000000000000012"; +export const L2_STANDARD_BRIDGE_PROXY = "0x4200000000000000000000000000000000000010"; +export const L2_TO_L1_MESSAGE_PASSER = "0x4200000000000000000000000000000000000016"; diff --git a/scripts/constants/fraxtal-testnet-l1.ts b/scripts/constants/fraxtal-testnet-l1.ts new file mode 100644 index 0000000..be74203 --- /dev/null +++ b/scripts/constants/fraxtal-testnet-l1.ts @@ -0,0 +1,30 @@ +export const CHAIN_ID = 17000; + +export const PROXY_ADMIN = "0xA0c6294D524f56fF9BdAeE94b69064c529cB9a1e"; +export const COMPTROLLER = "0x88699c59E413e8A47117820D15d8D33b09B21edD"; +export const ADDRESS_MANAGER = "0x6C52d1f7aAdD1F27aaa6A9e228CE0312E3CB09A6"; +export const L1_CROSS_DOMAIN_MESSENGER_PROXY = "0x45A98115D5722C6cfC48D711e0053758E7C0b8ad"; +export const L1_ERC721_BRIDGE_PROXY = "0x0301A6b26a37566d3DCebC7fC4c2143B426bBf53"; +export const L1_STANDARD_BRIDGE_PROXY = "0x0BaafC217162f64930909aD9f2B27125121d6332"; +export const L2_OUTPUT_ORACLE_PROXY = "0x715EA64DA13F4d0831ece4Ad3E8c1aa013167F32"; +export const OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = "0x740fAfe2383F736d0Bd1a042E50fE15dDa2726C6"; +export const OPTIMISM_PORTAL_PROXY = "0xB9c64BfA498d5b9a8398Ed6f46eb76d90dE5505d"; +export const SYSTEM_CONFIG_PROXY = "0x570Bf63A187776A19a44E6D1e055E3da65C1E3Db"; + +// Canonicals + +// Farms + +// FraxBonds + +// FraxFerry + +// FraxlendAndOracles + +// Fraxswap + +// Misc + +// Multisigs + +// PoolRelatedTokens diff --git a/scripts/constants/fraxtal-testnet-l2.ts b/scripts/constants/fraxtal-testnet-l2.ts new file mode 100644 index 0000000..8cfb36f --- /dev/null +++ b/scripts/constants/fraxtal-testnet-l2.ts @@ -0,0 +1,37 @@ +export const CHAIN_ID = 2522; + +// Canonicals +export const FRAX = "0xFc00000000000000000000000000000000000001"; +export const FXS = "0xFc00000000000000000000000000000000000002"; +export const FPI = "0xFc00000000000000000000000000000000000003"; +export const FPIS = "0xfc00000000000000000000000000000000000004"; +export const SFRXETH = "0xFC00000000000000000000000000000000000005"; +export const WFRXETH = "0xFC00000000000000000000000000000000000006"; + +// Farms + +// FraxBonds + +// FraxFerry + +// FraxlendAndOracles + +// Fraxswap +export const FRAXSWAP_FACTORY = "0xbc679bdd1bA59654bD50DEB03fd80dC97c713fF2"; +export const FRAXSWAP_ROUTER = "0x938d99A81814f66b01010d19DDce92A633441699"; +export const FRAXSWAP_ROUTER_MULTIHOP = "0x509728dC748586214Fa30cEF61359f136523F24d"; + +// Misc + +// Multisigs +export const COMPTROLLER = "0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160"; +export const PROXY_ADMIN = "0xfC00000000000000000000000000000000000007"; +// export const COMPTROLLER = "0x012fcFb933b9a4335B1BCC836e6a9a475146beBd"; + +// PoolRelatedTokens + +/// SystemContracts +export const CROSS_DOMAIN_MESSENGER = "0x4200000000000000000000000000000000000007"; +export const ERC20_FACTORY_PROXY = "0x4200000000000000000000000000000000000012"; +export const L2_STANDARD_BRIDGE_PROXY = "0x4200000000000000000000000000000000000010"; +export const L2_TO_L1_MESSAGE_PASSER = "0x4200000000000000000000000000000000000016"; diff --git a/scripts/constants/holesky.ts b/scripts/constants/holesky.ts new file mode 100644 index 0000000..4228492 --- /dev/null +++ b/scripts/constants/holesky.ts @@ -0,0 +1,49 @@ +export const CHAIN_ID = 17000; + +// Canonicals +export const FRAX = "0x0304A365C0fbb4b1Ad423887861b9b69a5f0c00E"; +export const FXS = "0x4e7300F74F59AFaEcCdc0d434758Df9be238F0BF"; +export const FPI = "0xfBCB0F967817c924f83e26e04F0FB28ED4d6276F"; +export const FPIS = "0x0363a32D18c25a3FD19a0d00B02106C03d8b8182"; +export const FRXETH = "0x17845EA6a9BfD2caF1b9E558948BB4999dF2656e"; +export const SFRXETH = "0xa63f56985F9C7F3bc9fFc5685535649e0C1a55f3"; +export const FPI_ERC20 = FPI; +export const FPIS_ERC20 = FPIS; +export const FRAX_ERC20 = FRAX; +export const FXS_ERC20 = FXS; +export const SFRXETH_ERC20 = SFRXETH; +export const FRXETH_ERC20 = FRXETH; + +// Farms + +// FraxBonds + +// FraxFerry + +// FraxlendAndOracles + +// Fraxswap + +// FraxtalL1 +export const ADDRESS_MANAGER = "0x6C52d1f7aAdD1F27aaa6A9e228CE0312E3CB09A6"; +export const FRAXTAL_COMPTROLLER = "0x88699c59E413e8A47117820D15d8D33b09B21edD"; +export const L1_CROSS_DOMAIN_MESSENGER_PROXY = "0x45A98115D5722C6cfC48D711e0053758E7C0b8ad"; +export const L1_ERC721_BRIDGE_PROXY = "0x0301A6b26a37566d3DCebC7fC4c2143B426bBf53"; +export const L1_STANDARD_BRIDGE_PROXY = "0x0BaafC217162f64930909aD9f2B27125121d6332"; +export const L2_OUTPUT_ORACLE_PROXY = "0x715EA64DA13F4d0831ece4Ad3E8c1aa013167F32"; +export const OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = "0x740fAfe2383F736d0Bd1a042E50fE15dDa2726C6"; +export const OPTIMISM_PORTAL_PROXY = "0xB9c64BfA498d5b9a8398Ed6f46eb76d90dE5505d"; +export const PROTOCOL_VERSIONS_PROXY = "0x0D2d3D6540638291C50db5521527d4115c8eddB7"; +export const PROXY_ADMIN = "0xA0c6294D524f56fF9BdAeE94b69064c529cB9a1e"; +export const SUPERCHAIN_CONFIG_PROXY = "0x089065000De745708B5EE76Be5dF236Eb6453b82"; +export const SYSTEM_CONFIG_PROXY = "0x570Bf63A187776A19a44E6D1e055E3da65C1E3Db"; + +// Misc + +export const FRXETH_MINTER = "0x5E8422345238F34275888049021821E8E08CAa1f"; + +// Multisigs + +// PoolRelatedTokens + +// SystemContracts diff --git a/scripts/constants/index.ts b/scripts/constants/index.ts new file mode 100644 index 0000000..7b63f62 --- /dev/null +++ b/scripts/constants/index.ts @@ -0,0 +1,16 @@ +export * as Arbitrum from "./arbitrum"; +export * as Avalanche from "./avalanche"; +export * as BSC from "./bsc"; +export * as Fantom from "./fantom"; +export * as FraxtalL1Devnet from "./fraxtal-devnet-l1"; +export * as FraxtalL2Devnet from "./fraxtal-devnet-l2"; +export * as FraxtalL2 from "./fraxtal-l2"; +export * as FraxtalTestnetL1 from "./fraxtal-testnet-l1"; +export * as FraxtalTestnetL2 from "./fraxtal-testnet-l2"; +export * as Holesky from "./holesky"; +export * as Mainnet from "./mainnet"; +export * as Moonbeam from "./moonbeam"; +export * as Moonriver from "./moonriver"; +export * as Optimism from "./optimism"; +export * as Polygon from "./polygon"; +export * as PolygonzkEVM from "./polygon-zkevm"; diff --git a/scripts/constants/mainnet.ts b/scripts/constants/mainnet.ts new file mode 100644 index 0000000..2bb2e38 --- /dev/null +++ b/scripts/constants/mainnet.ts @@ -0,0 +1,1034 @@ +// Canonicals +export const CHAIN_ID = 1; +export const FRAX = "0x853d955aCEf822Db058eb8505911ED77F175b99e"; +export const FXS = "0x3432B6A60D23Ca0dFCa7761B7ab56459D9C964D0"; +export const FPI = "0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E"; +export const FPIS = "0xc2544A32872A91F4A553b404C6950e89De901fdb"; +export const FRXETH = "0x5E8422345238F34275888049021821E8E08CAa1f"; +export const SFRXETH = "0xac3E018457B222d93114458476f3E3416Abbe38F"; +export const SFRAX = "0xA663B02CF0a4b149d2aD41910CB81e23e1c41c32"; +export const FRAX_ERC20 = FRAX; +export const FXS_ERC20 = FXS; +export const FRXETH_ERC20 = FRXETH; +export const SFRXETH_ERC20 = SFRXETH; + +// Farms +export const AAVE_AFRAX = "0x02577b426F223A6B4f2351315A19ecD6F357d65c"; +export const ANGLE_FRAX_AGEUR_STAKING = "0xb40432243E4F317cE287398e72Ab8f0312fc2FE8"; +export const AURA_FRXETH_PXETH_DEPOSIT = "0x60aaA9b33e712A76F9421E46a75ec47fBDc8d4CB"; +export const BALANCER_FRXETH_PXETH_GAUGE_DEPRECATED = "0x1e64E373c143810524BDb1Ac8Dce35977d12e55d"; +export const BALANCER_SFRXETH_STETH_RETH_BPT = "0x3F0FB52648Eb3981EA598716b7320081d1c8Ba1a"; +export const BUNNI_FRAX_USDC_GAUGE = "0x50B4cDb17D3e10C9BC88b3744F3fD7c25695EEE7"; +export const BUNNI_FRXETH_WETH_GAUGE = "0xcbcCBA2FA84606Df153B593dD01c37a50ac8427C"; +export const CONVEX_STKCVXAGEURFRAXBP = "0xd1f21322bBDd3586dC1151ADCcaA2684641c2b31"; +export const CONVEX_STKCVXALCXFRAXBP = "0xA0657642224Fc53dAB4a3d2069430afe157BEc5D"; +export const CONVEX_STKCVXALUSDFRAXBP = "0x711d650Cd10dF656C2c28D375649689f137005fA"; +export const CONVEX_STKCVXAPEUSDFRAXBP = "0xa810D1268cEF398EC26095c27094596374262826"; +export const CONVEX_STKCVXBADGERFRAXBP = "0x5a92EF27f4baA7C766aee6d751f754EBdEBd9fae"; +export const CONVEX_STKCVXBUSDFRAXBP = "0xaCf54f101B86f9e55d35C0674Ebd8C854E5f80e4"; +export const CONVEX_STKCVXCLEVUSDFRAXBP = "0x5745506D56b0088f800085b1227B3f1F7d419c89"; +export const CONVEX_STKCVXCOILFRAXBP = "0x39cd4db6460d8B5961F73E997E86DdbB7Ca4D5F6"; +export const CONVEX_STKCVXCOILFRAXBP_DEPRECATED = "0x94c491e298625b1226a89DDA091B3932c59FAbc1"; +export const CONVEX_STKCVXCRVUSDFRAX = "0x67CC47cF82785728DD5E3AE9900873a074328658"; +export const CONVEX_STKCVXCVGFRAXBP = "0x1ee8D379e374A4A00e7d79AF4Bf2eD2b591561c2"; +export const CONVEX_STKCVXCVXCRVFRAXBP = "0x57c9F019B25AaAF822926f4Cacf0a860f61eDd8D"; +export const CONVEX_STKCVXCVXFRAXBP = "0xeC670c5e0A8A8d5ae5639158565D840DE44CA03f"; +export const CONVEX_STKCVXCVXFXSFRAXBP = "0x2F9504988675c91787E188Ed928D6E042d9052e9"; +export const CONVEX_STKCVXDOLAFRAXBP = "0xE7211E87D60177575846936F2123b5FA6f0ce8Ab"; +export const CONVEX_STKCVXDOLAFRAXPYUSD = "0x972d92f4563Ac9581c730A13A47Ae9d6dCdf18b7"; +export const CONVEX_STKCVXEUSDFRAXBP = "0x4c9AD8c53d0a001E7fF08a3E5E26dE6795bEA5ac"; +export const CONVEX_STKCVXFPIFRAX = "0x0a08673E3d7c454E1c6b27acD059C50Df6727FC9"; +export const CONVEX_STKCVXFRAXBP = "0x963f487796d54d2f27bA6F3Fbe91154cA103b199"; +export const CONVEX_STKCVXFRAXFPI_NG = "0x7d69b887751Af59fB4b56BC98fcA0234096Eb267"; +export const CONVEX_STKCVXFRAXFXB_20240630 = "0x6D54747fC8e32cA1A91bA2fd36aB673bD84E2e7b"; +export const CONVEX_STKCVXFRAXFXB_20241231 = "0x9D7eB7Ec34283D93C6677AE30F3983399Ab72A2f"; +export const CONVEX_STKCVXFRAXFXB_20261231 = "0x9A95396eC04B55de54859C06fd75dFb8466F4653"; +export const CONVEX_STKCVXFRAXPYUSD = "0x18FEFE5Db2D63aCaa8b5520AFde32507216d39e1"; +export const CONVEX_STKCVXFRAXSDAI = "0x90EB2F13Acf1bc35c2c40c0EBaff2De4d2Eb0d6b"; +export const CONVEX_STKCVXFRAXUSDP = "0x2A5b8C7DFE489CeB00ec80524C0bA0C1b78433A9"; +export const CONVEX_STKCVXFRXETHALETH = "0x56790e4A08eD17aa3b7b4B1b23A6a84D731Fd77e"; +export const CONVEX_STKCVXFRXETHANKRETH = "0x854B98dC1F76c92b22F75d1f33D23FEb64D8087F"; +export const CONVEX_STKCVXFRXETHCBETH = "0x16e55917849aC7fA4341470FA3A22bB503D5cACD"; +export const CONVEX_STKCVXFRXETHCRV = "0xDA0622cBa8cC821ee0d4AfA366Df95E948b43297"; +export const CONVEX_STKCVXFRXETHCVX = "0xb01BaB994b52A37a231551f00a1B7cAcd43bc8C9"; +export const CONVEX_STKCVXFRXETHETH = "0xa537d64881b84faffb9Ae43c951EEbF368b71cdA"; +export const CONVEX_STKCVXFRXETHMSETH = "0x2816Ab1F4Db656602b6B0041c006652A4F5D0437"; +export const CONVEX_STKCVXFRXETHPETH = "0xD591A551bC1776A7Ce066a5Df7640266afc850bF"; +export const CONVEX_STKCVXFRXETHPXETH = "0xC68A0174401AE002D6DbA8C9788C6dF4c807BD52"; +export const CONVEX_STKCVXFRXETHRETH = "0x719505cB97DF15565255eb1bDe65586271dB873C"; +export const CONVEX_STKCVXFRXETHRETH_STAFI = "0x76CF35aB1450D3A6c84EdDB8A960A5F65B76e706"; +export const CONVEX_STKCVXFRXETHSETH = "0xd79Ae34eD6D11A235629A48aeA9F661a241faD4f"; +export const CONVEX_STKCVXFRXETHSTETH = "0x68921998fbc43B360D3cF14a03aF4273CB0cFA44"; +export const CONVEX_STKCVXFRXETHWETH = "0xB4fdD7444E1d86b2035c97124C46b1528802DA35"; +export const CONVEX_STKCVXFRXETHZETH = "0x882B9fad02D1a7436449dcdE9934Eeb9E287909c"; +export const CONVEX_STKCVXFRXETHZUNETH = "0xE2E998A68C6f1D10c41884931457B7C302C6fA97"; +export const CONVEX_STKCVXGRAIFRAXBP = "0x5684d5566bb438D8Ef7B3C1E5da9450cD19C1b9f"; +export const CONVEX_STKCVXGUSDFRAXBP = "0xF0Ffe16810B7f412c52C1610e3BC9819A7Dcb366"; +export const CONVEX_STKCVXLUSDFRAXBP = "0xF0A9b6F6593b4Bf96E1Ab13921A8a3FbFd9d4F16"; +export const CONVEX_STKCVXMAIFRAXBP = "0xdE5684F85a78F6CcCFFB4b9301ad0944eb5CE3eE"; +export const CONVEX_STKCVXMKUSDFRAXBP = "0x95AB2a2F6e701873cEA0070dAc735589D089f6Bc"; +export const CONVEX_STKCVXMSUSDFRAXBP = "0xfB2CCc82755A734C53C8B45f260fFc2df026fe87"; +export const CONVEX_STKCVXOHMFRAXBP = "0xc96e1a26264D965078bd01eaceB129A65C09FFE7"; +export const CONVEX_STKCVXPUSDFRAXBP = "0x40b42E4ab3c044e67CBFb0bD99C9E975dcB83668"; +export const CONVEX_STKCVXRSRFRAXBP = "0xF22D3C85e41Ef4b5Ac8Cb8B89a14718e290a0561"; +export const CONVEX_STKCVXSDTFRAXBP = "0x9C8d9667d5726aEcA4d24171958BeE9F46861bed"; +export const CONVEX_STKCVXSTGFRAXBP = "0xd600A3E4F57E718A7ad6A0cbb10c2A92c57827e6"; +export const CONVEX_STKCVXSUSDFRAXBP = "0x560c7668459221e33ED515D1D17c09ECda1996f5"; +export const CONVEX_STKCVXSWETHFRXETH = "0x7b8848f10A016341c9B2427e8541C19F31C2D243"; +export const CONVEX_STKCVXTRICRYPTOFRAX = "0x5C0238c4C8f13370001632806C87066B90F1E383"; +export const CONVEX_STKCVXTRISDT = "0x50Cde910D1f8b6C787b7903d23082542593E0710"; +export const CONVEX_STKCVXTUSDFRAXBP = "0xb324b2BD8a3Dc55b04111E84d5cce0c3771F8889"; +export const CONVEX_STKCVXUSDDFRAXBP = "0xF7242A1cE383174802818febB36B6eebb56d5BFb"; +export const CONVEX_STKCVXUZDFRAXBP = "0xb8ebc210BCF78be8Ef3F09Dd0d8e85Fa5e252e86"; +export const CONVEX_STKCVXUZDFRAXBP_DEPRECATED = "0x7838d18AD75372061a1e71e1499b7E90832c1508"; +export const CONVEX_STKCVXUZDFRAXBP_DEPRECATED_OLD = "0x7677D1AADcd42dC40E758115FfDE5e1E10B7f30b"; +export const CONVEX_STKCVXXAIFRAXBP = "0x4edF7C64dAD8c256f6843AcFe56876024b54A1b6"; +export const CONVEX_STKCVXZUSDFRAXBP = "0x107a33019910E57533Ad4F75762d6A958630cA3d"; +export const CURVE_FRAX3CRV_F_2 = "0xBBbAf1adf4d39B2843928CCa1E65564e5ce99ccC"; +export const DFORCE_FRAX_LENDING_ETHEREUM = "0x71173e3c6999c2C72ccf363f4Ae7b67BCc7E8F63"; +export const FLUX_FINANCE_FFRAX = "0x1C9A2d6b33B4826757273D47ebEe0e2DddcD978B"; +export const FRAXLEND_V1_FRAX_FXS = "0x73e1e624C6d3E027b8674e6C72F104F1429FC17E"; +export const FRAXSWAP_V1_FRAX_IQ = "0x5e15E40A3AA06bECA711EdE9F3F76E1d80C34490"; +export const FRAXSWAP_V1_FRAX_IQ_V2 = "0xBF33B67F243a4DAbED494Ff5840f113B2E202a0d"; +export const FRAXSWAP_V1_FRAX_IQ_V3 = "0x35678017e1D252dA1CdD6745b147E3e75d1f9C27"; +export const FRAXSWAP_V1_FRAX_PITCHFXS = "0x9E66E7811fEacf5402B65021475d1A293f7ea797"; +export const FRAXSWAP_V1_FRAX_PITCHFXS_V2 = "0x899Aa575E0e46344D18471f69337663C48b76e35"; +export const FRAXSWAP_V1_FRAX_PITCHFXS_V3 = "0x24C66Ba25ca2A53bB97B452B9F45DD075b07Cf55"; +export const FRAXSWAP_V1_FRAX_SYN = "0xE8453a2e8E97cba69365A1d727Fde3768b18d814"; +export const FRAXSWAP_V2_FRAX_FPIS = "0x9d46C0584C5C89e14fb1143e2414712feF36f00F"; +export const FRAXSWAP_V2_FRAX_FXS = "0x3F2E53B1A3036Fd33F3c2f3cC49daB26A88DF2e0"; +export const FRAXSWAP_V2_FRAX_IQ = "0x7af00CF8D3a8A75210a5Ed74f2254E2EC43B5B5b"; +export const FRAXSWAP_V2_FRAX_OHM = "0xf562B2f33b3c90d5D273f88Cdf0CeD866E17092e"; +export const FRAXSWAP_V2_FRAX_PITCHFXS = "0xa632Fab76Fe013199c8271Ac22b466b9D11BFe88"; +export const FRAXSWAP_V2_FRAX_SDL = "0x8875A328EaDb1e142f4021Fc2098096796a30cf8"; +export const FRAXSWAP_V2_FRAX_SYN = "0x788E44b6424A0e4160Ae4766E86640EC5a6baD5b"; +export const FRAXSWAP_V2_FRAX_ZZ = "0x38950D42CD549842B3Fc862a45F00eB24331F462"; +export const GEARBOX_DFRAX = "0x8A1112AFef7F4FC7c066a77AABBc01b3Fff31D47"; +export const GELATO_UNISWAP_FRAX_DAI = "0xcdfc491804A420b677f8e788B5157856910E2F6f"; +export const KYBERSWAP_ELASTIC_FRAX_USDC = "0x21AF9DBa45989512468B08d13978e9040cc0cEF6"; +export const KYBERSWAP_ELASTIC_FRAX_USDC_DEPRECATED = "0x90d52cdc60B7FF7994095Aa184694225035E8A60"; +export const KYBERSWAP_ELASTIC_FRXETH_ETH = "0x6b96465F5e51C01134e0e64bff19f922fA7337C7"; +export const KYBERSWAP_ELASTIC_FRXETH_ETH_DEPRECATED = "0x0cF99bbc8794e09e713769c4352eB3318e25c975"; +export const KYBERSWAP_ELASTIC_FRXETH_FRAX = "0xaDf48a504b7E7262FE9BFC62Ab11894187590BB7"; +export const MONOLITH_MO_SAMM_FRAX_USDT = "0x9972F7c292Deae7759a3831b1aDFF54dD43Dc264"; +export const MONOLITH_MO_SAMM_FRXETH_WETH = "0x4E30fc7ccD2dF3ddCA39a69d2085334Ee63b9c96"; +export const MONOLITH_MO_VAMM_FXS_FRXETH = "0x520b8e754768EEed9a37d78de76Cd5d75456b92F"; +export const PICKLE_FINANCE_CURVE_CVXFXS_FXS = "0x6667c53D631410649B1826D21cFdf41E7a7aE6b1"; +export const PICKLE_FINANCE_PVEFXS_BRINERY = "0x62826760CC53AE076a7523Fd9dCF4f8Dbb1dA140"; +export const PICKLE_FINANCE_SADDLE_D4 = "0x08cb0A0ba8e4f143e4e6F7BED65E02b6dFb9A16C"; +export const PICKLE_FINANCE_UNIV3_FRAX_DAI = "0xA50e005c3f2f3Cd1f56B09DF558816CfCe25E934"; +export const PICKLE_FINANCE_UNIV3_FRAX_USDC = "0x6092cdE5762FA9F5c8D081fb0c5eD23601f0F400"; +export const SADDLE_ALUSD_FEI_FRAX_LUSD = "0x0639076265e9f88542C91DCdEda65127974A5CA5"; +export const SOLIDLY_SAMM_FRAX_USDC = "0x810E190Be9592615D75c514C0f9D8c9b79eB8056"; +export const SOLIDLY_SAMM_FRAX_USDT = "0x9972F7c292Deae7759a3831b1aDFF54dD43Dc264"; +export const SOLIDLY_SAMM_FRXETH_WETH = "0x4E30fc7ccD2dF3ddCA39a69d2085334Ee63b9c96"; +export const SOLIDLY_VAMM_FRAX_FRXETH = "0xFae2B6Cac80635Cf768c9B68A4f453DB00BC79F0"; +export const SOLIDLY_VAMM_FXS_FRXETH = "0x520b8e754768EEed9a37d78de76Cd5d75456b92F"; +export const SOMMELIER_FRAXIMAL = "0x290a42E913083Edf5AEFb241f8A12B306C19f8f9"; +export const STAKEDAO_CVXFXS_FXS = "0xAB1927160EC7414C6Fa71763E2a9f3D107c126dd"; +export const STAKEDAO_FRAX3CRV = "0x72E158d38dbd50A483501c24f792bDAAA3e7D55C"; +export const STAKEDAO_FRAX_USDC = "0xCFc25170633581Bf896CB6CDeE170e3E3Aa59503"; +export const STAKEDAO_FRXETHCRV = "0x2932a86df44Fe8D2A706d8e9c5d51c24883423F5"; +export const STAKEDAO_SANFRAX = "0xb40432243E4F317cE287398e72Ab8f0312fc2FE8"; +export const STAKEDAO_SDETH_FRAXPUT = "0x0A53544b2194Dd8Ebc62c779043fc0624705BB56"; +export const STAKEDAO_SDFRAX3CRV_F = "0xEB81b86248d3C2b618CcB071ADB122109DA96Da2"; +export const STAKEDAO_SDFXS = "0xF3C6e8fbB946260e8c2a55d48a5e01C82fD63106"; +export const STAKEDAO_SDFXS_FXS = "0xa9A9BC60fc80478059A83f516D5215185eeC2fc0"; +export const STAKEDAO_SFRXETH_STETH_RETH_BPT = "0x3F0FB52648Eb3981EA598716b7320081d1c8Ba1a"; +export const STARGATE_BRIDGE_LIQUIDITY_FRAX_ETHEREUM = "0xB0D502E938ed5f4df2E681fE6E419ff29631d62b"; +export const SUSHI_FRAX_SUSHI = "0xb4Ab0dE6581FBD3A02cF8f9f265138691c3A7d5D"; +export const TEMPLE_FRAX_TEMPLE = "0x10460d02226d6ef7B2419aE150E6377BdbB7Ef16"; +export const TOKEMAK_FRAX_STAKING = "0x94671A3ceE8C7A12Ea72602978D1Bb84E920eFB2"; +export const TOKEMAK_FXS_STAKING = "0xADF15Ec41689fc5b6DcA0db7c53c9bFE7981E655"; +export const UNISWAP_FEI_TRIBE = "0x9928e4046d7c6513326cCeA028cD3e7a91c7590A"; +export const UNISWAP_FRAX_FXS = "0xda2c338350a0E59Ce71CDCED9679A3A590Dd9BEC"; +export const UNISWAP_FRAX_IQ = "0xF37057823910653a554d996B49E3399DC87fAE1b"; +export const UNISWAP_FRAX_OHM = "0xfC77A420f56Dec53e3b91D7FC936902e132335FF"; +export const UNISWAP_FRAX_USDC = "0xa29367a3f057F3191b62bd4055845a33411892b6"; +export const UNISWAP_FRAX_WETH = "0xD875628B942f8970De3CcEaf6417005F68540d4f"; +export const UNISWAP_FXS_WETH = "0xDc65f3514725206Dd83A8843AAE2aC3D99771C88"; +export const UNISWAP_V3_FRAX_AGEUR = "0xf8caEd1943B15B877D7105B9906a618c154f69E8"; +export const UNISWAP_V3_FRAX_DAI = "0xF22471AC2156B489CC4a59092c56713F813ff53e"; +export const UNISWAP_V3_FRAX_USDC = "0x3EF26504dbc8Dd7B7aa3E97Bc9f3813a9FC0B4B0"; +export const VEFPIS_FPIS_STAKING = "0x574C154C83432B0A45BA3ad2429C3fA242eD7359"; +export const VEFXS_FXS_STAKING = "0xc8418aF6358FFddA74e09Ca9CC3Fe03Ca6aDC5b0"; +export const VESPER_ORBIT_FRAX = "0x698137C473bc1F0Ea9b85adE45Caf64ef2DF48d6"; +export const YEARN_CRVFRAX_VAULT_V3 = "0x1A5ebfF0E881Aec34837845e4D0EB430a1B4b737"; + +// FraxBonds +export const SLIPPAGE_AUCTION_FACTORY = "0xc9268c7F59850B26567b0f5d3Dcc317cEDC43490"; +export const FXB_FACTORY = "0xa8478781D9605E17c3b4c9C79e7127c4597116E4"; +export const FXB_AMO = "0x452420df4AC1e3db5429b5FD629f3047482C543C"; +export const FXB_AMO_TIMELOCK = "0x831822660572bd54ebaa065C2acef662a6277D40"; +export const FXB_20240630 = "0x0dE54CFdfeD8005176f8b7A9D5438B45c4F1df1e"; +export const AUCTION_20240630 = "0xC92067D8DDb1970ecB93202DA31a3C45cC2c1F44"; +export const ORACLE_20240630 = "0x27F4f8ca2f906B73c5eD8d794d1eA016f2cA0A97"; +export const CURVE_20240630_MAINNET_POOL = "0x4ef4c7519023F30A78647EEab321d6cFabC2513c"; +export const FXB_20241231 = "0xF8FDe8A259A3698902C88bdB1E13Ff28Cd7f6F09"; +export const AUCTION_20241231 = "0xc9aa98788a675FF0846E8856cb83F19452f3b0c8"; +export const FXB_20241231_ORACLE = "0x08a0748cF885F46e20fA30A50a035808eab293D3"; +export const CURVE_20241231_MAINNET_POOL = "0x6307E6688819951Cf8D6B6066018243D2496952F"; +export const CURVE_20241231_ARBITRUM_POOL = "0xE920eEdAff6c3BEd1Ef61010B64d46986634E908"; +export const CURVE_20241231_ARBITRUM_GAUGE = "0x05824D6D4DE8A0ede4e12b98387A4f035a67ee68"; +export const FXB_20261231 = "0x76237BCfDbe8e06FB774663add96216961df4ff3"; +export const AUCTION_20261231 = "0x63981f5E690eaF7E8795c42832664e8848F532fB"; +export const FXB_20261231_ORACLE = "0x2ec5D1C13fEF1C7029eE329a1D31B2180c9b3707"; +export const CURVE_20261231_MAINNET_POOL = "0xe035e27A8eD6842b478933820f90093D205F7098"; +export const CURVE_20261231_ARBITRUM_POOL = "0x946adc524BD312D036776798c46ceDD948DD0A0f"; +export const CURVE_20261231_ARBITRUM_GAUGE = "0xa2617A26f9f528fa7B0E47fc2e66FcC04C6682E9"; + +// FraxFerry +export const FRAXFERRY_V1__ETHEREUM_ARBITRUM__FRAX__ETH_SIDE = "0x85c5f05Ae4CB68190C695a22b292C3bA90696128"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__FXS__ETH_SIDE = "0x4b8792aF00eaE944484bF572bc33029B2184a50C"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPI__ETH_SIDE = "0x5878d03AA50d2c00A921948Ea8Fa5F2d247f6BDB"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__FPIS__ETH_SIDE = "0xCd4aa7DB9D8a995a651498E94f6693A4D26e6C9E"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__FRXETH__ETH_SIDE = "0x505603e2440b44C1602b44D0Eb8385399b3F7bab"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRXETH__ETH_SIDE = "0x8afd5082E0C24dEcEA39A9eFb14e4ACF4373D7D6"; +export const FRAXFERRY_V2__ETHEREUM_ARBITRUM__SFRAX__ETH_SIDE = "0x2453b1FbD17ceA069A31C9D16A27f4F93a85Cc0d"; +export const FRAXFERRY_V1__ETHEREUM_AURORA__FRAX__ETH_SIDE = "0x6ac96F65156281a9383455D704b58A74ea9C9eC4"; +export const FRAXFERRY_V1__ETHEREUM_AVALANCHE__FRAX__ETH_SIDE = "0xA381d58e96eC3818c825E1fb264099448945CF8b"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__FXS__ETH_SIDE = "0x9Ab224996D25bfDCB91d838F7f1902698Ac0a742"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPI__ETH_SIDE = "0xbb6b54F8969a4711527fdF6AB852B6D6cdF368d1"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__FPIS__ETH_SIDE = "0x18A5ca670dC42D0551f00E11A730074f6787f17F"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__FRXETH__ETH_SIDE = "0x94ddd112C9ea0fb534e376BE09A50d310F0612b4"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRXETH__ETH_SIDE = "0xF380200B115Caa22D49e6C115b758d6130377620"; +export const FRAXFERRY_V2__ETHEREUM_AVALANCHE__SFRAX__ETH_SIDE = "0x59ae66FB395893E3FD965aDb06A52d06C49dF8A9"; +export const FRAXFERRY_V1__ETHEREUM_BOBA__FRAX__ETH_SIDE = "0x3eF1d856EA62A2292B8690855042095a7aC48B4b"; +export const FRAXFERRY_V1__ETHEREUM_BSC__FRAX__ETH_SIDE = "0xDAe210BfB0cF8c81EDB4b459e2e0bA14D553e2D9"; +export const FRAXFERRY_V2__ETHEREUM_BSC__FXS__ETH_SIDE = "0x9B62402Eb9A755677dEbdaE3639CB531c0Af0E5d"; +export const FRAXFERRY_V2__ETHEREUM_BSC__FPI__ETH_SIDE = "0xfbD33d2f3330f063C87b523Ba80D5F7f296E5393"; +export const FRAXFERRY_V2__ETHEREUM_BSC__FPIS__ETH_SIDE = "0xf18B122c3935Ff49f62C8f1f77Dc42A6F85A0bb5"; +export const FRAXFERRY_V2__ETHEREUM_BSC__FRXETH__ETH_SIDE = "0xce4DbAF3fa72C962Ee1F371694109fc2a80B03f5"; +export const FRAXFERRY_V2__ETHEREUM_BSC__SFRXETH__ETH_SIDE = "0x621D0e62f26314387f338A2509aFA3Ae3414661A"; +export const FRAXFERRY_V2__ETHEREUM_BSC__SFRAX__ETH_SIDE = "0xe3e7F354ac948ceBa925181C81618D7c9b3da8C9"; +export const FRAXFERRY_V1__ETHEREUM_EVMOS__FRAX__ETH_SIDE = "0x2d2261f970F605C813f160E8BAEd455E9004A842"; +export const FRAXFERRY_V1__ETHEREUM_FANTOM__FRAX__ETH_SIDE = "0xfB788F9E20ef426a32A67986654750172A6c1788"; +export const FRAXFERRY_V2__ETHEREUM_FANTOM__FXS__ETH_SIDE = "0x1313d143BE1ac25aCACEFF39Bf31877bccDb9622"; +export const FRAXFERRY_V2__ETHEREUM_FANTOM__FRXETH__ETH_SIDE = "0xaF4305d05e9B08b1D17894ce1ACE8235528f7EdE"; +export const FRAXFERRY_V2__ETHEREUM_FANTOM__SFRXETH__ETH_SIDE = "0xB6b0290A39E2F896bBd8fC19cf17FE393e993dE4"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__FRAX__ETH_SIDE = "0x5e1D94021484642863Ea8E7Cb4F0188e56B18FEE"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__FXS__ETH_SIDE = "0x4A6d155df9Ec9A1BB3639e6B7B99E46Fb68D42f6"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPI__ETH_SIDE = "0x9A576A3d39c589A861B46864C253288bcA428a6c"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__FPIS__ETH_SIDE = "0x958815f476cD07354c0BC034EE5077B20fD93003"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRXETH__ETH_SIDE = "0x5c5f05cF8528FFe925A2264743bFfEdbAB2b0FE3"; +export const FRAXFERRY_V2__ETHEREUM_FRAXTAL__SFRAX__ETH_SIDE = "0x2b4864c2F2A2C275C6C66B90a2ae6BE9fA9cbE47"; +export const FRAXFERRY_V1__ETHEREUM_MOONBEAM__FRAX__ETH_SIDE = "0xF1E1deA8F1053FD9C5F47f72F1f03977E17aF242"; +export const FRAXFERRY_V2__ETHEREUM_MOONBEAM__FXS__ETH_SIDE = "0x2De1354c98880889643c4cA8B06FA2Fb8Fc1Fd7A"; +export const FRAXFERRY_V2__ETHEREUM_MOONBEAM__FRXETH__ETH_SIDE = "0x228567c10b7533C88057c10dDeA6349360F122c5"; +export const FRAXFERRY_V2__ETHEREUM_MOONBEAM__SFRXETH__ETH_SIDE = "0xbc3A2bF4FA20bE2056DCE5BFB168970BA657F187"; +export const FRAXFERRY_V1__ETHEREUM_MOONRIVER__FRAX__ETH_SIDE = "0x15ADa72A3B52A88E25DdD2CC2bA1120234e34bb0"; +export const FRAXFERRY_V2__ETHEREUM_MOONRIVER__FXS__ETH_SIDE = "0xFe7ebA20c20C8FF12A337F940Ce7A97c6e2594DE"; +export const FRAXFERRY_V1__ETHEREUM_OPTIMISM__FRAX__ETH_SIDE = "0x06Fa869caa1160754C6a0B744Da6454c5EA325d4"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__FXS__ETH_SIDE = "0x6650D5183C4Cd294a81B1F724c365b0c42f8270a"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPI__ETH_SIDE = "0xC05DE1CB258bAdc152d8EAd3F573CA9A2E812B2a"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPIS__ETH_SIDE = "0x8Bf7Af56bB721BC3d015111508593Fcb301546F0"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__FRXETH__ETH_SIDE = "0x2F08F4645d2fA1fB12D2db8531c0c2EA0268BdE2"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRXETH__ETH_SIDE = "0x04ba20D2Cc47C63bce1166C2864F0241e4D0a0CC"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRAX__ETH_SIDE = "0x9694dcF5b6CCF6216B05FE64945f62603e2d2367"; +export const FRAXFERRY_V1__ETHEREUM_POLYGON__FRAX__ETH_SIDE = "0x43959A388603DCb6B02Ca084A55d4c7f3b442c57"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON__FXS__ETH_SIDE = "0xCa026e80F1E9e44da7ce3eD6aC2E9630260B9276"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON__FRXETH__ETH_SIDE = "0x98f5E4b7D9eDF57A6ED41b334bD40B2eAa6B6e26"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON__SFRXETH__ETH_SIDE = "0x91Ff54EffF7564BA3884A91d0E293502D8E6fF90"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRAX__ETH_SIDE = "0x86E71075e55F0aaD27D700017E0783458310c98a"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FXS__ETH_SIDE = "0xBa32Df0b78b1A68F7FA304BbD4Ed7a56A74c525a"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPI__ETH_SIDE = "0x45D2d8e4aB0F5af1D29305301A1b31D5d41b3349"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPIS__ETH_SIDE = "0xF887C4cFAAfB43d1AA7De204344895591016772c"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRXETH__ETH_SIDE = "0x3aaB5C43D4e47f71DEea94a7d541E6C07e21B137"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRXETH__ETH_SIDE = "0xb8686Ef9B7ee9e73dE5d1721E4Da580278F8F4d2"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRAX__ETH_SIDE = "0x602cCfee6B4BA8Eb5e35Cf26e05fDEDE379e578E"; +export const FRAXFERRY_V2__ETHEREUM_ZKSYNC__FRAX__ETH_SIDE = "0x32dDf80508cfD8feD8ABe375582FC7cfD20372C4"; +export const FRAXFERRY_V2__ETHEREUM_ZKSYNC__FXS__ETH_SIDE = "0x27E97F35D80514D5DD1Caa730e22a292E912a214"; +export const FRAXFERRY_V2__ETHEREUM_ZKSYNC__FPI__ETH_SIDE = "0x0F6136F9aBB7A0c21FbE076771625b39C544BDf5"; +export const FRAXFERRY_V2__ETHEREUM_ZKSYNC__FPIS__ETH_SIDE = "0xFBC512849D4dcEeeFAa1bfce08B3dC9daD755482"; +export const FRAXFERRY_V2__ETHEREUM_ZKSYNC__FRXETH__ETH_SIDE = "0x9f76b097Cd95627bFbD8052A583127FF6e7b3Fa9"; +export const FRAXFERRY_V2__ETHEREUM_ZKSYNC__SFRXETH__ETH_SIDE = "0x29396AaE6198130A15F6Ff982C44BC4a7353Ef37"; +export const FRAXFERRY_CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FRAXFERRY_FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FRAXFERRY_CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; + +// FraxMinterPools +export const FRAX_POOL_USDC = "0x3C2982CA260e870eee70c423818010DfeF212659"; +export const FRAX_POOL_USDC_V2 = "0x1864Ca3d47AaB98Ee78D11fc9DCC5E7bADdA1c0d"; +export const FRAX_POOL_USDT = "0x7d3FCd3825AE54E8E8FFD3d0ce95882330d54968"; +export const FRAX_POOL_V3 = "0x2fE065e6FFEf9ac95ab39E5042744d695F560729"; + +// FraxlendAndOracles +export const AAVE_ERC20 = "0x7Fc66500c84A76Ad7e9c93437bFc5Ac33E2DDaE9"; +export const AAVE_TOKEN_DUAL_ORACLE_ADDRESS = "0x3284E1BCEaf70767A7575d0e1e10fAFbC4618B52"; +export const AAVE_USD_CHAINLINK_ORACLE = "0x547a514d5e3769680Ce22B2361c10Ea13619e8a9"; +export const APECOIN_DUAL_ORACLE_ADDRESS = "0x2CDF5812F4ebcF3BD533E8918D47Bd3e65514520"; +export const APE_ERC20 = "0x4d224452801ACEd8B2F0aebE155379bb5D594381"; +export const APE_USD_CHAINLINK_ORACLE = "0xD10aBbC76679a20055E167BB80A24ac851b37056"; +export const BTC_USD_CHAINLINK_ORACLE = "0xF4030086522a5bEEa4988F8cA5B36dbC97BeE88c"; +export const CHAIN_LINK_TOKEN_DUAL_ORACLE = "0x7F09c398740518F8e34556D8C1A1FBE1cb1F6Db0"; +export const CIRCUIT_BREAKER_ADDRESS = "0xfd3065C629ee890Fd74F43b802c2fea4B7279B8c"; +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 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"; +export const CONVEX_WRAPPER_FRXETH_ETH_FRAXLEND_LP_OLD = "0xd1b222AAEdf2877CeEB3c66BDaA6858200eb48fC"; +export const CPI_TRACKER_ORACLE = "0x7086F2aCB5558043fF9cE3df346D8E3FB4F4f452"; +export const CPI_TRACKER_ORACLE_V2 = "0x66B7DFF2Ac66dc4d6FBB3Db1CB627BBb01fF3146"; +export const CRV_ERC20 = "0xD533a949740bb3306d119CC777fa900bA034cd52"; +export const CRV_USD_CHAINLINK_ORACLE = "0xCd627aA160A6fA45Eb793D19Ef54f5062F20f33f"; +export const CVX_ERC20 = "0x4e3FBD56CD56c3e72c1403e103b45Db9da5B9D2B"; +export const CVX_USD_CHAINLINK_ORACLE = "0xd962fC30A72A84cE50161031391756Bf2876Af5D"; +export const ETH_USD_CHAINLINK_ORACLE = "0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419"; +export const EZETHETH_DUAL_ORACLE = "0x8216AE38454cCe2d52dEcf0442042250Ea6A2510"; +export const EZETH_DUAL_ORACLE = "0xB020ab0E609d907578f6899a9469E3CbD79e4e70"; +export const EZETH_ERC20 = "0xbf5495Efe5DB9ce00f80364C8B423567e58d2110"; +export const FIL_ERC20 = "0xB8B01cec5CEd05C457654Fc0fda0948f859883CA"; +export const FIL_ETH_CHAINLINK_ORACLE = "0x0606Be69451B1C9861Ac6b3626b99093b713E801"; +export const FIL_USD_CHAINLINK_ORACLE = "0x1A31D42149e82Eb99777f903C08A2E41A00085d3"; +export const FPIS_ERC20 = "0xc2544A32872A91F4A553b404C6950e89De901fdb"; +export const FPI_CONTROLLER_POOL_ADDRESS = "0x2397321b301B80A1C0911d6f9ED4b6033d43cF51"; +export const FPI_ERC20 = "0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E"; +export const FPI_ORACLE = "0xd2516e709a2e9D64F66B4c4009efE4F74F5FA40D"; +export const FPI_ORACLE_V2 = "0x2469757756ebA7Bea6B7F054896e3Db74103A962"; +export const FRAXBP_CURVE_LP_DUAL_ORACLE = "0x251d4fE77eD73126583Ee347041258ABeEcB7C66"; +export const FRAXLEND_DEPLOYER_ADDRESS_V0 = "0x5d6e79Bcf90140585CE88c7119b7E43CAaA67044"; +export const FRAXLEND_PAIRDEPLOYER = "0x5d6e79Bcf90140585CE88c7119b7E43CAaA67044"; +export const FRAXLEND_PAIRHELPER = "0x26fa88b783cE712a2Fa10E91296Caf3daAE0AB37"; +export const FRAXLEND_PAIR_DEPLOYER_ADDRESS = "0x38488dE975B77dc1b0D4B8569f596f6FD6ca0B92"; +export const FRAXLEND_PAIR_DEPLOYER_CONVEX_ADDRESS = "0xC4e34AD5908c4D2508a26C20c8687Ff64CB9e05b"; +export const FRAXLEND_PAIR_DEPLOYER_V3_ADDRESS = "0xaa913C26dD7723Fcae9dBD2036d28171a56C6251"; +export const FRAXLEND_PAIR_DEPLOYER_V41_ADDRESS = "0xEb8816BAEB70690660ce6C0eDA2b07A21493e664"; +export const FRAXLEND_PAIR_DEPLOYER_V4_ADDRESS = "0x7AB788d0483551428f2291232477F1818952998C"; +export const FRAXLEND_PAIR_HELPER = "0x1b0bCeD6dd26a7c234506E261BC68C9A3A4031b7"; +export const FRAXLEND_PAIR_REGISTRY_ADDRESS = "0xD6E9D27C75Afd88ad24Cd5EdccdC76fd2fc3A751"; +export const FRAXLEND_WHITELIST_ADDRESS = "0x118C1462AA28bF2ea304f78f49C3388cfd93234e"; +export const FRAXSWAP_ROUTER_ADDRESS = "0xC14d550632db8592D1243Edc8B95b0Ad06703867"; +export const FRAX_HOT_WALLET = "0xdB3388e770F49A604E11f1a2084B39279492a61f"; +export const FRAX_USDC_CURVE_LP_DUAL_ORACLE_ADDRESS = "0x2Ad35cce2a690E0bF1e6dCAC2F9175389F31D7F4"; +export const FRAX_USDC_CURVE_POOL_LP_ERC20 = "0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC"; +export const FRAX_USDC_CURVE_POOL_NOT_LP = "0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2"; +export const FRAX_USDC_PLAIN_POOL = "0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2"; +export const FRAX_USD_CHAINLINK_ORACLE = "0xB9E1E3A9feFf48998E45Fa90847ed4D467E8BcfD"; +export const FRXETH_ETH_CURVE_POOL_LP_DUAL_ORACLE_ADDRESS = "0x1A4ae41e247ef90EDAaC97DD729a4F03687059DB"; +export const FRXETH_ETH_CURVE_POOL_LP_ERC20 = "0xf43211935C781D5ca1a41d2041F397B8A7366C7A"; +export const FRXETH_ETH_CURVE_POOL_NOT_LP = "0xa1F8A6807c402E4A15ef4EBa36528A3FED24E577"; +export const FRXETH_ETH_DUAL_ORACLE_ADDRESS = "0xb12c19C838499E3447AFd9e59274B1BE56b1546A"; +export const FRXETH_FRAX_ORACLE_ADDRESS = "0xC58F3385FBc1C8AD2c0C9a061D7c13b141D7A5Df"; +export const FXB_20240630_ERC20 = "0x0dE54CFdfeD8005176f8b7A9D5438B45c4F1df1e"; +export const FXB_20240630_ORACLE = "0x27F4f8ca2f906B73c5eD8d794d1eA016f2cA0A97"; +export const FXB_20241231_ERC20 = "0xF8FDe8A259A3698902C88bdB1E13Ff28Cd7f6F09"; +export const FXB_20241231_ORACLE_ADAPTER = "0x34b7525FB0735342Ef3E73d0ED2a912aaAC6c617"; +export const FXB_20261231_ERC20 = "0x76237BCfDbe8e06FB774663add96216961df4ff3"; +export const FXB_20261231_ORACLE_ADAPTER = "0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3"; +export const FXB_VARIABLE_RATE_2 = "0x01480a0C134CeCC309015a564C7e292ba6E0F358"; +export const FXS_USD_CHAINLINK_ORACLE = "0x6Ebc52C8C1089be9eB3945C4350B68B8E4C2233f"; +export const GOHM_ERC20 = "0x0ab87046fBb341D058F17CBC4c1133F25a20a52f"; +export const GOHM_ORACLE = "0xe893297a9d4310976424fD0B25f53aC2B6464fe3"; +export const LDO_DUAL_ORACLE = "0x883Aa2E1E46b53648520E0F6857e2ee1798F3e5d"; +export const LDO_ERC20 = "0x5A98FcBEA516Cf06857215779Fd812CA3beF1B32"; +export const LDO_ETH_CHAINLINK_ORACLE = "0x4e844125952D32AcdF339BE976c98E22F6F318dB"; +export const LDO_ETH_CURVE_V2_POOL = "0x9409280DC1e6D33AB7A8C6EC03e5763FB61772B5"; +export const LINEAR_INTEREST_RATE = "0x2f3511C5E960040369F68508ebb366DF58DF1BF2"; +export const LINEAR_RATE_ADDRESS = "0x2f3511C5E960040369F68508ebb366DF58DF1BF2"; +export const LINK_ERC20 = "0x514910771AF9Ca656af840dff83E8264EcF986CA"; +export const LINK_USD_CHAINLINK_ORACLE = "0x2c1d072e956AFFC0D435Cb7AC38EF18d24d9127c"; +export const MAKER_DUAL_ORACLE_ADDRESS = "0x4c7b43EcE8958D7f6b184B3833DD1D383db1f83b"; +export const MKR_ERC20 = "0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2"; +export const MKR_ETH_CHAINLINK_ORACLE = "0x24551a8Fb2A7211A25a17B1481f043A8a8adC7f2"; +export const MKR_USD_CHAINLINK_ORACLE = "0xec1D1B3b0443256cc3860e24a46F108e699484Aa"; +export const OHMV2_ETH_CHAINLINK_ORACLE = "0x9a72298ae3886221820B1c878d12D872087D3a23"; +export const RETH_DUAL_ORACLE = "0x8161EDD2208247066FA213EDA909B0D351543b3d"; +export const RETH_ERC20 = "0xae78736Cd615f374D3085123A210448E74Fc6393"; +export const RSETHETH_DUAL_ORACLE = "0x16BAb4C46b36587609093633550816fc828817Ba"; +export const RSETH_ERC20 = "0xA1290d69c65A6Fe4DF752f95823fae25cB99e5A7"; +export const SFRAX_ERC20 = "0xA663B02CF0a4b149d2aD41910CB81e23e1c41c32"; +export const SFRXETH_DUAL_ORACLE_ADDRESS = "0xd2F0fa7f2E6a60EEcf4b78c5b6D81002b9789F2c"; +export const SFRXETH_ETH_DUAL_ORACLE_ADDRESS = "0x1473F3e4d236CBBe3412b9f65B4c210756BE2C0E"; +export const SFRXETH_FRAX_ORACLE_ADDRESS = "0xB9af7723CfBd4469A7E8aa60B93428D648Bda99d"; +export const SFRXETH_ORACLE = "0x27942aFe4EcB7F9945168094e0749CAC749aC97B"; +export const SFRXETH_ORACLE_V2 = "0x807502C8EAdAc82C3227249f8aCf54d9d98F76d1"; +export const SFRXETH_SFRAX_INVERSE_ORACLE_ADAPTER = "0xAfBcCB0a8d301AA8c18eBb4Ac94aB32d394fDCeC"; +export const SFRXETH_USDC_ORACLE_V2_ADAPTER = "0x3FdA3e9E78EAcd7381F1ED2CF145B93537878c1f"; +export const SFRXETH_USD_ORACLE_V2 = "0x3d3D868522b5a4035ADcb67BF0846D61597A6a6F"; +export const SUSDE_ERC20 = "0x9D39A5DE30e57443BfF2A8307A4256c8797A3497"; +export const SUSDE_ORACLE = "0x8Eb7a4Fa315620CC342073326acC206961F4BB62"; +export const UNISWAP_DUAL_ORACLE_ADDRESS = "0x33A9D662d9F7cb2153e3a5102615B08865BeAbdB"; +export const UNIV2_ROUTER = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D"; +export const UNI_ERC20 = "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984"; +export const UNI_USD_CHAINLINK_ORACLE = "0x553303d460EE0afB37EdFf9bE42922D8FF63220e"; +export const USDC_ERC20 = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"; +export const USDC_USD_CHAINLINK_ORACLE = "0x8fFfFfd4AfB6115b954Bd326cbe7B4BA576818f6"; +export const USDE_CURVE_PAIR = "0x5dc1BF6f1e983C0b21EfB003c105133736fA0743"; +export const USDE_ERC20 = "0x4c9EDD5852cd905f086C759E8383e09bff1E68B3"; +export const USDE_ORACLE = "0xfdE8C36F32Bf32e73A1bdeb4ef3E17709674a838"; +export const VARIABLE_RATE_2_ADDRESS = "0x18500cB1f2fE7a40eBdA393383A0B8548a31F261"; +export const VARIABLE_RATE_2_ADDRESS_50 = "0x576E23b6E2665A91DdF301DcfF53d1fFA2972bB5"; +export const VARIABLE_RATE_50BP_ADDRESS = "0xFf7846bAcB63FE97406a1E1e48CAf1595f66A98c"; +export const VARIABLE_RATE_ADDRESS = "0x9327058a739089869B7DC3436E074C6d56051C7A"; +export const VARIABLE_RATE_ADDRESS_OLD = "0x3da1bf0Be175B7cAa38d67A6E78371947d2F51f7"; +export const VARIABLE_RATE_STABLE_ADDRESS = "0x9599033315C29Be9690b716bFE409381426dAD41"; +export const WBTC_ERC20 = "0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599"; +export const WBTC_SFRAX_INVERSE_DUAL_ORACLE = "0xeA94770583b5d57791dFe9CF1e29EfD6D53d2fdC"; +export const WBTC_SFRAX_INVERSE_ORACLE_ADAPTER_CHAINLINK = "0xb7dA758EE015c3C45B4a54579743Ebf365F7A53b"; +export const WETH_ERC20 = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"; +export const WETH_FRAX_V3_POOL = "0x92c7b5Ce4CB0e5483F3365C1449f21578eE9f21A"; +export const WETH_SFRAX_INVERSE_ORACLE_ADAPTER_CHAINLINK = "0x1cA1350F67575B0beE44EC9DC6725A4032431F33"; +export const WETH_USDC_V3_POOL = "0xE0554a476A092703abdB3Ef35c80e0D76d32939F"; +export const WSTETH_ERC20 = "0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0"; +export const WSTETH_USD_DUAL_ORACLE_ADDRESS = "0xe73375f36A1b17A21d7Aa0fDa092195431e7017a"; +export const FRAXLEND_PAIR_WETH_FRAX = "0x794F6B13FBd7EB7ef10d1ED205c9a416910207Ff"; +export const FRAXLEND_PAIR_WBTC_FRAX = "0x32467a5fc2d72D21E8DCe990906547A2b012f382"; +export const FRAXLEND_PAIR_SFRXETH_FRAX = "0x78bB3aEC3d855431bd9289fD98dA13F9ebB7ef15"; +export const FRAXLEND_PAIR_CRVETHFRXETH_FRAX = "0x281E6CB341a552E4faCCc6b4eEF1A6fCC523682d"; +export const FRAXLEND_PAIR_FXS_FRAX = "0xDbe88DBAc39263c47629ebbA02b3eF4cf0752A72"; +export const FRAXLEND_PAIR_FPI_FRAX = "0x74F82Bd9D0390A4180DaaEc92D64cf0708751759"; +export const FRAXLEND_PAIR_APE_FRAX = "0x3a25B9aB8c07FfEFEe614531C75905E810d8A239"; +export const FRAXLEND_PAIR_CVX_FRAX = "0xa1D100a5bf6BFd2736837c97248853D989a9ED84"; +export const FRAXLEND_PAIR_CRV_FRAX = "0x3835a58CA93Cdb5f912519ad366826aC9a752510"; +export const FRAXLEND_PAIR_GOHM_FRAX = "0x66bf36dBa79d4606039f04b32946A260BCd3FF52"; +export const FRAXLEND_PAIR_MKR_FRAX = "0x82Ec28636B77661a95f021090F6bE0C8d379DD5D"; +export const FRAXLEND_PAIR_UNI_FRAX = "0xc6CadA314389430d396C7b0C70c6281e99ca7fe8"; +export const FRAXLEND_PAIR_AAVE_FRAX = "0xc779fEE076EB04b9F8EA424ec19DE27Efd17A68d"; +export const FRAXLEND_PAIR_FXB_20240630_FRAX = "0x35E08B28d5b01D058cbB1c39dA9188CC521a79aF"; +export const FRAXLEND_PAIR_FXB_20241231_FRAX = "0xd1887398f3bbdC9d10D0d5616AD83506DdF5057a"; +export const FRAXLEND_PAIR_FXB_20261231_FRAX = "0x1c0C222989a37247D974937782cebc8bF4f25733"; +export const FRAXLEND_PAIR_SFRXETH_USDC = "0xeE847a804b67f4887c9E8fe559A2dA4278deFB52"; +export const FRAXLEND_PAIR_LINK_FRAX = "0x7093F6141293F7C4F67E5efD922aC934402E452d"; +export const FRAXLEND_PAIR_WSTETH_FRAX = "0xb5a46f712F03808aE5c4B885C6F598fA06442684"; +export const FRAXLEND_PAIR_LDO_FRAX = "0x0601B72bEF2b3F09E9f48B7d60a8d7D2D3800C6e"; +export const FRAXLEND_PAIR_RETH_FRAX = "0xa4Ddd4770588EF97A3a03E4B7E3885d824159bAA"; +export const FRAXLEND_PAIR_SUSDE_FRAX = "0xb5Ae5b75C0DF5632c572A657109375646Ce66f90"; +export const FRAXLEND_PAIR_SFRAX_WBTC = "0xb67Bd04f74BD79a505c5167675E8812355270eD5"; +export const FRAXLEND_PAIR_SFRAX_SFRXETH = "0x501256B1DC7bb99CdE57AF188a69307BCC7E00E8"; +export const FRAXLEND_PAIR_EZETH_FRXETH = "0x1eE17BE9B788bcf3EB86C08D0E2b049e036F6eb1"; +export const FRAXLEND_PAIR_RSETH_FRXETH = "0xCfE3550206ea801c3F7Dc7997376F09E0b7e4B81"; +export const FRAXLEND_WRAPPER_FACTORY = "0xe5Ca8CB440A6f9F6fA1D535D94A839CED59D9942"; + +// Fraxswap +export const FRAXSWAP_FACTORY_V1 = "0xB076b06F669e682609fb4a8C6646D2619717Be4b"; +export const FRAXSWAP_FACTORY_V2 = "0x43eC799eAdd63848443E2347C49f5f52e8Fe0F6f"; +export const FRAXSWAP_ROUTER_V1 = "0x1C6cA5DEe97C8C368Ca559892CCce2454c8C35C7"; +export const FRAXSWAP_ROUTER_V2 = "0xC14d550632db8592D1243Edc8B95b0Ad06703867"; +export const FRAXSWAP_ROUTER_MULTI_HOP = "0x25e9acA5951262241290841b6f863d59D37DC4f0"; +export const FRAXSWAP_PAIR_FRAX_FPI = "0x5A1eA0130Dc4DC38420AA77929f992f1FBd482Bb"; +export const FRAXSWAP_PAIR_FS_V2_FRAX_FPI = "0xd79886841026a39cFF99321140B3c4D31314782B"; +export const FRAXSWAP_PAIR_FRAX_FXS = "0x8206412c107eF1aDb70B9277974f5163760E128E"; +export const FRAXSWAP_PAIR_FS_V2_FRAX_FXS = "0x03B59Bd1c8B9F6C265bA0c3421923B93f15036Fa"; +export const FRAXSWAP_PAIR_FRAX_FPIS = "0x99887AC15eBCcbad52FA2c9ceDc9D91A91e36051"; +export const FRAXSWAP_PAIR_FS_V2_FRAX_FPIS = "0x56695c26b3Cdb528815cd22fF7B47510ab821EFd"; +export const FRAXSWAP_PAIR_FPI_FPIS = "0xD3542ec999ceA6C79f09483fF88833f154a5e92f"; +export const FRAXSWAP_PAIR_FS_V2_FPI_FPIS = "0xF14766a7C44EFb7F71441B7114d5Dd295B637175"; +export const FRAXSWAP_PAIR_FPI_FXS = "0x843B5Ae5861362F20A3aC185A2dD2393D7526C65"; +export const FRAXSWAP_PAIR_FS_V2_FPI_FXS = "0x3ECfdA4EfF6184cD8563772D6d024cB0Fb9cBf80"; +export const FRAXSWAP_PAIR_FXS_FPIS = "0x1306b420B4B5f99cBeE938E369f06863a0f419A5"; +export const FRAXSWAP_PAIR_FS_V2_FXS_FPIS = "0x7a9Bd205B55cCB1Cc1c5B99FF5Db87a6e7B2C38b"; +export const FRAXSWAP_PAIR_FS_V2_FXS_FRXETH = "0x49FD21C5C8813B1bAE4e5507C556391D6Dd9e9f1"; +export const FRAXSWAP_PAIR_FRAX_WETH = "0x8300f0528e00Ad33b218bb05D396F61A9FDd68Cd"; +export const FRAXSWAP_PAIR_FS_V2_FRAX_WETH = "0x31351Bf3fba544863FBff44DDC27bA880916A199"; +export const FRAXSWAP_PAIR_FRAX_PITCHFXS = "0x0a92aC70B5A187fB509947916a8F63DD31600F80"; +export const FRAXSWAP_PAIR_FRAX_PITCHFXS_V2 = "0x2bac101F9769AEfF63c63EFfB4189152e833649F"; +export const FRAXSWAP_PAIR_FRAX_IQ = "0xcB0bC7C879bb3E9CFEB9d8EFef653F33B3d242e9"; +export const FRAXSWAP_PAIR_FRAX_IQ_V2 = "0x07AF6BB51d6Ad0Cf126E3eD2DeE6EaC34BF094F8"; +export const FRAXSWAP_PAIR_FRAX_OHM = "0x38633ed142BCc8128b45aB04A2e4A6e53774699F"; +export const FRAXSWAP_PAIR_FRAX_OHM_V2 = "0x5769071665eb8Db80e7e9226F92336Bb2897DCFA"; +export const FRAXSWAP_PAIR_FRAX_SDL_V2 = "0xCCB26b5CC4e1Ce29521DA281a0107A6672bfe099"; +export const FRAXSWAP_PAIR_FRAX_SYN_V2 = "0x832c6f546Bf34A552DeB8773216a93bf6801028c"; +export const FRAXSWAP_PAIR_FRAX_ZZ_V2 = "0x5E8c1aD4c3D04f059d5c1A2Ce4593e53be270bca"; + +// FraxtalL1 +export const ADDRESS_MANAGER = "0x8c5D64d10394cFa070066e70Ec19E67398b4dABE"; +export const BASE_FEE_VAULT_RECIPIENT = "0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27"; +export const BATCH_INBOX = "0xfF000000000000000000000000000000000420fC"; +export const BATCH_SENDER = "0x6017f75108f251a488B045A7ce2a7C15b179d1f2"; +export const DISPUTE_GAME_FACTORY_PROXY = "0x3AA7e876880CB34371c01f1510B1e0A932dCb8C1"; +export const FINAL_SYSTEM_OWNER = "0xe0d7755252873c4eF5788f7f45764E0e17610508"; +export const FRAXTAL_COMPTROLLER = "0xe0d7755252873c4eF5788f7f45764E0e17610508"; +export const FRAXTAL_DEPLOYER = "0xe0d7755252873c4eF5788f7f45764E0e17610508"; +export const L1_CROSS_DOMAIN_MESSENGER_IMPL_V2 = "0xC6e4ECE5576dC96846bb11eD8910f3dF3CE516b8"; +export const L1_CROSS_DOMAIN_MESSENGER_PROXY = "0x126bcc31Bc076B3d515f60FBC81FddE0B0d542Ed"; +export const L1_CROSS_DOMAIN_MESSENGER__IMPL_V1 = "0x31c25985E6b10CF335FC01cf9790aF4890d0505c"; +export const L1_ERC721_BRIDGE_IMPL_V2 = "0x7eE1637C33Ed0DFEE6403f3301B6d404106018e4"; +export const L1_ERC721_BRIDGE_PROXY = "0xa9B5Fb84B7aeAF0D51C95DB04a76B1D4738D0eC5"; +export const L1_ERC721_BRIDGE__IMPL_V1 = "0x23A0478996241F9f966b7054c06FdeB96Ddf3475"; +export const L1_STANDARD_BRIDGE_IMPL_V2_ADDR = "0x30Cd695249394eED44C576f2caEC5304be6455F9"; +export const L1_STANDARD_BRIDGE_PROXY = "0x34C0bD5877A5Ee7099D0f5688D65F4bB9158BDE2"; +export const L1_STANDARD_BRIDGE__IMPL_V1_ADDR = "0xCC26248B71284B812Ff7825e005560DB01a874C7"; +export const L2_OUTPUT_ORACLE_CHALLENGER = "0xe0d7755252873c4eF5788f7f45764E0e17610508"; +export const L2_OUTPUT_ORACLE_IMPL_V2 = "0x6f3CcC8C9DAf8B9b39aDe481213Ff7A626a42B65"; +export const L2_OUTPUT_ORACLE_PROPOSER = "0xFb90465f3064fF63FC460F01A6307eC73d64bc50"; +export const L2_OUTPUT_ORACLE_PROXY = "0x66CC916Ed5C6C2FA97014f7D1cD141528Ae171e4"; +export const L2_OUTPUT_ORACLE__IMPL_V1 = "0xA30ADd78D5be6B2B55C934666bb4fF2C4429d800"; +export const OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY = "0x11FE3be54aC01C13Dd985cE2BdD10eD77e1376cc"; +export const OPTIMISM_PORTAL_IMPL_V2_ADDR = "0x47Ec03B67ba4f3C71a4320D2947f2173E0B45a23"; +export const OPTIMISM_PORTAL_PROXY = "0x36cb65c1967A0Fb0EEE11569C51C2f2aA1Ca6f6D"; +export const OPTIMISM_PORTAL__IMPL_V1_ADDR = "0x59B6903044Fa9439a5D621D3605789A6E654b1D6"; +export const P2P_SEQUENCER_ADDRESS = "0xc88138f5c82DD1bD327708C7F1c15E44Ce7FdA0C"; +export const PORTAL_GUARDIAN = "0xe0d7755252873c4eF5788f7f45764E0e17610508"; +export const PROTOCOL_VERSIONS_IMPL_V2 = "0xeE1d28b0FB299BcE1E164aCc001c15e283082bA2"; +export const PROTOCOL_VERSIONS_PROXY = "0x3c7EA1c10Eb783fE86e4eEd202324dCFEEca9043"; +export const PROXY_ADMIN = "0x13Fe62cB24aEa5afd179F20D362c056c3881ABcA"; +export const PROXY_ADMIN_OWNER = "0xe0d7755252873c4eF5788f7f45764E0e17610508"; +export const STORAGE_SETTER = "0x7a6b7F35D032c9b122C69F01EA4523e028f6ef4A"; +export const SUPERCHAIN_CONFIG_GUARDIAN = "0xe0d7755252873c4eF5788f7f45764E0e17610508"; +export const SUPERCHAIN_CONFIG_IMPL_V2 = "0x0d9C39c64CF8eDA1EdFeBD78AFa895bAA797eFc4"; +export const SUPERCHAIN_CONFIG_PROXY = "0x61ca43CB037aC9181d8Fa5CD0073dC314065Ccc4"; +export const SYSTEM_CONFIG_IMPL_V2_ADDR = "0x4D7A1a16d0DA89B50FBd8b524508FC393A6Dc367"; +export const SYSTEM_CONFIG_PROXY = "0x34a9f273cbD847d49c3De015FC26c3E66825f8b2"; +export const SYSTEM_CONFIG__IMPL_V1_ADDR = "0x22052c592f763CA14a090D9974c5Bf9Fd3a44b8c"; +export const SYSTEM_OWNER_SAFE = "0xe0d7755252873c4eF5788f7f45764E0e17610508"; + +// MiddlemanGauges +export const BALANCER_FRXETH_BB_A_WETH_GAUGE = "0xE3f4e2b79f1a8bf3b14d9100323Fca24D923f796"; +export const CONVEX_FRAXBP_ARBITRUM = "0x636A9d7686bFA0a2ddd93b37A1E33bCdE6C31e8D"; +export const CONVEX_FRAX_FXB_20241231_ARBITRUM = "0xba1ED260F9a81088Ecb7602F790a67C773817BDA"; +export const CONVEX_FRAX_FXB_20261231_ARBITRUM = "0x2A8499c4a86F7c07e311c73E36575A0Dc2D362C3"; +export const CONVEX_FRXETH_WETH_ARBITRUM = "0x5608051D98377419d7D861531728DFB869dDc054"; +export const CONVEX_HFXB_FRAX_ARBITRUM = "0x53e78a6e12146565c7d7307d07A3C1ABacf3E20F"; +export const CONVEX_SQUID_WFRXETH_FRAXTAL = "0xE096E62B4b23C46a748828083458e22b014640f3"; +export const CONVEX_USD_FRAXBP = "0x840f20ffED887c61435E81fd1231CB923df39d3d"; +export const CURVE_VSTFRAX_F = "0x127963A74c07f72D862F2Bdc225226c3251BD117"; +export const FLE_FXS_WFRXETH_FRAXTAL = "0x6f82A6551cc351Bc295602C3ea99C78EdACF590C"; +export const FLE_FRAX_FXS_FRAXTAL = "0x83Dc6775c1B0fc7AaA46680D78B04b4a3d4f5650"; +export const FRAXSWAP_V2_FRAX_FPI_FRAXTAL = "0x3B78BdC7575896701C4e32f9D070AA387fcEB22b"; +export const FRAXSWAP_V2_FRAX_FXS_FRAXTAL = "0x99FA1928A9Fea45b8d1395e870a92a0675A10E6E"; +export const FRAXSWAP_V2_FRAX_SFRXETH_FRAXTAL = "0x007c874a4240f8C31B4BfE6D91f47b903e2E3BE1"; +export const FRAXSWAP_V2_FRAX_WFRXETH_FRAXTAL = "0x8Fa7B006538F0710BD5fEfBd5737eBDD8B487166"; +export const KYBERSWAP_ELASTIC_FRAX_USDC_ARBITRUM = "0x0884c9Bb52348fa76d4e1c6Ea042A2EaF0b72c6C"; +export const KYBERSWAP_ELASTIC_FRAX_USDC_OPTIMISM = "0x9c9e8E8ccD7dAF6AfAB436829992B3Cf408319B4"; +export const KYBERSWAP_ELASTIC_FRAX_USDC_POLYGON = "0x11c9C6F9e983bf6E10296A9ce09D4572F664FF25"; +export const MSTABLE_FRAX_MUSD = "0x3e14f6EEDCC5Bc1d0Fc7B20B45eAE7B1F74a6AeC"; +export const SADDLE_L2D4_ARBITRUM = "0x9B8AEd182B8A9430C14e97Bf2C02F129f2b36854"; +export const SENTIMENT_LFRAX = "0x86c0A521807f43A646978e9f302BAF693350eAa3"; +export const SNOWBALL_S4D = "0x66fD216bCBeb566EF038A116B7270f241005e186"; +export const SPIRITSWAP_FRAX_FXS = "0xebF993690F65B23862E10F489656529ac06A27B8"; + +// Misc +export const AAVE_AMO = "0x66635DC1EdEfF19e839f152a67278151Aa6e1B61"; +export const AMO_MINTER = "0xcf37B62109b537fa0Cb9A90Af4CA72f6fb85E241"; // Old: 0xF9931973fCc0c37908687Eec2CCB28fC3B94B086 +export const AMO_MINTER_OLD = "0x36a0B6a5F7b318A2B4Af75FFFb1b51a5C78dEB8C"; +export const BALANCE_CHECKER = "0x0be27F994E24F8C3E5f6D0C28AbB5732256ee205"; +export const BUNDLE_UTILS = "0xD1a7b80a954e56bfd7bd889aF6e2BE8674719F5d"; +export const CONVEX_AMO = "0x49ee75278820f409ecd67063D8D717B38d66bd71"; // Impl: 0x49f77ddd4d57636ab4c98d8f18ca5f4b5210983d +export const CONVEX_AMO_ADMIN = "0xE53d45ABe10Ce20427D20c5a1b6360Fa5BA0cE0A"; +export const CRVFRAX_VAULT = "0xB4AdA607B9d6b2c9Ee07A275e9616B84AC560139"; +export const CURVE_AMO = "0x72170Cdc48C33a6AE6B3E83CD387ca3Fb9105da2"; // Impl: 0xC3204838aF4CE0597476aDF367B4C9a3cf9a1B51 +export const CURVE_AMO_IMPL_V1 = "0x5840Db064e17480f8e8E74fD6714C9c316f7DdFE"; // Old2: 0xbd061885260F176e05699fED9C5a4604fc7F2BDC, Old1: 0x77746DC37Deae008c7149EDc1b1A8D6d63e08Be5, Old2: 0x25e9702359bAf56E505F0BA981eeBFA23ceB030A, Old3: 0x19a47F38D39692617C9D9012eC0176C9ead00a5e +export const CURVE_AMO_V1 = "0xbd061885260F176e05699fED9C5a4604fc7F2BDC"; +export const CURVE_AMO_V2 = "0xD103FEf74D05FbC20B5184FE85c7187735355DB3"; // 0xeF8c0b4902b985bF64B8cfF6BbCD0AC1FDc8d5d3, // Proxy: 0x7e983e4f98b16cee76f8f9a6a1e87b5861de8769 +export const CURVE_AMO_V5 = "0xf8a4ffe7C980fD50B160b7B86dCd5e9eb7E281a9"; +export const CURVE_AMO_ADMIN = "0x900909C07c2761d84C5d863FF5905102916DF69C"; +export const CURVE_METAPOOL_LOCKER = "0x70F55767B11c047C8397285E852919F5f6c8DC60"; +export const CURVE_METAPOOL_LOCKER_2 = "0xE4BD0461AE7fdc76c61CE286a80c9B55d83B204a"; +export const CURVE_VOTER_PROXY = "0x847FA1A5337C7f24D7066E467F2e2A0f969Ca79F"; +export const CVX_LOCKER_AMO = "0x7038C406e7e2C9F81571557190d26704bB39B8f3"; +export const CVX_LOCKER_AMO_V2 = "0x72a19342e8F1838460eBFCCEf09F6585e32db86E"; +export const DEPOSIT_CONTRACT_ADDRESS = "0x00000000219ab540356cBB839Cbe05303d7705Fa"; +export const ETH_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"; +export const FPI_CONTROLLER_AMO = "0x2397321b301B80A1C0911d6f9ED4b6033d43cF51"; // Old: 0x309AC8840f9b4C7eEB5bAb1e89669d8dbb86c060 +export const FRAX3CRV_CURVE_FXS_DISTRIBUTOR = "0xBBbAf1adf4d39B2843928CCa1E65564e5ce99ccC"; // MAY NEED TO CALL APPROVE FIRST +export const FRAX3CRV_CURVE_REWARDS_DISTRIBUTOR_EOA = "0x73f9F84B04584227b4f0bafFd8B37D6D0C11a23c"; +export const FRAX_GAUGE_CONTROLLER = "0x44ade9AA409B0C29463fF7fcf07c9d3c939166ce"; +export const FRAX_GAUGE_CONTROLLER_V2 = "0x3669C421b77340B2979d1A00a792CC2ee0FcE737"; +export const FRAX_GAUGE_REWARDS_DISTRIBUTOR = "0x278dC748edA1d8eFEf1aDFB518542612b49Fcd34"; +export const FRAX_GAUGE_NOOP_REWARDS_DISTRIBUTOR = "0x48D9A9e67e9deCfD493efE2B3D3B5291fc802e5F"; +export const FRAX_GAUGE_V2 = "0x72E158d38dbd50A483501c24f792bDAAA3e7D55C"; +export const FRAXLEND_AMO = "0x0Ed8fA7FC63A8eb5487E7F87CAF1aB3914eA4eCa"; +export const FRAXLEND_AMO_V3 = "0xf6E697e95D4008f81044337A749ECF4d15C30Ea6"; +export const FRXETH_MINTER = "0xbAFA44EFE7901E04E39Dad13167D089C559c1138"; +export const FXS_1559_AMO = "0x9C6a04871D11b33645ab592f68C41bb2B41F51EE"; // Old1: 0xaf02be5968D8Fe9536e24E4c7e888C59A58Bc077 +export const FXS_1559_AMO_V2 = "0xC80C48862E4254F37047235298eDb6AA35717C24"; // Proxy +export const FXS_1559_AMO_V2_ADMIN = "0xCaa487D113ad1C34Ce128c4f3a2A437614C6a692"; // Proxy admin +export const FXS_1559_AMO_V2_IMPL_V1 = "0xCDe9A4e885B87a893b8817D136FD2F404B54294f"; +export const FXS_1559_AMO_V3 = "0xb524622901b3f7b5DeA6501E9830700C847C7DC5"; // Old: 0x7301BB959ee286D8ABC46f341144afE443CEdAe5 +export const INVESTOR_AMO = "0xB8315Af919729c823B2d996B1A6DDE381E7444f1"; // Old proxy: 0x2B4d259a8f6E765AD881C4C1D04045D629dA01b4 +export const INVESTOR_AMO_V1 = "0xEE5825d5185a1D512706f9068E69146A54B6e076"; +export const INVESTOR_AMO_ADMIN = "0x069c24600c2A03147D4E1D9b04d193151676F577"; +export const INVESTOR_AMO_IMPL_V1 = "0xdE3C8aA7f53a69c595b7720045000A68Cb9CB341"; // Old V3: 0xEccA5a27B4f8f92a2bFFd006F20168A7188C0A0C, Old V2: 0xEE5825d5185a1D512706f9068E69146A54B6e076, // Old: 0xe09394AE14d7c3b1798e4dbEa4c280973B2689A4 +export const LENDING_AMO = "0x9507189f5B6D820cd93d970d67893006968825ef"; // Old: 0xDA9d06166c2085988920Fb35EB2d322B4aaDF1EE +export const MANUAL_TOKEN_TRACKER_AMO = "0xEc8672dd770D59FaD9a811591a5Edd40e8F6A413"; +export const MIGRATION_BUNDLE_UTILS = "0x239c957d42343B3d91FABc7c16E7F1e30Bc32E5B"; // same bytecode: 0x2fFFFbA4F562569bec2D4FC1c36F7797ffb173Cd +export const MIGRATION_HELPER = "0xe16723A08Ae054a8F20BDc0395389569011e78D6"; +export const MIM_CONVEX_AMO = "0x31183a2CCe8d1BFBBFE140Ea1A1264A454Fc821E"; +export const MINT_UTILITIES = "0xE054C1ab5D548E0144ab3F89a8f5809137819906"; +export const MSIG_HELPER = "0x977eaDb6fa9b8E1a2A950CcDE1A75a7b527a8cBB"; +export const MULTICALL_OZ_DELEGATECALL = "0x1EA632b997B7c7068ac48aDe8040652a8AF9FbbB"; +export const MULTISIG = "0xFa27873EA2F0eA9DcD2052848C4A7F8ADE8a3936"; +export const OHM_AMO = "0x5699d20732a2EFa9A895EF04bb210aa751C4dB96"; // Impl:0x89a5CeC88598c0CE4d4E331D0b027499edd3dfFa +export const OHM_AMO_ADMIN = "0xE53d45ABe10Ce20427D20c5a1b6360Fa5BA0cE0A"; +export const RARI_AMO = "0x96665d63c1B53f8335e3c9287Ee255f306C93c45"; +export const RAGEQUITTER_TEMPLE = "0xB12C76b92936d136Fd8264F6EFcBb06458338D97"; +export const STAKEDAO_AMO = "0x375278D3C65f29C1A90E8550888f1439cFeFe465"; // Impl:0xcf1e6926b2167f83ec3300bed04a672abd93e646 +export const STAKING_UTILITIES = "0xE4de6E1DF1FE135D6462554d0Fd36A14d787f689"; +export const TIMELOCK = "0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA"; +export const TOKEMAK_AMO = "0x4e710B33c87CEDF832Cd82E11d743A011864f733"; +export const TOKEN_TRACKER_AMO = "0x3F702a8F6c9f9F7ABdfEA67f89d33F18e0368600"; +export const TOKEN_TRACKER_V2 = "0x37336AD1F3A145C710247E6a14C9AcC7f34D09eE"; +export const TWAMM_AMO = "0x11Fc7df1fb0E51f9c9AB8f575d9bbaDC92FA425B"; +export const TWAMM_AMO_V2 = "0x629C473e0E698FD101496E5fbDA4bcB58DA78dC4"; +export const UNIV2_TO_UNIV3_MIGRATOR_ADDRESS = "0x7b50137E8996A1717a6D97a0527e4c5D2D133405"; +export const UNIV3_LIQUIDITY_AMO = "0x3814307b86b54b1d8e7B2Ac34662De9125F8f4E6"; // Old:"0xef2b0895f986Afd7Eb7939B65E2883C5e199751f +export const UNIV3_LIQUIDITY_AMO_V2 = "0xc91Bb4b0696e3b48c0C501B4ce8E7244Fc363A79"; +export const VEFXS_SMART_WALLET_CHECKER = "0x53c13BA8834a1567474b19822aAD85c6F90D9f9F"; +export const VEFXS_YIELD_DISTRIBUTOR = "0x19a0a70a68fbC604Bf20A03b787df8f7AC1d50f0"; +export const VEFXS_YIELD_DISTRIBUTOR_V2 = "0x62C4cf364078C98fA08AfDB4D3d8D87e780Ebd45"; +export const VEFXS_YIELD_DISTRIBUTOR_V3 = "0xed2647Bbf875b2936AAF95a3F5bbc82819e3d3FE"; +export const VEFXS_YIELD_DISTRIBUTOR_V4 = "0xc6764e58b36e26b08Fd1d2AeD4538c02171fA872"; +export const VEFPIS_YIELD_DISTRIBUTOR_V4 = "0xE6D31C144BA99Af564bE7E81261f7bD951b802F6"; // V5 really, but keeping name here for DB compatibility +export const VEFPIS_SMART_WALLET_CHECKER = "0x81903F6f9675f7b500eAFE20681bD2D7BAb7C71b"; +export const YIELDSPACE_AMO = "0x8971946467a77b798762823434c0f407d20F9df9"; + +// Multisigs +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"; +export const FPI_CORE_CONTRIBUTORS_TEAM_MULTISIG = "0x708695db8dF61e646571E78b9b3e2BAd7D6c42E3"; +export const FPI_TREASURY_MULTISIG = "0x5181C3c36bD52F783e6E1771d80b1e3AdCB36019"; +export const FRAXLEND_MAIN_MULTISIG = "0x168200cF227D4543302686124ac28aE0eaf2cA0B"; +export const FRAXLEND_OPERATOR_MULTISIG = "0xa4EC124e09D6D1A092c6BD16aFac9CD83f73E3c3"; +export const FRAXLEND_CIRCUIT_BREAKER_MULTISIG = "0xfd3065C629ee890Fd74F43b802c2fea4B7279B8c"; +export const FRXETH_COMPTROLLER = "0x8306300ffd616049FD7e4b0354a64Da835c1A81C"; +export const FRXETH_OWNER = "0x8306300ffd616049FD7e4b0354a64Da835c1A81C"; +export const FXB_MULTISIG = "0x831822660572bd54ebaa065C2acef662a6277D40"; +export const INVESTORS_MULTISIG = "0xa95f86fE0409030136D6b82491822B3D70F890b3"; +export const TEAM_MULTISIG = "0x8D4392F55bC76A046E443eb3bab99887F4366BB0"; +export const TIMELOCK_ADDRESS = "0x8412ebf45bAC1B340BbE8F318b928C466c4E39CA"; +export const TREASURY_MULTISIG = "0x9AA7Db8E488eE3ffCC9CdFD4f2EaECC8ABeDCB48"; +export const WALLET_WITH_CRVFRAX = "0xCFc25170633581Bf896CB6CDeE170e3E3Aa59503"; +export const WALLET_WITH_USDC = "0xD6216fC19DB775Df9774a6E33526131dA7D19a2c"; +export const WALLET_WITH_WETH = "0x8EB8a3b98659Cce290402893d0123abb75E3ab28"; + +// PoolRelatedTokens +export const AFRAX = "0xd4937682df3C8aEF4FE912A96A74121C0829E664"; +export const AGEURFRAXBP = "0x22e859Ee894c2068920858A60b51DC03ac5581c1"; +export const AGEURFRAXBP_POOL = "0x58257e4291F95165184b4beA7793a1d6F8e7b627"; +export const ALCXFRAXBP = "0xf985005a3793DbA4cCe241B3C19ddcd3Fe069ff4"; +export const ALCXFRAXBP_POOL = "0x4149d1038575CE235E03E03B39487a80FD709D31"; +export const ALETHFRXETH = "0x97Ba76a574bC5709b944bB1887691301c72337Ca"; +export const ALETHFRXETH_POOL = "0x97Ba76a574bC5709b944bB1887691301c72337Ca"; +export const ALUSDFRAXBP = "0xB30dA2376F63De30b42dC055C93fa474F31330A5"; +export const ALUSDFRAXBP_POOL = "0xB30dA2376F63De30b42dC055C93fa474F31330A5"; +export const ANKRETHFRXETH = "0xa8e14F03124Ea156A4fc416537c82ff91a647D50"; +export const ANKRETHFRXETH_POOL = "0x41eA4045de2676727883aa0B4E43D7e32261f559"; +export const APEUSDFRAXBP = "0x04b727C7e246CA70d496ecF52E6b6280f3c8077D"; +export const APEUSDFRAXBP_POOL = "0x04b727C7e246CA70d496ecF52E6b6280f3c8077D"; +export const AUSDC = "0xBcca60bB61934080951369a648Fb03DF4F96263C"; +export const BADGERFRAXBP = "0x09b2E090531228d1b8E3d948C73b990Cb6e60720"; +export const BADGERFRAXBP_POOL = "0x13B876C26Ad6d21cb87AE459EaF6d7A1b788A113"; +export const BUSDFRAXBP = "0x8fdb0bB9365a46B145Db80D0B1C5C5e979C84190"; +export const BUSDFRAXBP_POOL = "0x8fdb0bB9365a46B145Db80D0B1C5C5e979C84190"; +export const CAAVE = "0xe65cdB6479BaC1e22340E4E755fAE7E509EcD06c"; +export const CBETHFRXETH = "0x548E063CE6F3BaC31457E4f5b4e2345286274257"; +export const CBETHFRXETH_POOL = "0x73069892f6750CCaaAbabaDC54b6b6b36B3A057D"; +export const CLEVUSDFRAXBP = "0x84C333e94AEA4a51a21F6cf0C7F528C50Dc7592C"; +export const CLEVUSDFRAXBP_POOL = "0x84C333e94AEA4a51a21F6cf0C7F528C50Dc7592C"; +export const COILFRAXBP = "0xb85010193FD15aF8390dbD62790Da70F46c1126B"; +export const COILFRAXBP_POOL = "0xAF4264916B467e2c9C8aCF07Acc22b9EDdDaDF33"; +export const CRVFRAX = "0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC"; +export const CRVFRAX_GAUGE = "0xCFc25170633581Bf896CB6CDeE170e3E3Aa59503"; +export const CRVFRXETH = "0xc34993c9aDf6a5AB3b4cA27dC71b9c7894A53974"; +export const CRVFRXETH_POOL = "0x442F37cfD85D3f35e576AD7D63bBa7Bb36fCFe4a"; +export const CRVUSDFRAX = "0x0CD6f267b2086bea681E922E19D40512511BE538"; +export const CRVUSDFRAX_GAUGE = "0x96424E6b5eaafe0c3B36CA82068d574D44BE4e3c"; +export const CRVUSDFRAX_POOL = "0x0CD6f267b2086bea681E922E19D40512511BE538"; +export const CURVE4POOL = "0x4e0915C88bC70750D68C481540F081fEFaF22273"; +export const CUSDC = "0x39AA39c021dfbaE8faC545936693aC917d5E7563"; +export const CVGFRAXBP = "0x421E13b4e805993A0d50aD8c6c47A4F693f04424"; +export const CVGFRAXBP_GAUGE = "0x8A111B47B31bBa40C2F0D2f9a8Cf6B6C4B50114E"; +export const CVGFRAXBP_POOL = "0xa7B0E924c2dBB9B4F576CCE96ac80657E42c3e42"; +export const CVXAGEURFRAXBP = "0x9e187393cBc76c8Bf8e8a06bD7737a7cabe9d66C"; +export const CVXAGEURFRAXBP_REWARDER = "0x17962aB30c7F291b125A0A38d0ad220ab22F8a5B"; +export const CVXALCXFRAXBP = "0xCf9fC20189755354edDdED66C9ED9DFADAFd7a2E"; +export const CVXALCXFRAXBP_REWARDER = "0xC10fD95fd3B56535668426B2c8681AD1E15Be608"; +export const CVXALUSDFRAXBP = "0x5BcAfc77f19F72bCf1420cC1722c3e06E16Ec29a"; +export const CVXALUSDFRAXBP_REWARDER = "0x26598e3E511ADFadefD70ab2C3475Ff741741104"; +export const CVXAPEUSDFRAXBP = "0x04b727C7e246CA70d496ecF52E6b6280f3c8077D"; +export const CVXAPEUSDFRAXBP_REWARDER = "0x51e6B84968D56a1E5BC93Ee264e95b1Ea577339c"; +export const CVXBADGERFRAXBP = "0x25f0b7c3A7A43b409634a5759526560cC3313d75"; +export const CVXBADGERFRAXBP_REWARDER = "0xe0705A91984b076C250d410A41f615380aF1C2ed"; +export const CVXBUSDFRAXBP = "0xf203A94e59d071062a0dd31f396bCb19a38809A4"; +export const CVXBUSDFRAXBP_REWARDER = "0x9e6Daf019767D5cEAdE416ce77E8d187b5B254F3"; +export const CVXCLEVUSDFRAXBP = "0x84C333e94AEA4a51a21F6cf0C7F528C50Dc7592C"; +export const CVXCLEVUSDFRAXBP_REWARDER = "0x710e85B2793b3AE88Cb1Da3cb25b3d62D810d180"; +export const CVXCOILFRAXBP = "0x624cEFdBe30507EEAc71882C9e42Ca0900D5B6a1"; +export const CVXCOILFRAXBP_REWARDER = "0xAE0b6b66378C7DEFc0514D7cBc6E4e92Cf56b0af"; +export const CVXCRVFRAX = "0x117A0bab81F25e60900787d98061cCFae023560c"; +export const CVXCRVFRAXBP = "0x527331F3F550f6f85ACFEcAB9Cc0889180C6f1d5"; +export const CVXCRVFRAXBP_POOL = "0x31c325A01861c7dBd331a9270296a31296D797A0"; +export const CVXCRVFRAX_REWARDER = "0x7e880867363A7e321f5d260Cade2B0Bb2F717B02"; +export const CVXCRVUSDFRAX = "0x01CcDe1dFb6c84e1Cc13a6Bf777aa2160ABd11BA"; +export const CVXCRVUSDFRAX_REWARDER = "0x3CfB4B26dc96B124D15A6f360503d028cF2a3c00"; +export const CVXCRV_REWARDER = "0x3Fe65692bfCD0e6CF84cB1E7d24108E434A7587e"; +export const CVXCVGFRAXBP = "0x3cB8E5cac768D6Dd3E7683dBC78E255aae66EDBB"; +export const CVXCVGFRAXBP_REWARDER = "0x0736b746F53826A1eEC888a05EBF592AF68946Db"; +export const CVXCVXCRVFRAXBP = "0x2aE739F40Cda5F053F9dbecE7E177Fcbdc4A07D9"; +export const CVXCVXCRVFRAXBP_REWARDER = "0xdEbc7B51043b4D0dd4f3310C68A12382b8843ceE"; +export const CVXCVXFRAXBP = "0x123dC033d6fF314211F7953eD31bC805f85C13d5"; +export const CVXCVXFRAXBP_REWARDER = "0xf02B3A77b1e7775de10294d78a4c3d77772B484A"; +export const CVXCVXFXSFRAXBP = "0xDad9DB2c7c96a1496493E6D48d131a2667f284f9"; +export const CVXCVXFXSFRAXBP_REWARDER = "0x19eA715F854dB2196C6f45A174541a5Ac884D2f9"; +export const CVXDOLAFRAXBP = "0xf7eCC27CC9DB5d28110AF2d89b176A6623c7E351"; +export const CVXDOLAFRAXBP_REWARDER = "0x0404d05F3992347d2f0dC3a97bdd147D77C85c1c"; +export const CVXDOLAFRAXPYUSD = "0x430bE19e180fd8c2199eC5FAEabE2F5CDba68C94"; +export const CVXDOLAFRAXPYUSD_REWARDER = "0xE8cBdBFD4A1D776AB1146B63ABD1718b2F92a823"; +export const CVXEUSDFRAXBP = "0x8e074d44aaBC1b3b4406fE03Da7ceF787ea85938"; +export const CVXEUSDFRAXBP_REWARDER = "0xB468dB2E478885B87D7ce0C8DA1D4373A756C138"; +export const CVXFPIFRAX_F = "0x28ebAb5Ecbc3efB4116205c2D3237d8b16976B06"; +export const CVXFRAXBP = "0x7F17A6C77C3938D235b014818092eb6305BdA110"; +export const CVXFRAXBP_POOL = "0xBEc570d92AFB7fFc553bdD9d4B4638121000b10D"; +export const CVXFRAXFPI_NG = "0xBA927A88eb7B7902ffC5cd99b94fA2964d1a1E03"; +export const CVXFRAXFPI_NG_REWARDER = "0x062450B06EB92F1C4E227C41c987ed97c93Ae232"; +export const CVXFRAXFXB_20240630 = "0x5A82ae31C1a36833B9E148d01E967c1b05eDb346"; +export const CVXFRAXFXB_20240630_REWARDER = "0x830a71574E3c8AE9da477cE1B7F12849E9f7c8c8"; +export const CVXFRAXFXB_20241231 = "0x06382622D0FafB372dA64b765EAd3d082a8BCabB"; +export const CVXFRAXFXB_20241231_REWARDER = "0x249cE0b1a682AD7b02e43271f9f0C9ac85Ec47e8"; +export const CVXFRAXFXB_20261231 = "0x7Ce2F444D0B034f44EeA4FE77608f0c680966D20"; +export const CVXFRAXFXB_20261231_REWARDER = "0xC9F6D73fD06b8EEB0A4E87cAd407219E10F31712"; +export const CVXFRAXPYUSD = "0x839CF70a09f1CB104b4eb0B48E26B855A0F7e855"; +export const CVXFRAXPYUSD_REWARDER = "0xB10a6e39Ed8a66fEd3aAef3866a95611a49B9a95"; +export const CVXFRAXSDAI = "0xAb4feFd9cabC03D935cAD345b7626C3180238fb3"; +export const CVXFRAXSDAI_REWARDER = "0xE627082369689b2B86D948c377A4aE4e739C59eE"; +export const CVXFRAXUSDP = "0x29c22337E3ce362Ce4ad8ecc9CE11fE5A08DBA3c"; +export const CVXFRAXUSDP_REWARDER = "0x6991C1CD588c4e6f6f1de3A0bac5B8BbAb7aAF6d"; +export const CVXFRXETH = "0xBb2568deeb365b8B89ef7F9B53E86B34cd5D0490"; +export const CVXFRXETHALETH = "0x112E8f4b685475CcEd5C38142Cd7A2aE41ef6737"; +export const CVXFRXETHALETH_REWARDER = "0xe0DbbCF08A5465db7c7401C86cce89030e11aB67"; +export const CVXFRXETHANKRETH = "0xc18695D5824C49cF50E054953B3A5910c45597A0"; +export const CVXFRXETHANKRETH_REWARDER = "0xc18695D5824C49cF50E054953B3A5910c45597A0"; +export const CVXFRXETHCBETH = "0x39E1Ea9CB87a352CfFd43e0b19D573d12cf110CC"; +export const CVXFRXETHCBETH_REWARDER = "0x0080d49D4a4921dF0F3853c5e4533462A51fbb29"; +export const CVXFRXETHCRV = "0x41603dA2DD26E6fe29CAe074fC6772053A39C2A9"; +export const CVXFRXETHCRV_REWARDER = "0xd5dC65ec6948845C1C428fb60BE38FE59B50BD13"; +export const CVXFRXETHCVX = "0xAc4b1295F9Aeb1DB29acB37902bE349a79a66403"; +export const CVXFRXETHCVX_REWARDER = "0xA064C1EeEbECD1DF41432f4B7264F508F005aF0C"; +export const CVXFRXETHETH = "0xC07e540DbFecCF7431EA2478Eb28A03918c1C30E"; +export const CVXFRXETHETH_REWARDER = "0xbD5445402B0a287cbC77cb67B2a52e2FC635dce4"; +export const CVXFRXETHMSETH = "0x29889a5fE8e467da8af697C5f1eB901F4911Ab50"; +export const CVXFRXETHMSETH_REWARDER = "0x15507737f44446EB0A86147E2C72Aa6A111A64B2"; +export const CVXFRXETHPETH = "0x1941da8D12A6B39B76bd54c865c8cD3a4553E9C3"; +export const CVXFRXETHPETH_REWARDER = "0x42aaC689261723d06d2a8f356448bd8249f831Bc"; +export const CVXFRXETHPXETH = "0xDE183818eb02AfEa367C1AAFF1BFdeDecE6B2B05"; +export const CVXFRXETHPXETH_REWARDER = "0x72b99E2cf3f9A2bbDA1Cc76894E4554d7aA8FE2E"; +export const CVXFRXETHRETH = "0xeEC515BE690BF445c8C4d1625FD82FA75Bc38bf6"; +export const CVXFRXETHRETH_REWARDER = "0x84754821b5484A69DB3164eF4eDC5A5657318039"; +export const CVXFRXETHRETH_STAFI = "0x02a2206268b49A9b3ee5DD51577E5bDa0072d5F1"; +export const CVXFRXETHRETH_STAFI_REWARDER = "0xf011aD8E91D1dc8625e5548755AEa1F6Fff81089"; +export const CVXFRXETHSETH = "0xf67FEC3D0A32418813bE2BcdD78e058BCFa33AE8"; +export const CVXFRXETHSETH_REWARDER = "0x55cdF6c7E6d04b83835E4702ed395D0263237DA2"; +export const CVXFRXETHSTETH = "0x01492A2cB0Bd14034710475197B4169501B49Ead"; +export const CVXFRXETHSTETH_REWARDER = "0xC3D0B8170E105d6476fE407934492930CAc3BDAC"; +export const CVXFRXETHWETH = "0xAA71e0065A29F2529aBC0F615874009287966229"; +export const CVXFRXETHWETH_REWARDER = "0xFafDE12dC476C4913e29F47B4747860C148c5E4f"; +export const CVXFRXETHZETH = "0x52EdB08ab81e4Cc32cf318aed17dB11c09C3E8B9"; +export const CVXFRXETHZETH_REWARDER = "0x98B662443695f7328F6A7fDe9894CC0E88630269"; +export const CVXFRXETHZUNETH = "0xCB5d9126402cC17eF47b81BD48B43D52bF474Cd4"; +export const CVXFRXETHZUNETH_REWARDER = "0x756d67A10974Fa0e0cE63F82AF4E7ef0d46d452D"; +export const CVXFRXETH_POOL = "0x6E855d08f2984516c40C4246A385bA4A2eDFcd0A"; +export const CVXFXSFRAXBP = "0xF57ccaD8122B898A147Cc8601B1ECA88B1662c7E"; +export const CVXFXSFRAXBP_POOL = "0x21d158d95C2e150e144c36FC64E3653B8D6c6267"; +export const CVXGRAIFRAXBP = "0x6CceedbC3551B619da21e552623Dc7C64Ae15168"; +export const CVXGRAIFRAXBP_REWARDER = "0xC4581E043F676b95Eb1430474C69f3559a758086"; +export const CVXGUSD3CRV_FREE = "0x15c2471ef46Fa721990730cfa526BcFb45574576"; +export const CVXGUSDFRAXBP = "0xfbd79471A12929De8379a6CbaF320E150f139ac4"; +export const CVXGUSDFRAXBP_REWARDER = "0x47809eE386D1dEC29c0b13f21ba30F564517538B"; +export const CVXLUSDFRAXBP = "0xE8a371b5D32344033589A2F0a2712dBD12130b18"; +export const CVXLUSDFRAXBP_REWARDER = "0x053e1dad223A206e6BCa24C77786bb69a10e427d"; +export const CVXMAIFRAXBP = "0xe79914274Ea1332222793d7ba931647531E10a5b"; +export const CVXMAIFRAXBP_REWARDER = "0xD3C412C3cEdbEC604425B23DCd79Aa1ac810622f"; +export const CVXMKUSDFRAXBP = "0x187601595F6D5746566BC0361a48d13066F11C71"; +export const CVXMKUSDFRAXBP_REWARDER = "0x35FbE5520E70768DCD6E3215Ed54E14CBccA10D2"; +export const CVXMSUSDFRAXBP = "0xc3b19502F8c02be75F3f77fd673503520DEB51dD"; +export const CVXMSUSDFRAXBP_REWARDER = "0xF189A4a1E845Fd62944F93De497409798523B397"; +export const CVXOHMFRAXBP = "0x5271045F7B73c17825A7A7aee6917eE46b0B7520"; +export const CVXOHMFRAXBP_REWARDER = "0x27A8c58e3DE84280826d615D80ddb33930383fE9"; +export const CVXPUSDFRAXBP = "0xB17255D92892F1322d023befddaB85f172E36f67"; +export const CVXPUSDFRAXBP_REWARDER = "0x6d096C99Cc2Ea52490355311b73D86365Acf087f"; +export const CVXRSRFRAXBP = "0x022600684e9492dA82f0da11Bf039c11109d0935"; +export const CVXRSRFRAXBP_REWARDER = "0x28441fb9b8b026487A6174Ff39Be015810611C0F"; +export const CVXSDTFRAXBP = "0x95B051E97957f1D48C622Bf73225E3d4c2B189fb"; +export const CVXSDTFRAXBP_REWARDER = "0xc3df9cC2B8FFdB801E8e6E8FF9C1245E2dEcdA98"; +export const CVXSTGFRAXBP = "0x867fe27FC2462cff8890B54DfD64E6d42a9D1aC8"; +export const CVXSTGFRAXBP_REWARDER = "0xAa57A289Bb22a1A0C583db306F6566AE2c0CAf21"; +export const CVXSUSDFRAXBP = "0x8E2A6e9390CbD4C3895D07E4Cb171C0527990dF6"; +export const CVXSUSDFRAXBP_REWARDER = "0x3fABBDfe05487De1720a9420fE2e16d2c3e79A9D"; +export const CVXSWETHFRXETH = "0x1fb9115929b32D4456C37B80536a2C9434061296"; +export const CVXSWETHFRXETH_REWARDER = "0x91362eBf6DbFA5c0FD45CE4cF46DfFd4A8899c7C"; +export const CVXTRICRYPTOFRAX = "0xa0821fDc8d62413757B9da2357b0e5371f45335e"; +export const CVXTRICRYPTOFRAX_REWARDER = "0x4af50A690062970DAf1d2f0Fa9042C6f5a5495E3"; +export const CVXTRISDT = "0x5C2c6E21e141Dd3D13C34754A20d620A1bb731B5"; +export const CVXTRISDT_REWARDER = "0x1f2a117314e6e8655E0A1C97669b7B836e2cDb91"; +export const CVXTUSDFRAXBP = "0x33baeDa08b8afACc4d3d07cf31d49FC1F1f3E893"; +export const CVXTUSDFRAXBP_REWARDER = "0x4a744870fD705971c8c00aC510eAc2206C93d5bb"; +export const CVXUSDDFRAXBP = "0x4606326b4Db89373F5377C316d3b0F6e55Bc6A20"; +export const CVXUSDDFRAXBP_REWARDER = "0x546cd3B917c1d8A6525b4A312bB0014BE031Eb28"; +export const CVXUZDFRAXBP = "0xe6c0fAA19A7fB6A0a2C01e0BBC1a782b9e4a7B48"; +export const CVXUZDFRAXBP_REWARDER = "0x820Fad75512c8C3E57Ad021d016846CEEB5F7105"; +export const CVXXAIFRAXBP = "0xEbB0Dd1AfE63813AdD4c38EEbd71CE7354dd9b7e"; +export const CVXXAIFRAXBP_REWARDER = "0x4a866fE20A442Dff55FAA010684A5C1379151458"; +export const CVXZUSDFRAXBP = "0xd48494c36F98BE491f6Cfd6841617e847C819806"; +export const CVXZUSDFRAXBP_REWARDER = "0xFd3A7636694259b32B3896f59436997AD25380cA"; +export const D3POOL = "0xBaaa1F5DbA42C3389bDbc2c9D2dE134F5cD0Dc89"; +export const DOLAFRAXBP = "0xE57180685E3348589E9521aa53Af0BCD497E884d"; +export const DOLAFRAXBP_POOL = "0xE57180685E3348589E9521aa53Af0BCD497E884d"; +export const DOLAFRAXPYUSD = "0xef484de8C07B6e2d732A92B5F78e81B38f99f95E"; +export const DOLAFRAXPYUSD_GAUGE = "0x4B092818708A721cB187dFACF41f440ADb79044D"; +export const DOLAFRAXPYUSD_POOL = "0xef484de8C07B6e2d732A92B5F78e81B38f99f95E"; +export const EUSDFRAXBP = "0xAEda92e6A3B1028edc139A4ae56Ec881f3064D4F"; +export const EUSDFRAXBP_POOL = "0xAEda92e6A3B1028edc139A4ae56Ec881f3064D4F"; +export const FPIFRAX_F = "0x4704aB1fb693ce163F7c9D3A31b3FF4eaF797714"; +export const FPIFRAX_F_POOL = "0xf861483fa7E511fbc37487D91B6FAa803aF5d37c"; +export const FRAX3CRV_F = "0xd632f22692FaC7611d2AA1C0D552930D43CAEd3B"; +export const FRAXBP = "0x3175Df0976dFA876431C2E9eE6Bc45b65d3473CC"; +export const FRAXBP_POOL = "0xDcEF968d416a41Cdac0ED8702fAC8128A64241A2"; +export const FRAXFPI = "0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe"; +export const FRAXFPI_NG = "0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe"; +export const FRAXFPI_NG_GAUGE = "0x107E4c1302403095e5A4Bc5e815982aa732e95BD"; +export const FRAXFPI_NG_POOL = "0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe"; +export const FRAXFPI_POOL = "0x2Cf99A343e4ECF49623E82f2Ec6A9b62e16Ff3fe"; +export const FRAXFXB_20240630 = "0x4ef4c7519023F30A78647EEab321d6cFabC2513c"; +export const FRAXFXB_20240630_GAUGE = "0x35aD1ACf0C4BE5d4Ba11342128D440fDb9e189eb"; +export const FRAXFXB_20240630_POOL = "0x4ef4c7519023F30A78647EEab321d6cFabC2513c"; +export const FRAXFXB_20241231 = "0x6307E6688819951Cf8D6B6066018243D2496952F"; +export const FRAXFXB_20241231_GAUGE = "0xC2FE9D3c761994897594Df63B33b6D843Ab7b1cF"; +export const FRAXFXB_20241231_POOL = "0x6307E6688819951Cf8D6B6066018243D2496952F"; +export const FRAXFXB_20261231 = "0xe035e27A8eD6842b478933820f90093D205F7098"; +export const FRAXFXB_20261231_GAUGE = "0x0E83dF148F69965BfE752250835854b0dBeeaf01"; +export const FRAXFXB_20261231_POOL = "0xe035e27A8eD6842b478933820f90093D205F7098"; +export const FRAXPYUSD = "0xA5588F7cdf560811710A2D82D3C9c99769DB1Dcb"; +export const FRAXPYUSD_GAUGE = "0xdc6d319FAc1498125e871ccEdF7f1B9998ebA3C5"; +export const FRAXPYUSD_POOL = "0xA5588F7cdf560811710A2D82D3C9c99769DB1Dcb"; +export const FRAXSDAI = "0xcE6431D21E3fb1036CE9973a3312368ED96F5CE7"; +export const FRAXSDAI_GAUGE = "0xb9BDcDcD7c3C1A3255402D44639cb6c7281833cF"; +export const FRAXSDAI_POOL = "0xcE6431D21E3fb1036CE9973a3312368ED96F5CE7"; +export const FRAXUSDP = "0xFC2838a17D8e8B1D5456E0a351B0708a09211147"; +export const FRAXUSDP_POOL = "0xaE34574AC03A15cd58A92DC79De7B1A0800F1CE3"; +export const FRXETHALETH = "0xB657B895B265C38c53FFF00166cF7F6A3C70587d"; +export const FRXETHALETH_GAUGE = "0x415F30505368fa1dB82Feea02EB778be04e75907"; +export const FRXETHALETH_POOL = "0xB657B895B265C38c53FFF00166cF7F6A3C70587d"; +export const FRXETHANKRETH = "0xa8e14F03124Ea156A4fc416537c82ff91a647D50"; +export const FRXETHANKRETH_GAUGE = "0x86f8d7Ced9A8F5563C1198466968B02238E05917"; +export const FRXETHANKRETH_POOL = "0x41eA4045de2676727883aa0B4E43D7e32261f559"; +export const FRXETHCBETH = "0x548E063CE6F3BaC31457E4f5b4e2345286274257"; +export const FRXETHCBETH_GAUGE = "0xD10C17D82053DD0AB65851a9A93a0abE0C4F4794"; +export const FRXETHCBETH_POOL = "0x73069892f6750CCaaAbabaDC54b6b6b36B3A057D"; +export const FRXETHCRV = "0xc34993c9aDf6a5AB3b4cA27dC71b9c7894A53974"; +export const FRXETHCRV_GAUGE = "0x266cE172a1180134cf6C7836C516bd6A58b1f619"; +export const FRXETHCRV_POOL = "0x442F37cfD85D3f35e576AD7D63bBa7Bb36fCFe4a"; +export const FRXETHCVX = "0x6e52cCe4EaFDf77091dD1c82183b2D97b776b397"; +export const FRXETHCVX_GAUGE = "0xc2075702490F0426E84E00d8B328119027813AC5"; +export const FRXETHCVX_POOL = "0x47D5E1679Fe5f0D9f0A657c6715924e33Ce05093"; +export const FRXETHETH = "0xf43211935C781D5ca1a41d2041F397B8A7366C7A"; +export const FRXETHETH_POOL = "0xa1F8A6807c402E4A15ef4EBa36528A3FED24E577"; +export const FRXETHMSETH = "0x2d600BbBcC3F1B6Cb9910A70BaB59eC9d5F81B9A"; +export const FRXETHMSETH_GAUGE = "0xB7A3C519889a916C5ecB54101E69ECf11DE60d0b"; +export const FRXETHMSETH_POOL = "0x2d600BbBcC3F1B6Cb9910A70BaB59eC9d5F81B9A"; +export const FRXETHPETH = "0x320B564Fb9CF36933eC507a846ce230008631fd3"; +export const FRXETHPETH_GAUGE = "0x57e1947e1134F6e733A4a694dE6A163eF23EDf54"; +export const FRXETHPETH_POOL = "0x320B564Fb9CF36933eC507a846ce230008631fd3"; +export const FRXETHPXETH = "0xe2Ed1dAc3A9547BC6057e32bf8133b5268D7d987"; +export const FRXETHPXETH_GAUGE = "0x277d1424a84B35ec0a8108482551b00b4fc1539b"; +export const FRXETHPXETH_POOL = "0xe2Ed1dAc3A9547BC6057e32bf8133b5268D7d987"; +export const FRXETHRETH = "0xbA6c373992AD8ec1f7520E5878E5540Eb36DeBf1"; +export const FRXETHRETH_GAUGE = "0xF20bd4D5A4112d5f9c64aDF53726F3ef1b7d0D61"; +export const FRXETHRETH_POOL = "0xe7c6E0A739021CdbA7aAC21b4B728779EeF974D9"; +export const FRXETHRETH_STAFI = "0xfcc067EFb7bE2EEbD32615F14fC22195abB68e9B"; +export const FRXETHRETH_STAFI_GAUGE = "0xb0549599d8446A196541dE11008eF5e79fA14F57"; +export const FRXETHRETH_STAFI_POOL = "0xfcc067EFb7bE2EEbD32615F14fC22195abB68e9B"; +export const FRXETHSETH = "0x663aC72a1c3E1C4186CD3dCb184f216291F4878C"; +export const FRXETHSETH_GAUGE = "0x77ef5D544FF6C739E7E10a549f64Dd08055538d1"; +export const FRXETHSETH_POOL = "0x663aC72a1c3E1C4186CD3dCb184f216291F4878C"; +export const FRXETHSTETH = "0x4d9f9D15101EEC665F77210cB999639f760F831E"; +export const FRXETHSTETH_GAUGE = "0x821529Bb07c83803C9CC7763e5974386e9eFEdC7"; +export const FRXETHSTETH_POOL = "0x4d9f9D15101EEC665F77210cB999639f760F831E"; +export const FRXETHWETH = "0x9c3B46C0Ceb5B9e304FCd6D88Fc50f7DD24B31Bc"; +export const FRXETHWETH_GAUGE = "0x4E21418095d32d15c6e2B96A9910772613A50d50"; +export const FRXETHWETH_POOL = "0x9c3B46C0Ceb5B9e304FCd6D88Fc50f7DD24B31Bc"; +export const FRXETHZETH = "0xfC89b519658967fCBE1f525f1b8f4bf62d9b9018"; +export const FRXETHZETH_GAUGE = "0xB3627140BEacb97f9CA52b34090352FdAfC77d72"; +export const FRXETHZETH_POOL = "0xfC89b519658967fCBE1f525f1b8f4bf62d9b9018"; +export const FRXETHZUNETH = "0x3A65cbaebBFecbeA5D0CB523ab56fDbda7fF9aAA"; +export const FRXETHZUNETH_GAUGE = "0x44f30D79f62a3D5340030d64806cD73239889F07"; +export const FRXETHZUNETH_POOL = "0x3A65cbaebBFecbeA5D0CB523ab56fDbda7fF9aAA"; +export const FTRIBE_8 = "0xFd3300A9a74b3250F1b2AbC12B47611171910b07"; +export const FUSDC_18 = "0x6f95d4d251053483f41c8718C30F4F3C404A8cf2"; +export const FXSFRXETH = "0x970FAA9aFBC5Feb3EC53059BA330DEe71E22B55B"; +export const FXSFRXETH_POOL = "0x5133Da6Ba0474368Ad0398d953c8D31c1B75b82B"; +export const GOHM = "0x0ab87046fBb341D058F17CBC4c1133F25a20a52f"; +export const GRAIFRAXBP = "0x3175f54A354C83e8ADe950c14FA3e32fc794c0Dc"; +export const GRAIFRAXBP_GAUGE = "0x8d5AF1F5DD3dC4B73e3A9Af682aDC3641FADE9a5"; +export const GRAIFRAXBP_POOL = "0x3175f54A354C83e8ADe950c14FA3e32fc794c0Dc"; +export const GUSD3CRV = "0xD2967f45c4f384DEEa880F807Be904762a3DeA07"; +export const GUSDFRAXBP = "0x4e43151b78b5fbb16298C1161fcbF7531d5F8D93"; +export const GUSDFRAXBP_POOL = "0x4e43151b78b5fbb16298C1161fcbF7531d5F8D93"; +export const LUSDFRAXBP = "0x497CE58F34605B9944E6b15EcafE6b001206fd25"; +export const LUSDFRAXBP_POOL = "0x497CE58F34605B9944E6b15EcafE6b001206fd25"; +export const MAIFRAXBP = "0x66E335622ad7a6C9c72c98dbfCCE684996a20Ef9"; +export const MAIFRAXBP_POOL = "0x66E335622ad7a6C9c72c98dbfCCE684996a20Ef9"; +export const MKUSDFRAXBP = "0x0CFe5C777A7438C9Dd8Add53ed671cEc7A5FAeE5"; +export const MKUSDFRAXBP_GAUGE = "0xF184d80915Ba7d835D941BA70cDdf93DE36517ee"; +export const MKUSDFRAXBP_POOL = "0x0CFe5C777A7438C9Dd8Add53ed671cEc7A5FAeE5"; +export const MSUSDFRAXBP = "0xc3b19502F8c02be75F3f77fd673503520DEB51dD"; +export const MSUSDFRAXBP_POOL = "0xc3b19502F8c02be75F3f77fd673503520DEB51dD"; +export const OGTEMPLE = "0x654590F810f01B51dc7B86915D4632977e49EA33"; +export const OHMFRAXBP = "0x5271045F7B73c17825A7A7aee6917eE46b0B7520"; +export const OHMFRAXBP_POOL = "0xFc1e8bf3E81383Ef07Be24c3FD146745719DE48D"; +export const PITCHFXS = "0x11EBe21e9d7BF541A18e1E3aC94939018Ce88F0b"; +export const PUSDFRAXBP = "0xC47EBd6c0f68fD5963005D28D0ba533750E5C11B"; +export const PUSDFRAXBP_POOL = "0xC47EBd6c0f68fD5963005D28D0ba533750E5C11B"; +export const RETHFRXETH = "0xbA6c373992AD8ec1f7520E5878E5540Eb36DeBf1"; +export const RETHFRXETH_POOL = "0xe7c6E0A739021CdbA7aAC21b4B728779EeF974D9"; +export const RSRFRAXBP = "0x3F436954afb722F5D14D868762a23faB6b0DAbF0"; +export const RSRFRAXBP_POOL = "0x6a6283aB6e31C2AeC3fA08697A8F806b740660b2"; +export const SADDLED4 = "0xd48cF4D7FB0824CC8bAe055dF3092584d0a1726A"; +export const SADDLED4_POOL = "0xC69DDcd4DFeF25D8a793241834d4cc4b3668EAD6"; +export const SDFRAX3CRV_F = "0x5af15DA84A4a6EDf2d9FA6720De921E1026E37b7"; +export const SDL_ALUSDFRAXBP = "0x3cF7b9479a01eeB3bbfC43581fa3bb21cd888e2A"; +export const SDL_ALUSDFRAXBP_GAUGE = "0x953693DCB2E9DDC0c1398C1b540b81b63ceA5e16"; +export const SDL_ALUSDFRAXBP_POOL = "0xFB516cF3710fC6901F2266aAEB8834cF5e4E9558"; +export const SDL_FRAX3POOL = "0x0785aDDf5F7334aDB7ec40cD785EBF39bfD91520"; +export const SDL_FRAX3POOL_GAUGE = "0x13Ba45c2B686c6db7C2E28BD3a9E8EDd24B894eD"; +export const SDL_FRAX3POOL_POOL = "0x8cAEa59f3Bf1F341f89c51607E4919841131e47a"; +export const SDL_FRAXBP = "0x927E6f04609A45B107C789aF34BA90Ebbf479f7f"; +export const SDL_FRAXBP_GAUGE = "0xB2Ac3382dA625eb41Fc803b57743f941a484e2a6"; +export const SDL_FRAXBP_POOL = "0x13Cc34Aa8037f722405285AD2C82FE570bfa2bdc"; +export const SDL_SUSDFRAXBP = "0x6Ac7a4cB3BFa90DC651CD53EB098e23c88d04e77"; +export const SDL_SUSDFRAXBP_GAUGE = "0x104F44551386d603217450822443456229F73aE4"; +export const SDL_SUSDFRAXBP_POOL = "0x69baA0d7c2e864b74173922Ca069Ac79d3be1556"; +export const SDL_USDTFRAXBP = "0x486DFCfdbF9025c062110E8c0344a15279aD0a85"; +export const SDL_USDTFRAXBP_GAUGE = "0x6EC5DD7D8E396973588f0dEFD79dCA04F844d57C"; +export const SDL_USDTFRAXBP_POOL = "0xC765Cd3d015626244AD63B5FB63a97c5634643b9"; +export const SDL_VESPERFRAXEARNPOOLFRAXBP = "0xA3beCa25Bd2bDd67272556666A7791d772C36571"; +export const SDL_VESPERFRAXEARNPOOLFRAXBP_GAUGE = "0x9980C9b35844946cF3451cC0B43D9b6501F4a96E"; +export const SDL_VESPERFRAXEARNPOOLFRAXBP_POOL = "0x9AC17f026f0599F77b3513a0A35f0258B0ec77f3"; +export const SDTFRAXBP = "0x893DA8A02b487FEF2F7e3F35DF49d7625aE549a3"; +export const SDTFRAXBP_POOL = "0x3e3C6c7db23cdDEF80B694679aaF1bCd9517D0Ae"; +export const SETHFRXETH = "0x663aC72a1c3E1C4186CD3dCb184f216291F4878C"; +export const SETHFRXETH_POOL = "0x663aC72a1c3E1C4186CD3dCb184f216291F4878C"; +export const SOHM = "0x04F2694C8fcee23e8Fd0dfEA1d4f5Bb8c352111F"; +export const STETHFRXETH = "0x4d9f9D15101EEC665F77210cB999639f760F831E"; +export const STETHFRXETH_POOL = "0x4d9f9D15101EEC665F77210cB999639f760F831E"; +export const STGFRAXBP = "0x9de1c3D446237ab9BaFF74127eb4F303802a2683"; +export const STGFRAXBP_POOL = "0x867fe27FC2462cff8890B54DfD64E6d42a9D1aC8"; +export const STKAAVE = "0x4da27a545c0c5B758a6BA100e3a049001de870f5"; +export const STKCVXAGEURFRAXBP = "0x78b74C93c726B6e29d0Ef5A01764fA19eCCF0C1c"; +export const STKCVXALCXFRAXBP = "0xAF1b82809296E52A42B3452c52e301369Ce20554"; +export const STKCVXALUSDFRAXBP = "0xBE1C919cA137299715e9c929BC7126Af14f76091"; +export const STKCVXAPEUSDFRAXBP = "0x6a20FC1654A2167d00614332A5aFbB7EBcD9d414"; +export const STKCVXBADGERFRAXBP = "0xb92e3fD365Fc5E038aa304Afe919FeE158359C88"; +export const STKCVXBUSDFRAXBP = "0x20c5177504A3f9Bad59c430791feA853EeAD4CCE"; +export const STKCVXCLEVUSDFRAXBP = "0x3199a1ed1Ad4cb1d1b57939809c8ee79eafE9934"; +export const STKCVXCOILFRAXBP = "0xa5B6f8Ec4122c5Fe0dBc4Ead8Bfe66A412aE427C"; +export const STKCVXCOILFRAXBP_DEPRECATED = "0xdA69CeC36AE581C1b2a2EEb77C527Fb7c1331310"; +export const STKCVXCRV = "0xaa0C3f5F7DFD688C6E646F66CD2a6B66ACdbE434"; +export const STKCVXCRVUSDFRAX = "0xb6F63cc2066e7626fA47fCC37E78Df9fe89F1663"; +export const STKCVXCVGFRAXBP = "0x7B465174A93a6d0602fD4ea99eEc86C07e5E1568"; +export const STKCVXCVXCRVFRAXBP = "0xa103a6ca0C4D4072BA59a55FD453BFE4197A095B"; +export const STKCVXCVXFRAXBP = "0x93D1De20eaBB21686CFe716f78F67E51ee578185"; +export const STKCVXCVXFXSFRAXBP = "0xA6A8F315b1a8C9B05433d206b8fECfbF0fC96217"; +export const STKCVXDOLAFRAXBP = "0xF06c8696730cf760619e4fA0eDd0f79ea50531A9"; +export const STKCVXDOLAFRAXPYUSD = "0x8aAa49650C4908156efAc3B47e00745a319c806c"; +export const STKCVXEUSDFRAXBP = "0x49BF6f9B860fAF73B0b515c06Be1Bcbf4A0db3dF"; +export const STKCVXFPIFRAX = "0x7287488F8Df7dddc5f373142D4827aAF92AAC845"; +export const STKCVXFRAXBP = "0x8a53ee42FB458D4897e15cc7dEa3F75D0F1c3475"; +export const STKCVXFRAXFPI_NG = "0x562E4d6C958333a5f0988FFedA11e45C27722994"; +export const STKCVXFRAXFXB_20240630 = "0x6E804b00fe562707E3a86bBbcC53Eb73c36c0cf6"; +export const STKCVXFRAXFXB_20241231 = "0xBb16610CF051AAc4bBEF9c53e2fc99b77BCE4A8c"; +export const STKCVXFRAXFXB_20261231 = "0x8aa015CE081505064a9cB8e7816deE3Bd7a45a12"; +export const STKCVXFRAXPYUSD = "0x59Ae4E430be0bF47e758F7E022E9a50A8C7D09d6"; +export const STKCVXFRAXSDAI = "0x2EB43dBF8C0013712fEc7B2A57453e41B9907e95"; +export const STKCVXFRAXUSDP = "0x5385AE7dC08F5C3799691E5b387cB01108B76627"; +export const STKCVXFRXETHALETH = "0x8A59781B415288f9E633b948618726CB6E47e980"; +export const STKCVXFRXETHANKRETH = "0x75A439b3F8106428b86198D8c306c57E9e7Bb3dC"; +export const STKCVXFRXETHCBETH = "0x4e9D8323603E69c1310E5e04Db172bD5aB07df95"; +export const STKCVXFRXETHCRV = "0x194aA54376886dAd3d08e71F47D189A88251D8Da"; +export const STKCVXFRXETHCVX = "0x5B31bf2988E5388Edae2960504d96Bc142742dCb"; +export const STKCVXFRXETHETH = "0x4659d5fF63A1E1EDD6D5DD9CC315e063c95947d0"; +export const STKCVXFRXETHMSETH = "0x09bFD0c760E4a1bFc970cdaAAD240307C917Aa6c"; +export const STKCVXFRXETHPETH = "0xeCF134dF5DE1e0E12A441D446ff81994Cb0301A2"; +export const STKCVXFRXETHPXETH = "0x51521Da84Cbce1B4A930B55d8D896b590532f7A6"; +export const STKCVXFRXETHRETH = "0xE0c65F74728Ff26219C6adddCEfB215484bb08DF"; +export const STKCVXFRXETHRETH_STAFI = "0xffAFA5aA5b0a9C0C8e05ec8b89056F018EE2Bad6"; +export const STKCVXFRXETHSETH = "0x44b51F7F92D761Cf2FC46011AD6b74Ce56447924"; +export const STKCVXFRXETHSTETH = "0xc2eC3d1209FD1Fc512950825f34281EaF9aB13A2"; +export const STKCVXFRXETHWETH = "0x08061feC3FC09Aa2Eb4B4B72EA618034CBFD22b0"; +export const STKCVXFRXETHZETH = "0xd69068777d1b2dc74522117efA75AA195c0b57DB"; +export const STKCVXFRXETHZUNETH = "0xD893522D2CCd40eA6C1414815e3eAD1B58a83D51"; +export const STKCVXGRAIFRAXBP = "0xDf9BB26ba5a05fcFc2637dC763AA4eb735911568"; +export const STKCVXGUSDFRAXBP = "0x16e9eaC2A9e29aF3c53d24ed0F07fc403E098b64"; +export const STKCVXLUSDFRAXBP = "0x8C402989a966D37B96f60401A6158D5D49f1381D"; +export const STKCVXMAIFRAXBP = "0x787eB52b94c4610ABE2C9C5eE95c3a4a16533344"; +export const STKCVXMKUSDFRAXBP = "0xd529a0FD4249f0b48171140873b1b13a1ad5286d"; +export const STKCVXMSUSDFRAXBP = "0x227b7F44468A0EC0FDdfc3FB0cE09b294E62f875"; +export const STKCVXOHMFRAXBP = "0x81b0dCDa53482A2EA9eb496342dC787643323e95"; +export const STKCVXPUSDFRAXBP = "0x7AEF5bDC573dCbfb40EC68b0BAAB03abB846C9c6"; +export const STKCVXRSRFRAXBP = "0xF37007f2b9DE656115e1B977Bb1fd38A99B8a2a6"; +export const STKCVXSDTFRAXBP = "0xE6Aa75F98e6c105b821a2dba9Fbbd886b421F06b"; +export const STKCVXSTGFRAXBP = "0xAe1bA2Cf0eBF00C5052309992d7B6c94e3EfcBEf"; +export const STKCVXSUSDFRAXBP = "0x9f0C2673a33b7087e367253f196A7E823fBc2341"; +export const STKCVXSWETHFRXETH = "0xa3ae006Cc863423F690ca01C2a8F692B97c93c3b"; +export const STKCVXTRICRYPTOFRAX = "0x0643d5C29498149D31bAd69a5bE2771b5440C58d"; +export const STKCVXTRISDT = "0xAD059ccF041e344eA52A3152Bbf654c605d68473"; +export const STKCVXTUSDFRAXBP = "0x32fA492Ac1F729E0eE9eDdfCBacc3ef72B234e27"; +export const STKCVXUSDDFRAXBP = "0x507e41A64eB7AE47ee303e3B16237ab757F6C06c"; +export const STKCVXUZDFRAXBP = "0xaa236bd1302755937Aa46D6f3423655BbC654B02"; +export const STKCVXUZDFRAXBP_DEPRECATED = "0x57Fb068BDa27351EF0913113264Ce3EF4EeA3316"; +export const STKCVXUZDFRAXBP_DEPRECATED_OLD = "0x57Fb068BDa27351EF0913113264Ce3EF4EeA3316"; +export const STKCVXXAIFRAXBP = "0x19f0a60f4635d3E2c48647822Eda5332BA094fd3"; +export const STKCVXZUSDFRAXBP = "0xFD2d7847E0f450d8B00d3D697D720C687E622a7B"; +export const STKMTA = "0x8f2326316eC696F6d023E37A9931c2b2C177a3D7"; +export const SUSDFRAXBP = "0xe3c190c57b5959Ae62EfE3B6797058B76bA2f5eF"; +export const SUSDFRAXBP_POOL = "0xe3c190c57b5959Ae62EfE3B6797058B76bA2f5eF"; +export const SWETHFRXETH = "0xe49AdDc2D1A131c6b8145F0EBa1C946B7198e0BA"; +export const SWETHFRXETH_POOL = "0x67e0bDbe0A2C5999A60D048f50e794218056b767"; +export const TFRAX = "0x94671A3ceE8C7A12Ea72602978D1Bb84E920eFB2"; +export const TFXS = "0xADF15Ec41689fc5b6DcA0db7c53c9bFE7981E655"; +export const THREECRV_ERC20 = "0x6c3F90f043a72FA612cbac8115EE7e52BDe6E490"; +export const THREECRV_POOL = "0xbEbc44782C7dB0a1A60Cb6fe97d0b483032FF1C7"; +export const TRICRYPTOFRAX = "0x4D1941a887eC788F059b3bfcC8eE1E97b968825B"; +export const TRICRYPTOFRAX_GAUGE = "0x4B43fEaB8f5ccD38Ac0831DD7eC797330114F058"; +export const TRISDT = "0x954313005C56b555bdC41B84D6c63B69049d7847"; +export const TRISDT_GAUGE = "0x2DD2b7E07dD433B758B98A3889a63cbF48ef0D99"; +export const TUSDFRAXBP = "0x33baeDa08b8afACc4d3d07cf31d49FC1F1f3E893"; +export const TUSDFRAXBP_POOL = "0x33baeDa08b8afACc4d3d07cf31d49FC1F1f3E893"; +export const USDDFRAXBP = "0x4606326b4Db89373F5377C316d3b0F6e55Bc6A20"; +export const USDDFRAXBP_POOL = "0x4606326b4Db89373F5377C316d3b0F6e55Bc6A20"; +export const UZDFRAXBP = "0x68934F60758243eafAf4D2cFeD27BF8010bede3a"; +export const UZDFRAXBP_POOL = "0x68934F60758243eafAf4D2cFeD27BF8010bede3a"; +export const VECRV = "0x5f3b5DfEb7B28CDbD7FAba78963EE202a494e2A2"; +export const VESDL = "0xD2751CdBED54B87777E805be36670D7aeAe73bb2"; +export const VLCVX = "0x72a19342e8F1838460eBFCCEf09F6585e32db86E"; +export const XAIFRAXBP = "0x326290A1B0004eeE78fa6ED4F1d8f4b2523ab669"; +export const XAIFRAXBP_POOL = "0x326290A1B0004eeE78fa6ED4F1d8f4b2523ab669"; +export const XSDT = "0xaC14864ce5A98aF3248Ffbf549441b04421247D3"; +export const YVUSDC = "0xa354F35829Ae975e850e23e9615b11Da1B3dC4DE"; +export const ZUSDFRAXBP = "0x400d4C984779A747462e88373c3fE369EF9F5b50"; +export const ZUSDFRAXBP_GAUGE = "0x218E4678318ab5527e41135713193E5EAd73337f"; +export const ZUSDFRAXBP_POOL = "0x400d4C984779A747462e88373c3fE369EF9F5b50"; + +// UniV3Pools +export const AAVE_ETH_UNI_V3_POOL = "0x5aB53EE1d50eeF2C1DD3d5402789cd27bB52c1bB"; +export const APE_WETH_UNI_V3_POOL = "0xAc4b3DacB91461209Ae9d41EC517c2B9Cb1B7DAF"; +export const FRAX_DAI_V3_POOL = "0x97e7d56A0408570bA1a7852De36350f7713906ec"; +export const FRAX_USDC_V3_POOL = "0xc63B0708E2F7e69CB8A1df0e1389A98C35A76D52"; +export const FRAX_WETH_UNI_V3_POOL = "0x92c7b5Ce4CB0e5483F3365C1449f21578eE9f21A"; +export const FRXETH_FRAX_V3_POOL = "0x36C060Cc4b088c830a561E959A679A58205D3F56"; +export const LINK_ETH_UNI_V3_POOL = "0xa6Cc3C2531FdaA6Ae1A3CA84c2855806728693e8"; +export const MKR_ETH_UNI_V3_POOL = "0xe8c6c9227491C0a8156A0106A0204d881BB7E531"; +export const STATIC_UNI_V3_ORACLE = "0xB210CE856631EeEB767eFa666EC7C1C57738d438"; +export const UNI_ETH_UNI_V3_POOL = "0x1d42064Fc4Beb5F8aAF85F4617AE8b3b5B8Bd801"; +export const USDC_WETH_UNI_V3_POOL = "0x88e6A0c2dDD26FEEb64F039a2c41296FcB3f5640"; + +// UniswapV3Misc +export const KYBERSWAP_ELASTIC_FACTORY = "0x5F1dddbf348aC2fbe22a163e30F99F9ECE3DD50a"; +export const KYBERSWAP_ELASTIC_FACTORY_V2 = "0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A"; +export const KYBERSWAP_ELASTIC_POS_MGR = "0x2B1c7b41f6A8F2b2bc45C3233a5d5FB3cD6dC9A8"; +export const KYBERSWAP_ELASTIC_POS_MGR_V2 = "0xe222fBE074A436145b255442D919E4E3A6c6a480"; +export const KYBERSWAP_ELASTIC_ROUTER = "0xC1e7dFE73E1598E3910EF4C7845B68A9Ab6F4c83"; +export const KYBERSWAP_ELASTIC_ROUTER_V2 = "0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4"; +export const KYBERSWAP_ELASTIC_TICK_FEES_READER = "0xD7ab1699280980E756C446769B4c0F04550f88c9"; +export const KYBERSWAP_ELASTIC_TICK_FEES_READER_V2 = "0x8Fd8Cb948965d9305999D767A02bf79833EADbB3"; +export const NON_FUNGIBLE_POSITION_MANAGER = "0xC36442b4a4522E871399CD717aBDD847Ab11FE88"; +export const SWAPROUTER = "0xE592427A0AEce92De3Edee1F18E0157C05861564"; +export const UNISWAP_V3_FACTORY = "0x1F98431c8aD98523631AE4a59f267346ea31F984"; diff --git a/scripts/constants/moonbeam.ts b/scripts/constants/moonbeam.ts new file mode 100644 index 0000000..ecd414c --- /dev/null +++ b/scripts/constants/moonbeam.ts @@ -0,0 +1,43 @@ +// Canonicals +export const FRAX = "0x322E86852e492a7Ee17f28a78c663da38FB33bfb"; +export const FXS = "0x2CC0A9D8047A5011dEfe85328a6f26968C8aaA1C"; +export const FRXETH = "0x82bbd1b6f6De2B7bb63D3e1546e6b1553508BE99"; +export const SFRXETH = "0xecf91116348aF1cfFe335e9807f0051332BE128D"; + +// Farms + +// FraxBonds + +// FraxFerry +export const FRAXFERRY_V1__ETHEREUM_MOONBEAM__FRAX__MNBM_SIDE = "0xd545Fd6080db07eDdcC1F57dC28a53D930837A8d"; +export const FRAXFERRY_V2__ETHEREUM_MOONBEAM__FXS__MNBM_SIDE = "0x1E87990678f640BFfe5A118c331fEc296DDC8d89"; +export const FRAXFERRY_V2__ETHEREUM_MOONBEAM__FRXETH__MNBM_SIDE = "0x7c7Fd7412F5E79f4917163F78d5Ece5E2e923504"; +export const FRAXFERRY_V2__ETHEREUM_MOONBEAM__SFRXETH__MNBM_SIDE = "0x78348E58582d0D1789da1621B79Fc62012485CAe"; +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; + +// FraxlendAndOracles +export const COMBO_ORACLE = "0x247A323DAA63cC97c2BAD61b4D6f1E0120B5c9e2"; +export const COMBO_ORACLE_UNIV2_UNIV3 = "0x4A40198373dE481741bdf629B44Dc98f12f18161"; + +// Fraxswap +export const FRAXSWAP_FACTORY_V1 = "0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E"; +export const FRAXSWAP_FACTORY_V2 = "0x51f9DBEd76f5Dcf209817f641b549aa82F35D23F"; +export const FRAXSWAP_ROUTER_V1 = "0xc2544A32872A91F4A553b404C6950e89De901fdb"; +export const FRAXSWAP_ROUTER_V2 = "0xd95fe880d7717f7f20981FE6e41A2315f3EFeAb5"; +export const FRAXSWAP_ROUTER_MULTI_HOP = "0x0000000000000000000000000000000000000000"; +export const FRAXSWAP_V1_FRAX_FXS = "0x44E11b99ff8F6164FD54393a17b3CD4c57732dB7"; +export const FRAXSWAP_V2_FRAX_FXS = "0x2974A0D3e70FDe22d44c188F770beE964205aCad"; +export const FRAXSWAP_V1_FRAX_WGLMR = "0xAE0b5be7d467C8c0898CaE4c96B2f40A6810DEBC"; +export const FRAXSWAP_V2_FRAX_WGLMR = "0xd3bE0E32147ae91378F035fF96f3e2cAb96aC48b"; + +// Misc + +// Multisigs +export const COMPTROLLER = "0x343e4f06BF240d22FbdFd4a2Fe5858BC66e79F12"; +export const FPI_COMPTROLLER = "0xc4d89dcE72cde17DC3BEF317E62530b6A0733971"; + +// PoolRelatedTokens +export const ZENLINK_CANFRAX_CANFXS = "0x8ca030649720b94b16e8C3B551cc2ab88c681C0F"; +export const ZENLINK_CANFRAX_WGLMR = "0xd341D2191bb0F84E5c29cB301deF5753Dab1ac04"; diff --git a/scripts/constants/moonriver.ts b/scripts/constants/moonriver.ts new file mode 100644 index 0000000..c0f9da4 --- /dev/null +++ b/scripts/constants/moonriver.ts @@ -0,0 +1,44 @@ +// Canonicals +export const FRAX = "0x1A93B23281CC1CDE4C4741353F3064709A16197d"; +export const FXS = "0x6f1D1Ee50846Fcbc3de91723E61cb68CFa6D0E98"; + +// Farms + +// FraxBonds + +// FraxFerry +export const FRAXFERRY_V1__ETHEREUM_MOONRIVER__FRAX__MOVR_SIDE = "0x81dbcc69937DAd14e358B1a16Ba7ea047703c404"; +export const FRAXFERRY_V2__ETHEREUM_MOONRIVER__FXS__MOVR_SIDE = "0x2d3146aD02f64cb21C23b54f3fD5B0ddc927ba20"; +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const ZENLINK_CANFRAX_WGLMR = "0xd341D2191bb0F84E5c29cB301deF5753Dab1ac04"; + +// FraxlendAndOracles +export const COMBO_ORACLE = "0x3B56E2DD29e4976B639BAd95044A0852BeeEBF02"; +export const COMBO_ORACLE_UNIV2_UNIV3 = "0x212ae4B6e93a735840A431845833261CA9cA76ED"; + +// Fraxswap +export const FRAXSWAP_FACTORY_V1 = "0x5Ca135cB8527d76e932f34B5145575F9d8cbE08E"; +export const FRAXSWAP_FACTORY_V2 = "0x7FB05Ca29DAc7F5690E9b5AE0aF0415D579D7CD3"; +export const FRAXSWAP_ROUTER_V1 = "0xc2544A32872A91F4A553b404C6950e89De901fdb"; +export const FRAXSWAP_ROUTER_V2 = "0xD8FC27ec222E8d5172CD63aC453C6Dfb7467a3C7"; +export const FRAXSWAP_ROUTER_MULTI_HOP = "0x0000000000000000000000000000000000000000"; +export const FRAXSWAP_V1_FRAX_FXS = "0x2C803cd6E9a7AdAD813718a4767ECec4F6e0ca90"; +export const FRAXSWAP_V2_FRAX_FXS = "0x08C81e49D695Ae8F50574144560a301542b05C60"; +export const FRAXSWAP_V1_FRAX_WMOVR = "0x3Dbb1Fd5E0b50a5905fc24Fc38D8e741C52F782b"; +export const FRAXSWAP_V2_FRAX_WMOVR = "0x72B7D2Bb0082cC9cDa8db55eca6Ce4dfcc954191"; + +// Misc + +// Multisigs +export const COMPTROLLER = "0x2bBbE751E8C36CD6c92767776067f8Dd3A21941f"; + +// PoolRelatedTokens +export const SOLARBEAM_FRAX_ROME = "0x069C2065100b4D3D982383f7Ef3EcD1b95C05894"; +export const SOLARBEAM_FRAX_MOVR = "0x2cc54b4A3878e36E1C754871438113C1117a3ad7"; +export const SUSHI_FRAX_USDC_MOONRIVER = "0x310C4d18640aF4878567c4A31cB9cBde7Cd234A3"; +export const SUSHI_CANFRAX_CANFXS = "0xC5147A6E773343aFE527249a26EF16AFc6a0013F"; +export const SUSHI_CANFRAX_ANYUSDC = "0x310C4d18640aF4878567c4A31cB9cBde7Cd234A3"; +export const SUSHI_CANFRAX_WMOVR = "0x756057872D1Ad41C703B68e12701D27874fbe533"; +export const SUSHI_CANFXS_ANYUSDC = "0xc0EAB66DaDC825c95cA1951A2B02BC56073Fc7B2"; diff --git a/scripts/constants/optimism.ts b/scripts/constants/optimism.ts new file mode 100644 index 0000000..9dea4a9 --- /dev/null +++ b/scripts/constants/optimism.ts @@ -0,0 +1,54 @@ +// Canonicals +export const FRAX = "0x2E3D870790dC77A83DD1d18184Acc7439A53f475"; +export const FXS = "0x67CCEA5bb16181E7b4109c9c2143c24a1c2205Be"; +export const FPI = "0xC5d43A94e26fCa47A9b21CF547ae4AA0268670E1"; +export const FPIS = "0x8368Dca5CE2a4Db530c0F6e535d90B6826428Dee"; +export const FRXETH = "0x6806411765Af15Bddd26f8f544A34cC40cb9838B"; +export const SFRXETH = "0x484c2D6e3cDd945a8B2DF735e079178C1036578c"; +export const SFRAX = "0x2Dd1B4D4548aCCeA497050619965f91f78b3b532"; + +// Farms + +// FraxBonds + +// FraxFerry +export const FRAXFERRY_V1__ETHEREUM_OPTIMISM__FRAX__OPTI_SIDE = "0xb781FCaC4B8eF06891F9baD7dB9C178B1cE67967"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__FXS__OPTI_SIDE = "0xdF6B3b56B1668dA507Db58C64b7153756cfE8e67"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPI__OPTI_SIDE = "0x053F082f3bC0C48B8409970c017b4F2a6f673e16"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__FPIS__OPTI_SIDE = "0xB84E29042Bfb489439949a79aed8a0e156169Ae5"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__FRXETH__OPTI_SIDE = "0xA4EFC2d768C9b9b0f97DD91a1555B345f69b39C0"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRXETH__OPTI_SIDE = "0x59b99CF08C01a6ADa0e0D819520719CA41B35c7C"; +export const FRAXFERRY_V2__ETHEREUM_OPTIMISM__SFRAX__OPTI_SIDE = "0xD1738eB733A636d1b8665f48bC8a24dA889c2562"; +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; + +// FraxlendAndOracles +export const COMBO_ORACLE = "0x626eFc448227d794dC8C02ffea6a932bB360f72a"; +export const COMBO_ORACLE_UNIV2_UNIV3 = "0xeba66661Afc03aB95ec37383b1BfB724abe14a0F"; +export const COMBO_ORACLE_KYBERSWAP_ELASTIC_V2 = "0x2C37fb628b35dfdFD515d41B0cAAe11B542773C3"; + +// Fraxswap +export const FRAXSWAP_FACTORY_V1 = "0xBe90FD3CDdaf0D3B8576ffb5E51aDbfD304d0437"; +export const FRAXSWAP_FACTORY_V2 = "0x67a1412d2D6CbF211bb71F8e851b4393b491B10f"; +export const FRAXSWAP_ROUTER_MULTI_HOP = "0x0000000000000000000000000000000000000000"; +export const FRAXSWAP_ROUTER_V1 = "0xffE66A866B249f5d7C97b4a4c84742A393bC9354"; +export const FRAXSWAP_ROUTER_V2 = "0xB9A55F455e46e8D717eEA5E47D2c449416A0437F"; +export const FRAXSWAP_V1_FRAX_FXS = "0x25e2222Bc50E3B2dc945E1b9430F5498107FD3A5"; +export const FRAXSWAP_V1_FRAX_WETH = "0x0BC2D9B4c3f599BD85789EC3649774076A7D9264"; +export const FRAXSWAP_V2_FRAX_FXS = "0x9456c020D3A05b159dAB4557535083fBA836c49A"; +export const FRAXSWAP_V2_FRAX_WETH = "0xCc4Dd8Bc7967D46060bA3fAAA8e525A35625F8b4"; +export const KYBERSWAP_ELASTIC_FACTORY_V2 = "0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A"; +export const KYBERSWAP_ELASTIC_POS_MGR_V2 = "0xe222fBE074A436145b255442D919E4E3A6c6a480"; +export const KYBERSWAP_ELASTIC_ROUTER_V2 = "0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4"; +export const KYBERSWAP_ELASTIC_TICK_FEES_READER_V2 = "0x8Fd8Cb948965d9305999D767A02bf79833EADbB3"; + +// Misc + +// Multisigs +export const COMPTROLLER = "0x0dF840dCbf1229262A4125C1fc559bd338eC9491"; +export const FPI_COMPTROLLER = "0x8Acc8819cBB632dE4a8E732f08b9E578D2A8F635"; + +// PoolRelatedTokens +export const CURVE_4POOL = "0x3da3153E26A230d918bb9F9428A8d60349B73379"; +export const KYBERSWAP_ELASTIC_FRAX_USDC_OPTIMISM = "0x97cB76cbb84Aa35deaF1dAC3101a506588B6c197"; diff --git a/scripts/constants/polygon-zkevm.ts b/scripts/constants/polygon-zkevm.ts new file mode 100644 index 0000000..0a9f1aa --- /dev/null +++ b/scripts/constants/polygon-zkevm.ts @@ -0,0 +1,38 @@ +// Canonicals +export const FRAX = "0xFf8544feD5379D9ffa8D47a74cE6b91e632AC44D"; +export const FXS = "0x6b856a14CeA1d7dCfaF80fA6936c0b75972cCacE"; +export const FPI = "0x7E5845b1bFc9e6620893e48346bdB8541995a8D9"; +export const FPIS = "0xdE7df9036801676aF0cB73661d93a098c0085fba"; +export const FRXETH = "0xCf7eceE185f19e2E970a301eE37F93536ed66179"; +export const SFRXETH = "0x7c2aF1Fb79D0b1c67d4eb802d44C673D0A1D2C04"; +export const SFRAX = "0x2C37fb628b35dfdFD515d41B0cAAe11B542773C3"; + +// Farms + +// FraxBonds + +// FraxFerry +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRAX__POLYZKEVM_SIDE = "0xEaBd7625056bbD2c260f90D0B08759C69d971a5B"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FXS__POLYZKEVM_SIDE = "0x96720C1E893bB69C14291d8a85475ED9BC484b26"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPI__POLYZKEVM_SIDE = "0xA31001fbe938C520C27204b984817d998bAeA885"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPIS__POLYZKEVM_SIDE = "0x3d1bc21F8991091538FfEf535Fe96A449794461C"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRXETH__POLYZKEVM_SIDE = + "0xA711F85672899331900359e5b89848A30BeEBDBe"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRXETH__POLYZKEVM_SIDE = + "0x4DB406906835ca0B28bFbef344c7d2C707BC4947"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRAX__POLYZKEVM_SIDE = "0xE30521fe7f3bEB6Ad556887b50739d6C7CA667E6"; +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; + +// FraxlendAndOracles + +// Fraxswap + +// Misc + +// Multisigs +export const COMBO_ORACLE = "0x030BD43af99cb72B51dA233A73F7697Cd2461C0b"; +export const COMBO_ORACLE_UNIV2_UNIV3 = "0x967d0c5f7362A54b156cf2831Fb17dA8681FAD7D"; + +// PoolRelatedTokens diff --git a/scripts/constants/polygon.ts b/scripts/constants/polygon.ts new file mode 100644 index 0000000..4bedf7b --- /dev/null +++ b/scripts/constants/polygon.ts @@ -0,0 +1,58 @@ +// Canonicals +export const FRAX = "0x45c32fA6DF82ead1e2EF74d17b76547EDdFaFF89"; +export const FXS = "0x1a3acf6D19267E2d3e7f898f42803e90C9219062"; +export const FPI = "0x411C9cDd0fBBa243488988f2A3005D6fFf126661"; +export const FPIS = "0x84F6FCeb8E4A3EB87768C4a111273C17b54D4411"; +export const FRXETH = "0xEe327F889d5947c1dc1934Bb208a1E792F953E96"; +export const SFRXETH = "0x6d1FdBB266fCc09A16a22016369210A15bb95761"; + +// Farms +export const BALANCER_FRXETH_BB_A_WETH_GAUGE = "0x617430FF1C74faff0378726627F26a8704d03c8d"; +export const KYBERSWAP_ELASTIC_FRAX_USDC_POLYGON = "0x0363a32D18c25a3FD19a0d00B02106C03d8b8182"; +export const MSTABLE_FRAX_MUSD = "0xc425Fd9Ed3C892d849C9E1a971516da1C1B29696"; + +// FraxBonds + +// FraxFerry +export const CAPTAIN = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const CREWMEMBER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const DUMMY_TKN = "0xC6525aC8fc37814Fd68216F1ea690b3dC2249e89"; +export const FERRY_TO_ARBITRUM = "0xA621dC655fFBD0dB9cb2564529324E5750f2A4F0"; +export const FIRST_OFFICER = "0xBB437059584e30598b3AF0154472E47E6e2a45B9"; +export const FRAXFERRY_V1__ETHEREUM_POLYGON__FRAX__POLY_SIDE = "0x6f7F18C15B97dC9Fac48Ae7F986989F97D25dbc7"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON__FRXETH__POLY_SIDE = "0x2760a93993BaA3BC4d7C209db000d4685bdAD6B1"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON__FXS__POLY_SIDE = "0x6f71Ea0e9679389854010eE48a7D237cB430DBA4"; +export const FRAXFERRY_V2__ETHEREUM_POLYGON__SFRXETH__POLY_SIDE = "0x6728b24B4a4C42cabEe14a2BdFDc51271aa3Ae63"; + +// FraxlendAndOracles +export const COMBO_ORACLE = "0xAfe0C8318B67Ea8461350ABf7Bc82E5ce9Cf11D3"; +export const COMBO_ORACLE_UNIV2_UNIV3 = "0x86Cffe1fE0C09A0815Fe4Fd21956D24Af5ba4020"; +export const COMBO_ORACLE_KYBERSWAP_ELASTIC_V2 = "0xfBCB0F967817c924f83e26e04F0FB28ED4d6276F"; + +// Fraxswap +export const FRAXSWAP_FACTORY_V1 = "0xc2544A32872A91F4A553b404C6950e89De901fdb"; +export const FRAXSWAP_FACTORY_V2 = "0x54F454D747e037Da288dB568D4121117EAb34e79"; +export const FRAXSWAP_ROUTER_MULTI_HOP = "0x0000000000000000000000000000000000000000"; +export const FRAXSWAP_ROUTER_V1 = "0x9bc2152fD37b196C0Ff3C16f5533767c9A983971"; +export const FRAXSWAP_ROUTER_V2 = "0xE52D0337904D4D0519EF7487e707268E1DB6495F"; +export const FRAXSWAP_V1_FRAX_FXS = "0x60AC6d228ffeeefF423879baA02091558e6480dc"; +export const FRAXSWAP_V1_FRAX_WMATIC = "0x4F7267Af6DB7B284dF74BEA9e35402987D8C72a7"; +export const FRAXSWAP_V2_FRAX_FXS = "0xd2105fE5f1B631daf2398e918549758Cd181cA7C"; +export const FRAXSWAP_V2_FRAX_WMATIC = "0xA964b92C690f0B8efad5B46a278A84bD0EF8AC01"; +export const KYBERSWAP_ELASTIC_FACTORY_V2 = "0xC7a590291e07B9fe9E64b86c58fD8fC764308C4A"; +export const KYBERSWAP_ELASTIC_POS_MGR_V2 = "0xe222fBE074A436145b255442D919E4E3A6c6a480"; +export const KYBERSWAP_ELASTIC_ROUTER_V2 = "0xF9c2b5746c946EF883ab2660BbbB1f10A5bdeAb4"; +export const KYBERSWAP_ELASTIC_TICK_FEES_READER_V2 = "0x8Fd8Cb948965d9305999D767A02bf79833EADbB3"; + +// Misc + +// Multisigs +export const COMPTROLLER = "0xDCB5A4b6Ee39447D700F4FA3303B1d1c25Ea9cA7"; +export const FPI_COMPTROLLER = "0x4EBd698a5dB2580587EE0000929128190524006c"; + +// PoolRelatedTokens +export const CURVE4POOL = "0xe4ae3Ee65bb687045e401827b404FeE34BE4BA53"; +export const DYSTOPIA_STABLEV1_AMM___USDC_FRAX = "0x53227c83a98Ba1035FEd912Da6cE26a0c11C7C66"; +export const DYSTOPIA_VOLATILEV1_AMM___FXS_FRAX = "0xfC2e89aabD257471a461dd506188609B2Bec53Fa"; +export const FRAX3POOL = "0x5e5A23b52Cb48F5E70271Be83079cA5bC9c9e9ac"; +export const HOP_LP_USDC = "0x9D373d22FD091d7f9A6649EB067557cc12Fb1A0A"; diff --git a/scripts/generateConstants.ts b/scripts/generateConstants.ts new file mode 100644 index 0000000..0fec963 --- /dev/null +++ b/scripts/generateConstants.ts @@ -0,0 +1,127 @@ +import * as fs from "fs/promises"; +import path from "path"; + +import * as constants from "./constants"; + +const networkPrefixes = { + Arbitrum: "ARBI", + Avalanche: "AVAX", + BSC: "BSC", + Fantom: "FTM", + FraxtalL1Devnet: "FXTL_L1_DN", + FraxtalL2Devnet: "FXTL_L2_DN", + FraxtalL2: "FXTL", + FraxtalTestnetL1: "FXTL_TN_L1", + FraxtalTestnetL2: "FXTL_TN_L2", + Holesky: "HOLESKY", + Mainnet: "ETH", + Moonbeam: "MNBM", + Moonriver: "MOVR", + Optimism: "OPTI", + Polygon: "POLY", + PolygonzkEVM: "POLY_ZKEVM", +}; + +const REMOVE_DUPLICATE_LABELS = false; + +async function main() { + // Get all the network names + const networks = Object.keys(constants); + + // Prepare seen/duplicate values + const seenValues = []; + + // Generate the files + for (let n = 0; n < networks.length; n++) { + const networkName = networks[n]; + const outputString = await handleSingleNetwork(networkName, constants[networkName], seenValues); + + 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"; + + ` + outputString; + await fs.writeFile(path.resolve("src/contracts/chain-constants", `${networkName}.sol`), finalString); + } +} + +async function handleSingleNetwork(networkName, constants, seenValues) { + let numberValues: any[] = []; + const constantString = Object.entries(constants) + .map(([key, value]) => { + if (typeof value === "string") { + // Determine whether it is an address or a string + if (value.startsWith("0x")) { + return ` address internal constant ${key} = ${value};`; + } + return ` string internal constant ${key} = "${value}";`; + } else { + // number + + // Note the value is a number + numberValues.push(value); + + return ` uint256 internal constant ${key} = ${value};`; + } + }) + .join("\n"); + + // Remove certain values from being labeled + let constantsToLabel = {}; + Object.entries(constants).forEach(([key, value]) => { + // Check if the value has been labeled already + const alreadySeen = REMOVE_DUPLICATE_LABELS ? seenValues.includes(value) : false; + + // Check if the value is a number + const isANumber = numberValues.includes(value); + + // Check for rejects + if (alreadySeen) { + // Do not label already-seen addresses (optional) + console.log(`Removing duplicate value ${value}`); + } else if (isANumber) { + // Do not label numbers + console.log(`Removing number value ${value}`); + } else { + // Otherwise, it can be labeled + constantsToLabel[key] = value; + } + }); + + // Generate the labels for the entries + const labelStrings = Object.entries(constantsToLabel) + .map(([key, value]) => { + // Add the value to the seen list + seenValues.push(value); + + // Return the string + return ` vm.label(${value}, "Constants.${networkPrefixes[networkName]}_${key}");`; + }) + .join("\n"); + const contractString = `library ${networkName} { +${constantString} +} +`; + + // if (networkName == "Mainnet") { + const constantsHelper = ` +abstract contract AddressHelper${networkName} is TestBase { + constructor() { + labelConstants(); + } + + function labelConstants() public { +${labelStrings} + } +} +`; + return contractString + constantsHelper; + // } + // return contractString; +} + +main(); diff --git a/src/Constants.sol b/src/Constants.sol new file mode 100644 index 0000000..d8f41bf --- /dev/null +++ b/src/Constants.sol @@ -0,0 +1,3946 @@ +// 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"); + } +} + +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"); + } +} + +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"); + } +} + +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"); + } +} + +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.FXTLL1DN_FRAX"); + vm.label(0xD86518aDB08DF9AcF9E84EB216d7862bc0F634C0, "Constants.FXTLL1DN_FXS"); + vm.label(0xfC75d8fD01fD999D2A4731a01d87131b40A8a645, "Constants.FXTLL1DN_FPI"); + vm.label(0x9445aD9a63def63CA9D23cfd7cd72538BbF1780A, "Constants.FXTLL1DN_FPIS"); + vm.label(0x2a2acd879050aC8910d80dccb428a0AEf77fFA36, "Constants.FXTLL1DN_FRXBTC"); + vm.label(0x51Ed07ceB785d2983e56CF00CAf65499dae5df3B, "Constants.FXTLL1DN_FRXETH"); + vm.label(0x2787eC65f085acbbE94F1bB7E099dF06B56b6DaC, "Constants.FXTLL1DN_SFRXETH"); + vm.label(0xB26fDD0FF10A287a73EFaa0b18A0e57fd8168835, "Constants.FXTLL1DN_SFRAX"); + vm.label(0x890205b3397a1F273BaD55476F2856886964E788, "Constants.FXTLL1DN_FRXETH_MINTER"); + vm.label(0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160, "Constants.FXTLL1DN_COMPTROLLER"); + } +} + +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.FXTLL2DN_FRAX"); + vm.label(0xFc00000000000000000000000000000000000002, "Constants.FXTLL2DN_FXS"); + vm.label(0xFc00000000000000000000000000000000000003, "Constants.FXTLL2DN_FPI"); + vm.label(0xfc00000000000000000000000000000000000004, "Constants.FXTLL2DN_FPIS"); + vm.label(0xfC00000000000000000000000000000000000007, "Constants.FXTLL2DN_FRXBTC"); + vm.label(0xFC00000000000000000000000000000000000006, "Constants.FXTLL2DN_WFRXETH"); + vm.label(0xFC00000000000000000000000000000000000005, "Constants.FXTLL2DN_SFRXETH"); + vm.label(0xfc00000000000000000000000000000000000008, "Constants.FXTLL2DN_SFRAX"); + vm.label(0xfC00000000000000000000000000000000000009, "Constants.FXTLL2DN_PROXY_ADMIN"); + vm.label(0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160, "Constants.FXTLL2DN_COMPTROLLER"); + vm.label(0x4200000000000000000000000000000000000007, "Constants.FXTLL2DN_CROSS_DOMAIN_MESSENGER"); + vm.label(0x4200000000000000000000000000000000000012, "Constants.FXTLL2DN_ERC20_FACTORY_PROXY"); + vm.label(0x4200000000000000000000000000000000000010, "Constants.FXTLL2DN_L2_STANDARD_BRIDGE_PROXY"); + vm.label(0x4200000000000000000000000000000000000016, "Constants.FXTLL2DN_L2_TO_L1_MESSAGE_PASSER"); + } +} + +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 = 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; + 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(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"); + 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"); + } +} + +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.FXTLTNL1_PROXY_ADMIN"); + vm.label(0x88699c59E413e8A47117820D15d8D33b09B21edD, "Constants.FXTLTNL1_COMPTROLLER"); + vm.label(0x6C52d1f7aAdD1F27aaa6A9e228CE0312E3CB09A6, "Constants.FXTLTNL1_ADDRESS_MANAGER"); + vm.label(0x45A98115D5722C6cfC48D711e0053758E7C0b8ad, "Constants.FXTLTNL1_L1_CROSS_DOMAIN_MESSENGER_PROXY"); + vm.label(0x0301A6b26a37566d3DCebC7fC4c2143B426bBf53, "Constants.FXTLTNL1_L1_ERC721_BRIDGE_PROXY"); + vm.label(0x0BaafC217162f64930909aD9f2B27125121d6332, "Constants.FXTLTNL1_L1_STANDARD_BRIDGE_PROXY"); + vm.label(0x715EA64DA13F4d0831ece4Ad3E8c1aa013167F32, "Constants.FXTLTNL1_L2_OUTPUT_ORACLE_PROXY"); + vm.label( + 0x740fAfe2383F736d0Bd1a042E50fE15dDa2726C6, + "Constants.FXTLTNL1_OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY" + ); + vm.label(0xB9c64BfA498d5b9a8398Ed6f46eb76d90dE5505d, "Constants.FXTLTNL1_OPTIMISM_PORTAL_PROXY"); + vm.label(0x570Bf63A187776A19a44E6D1e055E3da65C1E3Db, "Constants.FXTLTNL1_SYSTEM_CONFIG_PROXY"); + } +} + +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.FXTLTNL2_FRAX"); + vm.label(0xFc00000000000000000000000000000000000002, "Constants.FXTLTNL2_FXS"); + vm.label(0xFc00000000000000000000000000000000000003, "Constants.FXTLTNL2_FPI"); + vm.label(0xfc00000000000000000000000000000000000004, "Constants.FXTLTNL2_FPIS"); + vm.label(0xFC00000000000000000000000000000000000005, "Constants.FXTLTNL2_SFRXETH"); + vm.label(0xFC00000000000000000000000000000000000006, "Constants.FXTLTNL2_WFRXETH"); + vm.label(0xbc679bdd1bA59654bD50DEB03fd80dC97c713fF2, "Constants.FXTLTNL2_FRAXSWAP_FACTORY"); + vm.label(0x938d99A81814f66b01010d19DDce92A633441699, "Constants.FXTLTNL2_FRAXSWAP_ROUTER"); + vm.label(0x509728dC748586214Fa30cEF61359f136523F24d, "Constants.FXTLTNL2_FRAXSWAP_ROUTER_MULTIHOP"); + vm.label(0x8b1E899ec5d51387a41Ee68261149F7d3Dfd7160, "Constants.FXTLTNL2_COMPTROLLER"); + vm.label(0xfC00000000000000000000000000000000000007, "Constants.FXTLTNL2_PROXY_ADMIN"); + vm.label(0x4200000000000000000000000000000000000007, "Constants.FXTLTNL2_CROSS_DOMAIN_MESSENGER"); + vm.label(0x4200000000000000000000000000000000000012, "Constants.FXTLTNL2_ERC20_FACTORY_PROXY"); + vm.label(0x4200000000000000000000000000000000000010, "Constants.FXTLTNL2_L2_STANDARD_BRIDGE_PROXY"); + vm.label(0x4200000000000000000000000000000000000016, "Constants.FXTLTNL2_L2_TO_L1_MESSAGE_PASSER"); + } +} + +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"); + } +} + +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"); + } +} + +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"); + } +} + +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"); + } +} + +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"); + } +} + +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"); + } +} + +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.POLYZKEVM_FRAX"); + vm.label(0x6b856a14CeA1d7dCfaF80fA6936c0b75972cCacE, "Constants.POLYZKEVM_FXS"); + vm.label(0x7E5845b1bFc9e6620893e48346bdB8541995a8D9, "Constants.POLYZKEVM_FPI"); + vm.label(0xdE7df9036801676aF0cB73661d93a098c0085fba, "Constants.POLYZKEVM_FPIS"); + vm.label(0xCf7eceE185f19e2E970a301eE37F93536ed66179, "Constants.POLYZKEVM_FRXETH"); + vm.label(0x7c2aF1Fb79D0b1c67d4eb802d44C673D0A1D2C04, "Constants.POLYZKEVM_SFRXETH"); + vm.label(0x2C37fb628b35dfdFD515d41B0cAAe11B542773C3, "Constants.POLYZKEVM_SFRAX"); + vm.label( + 0xEaBd7625056bbD2c260f90D0B08759C69d971a5B, + "Constants.POLYZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRAX__POLYZKEVM_SIDE" + ); + vm.label( + 0x96720C1E893bB69C14291d8a85475ED9BC484b26, + "Constants.POLYZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FXS__POLYZKEVM_SIDE" + ); + vm.label( + 0xA31001fbe938C520C27204b984817d998bAeA885, + "Constants.POLYZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPI__POLYZKEVM_SIDE" + ); + vm.label( + 0x3d1bc21F8991091538FfEf535Fe96A449794461C, + "Constants.POLYZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FPIS__POLYZKEVM_SIDE" + ); + vm.label( + 0xA711F85672899331900359e5b89848A30BeEBDBe, + "Constants.POLYZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__FRXETH__POLYZKEVM_SIDE" + ); + vm.label( + 0x4DB406906835ca0B28bFbef344c7d2C707BC4947, + "Constants.POLYZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRXETH__POLYZKEVM_SIDE" + ); + vm.label( + 0xE30521fe7f3bEB6Ad556887b50739d6C7CA667E6, + "Constants.POLYZKEVM_FRAXFERRY_V2__ETHEREUM_POLYGON_ZKEVM__SFRAX__POLYZKEVM_SIDE" + ); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.POLYZKEVM_CAPTAIN"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.POLYZKEVM_FIRST_OFFICER"); + vm.label(0xBB437059584e30598b3AF0154472E47E6e2a45B9, "Constants.POLYZKEVM_CREWMEMBER"); + vm.label(0x030BD43af99cb72B51dA233A73F7697Cd2461C0b, "Constants.POLYZKEVM_COMBO_ORACLE"); + vm.label(0x967d0c5f7362A54b156cf2831Fb17dA8681FAD7D, "Constants.POLYZKEVM_COMBO_ORACLE_UNIV2_UNIV3"); + } +} diff --git a/src/contracts/Counter.sol b/src/contracts/Counter.sol new file mode 100644 index 0000000..78c631c --- /dev/null +++ b/src/contracts/Counter.sol @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.19; + +import { ERC20 } from "@openzeppelin/contracts/token/ERC20/ERC20.sol"; + +contract Counter is ERC20 { + uint256 public number; + + constructor() ERC20("Counter", "COUNTER") { + number = 0; + } + + function setNumber(uint256 newNumber) public { + number = newNumber; + } + + function increment() public { + number++; + } +} 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..aff534f --- /dev/null +++ b/src/contracts/chain-constants/FraxtalL2.sol @@ -0,0 +1,345 @@ +// 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 FXB_20551231 = 0xc38173D34afaEA88Bc482813B3CD267bc8A1EA83; + address internal constant FXB_20291231 = 0xF1e2b576aF4C6a7eE966b14C810b772391e92153; + address internal constant FXB_20251231 = 0xacA9A33698cF96413A40A4eB9E87906ff40fC6CA; + 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_20551231_ORACLE = 0x8a081F35aE1cB4314c73CdDE63CC022Ca6AdEAa6; + address internal constant FXB_20291231_ORACLE = 0x859e3b11d9f8ff5d4c4beA569F76cdD25D5Ffc4b; + address internal constant FXB_20251231_ORACLE = 0x9c51c8ba9Ce85984C2389e13Fa1b77Cd587A2A18; + 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_FXB_20261231_FRAX = 0x032578d99b1070682a5E171012BE1756a50a17d4; + address internal constant FRAXLEND_PAIR_FXB_20241231_FRAX = 0x6154334A7D0E7f5f0479599D15F462B200C721E1; + address internal constant FRAXLEND_PAIR_FXB_20240630_FRAX = 0x57b709e214B239821A78dFCF09c89f52bA3D80aD; + address internal constant FRAXLEND_PAIR_FXB_20291231_FRAX = 0x3e92765eE2B009b104A8A7baf3759B159c19AbA1; + address internal constant FRAXLEND_PAIR_FXB_20251231_FRAX = 0x1b48c9595385F1780d7Be1aB57f8eAcFeA3A5cE5; + 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(0xc38173D34afaEA88Bc482813B3CD267bc8A1EA83, "Constants.FXTL_FXB_20551231"); + vm.label(0xF1e2b576aF4C6a7eE966b14C810b772391e92153, "Constants.FXTL_FXB_20291231"); + vm.label(0xacA9A33698cF96413A40A4eB9E87906ff40fC6CA, "Constants.FXTL_FXB_20251231"); + 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(0x8a081F35aE1cB4314c73CdDE63CC022Ca6AdEAa6, "Constants.FXTL_FXB_20551231_ORACLE"); + vm.label(0x859e3b11d9f8ff5d4c4beA569F76cdD25D5Ffc4b, "Constants.FXTL_FXB_20291231_ORACLE"); + vm.label(0x9c51c8ba9Ce85984C2389e13Fa1b77Cd587A2A18, "Constants.FXTL_FXB_20251231_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_FXB_20261231_FRAX"); + vm.label(0x6154334A7D0E7f5f0479599D15F462B200C721E1, "Constants.FXTL_FRAXLEND_PAIR_FXB_20241231_FRAX"); + vm.label(0x57b709e214B239821A78dFCF09c89f52bA3D80aD, "Constants.FXTL_FRAXLEND_PAIR_FXB_20240630_FRAX"); + vm.label(0x3e92765eE2B009b104A8A7baf3759B159c19AbA1, "Constants.FXTL_FRAXLEND_PAIR_FXB_20291231_FRAX"); + vm.label(0x1b48c9595385F1780d7Be1aB57f8eAcFeA3A5cE5, "Constants.FXTL_FRAXLEND_PAIR_FXB_20251231_FRAX"); + 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..e55164c --- /dev/null +++ b/src/contracts/chain-constants/Mainnet.sol @@ -0,0 +1,2279 @@ +// 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 { + uint256 internal constant CHAIN_ID = 1; + 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 FXB_20241231_ORACLE = 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 FXB_20261231_ORACLE = 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 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; + 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_FXB_20240630_FRAX = 0x35E08B28d5b01D058cbB1c39dA9188CC521a79aF; + address internal constant FRAXLEND_PAIR_FXB_20241231_FRAX = 0xd1887398f3bbdC9d10D0d5616AD83506DdF5057a; + address internal constant FRAXLEND_PAIR_FXB_20261231_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 = 0xB1748C79709f4Ba2Dd82834B8c82D4a505003f27; + 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_FXB_20241231_ORACLE"); + 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_FXB_20261231_ORACLE"); + 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_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"); + 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_FXB_20240630_FRAX"); + vm.label(0xd1887398f3bbdC9d10D0d5616AD83506DdF5057a, "Constants.ETH_FRAXLEND_PAIR_FXB_20241231_FRAX"); + vm.label(0x1c0C222989a37247D974937782cebc8bF4f25733, "Constants.ETH_FRAXLEND_PAIR_FXB_20261231_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"); + 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"); + } +} diff --git a/src/script/DeployCounter.s.sol b/src/script/DeployCounter.s.sol new file mode 100644 index 0000000..3bb7605 --- /dev/null +++ b/src/script/DeployCounter.s.sol @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: ISC +pragma solidity ^0.8.19; + +import { BaseScript } from "frax-std/BaseScript.sol"; +import { console } from "frax-std/FraxTest.sol"; +import { Counter } from "../contracts/Counter.sol"; + +// This is a free function that can be imported and used in tests or other scripts +function deployCounter() returns (address _address) { + Counter _counter = new Counter(); + _address = address(_counter); +} + +// Run this with source .env && forge script --broadcast --rpc-url $MAINNET_URL DeployCounter.s.sol +contract DeployCounter is BaseScript { + function run() public broadcaster { + address _address = deployCounter(); + console.log("Deployed Counter at address: ", _address); + } +} diff --git a/src/test/.solhint.json b/src/test/.solhint.json new file mode 100644 index 0000000..63ce6a3 --- /dev/null +++ b/src/test/.solhint.json @@ -0,0 +1,27 @@ +{ + "extends": "solhint:recommended", + "plugins": ["prettier"], + "rules": { + "code-complexity": ["warn", 8], + "compiler-version": ["warn", ">=0.8.0"], + "const-name-snakecase": "warn", + "constructor-syntax": "error", + "func-visibility": ["warn", { "ignoreConstructors": true }], + "max-line-length": ["off", 120], + "not-rely-on-time": "off", + "prettier/prettier": [ + "warn", + { + "endOfLine": "auto" + } + ], + "reason-string": ["warn", { "maxLength": 32 }], + "func-param-name-mixedCase": "off", + "named-parameters-mapping": "warn", + "private-vars-leading-underscore": "warn", + "no-console": "off", + "func-name-mixedcase": "off", + "no-unused-vars": "off", + "no-global-import": "off" + } +} diff --git a/src/test/BaseTest.t.sol b/src/test/BaseTest.t.sol new file mode 100644 index 0000000..5b3602a --- /dev/null +++ b/src/test/BaseTest.t.sol @@ -0,0 +1,71 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.19; + +import "frax-std/FraxTest.sol"; +import "../contracts/Counter.sol"; +import "./Helpers.sol"; + +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 = Mainnet.TIMELOCK_ADDRESS; + // Fraxtal / Fraxtal Testnet L1 & L2 addresses + address public PROXY_ADMIN; + address public COMPTROLLER; + // Fraxtal / Fraxtal Testnet L1 addresses + address public ADDRESS_MANAGER; + address public L1_CROSS_DOMAIN_MESSENGER_PROXY; + address public L1_ERC721_BRIDGE_PROXY; + address public L1_STANDARD_BRIDGE_PROXY; + address public L2_OUTPUT_ORACLE_PROXY; + address public OPTIMISM_MINTABLE_ERC20_FACTORY_PROXY; + address public OPTIMISM_PORTAL_PROXY; + address public SYSTEM_CONFIG_PROXY; + // Fraxtal / Fraxtal Testnet L2 addresses + address public FRAXSWAP_FACTORY; + address public FRAXSWAP_ROUTER; + address public FRAXSWAP_ROUTER_MULTIHOP; + + constructor() { + // Setup fraxtal / fraxtal testnet L1 addresses + 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 == 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; + } + } +} diff --git a/src/test/Counter/TestIncrement.t.sol b/src/test/Counter/TestIncrement.t.sol new file mode 100644 index 0000000..18ff5f0 --- /dev/null +++ b/src/test/Counter/TestIncrement.t.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.19; + +import "../BaseTest.t.sol"; + +contract TestIncrement is BaseTest { + function defaultSetup() public returns (uint256 _snapshotId) { + counter = new Counter(); + counter.setNumber(0); + _snapshotId = vm.snapshot(); + } + + function anotherSetup() public returns (uint256 _snapshotId) { + counter = new Counter(); + counter.setNumber(50); + _snapshotId = vm.snapshot(); + } + + function setUp() public { + uint256 _original = vm.snapshot(); + snapShotIds.push(defaultSetup()); + vm.revertTo(_original); + snapShotIds.push(anotherSetup()); + } + + function testIncrement() public useMultipleSetupFunctions { + counter.increment(); + assertEq(counter.number(), 51); + } +} diff --git a/src/test/Counter/TestSetNumber.t.sol b/src/test/Counter/TestSetNumber.t.sol new file mode 100644 index 0000000..8587a74 --- /dev/null +++ b/src/test/Counter/TestSetNumber.t.sol @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.19; + +import "../BaseTest.t.sol"; + +contract TestIncrement is BaseTest { + function setUp() public { + setupFunctions.push(defaultSetup); + setupFunctions.push(anotherSetup); + addSetupFunctions(setupFunctions); + } + + function defaultSetup() public { + counter = new Counter(); + counter.setNumber(0); + } + + function anotherSetup() public { + counter = new Counter(); + counter.setNumber(50); + } + + function testSetNumber(uint256 x) public useMultipleSetupFunctions { + counter.setNumber(x); + assertEq(counter.number(), x); + } + + function testFailAssertCounterDefaultSetup() public useMultipleSetupFunctions { + assertEq(counter.number(), 0); + } + + function testFailAssertCounterAnotherSetup() public useMultipleSetupFunctions { + assertEq(counter.number(), 50); + } +} diff --git a/src/test/Helpers.sol b/src/test/Helpers.sol new file mode 100644 index 0000000..8d7e9a6 --- /dev/null +++ b/src/test/Helpers.sol @@ -0,0 +1,13 @@ +// SPDX-License-Identifier: ISC +pragma solidity >=0.8.0; + +import { AddressHelper } from "frax-std/AddressHelper.sol"; +import { Logger } from "frax-std/Logger.sol"; +import { StringsHelper } from "frax-std/StringsHelper.sol"; +import { NumberFormat } from "frax-std/NumberFormat.sol"; +import { TestHelper } from "frax-std/TestHelper.sol"; +import { ArrayHelper } from "frax-std/ArrayHelper.sol"; +import { BytesHelper } from "frax-std/BytesHelper.sol"; +import { console } from "frax-std/FraxTest.sol"; + +// import { someFutureHelper } from "./helpers/SomeFutureHelper.sol"; diff --git a/src/test/helpers/.gitkeep b/src/test/helpers/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..2aad328 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "declaration": true, + "declarationMap": true, + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "experimentalDecorators": true, + "forceConsistentCasingInFileNames": true, + "lib": ["ESNext"], + "module": "commonjs", + "moduleResolution": "node", + "noImplicitAny": false, + "removeComments": false, + "resolveJsonModule": true, + "sourceMap": true, + "strict": false, + "target": "ESNext", + "outDir": "dist" + }, + "exclude": ["node_modules"], + "include": ["script/**/*"] +}