simulateStructured method

Future<SimulateTransactionResponse> simulateStructured(
  1. Transaction structuredTx, {
  2. List<String>? readMask,
  3. bool doGasSelection = true,
  4. bool checksEnabled = true,
})

Simulate a structured Transaction (as opposed to opaque BCS), so the gas payment/budget can be left unset for server-side gas selection.

Implementation

Future<SimulateTransactionResponse> simulateStructured(
  Transaction structuredTx, {
  List<String>? readMask,
  bool doGasSelection = true,
  bool checksEnabled = true,
}) async {
  final req = SimulateTransactionRequest(
    transaction: structuredTx,
    readMask: _mask(readMask),
    checks: checksEnabled
        ? SimulateTransactionRequest_TransactionChecks.ENABLED
        : SimulateTransactionRequest_TransactionChecks.DISABLED,
    doGasSelection: doGasSelection,
  );
  final bytes =
      await _call(_exec, 'SimulateTransaction', req.writeToBuffer());
  return SimulateTransactionResponse.fromBuffer(bytes);
}