UNPKG

@swaptoshi/dex-module

Version:

Klayr decentralized exchange (dex) on-chain module

26 lines 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DexTransferFeeConversionMethod = void 0; const fee_conversion_module_1 = require("@swaptoshi/fee-conversion-module"); const hooks_1 = require("../hooks"); class DexTransferFeeConversionMethod extends fee_conversion_module_1.BaseFeeConversionMethod { async verifyFeeConversion(context) { const swapTransferCheck = await hooks_1.isSwapByTransfer.bind(this)(context, context.transaction); if (swapTransferCheck.status && swapTransferCheck.payload) { const senderFeeBalance = await this.tokenMethod.getAvailableBalance(context, context.transaction.senderAddress, this.feeMethod.getFeeTokenID()); const feeDifference = senderFeeBalance - context.transaction.fee; if (feeDifference < BigInt(0)) { return { status: fee_conversion_module_1.FeeConversionVerifyStatus.WITH_CONVERSION, payload: { tokenId: swapTransferCheck.payload.tokenID, txAmount: swapTransferCheck.payload.amount, }, }; } } return { status: fee_conversion_module_1.FeeConversionVerifyStatus.NO_CONVERSION }; } } exports.DexTransferFeeConversionMethod = DexTransferFeeConversionMethod; //# sourceMappingURL=dex_transfer.js.map