@q-dev/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
30 lines (29 loc) • 1.24 kB
TypeScript
import { FnArgsWithoutOverrides, QNonPayableTx, QPayableTx, SignerOrProvider } from '../types';
import { BaseContract, ContractInterface, ContractTransaction, CallOverrides } from 'ethers';
import { Web3Adapter } from '../utils/web3-adapter';
/**
* Base contract instance for all instances
*/
export declare class BaseContractInstance<T extends BaseContract> {
readonly address: string;
/**
* @field contract interface
*/
instance: T;
protected adapter: Web3Adapter;
/**
* @field default to estimate - 1.3 would mean 30% above estimate
* @example BaseContractInstance.DEFAULT_GASBUFFER = 1.3
*/
static DEFAULT_GASBUFFER: number;
/**
* Constructor
* @param signerOrProvider signer or provider
* @param abi abi object
* @param address contract address
*/
constructor(signerOrProvider: SignerOrProvider, abi: ContractInterface, address: string);
getBalance(convertToQ?: boolean): Promise<string>;
submitTransaction<K extends keyof T, U extends BaseContract = T>(method: K, args: FnArgsWithoutOverrides<U[K]>, txOptions?: QNonPayableTx | QPayableTx): Promise<ContractTransaction>;
populateTxOptions(txOptions: QPayableTx): Promise<CallOverrides>;
}