@ardier16/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
81 lines • 3.11 kB
JavaScript
;
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