mirror of
https://github.com/oceanprotocol-archive/squid-js.git
synced 2024-02-02 15:31:51 +01:00
29 lines
1021 B
TypeScript
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())
|
|
}
|
|
}
|