UNPKG

@q-dev/q-ts-gdk-sdk

Version:

Typescript Library to interact with GDK Contracts

39 lines (38 loc) 1.65 kB
import Web3 from "web3"; import { AbiItem } from "web3-utils"; import { QNonPayableTx, QPayableTx, SubmitTransactionResponse } 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 * @example BaseContractInstance.DEFAULT_GASBUFFER = 1.3 */ static DEFAULT_GASBUFFER: number; /** * @field https://web3js.readthedocs.io/en/v1.8.1/web3-eth.html?highlight=handleRevert#handlerevert * @example BaseContractInstance.HANDLE_REVERT = true */ static HANDLE_REVERT: boolean; /** * 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<SubmitTransactionResponse>; processTxOptions<T>(txObject: NonPayableTransactionObject<T> | PayableTransactionObject<T>, txOptions: QNonPayableTx | QPayableTx): Promise<void>; processPayableTxOptions(txOptions: QPayableTx): Promise<void>; refreshTxDefaultOptions(): Promise<void>; }