@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
38 lines (37 loc) • 1.59 kB
TypeScript
import { FnArgsWithoutOverrides, QNonPayableTx, QPayableTx, TxOptions } from "../types";
import { BaseContract, ContractInterface, ContractTransaction, Signer, Event, ContractReceipt, providers } from "ethers";
/**
* Base contract instance for all instances
*/
export declare class BaseContractInstance<T extends BaseContract> {
readonly address: string;
/**
* @field contract interface
*/
instance: T;
/**
* @field default to estimate - 1.3 would mean 30% above estimate
* @example BaseContractInstance.DEFAULT_GASBUFFER = 1.3
*/
static DEFAULT_GASBUFFER: number;
static MAX_GAS_BLOCK_LIMIT: number;
/**
* Constructor
* @param signer ethers signer
* @param abi abi object
* @param address contract address
*/
constructor(signer: Signer | providers.Provider, abi: ContractInterface, address: string);
connectSigner(signer: Signer): Promise<void>;
submitTransaction<K extends keyof T, U extends BaseContract = T>(method: K, args: FnArgsWithoutOverrides<U[K]>, txOptions?: TxOptions): Promise<ContractTransaction>;
getPayableTxOptions(txOptions: QPayableTx): QNonPayableTx | QPayableTx;
/**
* Parses transaction events from the logs in a transaction receipt
* @param {ContractReceipt} receipt Transaction receipt containing the events in the logs
* @returns {{[eventName: string]: Event}}
*/
getTransactionEvents(receipt: ContractReceipt): {
[eventName: string]: Event;
};
refreshTxDefaultOptions(options: QNonPayableTx | QPayableTx): Promise<void>;
}