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
|
I found three issues that should be addressed before merge:
|
|
I addressed all three findings in
The initial, RBF, Bitcoind, and inactive-lineage regression sources are included. No public API or generated binding changed. |
ben-kaufman
left a comment
There was a problem hiding this comment.
The earlier outcome-retention finding remains unresolved: #113 (comment).
|
I pushed 9a5cba0 to address the two event-durability findings:
Local verification: formatting, 205 library tests, 215 UniFFI library tests, and Clippy passed (existing warnings). The new regressions cover restart/reorg/reconfirmation, failed persistence, acknowledgement concurrency, and legacy upgrades. All native bindings rebuilt; generated APIs are unchanged, and the refreshed Swift archive matches Full integration, device, and downstream consumer tests were not run. Fresh approval and rc.67 publication are still pending. |
Closes #112
Summary
Pending,Accepted, andAbandonedbroadcast outcomes by any tracked lineage transaction ID.0.7.0-rc.67.Out of Scope
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
mainat 2666461 is included.cargo fmt --checkpassed.cargo test --libpassed: 205 tests.cargo test --features uniffi --libpassed: 215 tests.cargo clippy --lib --tests --lockedexited successfully with existing warnings; this is not a warning-free result../bindgen.shcompleted: macOS, iOS device/simulator, Android native libraries, JVM build, and Android AAR packaging. Android native debug symbols and 16 KB load alignment checks passed.0.7.0-rc.67.65faaedeb2ec7b182e31c1e3960e59491aa3992ad9e82be7e9ab07ea9d7cdfdf. Both independent SHA-256 and SwiftPM checksum computation matchPackage.swift; archive integrity passed.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
v0.7.0-rc.67is not tagged or released, and the Maven version is not published. The refreshed local artifacts are not yet available to downstream consumers.LDKNodeFFI.xcframework.zip. This supersedes earlier local rc.67 archives.com.synonym:ldk-node-android:0.7.0-rc.67to GitHub Packages.VssStoreBuilderallowing to buildVssStoreindependently lightningdevkit/ldk-node#727 must pin the rc.67 SwiftPM tag and resolve its XCFramework; iOS does not consume the Maven artifact. Each downstream PR still needs its own integration validation against those published artifacts.