@reown/appkit-react-native 0.0.0-fix-ui-changes-20250829201240 → 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 +5 -3
- 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 +4 -3
- 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/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 +1 -1
- 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 +1 -1
- 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 +5 -3
- 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 +5 -4
- 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/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 +1 -1
- 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 +1 -1
- 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-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 +6 -6
- package/src/types.ts +7 -8
- package/src/utils/SIWXUtil.ts +364 -0
- package/src/views/w3m-account-default-view/index.tsx +6 -4
- 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/LoadingView.tsx +1 -1
- package/src/views/w3m-onramp-view/index.tsx +1 -1
- 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 +1 -1
- 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
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
|
};
|