UNPKG

@admin-jigsaw/jigsaw-sdk

Version:

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

180 lines (179 loc) 6.68 kB
var _a, _b, _c, _d, _e, _f, _g; // KEEP THESE DICTIONARIES CONNECTED TO EACH OTHER import { COLLATERALS } from "./coinsConstants"; import { zeroAddress } from "viem"; export var PROTOCOLS_DATA = { AAVE: { name: "AAVE", icon: "/assets/protocols/aave.svg", }, NUCLEUS: { name: "NUCLEUS", icon: "/assets/protocols/nucleus.svg", }, RESERVOIR: { name: "RESERVOIR", icon: "/assets/protocols/reservoir.svg", }, DINERO: { name: "DINERO", icon: "/assets/protocols/dinero.svg", }, PENDLE: { name: "PENDLE", icon: "/assets/protocols/pendle.svg", }, }; // One strategy per collateral export var AAVE_STRATEGIES = (_a = {}, _a[COLLATERALS.WETH.symbol] = { stratAddress: "0xaE7b7A1c6C4d859e19301ccAc2C6eD28A4C51288", }, _a[COLLATERALS.wstETH.symbol] = { stratAddress: "0xbF97DEfeb6a387215E3e67DFb988c675c9bb1a29", }, _a[COLLATERALS.weETH.symbol] = { stratAddress: "0xA7240bcff60Eef40F31B8eD5d921BaD6DB13B199", }, _a[COLLATERALS.WBTC.symbol] = { stratAddress: "0x7722f5d7964a04672761cdfdC7c17B7Ac8f197b7", }, _a[COLLATERALS.USDT.symbol] = { stratAddress: "0xe9CD84fe4ddfB0f016e3264791923902906753Bd", }, _a[COLLATERALS.USDC.symbol] = { stratAddress: "0x039d7496e432c6Aea4c24648a59318b3cbe09942", }, _a[COLLATERALS.DAI.symbol] = { stratAddress: "0xeA2e668d430e5AA15babA2f5c5edfd4F9Ef6EB73", }, _a[COLLATERALS.sUSDe.symbol] = { stratAddress: "0x240A60DC5e0B9013Cb8CF39aa6f9dDd8f25E40D2", }, _a); // One strategy per NUCLEUS pool export var NUCLEUS_STRATEGIES = (_b = {}, _b[COLLATERALS.wstETH.symbol] = (_c = {}, _c[COLLATERALS.weETH.symbol] = { stratAddress: "0x512a0E8bAeb6Ac3D52A11780c92517627005b0b1", pairSymbol: COLLATERALS.weETH.symbol, }, _c[COLLATERALS.rswETH.symbol] = { stratAddress: "0x5aA185fbEFc205072FaecC6B9D564383e761f8C2", pairSymbol: COLLATERALS.rswETH.symbol, }, // rsETH is not in out collaterals list _c.rsETH = { stratAddress: "0x63275D081C4A77AE69f76c4952F9747a5559a519", pairSymbol: "rsETH", }, _c), _b[COLLATERALS.WETH.symbol] = (_d = {}, _d[COLLATERALS.ezETH.symbol] = { stratAddress: "0x5A61c51C6745b3F509f4a1BF54BFD04e04aF430a", pairSymbol: COLLATERALS.ezETH.symbol, }, _d), _b); export var RESERVOIR_STRATEGIES = (_e = {}, _e[COLLATERALS.USDC.symbol] = { apy: "12", stratAddress: "0xbaee9B65349929Bd78f9878555bF78027Df7f101", }, _e[COLLATERALS.rUSD.symbol] = { apy: "10", stratAddress: zeroAddress, }, _e); export var DINERO_STRATEGIES = (_f = {}, _f[COLLATERALS.WETH.symbol] = { apy: "3.78", stratAddress: "0x886a2A3ABF5B79AA5dFF1C73016BD07CFc817e04", }, _f); // One strategy per collateral export var PENDLE_STRATEGIES = (_g = {}, _g[COLLATERALS.sUSDe.symbol] = { general: { stratAddress: "0xfDD930c22708c7572278cf74D64f3721Eedc18Ad", }, }, _g[COLLATERALS["USD0++"].symbol] = { general: { stratAddress: "0x26320DE63415e5AAf2BA617D97C39444eDb6F741", }, }, _g[COLLATERALS.rswETH.symbol] = { general: { stratAddress: "0x2550d6424b46f78F4E31F1CCf88Da26dda7826C6", }, matured: { stratAddress: "0x2550d6424b46f78F4E31F1CCf88Da26dda7826C6", }, }, _g[COLLATERALS.pufETH.symbol] = { general: { stratAddress: "0xDb731EaaFA0FFA7854A24C2379585a85D768Ed5C", }, }, _g[COLLATERALS.LBTC.symbol] = { general: { stratAddress: "0x48288D0e3079A03f6EC1846554CFc58C2696Aaee", }, }, _g); export var generateProtocolStrategyMap = function () { var protocolStrategyMap = {}; protocolStrategyMap[PROTOCOLS_DATA.NUCLEUS.name] = Object.values(NUCLEUS_STRATEGIES) .flatMap(function (pool) { return Object.values(pool); }) .map(function (strategy) { return strategy.stratAddress || zeroAddress; }); protocolStrategyMap[PROTOCOLS_DATA.AAVE.name] = Object.values(AAVE_STRATEGIES).map(function (strategy) { return strategy.stratAddress || zeroAddress; }); protocolStrategyMap[PROTOCOLS_DATA.PENDLE.name] = Object.values(PENDLE_STRATEGIES) .flatMap(function (_a) { var general = _a.general, matured = _a.matured; return [ matured === null || matured === void 0 ? void 0 : matured.stratAddress, general === null || general === void 0 ? void 0 : general.stratAddress, ]; }) .filter(Boolean); protocolStrategyMap[PROTOCOLS_DATA.RESERVOIR.name] = Object.values(RESERVOIR_STRATEGIES).map(function (strategy) { return strategy.stratAddress || zeroAddress; }); protocolStrategyMap[PROTOCOLS_DATA.DINERO.name] = Object.values(DINERO_STRATEGIES).map(function (strategy) { return strategy.stratAddress || zeroAddress; }); return protocolStrategyMap; }; var generateProtocolAssets = function () { var _a; var protocolAssets = []; var protocolSources = (_a = {}, _a[PROTOCOLS_DATA.NUCLEUS.name] = NUCLEUS_STRATEGIES, _a[PROTOCOLS_DATA.AAVE.name] = AAVE_STRATEGIES, _a[PROTOCOLS_DATA.PENDLE.name] = PENDLE_STRATEGIES, _a[PROTOCOLS_DATA.RESERVOIR.name] = RESERVOIR_STRATEGIES, _a[PROTOCOLS_DATA.DINERO.name] = DINERO_STRATEGIES, _a); Object.entries(protocolSources).forEach(function (_a) { var _b; var protocol = _a[0], strategies = _a[1]; var assets = new Set(); Object.keys(strategies).forEach(function (asset) { assets.add(asset); }); protocolAssets.push({ name: protocol, icon: ((_b = PROTOCOLS_DATA[protocol]) === null || _b === void 0 ? void 0 : _b.icon) || "", assets: Array.from(assets), }); }); return protocolAssets; }; // Assets for each protocol, keep in sync with strategies dictionaries export var PROTOCOLS_ASSETS = generateProtocolAssets(); // Strategies for each protocol in a flat array, keep in sync with PROTOCOLS_ASSETS export var PROTOCOL_STRATEGY_MAP = generateProtocolStrategyMap(); export var PENDLE_MARKETS = [ "0x70B70Ac0445C3eF04E314DFdA6caafd825428221", "0x048680F64d6DFf1748ba6D9a01F578433787e24B", "0xfd5Cf95E8b886aCE955057cA4DC69466e793FBBE", "0x58612beB0e8a126735b19BB222cbC7fC2C162D2a", "0xB162B764044697cf03617C2EFbcB1f42e31E4766", ];