UNPKG

@ardier16/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

81 lines 3.11 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ERC20HelperInstance = void 0; const BaseContractInstance_1 = require("./BaseContractInstance"); /** * ERC20 helper instance to interact with ERC20 contracts. * See [onchain documentation](@system-contracts-repo/@network/ERC20/) for more details. */ class ERC20HelperInstance extends BaseContractInstance_1.BaseContractInstance { constructor(web3, abi, address) { super(web3, abi, address); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#name) */ async name() { return this.instance.methods.name().call(); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#symbol) */ async symbol() { return this.instance.methods.symbol().call(); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#decimals) */ async decimals() { return this.instance.methods.decimals().call(); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#totalsupply) */ async totalSupply() { return this.instance.methods.totalSupply().call(); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#balanceof) */ async balanceOf(userAddress) { return this.instance.methods.balanceOf(userAddress).call(); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#transfer) */ async transfer(receiver, amount, txOptions) { return this.submitTransaction(this.instance.methods.transfer(receiver, amount), txOptions); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#approve) */ async approve(spender, amount, txOptions) { return this.submitTransaction(this.instance.methods.approve(spender, amount), txOptions); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#transferfrom) */ async transferFrom(owner, receiver, amount, txOptions) { return this.submitTransaction(this.instance.methods.transferFrom(owner, receiver, amount), txOptions); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#allowance) */ async allowance(tokenOwner, spender) { return this.instance.methods.allowance(tokenOwner, spender).call(); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#increaseallowance) */ async increaseAllowance(spender, addedValue, txOptions) { return this.submitTransaction(this.instance.methods.increaseAllowance(spender, addedValue), txOptions); } /** * [External documentation](@system-contracts-repo/@network/ERC20/#decreaseallowance) */ async decreaseAllowance(spender, subtractedValue, txOptions) { return this.submitTransaction(this.instance.methods.decreaseAllowance(spender, subtractedValue), txOptions); } } exports.ERC20HelperInstance = ERC20HelperInstance; //# sourceMappingURL=ERC20HelperInstance.js.map