1
0
mirror of https://github.com/oceanprotocol-archive/squid-js.git synced 2024-02-02 15:31:51 +01:00
squid-js/src/keeper/Token.ts
2018-10-09 10:55:53 +02:00

29 lines
1021 B
TypeScript

import BigNumber from "bignumber.js"
import {Receipt} from "web3-utils"
import Config from "../models/Config"
import ContractBaseWrapper from "./ContractWrapperBase"
import Web3Helper from "./Web3Helper"
export default class OceanToken extends ContractBaseWrapper {
public static async getInstance(config: Config, web3Helper: Web3Helper): Promise<OceanToken> {
const token: OceanToken = new OceanToken(config, "OceanToken", web3Helper)
await token.init()
return token
}
public async approve(marketAddress: string, price: number, buyerAddress: string): Promise<Receipt> {
return this.contract.methods.approve(marketAddress, price)
.send({
from: buyerAddress,
gas: this.config.defaultGas,
})
}
public async balanceOf(address: string): Promise<number> {
return this.contract.methods.balanceOf(address)
.call()
.then((balance: string) => new BigNumber(balance).toNumber())
}
}