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:115

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:168


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:159


createTransaction()

createTransaction(params: TransactionConstructorConfig): Transaction

Creates a new transaction.

Parameters

params: TransactionConstructorConfig

TransactionConstructorConfig.

Returns

Transaction

A new transaction.

Defined in

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


getTransaction()

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

Parameters

txIntentId: UUID

Returns

Promise<undefined | Transaction>

Defined in

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


start()

start(): Promise<void>

Returns

Promise<void>

Defined in

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

Properties

abiManager

readonly abiManager: ABIManager;

Defined in

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


baseFeeMargin

readonly baseFeeMargin: bigint;

Defined in

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


blockMonitor

readonly blockMonitor: BlockMonitor;

Defined in

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


blockTime

readonly blockTime: bigint;

Defined in

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


collectors

readonly collectors: TransactionOriginator[];

Defined in

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


eip1559

readonly eip1559: EIP1559Parameters;

Defined in

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


finalizedTransactionPurgeTime

readonly finalizedTransactionPurgeTime: number;

Defined in

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


gasEstimator

readonly gasEstimator: GasEstimator;

Defined in

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


gasPriceOracle

readonly gasPriceOracle: GasPriceOracle;

Defined in

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


hookManager

readonly hookManager: HookManager;

Defined in

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


maxPriorityFeePerGas

readonly maxPriorityFeePerGas: bigint;

Defined in

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


nonceManager

readonly nonceManager: NonceManager;

Defined in

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


pendingTxReporter

readonly pendingTxReporter: TxMonitor;

Defined in

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


rpcAllowDebug

readonly rpcAllowDebug: boolean;

Defined in

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


transactionCollector

readonly transactionCollector: TransactionCollector;

Defined in

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


transactionRepository

readonly transactionRepository: TransactionRepository;

Defined in

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


transactionSubmitter

readonly transactionSubmitter: TransactionSubmitter;

Defined in

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


viemClient

readonly viemClient: SafeViemPublicClient;

Defined in

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


viemWallet

readonly viemWallet: SafeViemWalletClient;

Defined in

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