Class: TransactionManager
Defined in: packages/txm/lib/TransactionManager.ts:139
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): TransactionManagerDefined in: packages/txm/lib/TransactionManager.ts:163
Parameters
_config
Returns
Methods
addHook()
addHook(handler: TxmHookHandler, type: TxmHookType): Promise<void>Defined in: packages/txm/lib/TransactionManager.ts:267
Adds a hook to the hook manager.
Parameters
handler
The handler function to add.
type
The type of hook to add.
Returns
Promise<void>
addTransactionOriginator()
addTransactionOriginator(originator: TransactionOriginator): voidDefined in: packages/txm/lib/TransactionManager.ts:258
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
The originator to add.
Returns
void
createTransaction()
createTransaction(params: TransactionConstructorConfig): TransactionDefined in: packages/txm/lib/TransactionManager.ts:280
Creates a new transaction.
Parameters
params
Returns
A new transaction.
getTransaction()
getTransaction(txIntentId: UUID): Promise<undefined | Transaction>Defined in: packages/txm/lib/TransactionManager.ts:271
Parameters
txIntentId
UUID
Returns
Promise<undefined | Transaction>
start()
start(): Promise<void>Defined in: packages/txm/lib/TransactionManager.ts:288
Returns
Promise<void>
Properties
abiManager
readonly abiManager: ABIManager;Defined in: packages/txm/lib/TransactionManager.ts:147
baseFeeMargin
readonly baseFeeMargin: bigint;Defined in: packages/txm/lib/TransactionManager.ts:157
blockMonitor
readonly blockMonitor: BlockMonitor;Defined in: packages/txm/lib/TransactionManager.ts:141
blockTime
readonly blockTime: bigint;Defined in: packages/txm/lib/TransactionManager.ts:160
chainId
readonly chainId: number;Defined in: packages/txm/lib/TransactionManager.ts:155
collectors
readonly collectors: TransactionOriginator[];Defined in: packages/txm/lib/TransactionManager.ts:140
eip1559
readonly eip1559: EIP1559Parameters;Defined in: packages/txm/lib/TransactionManager.ts:156
finalizedTransactionPurgeTime
readonly finalizedTransactionPurgeTime: number;Defined in: packages/txm/lib/TransactionManager.ts:161
gasEstimator
readonly gasEstimator: GasEstimator;Defined in: packages/txm/lib/TransactionManager.ts:146
gasPriceOracle
readonly gasPriceOracle: GasPriceOracle;Defined in: packages/txm/lib/TransactionManager.ts:145
hookManager
readonly hookManager: HookManager;Defined in: packages/txm/lib/TransactionManager.ts:152
maxPriorityFeePerGas
readonly maxPriorityFeePerGas: bigint;Defined in: packages/txm/lib/TransactionManager.ts:158
nonceManager
readonly nonceManager: NonceManager;Defined in: packages/txm/lib/TransactionManager.ts:144
pendingTxReporter
readonly pendingTxReporter: TxMonitor;Defined in: packages/txm/lib/TransactionManager.ts:148
retryPolicyManager
readonly retryPolicyManager: RetryPolicyManager;Defined in: packages/txm/lib/TransactionManager.ts:153
rpcAllowDebug
readonly rpcAllowDebug: boolean;Defined in: packages/txm/lib/TransactionManager.ts:159
transactionCollector
readonly transactionCollector: TransactionCollector;Defined in: packages/txm/lib/TransactionManager.ts:150
transactionRepository
readonly transactionRepository: TransactionRepository;Defined in: packages/txm/lib/TransactionManager.ts:149
transactionSubmitter
readonly transactionSubmitter: TransactionSubmitter;Defined in: packages/txm/lib/TransactionManager.ts:151
viemClient
readonly viemClient: SafeViemPublicClient;Defined in: packages/txm/lib/TransactionManager.ts:143
viemWallet
readonly viemWallet: SafeViemWalletClient;Defined in: packages/txm/lib/TransactionManager.ts:142