Builds a versioned transaction with automatic compute budget optimization
This method simplifies transaction creation by:
The method performs two key optimizations:
Transaction building parameters
Solana RPC connection
Instructions to include
Optionalpayer?: PublicKeyTransaction fee payer (defaults to first signer)
OptionalcomputeUnitLimitMultiple?: numberMultiplier for compute limit (e.g., 1.3 = 30% buffer)
OptionalcomputeUnitPrice?: numberPriority fee in microlamports per compute unit
OptionallookupTables?: AddressLookupTableAccount[]Address lookup tables to use
Optionalsigners?: 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.asV0TxWithComputeIxsthat automatically adds compute budget instructions and uses address lookup tables for optimal transaction size.Example