
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
1.1 KiB
1.1 KiB
Architecture - sdk_wallet
Vue d’ensemble
- Application mobile React Native
- État centralisé avec Redux Toolkit
- UI Web intégrée via
react-native-webview
qui chargeihm_client
(build Vite) - Pont de messages
window.postMessage
redirigé versReactNativeWebView.postMessage
Flux
- L’app charge
assets/ihm/index.html
(build deihm_client
) - Le script injecté remappe
window.postMessage
et exposewindow.__RN_RECEIVE__
ihm_client
émetLISTENING
,LINK_ACCEPTED
, etc. → captés côté RN- 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 messagessrc/components/
:WebWallet
(WebView)src/screens/
:WalletScreen
src/store/
: état (tokens, dernier message)
Sécurité
- Respect de l’origine dans
ihm_client
(réponses versevent.origin
) - Les tokens ne sortent pas du store sans action explicite
Performances
- Code splitting avec
React.lazy
/Suspense
- Build
ihm_client
optimisé via Vite