feat(anchors): add interactive SEP-24 transfer modal - #216
Conversation
|
@Taiye21 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! 🚀 |
|
Needs changes Missing unit tests for the anchor polling mechanism specified in the testing requirements.
Reviewed commit: |
There was a problem hiding this comment.
Needs changes
Missing unit tests for the anchor polling mechanism specified in the testing requirements.
src/lib/__tests__/anchor.test.ts: Create src/lib/tests/anchor.test.ts to write unit tests for the polling mechanism ensuring it stops polling upon terminal events as requested in the issue test plan.
Reviewed commit: abf2453d2f32860fac7bc223bf81256b8fedcdc1.
|
Hi @Cjay-Cyber-2, the implementation for issue #210 is pushed on the requested fork branch and this PR is ready for review. Closes #210. |
|
MergeKeeper review Scope: in scope for linked issue The pull request correctly implements the SEP-24 interactive anchor deposit and withdrawal workflow with modal handling, polling behavior, and corresponding unit tests. Reviewed commit: |
|
Added |
|
Needs review Linked to The pull request modifies and removes unrelated code (such as expense creation logic and invite hooks) that falls outside the scope of issue #210. Reviewed commit: |
# Conflicts: # src/hooks/useAnchorTransaction.ts
|
MergeKeeper review unavailable AI provider review response did not contain valid JSON No approval or merge action was taken. |
main has failed CI since mergepay#216 — `npm run typecheck` errors out before the test/build steps run. Fixes: - src/lib/queries.ts: import `getInviteByCode` from ./api (it's a named export kept outside the `api` object) and add the missing `qk.invite` key so `useInviteByCode` type-checks. - src/lib/queries.ts: export `useInvalidator` — `src/hooks/useExpenseMutations.ts` imports it. - AssetSelector.vitest.test.tsx: rewrite against the component's actual props (`value`/`onChange`/`cryptoAmount`). The old file tested a never-shipped API (`normalizeAssetAmount`, `assetCode`, `onAmountChange`). - AnchorModal.vitest.test.tsx: `vi.mocked(import(...), { deep: true })` so the nested `api.*` mocks type as `Mock`. - anchorInfo.test.ts: `assert.ok(named)` before dereferencing a `AnchorInfo | null`. - TrustlineVerificationBanner.vitest.test.tsx: wait for the query to resolve before asserting the alert is gone (the banner renders in its "missing" state while balances load). Verified with Node 20: lint, typecheck, vitest (411), tsx node tests and next build all pass. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Add a reusable interactive anchor transfer modal and polling hook. SEP-24 sessions are shown in a responsive iframe with a new-tab fallback, status feedback, retries, and terminal polling behavior.
Closes #210