excuteAndWatchAsync method

Future<SafeContractExecutionResult> excuteAndWatchAsync({
  1. required SafeTransaction safeTx,
  2. required ETHAddress excuter,
  3. required EthereumSigner excuterSigner,
  4. required List<SafeSignature> signatures,
  5. ETHTransactionParams? params,
  6. Duration timeout = const Duration(minutes: 5),
  7. Duration blockInternal = const Duration(seconds: 10),
})

Implementation

Future<SafeContractExecutionResult> excuteAndWatchAsync({
  required SafeTransaction safeTx,
  required ETHAddress excuter,
  required EthereumSigner excuterSigner,
  required List<SafeSignature> signatures,
  ETHTransactionParams? params,
  Duration timeout = const Duration(minutes: 5),
  Duration blockInternal = const Duration(seconds: 10),
}) async {
  final txId = await excute(
    safeTx: safeTx,
    excuter: excuter,
    excuterSigner: excuterSigner,
    signatures: signatures,
    params: params,
  );
  final provider = await onRequestProvider();
  final receipt =
      await ETHTransactionBuilderUtils.watchTransactionReceiptAsync(
        rpc: provider,
        txId: txId,
        blockInternal: blockInternal,
        timeout: timeout,
      );
  return SafeContractExecutionResult(
    receipt: receipt,
    events: contract.decodeContractEvents(receipt.logs),
  );
}