mirror of
https://github.com/oceanprotocol/ocean.js.git
synced 2024-11-26 20:39:05 +01:00
fix lint
This commit is contained in:
parent
475855d899
commit
65ab6c2c23
@ -756,18 +756,18 @@ export class Pool {
|
|||||||
defaultERC20ABI.abi as AbiItem[],
|
defaultERC20ABI.abi as AbiItem[],
|
||||||
token
|
token
|
||||||
)
|
)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
decimals = await tokenContract.methods.decimals().call()
|
decimals = await tokenContract.methods.decimals().call()
|
||||||
if (decimals == 0){
|
if (decimals === 0) {
|
||||||
decimals = 18
|
decimals = 18
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.error('ERROR: FAILED TO CALL DECIMALS(), USING 18')
|
this.logger.error('ERROR: FAILED TO CALL DECIMALS(), USING 18')
|
||||||
}
|
}
|
||||||
|
|
||||||
const amountFormatted = new BigNumber(parseInt(amount) * 10 ** decimals)
|
const amountFormatted = new BigNumber(parseInt(amount) * 10 ** decimals)
|
||||||
|
|
||||||
return amountFormatted.toString()
|
return amountFormatted.toString()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -779,13 +779,13 @@ export class Pool {
|
|||||||
)
|
)
|
||||||
try {
|
try {
|
||||||
decimals = await tokenContract.methods.decimals().call()
|
decimals = await tokenContract.methods.decimals().call()
|
||||||
if (decimals == 0){
|
if (decimals === 0) {
|
||||||
decimals = 18
|
decimals = 18
|
||||||
}
|
}
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.error('ERROR: FAILED TO CALL DECIMALS(), USING 18')
|
this.logger.error('ERROR: FAILED TO CALL DECIMALS(), USING 18')
|
||||||
}
|
}
|
||||||
|
|
||||||
const amountFormatted = new BigNumber(parseInt(amount) / 10 ** decimals)
|
const amountFormatted = new BigNumber(parseInt(amount) / 10 ** decimals)
|
||||||
|
|
||||||
return amountFormatted.toString()
|
return amountFormatted.toString()
|
||||||
@ -1520,9 +1520,8 @@ export class Pool {
|
|||||||
const result = await pool.methods
|
const result = await pool.methods
|
||||||
.getAmountOutExactIn(tokenIn, tokenOut, amountInFormatted)
|
.getAmountOutExactIn(tokenIn, tokenOut, amountInFormatted)
|
||||||
.call()
|
.call()
|
||||||
|
|
||||||
amount = await this.unitsToAmount(tokenOut, result)
|
amount = await this.unitsToAmount(tokenOut, result)
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.error('ERROR: Failed to calcOutGivenIn')
|
this.logger.error('ERROR: Failed to calcOutGivenIn')
|
||||||
}
|
}
|
||||||
@ -1538,39 +1537,32 @@ export class Pool {
|
|||||||
let amount = null
|
let amount = null
|
||||||
try {
|
try {
|
||||||
const result = await pool.methods
|
const result = await pool.methods
|
||||||
.calcPoolOutSingleIn(
|
.calcPoolOutSingleIn(tokenIn, await this.amountToUnits(tokenIn, tokenAmountIn))
|
||||||
tokenIn,
|
|
||||||
await this.amountToUnits(tokenIn,tokenAmountIn)
|
|
||||||
)
|
|
||||||
.call()
|
.call()
|
||||||
amount = await this.unitsToAmount(poolAddress,result)
|
amount = await this.unitsToAmount(poolAddress, result)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.error(`ERROR: Failed to calculate PoolOutGivenSingleIn : ${e.message}`)
|
this.logger.error(`ERROR: Failed to calculate PoolOutGivenSingleIn : ${e.message}`)
|
||||||
}
|
}
|
||||||
return amount
|
return amount
|
||||||
}
|
}
|
||||||
|
|
||||||
public async calcSingleInGivenPoolOut(
|
public async calcSingleInGivenPoolOut(
|
||||||
poolAddress: string,
|
poolAddress: string,
|
||||||
tokenIn:string,
|
tokenIn: string,
|
||||||
poolAmountOut: string,
|
poolAmountOut: string
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const pool = new this.web3.eth.Contract(this.poolABI, poolAddress)
|
const pool = new this.web3.eth.Contract(this.poolABI, poolAddress)
|
||||||
let amount = null
|
let amount = null
|
||||||
|
|
||||||
const amountFormatted = await this.amountToUnits(poolAddress,poolAmountOut)
|
const amountFormatted = await this.amountToUnits(poolAddress, poolAmountOut)
|
||||||
|
|
||||||
try {
|
try {
|
||||||
const result = await pool.methods
|
const result = await pool.methods
|
||||||
.calcSingleInPoolOut(
|
.calcSingleInPoolOut(tokenIn, amountFormatted)
|
||||||
tokenIn,
|
|
||||||
amountFormatted
|
|
||||||
)
|
|
||||||
|
|
||||||
.call()
|
.call()
|
||||||
|
|
||||||
amount = await this.unitsToAmount(tokenIn,result)
|
amount = await this.unitsToAmount(tokenIn, result)
|
||||||
|
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.error(`ERROR: Failed to calculate SingleInGivenPoolOut : ${e.message}`)
|
this.logger.error(`ERROR: Failed to calculate SingleInGivenPoolOut : ${e.message}`)
|
||||||
}
|
}
|
||||||
@ -1579,7 +1571,7 @@ export class Pool {
|
|||||||
|
|
||||||
public async calcSingleOutGivenPoolIn(
|
public async calcSingleOutGivenPoolIn(
|
||||||
poolAddress: string,
|
poolAddress: string,
|
||||||
tokenOut:string,
|
tokenOut: string,
|
||||||
poolAmountIn: string
|
poolAmountIn: string
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const pool = new this.web3.eth.Contract(this.poolABI, poolAddress)
|
const pool = new this.web3.eth.Contract(this.poolABI, poolAddress)
|
||||||
@ -1587,11 +1579,11 @@ export class Pool {
|
|||||||
try {
|
try {
|
||||||
const result = await pool.methods
|
const result = await pool.methods
|
||||||
.calcSingleOutPoolIn(
|
.calcSingleOutPoolIn(
|
||||||
tokenOut,
|
tokenOut,
|
||||||
await this.amountToUnits(poolAddress,poolAmountIn)
|
await this.amountToUnits(poolAddress, poolAmountIn)
|
||||||
)
|
)
|
||||||
.call()
|
.call()
|
||||||
amount = await this.unitsToAmount(tokenOut,result)
|
amount = await this.unitsToAmount(tokenOut, result)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.error(`ERROR: Failed to calculate SingleOutGivenPoolIn : ${e.message}`)
|
this.logger.error(`ERROR: Failed to calculate SingleOutGivenPoolIn : ${e.message}`)
|
||||||
}
|
}
|
||||||
@ -1599,21 +1591,18 @@ export class Pool {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public async calcPoolInGivenSingleOut(
|
public async calcPoolInGivenSingleOut(
|
||||||
poolAddress:string,
|
poolAddress: string,
|
||||||
tokenOut:string,
|
tokenOut: string,
|
||||||
tokenAmountOut: string
|
tokenAmountOut: string
|
||||||
): Promise<string> {
|
): Promise<string> {
|
||||||
const pool = new this.web3.eth.Contract(this.poolABI, poolAddress)
|
const pool = new this.web3.eth.Contract(this.poolABI, poolAddress)
|
||||||
let amount = null
|
let amount = null
|
||||||
try {
|
try {
|
||||||
const result = await pool.methods
|
const result = await pool.methods
|
||||||
.calcPoolInSingleOut(
|
.calcPoolInSingleOut(tokenOut, await this.amountToUnits(tokenOut, tokenAmountOut))
|
||||||
tokenOut,
|
|
||||||
await this.amountToUnits(tokenOut,tokenAmountOut)
|
|
||||||
)
|
|
||||||
.call()
|
.call()
|
||||||
|
|
||||||
amount = await this.unitsToAmount(poolAddress,result)
|
amount = await this.unitsToAmount(poolAddress, result)
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
this.logger.error(`ERROR: Failed to calculate PoolInGivenSingleOut : ${e.message}`)
|
this.logger.error(`ERROR: Failed to calculate PoolInGivenSingleOut : ${e.message}`)
|
||||||
}
|
}
|
||||||
|
@ -638,42 +638,73 @@ describe('Pool unit test', () => {
|
|||||||
})
|
})
|
||||||
|
|
||||||
it('#calcPoolOutGivenSingleIn - should get the amount of pool OUT for exact token IN', async () => {
|
it('#calcPoolOutGivenSingleIn - should get the amount of pool OUT for exact token IN', async () => {
|
||||||
// since rate is 1 and the pool is just created
|
// since rate is 1 and the pool is just created
|
||||||
// amount of pool out received for same amount of different token In is equal
|
// amount of pool out received for same amount of different token In is equal
|
||||||
const tokenInAmount = '10' // 10 USDC or 10 DTs
|
const tokenInAmount = '10' // 10 USDC or 10 DTs
|
||||||
expect(await pool.calcPoolOutGivenSingleIn(poolAddress, erc20Token, tokenInAmount)).to.equal(
|
expect(
|
||||||
await pool.calcPoolOutGivenSingleIn(poolAddress, contracts.usdcAddress, tokenInAmount)
|
await pool.calcPoolOutGivenSingleIn(poolAddress, erc20Token, tokenInAmount)
|
||||||
|
).to.equal(
|
||||||
|
await pool.calcPoolOutGivenSingleIn(
|
||||||
|
poolAddress,
|
||||||
|
contracts.usdcAddress,
|
||||||
|
tokenInAmount
|
||||||
|
)
|
||||||
)
|
)
|
||||||
//console.log(await pool.calcPoolOutGivenSingleIn(poolAddress, erc20Token, tokenInAmount))
|
// console.log(await pool.calcPoolOutGivenSingleIn(poolAddress, erc20Token, tokenInAmount))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
it('#calcSingleInGivenPoolOut - should get the amount of token IN for exact pool token OUT', async () => {
|
it('#calcSingleInGivenPoolOut - should get the amount of token IN for exact pool token OUT', async () => {
|
||||||
// since rate is 1 and the pool is just created
|
// since rate is 1 and the pool is just created
|
||||||
// amount of different token In for getting same pool amount out is equal
|
// amount of different token In for getting same pool amount out is equal
|
||||||
const poolAmountOut = '1'
|
const poolAmountOut = '1'
|
||||||
expect(parseInt(await pool.calcSingleInGivenPoolOut(poolAddress, erc20Token, poolAmountOut))).to.be.closeTo(
|
expect(
|
||||||
parseInt(await pool.calcSingleInGivenPoolOut(poolAddress, contracts.usdcAddress, poolAmountOut)),1e9
|
parseInt(
|
||||||
|
await pool.calcSingleInGivenPoolOut(poolAddress, erc20Token, poolAmountOut)
|
||||||
|
)
|
||||||
|
).to.be.closeTo(
|
||||||
|
parseInt(
|
||||||
|
await pool.calcSingleInGivenPoolOut(
|
||||||
|
poolAddress,
|
||||||
|
contracts.usdcAddress,
|
||||||
|
poolAmountOut
|
||||||
|
)
|
||||||
|
),
|
||||||
|
1e9
|
||||||
)
|
)
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('#calcSingleOutGivenPoolIn - should get the amount of token OUT for exact pool token IN', async () => {
|
it('#calcSingleOutGivenPoolIn - should get the amount of token OUT for exact pool token IN', async () => {
|
||||||
// since rate is 1 and the pool is just created
|
// since rate is 1 and the pool is just created
|
||||||
//amount amount of different token Out for rediming the same pool In is equal
|
// amount amount of different token Out for rediming the same pool In is equal
|
||||||
const poolAmountIn = '10'
|
const poolAmountIn = '10'
|
||||||
expect(await pool.calcSingleOutGivenPoolIn(poolAddress, erc20Token, poolAmountIn)).to.equal(
|
expect(
|
||||||
await pool.calcSingleOutGivenPoolIn(poolAddress, contracts.usdcAddress, poolAmountIn)
|
await pool.calcSingleOutGivenPoolIn(poolAddress, erc20Token, poolAmountIn)
|
||||||
|
).to.equal(
|
||||||
|
await pool.calcSingleOutGivenPoolIn(
|
||||||
|
poolAddress,
|
||||||
|
contracts.usdcAddress,
|
||||||
|
poolAmountIn
|
||||||
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
})
|
})
|
||||||
|
|
||||||
it('#calcPoolInGivenSingleOut - should get the amount of pool IN for exact token OUT', async () => {
|
it('#calcPoolInGivenSingleOut - should get the amount of pool IN for exact token OUT', async () => {
|
||||||
// since rate is 1 and the pool is just created
|
// since rate is 1 and the pool is just created
|
||||||
//amount of pool In for getting the same amount of different token Out is equal
|
// amount of pool In for getting the same amount of different token Out is equal
|
||||||
const tokenAmountOut = '10'
|
const tokenAmountOut = '10'
|
||||||
expect(parseInt(await pool.calcPoolInGivenSingleOut(poolAddress, erc20Token,tokenAmountOut))).to.be.closeTo(
|
expect(
|
||||||
parseInt(await pool.calcPoolInGivenSingleOut(poolAddress, contracts.usdcAddress, tokenAmountOut)),1e9
|
parseInt(
|
||||||
|
await pool.calcPoolInGivenSingleOut(poolAddress, erc20Token, tokenAmountOut)
|
||||||
|
)
|
||||||
|
).to.be.closeTo(
|
||||||
|
parseInt(
|
||||||
|
await pool.calcPoolInGivenSingleOut(
|
||||||
|
poolAddress,
|
||||||
|
contracts.usdcAddress,
|
||||||
|
tokenAmountOut
|
||||||
|
)
|
||||||
|
),
|
||||||
|
1e11
|
||||||
)
|
)
|
||||||
})
|
})
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user