1
0
mirror of https://github.com/oceanprotocol/ocean.js.git synced 2024-11-26 20:39:05 +01:00

fix token address for decimal calculation in unitsToAmount()

This commit is contained in:
Miquel A. Cabot 2022-05-24 17:26:29 +02:00
parent c29bf475c4
commit 82d9e4cf5f

View File

@ -1,7 +1,7 @@
import { assert, expect } from 'chai' import { assert, expect } from 'chai'
import { AbiItem } from 'web3-utils/types' import { AbiItem } from 'web3-utils/types'
import { Contract } from 'web3-eth-contract' import { Contract } from 'web3-eth-contract'
import BN from 'bn.js' import BigNumber from 'bignumber.js'
import ERC20Template from '@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json' import ERC20Template from '@oceanprotocol/contracts/artifacts/contracts/templates/ERC20Template.sol/ERC20Template.json'
import { deployContracts, Addresses } from '../../../TestContractHandler' import { deployContracts, Addresses } from '../../../TestContractHandler'
import { web3 } from '../../../config' import { web3 } from '../../../config'
@ -210,7 +210,9 @@ describe('Fixed Rate unit test', () => {
// user1 has no dts but has 100 DAI // user1 has no dts but has 100 DAI
expect(await balance(web3, dtAddress, user1)).to.equal('0') expect(await balance(web3, dtAddress, user1)).to.equal('0')
const daiBalanceBefore = new BN(await balance(web3, contracts.daiAddress, user1)) const daiBalanceBefore = new BigNumber(
await balance(web3, contracts.daiAddress, user1)
)
// user1 buys 10 DT // user1 buys 10 DT
const tx = await fixedRate.buyDT(user1, exchangeId, '10', '11') const tx = await fixedRate.buyDT(user1, exchangeId, '10', '11')
@ -224,12 +226,13 @@ describe('Fixed Rate unit test', () => {
expect(await balance(web3, dtAddress, user1)).to.equal( expect(await balance(web3, dtAddress, user1)).to.equal(
await unitsToAmount(web3, dtAddress, args.datatokenSwappedAmount) await unitsToAmount(web3, dtAddress, args.datatokenSwappedAmount)
) )
console.log(daiBalanceBefore)
console.log(await unitsToAmount(web3, dtAddress, args.baseTokenSwappedAmount))
console.log(await balance(web3, contracts.daiAddress, user1))
expect( expect(
daiBalanceBefore daiBalanceBefore
.sub(new BN(await unitsToAmount(web3, dtAddress, args.baseTokenSwappedAmount))) .minus(
new BigNumber(
await unitsToAmount(web3, contracts.daiAddress, args.baseTokenSwappedAmount)
)
)
.toString() .toString()
).to.equal(await balance(web3, contracts.daiAddress, user1)) ).to.equal(await balance(web3, contracts.daiAddress, user1))
// baseToken stays in the contract // baseToken stays in the contract
@ -240,7 +243,9 @@ describe('Fixed Rate unit test', () => {
it('#sellDT - user1 should sell some dt', async () => { it('#sellDT - user1 should sell some dt', async () => {
await approve(web3, user1, dtAddress, contracts.fixedRateAddress, '100') await approve(web3, user1, dtAddress, contracts.fixedRateAddress, '100')
const daiBalanceBefore = new BN(await balance(web3, contracts.daiAddress, user1)) const daiBalanceBefore = new BigNumber(
await balance(web3, contracts.daiAddress, user1)
)
const tx = await fixedRate.sellDT(user1, exchangeId, '10', '9') const tx = await fixedRate.sellDT(user1, exchangeId, '10', '9')
// console.log(tx.events.Swapped.returnValues) // console.log(tx.events.Swapped.returnValues)
assert(tx.events.Swapped != null) assert(tx.events.Swapped != null)
@ -252,7 +257,11 @@ describe('Fixed Rate unit test', () => {
expect(await balance(web3, dtAddress, user1)).to.equal('0') expect(await balance(web3, dtAddress, user1)).to.equal('0')
expect( expect(
daiBalanceBefore daiBalanceBefore
.add(new BN(await unitsToAmount(web3, dtAddress, args.baseTokenSwappedAmount))) .plus(
new BigNumber(
await unitsToAmount(web3, contracts.daiAddress, args.baseTokenSwappedAmount)
)
)
.toString() .toString()
).to.equal(await balance(web3, contracts.daiAddress, user1)) ).to.equal(await balance(web3, contracts.daiAddress, user1))
// DTs stay in the contract // DTs stay in the contract
@ -340,7 +349,7 @@ describe('Fixed Rate unit test', () => {
expect(result.oceanFeeAvailable).to.equal('0.042') // formatted for baseToken decimals expect(result.oceanFeeAvailable).to.equal('0.042') // formatted for baseToken decimals
expect(result.marketFeeCollector).to.equal(user2) expect(result.marketFeeCollector).to.equal(user2)
const daiBalanceBeforeCollect = new BN( const daiBalanceBeforeCollect = new BigNumber(
await balance(web3, contracts.daiAddress, user2) await balance(web3, contracts.daiAddress, user2)
) )
@ -352,7 +361,7 @@ describe('Fixed Rate unit test', () => {
expect(result.oceanFeeAvailable).to.equal('0.042') expect(result.oceanFeeAvailable).to.equal('0.042')
// user2 is the marketFeeCollector // user2 is the marketFeeCollector
expect(await balance(web3, contracts.daiAddress, user2)).to.equal( expect(await balance(web3, contracts.daiAddress, user2)).to.equal(
daiBalanceBeforeCollect.add(new BN('0.021')).toString() daiBalanceBeforeCollect.plus(new BigNumber('0.021')).toString()
) )
}) })
@ -512,7 +521,9 @@ describe('Fixed Rate unit test', () => {
// user1 has no dts but has 100 USDC // user1 has no dts but has 100 USDC
expect(await balance(web3, dtAddress, user1)).to.equal('0') expect(await balance(web3, dtAddress, user1)).to.equal('0')
const usdcBalanceBefore = new BN(await balance(web3, contracts.usdcAddress, user1)) const usdcBalanceBefore = new BigNumber(
await balance(web3, contracts.usdcAddress, user1)
)
// user1 buys 10 DT // user1 buys 10 DT
const tx = await fixedRate.buyDT(user1, exchangeId, '10', '11') const tx = await fixedRate.buyDT(user1, exchangeId, '10', '11')
@ -528,7 +539,15 @@ describe('Fixed Rate unit test', () => {
) )
expect( expect(
usdcBalanceBefore usdcBalanceBefore
.sub(new BN(await unitsToAmount(web3, dtAddress, args.baseTokenSwappedAmount))) .minus(
new BigNumber(
await unitsToAmount(
web3,
contracts.usdcAddress,
args.baseTokenSwappedAmount
)
)
)
.toString() .toString()
).to.equal(await balance(web3, contracts.usdcAddress, user1)) ).to.equal(await balance(web3, contracts.usdcAddress, user1))
// baseToken stays in the contract // baseToken stays in the contract
@ -539,7 +558,9 @@ describe('Fixed Rate unit test', () => {
it('#sellDT - user1 should sell some dt', async () => { it('#sellDT - user1 should sell some dt', async () => {
await approve(web3, user1, dtAddress, contracts.fixedRateAddress, '10') await approve(web3, user1, dtAddress, contracts.fixedRateAddress, '10')
const usdcBalanceBefore = new BN(await balance(web3, contracts.usdcAddress, user1)) const usdcBalanceBefore = new BigNumber(
await balance(web3, contracts.usdcAddress, user1)
)
const tx = await fixedRate.sellDT(user1, exchangeId, '10', '9') const tx = await fixedRate.sellDT(user1, exchangeId, '10', '9')
// console.log(tx.events.Swapped.returnValues) // console.log(tx.events.Swapped.returnValues)
assert(tx.events.Swapped != null) assert(tx.events.Swapped != null)
@ -551,7 +572,15 @@ describe('Fixed Rate unit test', () => {
expect(await balance(web3, dtAddress, user1)).to.equal('0') expect(await balance(web3, dtAddress, user1)).to.equal('0')
expect( expect(
usdcBalanceBefore usdcBalanceBefore
.add(new BN(await unitsToAmount(web3, dtAddress, args.baseTokenSwappedAmount))) .plus(
new BigNumber(
await unitsToAmount(
web3,
contracts.usdcAddress,
args.baseTokenSwappedAmount
)
)
)
.toString() .toString()
).to.equal(await balance(web3, contracts.usdcAddress, user1)) ).to.equal(await balance(web3, contracts.usdcAddress, user1))
// DTs stay in the contract // DTs stay in the contract