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

Merge pull request #218 from oceanprotocol/feature/totalsupply

add ocean.pool.totalSupply()
This commit is contained in:
Matthias Kretschmann 2020-08-20 18:27:03 +02:00 committed by GitHub
commit b50ec110a1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 32 additions and 9 deletions

View File

@ -89,7 +89,7 @@ export class Pool extends PoolFactory {
} }
/** /**
* Get Pool shares * Get user shares of pool tokens
* @param {String} account * @param {String} account
* @param {String} poolAddress * @param {String} poolAddress
* @return {String} * @return {String}
@ -116,16 +116,35 @@ export class Pool extends PoolFactory {
type: 'function' type: 'function'
} }
] as AbiItem[] ] as AbiItem[]
const token = new this.web3.eth.Contract(minABI, poolAddress, {
from: account
})
let result = null let result = null
try { try {
result = this.web3.utils.fromWei( const token = new this.web3.eth.Contract(minABI, poolAddress, {
await token.methods from: account
.balanceOf(account) })
.call({ from: account, gas: this.GASLIMIT_DEFAULT }) const balance = await token.methods
) .balanceOf(account)
.call({ from: account, gas: this.GASLIMIT_DEFAULT })
result = this.web3.utils.fromWei(balance)
} catch (e) {
console.error(e)
}
return result
}
/**
* Get total supply of pool tokens
* @param {String} poolAddress
* @return {String}
*/
async totalSupply(poolAddress: string): Promise<string> {
let result = null
try {
const pool = new this.web3.eth.Contract(this.poolABI, poolAddress)
const totalSupply = await pool.methods.totalSupply().call()
result = this.web3.utils.fromWei(totalSupply)
} catch (e) { } catch (e) {
console.error(e) console.error(e)
} }

View File

@ -133,6 +133,10 @@ describe('Balancer flow', () => {
const currentOceanReserve = await Pool.getOceanReserve(alice, alicePoolAddress) const currentOceanReserve = await Pool.getOceanReserve(alice, alicePoolAddress)
assert(currentOceanReserve > 0) assert(currentOceanReserve > 0)
}) })
it('Get total supply of pool tokens', async () => {
const totalSupply = await Pool.totalSupply(alicePoolAddress)
assert(totalSupply > 0)
})
it('Get amount of Ocean needed to buy 1 dtToken', async () => { it('Get amount of Ocean needed to buy 1 dtToken', async () => {
const requiredOcean = await Pool.getOceanNeeded(alice, alicePoolAddress, '1') const requiredOcean = await Pool.getOceanNeeded(alice, alicePoolAddress, '1')
assert(requiredOcean > 0) assert(requiredOcean > 0)