4NK_wallet/docs/ARCHITECTURE.md
Your Name a189470d49
Some checks failed
CI - 4NK Node / Integration Tests (push) Failing after 9s
CI - 4NK Node / Docker Build & Test (push) Failing after 8s
CI - 4NK Node / Documentation Tests (push) Failing after 3s
CI - 4NK Node / Release Guard (push) Has been skipped
CI - 4NK Node / Performance Tests (push) Failing after 29s
CI - 4NK Node / Code Quality (push) Failing after 32s
CI - 4NK Node / Unit Tests (push) Failing after 30s
CI - 4NK Node / Security Tests (push) Failing after 28s
CI - 4NK Node / Notify (push) Failing after 1s
chore(template-sync): aligner avec 4NK_template (.cursor/.gitea/.gitea_template/scripts/ignores)
2025-08-27 11:37:12 +02:00

1.1 KiB
Raw Blame History

Architecture - sdk_wallet

Vue densemble

  • Application mobile React Native
  • État centralisé avec Redux Toolkit
  • UI Web intégrée via react-native-webview qui charge ihm_client (build Vite)
  • Pont de messages window.postMessage redirigé vers ReactNativeWebView.postMessage

Flux

  1. Lapp charge assets/ihm/index.html (build de ihm_client)
  2. Le script injecté remappe window.postMessage et expose window.__RN_RECEIVE__
  3. ihm_client émet LISTENING, LINK_ACCEPTED, etc. → captés côté RN
  4. RN met à jour Redux (tokens, état), puis peut envoyer des messages: REQUEST_LINK, VALIDATE_TOKEN, etc.

Découpage

  • src/bridge/ : sérialisation et gestion des messages
  • src/components/ : WebWallet (WebView)
  • src/screens/ : WalletScreen
  • src/store/ : état (tokens, dernier message)

Sécurité

  • Respect de lorigine dans ihm_client (réponses vers event.origin)
  • Les tokens ne sortent pas du store sans action explicite

Performances

  • Code splitting avec React.lazy/Suspense
  • Build ihm_client optimisé via Vite