UNPKG

@ardier16/q-js-sdk

Version:

Typescript Library to interact with Q System Contracts

34 lines (33 loc) 1.4 kB
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>; }