simulateTransaction method
Future<TransactionResponse>
simulateTransaction(
- Transaction transactionBlock, {
- TransactionIncludeOptions? include,
- bool? doGasSelection,
Implementation
Future<TransactionResponse> simulateTransaction(
sui_dart.Transaction transactionBlock, {
TransactionIncludeOptions? include,
bool? doGasSelection,
}) async {
final readMask = _transactionReadMask(include);
final response = await _client.transactionExecutionService.simulateTransaction(
SimulateTransactionRequest(
transaction: transactionBlock.toGrpcTransaction(),
readMask: readMask,
doGasSelection: doGasSelection ?? true,
),
);
var result = _parseTransaction(response.transaction, include);
if (include?.commandResults == true) {
result = result.copyWith(
commandResults: response.commandOutputs.map((cmdResult) {
return CommandResult(
returnValues: cmdResult.returnValues.map((output) {
return CommandOutput(
bcs: output.hasValue() ? Uint8List.fromList(output.value.value) : Uint8List(0),
);
}).toList(),
mutatedReferences: cmdResult.mutatedByRef.map((output) {
return CommandOutput(
bcs: output.hasValue() ? Uint8List.fromList(output.value.value) : Uint8List(0),
);
}).toList(),
);
}).toList(),
);
}
return result;
}