@q-dev/q-ts-gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
39 lines (38 loc) • 1.65 kB
TypeScript
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>;
}