import { IWalletTransaction, ChainId, FeeQuote, EstimateSmartAccountDeploymentDto, SmartAccountState } from '@biconomy/core-types'; import { GetFeeQuotesForBatchDto, GetFeeQuotesDto, TransactionDto, TransactionBatchDto, CreateUserPaidTransactionBatchDto, CreateUserPaidTransactionDto } from './Types'; import EvmNetworkManager from '@biconomy/ethers-lib'; import { Estimator } from './Estimator'; import INodeClient from '@biconomy/node-client'; import { IRelayer } from '@biconomy/relayer'; import ContractUtils from './ContractUtils'; import { Utils } from './Utils'; declare class TransactionManager { readonly smartAccountState: SmartAccountState; nodeClient: INodeClient; estimator: Estimator; contractUtils: ContractUtils; relayer: IRelayer; utils: Utils; constructor(smartAccountState: SmartAccountState); initialize(relayer: IRelayer, nodeClient: INodeClient, contractUtils: ContractUtils): Promise; setRelayer(relayer: IRelayer): TransactionManager; getContractUtilInstance(): ContractUtils; getEstimatorInstance(): Estimator; getNodeClient(): INodeClient; /** * Prepares compatible IWalletTransaction object based on Transaction Request * @notice This transaction is without fee refund (gasless) * @param transactionDto * @returns */ createTransaction(transactionDto: TransactionDto): Promise; /** * Prepares compatible IWalletTransaction object based on Transaction Request * @notice This transaction is without fee refund (gasless) * @param transaction * @param chainId * @returns */ createTransactionBatch(transactionBatchDto: TransactionBatchDto): Promise; estimateTransaction(prepareTransactionDto: GetFeeQuotesDto): Promise; /** * * @param getFeeQuotesDto */ getFeeQuotes(getFeeQuotesDto: GetFeeQuotesDto): Promise; estimateTransactionBatch(getFeeQuotesForBatchDto: GetFeeQuotesForBatchDto): Promise; /** * * @param getFeeQuotesForBatchDto */ getFeeQuotesForBatch(getFeeQuotesForBatchDto: GetFeeQuotesForBatchDto): Promise; estimateSmartAccountDeployment(estimateSmartAccountDeploymentDto: EstimateSmartAccountDeploymentDto): Promise; estimateGasUsed(target: string, data: string, chainId: number): Promise; /** * Prepares compatible IWalletTransaction object based on Transaction Request * @notice This transaction is with fee refund (smart account pays using it's own assets accepted by relayers) * @param createUserPaidTransactionDto * @returns */ createUserPaidTransaction(createUserPaidTransactionDto: CreateUserPaidTransactionDto): Promise; /** * Prepares compatible IWalletTransaction object based on Transaction Request * @notice This transaction is with fee refund (smart account pays using it's own assets accepted by relayers) * @param createUserPaidTransactionBatchDto * @returns */ createUserPaidTransactionBatch(createUserPaidTransactionBatchDto: CreateUserPaidTransactionBatchDto): Promise; ethersAdapter(chainId: ChainId): EvmNetworkManager; } export default TransactionManager;