Uh oh!
There was an error while loading. Please reload this page.
test: prove marketplace wallet journey - #1220
Open
ovitrif wants to merge 5 commits into
Open
Conversation
ovitrif
marked this pull request as ready for review
September 2, 2026 09:33
This was referenced Sep 2, 2026
Greptile SummaryAdds stable Compose identifiers and documentation for the controlled Pubky marketplace wallet journey.
Confidence Score: 5/5The PR appears safe to merge. No blocking failure remains.
|
| Filename | Overview |
|---|---|
| app/src/main/java/to/bitkit/ui/screens/paymentrequests/PaymentRequestsScreen.kt | Standardizes request-row tags and adds a request-specific Pay-button identifier without changing payment behavior. |
| app/src/androidTest/java/to/bitkit/ui/screens/paymentrequests/PaymentRequestsScreenTest.kt | Updates identifier assertions and verifies that the incoming request exposes its Pay action. |
| app/src/main/java/to/bitkit/ui/screens/profile/PubkyAuthApprovalSheet.kt | Adds stable identifiers to the authorization and success actions. |
| app/src/main/java/to/bitkit/ui/settings/SettingsScreen.kt | Renames the contact-payments switch identifier to align with the documented journey. |
| journeys/pubky-marketplace/README.md | Defines the integration fixture, evidence contract, release provenance, and recorded acceptance runs. |
| journeys/pubky-marketplace/wallet-leg.xml | Encodes the seller-authorization, buyer-payment, broadcast, and confirmation journey. |
Sequence Diagram
sequenceDiagram
participant S as Seller Wallet
participant F as Marketplace Fixture
participant B as Buyer Wallet
participant C as Regtest Chain
S->>F: Authorize watch-only account claim
S->>B: Establish reciprocal linked contacts
F->>B: Deliver marketplace payment request
B->>B: Review and approve payment
B->>C: Broadcast transaction
F->>C: Detect zero-confirmation payment
F->>C: Mine one block
C-->>B: Confirm transaction
C-->>F: Confirm payment
F->>F: Complete marketplace purchase
Reviews (2): Last reviewed commit: "docs: record selector replay" | Re-trigger Greptile
ovitrif
marked this pull request as draft
September 2, 2026 10:05
ovitrifforce-pushed
the
codex/1212-marketplace-journey
branch
from
September 2, 2026 10:37
b296556 to
496b457Compareovitrifforce-pushed
the
codex/1212-marketplace-journey
branch
from
September 2, 2026 10:52
496b457 to
0a0f7c8Compareovitrif
marked this pull request as ready for review
September 2, 2026 11:42
piotr-iohk
approved these changes
Sep 2, 2026
piotr-iohk
left a comment
Collaborator
There was a problem hiding this comment.
QA LGTM on the identifiers + journey contract. Did not re-run the isolated marketplace fixture.
Checked latest (0a0f7c8b):
- Cited IDs exist on this branch:
PubkyAuthWatchOnlyConsent/Approve/Authorize/OK,ContactPaymentsToggle,PaymentRequestsSheet,PaymentRequestRow-<id>,PaymentRequestPay-<id>,ReviewAmount,ReviewContactRecipient,GRAB,SendSuccess,ActivityAmount,ActivityTxDetails. xmllint --noout journeys/pubky-marketplace/wallet-leg.xmlpasses.- Compose identifier tests in
PaymentRequestsScreenTestmatch the hyphenated tags. - CI green, including
e2e-tests-staging - pubky_paykit.
Notes, not blockers:
- Merge #1217 first. This PR’s
PaymentRequestRow-/PaymentRequestPay-tags are a subset of #1217 (that one also addsPaymentRequestDismiss-<id>). - PR body QA notes cite request
5db852f6-…/ txa3a427ca…. README records different accepted runs (ad1a8463-…, then selector replayb7f67854-…). Fine if those are separate replays — worth one line so we do not treat it as a mismatch later. - README says #1209 “preserves rejected incoming requests as visible history.” On #1217, parse rejects stay log-only; the visible-history / retry path is the explicit Pay terminal toast. Wording is slightly off.
I am not blocking on not replaying the Locks/Paykit Server fixture here. The journey is documentation of an accepted 2026-09-02 run, and the app-side selectors it needs are present.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for freeto join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes#1212
This PR:
Acceptance evidence covers the full controlled journey: seller watch-only claim, reciprocal linked-contact setup, fresh buyer funding, canonical Paykit delivery, payment approval, zero-confirmation detection, broadcast, one-block confirmation, paid request history, and Locks completion. This branch is rebased onto Android master merge
9698dea4, where merged #1178 supplies the incoming-request swipe behavior previously tracked by #1218.Description
PaymentRequestRow-<id>and addsPaymentRequestPay-<id>.PubkyAuthAuthorize,PubkyAuthOK, andContactPaymentsToggleidentifiers.Preview
bitkit-android-1212-journey.mp4
QA Notes
Manual Tests
5db852f6-d47a-43c4-8b17-fb7a654ac4dd→ review the accepted fallback seller identitypubky…apfiy, 15,000 sats, and 141-sat fee → swipe once → verify transactiona3a427ca69a3f1d3f26fb47f38182c8543fdbd997227ddb8a2dec1ef0e927166at zero confirmations → mine one regtest block → verify confirmed Android activity, paid request history without a Pay action, confirmed Paykit delivery, and completed Locks purchase.Automated Checks
PaymentRequestsScreenTest.kt: all five focused Compose tests pass, including the incoming row and Pay identifiers.just compile: passes.just test: passes all 2,283 tests.just lint: passes with existing baseline findings outside this change.lightning_securitypassed on its isolated rerun after the first attempt hit a runner Docker host-port collision before test execution.0a0f7c8b4b7153fb9f0d39d7016ec1c0b73bf96aincludes master merge9698dea447592f0380ef4a7f8231c88beae46a18.cf96c9a637fd5b037ee4e34b5ea5ea77dd6049c71497d3cb22b4d221159e721c.e21ce4b0bea14e42c0bb437cd8d443deebe6e2ba40488c0b24dbaaad54ec05ec.xmllint --noout journeys/pubky-marketplace/wallet-leg.xml: passes.git diff --check: passes.