UNPKG

@q-dev/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

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