TransactionManager
A component that orchestrates multiple blockchain transactions in sequence.
TransactionManager
The TransactionManager component orchestrates multiple blockchain transactions in sequence, handling the flow between steps and providing status tracking.
Usage
import { TransactionManager } from '@avalabs/builderkit';
// Basic usage
<TransactionManager
chain_id={43114}
transactions={[
{
title: "Approve Token",
description: "Approving token for transfer",
data: approveData
},
{
title: "Transfer Token",
description: "Transferring tokens to recipient",
data: transferData
}
]}
onTransactionSent={(timestamp) => {
console.log('Step completed at:', timestamp);
}}
onTransactionConfirmed={(receipt) => {
console.log('All transactions completed:', receipt);
}}
/>
Props
Prop | Type | Default | Description |
---|---|---|---|
chain_id | number | - | Chain ID for the transactions |
transactions | TransactionProps[] | - | Array of transactions to process |
onTransactionSent | (timestamp: number) => void | - | Called when a step completes |
onTransactionConfirmed | (receipt: any) => void | - | Called when all transactions complete |
className | string | - | Additional CSS classes |
Features
- Sequential transaction execution
- Step-by-step progress tracking
- Automatic state management
- Transaction dependency handling
- Consistent error handling
- Status notifications for each step
Examples
Token Approval and Transfer
<TransactionManager
chain_id={43114}
transactions={[
{
title: "Step 1: Approve",
description: "Approve token spending",
data: approveData
},
{
title: "Step 2: Transfer",
description: "Transfer tokens to recipient",
data: transferData
}
]}
/>
Multi-step Protocol Interaction
<TransactionManager
chain_id={43114}
transactions={[
{
title: "Step 1: Approve USDC",
description: "Approve USDC spending",
data: approveUsdcData
},
{
title: "Step 2: Approve AVAX",
description: "Approve AVAX spending",
data: approveAvaxData
},
{
title: "Step 3: Add Liquidity",
description: "Add liquidity to pool",
data: addLiquidityData
}
]}
/>
Transaction Flow
-
Initialization
- Validates transaction array
- Sets up initial state
- Prepares first transaction
-
Step Execution
- Processes current transaction
- Waits for confirmation
- Updates progress state
-
Step Transition
- Validates completion
- Moves to next transaction
- Updates UI state
-
Completion
- Confirms all steps finished
- Triggers completion callback
- Resets internal state
Is this guide helpful?