FeeHelper
Author: Trader Joe
This library contains functions to calculate fees
Functions
verifyFee
Modifier to check that the fee is not too large
modifier verifyFee(uint128 fee);
Parameters
fee
uint128
The fee
verifyProtocolShare
Modifier to check that the protocol share is not too large
modifier verifyProtocolShare(uint128 protocolShare);
Parameters
protocolShare
uint128
The protocol share
getFeeAmountFrom
Calculates the fee amount from the amount with fees, rounding up
function getFeeAmountFrom(uint128 amountWithFees, uint128 totalFee)
internal
pure
verifyFee(totalFee)
returns (uint128);
Parameters
amountWithFees
uint128
The amount with fees
totalFee
uint128
The total fee
Returns
<none>
uint128
feeAmount The fee amount
getFeeAmount
Calculates the fee amount that will be charged, rounding up
function getFeeAmount(uint128 amount, uint128 totalFee) internal pure verifyFee(totalFee) returns (uint128);
Parameters
amount
uint128
The amount
totalFee
uint128
The total fee
Returns
<none>
uint128
feeAmount The fee amount
getCompositionFee
Calculates the composition fee amount from the amount with fees, rounding down
function getCompositionFee(uint128 amountWithFees, uint128 totalFee)
internal
pure
verifyFee(totalFee)
returns (uint128);
Parameters
amountWithFees
uint128
The amount with fees
totalFee
uint128
The total fee
Returns
<none>
uint128
The amount with fees
getProtocolFeeAmount
Calculates the protocol fee amount from the fee amount and the protocol share, rounding down
function getProtocolFeeAmount(uint128 feeAmount, uint128 protocolShare)
internal
pure
verifyProtocolShare(protocolShare)
returns (uint128);
Parameters
feeAmount
uint128
The fee amount
protocolShare
uint128
The protocol share
Returns
<none>
uint128
protocolFeeAmount The protocol fee amount
_verifyFee
Internal function to check that the fee is not too large
function _verifyFee(uint128 fee) private pure;
Parameters
fee
uint128
The fee
Errors
FeeHelper__FeeTooLarge
error FeeHelper__FeeTooLarge();
FeeHelper__ProtocolShareTooLarge
error FeeHelper__ProtocolShareTooLarge();
Last updated