UNPKG

@tokenz/tokens-smartcontract-sdk

Version:
137 lines (122 loc) 4.69 kB
const coreLib = require('./Core'); class STOBasic{ constructor(address){ this.STOToken = new coreLib("STOToken" , address); this.setup = this.setup.bind(this); this.setup(); this.balance = this.balance.bind(this); this.totalSupply = this.totalSupply.bind(this); this.allowance = this.allowance().bind(this); this.approve = this.approve.bind(this); this.increaseAllowance = this.increaseAllowance.bind(this); this.decreaseAllowance = this.decreaseAllowance.bind(this); this.transfer = this.transfer.bind(this); this.transferFrom = this.transferFrom.bind(this); } async setup () { return new Promise(async function (resolve, reject) { try { this.macContractAddress = await this.STOFactory.callData("maCAddr", []); this.ruleEngineAddress = await this.STOFactory.callData("ruCAddr", []); this.contractCategory = await this.STOFactory.callData("contractCategory", []); this.contractType = await this.STOFactory.callData("contractType", []); this.kycRegisAddress = await this.STOFactory.callData("kycR", []); this.STOLocale = await this.STOFactory.callData("stoLocalization", []); resolve(0); } catch (err) { window.Sentry.captureException(err); console.log(err); reject(0) } }.bind(this)) } async balance( address ) { return new Promise(async function (resolve, reject) { try { let result = await this.STOToken.callData("balanceOf", [ address ]);; resolve(result); } catch (err) { window.Sentry.captureException(err); reject(0) } }.bind(this)) } async totalSupply() { return new Promise(async function (resolve, reject) { try { let result = await this.STOToken.callData("totalSupply", []); resolve(result); } catch (err) { window.Sentry.captureException(err); reject(0) } }.bind(this)) } async allowance ( owner , spender ) { return new Promise(async function (resolve, reject) { try { let result = await this.STOToken.callData("allowance", [ owner , spender ]); resolve(result); } catch (err) { window.Sentry.captureException(err); reject(0) } }.bind(this)) } async approve( spender , amt ) { return new Promise(async function (resolve, reject) { try { let result = await this.STOToken.sendTx("approve", [ spender , amt ]); resolve(result); } catch (err) { window.Sentry.captureException(err); reject(0) } }.bind(this)) } async increaseAllowance( spender , amt ) { return new Promise(async function (resolve, reject) { try { let result = await this.STOToken.sendTx("increaseAllowance", [ spender , amt ]); resolve(result); } catch (err) { window.Sentry.captureException(err); reject(0) } }.bind(this)) } async decreaseAllowance( spender , amt ) { return new Promise(async function (resolve, reject) { try { let result = await this.STOToken.sendTx("decreaseAllowance", [ spender , amt ]); resolve(result); } catch (err) { window.Sentry.captureException(err); reject(0) } }.bind(this)) } async transfer( address , amt ) { return new Promise(async function (resolve, reject) { try { let result = await this.STOToken.sendTx("transfer", [ address , amt ]); resolve(result); } catch (err) { window.Sentry.captureException(err); reject(0) } }.bind(this)) } async transferFrom( sender , receiver , amt ) { return new Promise(async function (resolve, reject) { try { let result = await this.STOToken.sendTx("transferFrom", [ sender , receiver , amt ]); resolve(result); } catch (err) { window.Sentry.captureException(err); reject(0) } }.bind(this)) } } module.exports = STOBasic;