excuteAndWatchStream method
Future<Stream<SafeContractExecutionResult> >
excuteAndWatchStream({
- 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),
Implementation
Future<Stream<SafeContractExecutionResult>> excuteAndWatchStream({
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.watchTransactionReceiptStream(
rpc: provider,
txId: txId,
blockInternal: blockInternal,
timeout: timeout,
);
return receipt.map(
(e) => SafeContractExecutionResult(
receipt: e,
events: contract.decodeContractEvents(e.logs),
),
);
}