Builds a versioned transaction with automatic compute budget optimization
This method simplifies transaction creation by:
The method performs two key optimizations:
Transaction building parameters
Optional
computeUnitLimitMultiple?: numberMultiplier for compute limit (e.g., 1.3 = 30% buffer)
Optional
computeUnitPrice?: numberPriority fee in microlamports per compute unit
Solana RPC connection
Instructions to include
Optional
lookupTables?: AddressLookupTableAccount[]Address lookup tables to use
Optional
payer?: PublicKeyTransaction fee payer (defaults to first signer)
Optional
signers?: Signer[]Transaction signers
Signed versioned transaction ready to send
const tx = await InstructionUtils.asV0TxWithComputeIxs({
connection,
ixs: [updateIx, userIx],
signers: [payer],
computeUnitPrice: 10_000, // 0.01 lamports per compute unit
computeUnitLimitMultiple: 1.3, // 30% safety buffer
lookupTables: [lut],
});
const signature = await connection.sendTransaction(tx);
Convenience function for creating versioned transactions
This is an alias for
InstructionUtils.asV0TxWithComputeIxs
that automatically adds compute budget instructions and uses address lookup tables for optimal transaction size.Example