Calculate fee

This commit is contained in:
Aleksandr Kraiz
2023-08-01 21:27:17 +04:00
parent 7eebb2bb9e
commit f9605e3d1a
9 changed files with 212 additions and 50 deletions

View File

@@ -1,17 +1,21 @@
import { BigNumber } from 'bignumber.js';
import convertPrice from './convertPrice.js';
export default function calculateServiceFeeInFeeAsset(
amount: BigNumber.Value,
feeAssetPrice: BigNumber.Value,
baseAssetPrice: BigNumber.Value,
baseAssetAddress: string,
feeAssetAddress: string,
feePercent: BigNumber.Value,
feeAssetPriceInQuoteAsset: BigNumber.Value,
prices: Partial<Record<string, string>>
) {
const result = new BigNumber(amount)
.multipliedBy(new BigNumber(feePercent).div(100))
.multipliedBy(baseAssetPrice)
.div(new BigNumber(feeAssetPriceInQuoteAsset).multipliedBy(feeAssetPrice))
.toString();
const feeAmount = new BigNumber(amount).multipliedBy(new BigNumber(feePercent).div(100));
return result;
const feeAssetAmount = convertPrice(
feeAmount,
baseAssetAddress,
feeAssetAddress,
prices
);
return feeAssetAmount;
}