Skip to content

Class: TransactionManager

The TransactionManager is the core module of the transaction manager. To use the transaction manager, you must instantiate this class. Before using the transaction manager, call the TransactionManager.start method to start it. Once started, use the TransactionManager.addTransactionOriginator method to add a transaction originator and begin sending transactions to the blockchain.

Constructors

new TransactionManager()

new TransactionManager(_config: TransactionManagerConfig): TransactionManager

Parameters

_config: TransactionManagerConfig

Returns

TransactionManager

Defined in

packages/transaction-manager/lib/TransactionManager.ts:118

Methods

addHook()

addHook(handler: TxmHookHandler, type: TxmHookType): Promise<void>

Adds a hook to the hook manager.

Parameters

handler: TxmHookHandler

The handler function to add.

type: TxmHookType

The type of hook to add.

Returns

Promise<void>

Defined in

packages/transaction-manager/lib/TransactionManager.ts:172


addTransactionOriginator()

addTransactionOriginator(originator: TransactionOriginator): void

Adds an originator to the transaction manager. An originator is a function that returns a list of transactions to be sent in the next block. It is important that the originator function is as fast as possible to avoid delays when sending transactions to the blockchain

Parameters

originator: TransactionOriginator

The originator to add.

Returns

void

Defined in

packages/transaction-manager/lib/TransactionManager.ts:163


getTransaction()

getTransaction(txIntentId: UUID): Promise<undefined | Transaction>

Parameters

txIntentId: UUID

Returns

Promise<undefined | Transaction>

Defined in

packages/transaction-manager/lib/TransactionManager.ts:176


start()

start(): Promise<void>

Returns

Promise<void>

Defined in

packages/transaction-manager/lib/TransactionManager.ts:180

Properties

abiManager

readonly abiManager: ABIManager;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:103


baseFeeMargin

readonly baseFeeMargin: bigint;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:112


blockMonitor

readonly blockMonitor: BlockMonitor;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:97


blockTime

readonly blockTime: bigint;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:115


collectors

readonly collectors: TransactionOriginator[];

Defined in

packages/transaction-manager/lib/TransactionManager.ts:96


eip1559

readonly eip1559: EIP1559Parameters;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:111


finalizedTransactionPurgeTime

readonly finalizedTransactionPurgeTime: number;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:116


gasEstimator

readonly gasEstimator: GasEstimator;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:102


gasPriceOracle

readonly gasPriceOracle: GasPriceOracle;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:101


hookManager

readonly hookManager: HookManager;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:108


id

readonly id: string;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:110


maxPriorityFeePerGas

readonly maxPriorityFeePerGas: bigint;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:113


nonceManager

readonly nonceManager: NonceManager;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:100


pendingTxReporter

readonly pendingTxReporter: TxMonitor;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:104


rpcAllowDebug

readonly rpcAllowDebug: boolean;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:114


transactionCollector

readonly transactionCollector: TransactionCollector;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:106


transactionRepository

readonly transactionRepository: TransactionRepository;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:105


transactionSubmitter

readonly transactionSubmitter: TransactionSubmitter;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:107


viemClient

readonly viemClient: SafeViemPublicClient;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:99


viemWallet

readonly viemWallet: SafeViemWalletClient;

Defined in

packages/transaction-manager/lib/TransactionManager.ts:98