@admin-jigsaw/jigsaw-sdk
Version:
Returns predefined data for Jigsaw platform and exposes functionality to retrieve the necessary data
136 lines (135 loc) • 7.56 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CHAINS = void 0;
exports.getChainConfig = getChainConfig;
const viem_1 = require("viem");
const coinsConstants_1 = require("./sonic/coinsConstants");
const strategiesConstants_1 = require("./sonic/strategiesConstants");
const coinsConstants_2 = require("./swell/coinsConstants");
const coinsConstants_3 = require("./ethereum/coinsConstants");
const strategiesConstants_2 = require("./ethereum/strategiesConstants");
const networks_1 = require("@reown/appkit/networks");
exports.CHAINS = {
[networks_1.mainnet.id]: {
...networks_1.mainnet,
constants: {
jusdAddress: coinsConstants_3.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: coinsConstants_3.COLLATERALS_ETHEREUM,
rewardTokens: coinsConstants_3.REWARD_TOKENS_ETHEREUM,
allSymbols: coinsConstants_3.SYMBOLS_ALL_ETHEREUM,
borrowSymbols: coinsConstants_3.SYMBOLS_BORROW_ETHEREUM,
depositSymbols: coinsConstants_3.SYMBOLS_DEPOSIT_ETHEREUM,
withdrawSymbols: coinsConstants_3.SYMBOLS_WITHDRAW_ETHEREUM,
baseSymbols: coinsConstants_3.SYMBOLS_BASE_ETHEREUM,
collateralGroups: coinsConstants_3.COLLATERALS_GROUPS_ETHEREUM,
collateralGroupsWithRewards: coinsConstants_3.COLLATERALS_GROUPS_WITH_REWARDS_ETHEREUM,
nativeCoin: coinsConstants_3.COLLATERALS_ETHEREUM.ETH.symbol,
wrappedNativeCoin: coinsConstants_3.COLLATERALS_ETHEREUM.WETH.symbol,
},
strategies: {
aave: {
aaveStrategies: strategiesConstants_2.AAVE_STRATEGIES_ETHEREUM,
uiPoolDataProviderAddress: "0x3F78BBD206e4D3c504Eb854232EdA7e47E9Fd8FC",
uiIncentiveDataProviderAddress: "0xe3dFf4052F0bF6134ACb73bEaE8fe2317d71F047",
lendingPoolAddressProvider: "0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e",
},
reservoir: strategiesConstants_2.RESERVOIR_STRATEGIES_ETHEREUM,
dinero: strategiesConstants_2.DINERO_STRATEGIES_ETHEREUM,
pendle: {
strategies: strategiesConstants_2.PENDLE_STRATEGIES_ETHEREUM,
markets: strategiesConstants_2.PENDLE_MARKETS_ETHEREUM,
},
},
protocolsAssets: strategiesConstants_2.PROTOCOLS_ASSETS_ETHEREUM,
protocolStrategyMap: strategiesConstants_2.PROTOCOL_STRATEGY_MAP_ETHEREUM,
},
[networks_1.sonic.id]: {
...networks_1.sonic,
constants: {
jusdAddress: coinsConstants_1.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: viem_1.zeroAddress,
},
tokens: {
collaterals: coinsConstants_1.COLLATERALS_SONIC,
allSymbols: coinsConstants_1.SYMBOLS_ALL_SONIC,
rewardTokens: coinsConstants_1.REWARD_TOKENS_SONIC,
borrowSymbols: coinsConstants_1.SYMBOLS_BORROW_SONIC,
depositSymbols: coinsConstants_1.SYMBOLS_DEPOSIT_SONIC,
withdrawSymbols: coinsConstants_1.SYMBOLS_WITHDRAW_SONIC,
baseSymbols: coinsConstants_1.SYMBOLS_BASE_SONIC,
collateralGroups: coinsConstants_1.COLLATERALS_GROUPS_SONIC,
collateralGroupsWithRewards: coinsConstants_1.COLLATERALS_GROUPS_WITH_REWARDS_SONIC,
nativeCoin: coinsConstants_1.COLLATERALS_SONIC.S.symbol,
wrappedNativeCoin: coinsConstants_1.COLLATERALS_SONIC.wS.symbol,
},
strategies: {
aave: {
aaveStrategies: strategiesConstants_1.AAVE_STRATEGIES_SONIC,
uiPoolDataProviderAddress: "0x9005A69fE088680827f292e8aE885Be4BE1beb2f",
uiIncentiveDataProviderAddress: "0xeC859AED64e87004FA724892D5aB474901825B2D",
lendingPoolAddressProvider: "0x5C2e738F6E27bCE0F7558051Bf90605dD6176900",
},
},
protocolsAssets: strategiesConstants_1.PROTOCOLS_ASSETS_SONIC,
protocolStrategyMap: strategiesConstants_1.PROTOCOL_STRATEGY_MAP_SONIC,
},
[networks_1.swellchain.id]: {
...networks_1.swellchain,
constants: {
jusdAddress: coinsConstants_1.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: viem_1.zeroAddress,
},
tokens: {
collaterals: coinsConstants_2.COLLATERALS_SWELL,
allSymbols: coinsConstants_2.SYMBOLS_ALL_SWELL,
borrowSymbols: coinsConstants_2.SYMBOLS_BORROW_SWELL,
depositSymbols: coinsConstants_2.SYMBOLS_DEPOSIT_SWELL,
withdrawSymbols: coinsConstants_2.SYMBOLS_WITHDRAW_SWELL,
baseSymbols: coinsConstants_2.SYMBOLS_BASE_SWELL,
collateralGroups: coinsConstants_2.COLLATERALS_GROUPS_SWELL,
collateralGroupsWithRewards: coinsConstants_2.COLLATERALS_GROUPS_SWELL, // No rewards defined for Swellchain yet
nativeCoin: coinsConstants_2.COLLATERALS_SWELL.ETH.symbol,
wrappedNativeCoin: coinsConstants_2.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
function getChainConfig(chainId) {
return exports.CHAINS[chainId] || exports.CHAINS[networks_1.mainnet.id]; // Default to mainnet if chain not found
}