Skip to content

Class: TransactionManager

Defined in: packages/txm/lib/TransactionManager.ts:175

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

Constructor

new TransactionManager(_config: TransactionManagerConfig): TransactionManager;

Defined in: packages/txm/lib/TransactionManager.ts:202

Parameters

_config

TransactionManagerConfig

Returns

TransactionManager

Methods

addHook()

addHook<T>(type: T, handler: TxmHookHandler<T>): () => void;

Defined in: packages/txm/lib/TransactionManager.ts:327

Adds a hook to the hook manager.

Type Parameters

T

T extends TxmHookType

Parameters

type

T

The type of hook to add.

handler

TxmHookHandler<T>

The handler function to add.

Returns

(): void;
Returns

void


addTransactionOriginator()

addTransactionOriginator(originator: TransactionOriginator): void;

Defined in: packages/txm/lib/TransactionManager.ts:318

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


createTransaction()

createTransaction(params: TransactionConstructorConfig): Transaction;

Defined in: packages/txm/lib/TransactionManager.ts:340

Creates a new transaction.

Parameters

params

TransactionConstructorConfig

TransactionConstructorConfig.

Returns

Transaction

A new transaction.


getTransaction()

getTransaction(txIntentId: UUID): Promise<Result<undefined | Transaction, Error>>;

Defined in: packages/txm/lib/TransactionManager.ts:331

Parameters

txIntentId

UUID

Returns

Promise<Result<undefined | Transaction, Error>>


start()

start(): Promise<void>;

Defined in: packages/txm/lib/TransactionManager.ts:348

Returns

Promise<void>

Properties

abiManager

readonly abiManager: ABIManager;

Defined in: packages/txm/lib/TransactionManager.ts:183


baseFeeMargin

readonly baseFeeMargin: bigint;

Defined in: packages/txm/lib/TransactionManager.ts:193


blockInactivityTimeout

readonly blockInactivityTimeout: number;

Defined in: packages/txm/lib/TransactionManager.ts:200


blockMonitor

readonly blockMonitor: BlockMonitor;

Defined in: packages/txm/lib/TransactionManager.ts:177


blockTime

readonly blockTime: bigint;

Defined in: packages/txm/lib/TransactionManager.ts:196


chainId

readonly chainId: number;

Defined in: packages/txm/lib/TransactionManager.ts:191


collectors

readonly collectors: TransactionOriginator[];

Defined in: packages/txm/lib/TransactionManager.ts:176


eip1559

readonly eip1559: EIP1559Parameters;

Defined in: packages/txm/lib/TransactionManager.ts:192


finalizedTransactionPurgeTime

readonly finalizedTransactionPurgeTime: number;

Defined in: packages/txm/lib/TransactionManager.ts:197


gasEstimator

readonly gasEstimator: GasEstimator;

Defined in: packages/txm/lib/TransactionManager.ts:182


gasPriceOracle

readonly gasPriceOracle: GasPriceOracle;

Defined in: packages/txm/lib/TransactionManager.ts:181


hookManager

readonly hookManager: HookManager;

Defined in: packages/txm/lib/TransactionManager.ts:188


maxPriorityFeePerGas

readonly maxPriorityFeePerGas: bigint;

Defined in: packages/txm/lib/TransactionManager.ts:194


nonceManager

readonly nonceManager: NonceManager;

Defined in: packages/txm/lib/TransactionManager.ts:180


pendingTxReporter

readonly pendingTxReporter: TxMonitor;

Defined in: packages/txm/lib/TransactionManager.ts:184


pollingInterval

readonly pollingInterval: number;

Defined in: packages/txm/lib/TransactionManager.ts:198


retryPolicyManager

readonly retryPolicyManager: RetryPolicyManager;

Defined in: packages/txm/lib/TransactionManager.ts:189


rpcAllowDebug

readonly rpcAllowDebug: boolean;

Defined in: packages/txm/lib/TransactionManager.ts:195


transactionCollector

readonly transactionCollector: TransactionCollector;

Defined in: packages/txm/lib/TransactionManager.ts:186


transactionRepository

readonly transactionRepository: TransactionRepository;

Defined in: packages/txm/lib/TransactionManager.ts:185


transactionSubmitter

readonly transactionSubmitter: TransactionSubmitter;

Defined in: packages/txm/lib/TransactionManager.ts:187


transportProtocol

readonly transportProtocol: "http" | "websocket";

Defined in: packages/txm/lib/TransactionManager.ts:199


viemClient

readonly viemClient: SafeViemPublicClient;

Defined in: packages/txm/lib/TransactionManager.ts:179


viemWallet

readonly viemWallet: SafeViemWalletClient;

Defined in: packages/txm/lib/TransactionManager.ts:178