UNPKG

@prism-hq/prism-ag

Version:

Prism Aggregator

50 lines (49 loc) 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.loadStep = exports._loadStep = void 0; const sdk_1 = require("@orca-so/sdk"); function _loadStep(liquidity) { try { if (!liquidity || liquidity.length == 0) return []; let accounts = []; for (let i = 0; i < liquidity.length; i++) { let pool = liquidity[i]; const tokenA = pool.tokenAccountA; const tokenB = pool.tokenAccountB; accounts.push({ account: tokenA, provider: "step" }); accounts.push({ account: tokenB, provider: "step" }); } return accounts; } catch (_a) { return []; } } exports._loadStep = _loadStep; function loadStep(liquidity, results) { var _a, _b; try { if (!liquidity || liquidity.length == 0 || !results) return {}; let stepPools = {}; let ind = 0; for (let i = 0; i < liquidity.length; i++) { let pool = liquidity[i]; const tokenA = pool.tokenAccountA; const tokenB = pool.tokenAccountB; let accountInfos = [results[2 * ind].account, results[2 * ind + 1].account]; let aTokenAmount = (_a = (0, sdk_1.deserializeAccount)(accountInfos[0].data)) === null || _a === void 0 ? void 0 : _a.amount; let bTokenAmount = (_b = (0, sdk_1.deserializeAccount)(accountInfos[1].data)) === null || _b === void 0 ? void 0 : _b.amount; aTokenAmount = parseFloat(aTokenAmount === null || aTokenAmount === void 0 ? void 0 : aTokenAmount.toString()); bTokenAmount = parseFloat(bTokenAmount === null || bTokenAmount === void 0 ? void 0 : bTokenAmount.toString()); stepPools[pool.swapAccount] = Object.assign(Object.assign({}, pool), { tokenA: tokenA, tokenB: tokenB, aTokenAmount: aTokenAmount, bTokenAmount: bTokenAmount }); ind = ind + 1; } return stepPools; } catch (_c) { return {}; } } exports.loadStep = loadStep;