@ardier16/q-js-sdk
Version:
Typescript Library to interact with Q System Contracts
34 lines (33 loc) • 1.4 kB
TypeScript
import Web3 from 'web3';
import { AbiItem } from 'web3-utils';
import { TransactionReceipt } from 'web3-eth/types';
import { QNonPayableTx, QPayableTx } from '../types';
import { Web3Adapter } from '../utils/web3-adapter';
import { BaseContract, NonPayableTransactionObject, PayableTransactionObject } from '../web3-contracts/types';
/**
* 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
*/
private readonly DEFAULT_GASBUFFER;
/**
* Constructor
* @param web3 web3 instance
* @param abi abi object
* @param address contract address
*/
constructor(web3: Web3, abi: AbiItem[], address: string);
getBalance(convertToQ?: boolean): Promise<string>;
submitTransaction<T>(txObject: NonPayableTransactionObject<T> | PayableTransactionObject<T>, txOptions?: QNonPayableTx | QPayableTx): Promise<TransactionReceipt>;
processTxOptions<T>(txObject: NonPayableTransactionObject<T> | PayableTransactionObject<T>, txOptions: QNonPayableTx | QPayableTx): Promise<void>;
processPayableTxOptions(txOptions: QPayableTx): Promise<void>;
refreshTxDefaultOptions(): Promise<void>;
}