diff --git a/package.json b/package.json index 101f8eb..ff85afc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "frax-template", - "version": "1.2.0", + "version": "1.2.1", "description": "", "directories": { "lib": "lib", diff --git a/scripts/constants/fraxtal-l2.ts b/scripts/constants/fraxtal-l2.ts index a5fdb55..bc5d6de 100644 --- a/scripts/constants/fraxtal-l2.ts +++ b/scripts/constants/fraxtal-l2.ts @@ -2,10 +2,61 @@ export const CHAIN_ID = 252; export const PROXY_ADMIN = "0xfC00000000000000000000000000000000000009"; export const COMPTROLLER = "0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6"; +export const OPTIMISM_MINTABLE_PERMIT_ERC20_FACTORY_IMPLEMENTATION = "0x111ddab65Af5fF96b674400246699ED40F550De1"; -// Fraxswap-specific -export const FRAXSWAP_FACTORY = "0x7a07D606c87b7251c2953A30Fa445d8c5F856C7A"; -export const FRAXSWAP_ROUTER = "0x195843F052052c3692dAcAB049e0Bf5715a24755"; -export const FRAXSWAP_ROUTER_MULTIHOP = "0x31D982ebd82Ad900358984bd049207A4c2468640"; +// Fraxlend Admin Addresses +export const TIMELOCK_ADDRESS = "0xc16068d1ca7E24E20e56bB70af4D00D92AA4f0b2"; +export const CIRCUIT_BREAKER_ADDRESS = "0x0eD01ea3B95e0f68DF2c9CD67F138ff3547b311C"; +export const MASTER_MULTI_SIG = COMPTROLLER; +export const FRAXLEND_HOT_WALLET = "0x31562ae726AFEBe25417df01bEdC72EF489F45b3"; +export const PROPOSER_MULTI_SIG = "0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE"; +export const GOV_PROPOSER_MSIG = "0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE"; -export const OPTIMISM_MINTABLE_PERMIT_ERC20_FACTORY_IMPLEMENTATION = "0x111ddab65Af5fF96b674400246699ED40F550De1"; +// Fraxlend Oracle Addresses +export const FXB_20241231_ORACLE = "0x01480a0C134CeCC309015a564C7e292ba6E0F358"; +export const FXB_20261231_ORACLE = "0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3"; +export const FXB_20240630_ORACLE = "0x1A60b40601Bb5AA192389b05F80A7BeAde6d77d7"; + +// Fraxlend Variable Rate Addresses +export const FXB_VARIABLE_RATE_2 = "0x3FdA3e9E78EAcd7381F1ED2CF145B93537878c1f"; + +// Frax Transport Oracles +export const CHAINLINK_ETH_USD_ORACLE = "0xA6cBe9aB6075d8b1049Db7528f2fCf22FC7d051B"; + +// Fraxswap +export const FRAXSWAP_FACTORY = "0xE30521fe7f3bEB6Ad556887b50739d6C7CA667E6"; +export const FRAXSWAP_ROUTER = "0x39cd4db6460d8B5961F73E997E86DdbB7Ca4D5F6"; +export const FRAXSWAP_ROUTER_MULTIHOP = "0x67E04873691258950299Bd8610403D69bA0A1e10"; +export const FRAXSWAP_FRAX_FXS_PAIR = "0xb4dA8dA10ffF1F6127ab71395053Aa1d499b503F"; +export const FRAXSWAP_WFRX_ETH_PAIR = "0x4527bcEd9d41706D1436507e9a6e354d3FF44ff9"; +export const FRAXSWAP_FRAX_FPI_PAIR = "0x0EFFABede4e31101DE5209096611D073981A817b"; +export const FRAXSWAP_FRAX_FIPS_PAIR = "0x78d264E25781f31343352A0f91875B655c79B843"; +export const FRAXSWAP_FRAX_SFRXETH_PAIR = "0xEBD293F2173082320d88533316F5964298dE316E"; +export const FRAXSWAP_FRAX_FPI_FARM = "0x7b8848f10A016341c9B2427e8541C19F31C2D243"; +export const FRAXSWAP_FRAX_FXS_FARM = "0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25"; +export const FRAXSWAP_FRAX_SFRXETH_FARM = "0xe402a39F788f90607A50254fAf56316E6a78231A"; +export const FRAXSWAP_FRAX_WFRXETH_FARM = "0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7"; + +// 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"; + +// L1VeFXS +export const L1VEFXS_IMPLEMENTATION_OWNER = COMPTROLLER; +export const L1VEFXS_PROXY_ADMIN_OWNER = COMPTROLLER; +export const L1VEFXS_PROXY_ADMIN = "0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F"; +export const L1VEFXS_IMPLEMENTATION = "0xbdb5088a8e89e9ec83e82caa01ec20ed976459ed"; +export const L1VEFXS_PROXY = "0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F"; + +// FXB AMO +export const FXB_AMO = "0x55271b0d4DaC2664Fa9d44F8cccd89A3e6342313"; diff --git a/src/Constants.sol b/src/Constants.sol index cfaf204..9e418ec 100644 --- a/src/Constants.sol +++ b/src/Constants.sol @@ -279,11 +279,47 @@ library FraxtalL2 { uint256 internal constant CHAIN_ID = 252; address internal constant PROXY_ADMIN = 0xfC00000000000000000000000000000000000009; address internal constant COMPTROLLER = 0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6; - address internal constant FRAXSWAP_FACTORY = 0x7a07D606c87b7251c2953A30Fa445d8c5F856C7A; - address internal constant FRAXSWAP_ROUTER = 0x195843F052052c3692dAcAB049e0Bf5715a24755; - address internal constant FRAXSWAP_ROUTER_MULTIHOP = 0x31D982ebd82Ad900358984bd049207A4c2468640; address internal constant OPTIMISM_MINTABLE_PERMIT_ERC20_FACTORY_IMPLEMENTATION = 0x111ddab65Af5fF96b674400246699ED40F550De1; + address internal constant TIMELOCK_ADDRESS = 0xc16068d1ca7E24E20e56bB70af4D00D92AA4f0b2; + address internal constant CIRCUIT_BREAKER_ADDRESS = 0x0eD01ea3B95e0f68DF2c9CD67F138ff3547b311C; + address internal constant MASTER_MULTI_SIG = 0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6; + address internal constant FRAXLEND_HOT_WALLET = 0x31562ae726AFEBe25417df01bEdC72EF489F45b3; + address internal constant PROPOSER_MULTI_SIG = 0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE; + address internal constant GOV_PROPOSER_MSIG = 0xc188a8f8066e720D892c0cfAE9B9865e3425fCdE; + address internal constant FXB_20241231_ORACLE = 0x01480a0C134CeCC309015a564C7e292ba6E0F358; + address internal constant FXB_20261231_ORACLE = 0x92e606Fd8b99F99928f690a5bEb20f6f6e3ec0f3; + address internal constant FXB_20240630_ORACLE = 0x1A60b40601Bb5AA192389b05F80A7BeAde6d77d7; + address internal constant FXB_VARIABLE_RATE_2 = 0x3FdA3e9E78EAcd7381F1ED2CF145B93537878c1f; + address internal constant CHAINLINK_ETH_USD_ORACLE = 0xA6cBe9aB6075d8b1049Db7528f2fCf22FC7d051B; + address internal constant FRAXSWAP_FACTORY = 0xE30521fe7f3bEB6Ad556887b50739d6C7CA667E6; + address internal constant FRAXSWAP_ROUTER = 0x39cd4db6460d8B5961F73E997E86DdbB7Ca4D5F6; + address internal constant FRAXSWAP_ROUTER_MULTIHOP = 0x67E04873691258950299Bd8610403D69bA0A1e10; + address internal constant FRAXSWAP_FRAX_FXS_PAIR = 0xb4dA8dA10ffF1F6127ab71395053Aa1d499b503F; + address internal constant FRAXSWAP_WFRX_ETH_PAIR = 0x4527bcEd9d41706D1436507e9a6e354d3FF44ff9; + address internal constant FRAXSWAP_FRAX_FPI_PAIR = 0x0EFFABede4e31101DE5209096611D073981A817b; + address internal constant FRAXSWAP_FRAX_FIPS_PAIR = 0x78d264E25781f31343352A0f91875B655c79B843; + address internal constant FRAXSWAP_FRAX_SFRXETH_PAIR = 0xEBD293F2173082320d88533316F5964298dE316E; + address internal constant FRAXSWAP_FRAX_FPI_FARM = 0x7b8848f10A016341c9B2427e8541C19F31C2D243; + address internal constant FRAXSWAP_FRAX_FXS_FARM = 0x8fE4C7F2eF79AEDd8A6e40398a17ed4DaE18Ee25; + address internal constant FRAXSWAP_FRAX_SFRXETH_FARM = 0xe402a39F788f90607A50254fAf56316E6a78231A; + address internal constant FRAXSWAP_FRAX_WFRXETH_FARM = 0xfbf1d253FcAA3cE13187dBD5B8610C15Cc8241c7; + 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 L1VEFXS_IMPLEMENTATION_OWNER = 0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6; + address internal constant L1VEFXS_PROXY_ADMIN_OWNER = 0xC4EB45d80DC1F079045E75D5d55de8eD1c1090E6; + address internal constant L1VEFXS_PROXY_ADMIN = 0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F; + address internal constant L1VEFXS_IMPLEMENTATION = 0xBDB5088A8e89e9ec83e82caA01EC20Ed976459eD; + address internal constant L1VEFXS_PROXY = 0xCDD512227340C20B70aDC37C5Bd1E46F69Bb675F; + address internal constant FXB_AMO = 0x55271b0d4DaC2664Fa9d44F8cccd89A3e6342313; } library FraxtalTestnetL1 {