UNPKG

@shogun-sdk/money-legos

Version:

Shogun Money Legos: clients and types for quotes, memes, prices, balances, fees, validations, etc.

26 lines 1.22 kB
import { getFeeAmount } from './fee.js'; import { formatAffiliateData } from './fee.js'; import { getTransferTokenFeeCall } from './fee.js'; import { isNativeToken } from './address.js'; export function calculateAffiliateFeeAndUpdateAmountIn(config) { const affiliateFeeAmount = getFeeAmount(Number(config.affiliateFee), BigInt(config.amount)); const updatedAmountIn = BigInt(config.amount) - affiliateFeeAmount; const formattedAffiliateFeeData = formatAffiliateData({ feeAmount: affiliateFeeAmount, feeToken: config.srcToken, }, config); return { formattedAffiliateFeeData, updatedAmountIn, }; } /** * Adds first call that collects affiliate fee as native token * @param bridgeCalls Bridge calls arrays that should be modified (mutated) * @param config Trade config * @param formattedAffiliateFeeData Formatted affiliate fee data */ export function collectAffiliateFeeBeforeSwap(bridgeCalls, config, formattedAffiliateFeeData) { bridgeCalls.unshift(getTransferTokenFeeCall(BigInt(formattedAffiliateFeeData.affiliateFee.feeAmount), config.affiliateWallet, config.srcToken, isNativeToken(config.srcToken))); } //# sourceMappingURL=bridgeHelpers.js.map