@d8x/perpetuals-sdk
Version:
Node TypeScript SDK for D8X Perpetual Futures
28 lines (25 loc) • 838 B
text/typescript
import OnChainPxFeedRedStone from "./onChainPxFeedRedStone";
import OnChainPxFeedAngle from "./onChainPxFeedAngle";
import OnChainPxFeed from "./onChainPxFeed";
export interface PriceFeedOnChainConfig {
name: string;
rpcs: Array<string>;
pxFeedAddress: string;
decimals: number;
}
export default class OnChainPxFeedFactory {
static createFeed(symbol: string): OnChainPxFeed | undefined {
let f = require("./config/priceFeedOnChain.json") as PriceFeedOnChainConfig[];
for (let k = 0; k < f.length; k++) {
if (f[k].name == symbol) {
if (symbol == "STUSD-USDC") {
return new OnChainPxFeedAngle(f[k].rpcs);
} else {
// WETH-ETH, bUSD-USD
return new OnChainPxFeedRedStone(f[k].pxFeedAddress, f[k].decimals, f[k].rpcs);
}
}
}
return undefined;
}
}