UNPKG

@swaptoshi/dex-module

Version:

Klayr decentralized exchange (dex) on-chain module

35 lines 1.52 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MULTIPLE_POOLS_MIN_LENGTH = exports.POP_OFFSET = exports.NEXT_OFFSET = exports.FEE_SIZE = exports.ADDR_SIZE = void 0; exports.hasMultiplePools = hasMultiplePools; exports.numPools = numPools; exports.decodeFirstPool = decodeFirstPool; exports.getFirstPool = getFirstPool; exports.getLastPool = getLastPool; exports.skipToken = skipToken; const int_1 = require("../int"); const bytes_lib_1 = require("./bytes_lib"); exports.ADDR_SIZE = 8; exports.FEE_SIZE = 3; exports.NEXT_OFFSET = exports.ADDR_SIZE + exports.FEE_SIZE; exports.POP_OFFSET = exports.NEXT_OFFSET + exports.ADDR_SIZE; exports.MULTIPLE_POOLS_MIN_LENGTH = exports.POP_OFFSET + exports.NEXT_OFFSET; function hasMultiplePools(path) { return path.length >= exports.MULTIPLE_POOLS_MIN_LENGTH; } function numPools(path) { return int_1.Uint256.from(path.length).sub(exports.ADDR_SIZE).div(exports.NEXT_OFFSET).toString(); } function decodeFirstPool(path) { return [(0, bytes_lib_1.toAddress)(path, 0), (0, bytes_lib_1.toAddress)(path, exports.NEXT_OFFSET), (0, bytes_lib_1.toUint24)(path, exports.ADDR_SIZE).toString()]; } function getFirstPool(path) { return path.subarray(0, exports.POP_OFFSET); } function getLastPool(path) { return path.subarray(path.length - exports.POP_OFFSET, path.length); } function skipToken(path) { return (0, bytes_lib_1.slice)(path, exports.NEXT_OFFSET, path.length - exports.NEXT_OFFSET); } //# sourceMappingURL=path.js.map