submitAndWait
suspend fun submitAndWait(signedIntent: Intent, fromAddress: String, timeoutMs: Long = DEFAULT_TIMEOUT_MS): TransactionSubmitter.SubmissionResult
Submit a signed transaction and wait for finalization.
Steps:
Serialize transaction to SCALE codec (unproven)
Prove transaction via proof server
Seal proven transaction (transform binding commitment)
Submit via WebSocket and wait for NODE's finalized status
Mark UTXOs as SPENT (after node confirms finalization)
Return result
Why we wait for NODE finalization (not indexer):
Node's "finalized" status means the transaction is PERMANENT
Indexer can lag behind the node, causing race conditions
This matches the Midnight SDK's implementation exactly
Return
SubmissionResult indicating success or failure
Parameters
signedIntent
Signed Intent with all signatures
fromAddress
Sender's address (used for UTXO updates)
timeoutMs
Maximum time to wait for finalization (default 60s)