@bluefin-exchange/bluefin7k-aggregator-sdk
Version:
27 lines (26 loc) • 1.02 kB
JavaScript
import { BaseContract } from "../base";
import { normalizeTokenType } from "../../../utils/token";
export class KriyaContract extends BaseContract {
async swap(tx) {
const swapXtoY = this.swapInfo.swapXtoY;
const coinInType = normalizeTokenType(this.swapInfo.assetIn);
const coinOutType = 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;
}
}