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

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


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


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


getTransaction()

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

Parameters

txIntentId: UUID

Returns

Promise<undefined | Transaction>

Defined in

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


start()

start(): Promise<void>

Returns

Promise<void>

Defined in

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

Properties

abiManager

readonly abiManager: ABIManager;

Defined in

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


baseFeeMargin

readonly baseFeeMargin: bigint;

Defined in

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


blockMonitor

readonly blockMonitor: BlockMonitor;

Defined in

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


blockTime

readonly blockTime: bigint;

Defined in

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


chainId

readonly chainId: number;

Defined in

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


collectors

readonly collectors: TransactionOriginator[];

Defined in

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


eip1559

readonly eip1559: EIP1559Parameters;

Defined in

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


finalizedTransactionPurgeTime

readonly finalizedTransactionPurgeTime: number;

Defined in

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


gasEstimator

readonly gasEstimator: GasEstimator;

Defined in

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


gasPriceOracle

readonly gasPriceOracle: GasPriceOracle;

Defined in

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


hookManager

readonly hookManager: HookManager;

Defined in

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


maxPriorityFeePerGas

readonly maxPriorityFeePerGas: bigint;

Defined in

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


nonceManager

readonly nonceManager: NonceManager;

Defined in

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


pendingTxReporter

readonly pendingTxReporter: TxMonitor;

Defined in

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


rpcAllowDebug

readonly rpcAllowDebug: boolean;

Defined in

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


transactionCollector

readonly transactionCollector: TransactionCollector;

Defined in

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


transactionRepository

readonly transactionRepository: TransactionRepository;

Defined in

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


transactionSubmitter

readonly transactionSubmitter: TransactionSubmitter;

Defined in

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


viemClient

readonly viemClient: SafeViemPublicClient;

Defined in

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


viemWallet

readonly viemWallet: SafeViemWalletClient;

Defined in

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