mirror of
https://github.com/oceanprotocol/ocean.js.git
synced 2024-11-26 20:39:05 +01:00
Remove redundant get in calcBaseInGivenOutDT
(#1283)
* fix * fix unitsToAmount * fix
This commit is contained in:
parent
9782af59a2
commit
3845335251
@ -539,41 +539,29 @@ export class FixedRateExchange {
|
||||
exchangeId: string,
|
||||
datatokenAmount: string
|
||||
): Promise<PriceAndFees> {
|
||||
const fixedRateExchange = await this.getExchange(exchangeId)
|
||||
const result = await this.contract.methods
|
||||
.calcBaseInGivenOutDT(
|
||||
exchangeId,
|
||||
await this.amountToUnits(
|
||||
(
|
||||
await this.getExchange(exchangeId)
|
||||
).datatoken,
|
||||
datatokenAmount
|
||||
)
|
||||
await this.amountToUnits(fixedRateExchange.datatoken, datatokenAmount)
|
||||
)
|
||||
.call()
|
||||
|
||||
const priceAndFees = {
|
||||
baseTokenAmount: await this.unitsToAmount(
|
||||
(
|
||||
await this.getExchange(exchangeId)
|
||||
).baseToken,
|
||||
fixedRateExchange.baseToken,
|
||||
result.baseTokenAmount
|
||||
),
|
||||
baseTokenAmountBeforeFee: await this.unitsToAmount(
|
||||
(
|
||||
await this.getExchange(exchangeId)
|
||||
).baseToken,
|
||||
fixedRateExchange.baseToken,
|
||||
result.baseTokenAmountBeforeFee
|
||||
),
|
||||
marketFeeAmount: await this.unitsToAmount(
|
||||
(
|
||||
await this.getExchange(exchangeId)
|
||||
).baseToken,
|
||||
fixedRateExchange.baseToken,
|
||||
result.marketFeeAmount
|
||||
),
|
||||
oceanFeeAmount: await this.unitsToAmount(
|
||||
(
|
||||
await this.getExchange(exchangeId)
|
||||
).baseToken,
|
||||
fixedRateExchange.baseToken,
|
||||
result.oceanFeeAmount
|
||||
)
|
||||
} as PriceAndFees
|
||||
|
@ -121,7 +121,11 @@ export async function unitsToAmount(
|
||||
if (decimals === '0') {
|
||||
decimals = 18
|
||||
}
|
||||
const amountFormatted = new BigNumber(parseInt(amount) / 10 ** decimals)
|
||||
|
||||
const amountFormatted = new BigNumber(amount).div(
|
||||
new BigNumber(10).exponentiatedBy(decimals)
|
||||
)
|
||||
|
||||
BigNumber.config({ EXPONENTIAL_AT: 50 })
|
||||
return amountFormatted.toString()
|
||||
} catch (e) {
|
||||
@ -140,8 +144,12 @@ export async function amountToUnits(
|
||||
if (decimals === '0') {
|
||||
decimals = 18
|
||||
}
|
||||
const amountFormatted = new BigNumber(parseInt(amount) * 10 ** decimals)
|
||||
BigNumber.config({ EXPONENTIAL_AT: 50 })
|
||||
|
||||
const amountFormatted = new BigNumber(amount).times(
|
||||
new BigNumber(10).exponentiatedBy(decimals)
|
||||
)
|
||||
|
||||
return amountFormatted.toString()
|
||||
} catch (e) {
|
||||
LoggerInstance.error(`ERROR: FAILED TO CALL DECIMALS(), USING 18', ${e.message}`)
|
||||
|
Loading…
x
Reference in New Issue
Block a user