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

37 lines
1.2 KiB
TypeScript
Raw Normal View History

2018-10-02 10:06:26 +02:00
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) {
2018-10-02 10:06:26 +02:00
const token = new OceanToken(config, "OceanToken", web3Helper)
await token.init()
return token
}
public async getTokenBalance(accountAddress: string) {
2018-10-02 10:06:26 +02:00
return this.contract.methods.balanceOf(accountAddress).call()
}
public async getEthBalance(account: string): Promise<number> {
return new Promise<number>((resolve, reject) => {
// Logger.log("getting balance for", account);
this.web3Helper.getWeb3().eth.getBalance(account, "latest", (err: any, balance: number) => {
if (err) {
2018-10-02 10:06:26 +02:00
return reject(err)
}
// Logger.log("balance", balance);
2018-10-02 10:06:26 +02:00
resolve(balance)
})
})
}
public async approve(marketAddress: string, price: number, buyerAddress: string) {
return this.contract.methods.approve(marketAddress, price).send({
from: buyerAddress,
gas: this.config.defaultGas,
2018-10-02 10:06:26 +02:00
})
}
}