Skip to content

Feature/issues transfer wallet tracer irec#436

Merged
AnnabelJoe merged 5 commits into
AnnabelJoe:mainfrom
jhayniffy:feature/issues-transfer-wallet-tracer-irec
Jun 3, 2026
Merged

Feature/issues transfer wallet tracer irec#436
AnnabelJoe merged 5 commits into
AnnabelJoe:mainfrom
jhayniffy:feature/issues-transfer-wallet-tracer-irec

Conversation

@jhayniffy
Copy link
Copy Markdown
Contributor

closes #329
closes #327
closes #345
closes #348

jhayniffy added 4 commits June 1, 2026 17:01
- POST /api/certificates/:id/transfer with Stellar address validation
- transferCertificate() in stellar.ts using SEP-41 transfer call
- Audit log entry for certificate.transfer action
- TransferModal component matching RetireModal pattern
- Transfer button added to certificates dashboard table
- v1 redirect at /api/v1/certificates/:id/transfer
- createMockFreighter() / installMockFreighter() / uninstallMockFreighter()
  utilities in src/tests/mock-freighter.ts
- Supports connection, signing, disconnection, requiresAccess flag
- wallet.test.ts covers connect, disconnect, session restore, revoked
  session, missing extension, and production isolation
- vitest config updated to run wallet tests in jsdom environment
- Failed mint triggers tracer-sim diagnosis via /replay endpoint
- Diagnosis result stored on reading record and matches returned value
- TRACER_SIM_URL unset returns TRACER_SIM_UNAVAILABLE stub gracefully
- HTTP error (503), network failure (ECONNREFUSED), and timeout all
  return REPLAY_ERROR without throwing
- Partial tracer-sim responses filled with sensible defaults
- Mock tracer-sim via vi.fn() — no real service required in CI
- buildIRecXml() in src/lib/irec-xml.ts maps certificate fields to
  I-REC Standard v3 XML including on-chain AnchorProof extension
- GET /api/certificates/:id/irec-export returns XML with
  Content-Disposition: attachment for direct download
- v1 redirect at /api/v1/certificates/:id/irec-export
- I-REC export button added to certificates dashboard table
- XML escaping prevents injection via certificate/meter data
@drips-wave
Copy link
Copy Markdown

drips-wave Bot commented Jun 1, 2026

@jhayniffy 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! 🚀

Learn more about application limits

@AnnabelJoe AnnabelJoe merged commit 049b764 into AnnabelJoe:main Jun 3, 2026
6 of 13 checks passed
* Tests for useWallet hook using the mock Freighter wallet.
* Runs headlessly in CI — no browser extension required.
*/
import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

3 participants