submitAndWaitForFinalization
open suspend override fun submitAndWaitForFinalization(serializedTxHex: String, timeoutMs: Long, onStage: suspend (NodeRpcClient.SubmissionStage) -> Unit?): TransactionFinalizationResult
Submit transaction and wait for finalization using WebSocket subscription.
This is the correct way to submit transactions.
Uses author_submitAndWatchExtrinsic which:
Submits the transaction
Subscribes to status updates via WebSocket
Streams status events: ready → broadcast → inBlock → finalized
Why WebSocket instead of HTTP + Indexer:
HTTP
author_submitExtrinsicis fire-and-forget (no confirmation)Indexer lags behind the node (causes race conditions)
WebSocket gives us real-time confirmation from the node itself
Return
Finalization result
Parameters
serializedTxHex
Hex-encoded serialized transaction
timeoutMs
Maximum time to wait for finalization