signAndExecuteTransactionBlock method

Future<SuiTransactionBlockResponse> signAndExecuteTransactionBlock(
  1. SuiAccount signer,
  2. TransactionBlock transactionBlock, {
  3. BuildOptions? options,
  4. ExecuteTransaction requestType = ExecuteTransaction.WaitForEffectsCert,
  5. SuiTransactionBlockResponseOptions? responseOptions,
})

Implementation

Future<SuiTransactionBlockResponse> signAndExecuteTransactionBlock(
  SuiAccount signer,
  TransactionBlock transactionBlock,
  {
    BuildOptions? options,
    ExecuteTransaction requestType = ExecuteTransaction.WaitForEffectsCert,
    SuiTransactionBlockResponseOptions? responseOptions
  }
) async {
  options ??= BuildOptions(client: this);
  options.client ??= this;

  if(responseOptions != null) {
    requestType = ExecuteTransaction.WaitForLocalExecution;
  }

  transactionBlock.setSenderIfNotSet(signer.getAddress());
  final transactionBytes = await transactionBlock.build(options);
  final signWithBytes = signer.keyPair.signTransactionBlock(transactionBytes);
  return await executeTransactionBlock(
    signWithBytes.bytes,
    [signWithBytes.signature],
    options: responseOptions,
    requestType: requestType
  );
}