@bluefin-exchange/bluefin7k-aggregator-sdk
Version:
31 lines (30 loc) • 1.18 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.KriyaContract = void 0;
const base_1 = require("../base");
const token_1 = require("../../../utils/token");
class KriyaContract extends base_1.BaseContract {
async swap(tx) {
const swapXtoY = this.swapInfo.swapXtoY;
const coinInType = (0, token_1.normalizeTokenType)(this.swapInfo.assetIn);
const coinOutType = (0, token_1.normalizeTokenType)(this.swapInfo.assetOut);
const poolId = this.swapInfo.poolId;
const inputCoinObject = this.inputCoinObject;
const config = this.config.kriya;
const [tokenOut] = tx.moveCall({
target: `${config.package}::spot_dex::${swapXtoY ? "swap_token_x" : "swap_token_y"}`,
typeArguments: [
swapXtoY ? coinInType : coinOutType,
swapXtoY ? coinOutType : coinInType,
],
arguments: [
tx.object(poolId),
inputCoinObject,
this.getInputCoinValue(tx),
tx.pure.u64(0),
],
});
return tokenOut;
}
}
exports.KriyaContract = KriyaContract;
;