fix: wait for broadcast result - #113
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
3b1f49f to
2f6d7c8
Compare
2f6d7c8 to
0bc67a9
Compare
0bc67a9 to
8e707af
Compare
505b1a6 to
63b045f
Compare
|
Following up on the dispatch/abandonment issue in #113 (comment): shutdown still appears to release the dispatch lease before a running Electrum request finishes at The stop branch in Could we retain the dispatch protection until the blocking RPC actually finishes, including during shutdown, and add a test that holds the RPC across stop and attempts abandonment? This is verified from the code path, not a runtime reproduction. |
|
@ben-kaufman The explicit request now carries a shared dispatch guard into the Electrum |
|
@coreyphillips Follow-up on your review:
|
Closes #112
Summary
Pending,Accepted, andAbandonedbroadcast outcomes by any tracked lineage transaction ID.OnchainTransactionReceivedevent across restart.0.7.0-rc.67.Preview
N/A — no user-visible changes.
QA Notes
rebroadcast_transactionfor that exact ID; they must not create a second payment.broadcast_outcomeaccepts any lineage transaction ID and returns the canonical active or terminal transaction ID plus the complete lineage.BroadcastOutcomeStatus::Acceptedproves backend acceptance.Pending, an unknown result, and a query failure remain unresolved.acknowledge_broadcast_outcomeremoves one root-keyed terminal record and every lineage alias after downstream handling is durable. It fails while the lineage remains active and is idempotent after removal.list_pending_broadcastsreturns every unresolved transaction and its full RBF lineage.abandon_pending_broadcastis valid only after an independent source proves every lineage member absent from mempool and chain and no other process can rebroadcast it.NodeErrorcases no longer carry the legacy generatedmessagevalue. The four broadcast-result cases carrytxid.txid.Validation
6b60fe0df32362d6c6604393071110e94a2058b8; local HEAD, upstream, and PR head match.mainat26664614696e82dc10e10f5c2042cc9ac1bb8f5e; the branch is zero commits behind and GitHub reports it mergeable.cargo fmtcompleted before commit../bindgen.shgenerated Swift, Kotlin Android, Kotlin JVM, and Python sources and artifacts. Its required target compilation and built-in JVM/Android packaging completed.549f7a962f7b4262ef77b7e65abd6fe588be87801bee35da6295571c141f183b;Package.swiftcontains that value.e1b0667and does not certify this outcome-API delta.Consumer contract
BroadcastOutcomeStatus.PENDING|ACCEPTED|ABANDONED,BroadcastOutcome(status, txid, lineage),broadcastOutcome(txid), andacknowledgeBroadcastOutcome(txid).BroadcastOutcomeStatus.pending|accepted|abandoned,BroadcastOutcome(status:txid:lineage:),broadcastOutcome(txid:), andacknowledgeBroadcastOutcome(txid:).com.synonym:ldk-node-android:0.7.0-rc.67.Release
07cf71e2a44ee901c0cb2c5d1062cc72fbb9fbbd56fb341a6ca1b531ec316219does not contain this API and is superseded.