Calculate Fee
Calculate
The FeeUtils
class provides several utility methods for fee calculations:
1. getVariableFee(variableParameters: VariableParameters): string
Calculates the variable fee based on pool parameters and market volatility.
import { FeeUtils } from '@cetusprotocol/dlmm-sdk'
const variableFee = FeeUtils.getVariableFee(pool.variable_parameters)
console.log('Variable fee:', variableFee)
console.log('Variable fee percentage:', d(variableFee).div(d(FEE_PRECISION)).toString())
2. calculateCompositionFee(amount: string, total_fee_rate: string): string
Calculates composition fees for liquidity operations.
const compositionFee = FeeUtils.calculateCompositionFee(amount, total_fee_rate)
3. calculateProtocolFee(fee_amount: string, protocol_fee_rate: string): string
Calculates protocol fees based on fee amount and protocol fee rate.
const protocolFee = FeeUtils.calculateProtocolFee(fee_amount, protocol_fee_rate)
4. getProtocolFees(fee_a: string, fee_b: string, protocol_fee_rate: string)
Calculates protocol fees for both tokens in a pair.
const { protocol_fee_a, protocol_fee_b } = FeeUtils.getProtocolFees(fee_a, fee_b, protocol_fee_rate)
console.log('Protocol fee A:', protocol_fee_a)
console.log('Protocol fee B:', protocol_fee_b)
5. getCompositionFees(active_bin: BinAmount, used_bin: BinAmount, variableParameters: VariableParameters)
Calculates composition fees for active and used bins, considering variable parameters.
const { fees_a, fees_b } = FeeUtils.getCompositionFees(active_bin, used_bin, variableParameters)
console.log('Composition fees A:', fees_a)
console.log('Composition fees B:', fees_b)
Last updated