@koyofinance/react-query-typechain
Version:
21 lines • 1.83 kB
TypeScript
import type { BigNumber, Contract, ContractReceipt, ContractTransaction, Signer } from 'ethers';
import { UseMutationResult } from 'react-query';
import { TransactionError } from '../../base/TransactionError';
import { TransactionStatus } from '../../base/TransactionStatus';
import type { ContractMethodArgs, ContractMethodName } from '../../types';
export interface UseSmartContractTransactionOptions<TContract extends Contract, TMethodName extends ContractMethodName<TContract>> {
blockConfirmations?: number;
/**
* Sets the gas limit on the transaction, overriding anything that was
* provided when the `mutate` function is called. Useful if you need to buffer
* the default gas estimate by some amount.
*/
setGasLimit?: (gasEstimate: BigNumber) => BigNumber;
onTransactionSubmitted?: (transaction: ContractTransaction, callArgs: ContractMethodArgs<TContract, TMethodName>) => void | Promise<void>;
onTransactionMined?: (transactionReceipt: ContractReceipt, callArgs: ContractMethodArgs<TContract, TMethodName>, transactionStatus: TransactionStatus) => void | Promise<void>;
onError?: (error: TransactionError) => void | Promise<void>;
}
declare type UseSmartContractTransactionResult<TContract extends Contract, TMethodName extends ContractMethodName<TContract>> = UseMutationResult<ContractReceipt | undefined, unknown, ContractMethodArgs<TContract, TMethodName>>;
export declare function useSmartContractTransaction<TContract extends Contract, TMethodName extends ContractMethodName<TContract>>(contract: TContract | undefined, methodName: TMethodName, signer: Signer | undefined, options?: UseSmartContractTransactionOptions<TContract, TMethodName>): UseSmartContractTransactionResult<TContract, TMethodName>;
export {};
//# sourceMappingURL=useSmartContractTransaction.d.ts.map