What's Changed
Bug Fixes
gRPC SimulateTransaction now works without pre-funded gas payment
Previously, calling SimulateTransaction via gRPC would fail with one of:
unexpected end of input— caused by nilGasData.PriceorGasData.Paymentproducing malformed BCS bytestransaction not found— caused by the read mask including committed-only fields (digest,signatures,checkpoint,timestamp) that the node cannot populate for simulated
transactions
New Features
SimulateTransactionOptions.DoGasSelection— set totrueto let the node automatically select a gas coin, no need to provide a gas payment objectTransaction.BuildBCSBytes(ctx)— new public method that returns raw BCS-encodedTransactionDatabytes, suitable for passing directly toSimulateTransactionOptions.Transactionor
ExecuteTransactionOptions.Transaction
Examples
- Added
SimulateTransactionexample inv2_examples/demonstrating the correct end-to-end flow - Completed
ExecuteTransactionexample ingrpc_examples/transaction_execution_service/with full PTB build, sign, and submit