UNPKG

@admin-jigsaw/jigsaw-sdk

Version:

Returns predefined data for Jigsaw platform and exposes functionality to retrieve the necessary data

132 lines (131 loc) 7.31 kB
import { zeroAddress } from "viem"; import { COLLATERALS_GROUPS_SONIC, COLLATERALS_GROUPS_WITH_REWARDS_SONIC, COLLATERALS_SONIC, REWARD_TOKENS_SONIC, SYMBOLS_ALL_SONIC, SYMBOLS_BASE_SONIC, SYMBOLS_BORROW_SONIC, SYMBOLS_DEPOSIT_SONIC, SYMBOLS_WITHDRAW_SONIC, } from "./sonic/coinsConstants"; import { AAVE_STRATEGIES_SONIC, PROTOCOL_STRATEGY_MAP_SONIC, PROTOCOLS_ASSETS_SONIC, } from "./sonic/strategiesConstants"; import { COLLATERALS_GROUPS_SWELL, COLLATERALS_SWELL, SYMBOLS_ALL_SWELL, SYMBOLS_BASE_SWELL, SYMBOLS_BORROW_SWELL, SYMBOLS_DEPOSIT_SWELL, SYMBOLS_WITHDRAW_SWELL, } from "./swell/coinsConstants"; import { COLLATERALS_ETHEREUM, COLLATERALS_GROUPS_ETHEREUM, COLLATERALS_GROUPS_WITH_REWARDS_ETHEREUM, REWARD_TOKENS_ETHEREUM, SYMBOLS_ALL_ETHEREUM, SYMBOLS_BASE_ETHEREUM, SYMBOLS_BORROW_ETHEREUM, SYMBOLS_DEPOSIT_ETHEREUM, SYMBOLS_WITHDRAW_ETHEREUM, } from "./ethereum/coinsConstants"; import { AAVE_STRATEGIES_ETHEREUM, DINERO_STRATEGIES_ETHEREUM, PENDLE_MARKETS_ETHEREUM, PENDLE_STRATEGIES_ETHEREUM, PROTOCOL_STRATEGY_MAP_ETHEREUM, PROTOCOLS_ASSETS_ETHEREUM, RESERVOIR_STRATEGIES_ETHEREUM, } from "./ethereum/strategiesConstants"; import { mainnet, sonic, swellchain } from "@reown/appkit/networks"; export const CHAINS = { [mainnet.id]: { ...mainnet, constants: { jusdAddress: COLLATERALS_ETHEREUM.jUSD.address, sharesDecimals: 18, explorerUrl: process.env.NEXT_PUBLIC_ETHERSCAN_URL || "https://etherscan.io", rpcUrl: process.env.NEXT_PUBLIC_MAINNET_RPC || "https://mainnet.infura.io", jigsawManagerAddress: "0x0000000e44a948ab0c83f2c65d3a2c4a06b05228", holdingManagerAddress: "0x0000000a9facf0be270c02ddfecabd01cc194698", liquidationManagerAddress: "0x0000000bb034315bf08ce000c5f43c1af2609421", stablesManagerAddress: "0x00000000fb1d443a8d2aaaee72ce4c55b8db04b7", strategyManagerAddress: "0x0000000b6bccbd238329a55f83582efd3b5d2ed2", swapManagerAddress: "0x0000000d64a5f3b2dd2f7d617431f9a8c7577a26", }, tokens: { collaterals: COLLATERALS_ETHEREUM, rewardTokens: REWARD_TOKENS_ETHEREUM, allSymbols: SYMBOLS_ALL_ETHEREUM, borrowSymbols: SYMBOLS_BORROW_ETHEREUM, depositSymbols: SYMBOLS_DEPOSIT_ETHEREUM, withdrawSymbols: SYMBOLS_WITHDRAW_ETHEREUM, baseSymbols: SYMBOLS_BASE_ETHEREUM, collateralGroups: COLLATERALS_GROUPS_ETHEREUM, collateralGroupsWithRewards: COLLATERALS_GROUPS_WITH_REWARDS_ETHEREUM, nativeCoin: COLLATERALS_ETHEREUM.ETH.symbol, wrappedNativeCoin: COLLATERALS_ETHEREUM.WETH.symbol, }, strategies: { aave: { aaveStrategies: AAVE_STRATEGIES_ETHEREUM, uiPoolDataProviderAddress: "0x3F78BBD206e4D3c504Eb854232EdA7e47E9Fd8FC", uiIncentiveDataProviderAddress: "0xe3dFf4052F0bF6134ACb73bEaE8fe2317d71F047", lendingPoolAddressProvider: "0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e", }, reservoir: RESERVOIR_STRATEGIES_ETHEREUM, dinero: DINERO_STRATEGIES_ETHEREUM, pendle: { strategies: PENDLE_STRATEGIES_ETHEREUM, markets: PENDLE_MARKETS_ETHEREUM, }, }, protocolsAssets: PROTOCOLS_ASSETS_ETHEREUM, protocolStrategyMap: PROTOCOL_STRATEGY_MAP_ETHEREUM, }, [sonic.id]: { ...sonic, constants: { jusdAddress: COLLATERALS_SONIC.jUSD.address, sharesDecimals: 18, explorerUrl: process.env.NEXT_PUBLIC_SONIC_ETHERSCAN_URL || "https://sonicscan.org", rpcUrl: process.env.NEXT_PUBLIC_SONIC_RPC || "https://rpc.soniclabs.com", jigsawManagerAddress: "0x0000000146fa98d5435512635a69bdcd3047d1e9", holdingManagerAddress: "0x00000005e325d84f42aab946eee3b70fe4198d99", liquidationManagerAddress: "0x0000000a866d52c5d3a3f78ca2321c107488ae53", stablesManagerAddress: "0x0000000b11ce20726bc5c7a462a86fac904bc250", strategyManagerAddress: "0x0000000bb6fa7c85ea23406fd407352ae627d69a", swapManagerAddress: zeroAddress, }, tokens: { collaterals: COLLATERALS_SONIC, allSymbols: SYMBOLS_ALL_SONIC, rewardTokens: REWARD_TOKENS_SONIC, borrowSymbols: SYMBOLS_BORROW_SONIC, depositSymbols: SYMBOLS_DEPOSIT_SONIC, withdrawSymbols: SYMBOLS_WITHDRAW_SONIC, baseSymbols: SYMBOLS_BASE_SONIC, collateralGroups: COLLATERALS_GROUPS_SONIC, collateralGroupsWithRewards: COLLATERALS_GROUPS_WITH_REWARDS_SONIC, nativeCoin: COLLATERALS_SONIC.S.symbol, wrappedNativeCoin: COLLATERALS_SONIC.wS.symbol, }, strategies: { aave: { aaveStrategies: AAVE_STRATEGIES_SONIC, uiPoolDataProviderAddress: "0x9005A69fE088680827f292e8aE885Be4BE1beb2f", uiIncentiveDataProviderAddress: "0xeC859AED64e87004FA724892D5aB474901825B2D", lendingPoolAddressProvider: "0x5C2e738F6E27bCE0F7558051Bf90605dD6176900", }, }, protocolsAssets: PROTOCOLS_ASSETS_SONIC, protocolStrategyMap: PROTOCOL_STRATEGY_MAP_SONIC, }, [swellchain.id]: { ...swellchain, constants: { jusdAddress: COLLATERALS_SONIC.jUSD.address, sharesDecimals: 18, explorerUrl: process.env.NEXT_PUBLIC_SWELL_ETHERSCAN_URL || "https://swellscan.com", rpcUrl: process.env.NEXT_PUBLIC_SWELL_RPC || "https://rpc.ankr.com/swell", jigsawManagerAddress: "0x304d645eb54720841dcd2cdffba4eeddb6a76cfe", holdingManagerAddress: "0x41feb582d3bd132cec6a363e63fade566c8863a8", liquidationManagerAddress: "0x2854eba41c6ef97d297f58392af764156270f4ff", stablesManagerAddress: "0xda475cf3d75a2fecc78168b56f06a3cfbb0b5253", strategyManagerAddress: "0xa124c1bd32db227fc8079c8b01d39c3179a9ac96", swapManagerAddress: zeroAddress, }, tokens: { collaterals: COLLATERALS_SWELL, allSymbols: SYMBOLS_ALL_SWELL, borrowSymbols: SYMBOLS_BORROW_SWELL, depositSymbols: SYMBOLS_DEPOSIT_SWELL, withdrawSymbols: SYMBOLS_WITHDRAW_SWELL, baseSymbols: SYMBOLS_BASE_SWELL, collateralGroups: COLLATERALS_GROUPS_SWELL, collateralGroupsWithRewards: COLLATERALS_GROUPS_SWELL, // No rewards defined for Swellchain yet nativeCoin: COLLATERALS_SWELL.ETH.symbol, wrappedNativeCoin: COLLATERALS_SWELL.WETH.symbol, }, strategies: null, // No strategies defined for Swellchain yet protocolsAssets: null, // No protocols assets defined for Swellchain yet protocolStrategyMap: null, // No protocol strategy map defined for Swellchain yet }, }; // Helper function to get chain config export function getChainConfig(chainId) { return CHAINS[chainId] || CHAINS[mainnet.id]; // Default to mainnet if chain not found }