@reown/appkit-react-native 0.0.0-fix-ui-changes-20250829182619 → 0.0.0-fix-singleton-appkit-20251001153745
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/AppKit.js +147 -102
- package/lib/commonjs/AppKit.js.map +1 -1
- package/lib/commonjs/AppKitContext.js +16 -10
- package/lib/commonjs/AppKitContext.js.map +1 -1
- package/lib/commonjs/connectors/WalletConnectConnector.js +36 -63
- package/lib/commonjs/connectors/WalletConnectConnector.js.map +1 -1
- package/lib/commonjs/hooks/useAccount.js +9 -4
- package/lib/commonjs/hooks/useAccount.js.map +1 -1
- package/lib/commonjs/hooks/useAppKit.js +12 -12
- package/lib/commonjs/hooks/useAppKit.js.map +1 -1
- package/lib/commonjs/hooks/useAppKitLogs.js +88 -0
- package/lib/commonjs/hooks/useAppKitLogs.js.map +1 -0
- package/lib/commonjs/hooks/useAppKitState.js +32 -0
- package/lib/commonjs/hooks/useAppKitState.js.map +1 -0
- package/lib/commonjs/hooks/useProvider.js +14 -8
- package/lib/commonjs/hooks/useProvider.js.map +1 -1
- package/lib/commonjs/hooks/useWalletInfo.js +6 -4
- package/lib/commonjs/hooks/useWalletInfo.js.map +1 -1
- package/lib/commonjs/index.js +21 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modal/w3m-modal/index.js +18 -2
- package/lib/commonjs/modal/w3m-modal/index.js.map +1 -1
- package/lib/commonjs/modal/w3m-router/index.js +21 -23
- package/lib/commonjs/modal/w3m-router/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-account-activity/index.js +1 -1
- package/lib/commonjs/partials/w3m-account-activity/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-account-wallet-features/index.js +1 -1
- package/lib/commonjs/partials/w3m-account-wallet-features/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js +4 -2
- package/lib/commonjs/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
- package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js +6 -3
- package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
- package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js +13 -5
- package/lib/commonjs/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -1
- package/lib/commonjs/partials/w3m-all-wallets-list/index.js +14 -3
- package/lib/commonjs/partials/w3m-all-wallets-list/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-all-wallets-list/styles.js +3 -0
- package/lib/commonjs/partials/w3m-all-wallets-list/styles.js.map +1 -1
- package/lib/commonjs/partials/w3m-all-wallets-search/index.js +21 -12
- package/lib/commonjs/partials/w3m-all-wallets-search/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-all-wallets-search/styles.js +3 -1
- package/lib/commonjs/partials/w3m-all-wallets-search/styles.js.map +1 -1
- package/lib/commonjs/partials/w3m-connecting-mobile/index.js +21 -1
- package/lib/commonjs/partials/w3m-connecting-mobile/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-connecting-mobile/styles.js +2 -1
- package/lib/commonjs/partials/w3m-connecting-mobile/styles.js.map +1 -1
- package/lib/commonjs/partials/w3m-connecting-qrcode/index.js +6 -2
- package/lib/commonjs/partials/w3m-connecting-qrcode/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-connecting-web/index.js +10 -3
- package/lib/commonjs/partials/w3m-connecting-web/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-connecting-web/styles.js +3 -0
- package/lib/commonjs/partials/w3m-connecting-web/styles.js.map +1 -1
- package/lib/commonjs/partials/w3m-header/index.js +5 -4
- package/lib/commonjs/partials/w3m-header/index.js.map +1 -1
- package/lib/commonjs/partials/w3m-selector-modal/index.js +10 -2
- package/lib/commonjs/partials/w3m-selector-modal/index.js.map +1 -1
- package/lib/commonjs/utils/SIWXUtil.js +281 -0
- package/lib/commonjs/utils/SIWXUtil.js.map +1 -0
- package/lib/commonjs/views/w3m-account-default-view/index.js +6 -5
- package/lib/commonjs/views/w3m-account-default-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-account-view/index.js +2 -2
- package/lib/commonjs/views/w3m-account-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-account-view/styles.js +0 -5
- package/lib/commonjs/views/w3m-account-view/styles.js.map +1 -1
- package/lib/commonjs/views/w3m-all-wallets-view/index.js +7 -4
- package/lib/commonjs/views/w3m-all-wallets-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-connect-socials-view/index.js +2 -2
- package/lib/commonjs/views/w3m-connect-socials-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js +20 -13
- package/lib/commonjs/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
- package/lib/commonjs/views/w3m-connect-view/index.js +9 -14
- package/lib/commonjs/views/w3m-connect-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-connecting-external-view/index.js +21 -1
- package/lib/commonjs/views/w3m-connecting-external-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-connecting-external-view/styles.js +1 -1
- package/lib/commonjs/views/w3m-connecting-external-view/styles.js.map +1 -1
- package/lib/commonjs/views/w3m-connecting-social-view/index.js +2 -1
- package/lib/commonjs/views/w3m-connecting-social-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-connecting-view/index.js +12 -31
- package/lib/commonjs/views/w3m-connecting-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-get-wallet-view/index.js +1 -1
- package/lib/commonjs/views/w3m-get-wallet-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-network-switch-view/index.js +62 -80
- package/lib/commonjs/views/w3m-network-switch-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-networks-view/index.js +19 -11
- package/lib/commonjs/views/w3m-networks-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-checkout-view/index.js +1 -1
- package/lib/commonjs/views/w3m-onramp-checkout-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-loading-view/styles.js +1 -1
- package/lib/commonjs/views/w3m-onramp-loading-view/styles.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js +3 -1
- package/lib/commonjs/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-settings-view/index.js +11 -4
- package/lib/commonjs/views/w3m-onramp-settings-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-settings-view/utils.js +17 -1
- package/lib/commonjs/views/w3m-onramp-settings-view/utils.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-transaction-view/index.js +1 -1
- package/lib/commonjs/views/w3m-onramp-transaction-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-view/components/Header.js +1 -1
- package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js +1 -1
- package/lib/commonjs/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
- package/lib/commonjs/views/w3m-onramp-view/index.js +3 -3
- package/lib/commonjs/views/w3m-onramp-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-siwx-sign-view/index.js +110 -0
- package/lib/commonjs/views/w3m-siwx-sign-view/index.js.map +1 -0
- package/lib/commonjs/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.js +0 -7
- package/lib/commonjs/views/w3m-siwx-sign-view/styles.js.map +1 -0
- package/lib/commonjs/views/w3m-swap-preview-view/index.js +1 -1
- package/lib/commonjs/views/w3m-swap-preview-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js +1 -2
- package/lib/commonjs/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -1
- package/lib/commonjs/views/w3m-swap-view/index.js +9 -6
- package/lib/commonjs/views/w3m-swap-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-unsupported-chain-view/index.js +6 -12
- package/lib/commonjs/views/w3m-unsupported-chain-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js +1 -1
- package/lib/commonjs/views/w3m-unsupported-chain-view/styles.js.map +1 -1
- package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js +3 -5
- package/lib/commonjs/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-wallet-receive-view/index.js +1 -1
- package/lib/commonjs/views/w3m-wallet-receive-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js +1 -1
- package/lib/commonjs/views/w3m-wallet-send-preview-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js +1 -1
- package/lib/commonjs/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-wallet-send-view/index.js +8 -5
- package/lib/commonjs/views/w3m-wallet-send-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-what-is-a-network-view/index.js +1 -1
- package/lib/commonjs/views/w3m-what-is-a-network-view/index.js.map +1 -1
- package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js +2 -2
- package/lib/commonjs/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
- package/lib/module/AppKit.js +147 -102
- package/lib/module/AppKit.js.map +1 -1
- package/lib/module/AppKitContext.js +17 -11
- package/lib/module/AppKitContext.js.map +1 -1
- package/lib/module/connectors/WalletConnectConnector.js +34 -62
- package/lib/module/connectors/WalletConnectConnector.js.map +1 -1
- package/lib/module/hooks/useAccount.js +9 -5
- package/lib/module/hooks/useAccount.js.map +1 -1
- package/lib/module/hooks/useAppKit.js +13 -13
- package/lib/module/hooks/useAppKit.js.map +1 -1
- package/lib/module/hooks/useAppKitLogs.js +83 -0
- package/lib/module/hooks/useAppKitLogs.js.map +1 -0
- package/lib/module/hooks/useAppKitState.js +27 -0
- package/lib/module/hooks/useAppKitState.js.map +1 -0
- package/lib/module/hooks/useProvider.js +13 -8
- package/lib/module/hooks/useProvider.js.map +1 -1
- package/lib/module/hooks/useWalletInfo.js +6 -4
- package/lib/module/hooks/useWalletInfo.js.map +1 -1
- package/lib/module/index.js +5 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/modal/w3m-modal/index.js +18 -2
- package/lib/module/modal/w3m-modal/index.js.map +1 -1
- package/lib/module/modal/w3m-router/index.js +22 -24
- package/lib/module/modal/w3m-router/index.js.map +1 -1
- package/lib/module/partials/w3m-account-activity/index.js +1 -1
- package/lib/module/partials/w3m-account-activity/index.js.map +1 -1
- package/lib/module/partials/w3m-account-wallet-features/index.js +1 -1
- package/lib/module/partials/w3m-account-wallet-features/index.js.map +1 -1
- package/lib/module/partials/w3m-all-wallets-list/components/Loading.js +4 -2
- package/lib/module/partials/w3m-all-wallets-list/components/Loading.js.map +1 -1
- package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js +6 -3
- package/lib/module/partials/w3m-all-wallets-list/components/WalletItem.js.map +1 -1
- package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js +13 -5
- package/lib/module/partials/w3m-all-wallets-list/components/WalletList.js.map +1 -1
- package/lib/module/partials/w3m-all-wallets-list/index.js +15 -4
- package/lib/module/partials/w3m-all-wallets-list/index.js.map +1 -1
- package/lib/module/partials/w3m-all-wallets-list/styles.js +3 -0
- package/lib/module/partials/w3m-all-wallets-list/styles.js.map +1 -1
- package/lib/module/partials/w3m-all-wallets-search/index.js +22 -13
- package/lib/module/partials/w3m-all-wallets-search/index.js.map +1 -1
- package/lib/module/partials/w3m-all-wallets-search/styles.js +3 -1
- package/lib/module/partials/w3m-all-wallets-search/styles.js.map +1 -1
- package/lib/module/partials/w3m-connecting-mobile/index.js +22 -2
- package/lib/module/partials/w3m-connecting-mobile/index.js.map +1 -1
- package/lib/module/partials/w3m-connecting-mobile/styles.js +2 -1
- package/lib/module/partials/w3m-connecting-mobile/styles.js.map +1 -1
- package/lib/module/partials/w3m-connecting-qrcode/index.js +7 -3
- package/lib/module/partials/w3m-connecting-qrcode/index.js.map +1 -1
- package/lib/module/partials/w3m-connecting-web/index.js +11 -4
- package/lib/module/partials/w3m-connecting-web/index.js.map +1 -1
- package/lib/module/partials/w3m-connecting-web/styles.js +3 -0
- package/lib/module/partials/w3m-connecting-web/styles.js.map +1 -1
- package/lib/module/partials/w3m-header/index.js +5 -4
- package/lib/module/partials/w3m-header/index.js.map +1 -1
- package/lib/module/partials/w3m-selector-modal/index.js +10 -2
- package/lib/module/partials/w3m-selector-modal/index.js.map +1 -1
- package/lib/module/utils/SIWXUtil.js +278 -0
- package/lib/module/utils/SIWXUtil.js.map +1 -0
- package/lib/module/views/w3m-account-default-view/index.js +7 -6
- package/lib/module/views/w3m-account-default-view/index.js.map +1 -1
- package/lib/module/views/w3m-account-view/index.js +2 -2
- package/lib/module/views/w3m-account-view/index.js.map +1 -1
- package/lib/module/views/w3m-account-view/styles.js +1 -6
- package/lib/module/views/w3m-account-view/styles.js.map +1 -1
- package/lib/module/views/w3m-all-wallets-view/index.js +7 -4
- package/lib/module/views/w3m-all-wallets-view/index.js.map +1 -1
- package/lib/module/views/w3m-connect-socials-view/index.js +2 -2
- package/lib/module/views/w3m-connect-socials-view/index.js.map +1 -1
- package/lib/module/views/w3m-connect-view/components/all-wallet-list.js +21 -14
- package/lib/module/views/w3m-connect-view/components/all-wallet-list.js.map +1 -1
- package/lib/module/views/w3m-connect-view/index.js +9 -14
- package/lib/module/views/w3m-connect-view/index.js.map +1 -1
- package/lib/module/views/w3m-connecting-external-view/index.js +22 -2
- package/lib/module/views/w3m-connecting-external-view/index.js.map +1 -1
- package/lib/module/views/w3m-connecting-external-view/styles.js +1 -1
- package/lib/module/views/w3m-connecting-external-view/styles.js.map +1 -1
- package/lib/module/views/w3m-connecting-social-view/index.js +3 -2
- package/lib/module/views/w3m-connecting-social-view/index.js.map +1 -1
- package/lib/module/views/w3m-connecting-view/index.js +14 -33
- package/lib/module/views/w3m-connecting-view/index.js.map +1 -1
- package/lib/module/views/w3m-get-wallet-view/index.js +1 -1
- package/lib/module/views/w3m-get-wallet-view/index.js.map +1 -1
- package/lib/module/views/w3m-network-switch-view/index.js +66 -85
- package/lib/module/views/w3m-network-switch-view/index.js.map +1 -1
- package/lib/module/views/w3m-networks-view/index.js +18 -11
- package/lib/module/views/w3m-networks-view/index.js.map +1 -1
- package/lib/module/views/w3m-onramp-checkout-view/index.js +1 -1
- package/lib/module/views/w3m-onramp-checkout-view/index.js.map +1 -1
- package/lib/module/views/w3m-onramp-loading-view/styles.js +1 -1
- package/lib/module/views/w3m-onramp-loading-view/styles.js.map +1 -1
- package/lib/module/views/w3m-onramp-settings-view/components/Country.js +3 -1
- package/lib/module/views/w3m-onramp-settings-view/components/Country.js.map +1 -1
- package/lib/module/views/w3m-onramp-settings-view/index.js +12 -5
- package/lib/module/views/w3m-onramp-settings-view/index.js.map +1 -1
- package/lib/module/views/w3m-onramp-settings-view/utils.js +14 -0
- package/lib/module/views/w3m-onramp-settings-view/utils.js.map +1 -1
- package/lib/module/views/w3m-onramp-transaction-view/index.js +1 -1
- package/lib/module/views/w3m-onramp-transaction-view/index.js.map +1 -1
- package/lib/module/views/w3m-onramp-view/components/Header.js +1 -1
- package/lib/module/views/w3m-onramp-view/components/LoadingView.js +1 -1
- package/lib/module/views/w3m-onramp-view/components/LoadingView.js.map +1 -1
- package/lib/module/views/w3m-onramp-view/index.js +3 -3
- package/lib/module/views/w3m-onramp-view/index.js.map +1 -1
- package/lib/module/views/w3m-siwx-sign-view/index.js +105 -0
- package/lib/module/views/w3m-siwx-sign-view/index.js.map +1 -0
- package/lib/module/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.js +0 -7
- package/lib/module/views/w3m-siwx-sign-view/styles.js.map +1 -0
- package/lib/module/views/w3m-swap-preview-view/index.js +1 -1
- package/lib/module/views/w3m-swap-preview-view/index.js.map +1 -1
- package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js +1 -2
- package/lib/module/views/w3m-swap-view/components/select-token-modal/index.js.map +1 -1
- package/lib/module/views/w3m-swap-view/index.js +9 -6
- package/lib/module/views/w3m-swap-view/index.js.map +1 -1
- package/lib/module/views/w3m-unsupported-chain-view/index.js +8 -14
- package/lib/module/views/w3m-unsupported-chain-view/index.js.map +1 -1
- package/lib/module/views/w3m-unsupported-chain-view/styles.js +1 -1
- package/lib/module/views/w3m-unsupported-chain-view/styles.js.map +1 -1
- package/lib/module/views/w3m-upgrade-email-wallet-view/index.js +4 -6
- package/lib/module/views/w3m-upgrade-email-wallet-view/index.js.map +1 -1
- package/lib/module/views/w3m-wallet-receive-view/index.js +1 -1
- package/lib/module/views/w3m-wallet-receive-view/index.js.map +1 -1
- package/lib/module/views/w3m-wallet-send-preview-view/index.js +1 -1
- package/lib/module/views/w3m-wallet-send-preview-view/index.js.map +1 -1
- package/lib/module/views/w3m-wallet-send-select-token-view/index.js +1 -1
- package/lib/module/views/w3m-wallet-send-select-token-view/index.js.map +1 -1
- package/lib/module/views/w3m-wallet-send-view/index.js +8 -5
- package/lib/module/views/w3m-wallet-send-view/index.js.map +1 -1
- package/lib/module/views/w3m-what-is-a-network-view/index.js +1 -1
- package/lib/module/views/w3m-what-is-a-network-view/index.js.map +1 -1
- package/lib/module/views/w3m-what-is-a-wallet-view/index.js +2 -2
- package/lib/module/views/w3m-what-is-a-wallet-view/index.js.map +1 -1
- package/lib/typescript/AppKit.d.ts +13 -4
- package/lib/typescript/AppKit.d.ts.map +1 -1
- package/lib/typescript/AppKitContext.d.ts +1 -1
- package/lib/typescript/AppKitContext.d.ts.map +1 -1
- package/lib/typescript/connectors/WalletConnectConnector.d.ts.map +1 -1
- package/lib/typescript/hooks/useAccount.d.ts +33 -1
- package/lib/typescript/hooks/useAccount.d.ts.map +1 -1
- package/lib/typescript/hooks/useAppKit.d.ts +2 -2
- package/lib/typescript/hooks/useAppKit.d.ts.map +1 -1
- package/lib/typescript/hooks/useAppKitEvents.d.ts +75 -21
- package/lib/typescript/hooks/useAppKitEvents.d.ts.map +1 -1
- package/lib/typescript/hooks/useAppKitLogs.d.ts +57 -0
- package/lib/typescript/hooks/useAppKitLogs.d.ts.map +1 -0
- package/lib/typescript/hooks/useAppKitState.d.ts +38 -0
- package/lib/typescript/hooks/useAppKitState.d.ts.map +1 -0
- package/lib/typescript/hooks/useProvider.d.ts.map +1 -1
- package/lib/typescript/hooks/useWalletInfo.d.ts +1 -0
- package/lib/typescript/hooks/useWalletInfo.d.ts.map +1 -1
- package/lib/typescript/index.d.ts +5 -0
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/modal/w3m-modal/index.d.ts.map +1 -1
- package/lib/typescript/modal/w3m-router/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts +3 -1
- package/lib/typescript/partials/w3m-all-wallets-list/components/Loading.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts +4 -2
- package/lib/typescript/partials/w3m-all-wallets-list/components/WalletItem.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts +5 -2
- package/lib/typescript/partials/w3m-all-wallets-list/components/WalletList.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts +1 -1
- package/lib/typescript/partials/w3m-all-wallets-list/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts +3 -0
- package/lib/typescript/partials/w3m-all-wallets-list/styles.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts +1 -1
- package/lib/typescript/partials/w3m-all-wallets-search/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts +2 -0
- package/lib/typescript/partials/w3m-all-wallets-search/styles.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-connecting-mobile/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts +1 -0
- package/lib/typescript/partials/w3m-connecting-mobile/styles.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-connecting-qrcode/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-connecting-web/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-connecting-web/styles.d.ts +3 -0
- package/lib/typescript/partials/w3m-connecting-web/styles.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-header/index.d.ts.map +1 -1
- package/lib/typescript/partials/w3m-selector-modal/index.d.ts +3 -1
- package/lib/typescript/partials/w3m-selector-modal/index.d.ts.map +1 -1
- package/lib/typescript/types.d.ts +6 -7
- package/lib/typescript/types.d.ts.map +1 -1
- package/lib/typescript/utils/SIWXUtil.d.ts +34 -0
- package/lib/typescript/utils/SIWXUtil.d.ts.map +1 -0
- package/lib/typescript/views/w3m-account-default-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-account-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-account-view/styles.d.ts +0 -3
- package/lib/typescript/views/w3m-account-view/styles.d.ts.map +1 -1
- package/lib/typescript/views/w3m-all-wallets-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-connect-view/components/all-wallet-list.d.ts +1 -1
- package/lib/typescript/views/w3m-connect-view/components/all-wallet-list.d.ts.map +1 -1
- package/lib/typescript/views/w3m-connect-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-connecting-external-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-connecting-social-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-connecting-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-network-switch-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-networks-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts +2 -1
- package/lib/typescript/views/w3m-onramp-settings-view/components/Country.d.ts.map +1 -1
- package/lib/typescript/views/w3m-onramp-settings-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts +2 -0
- package/lib/typescript/views/w3m-onramp-settings-view/utils.d.ts.map +1 -1
- package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts +2 -0
- package/lib/typescript/views/w3m-siwx-sign-view/index.d.ts.map +1 -0
- package/lib/typescript/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.d.ts +0 -7
- package/lib/typescript/views/w3m-siwx-sign-view/styles.d.ts.map +1 -0
- package/lib/typescript/views/w3m-swap-view/components/select-token-modal/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-unsupported-chain-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-upgrade-email-wallet-view/index.d.ts.map +1 -1
- package/lib/typescript/views/w3m-wallet-send-view/index.d.ts.map +1 -1
- package/package.json +10 -9
- package/src/AppKit.ts +161 -116
- package/src/AppKitContext.tsx +19 -11
- package/src/connectors/WalletConnectConnector.ts +47 -75
- package/src/hooks/useAccount.ts +15 -5
- package/src/hooks/useAppKit.ts +19 -13
- package/src/hooks/useAppKitLogs.ts +129 -0
- package/src/hooks/useAppKitState.ts +26 -0
- package/src/hooks/useProvider.ts +11 -5
- package/src/hooks/useWalletInfo.ts +5 -2
- package/src/index.ts +12 -0
- package/src/modal/w3m-modal/index.tsx +12 -2
- package/src/modal/w3m-router/index.tsx +17 -20
- package/src/partials/w3m-account-activity/index.tsx +1 -1
- package/src/partials/w3m-account-wallet-features/index.tsx +1 -1
- package/src/partials/w3m-all-wallets-list/components/Loading.tsx +10 -2
- package/src/partials/w3m-all-wallets-list/components/WalletItem.tsx +13 -3
- package/src/partials/w3m-all-wallets-list/components/WalletList.tsx +15 -6
- package/src/partials/w3m-all-wallets-list/index.tsx +21 -10
- package/src/partials/w3m-all-wallets-list/styles.ts +3 -0
- package/src/partials/w3m-all-wallets-search/index.tsx +28 -16
- package/src/partials/w3m-all-wallets-search/styles.ts +3 -1
- package/src/partials/w3m-connecting-mobile/index.tsx +24 -2
- package/src/partials/w3m-connecting-mobile/styles.ts +2 -1
- package/src/partials/w3m-connecting-qrcode/index.tsx +9 -3
- package/src/partials/w3m-connecting-web/index.tsx +13 -5
- package/src/partials/w3m-connecting-web/styles.ts +3 -0
- package/src/partials/w3m-header/index.tsx +7 -4
- package/src/partials/w3m-selector-modal/index.tsx +10 -2
- package/src/types.ts +7 -8
- package/src/utils/SIWXUtil.ts +364 -0
- package/src/views/w3m-account-default-view/index.tsx +8 -6
- package/src/views/w3m-account-view/index.tsx +1 -9
- package/src/views/w3m-account-view/styles.ts +1 -4
- package/src/views/w3m-all-wallets-view/index.tsx +11 -4
- package/src/views/w3m-connect-socials-view/index.tsx +2 -2
- package/src/views/w3m-connect-view/components/all-wallet-list.tsx +31 -22
- package/src/views/w3m-connect-view/index.tsx +8 -9
- package/src/views/w3m-connecting-external-view/index.tsx +24 -2
- package/src/views/w3m-connecting-external-view/styles.ts +1 -1
- package/src/views/w3m-connecting-social-view/index.tsx +4 -2
- package/src/views/w3m-connecting-view/index.tsx +16 -33
- package/src/views/w3m-get-wallet-view/index.tsx +1 -1
- package/src/views/w3m-network-switch-view/index.tsx +72 -98
- package/src/views/w3m-networks-view/index.tsx +20 -14
- package/src/views/w3m-onramp-checkout-view/index.tsx +1 -1
- package/src/views/w3m-onramp-loading-view/styles.ts +1 -1
- package/src/views/w3m-onramp-settings-view/components/Country.tsx +3 -1
- package/src/views/w3m-onramp-settings-view/index.tsx +13 -3
- package/src/views/w3m-onramp-settings-view/utils.ts +18 -0
- package/src/views/w3m-onramp-transaction-view/index.tsx +1 -1
- package/src/views/w3m-onramp-view/components/Header.tsx +1 -1
- package/src/views/w3m-onramp-view/components/LoadingView.tsx +1 -1
- package/src/views/w3m-onramp-view/index.tsx +3 -3
- package/src/views/w3m-siwx-sign-view/index.tsx +98 -0
- package/src/views/{w3m-connecting-siwe-view → w3m-siwx-sign-view}/styles.ts +0 -7
- package/src/views/w3m-swap-preview-view/index.tsx +1 -1
- package/src/views/w3m-swap-view/components/select-token-modal/index.tsx +2 -4
- package/src/views/w3m-swap-view/index.tsx +7 -7
- package/src/views/w3m-unsupported-chain-view/index.tsx +5 -7
- package/src/views/w3m-unsupported-chain-view/styles.ts +1 -1
- package/src/views/w3m-upgrade-email-wallet-view/index.tsx +4 -6
- package/src/views/w3m-wallet-receive-view/index.tsx +1 -1
- package/src/views/w3m-wallet-send-preview-view/index.tsx +1 -1
- package/src/views/w3m-wallet-send-select-token-view/index.tsx +1 -1
- package/src/views/w3m-wallet-send-view/index.tsx +4 -3
- package/src/views/w3m-what-is-a-network-view/index.tsx +1 -1
- package/src/views/w3m-what-is-a-wallet-view/index.tsx +2 -2
- package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js +0 -45
- package/lib/commonjs/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
- package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js +0 -41
- package/lib/commonjs/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
- package/lib/commonjs/views/w3m-connect-view/utils.js +0 -14
- package/lib/commonjs/views/w3m-connect-view/utils.js.map +0 -1
- package/lib/commonjs/views/w3m-connecting-siwe-view/index.js +0 -145
- package/lib/commonjs/views/w3m-connecting-siwe-view/index.js.map +0 -1
- package/lib/commonjs/views/w3m-connecting-siwe-view/styles.js.map +0 -1
- package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js +0 -41
- package/lib/module/views/w3m-connect-view/components/custom-wallet-list.js.map +0 -1
- package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js +0 -37
- package/lib/module/views/w3m-connect-view/components/recent-wallet-list.js.map +0 -1
- package/lib/module/views/w3m-connect-view/utils.js +0 -9
- package/lib/module/views/w3m-connect-view/utils.js.map +0 -1
- package/lib/module/views/w3m-connecting-siwe-view/index.js +0 -140
- package/lib/module/views/w3m-connecting-siwe-view/index.js.map +0 -1
- package/lib/module/views/w3m-connecting-siwe-view/styles.js.map +0 -1
- package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts +0 -9
- package/lib/typescript/views/w3m-connect-view/components/custom-wallet-list.d.ts.map +0 -1
- package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts +0 -9
- package/lib/typescript/views/w3m-connect-view/components/recent-wallet-list.d.ts.map +0 -1
- package/lib/typescript/views/w3m-connect-view/utils.d.ts +0 -3
- package/lib/typescript/views/w3m-connect-view/utils.d.ts.map +0 -1
- package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts +0 -2
- package/lib/typescript/views/w3m-connecting-siwe-view/index.d.ts.map +0 -1
- package/lib/typescript/views/w3m-connecting-siwe-view/styles.d.ts.map +0 -1
- package/src/views/w3m-connect-view/components/custom-wallet-list.tsx +0 -51
- package/src/views/w3m-connect-view/components/recent-wallet-list.tsx +0 -45
- package/src/views/w3m-connect-view/utils.ts +0 -14
- package/src/views/w3m-connecting-siwe-view/index.tsx +0 -126
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/w3m-swap-view/components/select-token-modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAsBtB,OAAO,EAAE,KAAK,eAAe,EAA6B,MAAM,mCAAmC,CAAC;AAMpG,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/views/w3m-swap-view/components/select-token-modal/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EAML,KAAK,SAAS,EACd,KAAK,SAAS,EACf,MAAM,cAAc,CAAC;AAsBtB,OAAO,EAAE,KAAK,eAAe,EAA6B,MAAM,mCAAmC,CAAC;AAMpG,UAAU,KAAK;IACb,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;CAC9B;AAED,wBAAgB,oBAAoB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,KAAK,2CAuI5E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/w3m-unsupported-chain-view/index.tsx"],"names":[],"mappings":"AAcA,wBAAgB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/w3m-unsupported-chain-view/index.tsx"],"names":[],"mappings":"AAcA,wBAAgB,oBAAoB,4CA8DnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/w3m-upgrade-email-wallet-view/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/w3m-upgrade-email-wallet-view/index.tsx"],"names":[],"mappings":"AAKA,wBAAgB,sBAAsB,4CAoBrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/w3m-wallet-send-view/index.tsx"],"names":[],"mappings":"AAeA,wBAAgB,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/views/w3m-wallet-send-view/index.tsx"],"names":[],"mappings":"AAeA,wBAAgB,cAAc,4CAyG7B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reown/appkit-react-native",
|
|
3
|
-
"version": "0.0.0-fix-
|
|
3
|
+
"version": "0.0.0-fix-singleton-appkit-20251001153745",
|
|
4
4
|
"main": "lib/commonjs/index.js",
|
|
5
5
|
"types": "lib/typescript/index.d.ts",
|
|
6
6
|
"module": "lib/module/index.js",
|
|
@@ -29,27 +29,28 @@
|
|
|
29
29
|
"repository": "https://github.com/reown-com/appkit-react-native",
|
|
30
30
|
"author": "Reown (https://discord.gg/reown)",
|
|
31
31
|
"homepage": "https://reown.com/appkit",
|
|
32
|
-
"license": "
|
|
32
|
+
"license": "SEE LICENSE IN LICENSE.md",
|
|
33
33
|
"bugs": {
|
|
34
34
|
"url": "https://github.com/reown-com/appkit-react-native/issues"
|
|
35
35
|
},
|
|
36
36
|
"publishConfig": {
|
|
37
37
|
"registry": "https://registry.npmjs.org/",
|
|
38
|
-
"access": "public"
|
|
38
|
+
"access": "public",
|
|
39
|
+
"provenance": true
|
|
39
40
|
},
|
|
40
41
|
"dependencies": {
|
|
41
|
-
"@reown/appkit-common-react-native": "0.0.0-fix-
|
|
42
|
-
"@reown/appkit-core-react-native": "0.0.0-fix-
|
|
43
|
-
"@reown/appkit-
|
|
44
|
-
"@
|
|
45
|
-
"
|
|
46
|
-
"valtio": "2.1.5"
|
|
42
|
+
"@reown/appkit-common-react-native": "0.0.0-fix-singleton-appkit-20251001153745",
|
|
43
|
+
"@reown/appkit-core-react-native": "0.0.0-fix-singleton-appkit-20251001153745",
|
|
44
|
+
"@reown/appkit-ui-react-native": "0.0.0-fix-singleton-appkit-20251001153745",
|
|
45
|
+
"@walletconnect/universal-provider": "2.21.10",
|
|
46
|
+
"valtio": "2.1.8"
|
|
47
47
|
},
|
|
48
48
|
"peerDependencies": {
|
|
49
49
|
"@walletconnect/react-native-compat": ">=2.16.1",
|
|
50
50
|
"@walletconnect/utils": ">=2.16.1",
|
|
51
51
|
"react": ">=18",
|
|
52
52
|
"react-native": ">=0.72",
|
|
53
|
+
"react-native-safe-area-context": ">=4.4.0",
|
|
53
54
|
"react-native-svg": ">=13.10"
|
|
54
55
|
},
|
|
55
56
|
"eslintIgnore": [
|
package/src/AppKit.ts
CHANGED
|
@@ -14,7 +14,9 @@ import {
|
|
|
14
14
|
CoreHelperUtil,
|
|
15
15
|
SendController,
|
|
16
16
|
BlockchainApiController,
|
|
17
|
-
WalletUtil
|
|
17
|
+
WalletUtil,
|
|
18
|
+
LogController,
|
|
19
|
+
type RouterControllerState
|
|
18
20
|
} from '@reown/appkit-core-react-native';
|
|
19
21
|
|
|
20
22
|
import {
|
|
@@ -36,13 +38,20 @@ import {
|
|
|
36
38
|
type Connection,
|
|
37
39
|
type WcWallet
|
|
38
40
|
} from '@reown/appkit-common-react-native';
|
|
39
|
-
import { SIWEController } from '@reown/appkit-siwe-react-native';
|
|
40
41
|
|
|
41
42
|
import { WalletConnectConnector } from './connectors/WalletConnectConnector';
|
|
42
43
|
import { WcHelpersUtil } from './utils/HelpersUtil';
|
|
43
44
|
import { NetworkUtil } from './utils/NetworkUtil';
|
|
44
45
|
import { RouterUtil } from './utils/RouterUtil';
|
|
45
46
|
import { type AppKitConfig } from './types';
|
|
47
|
+
import { SIWXUtil } from './utils/SIWXUtil';
|
|
48
|
+
|
|
49
|
+
const APPKIT_INSTANCE_KEY = Symbol.for('__REOWN_APPKIT_INSTANCE__');
|
|
50
|
+
|
|
51
|
+
// Type helper to access the symbol-keyed property on globalThis
|
|
52
|
+
interface GlobalWithAppKit {
|
|
53
|
+
[key: symbol]: AppKit | undefined;
|
|
54
|
+
}
|
|
46
55
|
|
|
47
56
|
export class AppKit {
|
|
48
57
|
private projectId: string;
|
|
@@ -130,8 +139,7 @@ export class AppKit {
|
|
|
130
139
|
const approvedNamespaces = await connector.connect({
|
|
131
140
|
namespaces: this.namespaces,
|
|
132
141
|
defaultNetwork: chain,
|
|
133
|
-
universalLink: targetWallet?.link_mode ?? undefined
|
|
134
|
-
siweConfig: this.config?.siweConfig
|
|
142
|
+
universalLink: targetWallet?.link_mode ?? undefined
|
|
135
143
|
});
|
|
136
144
|
|
|
137
145
|
this.processConnection(connector, approvedNamespaces);
|
|
@@ -144,16 +152,12 @@ export class AppKit {
|
|
|
144
152
|
});
|
|
145
153
|
}
|
|
146
154
|
} catch (error) {
|
|
147
|
-
|
|
155
|
+
LogController.sendError(error, 'AppKit.ts', 'connect');
|
|
148
156
|
throw error;
|
|
149
157
|
}
|
|
150
158
|
}
|
|
151
159
|
|
|
152
|
-
private processConnection(
|
|
153
|
-
connector: WalletConnector,
|
|
154
|
-
namespaces?: Namespaces,
|
|
155
|
-
shouldCloseModal: boolean = true
|
|
156
|
-
) {
|
|
160
|
+
private async processConnection(connector: WalletConnector, namespaces?: Namespaces) {
|
|
157
161
|
if (!namespaces || Object.keys(namespaces).length === 0) {
|
|
158
162
|
throw new Error('No namespaces provided');
|
|
159
163
|
}
|
|
@@ -173,21 +177,9 @@ export class AppKit {
|
|
|
173
177
|
this.setConnection(initializedAdapters, namespaces, walletInfo, properties);
|
|
174
178
|
|
|
175
179
|
// Sync accounts
|
|
176
|
-
this.syncAccounts(initializedAdapters);
|
|
177
|
-
|
|
178
|
-
// Handle SIWE if enabled
|
|
179
|
-
this.handleSiweConnectionIfEnabled(shouldCloseModal);
|
|
180
|
-
}
|
|
180
|
+
await this.syncAccounts(initializedAdapters);
|
|
181
181
|
|
|
182
|
-
|
|
183
|
-
if (
|
|
184
|
-
OptionsController.state.isSiweEnabled &&
|
|
185
|
-
ConnectionsController.state.activeNamespace === 'eip155'
|
|
186
|
-
) {
|
|
187
|
-
this.handleSiweChange({ isConnection: true });
|
|
188
|
-
} else if (shouldCloseModal) {
|
|
189
|
-
ModalController.close();
|
|
190
|
-
}
|
|
182
|
+
await SIWXUtil.initializeIfEnabled({ onDisconnect: this.disconnect, closeModal: true });
|
|
191
183
|
}
|
|
192
184
|
|
|
193
185
|
/**
|
|
@@ -195,7 +187,7 @@ export class AppKit {
|
|
|
195
187
|
* @param namespace - The namespace to disconnect from.
|
|
196
188
|
* @param isInternal - Whether the disconnect is internal (i.e. from the AppKit) or external (i.e. from wallet side).
|
|
197
189
|
*/
|
|
198
|
-
async disconnect(namespace?:
|
|
190
|
+
async disconnect(namespace?: ChainNamespace, isInternal?: boolean): Promise<void> {
|
|
199
191
|
try {
|
|
200
192
|
const activeNamespace = namespace ?? ConnectionsController.state.activeNamespace;
|
|
201
193
|
|
|
@@ -229,15 +221,19 @@ export class AppKit {
|
|
|
229
221
|
);
|
|
230
222
|
}
|
|
231
223
|
|
|
232
|
-
if (
|
|
233
|
-
await
|
|
224
|
+
if (SIWXUtil.getSIWX()?.signOutOnDisconnect) {
|
|
225
|
+
await SIWXUtil.clearSessions();
|
|
234
226
|
}
|
|
235
227
|
|
|
236
228
|
EventsController.sendEvent({
|
|
237
229
|
type: 'track',
|
|
238
|
-
event: 'DISCONNECT_SUCCESS'
|
|
230
|
+
event: 'DISCONNECT_SUCCESS',
|
|
231
|
+
properties: {
|
|
232
|
+
namespace: activeNamespace
|
|
233
|
+
}
|
|
239
234
|
});
|
|
240
235
|
} catch (error) {
|
|
236
|
+
LogController.sendError(error, 'AppKit.ts', 'disconnect');
|
|
241
237
|
EventsController.sendEvent({
|
|
242
238
|
type: 'track',
|
|
243
239
|
event: 'DISCONNECT_ERROR'
|
|
@@ -284,15 +280,11 @@ export class AppKit {
|
|
|
284
280
|
type: 'track',
|
|
285
281
|
event: 'SWITCH_NETWORK',
|
|
286
282
|
properties: {
|
|
287
|
-
network: network.
|
|
283
|
+
network: network.caipNetworkId
|
|
288
284
|
}
|
|
289
285
|
});
|
|
290
286
|
|
|
291
287
|
ConnectionsController.setActiveNetwork(network.chainNamespace, network.caipNetworkId);
|
|
292
|
-
|
|
293
|
-
if (ConnectionsController.state.activeNamespace !== network.chainNamespace) {
|
|
294
|
-
ConnectionsController.setActiveNamespace(network.chainNamespace);
|
|
295
|
-
}
|
|
296
288
|
}
|
|
297
289
|
|
|
298
290
|
open(options?: AppKitOpenOptions) {
|
|
@@ -301,19 +293,19 @@ export class AppKit {
|
|
|
301
293
|
|
|
302
294
|
async close() {
|
|
303
295
|
ModalController.close();
|
|
296
|
+
const isSIWXRequired = SIWXUtil.getSIWX()?.getRequired?.();
|
|
304
297
|
|
|
305
|
-
if (
|
|
306
|
-
const
|
|
307
|
-
if (
|
|
308
|
-
|
|
309
|
-
SIWEController.state.status !== 'success' &&
|
|
310
|
-
ConnectionsController.state.activeNamespace === 'eip155' &&
|
|
311
|
-
!!ConnectionsController.state.activeAddress
|
|
312
|
-
) {
|
|
313
|
-
await this.disconnect();
|
|
298
|
+
if (isSIWXRequired && ConnectionsController.state.isConnected) {
|
|
299
|
+
const sessions = await SIWXUtil.getSessions();
|
|
300
|
+
if (!sessions.length) {
|
|
301
|
+
return await this.disconnect();
|
|
314
302
|
}
|
|
315
303
|
}
|
|
316
304
|
|
|
305
|
+
if (RouterController.state.view === 'UnsupportedChain') {
|
|
306
|
+
return await this.disconnect();
|
|
307
|
+
}
|
|
308
|
+
|
|
317
309
|
RouterUtil.checkOnRampBack();
|
|
318
310
|
RouterUtil.checkSocialLoginBack();
|
|
319
311
|
}
|
|
@@ -325,6 +317,13 @@ export class AppKit {
|
|
|
325
317
|
return RouterController.goBack();
|
|
326
318
|
}
|
|
327
319
|
|
|
320
|
+
const isSIWXRequired = SIWXUtil.getSIWX()?.getRequired?.();
|
|
321
|
+
|
|
322
|
+
if (isSIWXRequired) {
|
|
323
|
+
// Don't close the modal if SIWX is required
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
|
|
328
327
|
return this.close();
|
|
329
328
|
}
|
|
330
329
|
|
|
@@ -395,25 +394,44 @@ export class AppKit {
|
|
|
395
394
|
* This attempts to restore previous sessions.
|
|
396
395
|
*/
|
|
397
396
|
private async initConnectors() {
|
|
397
|
+
ModalController.setLoading(true);
|
|
398
|
+
|
|
399
|
+
//Always init the walletconnect connector
|
|
400
|
+
await this.createWalletConnectConnector();
|
|
401
|
+
|
|
398
402
|
const connectedConnectors = await StorageUtil.getConnectedConnectors();
|
|
399
403
|
if (connectedConnectors.length > 0) {
|
|
400
|
-
ModalController.setLoading(true);
|
|
401
|
-
|
|
402
404
|
for (const connected of connectedConnectors) {
|
|
403
405
|
try {
|
|
404
406
|
const connector = await this.createConnector(connected.type);
|
|
405
407
|
|
|
406
408
|
const namespaces = connector.getNamespaces();
|
|
407
409
|
|
|
408
|
-
this.processConnection(connector, namespaces
|
|
410
|
+
await this.processConnection(connector, namespaces);
|
|
409
411
|
} catch (error) {
|
|
410
|
-
|
|
411
|
-
|
|
412
|
+
LogController.sendError(error, 'AppKit.ts', 'initializeConnector', {
|
|
413
|
+
connectorType: connected.type
|
|
414
|
+
});
|
|
412
415
|
await StorageUtil.removeConnectedConnectors(connected.type);
|
|
413
416
|
}
|
|
414
417
|
}
|
|
415
|
-
|
|
418
|
+
|
|
419
|
+
const address = ConnectionsController.state.activeAddress;
|
|
420
|
+
const walletInfo = ConnectionsController.state.walletInfo;
|
|
421
|
+
if (address) {
|
|
422
|
+
EventsController.sendEvent({
|
|
423
|
+
type: 'track',
|
|
424
|
+
event: 'CONNECT_SUCCESS',
|
|
425
|
+
address: CoreHelperUtil.getPlainAddress(address),
|
|
426
|
+
properties: {
|
|
427
|
+
name: walletInfo?.name ?? 'Unknown',
|
|
428
|
+
reconnect: true
|
|
429
|
+
}
|
|
430
|
+
});
|
|
431
|
+
}
|
|
416
432
|
}
|
|
433
|
+
|
|
434
|
+
ModalController.setLoading(false);
|
|
417
435
|
}
|
|
418
436
|
|
|
419
437
|
private setupAdaptersAndSubscribe(
|
|
@@ -505,12 +523,13 @@ export class AppKit {
|
|
|
505
523
|
);
|
|
506
524
|
}
|
|
507
525
|
} catch (error) {
|
|
526
|
+
LogController.sendError(error, 'AppKit.ts', 'syncIdentity');
|
|
508
527
|
// Continue processing other addresses even if one fails
|
|
509
528
|
}
|
|
510
529
|
}
|
|
511
530
|
}
|
|
512
531
|
|
|
513
|
-
private
|
|
532
|
+
private refreshBalance(fetchAllBalances: boolean = false) {
|
|
514
533
|
try {
|
|
515
534
|
if (fetchAllBalances) {
|
|
516
535
|
ConnectionsController.fetchBalance();
|
|
@@ -523,8 +542,9 @@ export class AppKit {
|
|
|
523
542
|
this.syncNativeBalance(adapter, network);
|
|
524
543
|
}
|
|
525
544
|
}
|
|
526
|
-
} catch {
|
|
545
|
+
} catch (error) {
|
|
527
546
|
// ignore
|
|
547
|
+
LogController.sendError(error, 'AppKit.ts', 'refreshBalance');
|
|
528
548
|
}
|
|
529
549
|
}
|
|
530
550
|
|
|
@@ -547,7 +567,6 @@ export class AppKit {
|
|
|
547
567
|
const recomputePolling = () => {
|
|
548
568
|
const open = ModalController.state.open;
|
|
549
569
|
const view = RouterController.state.view;
|
|
550
|
-
|
|
551
570
|
if (open && (view === 'Account' || view === 'AccountDefault')) {
|
|
552
571
|
// fetch all balances when user is using embedded wallet
|
|
553
572
|
this.startBalancePolling(view === 'Account');
|
|
@@ -555,9 +574,7 @@ export class AppKit {
|
|
|
555
574
|
this.stopBalancePolling();
|
|
556
575
|
}
|
|
557
576
|
};
|
|
558
|
-
|
|
559
577
|
recomputePolling();
|
|
560
|
-
|
|
561
578
|
subscribeKey(RouterController.state, 'view', () => recomputePolling());
|
|
562
579
|
subscribeKey(ModalController.state, 'open', () => recomputePolling());
|
|
563
580
|
}
|
|
@@ -578,7 +595,8 @@ export class AppKit {
|
|
|
578
595
|
const caipNetwork = adapter?.connector?.getChainId(namespace);
|
|
579
596
|
const namespaceProperties = {
|
|
580
597
|
...properties,
|
|
581
|
-
smartAccounts: properties?.smartAccounts?.filter(account => account.startsWith(namespace))
|
|
598
|
+
smartAccounts: properties?.smartAccounts?.filter(account => account.startsWith(namespace)),
|
|
599
|
+
canAddEvmChain: wallet?.name === 'MetaMask Wallet' // MetaMask allows adding EVM chains after connecting
|
|
582
600
|
};
|
|
583
601
|
|
|
584
602
|
ConnectionsController.setConnection({
|
|
@@ -605,21 +623,21 @@ export class AppKit {
|
|
|
605
623
|
adapter.on('accountsChanged', ({ accounts }) => {
|
|
606
624
|
const namespace = adapter.getSupportedNamespace();
|
|
607
625
|
ConnectionsController.updateAccounts(namespace, accounts);
|
|
626
|
+
});
|
|
608
627
|
|
|
609
|
-
|
|
610
|
-
|
|
628
|
+
adapter.on('chainChanged', async ({ chainId }) => {
|
|
629
|
+
const isSupported = this.networks.some(network => network.id?.toString() === chainId);
|
|
630
|
+
if (!isSupported) {
|
|
631
|
+
return this.navigate('UnsupportedChain');
|
|
611
632
|
}
|
|
612
|
-
});
|
|
613
633
|
|
|
614
|
-
adapter.on('chainChanged', ({ chainId }) => {
|
|
615
634
|
const namespace = adapter.getSupportedNamespace();
|
|
616
635
|
const chain = `${namespace}:${chainId}` as CaipNetworkId;
|
|
617
636
|
ConnectionsController.setActiveNetwork(namespace, chain);
|
|
637
|
+
|
|
618
638
|
const connection = ConnectionsController.state.connections.get(namespace);
|
|
619
639
|
const isAuth = !!connection?.properties?.provider;
|
|
620
640
|
|
|
621
|
-
const activeNamespace = ConnectionsController.state.activeNamespace;
|
|
622
|
-
|
|
623
641
|
const network = this.networks.find(n => n.id?.toString() === chainId);
|
|
624
642
|
this.syncNativeBalance(adapter, network);
|
|
625
643
|
SendController.resetState();
|
|
@@ -629,20 +647,14 @@ export class AppKit {
|
|
|
629
647
|
ConnectionsController.fetchBalance();
|
|
630
648
|
}
|
|
631
649
|
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
);
|
|
637
|
-
if (address) {
|
|
638
|
-
TransactionsController.fetchTransactions(address, true);
|
|
639
|
-
}
|
|
650
|
+
const address = connection?.accounts?.find(account =>
|
|
651
|
+
account.startsWith(`${namespace}:${chainId}`)
|
|
652
|
+
);
|
|
653
|
+
if (address) {
|
|
654
|
+
TransactionsController.fetchTransactions(address, true);
|
|
640
655
|
}
|
|
641
656
|
|
|
642
|
-
|
|
643
|
-
if (namespace === 'eip155') {
|
|
644
|
-
this.handleSiweChange({ isNetworkChange: true });
|
|
645
|
-
}
|
|
657
|
+
SIWXUtil.initializeIfEnabled({ onDisconnect: this.disconnect, caipAddress: address });
|
|
646
658
|
});
|
|
647
659
|
|
|
648
660
|
adapter.on('disconnect', () => {
|
|
@@ -658,6 +670,7 @@ export class AppKit {
|
|
|
658
670
|
|
|
659
671
|
private async initControllers(options: AppKitConfig) {
|
|
660
672
|
await this.initStorageAndValues(options);
|
|
673
|
+
let defaultNetwork;
|
|
661
674
|
|
|
662
675
|
OptionsController.setProjectId(options.projectId);
|
|
663
676
|
OptionsController.setMetadata(options.metadata);
|
|
@@ -666,16 +679,26 @@ export class AppKit {
|
|
|
666
679
|
this.setCustomWallets(options);
|
|
667
680
|
OptionsController.setFeaturedWalletIds(options.featuredWalletIds);
|
|
668
681
|
OptionsController.setEnableAnalytics(options.enableAnalytics);
|
|
669
|
-
OptionsController.setDebug(options.debug);
|
|
682
|
+
OptionsController.setDebug(options.debug && __DEV__);
|
|
683
|
+
|
|
684
|
+
// Initialize LogController after debug option is set
|
|
685
|
+
LogController.initialize();
|
|
686
|
+
LogController.sendInfo('AppKit initialization started', 'AppKit.ts', 'initControllers', {
|
|
687
|
+
projectId: options.projectId,
|
|
688
|
+
adapters: this.adapters.map(a => a.constructor.name),
|
|
689
|
+
networks: this.networks.map(n => n.name),
|
|
690
|
+
debug: options.debug
|
|
691
|
+
});
|
|
692
|
+
|
|
670
693
|
OptionsController.setFeatures(options.features);
|
|
671
694
|
OptionsController.setRequestedNetworks(this.networks);
|
|
672
695
|
|
|
673
696
|
if (options.defaultNetwork) {
|
|
674
|
-
|
|
675
|
-
OptionsController.setDefaultNetwork(
|
|
697
|
+
defaultNetwork = NetworkUtil.formatNetwork(options.defaultNetwork, this.projectId);
|
|
698
|
+
OptionsController.setDefaultNetwork(defaultNetwork);
|
|
676
699
|
}
|
|
677
700
|
|
|
678
|
-
ThemeController.
|
|
701
|
+
ThemeController.setDefaultThemeMode(options.themeMode);
|
|
679
702
|
ThemeController.setThemeVariables(options.themeVariables);
|
|
680
703
|
|
|
681
704
|
OptionsController.setSdkVersion(
|
|
@@ -688,8 +711,8 @@ export class AppKit {
|
|
|
688
711
|
|
|
689
712
|
ConnectionsController.setNetworks(this.networks);
|
|
690
713
|
|
|
691
|
-
if (options.
|
|
692
|
-
|
|
714
|
+
if (options.siwx) {
|
|
715
|
+
OptionsController.setSiwx(options.siwx);
|
|
693
716
|
}
|
|
694
717
|
|
|
695
718
|
if (
|
|
@@ -698,6 +721,24 @@ export class AppKit {
|
|
|
698
721
|
) {
|
|
699
722
|
OptionsController.setIsOnRampEnabled(true);
|
|
700
723
|
}
|
|
724
|
+
|
|
725
|
+
EventsController.sendEvent({
|
|
726
|
+
type: 'track',
|
|
727
|
+
event: 'INITIALIZE',
|
|
728
|
+
properties: {
|
|
729
|
+
showWallets: options.features?.showWallets,
|
|
730
|
+
themeMode: options.themeMode,
|
|
731
|
+
themeVariables: options.themeVariables,
|
|
732
|
+
networks: this.networks.map(network => network.caipNetworkId).filter(Boolean),
|
|
733
|
+
defaultNetwork: defaultNetwork?.caipNetworkId,
|
|
734
|
+
metadata: options.metadata,
|
|
735
|
+
enableAnalytics: options.enableAnalytics,
|
|
736
|
+
features: options.features,
|
|
737
|
+
adapters: this.adapters.map(adapter => adapter?.constructor?.name).filter(Boolean),
|
|
738
|
+
extraConnectors: this.extraConnectors.map(connector => connector?.type).filter(Boolean),
|
|
739
|
+
siwx: !!options.siwx
|
|
740
|
+
}
|
|
741
|
+
});
|
|
701
742
|
}
|
|
702
743
|
|
|
703
744
|
private async initActiveNamespace() {
|
|
@@ -784,50 +825,54 @@ export class AppKit {
|
|
|
784
825
|
await this.initRecentWallets(options);
|
|
785
826
|
}
|
|
786
827
|
|
|
787
|
-
private
|
|
828
|
+
private navigate = (routeName: RouterControllerState['view']) => {
|
|
829
|
+
if (RouterController.state.view === routeName) {
|
|
830
|
+
return;
|
|
831
|
+
}
|
|
832
|
+
|
|
788
833
|
if (ModalController.state.open) {
|
|
789
|
-
RouterController.push(
|
|
834
|
+
RouterController.push(routeName);
|
|
790
835
|
} else {
|
|
791
|
-
ModalController.open({ view:
|
|
836
|
+
ModalController.open({ view: routeName });
|
|
792
837
|
}
|
|
793
838
|
};
|
|
839
|
+
}
|
|
794
840
|
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
// If the network has changed and signOnNetworkChange is enabled, sign out
|
|
816
|
-
await SIWEController.signOut();
|
|
817
|
-
|
|
818
|
-
return this.onSiweNavigation();
|
|
819
|
-
}
|
|
820
|
-
} else if (!session) {
|
|
821
|
-
// If it's connected but there's no session, show sign view
|
|
822
|
-
return this.onSiweNavigation();
|
|
823
|
-
} else if (isConnection) {
|
|
824
|
-
// Connected with 1CA
|
|
825
|
-
ModalController.close();
|
|
841
|
+
/**
|
|
842
|
+
* Creates or returns the existing AppKit singleton instance.
|
|
843
|
+
*
|
|
844
|
+
* @warning This function implements a singleton pattern. If an instance already exists,
|
|
845
|
+
* it will be returned and the provided config parameter will be IGNORED. If you need to
|
|
846
|
+
* change configuration, you must reload your application or clear the singleton manually.
|
|
847
|
+
*
|
|
848
|
+
* @param config - AppKit configuration options
|
|
849
|
+
* @returns The AppKit singleton instance
|
|
850
|
+
* @throws Error if configuration validation fails
|
|
851
|
+
*/
|
|
852
|
+
export function createAppKit(config: AppKitConfig): AppKit {
|
|
853
|
+
try {
|
|
854
|
+
const globalWithAppKit = globalThis as GlobalWithAppKit;
|
|
855
|
+
|
|
856
|
+
if (!globalWithAppKit[APPKIT_INSTANCE_KEY]) {
|
|
857
|
+
if (config.debug && __DEV__) {
|
|
858
|
+
// using console.log to avoid possible issues with LogController not being initialized
|
|
859
|
+
//eslint-disable-next-line no-console
|
|
860
|
+
console.log('AppKit: Creating new instance - AppKit.ts:createAppKit');
|
|
826
861
|
}
|
|
862
|
+
globalWithAppKit[APPKIT_INSTANCE_KEY] = new AppKit(config);
|
|
863
|
+
} else if (config.debug && __DEV__) {
|
|
864
|
+
//eslint-disable-next-line no-console
|
|
865
|
+
console.log('AppKit: Reusing existing instance - AppKit.ts:createAppKit');
|
|
827
866
|
}
|
|
828
|
-
}
|
|
829
|
-
}
|
|
830
867
|
|
|
831
|
-
|
|
832
|
-
|
|
868
|
+
return globalWithAppKit[APPKIT_INSTANCE_KEY]!;
|
|
869
|
+
} catch (error) {
|
|
870
|
+
if (__DEV__) {
|
|
871
|
+
// using console.error to avoid possible issues with LogController not being initialized
|
|
872
|
+
//eslint-disable-next-line no-console
|
|
873
|
+
console.error('AppKit: Failed to create instance - AppKit.ts:createAppKit', error);
|
|
874
|
+
}
|
|
875
|
+
|
|
876
|
+
throw error;
|
|
877
|
+
}
|
|
833
878
|
}
|
package/src/AppKitContext.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { createContext, useContext, type ReactNode } from 'react';
|
|
1
|
+
import React, { createContext, useContext, useMemo, type ReactNode } from 'react';
|
|
2
2
|
import { AppKit } from './AppKit';
|
|
3
3
|
|
|
4
4
|
interface AppKitContextType {
|
|
@@ -26,14 +26,22 @@ export const useInternalAppKit = () => {
|
|
|
26
26
|
throw new Error('AppKit instance is not yet available in context.');
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
29
|
+
const stableFunctions = useMemo(() => {
|
|
30
|
+
if (!context.appKit) {
|
|
31
|
+
throw new Error('AppKit instance is not available');
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
return {
|
|
35
|
+
connect: context.appKit.connect.bind(context.appKit),
|
|
36
|
+
disconnect: context.appKit.disconnect.bind(context.appKit),
|
|
37
|
+
open: context.appKit.open.bind(context.appKit),
|
|
38
|
+
close: context.appKit.close.bind(context.appKit),
|
|
39
|
+
back: context.appKit.back.bind(context.appKit),
|
|
40
|
+
switchNetwork: context.appKit.switchNetwork.bind(context.appKit),
|
|
41
|
+
getProvider: context.appKit.getProvider.bind(context.appKit),
|
|
42
|
+
switchAccountType: context.appKit.switchAccountType.bind(context.appKit)
|
|
43
|
+
};
|
|
44
|
+
}, [context.appKit]);
|
|
45
|
+
|
|
46
|
+
return stableFunctions;
|
|
39
47
|
};
|