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