Repository navigation
test: wallet signing conformance with negative on-chain auth proofs - #408
Conversation
|
@deborahogunjinmi592-byte Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits. You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀 |
👷 Deploy request for streampay-org pending review.Visit the deploys page to approve it
|
|
Review (2026-10-21, head 1. 2. It also breaks the build, which is your Frontend-Typecheck red. 3. 4. matches!(result.unwrap_err(), InvokeError::Auth(error) => error.is_auth_failure());
5. 6. The suite is invisible to the runner that's supposed to execute it. 7. The live-testnet mode can't be turned on as documented. 8. Gates I ran on your merged tree (against current 9. Bottom line: request changes — commit |
d634f1b to
4435412
Compare
Strips the payload this branch picked up (deleted frontend/api.js, truncated frontend/eslint.config.mjs, unhooked frontend/package.json). No functional change to the branch's own work.
36db5bd to
8fb102d
Compare
8fb102d to
2fdc184
Compare
2fdc184 to
dea6c32
Compare
dea6c32 to
1f80351
Compare
|
Heads-up after a
Why the field had to widen: the committed storage-layout corpus pins the released v0.3.0 shape, in which the key does not exist at all. Soroban's generated struct decoder unpacks over a VOID-initialised field slice, so an absent key arrives as VOID and What this means for #408 at head The doc-string mention is unaffected. If any part of your conformance fixture reads the stored field back as a boolean, that read wants Two other things moved on
|
|
@Neziahtech — this PR is ready for another review. I resolved the merge conflicts with the main branch (pushed ac83f22). |
|
Fleet re-check (2026-10-27) — the conformance suite you're adding is good and I want it; the branch it arrives on deletes the contract's governance, dispute, event-registry and storage-golden modules. GitHub calls this mergeable, which is the part that worries me. State: head
Not mergeable as it stands, and I'd rather you rebuild the branch than have me try to rescue it — the deletion is inside |
|
@Neziahtech — this PR is ready for another review. I resolved the merge conflicts with the main branch (pushed ec80580). |
f0fe35c to
58555a6
Compare
58555a6 to
05f3c69
Compare
|
Warning Possible malicious code: please review before merging. An automated security scan flagged files in this pull request that appear to contain malicious code. Code like this can run automatically when a project is opened in an editor or its dependencies are installed, so it could compromise the machine of anyone who checks out this branch. Automated scans can be wrong, so this may be a false positive. Maintainers: please review the flagged files carefully before merging, on GitHub in your browser rather than by checking out the branch. The malicious part is often hidden far off to the right of an ordinary-looking line, so scroll sideways through each file. @deborahogunjinmi592-byte: this pull request adds or changes these files, possibly without your knowledge. Malware like this spreads by adding itself to repositories on machines it has infected, so your machine might be compromised. Please undo these changes in this pull request, and don't open or run other projects on that machine until you've checked it. Flagged files at commit
Only merge once you're confident these files are safe. ℹ️ Posted automatically by Drips Wave. Questions? Contact support@drips.network. |
Overview
This PR adds a signing-request conformance suite that asserts the frontend produces exactly the transaction/signature schemas documented — network passphrase, fee bounds, and memo-less claims — runnable against Freighter's API surface in both mocked and opt-in live testnet modes. It also adds contract-side negative authorization tests proving that unsigned variants fail on-chain, catching the silent class of breakage where an SDK version change alters what gets signed while existing tests still pass.
Related Issue
Changes
🔐 Signing Conformance Suite
[ADD]
frontend/__tests__/conformance/schemas.ts[ADD]
frontend/__tests__/conformance/freighterHarness.ts[ADD]
frontend/__tests__/conformance/signingConformance.test.ts[ADD]
frontend/__tests__/conformance/liveTestnet.test.ts⛓️ Contract-Side Negative Auth Tests
[ADD]
contracts/streaming-payments/src/negative_auth_test.rsrequire_authchecks on sender/recipient fail on-chain.[MODIFY]
contracts/streaming-payments/src/lib.rsVerification Results
require_authon sender/recipient has a negative test proving unsigned variants fail on-chainnegative_auth_test.rscovers sender/recipient unsigned variantsCloses #82