UNPKG

@bayswap/sdk

Version:

SDK for BaySwap smart contract

57 lines 2.75 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parsingStakePoolTypes = exports.enrichPrefixZero = exports.standardizeStakeLPType = exports.parsingPoolTypes = void 0; const parsingPoolTypes = (types) => { const p = types.substring(0, types.lastIndexOf('<')); const t = types.substring(types.lastIndexOf('<') + 1, types.lastIndexOf('>')); const slice = t.replaceAll(' ', '').split(','); if (slice.length < 3) { throw new Error('invalid pool type'); } return { poolType: p, coinXType: (0, exports.enrichPrefixZero)(slice[0]), coinYType: (0, exports.enrichPrefixZero)(slice[1]), curveType: (0, exports.enrichPrefixZero)(slice[2]), }; }; exports.parsingPoolTypes = parsingPoolTypes; // 0x303449f10daec35aed66d5b70954bba08dd3a930457ef20aaea018b27676e5d::liquidity_pool::LPToken<0x700de8dea1aac1de7531e9d20fc2568b12d74369f91b7fad3abc1c4f40396e52::btc::BTC, 0x700de8dea1aac1de7531e9d20fc2568b12d74369f91b7fad3abc1c4f40396e52::eth::ETH, 0x303449f10daec35aed66d5b70954bba08dd3a930457ef20aaea018b27676e5d::curves::Uncorrelated> const standardizeStakeLPType = (types) => { let firstPart = types.substring(0, types.lastIndexOf('<')); firstPart = (0, exports.enrichPrefixZero)(firstPart); const insideQuotePart = types.substring(types.lastIndexOf('<') + 1, types.lastIndexOf('>')); const parts = insideQuotePart.replaceAll(' ', '').split(','); if (parts.length != 3) { throw new Error('invalid stake LP type'); } return `${firstPart}<${(0, exports.enrichPrefixZero)(parts[0])}, ${(0, exports.enrichPrefixZero)(parts[1])}, ${(0, exports.enrichPrefixZero)(parts[2])}>`; }; exports.standardizeStakeLPType = standardizeStakeLPType; const enrichPrefixZero = (type_) => { const parts = type_.split('::'); if (parts.length != 3) { return parts.join('::'); } if (parts[0].length == 65) { parts[0] = '0x0' + parts[0].slice(2); } return parts.join('::'); }; exports.enrichPrefixZero = enrichPrefixZero; // 0x5db4ac8022b7e34efab846ca4f13acebc55ed80a::stake::Pool<0x981060acfd7629fd3ec15dcdca8560b29920af60::btc::BTC, 0x981060acfd7629fd3ec15dcdca8560b29920af60::bnb::BNB> const parsingStakePoolTypes = (types) => { const p = types.substring(0, types.lastIndexOf('<')); const t = types.substring(types.lastIndexOf('<') + 1, types.lastIndexOf('>')); const slice = t.replaceAll(' ', '').split(','); if (slice.length < 2) { throw new Error('invalid stake pool type'); } return { poolType: p, stakeCoinType: slice[0], rewardCoinType: slice[1], }; }; exports.parsingStakePoolTypes = parsingStakePoolTypes; //# sourceMappingURL=parsing.js.map