assembleTransaction

Assembles a transaction by applying simulation results.

This is a static helper function that applies simulation results to a transaction without requiring a SorobanServer instance. Useful when working with pre-fetched simulation results.

The function:

  1. Validates the transaction is a Soroban transaction

  2. Calculates total fee (classic fee + resource fee)

  3. Updates operation auth entries (for InvokeHostFunctionOperation)

  4. Applies sorobanData from simulation

Example

val simulation = server.simulateTransaction(tx)
val prepared = assembleTransaction(tx, simulation)

Return

A new transaction with simulation results applied

Parameters

transaction

The original transaction

simulateResponse

The simulation results to apply

Throws

If simulation results are invalid for the operation