@bayswap/sdk
Version:
SDK for BaySwap smart contract
57 lines • 2.75 kB
JavaScript
;
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