UNPKG

@bayswap/sdk

Version:

SDK for BaySwap smart contract

50 lines 2.28 kB
export 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: enrichPrefixZero(slice[0]), coinYType: enrichPrefixZero(slice[1]), curveType: enrichPrefixZero(slice[2]), }; }; // 0x303449f10daec35aed66d5b70954bba08dd3a930457ef20aaea018b27676e5d::liquidity_pool::LPToken<0x700de8dea1aac1de7531e9d20fc2568b12d74369f91b7fad3abc1c4f40396e52::btc::BTC, 0x700de8dea1aac1de7531e9d20fc2568b12d74369f91b7fad3abc1c4f40396e52::eth::ETH, 0x303449f10daec35aed66d5b70954bba08dd3a930457ef20aaea018b27676e5d::curves::Uncorrelated> export const standardizeStakeLPType = (types) => { let firstPart = types.substring(0, types.lastIndexOf('<')); firstPart = 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}<${enrichPrefixZero(parts[0])}, ${enrichPrefixZero(parts[1])}, ${enrichPrefixZero(parts[2])}>`; }; export 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('::'); }; // 0x5db4ac8022b7e34efab846ca4f13acebc55ed80a::stake::Pool<0x981060acfd7629fd3ec15dcdca8560b29920af60::btc::BTC, 0x981060acfd7629fd3ec15dcdca8560b29920af60::bnb::BNB> export 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], }; }; //# sourceMappingURL=parsing.js.map