@web3auth/no-modal 10.0.0-alpha.0 → 10.0.0-alpha.2
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/dist/lib.cjs/base/chain/IChainInterface.js +7 -12
- package/dist/lib.cjs/base/chain/config.js +76 -35
- package/dist/lib.cjs/base/connector/baseConnector.js +64 -0
- package/dist/lib.cjs/base/connector/constants.js +26 -0
- package/dist/lib.cjs/base/errors/index.js +2 -12
- package/dist/lib.cjs/base/plugin/IPlugin.js +2 -2
- package/dist/lib.cjs/base/plugin/errors.js +2 -4
- package/dist/lib.cjs/base/utils.js +7 -7
- package/dist/lib.cjs/base/wallet/index.js +15 -20
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +503 -0
- package/dist/lib.cjs/connectors/auth-connector/config/authConnectionConfig.js +216 -0
- package/dist/lib.cjs/connectors/auth-connector/config/config-build.js +54 -0
- package/dist/lib.cjs/connectors/auth-connector/config/config-env.js +361 -0
- package/dist/lib.cjs/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +28 -19
- package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +83 -0
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +159 -0
- package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
- package/dist/lib.cjs/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +66 -42
- package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
- package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +156 -0
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +63 -95
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +55 -57
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +32 -0
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +418 -0
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +23 -26
- package/dist/lib.cjs/index.js +142 -102
- package/dist/lib.cjs/noModal.js +299 -241
- package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +0 -3
- package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +18 -6
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +50 -204
- package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +112 -35
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +10 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +0 -2
- package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +21 -26
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +49 -24
- package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +2 -13
- package/dist/lib.cjs/providers/base-provider/index.js +22 -0
- package/dist/lib.cjs/providers/base-provider/utils.js +10 -2
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +51 -61
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +12 -2
- package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -1
- package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -1
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +12 -11
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -5
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -2
- package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +1 -30
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -8
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +22 -11
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +7 -9
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +90 -2
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +37 -56
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +30 -29
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +41 -18
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +36 -60
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -4
- package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +28 -44
- package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +11 -0
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +13 -1
- package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
- package/dist/{types → lib.cjs/types}/base/chain/IChainInterface.d.ts +4 -10
- package/dist/{types → lib.cjs/types}/base/chain/config.d.ts +2 -2
- package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +37 -0
- package/dist/{types/base/adapter → lib.cjs/types/base/connector}/constants.d.ts +7 -4
- package/dist/{types/base/adapter → lib.cjs/types/base/connector}/index.d.ts +1 -1
- package/dist/{types/base/adapter → lib.cjs/types/base/connector}/interfaces.d.ts +58 -48
- package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +142 -0
- package/dist/{types → lib.cjs/types}/base/errors/index.d.ts +1 -1
- package/dist/{types → lib.cjs/types}/base/hooks/index.d.ts +2 -6
- package/dist/{types → lib.cjs/types}/base/index.d.ts +1 -1
- package/dist/{types → lib.cjs/types}/base/interfaces.d.ts +2 -1
- package/dist/{types → lib.cjs/types}/base/plugin/IPlugin.d.ts +4 -7
- package/dist/{types → lib.cjs/types}/base/plugin/errors.d.ts +1 -1
- package/dist/{types → lib.cjs/types}/base/utils.d.ts +1 -1
- package/dist/lib.cjs/types/base/wallet/index.d.ts +29 -0
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +49 -0
- package/dist/lib.cjs/types/connectors/auth-connector/config/authConnectionConfig.d.ts +2 -0
- package/dist/lib.cjs/types/connectors/auth-connector/config/config-build.d.ts +18 -0
- package/dist/lib.cjs/types/connectors/auth-connector/config/config-env.d.ts +60 -0
- package/dist/lib.cjs/types/connectors/auth-connector/index.d.ts +2 -0
- package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +15 -0
- package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
- package/dist/lib.cjs/types/connectors/base-evm-connector/index.d.ts +1 -0
- package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
- package/dist/lib.cjs/types/connectors/base-solana-connector/index.d.ts +1 -0
- package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
- package/dist/lib.cjs/types/connectors/coinbase-connector/index.d.ts +1 -0
- package/dist/lib.cjs/types/connectors/index.d.ts +7 -0
- package/dist/lib.cjs/types/connectors/injected-evm-connector/index.d.ts +2 -0
- package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
- package/dist/lib.cjs/types/connectors/injected-solana-connector/index.d.ts +5 -0
- package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.d.ts +4 -6
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/config.d.ts +4 -4
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/index.d.ts +1 -1
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/interface.d.ts +4 -4
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/walletConnectV2Utils.d.ts +1 -6
- package/dist/{types → lib.cjs/types}/index.d.ts +1 -1
- package/dist/lib.cjs/types/noModal.d.ts +58 -0
- package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/plugin.d.ts +11 -7
- package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +27 -0
- package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +48 -0
- package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -0
- package/dist/{types → lib.cjs/types}/providers/base-provider/CommonJRPCProvider.d.ts +3 -3
- package/dist/{types → lib.cjs/types}/providers/base-provider/baseProvider.d.ts +10 -11
- package/dist/{types → lib.cjs/types}/providers/base-provider/commonPrivateKeyProvider.d.ts +3 -6
- package/dist/{types → lib.cjs/types}/providers/base-provider/interfaces.d.ts +3 -1
- package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +9 -0
- package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +14 -6
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +1 -0
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -0
- package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/interfaces.d.ts +0 -13
- package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +22 -0
- package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +2 -2
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +2 -0
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +9 -0
- package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +5 -6
- package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +27 -0
- package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +1 -1
- package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +28 -0
- package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +5 -6
- package/dist/{types → lib.cjs/types}/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +1 -4
- package/dist/{types → lib.cjs/types}/react/no-modal/interfaces.d.ts +4 -4
- package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/interfaces.d.ts +2 -2
- package/dist/{types → lib.cjs/types}/vue/no-modal/interfaces.d.ts +5 -8
- package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/interfaces.d.ts +2 -2
- package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +27 -44
- package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +12 -1
- package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +14 -2
- package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
- package/dist/lib.esm/base/chain/IChainInterface.js +3 -11
- package/dist/lib.esm/base/chain/config.js +65 -24
- package/dist/lib.esm/base/connector/baseConnector.js +62 -0
- package/dist/lib.esm/base/connector/constants.js +22 -0
- package/dist/lib.esm/base/errors/index.js +2 -12
- package/dist/lib.esm/base/plugin/IPlugin.js +1 -1
- package/dist/lib.esm/base/plugin/errors.js +2 -4
- package/dist/lib.esm/base/utils.js +5 -5
- package/dist/lib.esm/base/wallet/index.js +11 -16
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +501 -0
- package/dist/lib.esm/connectors/auth-connector/config/authConnectionConfig.js +214 -0
- package/dist/lib.esm/connectors/auth-connector/config/config-build.js +48 -0
- package/dist/lib.esm/connectors/auth-connector/config/config-env.js +359 -0
- package/dist/lib.esm/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +29 -20
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +81 -0
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +157 -0
- package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
- package/dist/lib.esm/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +64 -41
- package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
- package/dist/lib.esm/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +66 -49
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +63 -95
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +47 -45
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +416 -0
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +24 -26
- package/dist/lib.esm/index.js +29 -34
- package/dist/lib.esm/noModal.js +297 -239
- package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +1 -4
- package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +18 -6
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +46 -201
- package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +108 -34
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +10 -0
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +0 -2
- package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +22 -27
- package/dist/lib.esm/providers/base-provider/baseProvider.js +49 -24
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +2 -13
- package/dist/lib.esm/providers/base-provider/index.js +5 -0
- package/dist/lib.esm/providers/base-provider/utils.js +9 -1
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +50 -60
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +12 -2
- package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -1
- package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -1
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +12 -11
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -2
- package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +2 -30
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -8
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +22 -11
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +4 -6
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +90 -2
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +36 -55
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +29 -28
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +6 -6
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +41 -18
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +35 -59
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -4
- package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +28 -44
- package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +11 -0
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +13 -1
- package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
- package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +27 -44
- package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +12 -1
- package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +14 -2
- package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +0 -9
- package/package.json +25 -22
- package/dist/757.noModal.cjs.js +0 -226
- package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +0 -262
- package/dist/lib.cjs/adapters/auth-adapter/config.js +0 -17
- package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +0 -76
- package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +0 -156
- package/dist/lib.cjs/adapters/default-evm-adapter/index.js +0 -40
- package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +0 -42
- package/dist/lib.cjs/adapters/default-solana-adapter/index.js +0 -40
- package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +0 -53
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +0 -138
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +0 -77
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -376
- package/dist/lib.cjs/base/adapter/baseAdapter.js +0 -117
- package/dist/lib.cjs/base/adapter/constants.js +0 -24
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -29
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -22
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -30
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -30
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -29
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -11
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -185
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -106
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -12
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -75
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -109
- package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +0 -260
- package/dist/lib.esm/adapters/auth-adapter/config.js +0 -15
- package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +0 -74
- package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +0 -154
- package/dist/lib.esm/adapters/default-evm-adapter/index.js +0 -37
- package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +0 -40
- package/dist/lib.esm/adapters/default-solana-adapter/index.js +0 -37
- package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +0 -51
- package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +0 -75
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -374
- package/dist/lib.esm/base/adapter/baseAdapter.js +0 -115
- package/dist/lib.esm/base/adapter/constants.js +0 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -27
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -28
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -28
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -27
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -9
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -183
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -104
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -10
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -73
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -107
- package/dist/noModal.cjs.js +0 -26385
- package/dist/types/adapters/auth-adapter/authAdapter.d.ts +0 -42
- package/dist/types/adapters/auth-adapter/config.d.ts +0 -2
- package/dist/types/adapters/auth-adapter/index.d.ts +0 -3
- package/dist/types/adapters/auth-adapter/interface.d.ts +0 -11
- package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +0 -7
- package/dist/types/adapters/base-evm-adapter/index.d.ts +0 -1
- package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +0 -7
- package/dist/types/adapters/base-solana-adapter/index.d.ts +0 -1
- package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +0 -33
- package/dist/types/adapters/coinbase-adapter/index.d.ts +0 -1
- package/dist/types/adapters/default-evm-adapter/index.d.ts +0 -6
- package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +0 -4
- package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +0 -30
- package/dist/types/adapters/default-solana-adapter/index.d.ts +0 -6
- package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +0 -4
- package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +0 -31
- package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +0 -27
- package/dist/types/adapters/index.d.ts +0 -7
- package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +0 -42
- package/dist/types/base/adapter/baseAdapter.d.ts +0 -44
- package/dist/types/base/core/IWeb3Auth.d.ts +0 -101
- package/dist/types/base/wallet/index.d.ts +0 -33
- package/dist/types/noModal.d.ts +0 -43
- package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +0 -51
- package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +0 -46
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +0 -9
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +0 -6
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +0 -22
- package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +0 -17
- package/dist/types/providers/base-provider/utils.d.ts +0 -2
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +0 -30
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +0 -9
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -2
- package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +0 -5
- package/dist/types/providers/solana-provider/interface.d.ts +0 -39
- package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +0 -5
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +0 -18
- package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -6
- package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +0 -42
- package/dist/types/providers/solana-provider/solanaWallet.d.ts +0 -14
- /package/dist/lib.cjs/base/{adapter → connector}/utils.js +0 -0
- /package/dist/lib.cjs/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
- /package/dist/{types → lib.cjs/types}/base/composables/index.d.ts +0 -0
- /package/dist/{types/base/adapter → lib.cjs/types/base/connector}/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/loglevel.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/plugin/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/provider/IProvider.d.ts +0 -0
- /package/dist/{types/adapters/default-solana-adapter → lib.cjs/types/connectors/injected-solana-connector}/utils.d.ts +0 -0
- /package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/embed.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/enums.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/wallet-services-plugin/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/rpc/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/base-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/base-provider/jrpcClient.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/converter.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/jrpcClient.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/JrpcClient.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/rpc/JrpcClient.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/Web3AuthInnerContext.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/Web3AuthProvider.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/hooks/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/hooks/useWeb3Auth.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/WalletServicesContext.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/WalletServicesProvider.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/hooks/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/no-modal/Web3AuthProvider.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/no-modal/composables/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/no-modal/composables/useWeb3Auth.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/no-modal/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/composables/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/context.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/index.d.ts +0 -0
- /package/dist/lib.esm/base/{adapter → connector}/utils.js +0 -0
- /package/dist/lib.esm/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
|
@@ -1,23 +1,24 @@
|
|
|
1
1
|
import { signChallenge, verifySignedChallenge } from '@toruslabs/base-controllers';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import
|
|
7
|
-
import {
|
|
2
|
+
import { EVM_METHOD_TYPES } from '@web3auth/ws-embed';
|
|
3
|
+
import { WalletLoginError, WalletInitializationError } from '../../base/errors/index.js';
|
|
4
|
+
import { BaseConnector } from '../../base/connector/baseConnector.js';
|
|
5
|
+
import { CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
|
|
6
|
+
import '@web3auth/auth';
|
|
7
|
+
import { getSavedToken, checkIfTokenIsExpired, saveToken, clearToken } from '../../base/connector/utils.js';
|
|
8
|
+
import '../../base/loglevel.js';
|
|
9
|
+
import '../../base/plugin/errors.js';
|
|
10
|
+
import '../../base/plugin/IPlugin.js';
|
|
11
|
+
import '@toruslabs/constants';
|
|
12
|
+
import '@toruslabs/http-helpers';
|
|
13
|
+
import '../../base/wallet/index.js';
|
|
8
14
|
|
|
9
|
-
class
|
|
10
|
-
async init(_) {
|
|
11
|
-
if (!this.chainConfig) this.chainConfig = getChainConfig(CHAIN_NAMESPACES.EIP155, 1);
|
|
12
|
-
}
|
|
15
|
+
class BaseEvmConnector extends BaseConnector {
|
|
16
|
+
async init(_) {}
|
|
13
17
|
async authenticateUser() {
|
|
14
|
-
if (!this.provider || this.status !==
|
|
15
|
-
|
|
16
|
-
chainNamespace,
|
|
17
|
-
chainId
|
|
18
|
-
} = this.chainConfig;
|
|
18
|
+
if (!this.provider || this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError();
|
|
19
|
+
if (!this.coreOptions) throw WalletInitializationError.invalidParams("Please initialize Web3Auth with valid options");
|
|
19
20
|
const accounts = await this.provider.request({
|
|
20
|
-
method:
|
|
21
|
+
method: EVM_METHOD_TYPES.GET_ACCOUNTS
|
|
21
22
|
});
|
|
22
23
|
if (accounts && accounts.length > 0) {
|
|
23
24
|
const existingToken = getSavedToken(accounts[0], this.name);
|
|
@@ -29,6 +30,14 @@ class BaseEvmAdapter extends BaseAdapter {
|
|
|
29
30
|
};
|
|
30
31
|
}
|
|
31
32
|
}
|
|
33
|
+
const chainId = await this.provider.request({
|
|
34
|
+
method: "eth_chainId"
|
|
35
|
+
});
|
|
36
|
+
const currentChainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
37
|
+
if (!currentChainConfig) throw WalletInitializationError.invalidParams("chainConfig is required before authentication");
|
|
38
|
+
const {
|
|
39
|
+
chainNamespace
|
|
40
|
+
} = currentChainConfig;
|
|
32
41
|
const payload = {
|
|
33
42
|
domain: window.location.origin,
|
|
34
43
|
uri: window.location.href,
|
|
@@ -41,10 +50,10 @@ class BaseEvmAdapter extends BaseAdapter {
|
|
|
41
50
|
const challenge = await signChallenge(payload, chainNamespace);
|
|
42
51
|
const hexChallenge = `0x${Buffer.from(challenge, "utf8").toString("hex")}`;
|
|
43
52
|
const signedMessage = await this.provider.request({
|
|
44
|
-
method:
|
|
53
|
+
method: EVM_METHOD_TYPES.PERSONAL_SIGN,
|
|
45
54
|
params: [hexChallenge, accounts[0]]
|
|
46
55
|
});
|
|
47
|
-
const idToken = await verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.sessionTime, this.clientId, this.web3AuthNetwork);
|
|
56
|
+
const idToken = await verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.coreOptions.sessionTime, this.coreOptions.clientId, this.coreOptions.web3AuthNetwork);
|
|
48
57
|
saveToken(accounts[0], this.name, idToken);
|
|
49
58
|
return {
|
|
50
59
|
idToken
|
|
@@ -63,8 +72,8 @@ class BaseEvmAdapter extends BaseAdapter {
|
|
|
63
72
|
}
|
|
64
73
|
async disconnect() {
|
|
65
74
|
this.rehydrated = false;
|
|
66
|
-
this.emit(
|
|
75
|
+
this.emit(CONNECTOR_EVENTS.DISCONNECTED);
|
|
67
76
|
}
|
|
68
77
|
}
|
|
69
78
|
|
|
70
|
-
export {
|
|
79
|
+
export { BaseEvmConnector };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { signChallenge, verifySignedChallenge } from '@toruslabs/base-controllers';
|
|
2
|
+
import { SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
|
|
3
|
+
import { WalletLoginError, WalletInitializationError } from '../../base/errors/index.js';
|
|
4
|
+
import { BaseConnector } from '../../base/connector/baseConnector.js';
|
|
5
|
+
import { CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
|
|
6
|
+
import '@web3auth/auth';
|
|
7
|
+
import { getSavedToken, checkIfTokenIsExpired, saveToken, clearToken } from '../../base/connector/utils.js';
|
|
8
|
+
import '../../base/loglevel.js';
|
|
9
|
+
import '../../base/plugin/errors.js';
|
|
10
|
+
import '../../base/plugin/IPlugin.js';
|
|
11
|
+
import '@toruslabs/constants';
|
|
12
|
+
import '@toruslabs/http-helpers';
|
|
13
|
+
import '../../base/wallet/index.js';
|
|
14
|
+
|
|
15
|
+
class BaseSolanaConnector extends BaseConnector {
|
|
16
|
+
async init(_) {}
|
|
17
|
+
async authenticateUser() {
|
|
18
|
+
if (!this.provider || this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError();
|
|
19
|
+
if (!this.coreOptions) throw WalletInitializationError.invalidParams("Please initialize Web3Auth with a valid options");
|
|
20
|
+
const accounts = await this.provider.request({
|
|
21
|
+
method: SOLANA_METHOD_TYPES.GET_ACCOUNTS
|
|
22
|
+
});
|
|
23
|
+
if (accounts && accounts.length > 0) {
|
|
24
|
+
const existingToken = getSavedToken(accounts[0], this.name);
|
|
25
|
+
if (existingToken) {
|
|
26
|
+
const isExpired = checkIfTokenIsExpired(existingToken);
|
|
27
|
+
if (!isExpired) {
|
|
28
|
+
return {
|
|
29
|
+
idToken: existingToken
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
const chainId = await this.provider.request({
|
|
34
|
+
method: "solana_chainId"
|
|
35
|
+
});
|
|
36
|
+
const currentChainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
37
|
+
if (!currentChainConfig) throw WalletInitializationError.invalidParams("chainConfig is required before authentication");
|
|
38
|
+
const {
|
|
39
|
+
chainNamespace
|
|
40
|
+
} = currentChainConfig;
|
|
41
|
+
const payload = {
|
|
42
|
+
domain: window.location.origin,
|
|
43
|
+
uri: window.location.href,
|
|
44
|
+
address: accounts[0],
|
|
45
|
+
chainId: parseInt(chainId, 16),
|
|
46
|
+
version: "1",
|
|
47
|
+
nonce: Math.random().toString(36).slice(2),
|
|
48
|
+
issuedAt: new Date().toISOString()
|
|
49
|
+
};
|
|
50
|
+
const challenge = await signChallenge(payload, chainNamespace);
|
|
51
|
+
const signedMessage = await this.provider.request({
|
|
52
|
+
method: SOLANA_METHOD_TYPES.SIGN_MESSAGE,
|
|
53
|
+
params: {
|
|
54
|
+
data: challenge,
|
|
55
|
+
display: "utf8"
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
const idToken = await verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.coreOptions.sessionTime, this.coreOptions.clientId, this.coreOptions.web3AuthNetwork);
|
|
59
|
+
saveToken(accounts[0], this.name, idToken);
|
|
60
|
+
return {
|
|
61
|
+
idToken
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
65
|
+
}
|
|
66
|
+
async disconnectSession() {
|
|
67
|
+
super.checkDisconnectionRequirements();
|
|
68
|
+
const accounts = await this.provider.request({
|
|
69
|
+
method: SOLANA_METHOD_TYPES.GET_ACCOUNTS
|
|
70
|
+
});
|
|
71
|
+
if (accounts && accounts.length > 0) {
|
|
72
|
+
clearToken(accounts[0], this.name);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
async disconnect() {
|
|
76
|
+
this.rehydrated = false;
|
|
77
|
+
this.emit(CONNECTOR_EVENTS.DISCONNECTED);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export { BaseSolanaConnector };
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
+
import { createCoinbaseWalletSDK } from '@coinbase/wallet-sdk';
|
|
4
|
+
import { WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
|
|
5
|
+
import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
6
|
+
import '@web3auth/auth';
|
|
7
|
+
import { WALLET_CONNECTORS } from '../../base/wallet/index.js';
|
|
8
|
+
import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
|
|
9
|
+
import 'jwt-decode';
|
|
10
|
+
import '../../base/loglevel.js';
|
|
11
|
+
import '../../base/plugin/errors.js';
|
|
12
|
+
import '../../base/plugin/IPlugin.js';
|
|
13
|
+
import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
|
|
14
|
+
import '@toruslabs/constants';
|
|
15
|
+
import '@toruslabs/http-helpers';
|
|
16
|
+
import { BaseEvmConnector } from '../base-evm-connector/baseEvmConnector.js';
|
|
17
|
+
|
|
18
|
+
class CoinbaseConnector extends BaseEvmConnector {
|
|
19
|
+
constructor(connectorOptions) {
|
|
20
|
+
super(connectorOptions);
|
|
21
|
+
_defineProperty(this, "connectorNamespace", CONNECTOR_NAMESPACES.EIP155);
|
|
22
|
+
_defineProperty(this, "currentChainNamespace", CHAIN_NAMESPACES.EIP155);
|
|
23
|
+
_defineProperty(this, "type", CONNECTOR_CATEGORY.EXTERNAL);
|
|
24
|
+
_defineProperty(this, "name", WALLET_CONNECTORS.COINBASE);
|
|
25
|
+
_defineProperty(this, "status", CONNECTOR_STATUS.NOT_READY);
|
|
26
|
+
_defineProperty(this, "coinbaseProvider", null);
|
|
27
|
+
_defineProperty(this, "coinbaseOptions", {
|
|
28
|
+
appName: "Web3Auth"
|
|
29
|
+
});
|
|
30
|
+
this.coinbaseOptions = _objectSpread(_objectSpread({}, this.coinbaseOptions), connectorOptions.connectorSettings);
|
|
31
|
+
}
|
|
32
|
+
get provider() {
|
|
33
|
+
if (this.status !== CONNECTOR_STATUS.NOT_READY && this.coinbaseProvider) {
|
|
34
|
+
return this.coinbaseProvider;
|
|
35
|
+
}
|
|
36
|
+
return null;
|
|
37
|
+
}
|
|
38
|
+
set provider(_) {
|
|
39
|
+
throw new Error("Not implemented");
|
|
40
|
+
}
|
|
41
|
+
async init(options) {
|
|
42
|
+
await super.init(options);
|
|
43
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === options.chainId);
|
|
44
|
+
super.checkInitializationRequirements({
|
|
45
|
+
chainConfig
|
|
46
|
+
});
|
|
47
|
+
const coinbaseInstance = createCoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
|
|
48
|
+
preference: {
|
|
49
|
+
options: this.coinbaseOptions.options || "smartWalletOnly"
|
|
50
|
+
},
|
|
51
|
+
appChainIds: this.coreOptions.chains.map(x => Number.parseInt(x.chainId, 16)),
|
|
52
|
+
appName: this.coinbaseOptions.appName || "Web3Auth",
|
|
53
|
+
appLogoUrl: this.coinbaseOptions.appLogoUrl || ""
|
|
54
|
+
}));
|
|
55
|
+
this.coinbaseProvider = coinbaseInstance.getProvider();
|
|
56
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
57
|
+
this.emit(CONNECTOR_EVENTS.READY, WALLET_CONNECTORS.COINBASE);
|
|
58
|
+
try {
|
|
59
|
+
if (options.autoConnect) {
|
|
60
|
+
this.rehydrated = true;
|
|
61
|
+
await this.connect({
|
|
62
|
+
chainId: options.chainId
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
} catch (error) {
|
|
66
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
async connect({
|
|
70
|
+
chainId
|
|
71
|
+
}) {
|
|
72
|
+
super.checkConnectionRequirements();
|
|
73
|
+
if (!this.coinbaseProvider) throw WalletLoginError.notConnectedError("Connector is not initialized");
|
|
74
|
+
this.status = CONNECTOR_STATUS.CONNECTING;
|
|
75
|
+
this.emit(CONNECTOR_EVENTS.CONNECTING, {
|
|
76
|
+
connector: WALLET_CONNECTORS.COINBASE
|
|
77
|
+
});
|
|
78
|
+
try {
|
|
79
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
80
|
+
if (!chainConfig) throw WalletLoginError.connectionError("Chain config is not available");
|
|
81
|
+
await this.coinbaseProvider.request({
|
|
82
|
+
method: "eth_requestAccounts"
|
|
83
|
+
});
|
|
84
|
+
const currentChainId = await this.coinbaseProvider.request({
|
|
85
|
+
method: "eth_chainId"
|
|
86
|
+
});
|
|
87
|
+
if (currentChainId !== chainConfig.chainId) {
|
|
88
|
+
await this.switchChain(chainConfig, true);
|
|
89
|
+
}
|
|
90
|
+
this.status = CONNECTOR_STATUS.CONNECTED;
|
|
91
|
+
if (!this.provider) throw WalletLoginError.notConnectedError("Failed to connect with provider");
|
|
92
|
+
this.provider.once("disconnect", () => {
|
|
93
|
+
// ready to be connected again
|
|
94
|
+
this.disconnect();
|
|
95
|
+
});
|
|
96
|
+
this.emit(CONNECTOR_EVENTS.CONNECTED, {
|
|
97
|
+
connector: WALLET_CONNECTORS.COINBASE,
|
|
98
|
+
reconnected: this.rehydrated,
|
|
99
|
+
provider: this.provider
|
|
100
|
+
});
|
|
101
|
+
return this.provider;
|
|
102
|
+
} catch (error) {
|
|
103
|
+
// ready again to be connected
|
|
104
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
105
|
+
this.rehydrated = false;
|
|
106
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
107
|
+
if (error instanceof Web3AuthError) throw error;
|
|
108
|
+
throw WalletLoginError.connectionError("Failed to login with coinbase wallet", error);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
async disconnect(options = {
|
|
112
|
+
cleanup: false
|
|
113
|
+
}) {
|
|
114
|
+
var _this$provider;
|
|
115
|
+
await super.disconnectSession();
|
|
116
|
+
(_this$provider = this.provider) === null || _this$provider === void 0 || _this$provider.removeAllListeners();
|
|
117
|
+
if (options.cleanup) {
|
|
118
|
+
this.status = CONNECTOR_STATUS.NOT_READY;
|
|
119
|
+
this.coinbaseProvider = null;
|
|
120
|
+
} else {
|
|
121
|
+
// ready to be connected again
|
|
122
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
123
|
+
}
|
|
124
|
+
await super.disconnect();
|
|
125
|
+
}
|
|
126
|
+
async getUserInfo() {
|
|
127
|
+
if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
128
|
+
return {};
|
|
129
|
+
}
|
|
130
|
+
async switchChain(params, init = false) {
|
|
131
|
+
super.checkSwitchChainRequirements(params, init);
|
|
132
|
+
await this.coinbaseProvider.request({
|
|
133
|
+
method: "wallet_switchEthereumChain",
|
|
134
|
+
params: [{
|
|
135
|
+
chainId: params.chainId
|
|
136
|
+
}]
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
async enableMFA() {
|
|
140
|
+
throw new Error("Method Not implemented");
|
|
141
|
+
}
|
|
142
|
+
async manageMFA() {
|
|
143
|
+
throw new Error("Method Not implemented");
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
const coinbaseConnector = params => {
|
|
147
|
+
return ({
|
|
148
|
+
coreOptions
|
|
149
|
+
}) => {
|
|
150
|
+
return new CoinbaseConnector({
|
|
151
|
+
connectorSettings: params,
|
|
152
|
+
coreOptions
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
export { coinbaseConnector };
|
|
@@ -1,25 +1,32 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { ADAPTER_NAMESPACES, CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
3
2
|
import { WalletLoginError, Web3AuthError } from '../../base/errors/index.js';
|
|
3
|
+
import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
4
|
+
import '@web3auth/auth';
|
|
5
|
+
import '../../base/wallet/index.js';
|
|
6
|
+
import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
|
|
7
|
+
import 'jwt-decode';
|
|
4
8
|
import { log } from '../../base/loglevel.js';
|
|
5
|
-
import
|
|
6
|
-
import
|
|
9
|
+
import '../../base/plugin/errors.js';
|
|
10
|
+
import '../../base/plugin/IPlugin.js';
|
|
11
|
+
import { normalizeWalletName } from '../../base/utils.js';
|
|
12
|
+
import { BaseEvmConnector } from '../base-evm-connector/baseEvmConnector.js';
|
|
13
|
+
import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
|
|
7
14
|
|
|
8
|
-
class
|
|
15
|
+
class InjectedEvmConnector extends BaseEvmConnector {
|
|
9
16
|
constructor(options) {
|
|
10
17
|
super(options);
|
|
11
|
-
_defineProperty(this, "
|
|
18
|
+
_defineProperty(this, "connectorNamespace", CONNECTOR_NAMESPACES.EIP155);
|
|
12
19
|
_defineProperty(this, "currentChainNamespace", CHAIN_NAMESPACES.EIP155);
|
|
13
|
-
_defineProperty(this, "type",
|
|
20
|
+
_defineProperty(this, "type", CONNECTOR_CATEGORY.EXTERNAL);
|
|
14
21
|
_defineProperty(this, "name", void 0);
|
|
15
22
|
_defineProperty(this, "isInjected", true);
|
|
16
|
-
_defineProperty(this, "status",
|
|
23
|
+
_defineProperty(this, "status", CONNECTOR_STATUS.NOT_READY);
|
|
17
24
|
_defineProperty(this, "injectedProvider", null);
|
|
18
25
|
this.name = options.name;
|
|
19
26
|
this.injectedProvider = options.provider;
|
|
20
27
|
}
|
|
21
28
|
get provider() {
|
|
22
|
-
if (this.status !==
|
|
29
|
+
if (this.status !== CONNECTOR_STATUS.NOT_READY && this.injectedProvider) {
|
|
23
30
|
return this.injectedProvider;
|
|
24
31
|
}
|
|
25
32
|
return null;
|
|
@@ -27,43 +34,51 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
27
34
|
set provider(_) {
|
|
28
35
|
throw new Error("Not implemented");
|
|
29
36
|
}
|
|
30
|
-
async init(options
|
|
37
|
+
async init(options) {
|
|
31
38
|
await super.init(options);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
39
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === options.chainId);
|
|
40
|
+
super.checkInitializationRequirements({
|
|
41
|
+
chainConfig
|
|
42
|
+
});
|
|
43
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
44
|
+
this.emit(CONNECTOR_EVENTS.READY, this.name);
|
|
35
45
|
try {
|
|
36
|
-
log.debug(`initializing ${this.name} injected
|
|
46
|
+
log.debug(`initializing ${this.name} injected connector`);
|
|
37
47
|
if (options.autoConnect) {
|
|
38
48
|
this.rehydrated = true;
|
|
39
|
-
await this.connect(
|
|
49
|
+
await this.connect({
|
|
50
|
+
chainId: options.chainId
|
|
51
|
+
});
|
|
40
52
|
}
|
|
41
53
|
} catch (error) {
|
|
42
|
-
this.emit(
|
|
54
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
43
55
|
}
|
|
44
56
|
}
|
|
45
|
-
async connect(
|
|
57
|
+
async connect({
|
|
58
|
+
chainId
|
|
59
|
+
}) {
|
|
46
60
|
super.checkConnectionRequirements();
|
|
47
61
|
if (!this.injectedProvider) throw WalletLoginError.connectionError("Injected provider is not available");
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.
|
|
51
|
-
|
|
62
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
63
|
+
if (!chainConfig) throw WalletLoginError.connectionError("Chain config is not available");
|
|
64
|
+
this.status = CONNECTOR_STATUS.CONNECTING;
|
|
65
|
+
this.emit(CONNECTOR_EVENTS.CONNECTING, {
|
|
66
|
+
connector: this.name
|
|
52
67
|
});
|
|
53
68
|
try {
|
|
54
69
|
await this.injectedProvider.request({
|
|
55
70
|
method: "eth_requestAccounts"
|
|
56
71
|
});
|
|
57
72
|
// switch chain if not connected to the right chain
|
|
58
|
-
if (this.injectedProvider.chainId !==
|
|
73
|
+
if (this.injectedProvider.chainId !== chainConfig.chainId) {
|
|
59
74
|
try {
|
|
60
|
-
await this.switchChain(
|
|
61
|
-
} catch
|
|
62
|
-
await this.addChain(
|
|
63
|
-
await this.switchChain(
|
|
75
|
+
await this.switchChain(chainConfig, true);
|
|
76
|
+
} catch {
|
|
77
|
+
await this.addChain(chainConfig, true);
|
|
78
|
+
await this.switchChain(chainConfig, true);
|
|
64
79
|
}
|
|
65
80
|
}
|
|
66
|
-
this.status =
|
|
81
|
+
this.status = CONNECTOR_STATUS.CONNECTED;
|
|
67
82
|
const accountDisconnectHandler = accounts => {
|
|
68
83
|
if (accounts.length === 0) {
|
|
69
84
|
var _this$injectedProvide;
|
|
@@ -72,17 +87,17 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
72
87
|
}
|
|
73
88
|
};
|
|
74
89
|
this.injectedProvider.on("accountsChanged", accountDisconnectHandler);
|
|
75
|
-
this.emit(
|
|
76
|
-
|
|
90
|
+
this.emit(CONNECTOR_EVENTS.CONNECTED, {
|
|
91
|
+
connector: this.name,
|
|
77
92
|
reconnected: this.rehydrated,
|
|
78
93
|
provider: this.injectedProvider
|
|
79
94
|
});
|
|
80
95
|
return this.injectedProvider;
|
|
81
96
|
} catch (error) {
|
|
82
97
|
// ready again to be connected
|
|
83
|
-
this.status =
|
|
98
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
84
99
|
this.rehydrated = false;
|
|
85
|
-
this.emit(
|
|
100
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
86
101
|
if (error instanceof Web3AuthError) throw error;
|
|
87
102
|
throw WalletLoginError.connectionError(`Failed to login with ${this.name} injected wallet`);
|
|
88
103
|
}
|
|
@@ -100,23 +115,24 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
100
115
|
eth_accounts: {}
|
|
101
116
|
}]
|
|
102
117
|
});
|
|
103
|
-
} catch
|
|
118
|
+
} catch {
|
|
119
|
+
// ignore error
|
|
120
|
+
}
|
|
104
121
|
if (options.cleanup) {
|
|
105
|
-
this.status =
|
|
122
|
+
this.status = CONNECTOR_STATUS.NOT_READY;
|
|
106
123
|
this.injectedProvider = null;
|
|
107
124
|
} else {
|
|
108
125
|
// ready to be connected again
|
|
109
|
-
this.status =
|
|
126
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
110
127
|
}
|
|
111
128
|
await super.disconnect();
|
|
112
129
|
}
|
|
113
130
|
async getUserInfo() {
|
|
114
|
-
if (this.status !==
|
|
131
|
+
if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
115
132
|
return {};
|
|
116
133
|
}
|
|
117
|
-
async addChain(chainConfig,
|
|
134
|
+
async addChain(chainConfig, _init = false) {
|
|
118
135
|
if (!this.injectedProvider) throw WalletLoginError.connectionError("Injected provider is not available");
|
|
119
|
-
super.checkAddChainRequirements(chainConfig, init);
|
|
120
136
|
await this.injectedProvider.request({
|
|
121
137
|
method: "wallet_addEthereumChain",
|
|
122
138
|
params: [{
|
|
@@ -132,7 +148,6 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
132
148
|
iconUrls: [chainConfig.logo]
|
|
133
149
|
}]
|
|
134
150
|
});
|
|
135
|
-
this.addChainConfig(chainConfig);
|
|
136
151
|
}
|
|
137
152
|
async switchChain(params, init = false) {
|
|
138
153
|
if (!this.injectedProvider) throw WalletLoginError.connectionError("Injected provider is not available");
|
|
@@ -143,9 +158,6 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
143
158
|
chainId: params.chainId
|
|
144
159
|
}]
|
|
145
160
|
});
|
|
146
|
-
this.setAdapterSettings({
|
|
147
|
-
chainConfig: this.getChainConfig(params.chainId)
|
|
148
|
-
});
|
|
149
161
|
}
|
|
150
162
|
async enableMFA() {
|
|
151
163
|
throw new Error("Method Not implemented");
|
|
@@ -154,5 +166,16 @@ class InjectedEvmAdapter extends BaseEvmAdapter {
|
|
|
154
166
|
throw new Error("Method Not implemented");
|
|
155
167
|
}
|
|
156
168
|
}
|
|
169
|
+
const injectedEvmConnector = providerDetail => {
|
|
170
|
+
return ({
|
|
171
|
+
coreOptions
|
|
172
|
+
}) => {
|
|
173
|
+
return new InjectedEvmConnector({
|
|
174
|
+
name: normalizeWalletName(providerDetail.info.name),
|
|
175
|
+
provider: providerDetail.provider,
|
|
176
|
+
coreOptions
|
|
177
|
+
});
|
|
178
|
+
};
|
|
179
|
+
};
|
|
157
180
|
|
|
158
|
-
export {
|
|
181
|
+
export { InjectedEvmConnector, injectedEvmConnector };
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { SolanaSignMessage, SolanaSignTransaction, SolanaSignAndSendTransaction } from '@solana/wallet-standard-features';
|
|
2
|
+
export { getWallets as createSolanaMipd } from '@wallet-standard/app';
|
|
3
|
+
import { StandardConnect } from '@wallet-standard/features';
|
|
4
|
+
export { walletStandardConnector } from './walletStandardConnector.js';
|
|
5
|
+
|
|
6
|
+
const hasSolanaWalletStandardFeatures = wallet => {
|
|
7
|
+
const {
|
|
8
|
+
chains,
|
|
9
|
+
features
|
|
10
|
+
} = wallet;
|
|
11
|
+
const isSolana = chains.some(chain => chain.startsWith("solana"));
|
|
12
|
+
if (!isSolana) return;
|
|
13
|
+
const hasRequiredFeatures = [StandardConnect, SolanaSignMessage, SolanaSignTransaction, SolanaSignAndSendTransaction].every(feature => Object.keys(features).includes(feature));
|
|
14
|
+
if (!hasRequiredFeatures) return false;
|
|
15
|
+
return true;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { hasSolanaWalletStandardFeatures };
|