@multiplatform.one/web3 7.23.2 → 7.25.0
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/README.md +183 -11
- package/dist/cjs/bridge/AuthBridge.cjs +124 -0
- package/dist/cjs/bridge/AuthBridge.native.js +186 -0
- package/dist/cjs/bridge/AuthBridge.native.js.map +1 -0
- package/dist/cjs/bridge/BridgeClient.cjs +12 -9
- package/dist/cjs/bridge/BridgeClient.native.js +17 -12
- package/dist/cjs/bridge/BridgeClient.native.js.map +1 -1
- package/dist/cjs/bridge/BridgeHost.cjs +11 -3
- package/dist/cjs/bridge/BridgeHost.native.js +11 -3
- package/dist/cjs/bridge/BridgeHost.native.js.map +1 -1
- package/dist/cjs/bridge/GpgBridge.cjs +61 -0
- package/dist/cjs/bridge/GpgBridge.native.js +111 -0
- package/dist/cjs/bridge/GpgBridge.native.js.map +1 -0
- package/dist/cjs/bridge/SolanaBridge.native.js.map +1 -1
- package/dist/cjs/bridge/SuiBridge.cjs +51 -0
- package/dist/cjs/bridge/SuiBridge.native.js +99 -0
- package/dist/cjs/bridge/SuiBridge.native.js.map +1 -0
- package/dist/cjs/bridge/authTypes.cjs +28 -0
- package/dist/cjs/bridge/authTypes.native.js +31 -0
- package/dist/cjs/bridge/authTypes.native.js.map +1 -0
- package/dist/cjs/bridge/base64.native.js.map +1 -1
- package/dist/cjs/bridge/bridgeConnector.native.js.map +1 -1
- package/dist/cjs/bridge/core.cjs +65 -0
- package/dist/cjs/bridge/core.native.js +68 -0
- package/dist/cjs/bridge/core.native.js.map +1 -0
- package/dist/cjs/bridge/eip1193.native.js.map +1 -1
- package/dist/cjs/bridge/hosting.cjs +91 -0
- package/dist/cjs/bridge/hosting.native.js +117 -0
- package/dist/cjs/bridge/hosting.native.js.map +1 -0
- package/dist/cjs/bridge/index.cjs +3 -17
- package/dist/cjs/bridge/index.native.js +2 -16
- package/dist/cjs/bridge/index.native.js.map +1 -1
- package/dist/cjs/bridge/nativeHost.cjs +91 -0
- package/dist/cjs/bridge/nativeHost.native.js +118 -0
- package/dist/cjs/bridge/nativeHost.native.js.map +1 -0
- package/dist/cjs/bridge/postMessageTransport.native.js.map +1 -1
- package/dist/cjs/bridge/protocol.cjs +30 -1
- package/dist/cjs/bridge/protocol.native.js +147 -1
- package/dist/cjs/bridge/protocol.native.js.map +1 -1
- package/dist/cjs/bridge/transport.native.js.map +1 -1
- package/dist/cjs/bundler/metaMaskConnectTimeouts.native.js.map +1 -1
- package/dist/cjs/clients/adapter.native.js.map +1 -1
- package/dist/cjs/clients/bitcoin.native.js.map +1 -1
- package/dist/cjs/clients/connector.native.js.map +1 -1
- package/dist/cjs/clients/evm.cjs +299 -11
- package/dist/cjs/clients/evm.native.js +500 -12
- package/dist/cjs/clients/evm.native.js.map +1 -1
- package/dist/cjs/clients/gpg.native.js.map +1 -1
- package/dist/cjs/clients/hooks.native.js.map +1 -1
- package/dist/cjs/clients/index.cjs +5 -0
- package/dist/cjs/clients/index.native.js +5 -0
- package/dist/cjs/clients/index.native.js.map +1 -1
- package/dist/cjs/clients/solana.cjs +39 -21
- package/dist/cjs/clients/solana.native.js +48 -23
- package/dist/cjs/clients/solana.native.js.map +1 -1
- package/dist/cjs/clients/solanaMessage.native.js.map +1 -1
- package/dist/cjs/clients/sui.native.js.map +1 -1
- package/dist/cjs/clients/types.native.js.map +1 -1
- package/dist/cjs/clients/useSolanaClient.native.js.map +1 -1
- package/dist/cjs/clients/walletStandard.native.js.map +1 -1
- package/dist/cjs/components/NetworkSwitcher.native.js.map +1 -1
- package/dist/cjs/components/TransactionStatus.native.js.map +1 -1
- package/dist/cjs/components/index.native.js.map +1 -1
- package/dist/cjs/connectkit/GpgProvider.cjs +44 -0
- package/dist/cjs/connectkit/GpgProvider.native.js +51 -0
- package/dist/cjs/connectkit/GpgProvider.native.js.map +1 -0
- package/dist/cjs/connectkit/adapters/BitcoinAdapter.cjs +5 -14
- package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js +5 -15
- package/dist/cjs/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/EthereumAdapter.cjs +6 -15
- package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js +7 -16
- package/dist/cjs/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/SolanaAdapter.cjs +5 -14
- package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js +5 -15
- package/dist/cjs/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/SuiAdapter.cjs +5 -14
- package/dist/cjs/connectkit/adapters/SuiAdapter.native.js +5 -15
- package/dist/cjs/connectkit/adapters/SuiAdapter.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/discover.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/index.native.js.map +1 -1
- package/dist/cjs/connectkit/adapters/types.native.js.map +1 -1
- package/dist/cjs/connectkit/assets/chains.native.js.map +1 -1
- package/dist/cjs/connectkit/components/BalanceButton/index.native.js +1 -1
- package/dist/cjs/connectkit/components/BalanceButton/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/Avatar/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/Avatar/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/Chain/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/Chain/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelect/index.native.js +2 -2
- package/dist/cjs/connectkit/components/Common/ChainSelect/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectDropdown/index.native.js +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectDropdown/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectDropdown/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectList/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ChainSelectList/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Common/ConnectorList/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectButton/index.native.js +4 -4
- package/dist/cjs/connectkit/components/ConnectButton/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectButton/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.native.js +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectUsing.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +3 -3
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/ConnectWithInjector/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/ConnectModal/demo.native.js +9 -9
- package/dist/cjs/connectkit/components/ConnectModal/demo.native.js.map +1 -1
- package/dist/cjs/connectkit/components/NetworkButton/index.native.js +2 -2
- package/dist/cjs/connectkit/components/NetworkButton/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/About/graphics.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/About/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/About/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Connectors/index.native.js +1 -1
- package/dist/cjs/connectkit/components/Pages/Connectors/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Connectors/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/DownloadApp/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Onboarding/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Onboarding/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Profile/index.native.js +2 -2
- package/dist/cjs/connectkit/components/Pages/Profile/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/Profile/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/SignInWithEthereum/index.native.js +3 -3
- package/dist/cjs/connectkit/components/Pages/SignInWithEthereum/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/SignInWithEthereum/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Pages/SwitchNetworks/index.native.js +1 -1
- package/dist/cjs/connectkit/components/Pages/SwitchNetworks/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Standard/SIWE/index.native.js +1 -1
- package/dist/cjs/connectkit/components/Standard/SIWE/index.native.js.map +1 -1
- package/dist/cjs/connectkit/components/Standard/SIWE/styles.native.js.map +1 -1
- package/dist/cjs/connectkit/components/contexts/web3/index.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/aaveAccountConnector.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/createWalletMessage.cjs +2 -2
- package/dist/cjs/connectkit/connectors/createWalletMessage.native.js +2 -2
- package/dist/cjs/connectkit/connectors/createWalletMessage.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/embeddedDesktop.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/syntheticChains.native.js.map +1 -1
- package/dist/cjs/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
- package/dist/cjs/connectkit/constants/chainConfigs.native.js.map +1 -1
- package/dist/cjs/connectkit/defaultConfig.native.js.map +1 -1
- package/dist/cjs/connectkit/defaultConnectors.native.js.map +1 -1
- package/dist/cjs/connectkit/defaultTransports.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useChainIsSupported.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useChains.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useConnect.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useConnectCallback.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useConnectors.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useEnsFallbackConfig.native.js.map +1 -1
- package/dist/cjs/connectkit/hooks/useLastConnector.native.js.map +1 -1
- package/dist/cjs/connectkit/index.cjs +4 -3
- package/dist/cjs/connectkit/index.native.js +12 -11
- package/dist/cjs/connectkit/index.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/context.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/device.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/index.native.js.map +1 -1
- package/dist/cjs/connectkit/openConnector/launcher.native.js.map +1 -1
- package/dist/cjs/connectkit/profileHeaderAction.native.js +1 -1
- package/dist/cjs/connectkit/profileHeaderAction.native.js.map +1 -1
- package/dist/cjs/connectkit/screens.native.js +7 -7
- package/dist/cjs/connectkit/screens.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/SIWEProvider.cjs +18 -3
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js +18 -3
- package/dist/cjs/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/connectIntent.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/index.native.js.map +1 -1
- package/dist/cjs/connectkit/siwe/useSIWE.native.js.map +1 -1
- package/dist/cjs/connectkit/useWeb3Modal.native.js +2 -2
- package/dist/cjs/connectkit/useWeb3Modal.native.js.map +1 -1
- package/dist/cjs/connectkit/wallets/index.native.js.map +1 -1
- package/dist/cjs/connectkit/wallets/useWallets.native.js.map +1 -1
- package/dist/cjs/connectkit/wallets/walletConfigs.native.js.map +1 -1
- package/dist/cjs/connectkit/web3Bridge.native.js +2 -2
- package/dist/cjs/connectkit/web3Bridge.native.js.map +1 -1
- package/dist/cjs/connectkit/web3Provider.native.js.map +1 -1
- package/dist/cjs/esbuild.native.js.map +1 -1
- package/dist/cjs/examples/LockContract.native.js.map +1 -1
- package/dist/cjs/examples/index.native.js.map +1 -1
- package/dist/cjs/hooks/index.native.js.map +1 -1
- package/dist/cjs/hooks/useContractRead.native.js.map +1 -1
- package/dist/cjs/hooks/useContractWrite.native.js.map +1 -1
- package/dist/cjs/hooks/useWallet.native.js.map +1 -1
- package/dist/cjs/index.cjs +2 -0
- package/dist/cjs/index.native.js +8 -6
- package/dist/cjs/index.native.js.map +1 -1
- package/dist/cjs/keycloak/KeycloakWalletLogin.cjs +255 -0
- package/dist/cjs/keycloak/KeycloakWalletLogin.native.js +33 -0
- package/dist/cjs/keycloak/KeycloakWalletLogin.native.js.map +1 -0
- package/dist/cjs/keycloak/browserFlow.cjs +83 -0
- package/dist/cjs/keycloak/browserFlow.native.js +90 -0
- package/dist/cjs/keycloak/browserFlow.native.js.map +1 -0
- package/dist/cjs/keycloak/device.cjs +36 -0
- package/dist/cjs/keycloak/device.native.js +45 -0
- package/dist/cjs/keycloak/device.native.js.map +1 -0
- package/dist/cjs/keycloak/directGrant.cjs +189 -0
- package/dist/cjs/keycloak/directGrant.native.js +233 -0
- package/dist/cjs/keycloak/directGrant.native.js.map +1 -0
- package/dist/cjs/keycloak/iife.cjs +4 -0
- package/dist/cjs/keycloak/iife.native.js +7 -0
- package/dist/cjs/keycloak/iife.native.js.map +1 -0
- package/dist/cjs/keycloak/index.cjs +53 -0
- package/dist/cjs/keycloak/index.native.js +56 -0
- package/dist/cjs/keycloak/index.native.js.map +1 -0
- package/dist/cjs/keycloak/keycloakWallet.cjs +214 -0
- package/dist/cjs/keycloak/keycloakWallet.native.js +285 -0
- package/dist/cjs/keycloak/keycloakWallet.native.js.map +1 -0
- package/dist/cjs/keycloak/mount.cjs +53 -0
- package/dist/cjs/keycloak/mount.native.js +33 -0
- package/dist/cjs/keycloak/mount.native.js.map +1 -0
- package/dist/cjs/keycloak/registerWallet.cjs +74 -0
- package/dist/cjs/keycloak/registerWallet.native.js +81 -0
- package/dist/cjs/keycloak/registerWallet.native.js.map +1 -0
- package/dist/cjs/keycloak/types.cjs +46 -0
- package/dist/cjs/keycloak/types.native.js +179 -0
- package/dist/cjs/keycloak/types.native.js.map +1 -0
- package/dist/cjs/keycloak/useDirectLogin.cjs +57 -0
- package/dist/cjs/keycloak/useDirectLogin.native.js +77 -0
- package/dist/cjs/keycloak/useDirectLogin.native.js.map +1 -0
- package/dist/cjs/keycloak/useWalletLogin.cjs +97 -0
- package/dist/cjs/keycloak/useWalletLogin.native.js +33 -0
- package/dist/cjs/keycloak/useWalletLogin.native.js.map +1 -0
- package/dist/cjs/message/buildWalletMessage.cjs +113 -0
- package/dist/cjs/message/buildWalletMessage.native.js +121 -0
- package/dist/cjs/message/buildWalletMessage.native.js.map +1 -0
- package/dist/cjs/message/index.cjs +29 -0
- package/dist/cjs/message/index.native.js +32 -0
- package/dist/cjs/message/index.native.js.map +1 -0
- package/dist/cjs/providers/WalletProvider.cjs +10 -2
- package/dist/cjs/providers/WalletProvider.native.js +123 -90
- package/dist/cjs/providers/WalletProvider.native.js.map +1 -1
- package/dist/cjs/providers/index.cjs +1 -0
- package/dist/cjs/providers/index.native.js +1 -0
- package/dist/cjs/providers/index.native.js.map +1 -1
- package/dist/cjs/providers/mockConnector.native.js.map +1 -1
- package/dist/cjs/providers/native/deepLink.cjs +40 -23
- package/dist/cjs/providers/native/deepLink.native.js +43 -25
- package/dist/cjs/providers/native/deepLink.native.js.map +1 -1
- package/dist/cjs/providers/native/inject.cjs +2 -4
- package/dist/cjs/providers/native/inject.native.js +2 -4
- package/dist/cjs/providers/native/inject.native.js.map +1 -1
- package/dist/cjs/providers/native/visibility.native.js.map +1 -1
- package/dist/cjs/providers/walletBridge.cjs +35 -0
- package/dist/cjs/providers/walletBridge.native.js +38 -0
- package/dist/cjs/providers/walletBridge.native.js.map +1 -0
- package/dist/cjs/providers/walletConfig.native.js.map +1 -1
- package/dist/cjs/siws/index.native.js.map +1 -1
- package/dist/cjs/siws/message.cjs +5 -16
- package/dist/cjs/siws/message.native.js +6 -16
- package/dist/cjs/siws/message.native.js.map +1 -1
- package/dist/cjs/siws/signWithBridge.native.js.map +1 -1
- package/dist/cjs/siws/verify.native.js.map +1 -1
- package/dist/cjs/solana.native.js.map +1 -1
- package/dist/cjs/vite.native.js.map +1 -1
- package/dist/esm/bridge/AuthBridge.mjs +99 -0
- package/dist/esm/bridge/AuthBridge.mjs.map +1 -0
- package/dist/esm/bridge/AuthBridge.native.js +158 -0
- package/dist/esm/bridge/AuthBridge.native.js.map +1 -0
- package/dist/esm/bridge/BridgeClient.mjs +13 -10
- package/dist/esm/bridge/BridgeClient.mjs.map +1 -1
- package/dist/esm/bridge/BridgeClient.native.js +18 -13
- package/dist/esm/bridge/BridgeClient.native.js.map +1 -1
- package/dist/esm/bridge/BridgeHost.mjs +12 -4
- package/dist/esm/bridge/BridgeHost.mjs.map +1 -1
- package/dist/esm/bridge/BridgeHost.native.js +12 -4
- package/dist/esm/bridge/BridgeHost.native.js.map +1 -1
- package/dist/esm/bridge/GpgBridge.mjs +36 -0
- package/dist/esm/bridge/GpgBridge.mjs.map +1 -0
- package/dist/esm/bridge/GpgBridge.native.js +83 -0
- package/dist/esm/bridge/GpgBridge.native.js.map +1 -0
- package/dist/esm/bridge/SolanaBridge.native.js.map +1 -1
- package/dist/esm/bridge/SuiBridge.mjs +26 -0
- package/dist/esm/bridge/SuiBridge.mjs.map +1 -0
- package/dist/esm/bridge/SuiBridge.native.js +71 -0
- package/dist/esm/bridge/SuiBridge.native.js.map +1 -0
- package/dist/esm/bridge/authTypes.mjs +3 -0
- package/dist/esm/bridge/authTypes.mjs.map +1 -0
- package/dist/esm/bridge/authTypes.native.js +3 -0
- package/dist/esm/bridge/authTypes.native.js.map +1 -0
- package/dist/esm/bridge/base64.native.js.map +1 -1
- package/dist/esm/bridge/bridgeConnector.native.js.map +1 -1
- package/dist/esm/bridge/core.mjs +17 -0
- package/dist/esm/bridge/core.mjs.map +1 -0
- package/dist/esm/bridge/core.native.js +17 -0
- package/dist/esm/bridge/core.native.js.map +1 -0
- package/dist/esm/bridge/eip1193.native.js.map +1 -1
- package/dist/esm/bridge/hosting.mjs +62 -0
- package/dist/esm/bridge/hosting.mjs.map +1 -0
- package/dist/esm/bridge/hosting.native.js +85 -0
- package/dist/esm/bridge/hosting.native.js.map +1 -0
- package/dist/esm/bridge/index.mjs +2 -9
- package/dist/esm/bridge/index.mjs.map +1 -1
- package/dist/esm/bridge/index.native.js +2 -9
- package/dist/esm/bridge/index.native.js.map +1 -1
- package/dist/esm/bridge/nativeHost.mjs +65 -0
- package/dist/esm/bridge/nativeHost.mjs.map +1 -0
- package/dist/esm/bridge/nativeHost.native.js +89 -0
- package/dist/esm/bridge/nativeHost.native.js.map +1 -0
- package/dist/esm/bridge/postMessageTransport.native.js.map +1 -1
- package/dist/esm/bridge/protocol.mjs +28 -2
- package/dist/esm/bridge/protocol.mjs.map +1 -1
- package/dist/esm/bridge/protocol.native.js +145 -2
- package/dist/esm/bridge/protocol.native.js.map +1 -1
- package/dist/esm/bridge/transport.native.js.map +1 -1
- package/dist/esm/bundler/metaMaskConnectTimeouts.native.js.map +1 -1
- package/dist/esm/clients/adapter.native.js.map +1 -1
- package/dist/esm/clients/bitcoin.native.js.map +1 -1
- package/dist/esm/clients/connector.native.js.map +1 -1
- package/dist/esm/clients/evm.mjs +295 -12
- package/dist/esm/clients/evm.mjs.map +1 -1
- package/dist/esm/clients/evm.native.js +496 -13
- package/dist/esm/clients/evm.native.js.map +1 -1
- package/dist/esm/clients/gpg.native.js.map +1 -1
- package/dist/esm/clients/hooks.native.js.map +1 -1
- package/dist/esm/clients/index.mjs +2 -2
- package/dist/esm/clients/index.mjs.map +1 -1
- package/dist/esm/clients/index.native.js +2 -2
- package/dist/esm/clients/index.native.js.map +1 -1
- package/dist/esm/clients/solana.mjs +39 -21
- package/dist/esm/clients/solana.mjs.map +1 -1
- package/dist/esm/clients/solana.native.js +48 -23
- package/dist/esm/clients/solana.native.js.map +1 -1
- package/dist/esm/clients/solanaMessage.native.js.map +1 -1
- package/dist/esm/clients/sui.native.js.map +1 -1
- package/dist/esm/clients/types.native.js.map +1 -1
- package/dist/esm/clients/useSolanaClient.native.js.map +1 -1
- package/dist/esm/clients/walletStandard.native.js.map +1 -1
- package/dist/esm/components/NetworkSwitcher.native.js.map +1 -1
- package/dist/esm/components/TransactionStatus.native.js.map +1 -1
- package/dist/esm/components/index.native.js.map +1 -1
- package/dist/esm/connectkit/GpgProvider.mjs +19 -0
- package/dist/esm/connectkit/GpgProvider.mjs.map +1 -0
- package/dist/esm/connectkit/GpgProvider.native.js +23 -0
- package/dist/esm/connectkit/GpgProvider.native.js.map +1 -0
- package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs +5 -14
- package/dist/esm/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js +5 -15
- package/dist/esm/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/EthereumAdapter.mjs +6 -15
- package/dist/esm/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/EthereumAdapter.native.js +7 -16
- package/dist/esm/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/SolanaAdapter.mjs +5 -14
- package/dist/esm/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/SolanaAdapter.native.js +5 -15
- package/dist/esm/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/SuiAdapter.mjs +5 -14
- package/dist/esm/connectkit/adapters/SuiAdapter.mjs.map +1 -1
- package/dist/esm/connectkit/adapters/SuiAdapter.native.js +5 -15
- package/dist/esm/connectkit/adapters/SuiAdapter.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/discover.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/index.native.js.map +1 -1
- package/dist/esm/connectkit/adapters/types.native.js.map +1 -1
- package/dist/esm/connectkit/assets/chains.native.js.map +1 -1
- package/dist/esm/connectkit/components/BalanceButton/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/Avatar/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/Avatar/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/Chain/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/Chain/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/ChainSelect/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/ChainSelectDropdown/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/ChainSelectDropdown/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/ChainSelectList/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/ChainSelectList/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Common/ConnectorList/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectButton/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectButton/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectUsing.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/ConnectWithInjector/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/ConnectModal/demo.native.js.map +1 -1
- package/dist/esm/connectkit/components/NetworkButton/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/About/graphics.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/About/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/About/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/Connectors/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/Connectors/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/DownloadApp/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/Onboarding/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/Onboarding/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/Profile/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/Profile/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/SignInWithEthereum/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/SignInWithEthereum/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/Pages/SwitchNetworks/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Standard/SIWE/index.native.js.map +1 -1
- package/dist/esm/connectkit/components/Standard/SIWE/styles.native.js.map +1 -1
- package/dist/esm/connectkit/components/contexts/web3/index.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/aaveAccountConnector.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/createWalletMessage.mjs +1 -1
- package/dist/esm/connectkit/connectors/createWalletMessage.native.js +1 -1
- package/dist/esm/connectkit/connectors/createWalletMessage.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/embeddedDesktop.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/syntheticChains.native.js.map +1 -1
- package/dist/esm/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
- package/dist/esm/connectkit/constants/chainConfigs.native.js.map +1 -1
- package/dist/esm/connectkit/defaultConfig.native.js.map +1 -1
- package/dist/esm/connectkit/defaultConnectors.native.js.map +1 -1
- package/dist/esm/connectkit/defaultTransports.native.js.map +1 -1
- package/dist/esm/connectkit/hooks/useChainIsSupported.native.js.map +1 -1
- package/dist/esm/connectkit/hooks/useChains.native.js.map +1 -1
- package/dist/esm/connectkit/hooks/useConnect.native.js.map +1 -1
- package/dist/esm/connectkit/hooks/useConnectCallback.native.js.map +1 -1
- package/dist/esm/connectkit/hooks/useConnectors.native.js.map +1 -1
- package/dist/esm/connectkit/hooks/useEnsFallbackConfig.native.js.map +1 -1
- package/dist/esm/connectkit/hooks/useLastConnector.native.js.map +1 -1
- package/dist/esm/connectkit/index.mjs +3 -2
- package/dist/esm/connectkit/index.mjs.map +1 -1
- package/dist/esm/connectkit/index.native.js +3 -2
- package/dist/esm/connectkit/index.native.js.map +1 -1
- package/dist/esm/connectkit/openConnector/context.native.js.map +1 -1
- package/dist/esm/connectkit/openConnector/device.native.js.map +1 -1
- package/dist/esm/connectkit/openConnector/index.native.js.map +1 -1
- package/dist/esm/connectkit/openConnector/launcher.native.js.map +1 -1
- package/dist/esm/connectkit/profileHeaderAction.native.js.map +1 -1
- package/dist/esm/connectkit/screens.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEContext.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs +19 -4
- package/dist/esm/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js +19 -4
- package/dist/esm/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/connectIntent.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/index.native.js.map +1 -1
- package/dist/esm/connectkit/siwe/useSIWE.native.js.map +1 -1
- package/dist/esm/connectkit/useWeb3Modal.native.js.map +1 -1
- package/dist/esm/connectkit/wallets/index.native.js.map +1 -1
- package/dist/esm/connectkit/wallets/useWallets.native.js.map +1 -1
- package/dist/esm/connectkit/wallets/walletConfigs.native.js.map +1 -1
- package/dist/esm/connectkit/web3Bridge.native.js.map +1 -1
- package/dist/esm/connectkit/web3Provider.native.js.map +1 -1
- package/dist/esm/esbuild.native.js.map +1 -1
- package/dist/esm/examples/LockContract.native.js.map +1 -1
- package/dist/esm/examples/index.native.js.map +1 -1
- package/dist/esm/hooks/index.native.js.map +1 -1
- package/dist/esm/hooks/useContractRead.native.js.map +1 -1
- package/dist/esm/hooks/useContractWrite.native.js.map +1 -1
- package/dist/esm/hooks/useWallet.native.js.map +1 -1
- package/dist/esm/index.mjs +3 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/index.native.js +3 -2
- package/dist/esm/index.native.js.map +1 -1
- package/dist/esm/keycloak/KeycloakWalletLogin.mjs +218 -0
- package/dist/esm/keycloak/KeycloakWalletLogin.mjs.map +1 -0
- package/dist/esm/keycloak/KeycloakWalletLogin.native.js +5 -0
- package/dist/esm/keycloak/KeycloakWalletLogin.native.js.map +1 -0
- package/dist/esm/keycloak/browserFlow.mjs +58 -0
- package/dist/esm/keycloak/browserFlow.mjs.map +1 -0
- package/dist/esm/keycloak/browserFlow.native.js +62 -0
- package/dist/esm/keycloak/browserFlow.native.js.map +1 -0
- package/dist/esm/keycloak/device.mjs +10 -0
- package/dist/esm/keycloak/device.mjs.map +1 -0
- package/dist/esm/keycloak/device.native.js +16 -0
- package/dist/esm/keycloak/device.native.js.map +1 -0
- package/dist/esm/keycloak/directGrant.mjs +164 -0
- package/dist/esm/keycloak/directGrant.mjs.map +1 -0
- package/dist/esm/keycloak/directGrant.native.js +205 -0
- package/dist/esm/keycloak/directGrant.native.js.map +1 -0
- package/dist/esm/keycloak/iife.mjs +5 -0
- package/dist/esm/keycloak/iife.mjs.map +1 -0
- package/dist/esm/keycloak/iife.native.js +5 -0
- package/dist/esm/keycloak/iife.native.js.map +1 -0
- package/dist/esm/keycloak/index.mjs +13 -0
- package/dist/esm/keycloak/index.mjs.map +1 -0
- package/dist/esm/keycloak/index.native.js +13 -0
- package/dist/esm/keycloak/index.native.js.map +1 -0
- package/dist/esm/keycloak/keycloakWallet.mjs +186 -0
- package/dist/esm/keycloak/keycloakWallet.mjs.map +1 -0
- package/dist/esm/keycloak/keycloakWallet.native.js +254 -0
- package/dist/esm/keycloak/keycloakWallet.native.js.map +1 -0
- package/dist/esm/keycloak/mount.mjs +28 -0
- package/dist/esm/keycloak/mount.mjs.map +1 -0
- package/dist/esm/keycloak/mount.native.js +5 -0
- package/dist/esm/keycloak/mount.native.js.map +1 -0
- package/dist/esm/keycloak/registerWallet.mjs +49 -0
- package/dist/esm/keycloak/registerWallet.mjs.map +1 -0
- package/dist/esm/keycloak/registerWallet.native.js +53 -0
- package/dist/esm/keycloak/registerWallet.native.js.map +1 -0
- package/dist/esm/keycloak/types.mjs +20 -0
- package/dist/esm/keycloak/types.mjs.map +1 -0
- package/dist/esm/keycloak/types.native.js +150 -0
- package/dist/esm/keycloak/types.native.js.map +1 -0
- package/dist/esm/keycloak/useDirectLogin.mjs +32 -0
- package/dist/esm/keycloak/useDirectLogin.mjs.map +1 -0
- package/dist/esm/keycloak/useDirectLogin.native.js +49 -0
- package/dist/esm/keycloak/useDirectLogin.native.js.map +1 -0
- package/dist/esm/keycloak/useWalletLogin.mjs +72 -0
- package/dist/esm/keycloak/useWalletLogin.mjs.map +1 -0
- package/dist/esm/keycloak/useWalletLogin.native.js +5 -0
- package/dist/esm/keycloak/useWalletLogin.native.js.map +1 -0
- package/dist/esm/message/buildWalletMessage.mjs +87 -0
- package/dist/esm/message/buildWalletMessage.mjs.map +1 -0
- package/dist/esm/message/buildWalletMessage.native.js +92 -0
- package/dist/esm/message/buildWalletMessage.native.js.map +1 -0
- package/dist/esm/message/index.mjs +3 -0
- package/dist/esm/message/index.mjs.map +1 -0
- package/dist/esm/message/index.native.js +3 -0
- package/dist/esm/message/index.native.js.map +1 -0
- package/dist/esm/providers/WalletProvider.mjs +11 -4
- package/dist/esm/providers/WalletProvider.mjs.map +1 -1
- package/dist/esm/providers/WalletProvider.native.js +125 -93
- package/dist/esm/providers/WalletProvider.native.js.map +1 -1
- package/dist/esm/providers/index.mjs +2 -2
- package/dist/esm/providers/index.mjs.map +1 -1
- package/dist/esm/providers/index.native.js +2 -2
- package/dist/esm/providers/index.native.js.map +1 -1
- package/dist/esm/providers/mockConnector.native.js.map +1 -1
- package/dist/esm/providers/native/deepLink.mjs +36 -24
- package/dist/esm/providers/native/deepLink.mjs.map +1 -1
- package/dist/esm/providers/native/deepLink.native.js +39 -26
- package/dist/esm/providers/native/deepLink.native.js.map +1 -1
- package/dist/esm/providers/native/inject.mjs +1 -3
- package/dist/esm/providers/native/inject.mjs.map +1 -1
- package/dist/esm/providers/native/inject.native.js +1 -3
- package/dist/esm/providers/native/inject.native.js.map +1 -1
- package/dist/esm/providers/native/visibility.native.js.map +1 -1
- package/dist/esm/providers/walletBridge.mjs +9 -0
- package/dist/esm/providers/walletBridge.mjs.map +1 -0
- package/dist/esm/providers/walletBridge.native.js +9 -0
- package/dist/esm/providers/walletBridge.native.js.map +1 -0
- package/dist/esm/providers/walletConfig.mjs.map +1 -1
- package/dist/esm/providers/walletConfig.native.js.map +1 -1
- package/dist/esm/siws/index.native.js.map +1 -1
- package/dist/esm/siws/message.mjs +5 -16
- package/dist/esm/siws/message.mjs.map +1 -1
- package/dist/esm/siws/message.native.js +6 -16
- package/dist/esm/siws/message.native.js.map +1 -1
- package/dist/esm/siws/signWithBridge.native.js.map +1 -1
- package/dist/esm/siws/verify.native.js.map +1 -1
- package/dist/esm/solana.mjs.map +1 -1
- package/dist/esm/solana.native.js.map +1 -1
- package/dist/esm/vite.native.js.map +1 -1
- package/dist/jsx/bridge/AuthBridge.mjs +99 -0
- package/dist/jsx/bridge/AuthBridge.mjs.map +1 -0
- package/dist/jsx/bridge/AuthBridge.native.js +186 -0
- package/dist/jsx/bridge/AuthBridge.native.js.map +1 -0
- package/dist/jsx/bridge/BridgeClient.mjs +13 -10
- package/dist/jsx/bridge/BridgeClient.mjs.map +1 -1
- package/dist/jsx/bridge/BridgeClient.native.js +17 -12
- package/dist/jsx/bridge/BridgeClient.native.js.map +1 -1
- package/dist/jsx/bridge/BridgeHost.mjs +12 -4
- package/dist/jsx/bridge/BridgeHost.mjs.map +1 -1
- package/dist/jsx/bridge/BridgeHost.native.js +11 -3
- package/dist/jsx/bridge/BridgeHost.native.js.map +1 -1
- package/dist/jsx/bridge/GpgBridge.mjs +36 -0
- package/dist/jsx/bridge/GpgBridge.mjs.map +1 -0
- package/dist/jsx/bridge/GpgBridge.native.js +111 -0
- package/dist/jsx/bridge/GpgBridge.native.js.map +1 -0
- package/dist/jsx/bridge/SolanaBridge.native.js.map +1 -1
- package/dist/jsx/bridge/SuiBridge.mjs +26 -0
- package/dist/jsx/bridge/SuiBridge.mjs.map +1 -0
- package/dist/jsx/bridge/SuiBridge.native.js +99 -0
- package/dist/jsx/bridge/SuiBridge.native.js.map +1 -0
- package/dist/jsx/bridge/authTypes.mjs +3 -0
- package/dist/jsx/bridge/authTypes.mjs.map +1 -0
- package/dist/jsx/bridge/authTypes.native.js +31 -0
- package/dist/jsx/bridge/authTypes.native.js.map +1 -0
- package/dist/jsx/bridge/base64.native.js.map +1 -1
- package/dist/jsx/bridge/bridgeConnector.native.js.map +1 -1
- package/dist/jsx/bridge/core.mjs +17 -0
- package/dist/jsx/bridge/core.mjs.map +1 -0
- package/dist/jsx/bridge/core.native.js +68 -0
- package/dist/jsx/bridge/core.native.js.map +1 -0
- package/dist/jsx/bridge/eip1193.native.js.map +1 -1
- package/dist/jsx/bridge/hosting.mjs +62 -0
- package/dist/jsx/bridge/hosting.mjs.map +1 -0
- package/dist/jsx/bridge/hosting.native.js +117 -0
- package/dist/jsx/bridge/hosting.native.js.map +1 -0
- package/dist/jsx/bridge/index.mjs +2 -9
- package/dist/jsx/bridge/index.mjs.map +1 -1
- package/dist/jsx/bridge/index.native.js +2 -16
- package/dist/jsx/bridge/index.native.js.map +1 -1
- package/dist/jsx/bridge/nativeHost.mjs +65 -0
- package/dist/jsx/bridge/nativeHost.mjs.map +1 -0
- package/dist/jsx/bridge/nativeHost.native.js +118 -0
- package/dist/jsx/bridge/nativeHost.native.js.map +1 -0
- package/dist/jsx/bridge/postMessageTransport.native.js.map +1 -1
- package/dist/jsx/bridge/protocol.mjs +28 -2
- package/dist/jsx/bridge/protocol.mjs.map +1 -1
- package/dist/jsx/bridge/protocol.native.js +147 -1
- package/dist/jsx/bridge/protocol.native.js.map +1 -1
- package/dist/jsx/bridge/transport.native.js.map +1 -1
- package/dist/jsx/bundler/metaMaskConnectTimeouts.native.js.map +1 -1
- package/dist/jsx/clients/adapter.native.js.map +1 -1
- package/dist/jsx/clients/bitcoin.native.js.map +1 -1
- package/dist/jsx/clients/connector.native.js.map +1 -1
- package/dist/jsx/clients/evm.mjs +295 -12
- package/dist/jsx/clients/evm.mjs.map +1 -1
- package/dist/jsx/clients/evm.native.js +500 -12
- package/dist/jsx/clients/evm.native.js.map +1 -1
- package/dist/jsx/clients/gpg.native.js.map +1 -1
- package/dist/jsx/clients/hooks.native.js.map +1 -1
- package/dist/jsx/clients/index.mjs +2 -2
- package/dist/jsx/clients/index.mjs.map +1 -1
- package/dist/jsx/clients/index.native.js +5 -0
- package/dist/jsx/clients/index.native.js.map +1 -1
- package/dist/jsx/clients/solana.mjs +39 -21
- package/dist/jsx/clients/solana.mjs.map +1 -1
- package/dist/jsx/clients/solana.native.js +48 -23
- package/dist/jsx/clients/solana.native.js.map +1 -1
- package/dist/jsx/clients/solanaMessage.native.js.map +1 -1
- package/dist/jsx/clients/sui.native.js.map +1 -1
- package/dist/jsx/clients/types.native.js.map +1 -1
- package/dist/jsx/clients/useSolanaClient.native.js.map +1 -1
- package/dist/jsx/clients/walletStandard.native.js.map +1 -1
- package/dist/jsx/components/NetworkSwitcher.native.js.map +1 -1
- package/dist/jsx/components/TransactionStatus.native.js.map +1 -1
- package/dist/jsx/components/index.native.js.map +1 -1
- package/dist/jsx/connectkit/GpgProvider.mjs +19 -0
- package/dist/jsx/connectkit/GpgProvider.mjs.map +1 -0
- package/dist/jsx/connectkit/GpgProvider.native.js +51 -0
- package/dist/jsx/connectkit/GpgProvider.native.js.map +1 -0
- package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs +5 -14
- package/dist/jsx/connectkit/adapters/BitcoinAdapter.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js +5 -15
- package/dist/jsx/connectkit/adapters/BitcoinAdapter.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs +6 -15
- package/dist/jsx/connectkit/adapters/EthereumAdapter.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js +7 -16
- package/dist/jsx/connectkit/adapters/EthereumAdapter.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs +5 -14
- package/dist/jsx/connectkit/adapters/SolanaAdapter.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js +5 -15
- package/dist/jsx/connectkit/adapters/SolanaAdapter.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/SuiAdapter.mjs +5 -14
- package/dist/jsx/connectkit/adapters/SuiAdapter.mjs.map +1 -1
- package/dist/jsx/connectkit/adapters/SuiAdapter.native.js +5 -15
- package/dist/jsx/connectkit/adapters/SuiAdapter.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/discover.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/index.native.js.map +1 -1
- package/dist/jsx/connectkit/adapters/types.native.js.map +1 -1
- package/dist/jsx/connectkit/assets/chains.native.js.map +1 -1
- package/dist/jsx/connectkit/components/BalanceButton/index.native.js +1 -1
- package/dist/jsx/connectkit/components/BalanceButton/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/Avatar/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/Avatar/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/Chain/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/Chain/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/ChainSelect/index.native.js +2 -2
- package/dist/jsx/connectkit/components/Common/ChainSelect/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/ChainSelectDropdown/index.native.js +1 -1
- package/dist/jsx/connectkit/components/Common/ChainSelectDropdown/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/ChainSelectDropdown/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/ChainSelectList/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/ChainSelectList/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/ConnectorList/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Common/ConnectorList/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectButton/index.native.js +4 -4
- package/dist/jsx/connectkit/components/ConnectButton/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectButton/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.native.js +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectUsing.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/CircleSpinner/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/SquircleSpinner/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js +3 -3
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/ConnectWithInjector/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/ConnectModal/demo.native.js +9 -9
- package/dist/jsx/connectkit/components/ConnectModal/demo.native.js.map +1 -1
- package/dist/jsx/connectkit/components/NetworkButton/index.native.js +2 -2
- package/dist/jsx/connectkit/components/NetworkButton/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/About/graphics.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/About/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/About/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/Connectors/index.native.js +1 -1
- package/dist/jsx/connectkit/components/Pages/Connectors/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/Connectors/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/DownloadApp/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/Onboarding/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/Onboarding/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/Profile/index.native.js +2 -2
- package/dist/jsx/connectkit/components/Pages/Profile/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/Profile/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/SignInWithEthereum/index.native.js +3 -3
- package/dist/jsx/connectkit/components/Pages/SignInWithEthereum/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/SignInWithEthereum/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Pages/SwitchNetworks/index.native.js +1 -1
- package/dist/jsx/connectkit/components/Pages/SwitchNetworks/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Standard/SIWE/index.native.js +1 -1
- package/dist/jsx/connectkit/components/Standard/SIWE/index.native.js.map +1 -1
- package/dist/jsx/connectkit/components/Standard/SIWE/styles.native.js.map +1 -1
- package/dist/jsx/connectkit/components/contexts/web3/index.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/aaveAccountConnector.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/createWalletMessage.mjs +1 -1
- package/dist/jsx/connectkit/connectors/createWalletMessage.native.js +2 -2
- package/dist/jsx/connectkit/connectors/createWalletMessage.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/embeddedDesktop.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/ensureWalletConnectors.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/getWalletConnectors.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/metaMaskConnectConnector.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/syntheticChains.native.js.map +1 -1
- package/dist/jsx/connectkit/connectors/walletAdapterConnector.native.js.map +1 -1
- package/dist/jsx/connectkit/constants/chainConfigs.native.js.map +1 -1
- package/dist/jsx/connectkit/defaultConfig.native.js.map +1 -1
- package/dist/jsx/connectkit/defaultConnectors.native.js.map +1 -1
- package/dist/jsx/connectkit/defaultTransports.native.js.map +1 -1
- package/dist/jsx/connectkit/hooks/useChainIsSupported.native.js.map +1 -1
- package/dist/jsx/connectkit/hooks/useChains.native.js.map +1 -1
- package/dist/jsx/connectkit/hooks/useConnect.native.js.map +1 -1
- package/dist/jsx/connectkit/hooks/useConnectCallback.native.js.map +1 -1
- package/dist/jsx/connectkit/hooks/useConnectors.native.js.map +1 -1
- package/dist/jsx/connectkit/hooks/useEnsFallbackConfig.native.js.map +1 -1
- package/dist/jsx/connectkit/hooks/useLastConnector.native.js.map +1 -1
- package/dist/jsx/connectkit/index.mjs +3 -2
- package/dist/jsx/connectkit/index.mjs.map +1 -1
- package/dist/jsx/connectkit/index.native.js +12 -11
- package/dist/jsx/connectkit/index.native.js.map +1 -1
- package/dist/jsx/connectkit/openConnector/context.native.js.map +1 -1
- package/dist/jsx/connectkit/openConnector/device.native.js.map +1 -1
- package/dist/jsx/connectkit/openConnector/index.native.js.map +1 -1
- package/dist/jsx/connectkit/openConnector/launcher.native.js.map +1 -1
- package/dist/jsx/connectkit/profileHeaderAction.native.js +1 -1
- package/dist/jsx/connectkit/profileHeaderAction.native.js.map +1 -1
- package/dist/jsx/connectkit/screens.native.js +7 -7
- package/dist/jsx/connectkit/screens.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEContext.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEContext.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs +19 -4
- package/dist/jsx/connectkit/siwe/SIWEProvider.mjs.map +1 -1
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js +18 -3
- package/dist/jsx/connectkit/siwe/SIWEProvider.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/connectIntent.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/index.native.js.map +1 -1
- package/dist/jsx/connectkit/siwe/useSIWE.native.js.map +1 -1
- package/dist/jsx/connectkit/useWeb3Modal.native.js +2 -2
- package/dist/jsx/connectkit/useWeb3Modal.native.js.map +1 -1
- package/dist/jsx/connectkit/wallets/index.native.js.map +1 -1
- package/dist/jsx/connectkit/wallets/useWallets.native.js.map +1 -1
- package/dist/jsx/connectkit/wallets/walletConfigs.native.js.map +1 -1
- package/dist/jsx/connectkit/web3Bridge.native.js +2 -2
- package/dist/jsx/connectkit/web3Bridge.native.js.map +1 -1
- package/dist/jsx/connectkit/web3Provider.native.js.map +1 -1
- package/dist/jsx/esbuild.native.js.map +1 -1
- package/dist/jsx/examples/LockContract.native.js.map +1 -1
- package/dist/jsx/examples/index.native.js.map +1 -1
- package/dist/jsx/hooks/index.native.js.map +1 -1
- package/dist/jsx/hooks/useContractRead.native.js.map +1 -1
- package/dist/jsx/hooks/useContractWrite.native.js.map +1 -1
- package/dist/jsx/hooks/useWallet.native.js.map +1 -1
- package/dist/jsx/index.js +3 -2
- package/dist/jsx/index.js.map +1 -1
- package/dist/jsx/index.mjs +3 -2
- package/dist/jsx/index.mjs.map +1 -1
- package/dist/jsx/index.native.js +8 -6
- package/dist/jsx/index.native.js.map +1 -1
- package/dist/jsx/keycloak/KeycloakWalletLogin.mjs +218 -0
- package/dist/jsx/keycloak/KeycloakWalletLogin.mjs.map +1 -0
- package/dist/jsx/keycloak/KeycloakWalletLogin.native.js +33 -0
- package/dist/jsx/keycloak/KeycloakWalletLogin.native.js.map +1 -0
- package/dist/jsx/keycloak/browserFlow.mjs +58 -0
- package/dist/jsx/keycloak/browserFlow.mjs.map +1 -0
- package/dist/jsx/keycloak/browserFlow.native.js +90 -0
- package/dist/jsx/keycloak/browserFlow.native.js.map +1 -0
- package/dist/jsx/keycloak/device.mjs +10 -0
- package/dist/jsx/keycloak/device.mjs.map +1 -0
- package/dist/jsx/keycloak/device.native.js +45 -0
- package/dist/jsx/keycloak/device.native.js.map +1 -0
- package/dist/jsx/keycloak/directGrant.mjs +164 -0
- package/dist/jsx/keycloak/directGrant.mjs.map +1 -0
- package/dist/jsx/keycloak/directGrant.native.js +233 -0
- package/dist/jsx/keycloak/directGrant.native.js.map +1 -0
- package/dist/jsx/keycloak/iife.mjs +5 -0
- package/dist/jsx/keycloak/iife.mjs.map +1 -0
- package/dist/jsx/keycloak/iife.native.js +7 -0
- package/dist/jsx/keycloak/iife.native.js.map +1 -0
- package/dist/jsx/keycloak/index.mjs +13 -0
- package/dist/jsx/keycloak/index.mjs.map +1 -0
- package/dist/jsx/keycloak/index.native.js +56 -0
- package/dist/jsx/keycloak/index.native.js.map +1 -0
- package/dist/jsx/keycloak/keycloakWallet.mjs +186 -0
- package/dist/jsx/keycloak/keycloakWallet.mjs.map +1 -0
- package/dist/jsx/keycloak/keycloakWallet.native.js +285 -0
- package/dist/jsx/keycloak/keycloakWallet.native.js.map +1 -0
- package/dist/jsx/keycloak/mount.mjs +28 -0
- package/dist/jsx/keycloak/mount.mjs.map +1 -0
- package/dist/jsx/keycloak/mount.native.js +33 -0
- package/dist/jsx/keycloak/mount.native.js.map +1 -0
- package/dist/jsx/keycloak/registerWallet.mjs +49 -0
- package/dist/jsx/keycloak/registerWallet.mjs.map +1 -0
- package/dist/jsx/keycloak/registerWallet.native.js +81 -0
- package/dist/jsx/keycloak/registerWallet.native.js.map +1 -0
- package/dist/jsx/keycloak/types.mjs +20 -0
- package/dist/jsx/keycloak/types.mjs.map +1 -0
- package/dist/jsx/keycloak/types.native.js +179 -0
- package/dist/jsx/keycloak/types.native.js.map +1 -0
- package/dist/jsx/keycloak/useDirectLogin.mjs +32 -0
- package/dist/jsx/keycloak/useDirectLogin.mjs.map +1 -0
- package/dist/jsx/keycloak/useDirectLogin.native.js +77 -0
- package/dist/jsx/keycloak/useDirectLogin.native.js.map +1 -0
- package/dist/jsx/keycloak/useWalletLogin.mjs +72 -0
- package/dist/jsx/keycloak/useWalletLogin.mjs.map +1 -0
- package/dist/jsx/keycloak/useWalletLogin.native.js +33 -0
- package/dist/jsx/keycloak/useWalletLogin.native.js.map +1 -0
- package/dist/jsx/message/buildWalletMessage.mjs +87 -0
- package/dist/jsx/message/buildWalletMessage.mjs.map +1 -0
- package/dist/jsx/message/buildWalletMessage.native.js +121 -0
- package/dist/jsx/message/buildWalletMessage.native.js.map +1 -0
- package/dist/jsx/message/index.mjs +3 -0
- package/dist/jsx/message/index.mjs.map +1 -0
- package/dist/jsx/message/index.native.js +32 -0
- package/dist/jsx/message/index.native.js.map +1 -0
- package/dist/jsx/providers/WalletProvider.mjs +11 -4
- package/dist/jsx/providers/WalletProvider.mjs.map +1 -1
- package/dist/jsx/providers/WalletProvider.native.js +123 -90
- package/dist/jsx/providers/WalletProvider.native.js.map +1 -1
- package/dist/jsx/providers/index.mjs +2 -2
- package/dist/jsx/providers/index.mjs.map +1 -1
- package/dist/jsx/providers/index.native.js +1 -0
- package/dist/jsx/providers/index.native.js.map +1 -1
- package/dist/jsx/providers/mockConnector.native.js.map +1 -1
- package/dist/jsx/providers/native/deepLink.mjs +36 -24
- package/dist/jsx/providers/native/deepLink.mjs.map +1 -1
- package/dist/jsx/providers/native/deepLink.native.js +43 -25
- package/dist/jsx/providers/native/deepLink.native.js.map +1 -1
- package/dist/jsx/providers/native/inject.mjs +1 -3
- package/dist/jsx/providers/native/inject.mjs.map +1 -1
- package/dist/jsx/providers/native/inject.native.js +2 -4
- package/dist/jsx/providers/native/inject.native.js.map +1 -1
- package/dist/jsx/providers/native/visibility.native.js.map +1 -1
- package/dist/jsx/providers/walletBridge.mjs +9 -0
- package/dist/jsx/providers/walletBridge.mjs.map +1 -0
- package/dist/jsx/providers/walletBridge.native.js +38 -0
- package/dist/jsx/providers/walletBridge.native.js.map +1 -0
- package/dist/jsx/providers/walletConfig.mjs.map +1 -1
- package/dist/jsx/providers/walletConfig.native.js.map +1 -1
- package/dist/jsx/siws/index.native.js.map +1 -1
- package/dist/jsx/siws/message.mjs +5 -16
- package/dist/jsx/siws/message.mjs.map +1 -1
- package/dist/jsx/siws/message.native.js +6 -16
- package/dist/jsx/siws/message.native.js.map +1 -1
- package/dist/jsx/siws/signWithBridge.native.js.map +1 -1
- package/dist/jsx/siws/verify.native.js.map +1 -1
- package/dist/jsx/solana.mjs.map +1 -1
- package/dist/jsx/solana.native.js.map +1 -1
- package/dist/jsx/vite.native.js.map +1 -1
- package/dist/keycloak/login.iife.js +3604 -0
- package/docs/bridge-protocol.md +485 -0
- package/package.json +35 -8
- package/src/bridge/AuthBridge.ts +146 -0
- package/src/bridge/BridgeClient.spec.ts +12 -0
- package/src/bridge/BridgeClient.ts +15 -10
- package/src/bridge/BridgeHost.spec.ts +20 -4
- package/src/bridge/BridgeHost.ts +16 -5
- package/src/bridge/GpgBridge.ts +49 -0
- package/src/bridge/SuiBridge.ts +34 -0
- package/src/bridge/authTypes.ts +76 -0
- package/src/bridge/core.ts +42 -0
- package/src/bridge/hosting.spec.ts +98 -0
- package/src/bridge/hosting.ts +99 -0
- package/src/bridge/index.ts +1 -8
- package/src/bridge/nativeHost.spec.ts +165 -0
- package/src/bridge/nativeHost.ts +120 -0
- package/src/bridge/protocol.spec.ts +24 -1
- package/src/bridge/protocol.ts +44 -1
- package/src/clients/evm.spec.ts +644 -10
- package/src/clients/evm.ts +498 -10
- package/src/clients/index.ts +8 -0
- package/src/clients/solana.spec.ts +116 -0
- package/src/clients/solana.ts +51 -31
- package/src/connectkit/GpgProvider.tsx +16 -0
- package/src/connectkit/adapters/BitcoinAdapter.ts +5 -16
- package/src/connectkit/adapters/EthereumAdapter.ts +6 -17
- package/src/connectkit/adapters/SolanaAdapter.ts +5 -16
- package/src/connectkit/adapters/SuiAdapter.ts +5 -16
- package/src/connectkit/connectors/createWalletMessage.ts +1 -1
- package/src/connectkit/index.ts +2 -6
- package/src/connectkit/openConnector/modal.spec.tsx +1 -1
- package/src/connectkit/siwe/SIWEContext.tsx +6 -2
- package/src/connectkit/siwe/SIWEProvider.tsx +22 -5
- package/src/index.ts +5 -0
- package/src/keycloak/KeycloakWalletLogin.native.tsx +7 -0
- package/src/keycloak/KeycloakWalletLogin.spec.tsx +168 -0
- package/src/keycloak/KeycloakWalletLogin.tsx +251 -0
- package/src/keycloak/browserFlow.spec.ts +108 -0
- package/src/keycloak/browserFlow.ts +84 -0
- package/src/keycloak/device.ts +17 -0
- package/src/keycloak/directGrant.spec.ts +331 -0
- package/src/keycloak/directGrant.ts +214 -0
- package/src/keycloak/iife.ts +3 -0
- package/src/keycloak/index.ts +44 -0
- package/src/keycloak/keycloakWallet.spec.ts +216 -0
- package/src/keycloak/keycloakWallet.ts +275 -0
- package/src/keycloak/mount.native.ts +11 -0
- package/src/keycloak/mount.tsx +45 -0
- package/src/keycloak/nonceReset.spec.tsx +205 -0
- package/src/keycloak/registerWallet.spec.ts +88 -0
- package/src/keycloak/registerWallet.ts +59 -0
- package/src/keycloak/types.ts +66 -0
- package/src/keycloak/useDirectLogin.spec.tsx +112 -0
- package/src/keycloak/useDirectLogin.ts +74 -0
- package/src/keycloak/useWalletLogin.native.ts +7 -0
- package/src/keycloak/useWalletLogin.ts +99 -0
- package/src/message/buildWalletMessage.spec.ts +291 -0
- package/src/message/buildWalletMessage.ts +150 -0
- package/src/message/index.ts +8 -0
- package/src/providers/WalletProvider.native.tsx +139 -85
- package/src/providers/WalletProvider.tsx +16 -3
- package/src/providers/index.ts +2 -0
- package/src/providers/native/deepLink.spec.ts +73 -1
- package/src/providers/native/deepLink.ts +76 -28
- package/src/providers/native/inject.ts +1 -9
- package/src/providers/walletBridge.ts +24 -0
- package/src/providers/walletConfig.ts +15 -1
- package/src/siws/message.ts +3 -22
- package/src/solana.ts +1 -0
- package/types/bridge/AuthBridge.d.ts +58 -0
- package/types/bridge/AuthBridge.d.ts.map +1 -0
- package/types/bridge/BridgeClient.d.ts +3 -1
- package/types/bridge/BridgeClient.d.ts.map +1 -1
- package/types/bridge/BridgeHost.d.ts +1 -1
- package/types/bridge/BridgeHost.d.ts.map +1 -1
- package/types/bridge/GpgBridge.d.ts +23 -0
- package/types/bridge/GpgBridge.d.ts.map +1 -0
- package/types/bridge/SuiBridge.d.ts +18 -0
- package/types/bridge/SuiBridge.d.ts.map +1 -0
- package/types/bridge/authTypes.d.ts +71 -0
- package/types/bridge/authTypes.d.ts.map +1 -0
- package/types/bridge/core.d.ts +16 -0
- package/types/bridge/core.d.ts.map +1 -0
- package/types/bridge/hosting.d.ts +34 -0
- package/types/bridge/hosting.d.ts.map +1 -0
- package/types/bridge/index.d.ts +1 -8
- package/types/bridge/index.d.ts.map +1 -1
- package/types/bridge/nativeHost.d.ts +55 -0
- package/types/bridge/nativeHost.d.ts.map +1 -0
- package/types/bridge/protocol.d.ts +34 -1
- package/types/bridge/protocol.d.ts.map +1 -1
- package/types/clients/evm.d.ts +144 -2
- package/types/clients/evm.d.ts.map +1 -1
- package/types/clients/index.d.ts +1 -1
- package/types/clients/index.d.ts.map +1 -1
- package/types/clients/solana.d.ts +14 -5
- package/types/clients/solana.d.ts.map +1 -1
- package/types/connectkit/GpgProvider.d.ts +10 -0
- package/types/connectkit/GpgProvider.d.ts.map +1 -0
- package/types/connectkit/adapters/BitcoinAdapter.d.ts.map +1 -1
- package/types/connectkit/adapters/EthereumAdapter.d.ts.map +1 -1
- package/types/connectkit/adapters/SolanaAdapter.d.ts.map +1 -1
- package/types/connectkit/adapters/SuiAdapter.d.ts.map +1 -1
- package/types/connectkit/connectors/createWalletMessage.d.ts +1 -1
- package/types/connectkit/connectors/createWalletMessage.d.ts.map +1 -1
- package/types/connectkit/index.d.ts +3 -2
- package/types/connectkit/index.d.ts.map +1 -1
- package/types/connectkit/siwe/SIWEContext.d.ts +2 -1
- package/types/connectkit/siwe/SIWEContext.d.ts.map +1 -1
- package/types/connectkit/siwe/SIWEProvider.d.ts.map +1 -1
- package/types/index.d.ts +2 -1
- package/types/index.d.ts.map +1 -1
- package/types/keycloak/KeycloakWalletLogin.d.ts +45 -0
- package/types/keycloak/KeycloakWalletLogin.d.ts.map +1 -0
- package/types/keycloak/KeycloakWalletLogin.native.d.ts +4 -0
- package/types/keycloak/KeycloakWalletLogin.native.d.ts.map +1 -0
- package/types/keycloak/browserFlow.d.ts +27 -0
- package/types/keycloak/browserFlow.d.ts.map +1 -0
- package/types/keycloak/device.d.ts +14 -0
- package/types/keycloak/device.d.ts.map +1 -0
- package/types/keycloak/directGrant.d.ts +43 -0
- package/types/keycloak/directGrant.d.ts.map +1 -0
- package/types/keycloak/iife.d.ts +2 -0
- package/types/keycloak/iife.d.ts.map +1 -0
- package/types/keycloak/index.d.ts +12 -0
- package/types/keycloak/index.d.ts.map +1 -0
- package/types/keycloak/keycloakWallet.d.ts +120 -0
- package/types/keycloak/keycloakWallet.d.ts.map +1 -0
- package/types/keycloak/mount.d.ts +16 -0
- package/types/keycloak/mount.d.ts.map +1 -0
- package/types/keycloak/mount.native.d.ts +5 -0
- package/types/keycloak/mount.native.d.ts.map +1 -0
- package/types/keycloak/registerWallet.d.ts +22 -0
- package/types/keycloak/registerWallet.d.ts.map +1 -0
- package/types/keycloak/types.d.ts +50 -0
- package/types/keycloak/types.d.ts.map +1 -0
- package/types/keycloak/useDirectLogin.d.ts +29 -0
- package/types/keycloak/useDirectLogin.d.ts.map +1 -0
- package/types/keycloak/useWalletLogin.d.ts +26 -0
- package/types/keycloak/useWalletLogin.d.ts.map +1 -0
- package/types/keycloak/useWalletLogin.native.d.ts +4 -0
- package/types/keycloak/useWalletLogin.native.d.ts.map +1 -0
- package/types/message/buildWalletMessage.d.ts +46 -0
- package/types/message/buildWalletMessage.d.ts.map +1 -0
- package/types/message/index.d.ts +2 -0
- package/types/message/index.d.ts.map +1 -0
- package/types/providers/WalletProvider.d.ts +9 -1
- package/types/providers/WalletProvider.d.ts.map +1 -1
- package/types/providers/WalletProvider.native.d.ts +2 -1
- package/types/providers/WalletProvider.native.d.ts.map +1 -1
- package/types/providers/index.d.ts +1 -1
- package/types/providers/index.d.ts.map +1 -1
- package/types/providers/native/deepLink.d.ts +29 -4
- package/types/providers/native/deepLink.d.ts.map +1 -1
- package/types/providers/native/inject.d.ts +1 -7
- package/types/providers/native/inject.d.ts.map +1 -1
- package/types/providers/walletBridge.d.ts +17 -0
- package/types/providers/walletBridge.d.ts.map +1 -0
- package/types/providers/walletConfig.d.ts +18 -1
- package/types/providers/walletConfig.d.ts.map +1 -1
- package/types/siws/message.d.ts.map +1 -1
- package/types/solana.d.ts +1 -1
- package/types/solana.d.ts.map +1 -1
- package/dist/cjs/connectkit/adapters/messages.cjs +0 -73
- package/dist/cjs/connectkit/adapters/messages.native.js +0 -79
- package/dist/cjs/connectkit/adapters/messages.native.js.map +0 -1
- package/dist/esm/connectkit/adapters/messages.mjs +0 -48
- package/dist/esm/connectkit/adapters/messages.mjs.map +0 -1
- package/dist/esm/connectkit/adapters/messages.native.js +0 -51
- package/dist/esm/connectkit/adapters/messages.native.js.map +0 -1
- package/dist/jsx/connectkit/adapters/messages.mjs +0 -48
- package/dist/jsx/connectkit/adapters/messages.mjs.map +0 -1
- package/dist/jsx/connectkit/adapters/messages.native.js +0 -79
- package/dist/jsx/connectkit/adapters/messages.native.js.map +0 -1
- package/src/connectkit/adapters/messages.ts +0 -84
- package/types/connectkit/adapters/messages.d.ts +0 -16
- package/types/connectkit/adapters/messages.d.ts.map +0 -1
|
@@ -4,25 +4,36 @@ import { createContext, useContext, useEffect, useMemo, useReducer, useRef, useS
|
|
|
4
4
|
import { AppState, Linking, StyleSheet, View } from "react-native";
|
|
5
5
|
import { WebView, type WebViewMessageEvent, type WebViewProps } from "react-native-webview";
|
|
6
6
|
import { http, WagmiProvider, createConfig } from "wagmi";
|
|
7
|
+
import { AuthBridge } from "../bridge/AuthBridge";
|
|
7
8
|
import { BridgeClient } from "../bridge/BridgeClient";
|
|
9
|
+
import { GpgBridge } from "../bridge/GpgBridge";
|
|
8
10
|
import { SolanaBridge } from "../bridge/SolanaBridge";
|
|
11
|
+
import { SuiBridge } from "../bridge/SuiBridge";
|
|
9
12
|
import { createBridgeConnector } from "../bridge/bridgeConnector";
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
+
import { queryParams } from "../bridge/hosting";
|
|
14
|
+
import { createNativeBridge } from "../bridge/nativeHost";
|
|
15
|
+
import { createMemoryTransportPair } from "../bridge/transport";
|
|
16
|
+
import {
|
|
17
|
+
decideNavigation,
|
|
18
|
+
decideNewWindow,
|
|
19
|
+
isUnderUrl,
|
|
20
|
+
parseWalletReturn,
|
|
21
|
+
} from "./native/deepLink";
|
|
22
|
+
import { buildConfigInjection } from "./native/inject";
|
|
13
23
|
import { initialVisibility, nextVisibility } from "./native/visibility";
|
|
24
|
+
import { WalletBridgeContext, type WalletBridgeContextValue } from "./walletBridge";
|
|
14
25
|
import { type Web3Config, Web3ConfigContext, resolveChains } from "./walletConfig";
|
|
15
26
|
|
|
16
27
|
type WebViewSource = NonNullable<WebViewProps["source"]>;
|
|
17
28
|
|
|
18
|
-
// The wallet WebView
|
|
19
|
-
//
|
|
20
|
-
//
|
|
21
|
-
//
|
|
29
|
+
// The wallet WebView loads a HOSTED page (config.webViewUrl, https): the
|
|
30
|
+
// sign-in message's domain and the Keycloak nonce cookie belong to the page's
|
|
31
|
+
// host, so a file:// or inline page can never sign in, and WKWebView will not
|
|
32
|
+
// render the multi-MB bundle inline anyway.
|
|
22
33
|
export interface WalletProviderProps extends PropsWithChildren {
|
|
23
34
|
config: Web3Config;
|
|
24
35
|
queryClient?: QueryClient;
|
|
25
|
-
/** Override the WebView content (defaults to `config.webViewUrl`)
|
|
36
|
+
/** Override the WebView content (defaults to `config.webViewUrl`); must be a hosted `{ uri }`. */
|
|
26
37
|
webViewSource?: WebViewSource;
|
|
27
38
|
}
|
|
28
39
|
|
|
@@ -43,6 +54,17 @@ export function useSolanaWallet(): SolanaWalletContextValue {
|
|
|
43
54
|
|
|
44
55
|
const defaultQueryClient = new QueryClient();
|
|
45
56
|
|
|
57
|
+
function pageUrlOf(config: Web3Config, source: WebViewSource | undefined): string | undefined {
|
|
58
|
+
if (!source) return config.webViewUrl || undefined;
|
|
59
|
+
const uri = (source as { uri?: unknown }).uri;
|
|
60
|
+
if (typeof uri !== "string") {
|
|
61
|
+
throw new Error(
|
|
62
|
+
"WalletProvider: webViewSource must be a hosted { uri }; an inline page has no host to sign in for",
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
return uri;
|
|
66
|
+
}
|
|
67
|
+
|
|
46
68
|
export function WalletProvider({
|
|
47
69
|
children,
|
|
48
70
|
config: web3Config,
|
|
@@ -50,68 +72,91 @@ export function WalletProvider({
|
|
|
50
72
|
webViewSource,
|
|
51
73
|
}: WalletProviderProps) {
|
|
52
74
|
const webRef = useRef<WebView>(null);
|
|
53
|
-
const
|
|
54
|
-
const outboundQueue = useRef<string[]>([]);
|
|
55
|
-
|
|
75
|
+
const [pageLoad, setPageLoad] = useState(0);
|
|
56
76
|
const [visibility, dispatchVisibility] = useReducer(nextVisibility, initialVisibility);
|
|
57
77
|
const [publicKey, setPublicKey] = useState<string | null>(null);
|
|
58
78
|
|
|
59
|
-
//
|
|
60
|
-
//
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
79
|
+
// No guessed default: mounting the WebView against an unreachable URL (e.g.
|
|
80
|
+
// http://localhost on a physical device, where localhost is the phone) fires
|
|
81
|
+
// NSURLErrorDomain -1004 at app startup. With no URL the providers still
|
|
82
|
+
// mount and connect flows stay inert until WEB3_WEBVIEW_URL is set.
|
|
83
|
+
const pageUrl = pageUrlOf(web3Config, webViewSource);
|
|
84
|
+
|
|
85
|
+
// Throws on a page that is not hosted, which is the point.
|
|
86
|
+
const host = useMemo(
|
|
87
|
+
() =>
|
|
88
|
+
pageUrl
|
|
89
|
+
? createNativeBridge({
|
|
90
|
+
pageUrl,
|
|
91
|
+
allowDevHosts: typeof __DEV__ !== "undefined" && __DEV__,
|
|
92
|
+
inject: (script) => webRef.current?.injectJavaScript(script),
|
|
93
|
+
})
|
|
94
|
+
: null,
|
|
95
|
+
[pageUrl],
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
const authDefaults = JSON.stringify(web3Config.auth ?? null);
|
|
99
|
+
const bridge = useMemo<WalletBridgeContextValue>(() => {
|
|
100
|
+
const client = host?.client ?? new BridgeClient(createMemoryTransportPair().a);
|
|
101
|
+
return {
|
|
102
|
+
client,
|
|
103
|
+
solana: new SolanaBridge(client),
|
|
104
|
+
sui: new SuiBridge(client),
|
|
105
|
+
gpg: new GpgBridge(client),
|
|
106
|
+
auth: new AuthBridge(client, {
|
|
107
|
+
openUrl: (url) => Linking.openURL(url),
|
|
108
|
+
defaults: JSON.parse(authDefaults) ?? undefined,
|
|
109
|
+
}),
|
|
110
|
+
};
|
|
111
|
+
}, [host, authDefaults]);
|
|
112
|
+
const { client } = bridge;
|
|
70
113
|
|
|
71
114
|
// React to the WebView's lifecycle + account events.
|
|
72
115
|
useEffect(() => {
|
|
73
|
-
const off =
|
|
74
|
-
if (ns === "sys") {
|
|
75
|
-
|
|
76
|
-
readyRef.current = true;
|
|
77
|
-
const queued = outboundQueue.current.splice(0);
|
|
78
|
-
for (const raw of queued) webRef.current?.injectJavaScript(buildInjectScript(raw));
|
|
79
|
-
} else if (method === "modalOpen" || method === "modalClose") {
|
|
80
|
-
dispatchVisibility(method);
|
|
81
|
-
}
|
|
116
|
+
const off = client.on((ns, method, params) => {
|
|
117
|
+
if (ns === "sys" && (method === "modalOpen" || method === "modalClose")) {
|
|
118
|
+
dispatchVisibility(method);
|
|
82
119
|
} else if (ns === "solana" && method === "accountChanged") {
|
|
83
120
|
setPublicKey((params as { publicKey: string | null } | undefined)?.publicKey ?? null);
|
|
84
121
|
}
|
|
85
122
|
});
|
|
86
123
|
return off;
|
|
87
|
-
}, [
|
|
124
|
+
}, [client]);
|
|
88
125
|
|
|
89
126
|
// On app foreground (e.g. return from a wallet deep link) ask the WebView to
|
|
90
127
|
// re-report account/chain state.
|
|
91
128
|
useEffect(() => {
|
|
92
129
|
const sub = AppState.addEventListener("change", (state) => {
|
|
93
|
-
if (state === "active" &&
|
|
94
|
-
void
|
|
130
|
+
if (state === "active" && host?.peer) {
|
|
131
|
+
void client.request("sys", "resync").catch(() => undefined);
|
|
95
132
|
}
|
|
96
133
|
});
|
|
97
134
|
return () => sub.remove();
|
|
98
|
-
}, [
|
|
135
|
+
}, [client, host]);
|
|
99
136
|
|
|
100
137
|
// Inbound app-link returns from a wallet app: forward the params into the
|
|
101
138
|
// WebView (the mock-wallet path consumes address/signature; a real wallet
|
|
102
|
-
// just needs the resync that AppState already triggers).
|
|
139
|
+
// just needs the resync that AppState already triggers). Only links under
|
|
140
|
+
// walletReturnUrl reach the page, and never Keycloak's onboarding return,
|
|
141
|
+
// whose code belongs to native.
|
|
142
|
+
const walletReturnUrl = web3Config.walletReturnUrl;
|
|
143
|
+
const onboardingReturnUrl = web3Config.auth?.onboarding?.redirectUri;
|
|
103
144
|
useEffect(() => {
|
|
145
|
+
if (!walletReturnUrl) return;
|
|
104
146
|
const handle = (url: string | null) => {
|
|
105
|
-
if (!url) return;
|
|
147
|
+
if (!url || !isUnderUrl(url, walletReturnUrl)) return;
|
|
148
|
+
if (onboardingReturnUrl && isUnderUrl(url, onboardingReturnUrl)) return;
|
|
149
|
+
const onboarding = bridge.auth.pendingOnboarding;
|
|
150
|
+
if (onboarding && queryParams(url).state === onboarding.state) return;
|
|
106
151
|
const params = parseWalletReturn(url);
|
|
107
|
-
if (params) void
|
|
152
|
+
if (params) void client.request("sys", "deepLinkReturn", params).catch(() => undefined);
|
|
108
153
|
};
|
|
109
154
|
const sub = Linking.addEventListener("url", (event) => handle(event.url));
|
|
110
155
|
void Linking.getInitialURL()
|
|
111
156
|
.then(handle)
|
|
112
157
|
.catch(() => undefined);
|
|
113
158
|
return () => sub.remove();
|
|
114
|
-
}, [bridge]);
|
|
159
|
+
}, [bridge, client, walletReturnUrl, onboardingReturnUrl]);
|
|
115
160
|
|
|
116
161
|
const wagmiConfig = useMemo(() => {
|
|
117
162
|
// Same chain resolution as web (testnet filter + optional localnet dev
|
|
@@ -122,12 +167,12 @@ export function WalletProvider({
|
|
|
122
167
|
return createConfig({
|
|
123
168
|
chains,
|
|
124
169
|
transports,
|
|
125
|
-
connectors: [createBridgeConnector(
|
|
170
|
+
connectors: [createBridgeConnector(client)],
|
|
126
171
|
multiInjectedProviderDiscovery: false,
|
|
127
172
|
});
|
|
128
173
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
129
174
|
}, [
|
|
130
|
-
|
|
175
|
+
client,
|
|
131
176
|
web3Config.chains,
|
|
132
177
|
web3Config.enableTestnets,
|
|
133
178
|
web3Config.localnet,
|
|
@@ -135,58 +180,66 @@ export function WalletProvider({
|
|
|
135
180
|
]);
|
|
136
181
|
|
|
137
182
|
const solanaValue = useMemo<SolanaWalletContextValue>(
|
|
138
|
-
() => ({ bridge: solana, publicKey, connected: publicKey !== null }),
|
|
139
|
-
[solana, publicKey],
|
|
183
|
+
() => ({ bridge: bridge.solana, publicKey, connected: publicKey !== null }),
|
|
184
|
+
[bridge.solana, publicKey],
|
|
140
185
|
);
|
|
141
186
|
|
|
142
|
-
const onMessage = (event: WebViewMessageEvent) =>
|
|
187
|
+
const onMessage = (event: WebViewMessageEvent) =>
|
|
188
|
+
host?.receive(event.nativeEvent.data, event.nativeEvent.url);
|
|
143
189
|
|
|
144
|
-
|
|
145
|
-
// And no guessed-URL fallback either: mounting the WebView against an
|
|
146
|
-
// unreachable default (e.g. http://localhost:8099 on a physical device, where
|
|
147
|
-
// localhost is the phone) fires NSURLErrorDomain -1004 at app startup. When
|
|
148
|
-
// neither `webViewSource` nor `config.webViewUrl` resolves, skip the WebView
|
|
149
|
-
// entirely — providers still mount so wagmi/bridge consumers render; connect
|
|
150
|
-
// flows stay inert until WEB3_WEBVIEW_URL points at a served copy of
|
|
151
|
-
// @multiplatform.one/web3/assets/webview.html.
|
|
152
|
-
const resolvedSource =
|
|
153
|
-
webViewSource ?? (web3Config.webViewUrl ? { uri: web3Config.webViewUrl } : undefined);
|
|
190
|
+
const openExternally = (url: string) => void Linking.openURL(url).catch(() => undefined);
|
|
154
191
|
|
|
155
192
|
return (
|
|
156
193
|
<Web3ConfigContext.Provider value={web3Config}>
|
|
157
194
|
<WagmiProvider config={wagmiConfig}>
|
|
158
195
|
<QueryClientProvider client={queryClient}>
|
|
159
|
-
<
|
|
160
|
-
{
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
196
|
+
<WalletBridgeContext.Provider value={bridge}>
|
|
197
|
+
<SolanaWalletContext.Provider value={solanaValue}>
|
|
198
|
+
{children}
|
|
199
|
+
{host && pageUrl && (
|
|
200
|
+
<View
|
|
201
|
+
style={visibility.sheetOpen ? styles.visible : styles.hidden}
|
|
202
|
+
pointerEvents={visibility.sheetOpen ? "auto" : "none"}
|
|
203
|
+
>
|
|
204
|
+
<WebView
|
|
205
|
+
key={pageLoad}
|
|
206
|
+
ref={webRef}
|
|
207
|
+
source={webViewSource ?? { uri: pageUrl }}
|
|
208
|
+
originWhitelist={["*"]}
|
|
209
|
+
javaScriptEnabled
|
|
210
|
+
domStorageEnabled
|
|
211
|
+
javaScriptCanOpenWindowsAutomatically
|
|
212
|
+
onMessage={onMessage}
|
|
213
|
+
onLoadStart={(event) => {
|
|
214
|
+
if (host.navigated(event.nativeEvent.url)) setPageLoad((n) => n + 1);
|
|
215
|
+
}}
|
|
216
|
+
onShouldStartLoadWithRequest={(req) => {
|
|
217
|
+
const decision = decideNavigation(req.url, host.pageOrigin, req.isTopFrame);
|
|
218
|
+
if (decision === "external") openExternally(req.url);
|
|
219
|
+
return decision === "load";
|
|
220
|
+
}}
|
|
221
|
+
onOpenWindow={(event) => {
|
|
222
|
+
const url = event.nativeEvent.targetUrl;
|
|
223
|
+
if (decideNewWindow(url) === "external") openExternally(url);
|
|
224
|
+
}}
|
|
225
|
+
onContentProcessDidTerminate={() => {
|
|
226
|
+
host.pageGone();
|
|
227
|
+
webRef.current?.reload();
|
|
228
|
+
}}
|
|
229
|
+
onRenderProcessGone={() => {
|
|
230
|
+
host.pageGone();
|
|
231
|
+
webRef.current?.reload();
|
|
232
|
+
}}
|
|
233
|
+
injectedJavaScriptBeforeContentLoaded={buildConfigInjection({
|
|
234
|
+
...web3Config,
|
|
235
|
+
appUrl: web3Config.appUrl ?? "",
|
|
236
|
+
})}
|
|
237
|
+
style={styles.webview}
|
|
238
|
+
/>
|
|
239
|
+
</View>
|
|
240
|
+
)}
|
|
241
|
+
</SolanaWalletContext.Provider>
|
|
242
|
+
</WalletBridgeContext.Provider>
|
|
190
243
|
</QueryClientProvider>
|
|
191
244
|
</WagmiProvider>
|
|
192
245
|
</Web3ConfigContext.Provider>
|
|
@@ -201,5 +254,6 @@ const styles = StyleSheet.create({
|
|
|
201
254
|
webview: { flex: 1, backgroundColor: "transparent" },
|
|
202
255
|
});
|
|
203
256
|
|
|
257
|
+
export { useWalletBridge, type WalletBridgeContextValue } from "./walletBridge";
|
|
204
258
|
export { defaultChains } from "./walletConfig";
|
|
205
259
|
export { useWeb3Config, type Web3Config } from "./walletConfig";
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
2
|
-
import { ConnectKitProvider, getDefaultConfig } from "../connectkit";
|
|
2
|
+
import { ConnectKitProvider, SIWEProvider, type SIWEConfig, getDefaultConfig } from "../connectkit";
|
|
3
3
|
import { isWeb } from "@multiplatform.one/platform";
|
|
4
4
|
import type { PropsWithChildren } from "react";
|
|
5
5
|
import { useMemo } from "react";
|
|
6
|
-
import type { Chain } from "viem";
|
|
7
6
|
import { WagmiProvider, createConfig, http } from "wagmi";
|
|
8
7
|
import { createMockConnector } from "./mockConnector";
|
|
9
8
|
import { type Web3Config, Web3ConfigContext, resolveChains } from "./walletConfig";
|
|
@@ -11,6 +10,12 @@ import { type Web3Config, Web3ConfigContext, resolveChains } from "./walletConfi
|
|
|
11
10
|
export interface WalletProviderProps extends PropsWithChildren {
|
|
12
11
|
config: Web3Config;
|
|
13
12
|
queryClient?: QueryClient;
|
|
13
|
+
/**
|
|
14
|
+
* Mounts a SIWEProvider around the ConnectKit modal, e.g.
|
|
15
|
+
* `kc.siweConfig(grant.onSign)` for `useDirectLogin`. It has to sit outside
|
|
16
|
+
* ConnectKitProvider, so a child cannot add its own.
|
|
17
|
+
*/
|
|
18
|
+
siwe?: SIWEConfig;
|
|
14
19
|
}
|
|
15
20
|
|
|
16
21
|
const defaultQueryClient = new QueryClient();
|
|
@@ -26,6 +31,7 @@ export function WalletProvider({
|
|
|
26
31
|
children,
|
|
27
32
|
config: web3Config,
|
|
28
33
|
queryClient = defaultQueryClient,
|
|
34
|
+
siwe,
|
|
29
35
|
}: WalletProviderProps) {
|
|
30
36
|
const {
|
|
31
37
|
walletConnectProjectId,
|
|
@@ -88,12 +94,19 @@ export function WalletProvider({
|
|
|
88
94
|
<Web3ConfigContext.Provider value={web3Config}>
|
|
89
95
|
<WagmiProvider config={wagmiConfig}>
|
|
90
96
|
<QueryClientProvider client={queryClient}>
|
|
91
|
-
|
|
97
|
+
{siwe ? (
|
|
98
|
+
<SIWEProvider {...siwe}>
|
|
99
|
+
<ConnectKitProvider>{children}</ConnectKitProvider>
|
|
100
|
+
</SIWEProvider>
|
|
101
|
+
) : (
|
|
102
|
+
<ConnectKitProvider>{children}</ConnectKitProvider>
|
|
103
|
+
)}
|
|
92
104
|
</QueryClientProvider>
|
|
93
105
|
</WagmiProvider>
|
|
94
106
|
</Web3ConfigContext.Provider>
|
|
95
107
|
);
|
|
96
108
|
}
|
|
97
109
|
|
|
110
|
+
export { useWalletBridge, type WalletBridgeContextValue } from "./walletBridge";
|
|
98
111
|
export { defaultChains } from "./walletConfig";
|
|
99
112
|
export { useWeb3Config, type Web3Config } from "./walletConfig";
|
package/src/providers/index.ts
CHANGED
|
@@ -1,17 +1,28 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
decideNavigation,
|
|
4
|
+
decideNewWindow,
|
|
5
|
+
isUnderUrl,
|
|
6
|
+
parseWalletReturn,
|
|
7
|
+
shouldOpenExternally,
|
|
8
|
+
} from "./deepLink";
|
|
3
9
|
|
|
4
10
|
describe("shouldOpenExternally", () => {
|
|
5
11
|
it("opens wallet custom schemes externally", () => {
|
|
6
12
|
expect(shouldOpenExternally("metamask://connect/mwp?p=abc")).toBe(true);
|
|
7
13
|
expect(shouldOpenExternally("phantom://v1/connect?app_url=...")).toBe(true);
|
|
8
14
|
expect(shouldOpenExternally("ethereum:0xabc")).toBe(true);
|
|
15
|
+
expect(shouldOpenExternally("solflare://ul/v1/connect?app_url=x")).toBe(true);
|
|
16
|
+
expect(shouldOpenExternally("backpack://ul/v1/connect?app_url=x")).toBe(true);
|
|
9
17
|
});
|
|
10
18
|
|
|
11
19
|
it("opens known wallet universal links externally", () => {
|
|
12
20
|
expect(shouldOpenExternally("https://metamask.app.link/connect/mwp?p=abc")).toBe(true);
|
|
13
21
|
expect(shouldOpenExternally("https://link.trustwallet.com/open_url?url=...")).toBe(true);
|
|
14
22
|
expect(shouldOpenExternally("https://phantom.app/ul/v1/connect")).toBe(true);
|
|
23
|
+
expect(shouldOpenExternally("https://solflare.com/ul/v1/signMessage")).toBe(true);
|
|
24
|
+
expect(shouldOpenExternally("https://backpack.app/ul/v1/connect")).toBe(true);
|
|
25
|
+
expect(shouldOpenExternally("HTTPS://Link.Metamask.App.Link/x")).toBe(true);
|
|
15
26
|
});
|
|
16
27
|
|
|
17
28
|
it("keeps internal / non-wallet navigations in the WebView", () => {
|
|
@@ -23,6 +34,53 @@ describe("shouldOpenExternally", () => {
|
|
|
23
34
|
});
|
|
24
35
|
});
|
|
25
36
|
|
|
37
|
+
const page = "https://wallet.example.com";
|
|
38
|
+
|
|
39
|
+
describe("decideNavigation", () => {
|
|
40
|
+
it("keeps the hosted page's own origin in the WebView", () => {
|
|
41
|
+
expect(decideNavigation("https://wallet.example.com/webview.html#x", page)).toBe("load");
|
|
42
|
+
expect(decideNavigation("about:blank", page)).toBe("load");
|
|
43
|
+
});
|
|
44
|
+
|
|
45
|
+
it("hands wallet links to the OS from any frame", () => {
|
|
46
|
+
expect(decideNavigation("metamask://connect/mwp?p=abc", page)).toBe("external");
|
|
47
|
+
expect(decideNavigation("https://metamask.app.link/connect", page, false)).toBe("external");
|
|
48
|
+
expect(decideNavigation("solflare://ul/v1/connect", page)).toBe("external");
|
|
49
|
+
});
|
|
50
|
+
|
|
51
|
+
it("never lets the top frame leave the page's origin", () => {
|
|
52
|
+
expect(decideNavigation("https://evil.example/phish", page)).toBe("external");
|
|
53
|
+
expect(decideNavigation("http://wallet.example.com/webview.html", page)).toBe("external");
|
|
54
|
+
expect(decideNavigation("mailto:help@example.com", page)).toBe("external");
|
|
55
|
+
expect(decideNavigation("javascript:alert(1)", page)).toBe("block");
|
|
56
|
+
expect(decideNavigation("file:///etc/hosts", page)).toBe("block");
|
|
57
|
+
expect(decideNavigation("data:text/html,<p>x</p>", page)).toBe("block");
|
|
58
|
+
expect(decideNavigation("intent://x#Intent;end", page)).toBe("block");
|
|
59
|
+
});
|
|
60
|
+
|
|
61
|
+
it("lets frames load what the page asks for", () => {
|
|
62
|
+
expect(decideNavigation("https://relay.example/frame", page, false)).toBe("load");
|
|
63
|
+
expect(decideNavigation("about:srcdoc", page, false)).toBe("load");
|
|
64
|
+
});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
describe("decideNewWindow", () => {
|
|
68
|
+
it("opens wallet links and web pages outside the app", () => {
|
|
69
|
+
expect(decideNewWindow("https://metamask.app.link/connect/mwp?p=abc")).toBe("external");
|
|
70
|
+
expect(decideNewWindow("phantom://v1/connect")).toBe("external");
|
|
71
|
+
expect(decideNewWindow("backpack://ul/v1/connect")).toBe("external");
|
|
72
|
+
expect(decideNewWindow("https://solflare.com/ul/v1/connect")).toBe("external");
|
|
73
|
+
expect(decideNewWindow("https://metamask.io/download")).toBe("external");
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
it("drops script and local URLs", () => {
|
|
77
|
+
expect(decideNewWindow("javascript:void(0)")).toBe("block");
|
|
78
|
+
expect(decideNewWindow("about:blank")).toBe("block");
|
|
79
|
+
expect(decideNewWindow("file:///sdcard/x")).toBe("block");
|
|
80
|
+
expect(decideNewWindow("")).toBe("block");
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
|
|
26
84
|
describe("parseWalletReturn", () => {
|
|
27
85
|
it("extracts query params from a return url", () => {
|
|
28
86
|
expect(parseWalletReturn("mpoapp://wallet-return?address=0x1&signature=0xab")).toEqual({
|
|
@@ -39,3 +97,17 @@ describe("parseWalletReturn", () => {
|
|
|
39
97
|
expect(parseWalletReturn("not a url at all %%%")).toBeNull();
|
|
40
98
|
});
|
|
41
99
|
});
|
|
100
|
+
|
|
101
|
+
describe("isUnderUrl", () => {
|
|
102
|
+
it("matches the base and what sits below it on a boundary", () => {
|
|
103
|
+
const base = "myapp://wallet-return";
|
|
104
|
+
expect(isUnderUrl("myapp://wallet-return", base)).toBe(true);
|
|
105
|
+
expect(isUnderUrl("myapp://wallet-return?address=0x1", base)).toBe(true);
|
|
106
|
+
expect(isUnderUrl("myapp://wallet-return/done", base)).toBe(true);
|
|
107
|
+
expect(isUnderUrl("myapp://wallet-return#x", base)).toBe(true);
|
|
108
|
+
expect(isUnderUrl("myapp://wallet-returned", base)).toBe(false);
|
|
109
|
+
expect(isUnderUrl("myapp://auth?code=c", base)).toBe(false);
|
|
110
|
+
expect(isUnderUrl("myapp://wallet-return/x", "myapp://wallet-return/")).toBe(true);
|
|
111
|
+
expect(isUnderUrl("myapp://anything", "")).toBe(false);
|
|
112
|
+
});
|
|
113
|
+
});
|
|
@@ -1,16 +1,21 @@
|
|
|
1
|
+
import { parseOrigin, queryParams } from "../../bridge/hosting";
|
|
2
|
+
|
|
1
3
|
/**
|
|
2
|
-
* Wallet hand-off
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
4
|
+
* Wallet hand-off for the native WebView. The WebView shows the hosted wallet
|
|
5
|
+
* page; when its flow opens a wallet app it navigates to a wallet custom
|
|
6
|
+
* scheme or universal link, or opens one in a new window. Those go to the OS
|
|
7
|
+
* through Linking.openURL and are never loaded in the WebView.
|
|
6
8
|
*/
|
|
7
9
|
|
|
8
|
-
|
|
10
|
+
/** Custom schemes that open a wallet app. docs/bridge-protocol.md lists the same. */
|
|
11
|
+
export const WALLET_SCHEMES: readonly string[] = [
|
|
9
12
|
"ethereum",
|
|
10
13
|
"metamask",
|
|
11
14
|
"rainbow",
|
|
12
15
|
"trust",
|
|
13
16
|
"phantom",
|
|
17
|
+
"solflare",
|
|
18
|
+
"backpack",
|
|
14
19
|
"solana",
|
|
15
20
|
"cbwallet",
|
|
16
21
|
"ledgerlive",
|
|
@@ -19,43 +24,86 @@ const WALLET_SCHEMES = new Set([
|
|
|
19
24
|
"okx",
|
|
20
25
|
"imtokenv2",
|
|
21
26
|
"wallet",
|
|
22
|
-
]
|
|
27
|
+
];
|
|
23
28
|
|
|
24
|
-
|
|
29
|
+
/** Hosts (and subdomains) of wallet universal links. docs/bridge-protocol.md lists the same. */
|
|
30
|
+
export const WALLET_UNIVERSAL_HOSTS: readonly string[] = [
|
|
25
31
|
"metamask.app.link",
|
|
26
32
|
"link.trustwallet.com",
|
|
27
33
|
"phantom.app",
|
|
34
|
+
"solflare.com",
|
|
35
|
+
"backpack.app",
|
|
28
36
|
"rnbwapp.com",
|
|
29
37
|
"go.cb-w.com",
|
|
30
38
|
"ledger.com",
|
|
31
39
|
];
|
|
32
40
|
|
|
41
|
+
const OS_SCHEMES = new Set(["mailto", "tel", "sms"]);
|
|
42
|
+
|
|
33
43
|
/** True when a WebView navigation should be opened in an external wallet app. */
|
|
34
44
|
export function shouldOpenExternally(url: string): boolean {
|
|
35
|
-
const
|
|
36
|
-
if (!
|
|
37
|
-
if (WALLET_SCHEMES.
|
|
38
|
-
if (scheme
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
const parsed = parseOrigin(url);
|
|
46
|
+
if (!parsed) return false;
|
|
47
|
+
if (WALLET_SCHEMES.includes(parsed.scheme)) return true;
|
|
48
|
+
if (parsed.scheme !== "https" && parsed.scheme !== "http") return false;
|
|
49
|
+
return WALLET_UNIVERSAL_HOSTS.some(
|
|
50
|
+
(h) => parsed.hostname === h || parsed.hostname.endsWith(`.${h}`),
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
/** `load` in the WebView, hand to the OS (`external`), or drop (`block`). */
|
|
55
|
+
export type NavigationDecision = "load" | "external" | "block";
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Decide a navigation in the wallet WebView (`onShouldStartLoadWithRequest`).
|
|
59
|
+
* The top frame never leaves the hosted page's origin: the bridge would
|
|
60
|
+
* otherwise hand its messages, tokens included, to whatever page loaded next.
|
|
61
|
+
* Other http(s) pages open in the system browser; frames are the page's own
|
|
62
|
+
* business.
|
|
63
|
+
*/
|
|
64
|
+
export function decideNavigation(
|
|
65
|
+
url: string,
|
|
66
|
+
pageOrigin: string,
|
|
67
|
+
isTopFrame = true,
|
|
68
|
+
): NavigationDecision {
|
|
69
|
+
if (shouldOpenExternally(url)) return "external";
|
|
70
|
+
const parsed = parseOrigin(url);
|
|
71
|
+
if (!parsed) return "block";
|
|
72
|
+
if (!isTopFrame) return "load";
|
|
73
|
+
if (parsed.origin === pageOrigin) return "load";
|
|
74
|
+
if (url.trim().toLowerCase() === "about:blank") return "load";
|
|
75
|
+
if (parsed.scheme === "https" || parsed.scheme === "http" || OS_SCHEMES.has(parsed.scheme)) {
|
|
76
|
+
return "external";
|
|
77
|
+
}
|
|
78
|
+
return "block";
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Decide a `window.open` / `target=_blank` navigation (`onOpenWindow`). A new
|
|
83
|
+
* window never opens inside the app: wallet links and web pages go to the OS.
|
|
84
|
+
*/
|
|
85
|
+
export function decideNewWindow(url: string): NavigationDecision {
|
|
86
|
+
if (shouldOpenExternally(url)) return "external";
|
|
87
|
+
const parsed = parseOrigin(url);
|
|
88
|
+
if (!parsed) return "block";
|
|
89
|
+
if (parsed.scheme === "https" || parsed.scheme === "http" || OS_SCHEMES.has(parsed.scheme)) {
|
|
90
|
+
return "external";
|
|
45
91
|
}
|
|
46
|
-
return
|
|
92
|
+
return "block";
|
|
47
93
|
}
|
|
48
94
|
|
|
49
95
|
/** Parse the query params of an inbound app-link return (e.g. from a wallet redirect). */
|
|
50
96
|
export function parseWalletReturn(url: string): Record<string, string> | null {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
97
|
+
return parseOrigin(url) ? queryParams(url) : null;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
/**
|
|
101
|
+
* True when `url` is `base` or below it: `myapp://wallet-return?x=1` and
|
|
102
|
+
* `myapp://wallet-return/done` are under `myapp://wallet-return`,
|
|
103
|
+
* `myapp://wallet-returned` is not.
|
|
104
|
+
*/
|
|
105
|
+
export function isUnderUrl(url: string, base: string): boolean {
|
|
106
|
+
if (!base || !url.startsWith(base)) return false;
|
|
107
|
+
if (url.length === base.length || /[/?#]$/.test(base)) return true;
|
|
108
|
+
return "/?#".includes(url[base.length]);
|
|
61
109
|
}
|
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import type { Web3Config } from "../walletConfig";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
* Build the JS the native side runs inside the WebView (via `injectJavaScript`)
|
|
5
|
-
* to deliver one inbound bridge message. The raw string is embedded with
|
|
6
|
-
* JSON.stringify so quotes/newlines/backslashes survive intact. The trailing
|
|
7
|
-
* `true;` is required by react-native-webview's injectJavaScript contract.
|
|
8
|
-
*/
|
|
9
|
-
export function buildInjectScript(raw: string): string {
|
|
10
|
-
return `window.__bridgeReceive && window.__bridgeReceive(${JSON.stringify(raw)});true;`;
|
|
11
|
-
}
|
|
3
|
+
export { buildInjectScript } from "../../bridge/nativeHost";
|
|
12
4
|
|
|
13
5
|
/**
|
|
14
6
|
* Build the JS injected *before* the WebView content loads
|