chore: update paykit to rc56 - #1365
Conversation
|
Regtest APKDownload bitkit-dev-debug universal APK (expires in 30 days). |
There was a problem hiding this comment.
Advice: ✅ Approve
Review: diff 12 files.
Equivalent to synonymdev/bitkit-ios#823.
Findings:
1 inline (1 LOW)
Audit:
Skipped - nothing a reviewer would report across 12 files (threshold 0.4; strongest app/src/main/java/to/bitkit/repositories/PaykitPaymentRequestRepo.kt at 0.13).
Coverage:
QA: waits for the other reviewers' approval, or @ovi-reviewer test
Reviewed by gpt-6-sol-xhigh via gh-pr-review-loop skill
Commands: @ovi-reviewer review · test · retest · audit (author or owner) · wrong <why> (owner)
jvsena42
left a comment
There was a problem hiding this comment.
One MEDIUM (journey) and one LOW inline. No SDK-adaptation findings.
Checked and clean:
- Every new outbound field (
conversion,paymentDeadline,allowanceId,conversionQuoteId) is sent as null, and rc56 omits them on the wire, so v2.5.0 (rc51) peers still parse proposals and proofs. - Conversion terms cannot open a cross-asset path: only btc requests over btc endpoints are paid, and same-asset proofs need no quote id.
- Deadline gating covers every pay entry: the parse guard keeps them out of
pendingRequests, plusdueRequests,applySubscriptionRecordLocked,accept(subscription),paymentDueOnAcceptanceand the scheduler, which also cancels queued work. History and paid periods are kept. paymentDeadlineis only a presence check; no counterparty timestamp is parsed or displayed.- The SDK storage schema is unchanged from rc55 to rc56. rc56's startup reclassification finds dedupe records for rc55-malformed items, so init does not fail after upgrade from v2.5.0 or master.
- Retained corrective/crossing proofs cannot double-count, thanks to
distinct()paid periods,lastOrNull()proof kind and value-based resubmission dedupe.
There was a problem hiding this comment.
Advice: ✅ Approve
Reaudit: diff 6 files.
No new findings; the rest is in the review.
Pair PR synonymdev/bitkit-ios#823: equivalent.
Coverage:
Journeys: 55% - The updated 23-step deadline journey matches Android routes and the resolved iOS companion.
Reviewed by gpt-6-sol-xhigh via gh-pr-review-loop skill
Commands: @ovi-reviewer review · test · retest · audit (author or owner) · wrong <why> (owner)
jvsena42
left a comment
There was a problem hiding this comment.
Re-checked b496f28. No findings; both threads are resolved. The journey now matches synonymdev/bitkit-ios#823 apart from the documented row-tag suffix.
There was a problem hiding this comment.
Verdict: ✅ Approve
Tests for the review: journey J1 could not be completed because it needs a fixture issuer and rc56 peer; Tests 1, 2 and 3 passed.
Audit:
Skipped - nothing a reviewer would report across 6 files (threshold 0.4; strongest docs/paykit-issuer-interoperability.md at 0.14).
QA:
Tested on two Android 16 emulators (Pixel 10 Pro)
Test 1 ✅ passed
Test 2 ✅ passed
Test 3 ✅ passed
Test J1
Warning
The payment deadline history journey remains unverified on a device because it requires a controlled rc56 peer and fixture issuer.
Manual Tests 1–3 were checked in the PR body.
Tip
Consider adding this journey
Test 1
- Open Contacts and the saved peer.
- Tap Pay and enter 5 000 sats from Savings.
- Verify the peer on Confirm and swipe to pay.
- Verify Bitcoin Sent on the payer and Received Bitcoin on the peer.
Test 2
- On the requester, open Subscriptions → Payments and tap Request Payment.
- Choose the saved payer, enter 21 000 sats and a note, then send the request.
- On the payer, review the incoming request and swipe to pay.
- Verify Bitcoin Sent on the payer and Received Bitcoin on the requester.
- On the requester, open Payments history and verify the received-payment icon on the request.
Test 3
- On the creator, open Subscriptions → Overview and tap Create.
- Enter 5 000 sats, select Monthly, name the subscription, and choose the saved payer.
- Propose the subscription and verify Sent Proposal.
- On the payer, review the monthly proposal and swipe to subscribe and pay.
- Review the Savings send and swipe to pay the first installment.
- Verify Subscribed, then open the subscription details on both devices.
- Verify Active, the next monthly renewal, and one paid installment on the creator.
Reviewed by gpt-6-sol-xhigh via gh-pr-review-loop skill
Commands: @ovi-reviewer review · test · retest · audit (author or owner) · wrong <why> (owner)












Closes #1366
This PR updates Bitkit to the Paykit 0.1.0-rc56 release and adapts the existing Bitcoin payment request and proof calls.
Companion: synonymdev/bitkit-ios#823
Description
This upgrade is independent of the USDT integration. It adds no migrations, legacy compatibility paths, or wallet resets.
Preview
Reuses the existing subscription review layout and unsupported-payment explanation.
Design
N/A — no design available. Reuses the existing subscription review components and copy.
QA Notes
Manual Tests
Journeys
journeys/payment-requests/payment-deadline-history.xmlis included on both platforms. Not run end to end: it requires a controlled rc56 peer with accepted and paid deadline-bearing records. The repository tests exercise those states with fixtures.Automated Checks
just compile,just test, andjust lintpassed against the published rc56 AAR, verified against its release SHA-256. The full unit suite ran 2949 tests with 0 failures (0 skipped). Existing unrelated compiler/lint warnings remain.PaykitPaymentRequestRepoTest.ktandPaykitPaymentRequestRepoSubscriptionTest.ktcover history retention, deadline payment rejection, paid recurring periods, proof-delivery retries, and cancellation.PaykitSubscriptionNotificationSchedulerTest.ktcovers reminder suppression. The other fixture changes match rc56 constructors; no existing test coverage was removed.git diff --checkpassed.