diff --git a/src/sdk/chain/chains.ts b/src/sdk/chain/chains.ts index 1f4be23b8..fb3518744 100644 --- a/src/sdk/chain/chains.ts +++ b/src/sdk/chain/chains.ts @@ -1,12 +1,12 @@ import type { Chain } from "viem"; -import { arbitrum, base, mainnet, optimism } from "viem/chains"; +import { arbitrum, base, mainnet, optimism, sonic } from "viem/chains"; export const SUPPORTED_CHAINS = [ "Mainnet", "Arbitrum", "Optimism", "Base", - // "Sonic", + "Sonic", ] as const; export type NetworkType = (typeof SUPPORTED_CHAINS)[number]; @@ -16,7 +16,7 @@ export const chains: Record = { Arbitrum: arbitrum, Optimism: optimism, Base: base, - // Sonic: sonic, + Sonic: sonic, }; const CHAINS_BY_ID: Record = { @@ -24,7 +24,7 @@ const CHAINS_BY_ID: Record = { [arbitrum.id]: "Arbitrum", [optimism.id]: "Optimism", [base.id]: "Base", - // [sonic.id]: "Sonic", + [sonic.id]: "Sonic", }; export const getNetworkType = (chainId: number): NetworkType => { diff --git a/src/sdk/constants/address-provider.ts b/src/sdk/constants/address-provider.ts index 95467aac4..70bdd0536 100644 --- a/src/sdk/constants/address-provider.ts +++ b/src/sdk/constants/address-provider.ts @@ -41,4 +41,5 @@ export const ADDRESS_PROVIDER: Record = { Arbitrum: "0x7d04eCdb892Ae074f03B5D0aBA03796F90F3F2af", Optimism: "0x3761ca4BFAcFCFFc1B8034e69F19116dD6756726", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }; diff --git a/src/sdk/constants/addresses.ts b/src/sdk/constants/addresses.ts index 06bb7a006..ea1c91803 100644 --- a/src/sdk/constants/addresses.ts +++ b/src/sdk/constants/addresses.ts @@ -24,6 +24,7 @@ export const USDC: Record = { Arbitrum: "0xaf88d065e77c8cC2239327C5EDb3A432268e5831", Optimism: "0x0b2C639c533813f4Aa9D7837CAf62653d097Ff85", Base: "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", + Sonic: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894", }; export const USDT: Record = { @@ -31,6 +32,7 @@ export const USDT: Record = { Arbitrum: "0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9", Optimism: "0x94b008aA00579c1307B0EF2c499aD98a8ce58e58", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }; export const WETH: Record = { @@ -38,6 +40,7 @@ export const WETH: Record = { Arbitrum: "0x82aF49447D8a07e3bd95BD0d56f35241523fBab1", Optimism: "0x4200000000000000000000000000000000000006", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }; export const TIMELOCK: Record = { @@ -45,6 +48,7 @@ export const TIMELOCK: Record = { Arbitrum: "0x148DD932eCe1155c11006F5650c6Ff428f8D374A", Optimism: "0x148DD932eCe1155c11006F5650c6Ff428f8D374A", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }; export const GEARBOX_MULTISIG: Record = { @@ -52,6 +56,7 @@ export const GEARBOX_MULTISIG: Record = { Arbitrum: "0x57Fd8B1a9213624157786Fff4a7bc532Ce717773", Optimism: "0x8bA8cd6D00919ceCc19D9B4A2c8669a524883C4c", Base: NOT_DEPLOYED, + Sonic: "0xacEB9dc6a81f1C9E2d8a86c3bFec3f6EF584139D", }; export const GEARBOX_RISK_CURATORS: Record = { @@ -59,6 +64,7 @@ export const GEARBOX_RISK_CURATORS: Record = { Arbitrum: [TIMELOCK.Arbitrum], Optimism: [TIMELOCK.Optimism], Base: [TIMELOCK.Base], + Sonic: [TIMELOCK.Sonic], }; /** @@ -71,4 +77,5 @@ export const DEPRECIATED_POOLS = { Arbitrum: {}, Optimism: {}, Base: {}, + Sonic: {}, } as const; diff --git a/src/sdk/constants/networks.ts b/src/sdk/constants/networks.ts index e23355494..fb76a6086 100644 --- a/src/sdk/constants/networks.ts +++ b/src/sdk/constants/networks.ts @@ -8,6 +8,7 @@ export const ADDRESS_PROVIDER_BLOCK: Record = { Arbitrum: 184650310n, Optimism: 118410666n, Base: 0n, + Sonic: 0n, }; const BLOCK_DURATION_BY_NETWORK: Record = { @@ -15,6 +16,8 @@ const BLOCK_DURATION_BY_NETWORK: Record = { Arbitrum: 0.26, Optimism: 1.64, Base: 2.01, + // TODO: + Sonic: 1, }; const RAMP_TIME = 30 * 24 * 60 * 60 * 1.2; @@ -23,6 +26,7 @@ export const RAMP_DURATION_BY_NETWORK: Record = { Arbitrum: BigInt(Math.floor(RAMP_TIME / BLOCK_DURATION_BY_NETWORK.Arbitrum)), Optimism: BigInt(Math.floor(RAMP_TIME / BLOCK_DURATION_BY_NETWORK.Optimism)), Base: BigInt(Math.floor(RAMP_TIME / BLOCK_DURATION_BY_NETWORK.Base)), + Sonic: BigInt(Math.floor(RAMP_TIME / BLOCK_DURATION_BY_NETWORK.Sonic)), }; const WEEK = 7 * 24 * 60 * 60; @@ -31,4 +35,5 @@ export const BLOCKS_PER_WEEK_BY_NETWORK: Record = { Arbitrum: BigInt(Math.floor(WEEK / BLOCK_DURATION_BY_NETWORK.Arbitrum)), Optimism: BigInt(Math.floor(WEEK / BLOCK_DURATION_BY_NETWORK.Optimism)), Base: BigInt(Math.floor(WEEK / BLOCK_DURATION_BY_NETWORK.Base)), + Sonic: BigInt(Math.floor(WEEK / BLOCK_DURATION_BY_NETWORK.Sonic)), }; diff --git a/src/sdk/sdk-gov-legacy/contracts/contracts.ts b/src/sdk/sdk-gov-legacy/contracts/contracts.ts index 42935c4ce..baece8ef3 100755 --- a/src/sdk/sdk-gov-legacy/contracts/contracts.ts +++ b/src/sdk/sdk-gov-legacy/contracts/contracts.ts @@ -163,13 +163,16 @@ export type SupportedContract = | "LIDO_WSTETH" | "UNIVERSAL_ADAPTER" | "BALANCER_VAULT" + | "BEETS_VAULT" | "AAVE_V2_LENDING_POOL" | AaveV2TokenWrapperContract | CompoundV2PoolContract | ERC4626VaultContract | MellowVaultContract | "VELODROME_V2_ROUTER" + | "EQUALIZER_ROUTER" | "VELODROME_CL_ROUTER" + | "SHADOW_ROUTER" | "CAMELOT_V3_ROUTER" | "AAVE_V3_LENDING_POOL" | "ZIRCUIT_POOL" @@ -189,6 +192,8 @@ export const contractsByNetwork: Record< FRAXSWAP_ROUTER: "0xC14d550632db8592D1243Edc8B95b0Ad06703867", VELODROME_V2_ROUTER: NOT_DEPLOYED, VELODROME_CL_ROUTER: NOT_DEPLOYED, + EQUALIZER_ROUTER: NOT_DEPLOYED, + SHADOW_ROUTER: NOT_DEPLOYED, CAMELOT_V3_ROUTER: NOT_DEPLOYED, PENDLE_ROUTER: "0x888888888889758F76e7103c6CbF23ABbF58F946", @@ -313,6 +318,9 @@ export const contractsByNetwork: Record< // BALANCER BALANCER_VAULT: "0xBA12222222228d8Ba445958a75a0704d566BF2C8", + // BEETS + BEETS_VAULT: NOT_DEPLOYED, + // GEARBOX UNIVERSAL_ADAPTER: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", @@ -365,6 +373,8 @@ export const contractsByNetwork: Record< FRAXSWAP_ROUTER: NOT_DEPLOYED, VELODROME_V2_ROUTER: NOT_DEPLOYED, VELODROME_CL_ROUTER: NOT_DEPLOYED, + EQUALIZER_ROUTER: NOT_DEPLOYED, + SHADOW_ROUTER: NOT_DEPLOYED, CAMELOT_V3_ROUTER: "0x1F721E2E82F6676FCE4eA07A5958cF098D339e18", PENDLE_ROUTER: NOT_DEPLOYED, @@ -490,6 +500,9 @@ export const contractsByNetwork: Record< // BALANCER BALANCER_VAULT: "0xBA12222222228d8Ba445958a75a0704d566BF2C8", + // BEETS + BEETS_VAULT: NOT_DEPLOYED, + // GEARBOX UNIVERSAL_ADAPTER: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", @@ -539,6 +552,8 @@ export const contractsByNetwork: Record< FRAXSWAP_ROUTER: "0xB9A55F455e46e8D717eEA5E47D2c449416A0437F", // UNVERIFIED! VELODROME_V2_ROUTER: "0xa062aE8A9c5e11aaA026fc2670B0D65cCc8B2858", VELODROME_CL_ROUTER: "0x0792a633F0c19c351081CF4B211F68F79bCc9676", + EQUALIZER_ROUTER: NOT_DEPLOYED, + SHADOW_ROUTER: NOT_DEPLOYED, CAMELOT_V3_ROUTER: NOT_DEPLOYED, PENDLE_ROUTER: NOT_DEPLOYED, @@ -665,6 +680,9 @@ export const contractsByNetwork: Record< // BALANCER BALANCER_VAULT: "0xBA12222222228d8Ba445958a75a0704d566BF2C8", + // BEETS + BEETS_VAULT: NOT_DEPLOYED, + // GEARBOX UNIVERSAL_ADAPTER: "0xCcCCccccCCCCcCCCCCCcCcCccCcCCCcCcccccccC", @@ -714,6 +732,8 @@ export const contractsByNetwork: Record< FRAXSWAP_ROUTER: NOT_DEPLOYED, VELODROME_V2_ROUTER: NOT_DEPLOYED, VELODROME_CL_ROUTER: NOT_DEPLOYED, + EQUALIZER_ROUTER: NOT_DEPLOYED, + SHADOW_ROUTER: NOT_DEPLOYED, CAMELOT_V3_ROUTER: NOT_DEPLOYED, PENDLE_ROUTER: NOT_DEPLOYED, @@ -836,6 +856,9 @@ export const contractsByNetwork: Record< // BALANCER BALANCER_VAULT: NOT_DEPLOYED, + // BEETS + BEETS_VAULT: NOT_DEPLOYED, + // GEARBOX UNIVERSAL_ADAPTER: NOT_DEPLOYED, @@ -866,6 +889,181 @@ export const contractsByNetwork: Record< MELLOW_RENZO_VAULT: tokenDataByNetwork.Base.pzETH, MELLOW_DECENTALIZED_VALIDATOR_VAULT: tokenDataByNetwork.Base.DVstETH, + SKY_STAKING_REWARDS: NOT_DEPLOYED, + DAI_USDS: NOT_DEPLOYED, + }, + // + // + // + // + // SONIC + // + // + // + // + Sonic: { + UNISWAP_V2_ROUTER: NOT_DEPLOYED, + UNISWAP_V3_ROUTER: NOT_DEPLOYED, + PANCAKESWAP_V3_ROUTER: NOT_DEPLOYED, + SUSHISWAP_ROUTER: NOT_DEPLOYED, + FRAXSWAP_ROUTER: NOT_DEPLOYED, + VELODROME_V2_ROUTER: NOT_DEPLOYED, + VELODROME_CL_ROUTER: NOT_DEPLOYED, + EQUALIZER_ROUTER: "0xcC6169aA1E879d3a4227536671F85afdb2d23fAD", + SHADOW_ROUTER: "0x5543c6176FEb9B4b179078205d7C29EEa2e2d695", + + CAMELOT_V3_ROUTER: NOT_DEPLOYED, + PENDLE_ROUTER: NOT_DEPLOYED, + + // CURVE + CURVE_3CRV_POOL_OP: NOT_DEPLOYED, + CURVE_3CRV_POOL: NOT_DEPLOYED, + CURVE_FRAX_USDC_POOL: NOT_DEPLOYED, + CURVE_STETH_GATEWAY: NOT_DEPLOYED, + CURVE_FRAX_POOL: NOT_DEPLOYED, + CURVE_LUSD_POOL: NOT_DEPLOYED, + CURVE_SUSD_POOL: NOT_DEPLOYED, + CURVE_SUSD_DEPOSIT: NOT_DEPLOYED, + CURVE_GUSD_POOL: NOT_DEPLOYED, + CURVE_CRVETH_POOL: NOT_DEPLOYED, + CURVE_CVXETH_POOL: NOT_DEPLOYED, + CURVE_3CRYPTO_POOL: NOT_DEPLOYED, + CURVE_LDOETH_POOL: NOT_DEPLOYED, + CURVE_USDE_USDC_POOL: NOT_DEPLOYED, + CURVE_FRAX_USDE_POOL: NOT_DEPLOYED, + CURVE_USDE_CRVUSD_POOL: NOT_DEPLOYED, + CURVE_FRAX_SDAI_POOL: NOT_DEPLOYED, + CURVE_DOLA_SUSDE_POOL: NOT_DEPLOYED, + CURVE_DOLA_FRAXBP_POOL: NOT_DEPLOYED, + CURVE_DOLA_CRVUSD_POOL: NOT_DEPLOYED, + CURVE_USDE_DAI_POOL: NOT_DEPLOYED, + CURVE_SDAI_SUSDE_POOL: NOT_DEPLOYED, + CURVE_GHO_USDE_POOL: NOT_DEPLOYED, + CURVE_PUFETH_WSTETH_POOL: NOT_DEPLOYED, + CURVE_GHO_CRVUSD_POOL: NOT_DEPLOYED, + CURVE_ETH_WSTETH_GATEWAY_OP: NOT_DEPLOYED, + CURVE_EZETH_ETH_POOL: NOT_DEPLOYED, + CURVE_EZPZ_ETH_POOL: NOT_DEPLOYED, + CURVE_LBTC_WBTC_POOL: NOT_DEPLOYED, + CURVE_EBTC_WBTC_POOL: NOT_DEPLOYED, + CURVE_PUMPBTC_WBTC_POOL: NOT_DEPLOYED, + CURVE_TRIBTC_POOL: NOT_DEPLOYED, + CURVE_tBTC_WBTC_POOL: NOT_DEPLOYED, + CURVE_tETH_wstETH_POOL: NOT_DEPLOYED, + CURVE_tETH_weETH_POOL: NOT_DEPLOYED, + CURVE_pzETH_stETH_POOL: NOT_DEPLOYED, + + CURVE_GEAR_POOL: NOT_DEPLOYED, + + CURVE_CRVUSD_USDC_POOL: NOT_DEPLOYED, + CURVE_CRVUSD_USDT_POOL: NOT_DEPLOYED, + CURVE_CRVUSD_FRAX_POOL: NOT_DEPLOYED, + CURVE_TRI_CRV_POOL: NOT_DEPLOYED, + CURVE_CRVUSD_SUSDE_POOL: NOT_DEPLOYED, + CURVE_LLAMA_THENA_POOL: NOT_DEPLOYED, + + CURVE_RETH_ETH_POOL: NOT_DEPLOYED, + + CURVE_2CRV_POOL_ARB: NOT_DEPLOYED, + CURVE_TRICRYPTO_CRVUSD_POOL_ARB: NOT_DEPLOYED, + CURVE_CRVUSD_USDC_POOL_ARB: NOT_DEPLOYED, + CURVE_CRVUSD_USDT_POOL_ARB: NOT_DEPLOYED, + CURVE_CRVUSD_USDC_E_POOL_ARB: NOT_DEPLOYED, + CURVE_USDE_USDC_POOL_ARB: NOT_DEPLOYED, + + // YEARN + YEARN_DAI_VAULT: NOT_DEPLOYED, + YEARN_USDC_VAULT: NOT_DEPLOYED, + YEARN_USDC_E_VAULT: NOT_DEPLOYED, + YEARN_WETH_VAULT: NOT_DEPLOYED, + YEARN_WBTC_VAULT: NOT_DEPLOYED, + YEARN_USDT_VAULT: NOT_DEPLOYED, + YEARN_OP_VAULT: NOT_DEPLOYED, + YEARN_CURVE_FRAX_VAULT: NOT_DEPLOYED, + YEARN_CURVE_STETH_VAULT: NOT_DEPLOYED, + + /// ERC4626 + MAKER_DSR_VAULT: NOT_DEPLOYED, + YIELD_ETH_VAULT: NOT_DEPLOYED, + STAKED_USDE_VAULT: NOT_DEPLOYED, + STAKED_USDS_VAULT: NOT_DEPLOYED, + SAVINGS_CRVUSD_VAULT: NOT_DEPLOYED, + TREEHOUSE_ETH_VAULT: NOT_DEPLOYED, + + // CONVEX + CONVEX_BOOSTER: NOT_DEPLOYED, + CONVEX_3CRV_POOL: NOT_DEPLOYED, + CONVEX_FRAX_USDC_POOL: NOT_DEPLOYED, + CONVEX_STECRV_POOL: NOT_DEPLOYED, + CONVEX_SUSD_POOL: NOT_DEPLOYED, + CONVEX_FRAX3CRV_POOL: NOT_DEPLOYED, + CONVEX_LUSD3CRV_POOL: NOT_DEPLOYED, + CONVEX_GUSD_POOL: NOT_DEPLOYED, + CONVEX_CRVETH_POOL: NOT_DEPLOYED, + CONVEX_CVXETH_POOL: NOT_DEPLOYED, + CONVEX_3CRYPTO_POOL: NOT_DEPLOYED, + CONVEX_LDOETH_POOL: NOT_DEPLOYED, + CONVEX_CRVUSD_USDC_POOL: NOT_DEPLOYED, + CONVEX_CRVUSD_USDT_POOL: NOT_DEPLOYED, + CONVEX_CRVUSD_FRAX_POOL: NOT_DEPLOYED, + CONVEX_TRI_CRV_POOL: NOT_DEPLOYED, + CONVEX_GHO_CRVUSD_POOL: NOT_DEPLOYED, + CONVEX_LLAMA_THENA_POOL: NOT_DEPLOYED, + + CONVEX_BOOSTER_ARB: NOT_DEPLOYED, + CONVEX_CRVUSD_USDT_POOL_ARB: NOT_DEPLOYED, + + // AURA + AURA_BOOSTER: NOT_DEPLOYED, + AURA_WEETH_RETH_POOL: NOT_DEPLOYED, + AURA_OSETH_WETH_POOL: NOT_DEPLOYED, + AURA_B_RETH_STABLE_POOL: NOT_DEPLOYED, + AURA_BPT_RETH_ETH_POOL: NOT_DEPLOYED, + AURA_BPT_WSTETH_ETH_POOL: NOT_DEPLOYED, + AURA_RETH_WETH_POOL_ARB: NOT_DEPLOYED, + AURA_WSTETH_WETH_POOL_ARB: NOT_DEPLOYED, + AURA_CBETH_RETH_WSTETH_POOL_ARB: NOT_DEPLOYED, + AURA_WSTETH_RETH_SFRXETH_POOL_ARB: NOT_DEPLOYED, + + // LIDO + LIDO_STETH_GATEWAY: NOT_DEPLOYED, + LIDO_WSTETH: NOT_DEPLOYED, + + // BALANCER + BALANCER_VAULT: NOT_DEPLOYED, + + // BEETS + BEETS_VAULT: "0xBA12222222228d8Ba445958a75a0704d566BF2C8", + + // GEARBOX + UNIVERSAL_ADAPTER: NOT_DEPLOYED, + + // AAVE + AAVE_V2_LENDING_POOL: NOT_DEPLOYED, + AAVE_V3_LENDING_POOL: NOT_DEPLOYED, + + AAVE_V2_DAI_TOKEN_WRAPPER: NOT_DEPLOYED, + AAVE_V2_USDC_TOKEN_WRAPPER: NOT_DEPLOYED, + AAVE_V2_USDT_TOKEN_WRAPPER: NOT_DEPLOYED, + AAVE_V2_WETH_TOKEN_WRAPPER: NOT_DEPLOYED, + + COMPOUND_V2_DAI_POOL: NOT_DEPLOYED, + COMPOUND_V2_USDC_POOL: NOT_DEPLOYED, + COMPOUND_V2_USDT_POOL: NOT_DEPLOYED, + COMPOUND_V2_LINK_POOL: NOT_DEPLOYED, + COMPOUND_V2_ETH_GATEWAY: NOT_DEPLOYED, + + FLUX_USDC_POOL: NOT_DEPLOYED, + ZIRCUIT_POOL: NOT_DEPLOYED, + + // MELLOW + MELLOW_STEAKHOUSE_VAULT: NOT_DEPLOYED, + MELLOW_RE7_LABS_VAULT: NOT_DEPLOYED, + MELLOW_AMPHOR_VAULT: NOT_DEPLOYED, + MELLOW_RESTAKING_VAULT: NOT_DEPLOYED, + MELLOW_RENZO_VAULT: NOT_DEPLOYED, + MELLOW_DECENTALIZED_VALIDATOR_VAULT: NOT_DEPLOYED, + SKY_STAKING_REWARDS: NOT_DEPLOYED, DAI_USDS: NOT_DEPLOYED, }, @@ -880,12 +1078,18 @@ export const PANCAKESWAP_V3_QUOTER: Address = export const VELODROME_CL_QUOTER: Address = "0x89D8218ed5fF1e46d8dcd33fb0bbeE3be1621466"; +export const SHADOW_QUOTER: Address = + "0x219b7ADebc0935a3eC889a148c6924D51A07535A"; + export const VELODROME_V2_DEFAULT_FACTORY: Address = "0xF1046053aa5682b4F9a81b5481394DA16BE5FF5a"; export const VELODROME_V2_CL_FACTORY: Address = "0xCc0bDDB707055e04e497aB22a59c2aF4391cd12F"; +export const EQUALIZER_DEFAULT_FACTORY: Address = + "0xDDD9845Ba0D8f38d3045f804f67A1a8B9A528FcC"; + export const MELLOW_COLLECTOR: Address = "0xce8f66b5347dcfedb3e63cb2c95e4aab9a85429e"; @@ -910,13 +1114,22 @@ export type VelodromeV2Params = { type: AdapterInterface.VELODROME_V2_ROUTER; } & BaseContractParams; +export type EqualizerParams = { + protocol: Protocols.Equalizer; + type: AdapterInterface.EQUALIZER_ROUTER; +} & BaseContractParams; + export type PendleRouterParams = { protocol: Protocols.Pendle; type: AdapterInterface.PENDLE_ROUTER; } & BaseContractParams; export type UniswapV3Params = { - protocol: Protocols.Uniswap | Protocols.Pancakeswap | Protocols.Velodrome; + protocol: + | Protocols.Uniswap + | Protocols.Pancakeswap + | Protocols.Velodrome + | Protocols.Shadow; type: AdapterInterface.UNISWAP_V3_ROUTER; quoter: Address; } & BaseContractParams; @@ -1045,7 +1258,7 @@ export type UniversalParams = { } & BaseContractParams; export type BalancerParams = { - protocol: Protocols.Balancer; + protocol: Protocols.Balancer | Protocols.Beets; type: AdapterInterface.BALANCER_VAULT; queries: Record; } & BaseContractParams; @@ -1102,6 +1315,7 @@ export type ContractParams = | UniswapV3Params | CamelotV3Params | VelodromeV2Params + | EqualizerParams | CurveParams | CurveSteCRVPoolParams | CurveGEARPoolParams @@ -1163,12 +1377,23 @@ export const contractParams: Record = { protocol: Protocols.Velodrome, type: AdapterInterface.VELODROME_V2_ROUTER, }, + EQUALIZER_ROUTER: { + name: "Equalizer", + protocol: Protocols.Equalizer, + type: AdapterInterface.EQUALIZER_ROUTER, + }, VELODROME_CL_ROUTER: { name: "Velodrome CL Router", protocol: Protocols.Velodrome, quoter: VELODROME_CL_QUOTER, type: AdapterInterface.UNISWAP_V3_ROUTER, }, + SHADOW_ROUTER: { + name: "Shadow Router", + protocol: Protocols.Shadow, + quoter: SHADOW_QUOTER, + type: AdapterInterface.UNISWAP_V3_ROUTER, + }, CAMELOT_V3_ROUTER: { name: "Camelot V3", protocol: Protocols.Camelot, @@ -1206,6 +1431,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, // CURVE_STECRV_POOL Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, tokens: ["WETH", "STETH"], lpToken: "steCRV", @@ -1220,6 +1446,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: "0xb90b9b1f91a01ea22a182cd84c1e22222e39b415", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, tokens: ["WETH", "wstETH"], lpToken: "wstETHCRV", @@ -1234,6 +1461,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, tokens: ["GEAR", "WETH"], lpToken: "GEAR", @@ -1759,6 +1987,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, // CONVEX_SUSD_POOL_EXTRA_SNX Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1776,6 +2005,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, // CONVEX_STECRV_POOL_EXTRA_LDO Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1793,6 +2023,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, // CONVEX_FRAX3CRV_POOL_EXTRA_FXS Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1810,6 +2041,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, // CONVEX_LUSD3CRV_POOL_EXTRA_LQTY Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1828,6 +2060,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1845,6 +2078,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1869,6 +2103,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1886,6 +2121,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1903,6 +2139,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1920,6 +2157,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1937,6 +2175,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1954,6 +2193,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -1971,6 +2211,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2009,6 +2250,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2027,6 +2269,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2045,6 +2288,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, { @@ -2054,6 +2298,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2072,6 +2317,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: "0x0A22Ae9D9D149C14f6c15A235e715bB6C1Cfa739", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, { @@ -2081,6 +2327,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: "0x81673Cdd00c2839440f31575cCFa5B6ca4a87B2B", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2099,6 +2346,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: "0x903d716fe68e7e091eCC43AA93c0F8cfD7e7BC0a", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, { @@ -2108,6 +2356,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, Optimism: "0xb0709c230C06BE6e2A84b2Ba877094EB9a4fA014", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2125,6 +2374,7 @@ export const contractParams: Record = { Arbitrum: "0xC0353d05D3F2b6e14E36c5d3B4bF8d179890A001", Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, { @@ -2134,6 +2384,7 @@ export const contractParams: Record = { Arbitrum: "0x3a0beff39E243453960aD1198Fc3aAabdBDDe56C", Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2151,6 +2402,7 @@ export const contractParams: Record = { Arbitrum: "0x5901ce1c3Bf6C97fC49ED0fF08A88a57ea6E4Ca4", Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, { @@ -2160,6 +2412,7 @@ export const contractParams: Record = { Arbitrum: "0x4601Ec46A285714e6F2A9466DA7f2BcB33646391", Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2177,6 +2430,7 @@ export const contractParams: Record = { Arbitrum: "0xf0dcb30811228bED2b87b2753fabAfe80A9D0fb9", Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, { @@ -2186,6 +2440,7 @@ export const contractParams: Record = { Arbitrum: "0xE42D389058D820177b83E2863FEb13733d6Dd5f2", Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2203,6 +2458,7 @@ export const contractParams: Record = { Arbitrum: "0xeA270927C226454452DDF80e24a02087D0D7089F", Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, { @@ -2212,6 +2468,7 @@ export const contractParams: Record = { Arbitrum: "0xB05Dc0b460Ca3ed5174b33A7dA2104388764F62D", Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, }, ], @@ -2226,6 +2483,7 @@ export const contractParams: Record = { Arbitrum: NOT_DEPLOYED, // LIDO_ORACLE Optimism: NOT_DEPLOYED, Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, }, lpToken: "steCRV", }, @@ -2251,6 +2509,19 @@ export const contractParams: Record = { Arbitrum: "0xE39B5e3B6D74016b2F6A9673D7d7493B6DF549d5", Optimism: "0xE39B5e3B6D74016b2F6A9673D7d7493B6DF549d5", Base: NOT_DEPLOYED, + Sonic: NOT_DEPLOYED, + }, + }, + BEETS_VAULT: { + name: "Beets Vault", + protocol: Protocols.Beets, + type: AdapterInterface.BALANCER_VAULT, + queries: { + Mainnet: NOT_DEPLOYED, + Arbitrum: NOT_DEPLOYED, + Optimism: NOT_DEPLOYED, + Base: NOT_DEPLOYED, + Sonic: "0x4B29DB997Ec0efDFEF13bAeE2a2D7783bCf67f17", }, }, AAVE_V2_LENDING_POOL: { diff --git a/src/sdk/sdk-gov-legacy/contracts/protocols.ts b/src/sdk/sdk-gov-legacy/contracts/protocols.ts index 716b0e624..3fe5906b7 100644 --- a/src/sdk/sdk-gov-legacy/contracts/protocols.ts +++ b/src/sdk/sdk-gov-legacy/contracts/protocols.ts @@ -24,4 +24,6 @@ export enum Protocols { Pendle, Sky, Equalizer, + Beets, + Shadow, } diff --git a/src/sdk/sdk-gov-legacy/tokens/balancer.ts b/src/sdk/sdk-gov-legacy/tokens/balancer.ts index 5ed92245e..fb80873f4 100644 --- a/src/sdk/sdk-gov-legacy/tokens/balancer.ts +++ b/src/sdk/sdk-gov-legacy/tokens/balancer.ts @@ -38,7 +38,12 @@ export type BalancerLPToken = | "rETH_wETH_BPT" | "33AURA_33ARB_33BAL" | "ezETH_wstETH" - | "rsETH_wETH_Arb"; + | "rsETH_wETH_Arb" + // Sonic + | "bpt_rsb" + | "bpt_sss" + | "BPT_scUSD_stS" + | "BPT_USDCe_stS"; export type BalancerLpTokenData = { symbol: BalancerLPToken; @@ -372,6 +377,46 @@ export const balancerLpTokens: Record = { poolId: "0x5f8893506ddc4c271837187d14a9c87964a074dc000000000000000000000106", }, + bpt_rsb: { + name: "Ringing Stable Beets", + symbol: "bpt_rsb", + type: { + AllNetworks: TokenType.BALANCER_LP_TOKEN, + }, + underlying: ["USDC", "scUSD"], + poolId: + "0xcd4d2b142235d5650ffa6a38787ed0b7d7a51c0c000000000000000000000037", + }, + bpt_sss: { + name: "Staked Sonic Symphony", + symbol: "bpt_sss", + type: { + AllNetworks: TokenType.BALANCER_LP_TOKEN, + }, + underlying: ["wS", "stS"], + poolId: + "0x374641076b68371e69d03c417dac3e5f236c32fa000000000000000000000006", + }, + BPT_scUSD_stS: { + name: "Put A Ring On It", + symbol: "BPT_scUSD_stS", + type: { + AllNetworks: TokenType.BALANCER_LP_TOKEN, + }, + underlying: ["scUSD", "stS"], + poolId: + "0x25ca5451cd5a50ab1d324b5e64f32c0799661891000200000000000000000018", + }, + BPT_USDCe_stS: { + name: "Staked Sonic & Circle Concerto", + symbol: "BPT_USDCe_stS", + type: { + AllNetworks: TokenType.BALANCER_LP_TOKEN, + }, + underlying: ["USDC", "stS"], + poolId: + "0x713fb5036dc70012588d77a5b066f1dd05c712d7000200000000000000000041", + }, tETH_wstETH_BPT: { name: "Balancer tETH/wstETH", symbol: "tETH_wstETH_BPT", diff --git a/src/sdk/sdk-gov-legacy/tokens/decimals.ts b/src/sdk/sdk-gov-legacy/tokens/decimals.ts index 68ee5ae3f..7722d950a 100755 --- a/src/sdk/sdk-gov-legacy/tokens/decimals.ts +++ b/src/sdk/sdk-gov-legacy/tokens/decimals.ts @@ -37,6 +37,9 @@ export const decimals: Record = { SKY: 18, WLD: 18, OP: 18, + wS: 18, + scUSD: 6, + stS: 18, GHO: 18, LBTC: 8, eBTC: 8, @@ -213,6 +216,10 @@ export const decimals: Record = { pumpBTC_WBTC_BPT: 18, eBTC_WBTC_BPT: 18, sUSDe_USDC_BPT: 18, + bpt_rsb: 18, + bpt_sss: 18, + BPT_scUSD_stS: 18, + BPT_USDCe_stS: 18, tETH_wstETH_BPT: 18, auraB_rETH_STABLE: 18, diff --git a/src/sdk/sdk-gov-legacy/tokens/normal.ts b/src/sdk/sdk-gov-legacy/tokens/normal.ts index 511e443c8..c8dec493c 100755 --- a/src/sdk/sdk-gov-legacy/tokens/normal.ts +++ b/src/sdk/sdk-gov-legacy/tokens/normal.ts @@ -60,6 +60,9 @@ export type NormalToken = | "USDS" | "SKY" | "beraSTONE" + | "wS" + | "stS" + | "scUSD" | "T" | "tETH" // Mellow LRTs @@ -383,6 +386,23 @@ export const normalTokens: Record = { symbol: "beraSTONE", type: { AllNetworks: TokenType.NORMAL_TOKEN }, }, + + wS: { + name: "Wrapped Sonic", + symbol: "wS", + type: { AllNetworks: TokenType.NORMAL_TOKEN }, + }, + stS: { + name: "Beets Staked Sonic", + symbol: "stS", + type: { AllNetworks: TokenType.NORMAL_TOKEN }, + }, + scUSD: { + name: "Sonic USD", + symbol: "scUSD", + type: { AllNetworks: TokenType.NORMAL_TOKEN }, + }, + frxETH: { name: "Frax ETH", symbol: "frxETH", diff --git a/src/sdk/sdk-gov-legacy/tokens/quoted.ts b/src/sdk/sdk-gov-legacy/tokens/quoted.ts index 20d17ae81..8f27dd912 100644 --- a/src/sdk/sdk-gov-legacy/tokens/quoted.ts +++ b/src/sdk/sdk-gov-legacy/tokens/quoted.ts @@ -6,4 +6,5 @@ export const nonQuoted: Record> = { Arbitrum: ["WETH", "DAI", "USDC", "WBTC"], Optimism: ["WETH", "USDC", "OP"], Base: ["WETH", "USDC", "USDT"], + Sonic: [], }; diff --git a/src/sdk/sdk-gov-legacy/tokens/token.ts b/src/sdk/sdk-gov-legacy/tokens/token.ts index d9d0b3baa..43642c166 100755 --- a/src/sdk/sdk-gov-legacy/tokens/token.ts +++ b/src/sdk/sdk-gov-legacy/tokens/token.ts @@ -218,6 +218,9 @@ export const tokenDataByNetwork: Record< pufETH: "0xD9A442856C234a39a81a089C06451EBAa4306a72", USDS: "0xdC035D45d973E3EC169d2276DDab16f1e407384F", SKY: "0x56072C95FAA701256059aa122697B133aDEd9279", + wS: NOT_DEPLOYED, + stS: NOT_DEPLOYED, + scUSD: NOT_DEPLOYED, T: "0xCdF7028ceAB81fA0C6971208e83fa7872994beE5", // CURVE LP TOKENS @@ -356,6 +359,10 @@ export const tokenDataByNetwork: Record< pumpBTC_WBTC_BPT: "0x2238aB6c8c58473a5e81b86ec352322fB3f5Edd8", eBTC_WBTC_BPT: "0xda17f3663C5D04C0B316cfA1A04Aa53eBBC8c12C", B_50WBTC_50WETH: "0xA6F548DF93de924d73be7D25dC02554c6bD66dB5", + bpt_rsb: NOT_DEPLOYED, + bpt_sss: NOT_DEPLOYED, + BPT_scUSD_stS: NOT_DEPLOYED, + BPT_USDCe_stS: NOT_DEPLOYED, tETH_wstETH_BPT: "0x1D13531bf6344c102280CE4c458781FBF14Dad14", // AURA @@ -500,6 +507,9 @@ export const tokenDataByNetwork: Record< AURA: "0x1509706a6c66CA549ff0cB464de88231DDBe213B", SWISE: NOT_DEPLOYED, SKY: NOT_DEPLOYED, + wS: NOT_DEPLOYED, + stS: NOT_DEPLOYED, + scUSD: NOT_DEPLOYED, /// UPDATE STETH: NOT_DEPLOYED, @@ -676,10 +686,13 @@ export const tokenDataByNetwork: Record< pumpBTC_WBTC_BPT: NOT_DEPLOYED, eBTC_WBTC_BPT: NOT_DEPLOYED, B_50WBTC_50WETH: NOT_DEPLOYED, + bpt_rsb: NOT_DEPLOYED, + bpt_sss: NOT_DEPLOYED, + BPT_scUSD_stS: NOT_DEPLOYED, + BPT_USDCe_stS: NOT_DEPLOYED, tETH_wstETH_BPT: NOT_DEPLOYED, // AURA - auraB_rETH_STABLE: NOT_DEPLOYED, auraweETH_rETH: NOT_DEPLOYED, auraosETH_wETH_BPT: NOT_DEPLOYED, @@ -855,6 +868,9 @@ export const tokenDataByNetwork: Record< pufETH: NOT_DEPLOYED, USDS: NOT_DEPLOYED, SKY: NOT_DEPLOYED, + wS: NOT_DEPLOYED, + stS: NOT_DEPLOYED, + scUSD: NOT_DEPLOYED, T: NOT_DEPLOYED, // REDSTONE @@ -995,6 +1011,10 @@ export const tokenDataByNetwork: Record< bpt_ethtri: "0x5F8893506Ddc4C271837187d14A9C87964a074Dc", pumpBTC_WBTC_BPT: NOT_DEPLOYED, eBTC_WBTC_BPT: NOT_DEPLOYED, + bpt_rsb: NOT_DEPLOYED, + bpt_sss: NOT_DEPLOYED, + BPT_scUSD_stS: NOT_DEPLOYED, + BPT_USDCe_stS: NOT_DEPLOYED, tETH_wstETH_BPT: NOT_DEPLOYED, // AURA @@ -1116,11 +1136,6 @@ export const tokenDataByNetwork: Record< // BASE // // - /// - /// - /// OPTIMISM - /// - /// Base: { "1INCH": NOT_DEPLOYED, AAVE: NOT_DEPLOYED, @@ -1145,6 +1160,9 @@ export const tokenDataByNetwork: Record< WLD: NOT_DEPLOYED, OP: NOT_DEPLOYED, SKY: NOT_DEPLOYED, + wS: NOT_DEPLOYED, + stS: NOT_DEPLOYED, + scUSD: NOT_DEPLOYED, /// UPDATE STETH: NOT_DEPLOYED, @@ -1315,6 +1333,335 @@ export const tokenDataByNetwork: Record< bpt_ethtri: NOT_DEPLOYED, pumpBTC_WBTC_BPT: NOT_DEPLOYED, eBTC_WBTC_BPT: NOT_DEPLOYED, + bpt_rsb: NOT_DEPLOYED, + bpt_sss: NOT_DEPLOYED, + BPT_scUSD_stS: NOT_DEPLOYED, + BPT_USDCe_stS: NOT_DEPLOYED, + tETH_wstETH_BPT: NOT_DEPLOYED, + + // AURA + auraB_rETH_STABLE: NOT_DEPLOYED, + auraweETH_rETH: NOT_DEPLOYED, + auraosETH_wETH_BPT: NOT_DEPLOYED, + auraBPT_rETH_ETH: NOT_DEPLOYED, + auraBPT_WSTETH_ETH: NOT_DEPLOYED, + aurarETH_wETH_BPT: NOT_DEPLOYED, + auracbETH_rETH_wstETH: NOT_DEPLOYED, + aurawstETH_rETH_sfrxETH: NOT_DEPLOYED, + aurawstETH_WETH_BPT: NOT_DEPLOYED, + + auraB_rETH_STABLE_vault: NOT_DEPLOYED, + auraweETH_rETH_vault: NOT_DEPLOYED, + auraosETH_wETH_BPT_vault: NOT_DEPLOYED, + auraBPT_rETH_ETH_vault: NOT_DEPLOYED, + auraBPT_WSTETH_ETH_vault: NOT_DEPLOYED, + aurarETH_wETH_BPT_vault: NOT_DEPLOYED, + auracbETH_rETH_wstETH_vault: NOT_DEPLOYED, + aurawstETH_rETH_sfrxETH_vault: NOT_DEPLOYED, + aurawstETH_WETH_BPT_vault: NOT_DEPLOYED, + + // PENDLE + PT_rsETH_26SEP2024: NOT_DEPLOYED, + PT_sUSDe_26DEC2024: NOT_DEPLOYED, + PT_eETH_26DEC2024: NOT_DEPLOYED, + PT_ezETH_26DEC2024: NOT_DEPLOYED, + PT_eBTC_26DEC2024: NOT_DEPLOYED, + PT_LBTC_27MAR2025: NOT_DEPLOYED, + PT_corn_solvBTC_BBN_26DEC2024: NOT_DEPLOYED, + PT_corn_pumpBTC_26DEC2024: NOT_DEPLOYED, + PT_cornLBTC_26DEC2024: NOT_DEPLOYED, + PT_corn_eBTC_27MAR2025: NOT_DEPLOYED, + PT_sUSDe_27MAR2025: NOT_DEPLOYED, + PT_sUSDe_29MAY2025: NOT_DEPLOYED, + + // GEARBOX + dDAI: NOT_DEPLOYED, + dUSDC: NOT_DEPLOYED, + dWBTC: NOT_DEPLOYED, + dWETH: NOT_DEPLOYED, + dwstETH: NOT_DEPLOYED, + dFRAX: NOT_DEPLOYED, + + dUSDCV3: NOT_DEPLOYED, + dWBTCV3: NOT_DEPLOYED, + dWETHV3: NOT_DEPLOYED, + sdUSDCV3: NOT_DEPLOYED, + sdWBTCV3: NOT_DEPLOYED, + sdWETHV3: NOT_DEPLOYED, + sdWETHV3_OLD: NOT_DEPLOYED, + + dUSDTV3: NOT_DEPLOYED, + dGHOV3: NOT_DEPLOYED, + dDAIV3: NOT_DEPLOYED, + sdUSDTV3: NOT_DEPLOYED, + sdGHOV3: NOT_DEPLOYED, + sdDAIV3: NOT_DEPLOYED, + + dcrvUSDV3: NOT_DEPLOYED, + sdcrvUSDV3: NOT_DEPLOYED, + + dDOLAV3: NOT_DEPLOYED, + dwstETHV3: NOT_DEPLOYED, + + dtBTCV3: NOT_DEPLOYED, + + dUSDC_eV3: NOT_DEPLOYED, + sdUSDC_eV3: NOT_DEPLOYED, + + GEAR: NOT_DEPLOYED, + + // AAVE + aUSDC: NOT_DEPLOYED, + aDAI: NOT_DEPLOYED, + aUSDT: NOT_DEPLOYED, + aWETH: NOT_DEPLOYED, + + waDAI: NOT_DEPLOYED, + waUSDC: NOT_DEPLOYED, + waUSDT: NOT_DEPLOYED, + waWETH: NOT_DEPLOYED, + + cDAI: NOT_DEPLOYED, + cUSDC: NOT_DEPLOYED, + cUSDT: NOT_DEPLOYED, + cETH: NOT_DEPLOYED, + cLINK: NOT_DEPLOYED, + + fUSDC: NOT_DEPLOYED, + sDAI: NOT_DEPLOYED, + YieldETH: NOT_DEPLOYED, + sUSDe: NOT_DEPLOYED, + sUSDS: NOT_DEPLOYED, + scrvUSD: NOT_DEPLOYED, + tETH: NOT_DEPLOYED, + beraSTONE: NOT_DEPLOYED, + + GHO: NOT_DEPLOYED, + GHOUSDe: NOT_DEPLOYED, + GHO_USDT_USDC: NOT_DEPLOYED, + + zpufETH: NOT_DEPLOYED, + + // SKY + stkUSDS: NOT_DEPLOYED, + + // MELLOW LRT + steakLRT: NOT_DEPLOYED, + Re7LRT: NOT_DEPLOYED, + amphrETH: NOT_DEPLOYED, + rstETH: NOT_DEPLOYED, + pzETH: NOT_DEPLOYED, + DVstETH: NOT_DEPLOYED, + }, + // + // + // SONIC + // + // + Sonic: { + "1INCH": NOT_DEPLOYED, + AAVE: NOT_DEPLOYED, + CRV: NOT_DEPLOYED, + DAI: NOT_DEPLOYED, + LINK: NOT_DEPLOYED, + SNX: NOT_DEPLOYED, + UNI: NOT_DEPLOYED, + USDT: NOT_DEPLOYED, + DOLA: NOT_DEPLOYED, + USDC: "0x29219dd400f2Bf60E5a23d13Be72B486D4038894", + USDC_e: NOT_DEPLOYED, + WBTC: NOT_DEPLOYED, + tBTC: NOT_DEPLOYED, + WETH: "0x309C92261178fA0CF748A855e90Ae73FDb79EBc7", + YFI: NOT_DEPLOYED, + GMX: NOT_DEPLOYED, + ARB: NOT_DEPLOYED, + BAL: NOT_DEPLOYED, + AURA: NOT_DEPLOYED, + SWISE: NOT_DEPLOYED, + WLD: NOT_DEPLOYED, + OP: NOT_DEPLOYED, + SKY: NOT_DEPLOYED, + wS: "0x039e2fB66102314Ce7b64Ce5Ce3E5183bc94aD38", + stS: "0xE5DA20F15420aD15DE0fa650600aFc998bbE3955", + scUSD: "0xd3DCe716f3eF535C5Ff8d041c1A41C3bd89b97aE", + T: NOT_DEPLOYED, + + /// UPDATE + STETH: NOT_DEPLOYED, + wstETH: NOT_DEPLOYED, + CVX: NOT_DEPLOYED, + FRAX: NOT_DEPLOYED, + FXS: NOT_DEPLOYED, + LDO: NOT_DEPLOYED, + LUSD: NOT_DEPLOYED, + sUSD: NOT_DEPLOYED, + GUSD: NOT_DEPLOYED, + LQTY: NOT_DEPLOYED, + MKR: NOT_DEPLOYED, + RPL: NOT_DEPLOYED, + APE: NOT_DEPLOYED, + LBTC: NOT_DEPLOYED, + eBTC: NOT_DEPLOYED, + solvBTC: NOT_DEPLOYED, + pumpBTC: NOT_DEPLOYED, + rETH: NOT_DEPLOYED, + osETH: NOT_DEPLOYED, + weETH: NOT_DEPLOYED, + ezETH: NOT_DEPLOYED, + rsETH: NOT_DEPLOYED, + PENDLE: NOT_DEPLOYED, + frxETH: NOT_DEPLOYED, + sfrxETH: NOT_DEPLOYED, + cbETH: NOT_DEPLOYED, + rswETH: NOT_DEPLOYED, + USDe: NOT_DEPLOYED, + pufETH: NOT_DEPLOYED, + USDS: NOT_DEPLOYED, + + // REDSTONE + SHIB: NOT_DEPLOYED, + + // YEARN TOKENS + yvDAI: NOT_DEPLOYED, + yvUSDC: NOT_DEPLOYED, + yvUSDC_e: NOT_DEPLOYED, + yvUSDT: NOT_DEPLOYED, + yvWETH: NOT_DEPLOYED, + yvWBTC: NOT_DEPLOYED, + yvOP: NOT_DEPLOYED, + yvCurve_stETH: NOT_DEPLOYED, + yvCurve_FRAX: NOT_DEPLOYED, + + // CURVE LP TOKENS + "3Crv": NOT_DEPLOYED, + "3CRV": NOT_DEPLOYED, + wstETHCRV: NOT_DEPLOYED, + crvFRAX: NOT_DEPLOYED, + steCRV: NOT_DEPLOYED, + FRAX3CRV: NOT_DEPLOYED, + LUSD3CRV: NOT_DEPLOYED, + crvPlain3andSUSD: NOT_DEPLOYED, + gusd3CRV: NOT_DEPLOYED, + USDeUSDC: NOT_DEPLOYED, + FRAXUSDe: NOT_DEPLOYED, + USDecrvUSD: NOT_DEPLOYED, + FRAXsDAI: NOT_DEPLOYED, + DOLAsUSDe: NOT_DEPLOYED, + DOLAFRAXBP3CRV_f: NOT_DEPLOYED, + crvUSDDOLA_f: NOT_DEPLOYED, + crvCRVETH: NOT_DEPLOYED, + crvCVXETH: NOT_DEPLOYED, + crvUSDTWBTCWETH: NOT_DEPLOYED, + LDOETH: NOT_DEPLOYED, + USDeDAI: NOT_DEPLOYED, + MtEthena: NOT_DEPLOYED, + pufETHwstE: NOT_DEPLOYED, + GHOcrvUSD: NOT_DEPLOYED, + ezETHWETH: NOT_DEPLOYED, + ezpzETH: NOT_DEPLOYED, + LBTCWBTC: NOT_DEPLOYED, + eBTCWBTC: NOT_DEPLOYED, + pumpBTCWBTC: NOT_DEPLOYED, + TriBTC: NOT_DEPLOYED, + "2BTC-f": NOT_DEPLOYED, + tETHwstETH: NOT_DEPLOYED, + tETHweETH: NOT_DEPLOYED, + pzETHstETH: NOT_DEPLOYED, + + crvUSDUSDC: NOT_DEPLOYED, + crvUSDUSDT: NOT_DEPLOYED, + crvUSDFRAX: NOT_DEPLOYED, + crvUSDETHCRV: NOT_DEPLOYED, + crvUsUSDe: NOT_DEPLOYED, + llamathena: NOT_DEPLOYED, + + "2CRV": NOT_DEPLOYED, + "3c-crvUSD": NOT_DEPLOYED, + crvUSDC: NOT_DEPLOYED, + crvUSDC_e: NOT_DEPLOYED, + crvUSDT: NOT_DEPLOYED, + USDEUSDC: NOT_DEPLOYED, + + rETH_f: NOT_DEPLOYED, + + // CONVEX LP TOKENS + cvx3Crv: NOT_DEPLOYED, + cvxcrvFRAX: NOT_DEPLOYED, + cvxsteCRV: NOT_DEPLOYED, + cvxcrvPlain3andSUSD: NOT_DEPLOYED, + cvxFRAX3CRV: NOT_DEPLOYED, + cvxLUSD3CRV: NOT_DEPLOYED, + cvxgusd3CRV: NOT_DEPLOYED, + cvxcrvCRVETH: NOT_DEPLOYED, + cvxcrvCVXETH: NOT_DEPLOYED, + cvxcrvUSDTWBTCWETH: NOT_DEPLOYED, + cvxLDOETH: NOT_DEPLOYED, + cvxcrvUSDUSDC: NOT_DEPLOYED, + cvxcrvUSDUSDT: NOT_DEPLOYED, + cvxcrvUSDFRAX: NOT_DEPLOYED, + cvxcrvUSDETHCRV: NOT_DEPLOYED, + cvxGHOcrvUSD: NOT_DEPLOYED, + cvxllamathena: NOT_DEPLOYED, + + crvUSD: NOT_DEPLOYED, + + // CONVEX PHANTOM TOKEN ADDRESSES + stkcvx3Crv: NOT_DEPLOYED, + stkcvxcrvFRAX: NOT_DEPLOYED, + stkcvxFRAX3CRV: NOT_DEPLOYED, + stkcvxgusd3CRV: NOT_DEPLOYED, + stkcvxsteCRV: NOT_DEPLOYED, + stkcvxcrvPlain3andSUSD: NOT_DEPLOYED, + stkcvxLUSD3CRV: NOT_DEPLOYED, + stkcvxcrvCRVETH: NOT_DEPLOYED, + stkcvxcrvCVXETH: NOT_DEPLOYED, + stkcvxcrvUSDTWBTCWETH: NOT_DEPLOYED, + stkcvxLDOETH: NOT_DEPLOYED, + stkcvxcrvUSDUSDC: NOT_DEPLOYED, + stkcvxcrvUSDUSDT: NOT_DEPLOYED, + stkcvxcrvUSDFRAX: NOT_DEPLOYED, + stkcvxcrvUSDETHCRV: NOT_DEPLOYED, + stkcvxGHOcrvUSD: NOT_DEPLOYED, + stkcvxllamathena: NOT_DEPLOYED, + + cvxcrvUSDT: NOT_DEPLOYED, + + // BALANCER TOKENS + USDC_DAI_USDT: NOT_DEPLOYED, + B_rETH_STABLE: NOT_DEPLOYED, + weETH_rETH: NOT_DEPLOYED, + osETH_wETH_BPT: NOT_DEPLOYED, + B_80BAL_20WETH: NOT_DEPLOYED, + "50WETH_50AURA": NOT_DEPLOYED, + wstETH_WETH_BPT: NOT_DEPLOYED, + wstETH_rETH_cbETH: NOT_DEPLOYED, + cbETH_rETH_wstETH: NOT_DEPLOYED, + wstETH_rETH_sfrxETH: NOT_DEPLOYED, + rETH_WETH_BPT_deprecated: NOT_DEPLOYED, + rETH_wETH_BPT: NOT_DEPLOYED, + ezETH_WETH_BPT: NOT_DEPLOYED, + sUSDe_USDC_BPT: NOT_DEPLOYED, + trenSTETH: NOT_DEPLOYED, + DVstETH_wstETH_BPT: NOT_DEPLOYED, + weETH_ezETH_rswETH: NOT_DEPLOYED, + rsETH_WETH: NOT_DEPLOYED, + rsETH_wETH_Arb: NOT_DEPLOYED, + "33AURA_33ARB_33BAL": NOT_DEPLOYED, + ezETH_wstETH: NOT_DEPLOYED, + + BPT_rETH_ETH: NOT_DEPLOYED, + BPT_WSTETH_ETH: NOT_DEPLOYED, + BPT_ROAD: NOT_DEPLOYED, + ECLP_wstETH_WETH: NOT_DEPLOYED, + bpt_ethtri: NOT_DEPLOYED, + pumpBTC_WBTC_BPT: NOT_DEPLOYED, + eBTC_WBTC_BPT: NOT_DEPLOYED, + B_50WBTC_50WETH: NOT_DEPLOYED, + bpt_rsb: "0xCd4D2b142235D5650fFA6A38787eD0b7d7A51c0C", + bpt_sss: "0x374641076B68371e69D03C417DAc3E5F236c32FA", + BPT_scUSD_stS: "0x25ca5451CD5a50AB1d324B5E64F32C0799661891", + BPT_USDCe_stS: "0x713FB5036dC70012588d77a5B066f1Dd05c712d7", tETH_wstETH_BPT: NOT_DEPLOYED, // AURA @@ -1844,6 +2191,7 @@ export const tickerInfoTokensByNetwork: Record< ], }, Base: {}, + Sonic: {}, }; export const tickerTokensByNetwork: Record< diff --git a/src/sdk/sdk-gov-legacy/tokens/tokenData.ts b/src/sdk/sdk-gov-legacy/tokens/tokenData.ts index 97abc0670..9f39f84e4 100644 --- a/src/sdk/sdk-gov-legacy/tokens/tokenData.ts +++ b/src/sdk/sdk-gov-legacy/tokens/tokenData.ts @@ -28,6 +28,7 @@ export const connectors: Record> = { Arbitrum: ["WETH", "DAI", "USDC", "USDT", "rETH", "USDC_e", "wstETH"], Optimism: ["WETH", "USDC", "USDT", "USDC_e", "wstETH"], Base: ["WETH", "USDC", "USDT"], + Sonic: [], }; export function getConnectors(networkType: NetworkType): Address[] { diff --git a/src/sdk/sdk-legacy/core/endpoint.ts b/src/sdk/sdk-legacy/core/endpoint.ts index 8e8475075..ad37d9676 100644 --- a/src/sdk/sdk-legacy/core/endpoint.ts +++ b/src/sdk/sdk-legacy/core/endpoint.ts @@ -8,6 +8,7 @@ export const TESTNET_CHAINS: Record = { Optimism: 7879, Arbitrum: 7880, Base: 7881, + Sonic: 7882, }; type ChartsPriceSource = "chainlink" | "spot"; diff --git a/src/sdk/sdk-legacy/core/protocols.ts b/src/sdk/sdk-legacy/core/protocols.ts index ce7e6398d..025f8b17e 100644 --- a/src/sdk/sdk-legacy/core/protocols.ts +++ b/src/sdk/sdk-legacy/core/protocols.ts @@ -170,6 +170,15 @@ const PROTOCOL_DATA: Record = { name: "Treehouse", icon: "/protocols/treehouse.svg", }, + // TODO: + Beets: { + name: "Beets", + icon: "", + }, + Shadow: { + name: "Shadow", + icon: "", + }, }; export const isExtendedProtocol = (t: unknown): t is ExtendedProtocols => diff --git a/src/sdk/utils/etherscan.ts b/src/sdk/utils/etherscan.ts index 2096350d8..bdd8ecfd9 100644 --- a/src/sdk/utils/etherscan.ts +++ b/src/sdk/utils/etherscan.ts @@ -33,6 +33,9 @@ export function etherscanUrl( case "Base": domain = "basescan.org"; break; + case "Sonic": + domain = "sonicscan.org"; + break; } const [key, value] = Object.entries(param)[0]; return `https://${prefix}${domain}/${key}/${value}`;