@admin-jigsaw/jigsaw-sdk
Version:
Returns predefined data for Jigsaw platform and exposes functionality to retrieve the necessary data
85 lines (84 loc) • 2.29 kB
TypeScript
import { Address, Chain } from "viem";
import { Coin, PendleStrategies } from "../../../types/types";
export interface ChainConfig extends Chain {
constants: {
jusdAddress: Address;
sharesDecimals: number;
explorerUrl: string;
rpcUrl: string;
jigsawManagerAddress: Address;
holdingManagerAddress: Address;
liquidationManagerAddress: Address;
stablesManagerAddress: Address;
strategyManagerAddress: Address;
swapManagerAddress: Address;
};
tokens: {
collaterals: {
[key: string]: Coin;
};
allSymbols: string[];
borrowSymbols: string[];
depositSymbols: string[];
withdrawSymbols: string[];
baseSymbols: string[];
collateralGroups: {
name: string;
coins: Coin[];
}[];
collateralGroupsWithRewards: {
name: string;
coins: Coin[];
}[];
rewardTokens?: {
[key: string]: Coin;
};
nativeCoin: string;
wrappedNativeCoin: string;
};
strategies: {
aave?: {
aaveStrategies: {
[key: string]: {
stratAddress: Address;
};
};
uiPoolDataProviderAddress: Address;
uiIncentiveDataProviderAddress: Address;
lendingPoolAddressProvider: Address;
};
reservoir?: {
[key: string]: {
apy: string;
stratAddress: Address;
};
};
dinero?: {
[key: string]: {
apy: string;
stratAddress: Address;
};
};
pendle?: {
strategies: PendleStrategies;
markets: string[];
};
elixir?: {
[key: string]: {
stratAddress: Address;
};
};
} | null;
protocolsAssets: {
name: string;
icon: string;
assets: string[];
}[] | null;
protocolStrategyMap: {
[key: string]: string[];
} | null;
}
export declare const CHAINS: {
[chainId: number]: ChainConfig;
};
export declare function getChainConfig(chainId: number): ChainConfig;