contract-helper
Version:
A contract helper for tron and eth network
21 lines • 1.66 kB
TypeScript
import { AggregateCall, AggregateContractResponse, ContractCallArgs, MultiCallArgs as MultiCallArgs, SimpleTransactionResult, TransactionOption, SendTransaction, ChainType, ContractSendArgs, EvmTransactionRequest, TronTransactionRequest, SendOptions } from "./types";
export interface Contract {
multicall(calls: AggregateCall[]): AggregateContractResponse;
}
export declare abstract class ContractHelperBase<Chain extends ChainType> {
protected multicallAddress: string;
/**
* @param multicallAddress MulticallV2 contract address
*/
constructor(multicallAddress: string);
abstract call<T>(contractOption: ContractCallArgs): Promise<T>;
abstract multicall<T>(calls: MultiCallArgs[]): Promise<T>;
abstract createTransaction(from: string, args: ContractSendArgs<Chain>, options?: SendOptions): Promise<Chain extends "evm" ? EvmTransactionRequest : TronTransactionRequest>;
abstract sendTransaction(transaction: Chain extends "evm" ? EvmTransactionRequest : TronTransactionRequest, sendTransaction: SendTransaction<Chain>): Promise<string>;
abstract send(from: string, sendFn: SendTransaction<Chain>, args: ContractSendArgs<Chain>, options?: SendOptions): Promise<string>;
abstract fastCheckTransactionResult(txID: string, timeoutMs?: number): Promise<SimpleTransactionResult>;
abstract finalCheckTransactionResult(txID: string, timeoutMs?: number): Promise<SimpleTransactionResult>;
protected getEstimatedFeeRequired(options?: SendOptions): boolean;
checkTransactionResult(txID: string, options?: TransactionOption): Promise<SimpleTransactionResult>;
}
//# sourceMappingURL=contract-helper-base.d.ts.map