@ardier16/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
59 lines (58 loc) • 2.57 kB
TypeScript
import { ERC20 } from '../web3-contracts/ERC20';
import { BaseContractInstance } from './BaseContractInstance';
import BN from 'bn.js';
import Web3 from 'web3';
import { QNonPayableTx } from '../types';
import { TransactionReceipt } from 'web3-eth';
import { AbiItem } from 'web3-utils';
/**
* ERC20 helper instance to interact with ERC20 contracts.
* See [onchain documentation](@system-contracts-repo/@network/ERC20/) for more details.
*/
export declare class ERC20HelperInstance<T extends ERC20> extends BaseContractInstance<T> {
constructor(web3: Web3, abi: AbiItem[], address: string);
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#name)
*/
name(): Promise<string>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#symbol)
*/
symbol(): Promise<string>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#decimals)
*/
decimals(): Promise<string>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#totalsupply)
*/
totalSupply(): Promise<string>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#balanceof)
*/
balanceOf(userAddress: string): Promise<string>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#transfer)
*/
transfer(receiver: string, amount: number | string | BN, txOptions?: QNonPayableTx): Promise<TransactionReceipt>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#approve)
*/
approve(spender: string, amount: number | string | BN, txOptions?: QNonPayableTx): Promise<TransactionReceipt>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#transferfrom)
*/
transferFrom(owner: string, receiver: string, amount: number | string | BN, txOptions?: QNonPayableTx): Promise<TransactionReceipt>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#allowance)
*/
allowance(tokenOwner: string, spender: string): Promise<string>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#increaseallowance)
*/
increaseAllowance(spender: string, addedValue: number | string | BN, txOptions?: QNonPayableTx): Promise<TransactionReceipt>;
/**
* [External documentation](@system-contracts-repo/@network/ERC20/#decreaseallowance)
*/
decreaseAllowance(spender: string, subtractedValue: number | string | BN, txOptions?: QNonPayableTx): Promise<TransactionReceipt>;
}