@web3auth/no-modal 10.0.0-alpha.1 → 10.0.0-beta.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/dist/lib.cjs/base/chain/IChainInterface.js +5 -10
- package/dist/lib.cjs/base/chain/config.js +20 -19
- package/dist/lib.cjs/base/connector/baseConnector.js +3 -6
- package/dist/lib.cjs/base/connector/constants.js +5 -0
- package/dist/lib.cjs/base/errors/index.js +0 -10
- package/dist/lib.cjs/base/plugin/IPlugin.js +2 -2
- package/dist/lib.cjs/base/plugin/errors.js +0 -2
- package/dist/lib.cjs/base/utils.js +10 -9
- package/dist/lib.cjs/base/wallet/index.js +2 -1
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +218 -59
- package/dist/lib.cjs/connectors/base-evm-connector/baseEvmConnector.js +8 -2
- package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +7 -1
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +11 -3
- package/dist/lib.cjs/connectors/injected-evm-connector/injectedEvmConnector.js +13 -5
- package/dist/lib.cjs/connectors/injected-solana-connector/index.js +2 -2
- package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +13 -5
- package/dist/lib.cjs/connectors/metamask-connector/metamaskConnector.js +197 -0
- package/dist/lib.cjs/connectors/utils.js +61 -0
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +24 -7
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/config.js +36 -90
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +16 -4
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +21 -30
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +12 -2
- package/dist/lib.cjs/index.js +76 -55
- package/dist/lib.cjs/noModal.js +149 -53
- package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +0 -3
- package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +10 -3
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +13 -11
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +33 -18
- 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/baseProvider.js +32 -12
- package/dist/lib.cjs/providers/base-provider/index.js +4 -0
- package/dist/lib.cjs/providers/base-provider/utils.js +10 -2
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +18 -5
- 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/walletMidddleware.js +0 -8
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +13 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +4 -4
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +15 -8
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +1 -1
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +0 -3
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +13 -2
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +0 -1
- package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +11 -3
- package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +11 -0
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +10 -1
- package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
- package/dist/lib.cjs/types/base/chain/IChainInterface.d.ts +11 -0
- package/dist/{types → lib.cjs/types}/base/connector/constants.d.ts +4 -0
- package/dist/{types → lib.cjs/types}/base/connector/interfaces.d.ts +17 -5
- package/dist/{types → lib.cjs/types}/base/core/IWeb3Auth.d.ts +11 -5
- package/dist/lib.cjs/types/base/interfaces.d.ts +102 -0
- package/dist/{types → lib.cjs/types}/base/utils.d.ts +2 -2
- package/dist/{types → lib.cjs/types}/base/wallet/index.d.ts +2 -0
- package/dist/{types → lib.cjs/types}/connectors/auth-connector/authConnector.d.ts +9 -2
- package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +17 -0
- package/dist/lib.cjs/types/connectors/metamask-connector/index.d.ts +1 -0
- package/dist/lib.cjs/types/connectors/metamask-connector/metamaskConnector.d.ts +6 -0
- package/dist/lib.cjs/types/connectors/utils.d.ts +8 -0
- package/dist/{types → lib.cjs/types}/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.d.ts +1 -2
- package/dist/{types → lib.cjs/types}/noModal.d.ts +6 -4
- package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +4 -5
- package/dist/{types → lib.cjs/types}/providers/base-provider/baseProvider.d.ts +3 -7
- package/dist/{types → lib.cjs/types}/providers/base-provider/commonPrivateKeyProvider.d.ts +1 -2
- 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 +1 -2
- package/dist/lib.cjs/types/providers/solana-provider/providers/index.d.ts +1 -0
- package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +1 -2
- package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +12 -3
- package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +12 -1
- package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +11 -3
- package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
- package/dist/lib.esm/base/chain/IChainInterface.js +2 -10
- package/dist/lib.esm/base/chain/config.js +4 -3
- package/dist/lib.esm/base/connector/baseConnector.js +2 -5
- package/dist/lib.esm/base/connector/constants.js +5 -1
- package/dist/lib.esm/base/errors/index.js +0 -10
- package/dist/lib.esm/base/plugin/IPlugin.js +1 -1
- package/dist/lib.esm/base/plugin/errors.js +0 -2
- package/dist/lib.esm/base/utils.js +8 -7
- package/dist/lib.esm/base/wallet/index.js +2 -1
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +212 -53
- package/dist/lib.esm/connectors/base-evm-connector/baseEvmConnector.js +8 -2
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +7 -1
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +10 -2
- package/dist/lib.esm/connectors/injected-evm-connector/injectedEvmConnector.js +12 -4
- package/dist/lib.esm/connectors/injected-solana-connector/walletStandardConnector.js +12 -4
- package/dist/lib.esm/connectors/metamask-connector/metamaskConnector.js +195 -0
- package/dist/lib.esm/connectors/utils.js +58 -0
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js +22 -5
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/config.js +25 -75
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +19 -28
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Utils.js +11 -1
- package/dist/lib.esm/index.js +13 -14
- package/dist/lib.esm/noModal.js +147 -51
- package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +1 -4
- package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +10 -3
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +9 -7
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +30 -15
- 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/baseProvider.js +32 -12
- package/dist/lib.esm/providers/base-provider/index.js +1 -1
- package/dist/lib.esm/providers/base-provider/utils.js +9 -1
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +16 -3
- 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/walletMidddleware.js +0 -8
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +13 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +1 -1
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +12 -5
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +2 -2
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +0 -3
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +12 -1
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +0 -1
- package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +11 -3
- package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +11 -0
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +10 -1
- package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
- package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +12 -3
- package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +12 -1
- package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +11 -3
- package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
- package/dist/noModal.umd.min.js +1 -1
- package/package.json +26 -23
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +0 -150
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +0 -94
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +0 -148
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +0 -92
- package/dist/noModal.cjs.js +0 -14673
- package/dist/types/base/chain/IChainInterface.d.ts +0 -59
- package/dist/types/base/interfaces.d.ts +0 -44
- package/dist/types/connectors/auth-connector/interface.d.ts +0 -14
- package/dist/types/providers/base-provider/utils.d.ts +0 -2
- package/dist/types/providers/solana-provider/providers/index.d.ts +0 -2
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/index.d.ts +0 -1
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +0 -31
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +0 -7
- /package/dist/{types → lib.cjs/types}/base/chain/config.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/composables/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/connector/baseConnector.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/connector/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/connector/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/errors/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/hooks/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/loglevel.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/plugin/IPlugin.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/plugin/errors.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 → lib.cjs/types}/connectors/auth-connector/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/base-evm-connector/baseEvmConnector.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/base-evm-connector/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/base-solana-connector/baseSolanaConnector.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/base-solana-connector/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/coinbase-connector/coinbaseConnector.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/coinbase-connector/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/injected-evm-connector/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/injected-evm-connector/injectedEvmConnector.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/injected-solana-connector/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/injected-solana-connector/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/injected-solana-connector/walletStandardConnector.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/wallet-connect-v2-connector/config.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/wallet-connect-v2-connector/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/wallet-connect-v2-connector/interface.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/wallet-connect-v2-connector/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/connectors/wallet-connect-v2-connector/walletConnectV2Utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/index.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/plugin.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}/plugins/wallet-services-plugin/plugin.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/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/smartAccounts/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/CommonJRPCProvider.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/privateKeyProviders/index.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/ethRpcMiddlewares.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/interfaces.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/interface.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.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/injectedProviders/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/walletStandardProvider.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/solana-provider/rpc/interfaces.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/solanaWallet.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}/providers/xrpl-provider/rpc/xrplRpcMiddlewares.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/no-modal/interfaces.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}/react/wallet-services-plugin/interfaces.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/no-modal/interfaces.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/{types → lib.cjs/types}/vue/wallet-services-plugin/interfaces.d.ts +0 -0
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { MetaMaskSDK } from '@metamask/sdk';
|
|
3
|
+
import deepmerge from 'deepmerge';
|
|
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
|
+
import { getSiteIcon, getSiteName } from '../utils.js';
|
|
18
|
+
|
|
19
|
+
class MetaMaskConnector extends BaseEvmConnector {
|
|
20
|
+
constructor(connectorOptions) {
|
|
21
|
+
super(connectorOptions);
|
|
22
|
+
_defineProperty(this, "connectorNamespace", CONNECTOR_NAMESPACES.EIP155);
|
|
23
|
+
_defineProperty(this, "currentChainNamespace", CHAIN_NAMESPACES.EIP155);
|
|
24
|
+
_defineProperty(this, "type", CONNECTOR_CATEGORY.EXTERNAL);
|
|
25
|
+
_defineProperty(this, "name", WALLET_CONNECTORS.METAMASK);
|
|
26
|
+
_defineProperty(this, "status", CONNECTOR_STATUS.NOT_READY);
|
|
27
|
+
_defineProperty(this, "metamaskProvider", null);
|
|
28
|
+
_defineProperty(this, "metamaskSDK", null);
|
|
29
|
+
_defineProperty(this, "metamaskOptions", void 0);
|
|
30
|
+
this.metamaskOptions = connectorOptions.connectorSettings;
|
|
31
|
+
}
|
|
32
|
+
get provider() {
|
|
33
|
+
if (this.status !== CONNECTOR_STATUS.NOT_READY && this.metamaskProvider) {
|
|
34
|
+
return this.metamaskProvider;
|
|
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
|
+
// Detect app metadata
|
|
48
|
+
const iconUrl = await getSiteIcon(window);
|
|
49
|
+
const appMetadata = {
|
|
50
|
+
name: getSiteName(window),
|
|
51
|
+
url: window.location.origin,
|
|
52
|
+
iconUrl
|
|
53
|
+
};
|
|
54
|
+
// Initialize the MetaMask SDK
|
|
55
|
+
const metamaskOptions = deepmerge(this.metamaskOptions || {}, {
|
|
56
|
+
dappMetadata: appMetadata
|
|
57
|
+
});
|
|
58
|
+
this.metamaskSDK = new MetaMaskSDK(metamaskOptions);
|
|
59
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
60
|
+
this.emit(CONNECTOR_EVENTS.READY, WALLET_CONNECTORS.METAMASK);
|
|
61
|
+
try {
|
|
62
|
+
if (options.autoConnect) {
|
|
63
|
+
this.rehydrated = true;
|
|
64
|
+
await this.connect({
|
|
65
|
+
chainId: options.chainId
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
} catch (error) {
|
|
69
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
async connect({
|
|
73
|
+
chainId
|
|
74
|
+
}) {
|
|
75
|
+
super.checkConnectionRequirements();
|
|
76
|
+
if (!this.metamaskSDK) throw WalletLoginError.notConnectedError("Connector is not initialized");
|
|
77
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
78
|
+
if (!chainConfig) throw WalletLoginError.connectionError("Chain config is not available");
|
|
79
|
+
this.status = CONNECTOR_STATUS.CONNECTING;
|
|
80
|
+
this.emit(CONNECTOR_EVENTS.CONNECTING, {
|
|
81
|
+
connector: WALLET_CONNECTORS.METAMASK
|
|
82
|
+
});
|
|
83
|
+
try {
|
|
84
|
+
await this.metamaskSDK.connect();
|
|
85
|
+
this.metamaskProvider = this.metamaskSDK.getProvider();
|
|
86
|
+
if (!this.metamaskProvider) throw WalletLoginError.notConnectedError("Failed to connect with provider");
|
|
87
|
+
// switch chain if not connected to the right chain
|
|
88
|
+
const currentChainId = await this.metamaskProvider.request({
|
|
89
|
+
method: "eth_chainId"
|
|
90
|
+
});
|
|
91
|
+
if (currentChainId !== chainConfig.chainId) {
|
|
92
|
+
await this.switchChain(chainConfig, true);
|
|
93
|
+
}
|
|
94
|
+
// handle disconnect event
|
|
95
|
+
const accountDisconnectHandler = accounts => {
|
|
96
|
+
if (accounts.length === 0) this.disconnect();
|
|
97
|
+
};
|
|
98
|
+
this.metamaskProvider.on("accountsChanged", accountDisconnectHandler);
|
|
99
|
+
this.metamaskProvider.once("disconnect", () => {
|
|
100
|
+
this.disconnect();
|
|
101
|
+
});
|
|
102
|
+
this.status = CONNECTOR_STATUS.CONNECTED;
|
|
103
|
+
this.emit(CONNECTOR_EVENTS.CONNECTED, {
|
|
104
|
+
connector: WALLET_CONNECTORS.METAMASK,
|
|
105
|
+
reconnected: this.rehydrated,
|
|
106
|
+
provider: this.metamaskProvider
|
|
107
|
+
});
|
|
108
|
+
return this.metamaskProvider;
|
|
109
|
+
} catch (error) {
|
|
110
|
+
// ready again to be connected
|
|
111
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
112
|
+
this.rehydrated = false;
|
|
113
|
+
this.emit(CONNECTOR_EVENTS.ERRORED, error);
|
|
114
|
+
if (error instanceof Web3AuthError) throw error;
|
|
115
|
+
throw WalletLoginError.connectionError("Failed to login with MetaMask wallet", error);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
async disconnect(options = {
|
|
119
|
+
cleanup: false
|
|
120
|
+
}) {
|
|
121
|
+
if (!this.metamaskProvider) throw WalletLoginError.connectionError("MetaMask provider is not available");
|
|
122
|
+
await super.disconnectSession();
|
|
123
|
+
if (typeof this.metamaskProvider.removeAllListeners !== "undefined") this.metamaskProvider.removeAllListeners();
|
|
124
|
+
await this.metamaskSDK.terminate();
|
|
125
|
+
if (options.cleanup) {
|
|
126
|
+
this.status = CONNECTOR_STATUS.NOT_READY;
|
|
127
|
+
this.metamaskProvider = null;
|
|
128
|
+
} else {
|
|
129
|
+
// ready to be connected again
|
|
130
|
+
this.status = CONNECTOR_STATUS.READY;
|
|
131
|
+
}
|
|
132
|
+
await super.disconnect();
|
|
133
|
+
}
|
|
134
|
+
async getUserInfo() {
|
|
135
|
+
if (this.status !== CONNECTOR_STATUS.CONNECTED) throw WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
136
|
+
return {};
|
|
137
|
+
}
|
|
138
|
+
async switchChain(params, init = false) {
|
|
139
|
+
super.checkSwitchChainRequirements(params, init);
|
|
140
|
+
const requestSwitchChain = () => this.metamaskProvider.request({
|
|
141
|
+
method: "wallet_switchEthereumChain",
|
|
142
|
+
params: [{
|
|
143
|
+
chainId: params.chainId
|
|
144
|
+
}]
|
|
145
|
+
});
|
|
146
|
+
try {
|
|
147
|
+
await requestSwitchChain();
|
|
148
|
+
} catch (error) {
|
|
149
|
+
// If the error code is 4902, the network needs to be added
|
|
150
|
+
if ((error === null || error === void 0 ? void 0 : error.code) === 4902) {
|
|
151
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === params.chainId && x.chainNamespace === this.connectorNamespace);
|
|
152
|
+
await this.addChain(chainConfig);
|
|
153
|
+
await requestSwitchChain();
|
|
154
|
+
} else {
|
|
155
|
+
throw error;
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
async enableMFA() {
|
|
160
|
+
throw new Error("Method Not implemented");
|
|
161
|
+
}
|
|
162
|
+
async manageMFA() {
|
|
163
|
+
throw new Error("Method Not implemented");
|
|
164
|
+
}
|
|
165
|
+
async addChain(chainConfig) {
|
|
166
|
+
if (!this.metamaskProvider) throw WalletLoginError.connectionError("Injected provider is not available");
|
|
167
|
+
await this.metamaskProvider.request({
|
|
168
|
+
method: "wallet_addEthereumChain",
|
|
169
|
+
params: [{
|
|
170
|
+
chainId: chainConfig.chainId,
|
|
171
|
+
chainName: chainConfig.displayName,
|
|
172
|
+
rpcUrls: [chainConfig.rpcTarget],
|
|
173
|
+
blockExplorerUrls: [chainConfig.blockExplorerUrl],
|
|
174
|
+
nativeCurrency: {
|
|
175
|
+
name: chainConfig.tickerName,
|
|
176
|
+
symbol: chainConfig.ticker,
|
|
177
|
+
decimals: chainConfig.decimals || 18
|
|
178
|
+
},
|
|
179
|
+
iconUrls: [chainConfig.logo]
|
|
180
|
+
}]
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
const metaMaskConnector = params => {
|
|
185
|
+
return ({
|
|
186
|
+
coreOptions
|
|
187
|
+
}) => {
|
|
188
|
+
return new MetaMaskConnector({
|
|
189
|
+
connectorSettings: params,
|
|
190
|
+
coreOptions
|
|
191
|
+
});
|
|
192
|
+
};
|
|
193
|
+
};
|
|
194
|
+
|
|
195
|
+
export { metaMaskConnector };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Extracts a name for the site from the DOM
|
|
3
|
+
*/
|
|
4
|
+
const getSiteName = window => {
|
|
5
|
+
const {
|
|
6
|
+
document
|
|
7
|
+
} = window;
|
|
8
|
+
const siteName = document.querySelector('head > meta[property="og:site_name"]');
|
|
9
|
+
if (siteName) {
|
|
10
|
+
return siteName.content;
|
|
11
|
+
}
|
|
12
|
+
const metaTitle = document.querySelector('head > meta[name="title"]');
|
|
13
|
+
if (metaTitle) {
|
|
14
|
+
return metaTitle.content;
|
|
15
|
+
}
|
|
16
|
+
if (document.title && document.title.length > 0) {
|
|
17
|
+
return document.title;
|
|
18
|
+
}
|
|
19
|
+
return window.location.hostname;
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Returns whether the given image URL exists
|
|
23
|
+
* @param url - the url of the image
|
|
24
|
+
* @returns - whether the image exists
|
|
25
|
+
*/
|
|
26
|
+
function imgExists(url) {
|
|
27
|
+
return new Promise((resolve, reject) => {
|
|
28
|
+
try {
|
|
29
|
+
const img = document.createElement("img");
|
|
30
|
+
img.onload = () => resolve(true);
|
|
31
|
+
img.onerror = () => resolve(false);
|
|
32
|
+
img.src = url;
|
|
33
|
+
} catch (e) {
|
|
34
|
+
reject(e);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Extracts an icon for the site from the DOM
|
|
40
|
+
*/
|
|
41
|
+
async function getSiteIcon(window) {
|
|
42
|
+
const {
|
|
43
|
+
document
|
|
44
|
+
} = window;
|
|
45
|
+
// Use the site's favicon if it exists
|
|
46
|
+
let icon = document.querySelector('head > link[rel="shortcut icon"]');
|
|
47
|
+
if (icon && (await imgExists(icon.href))) {
|
|
48
|
+
return icon.href;
|
|
49
|
+
}
|
|
50
|
+
// Search through available icons in no particular order
|
|
51
|
+
icon = Array.from(document.querySelectorAll('head > link[rel="icon"]')).find(_icon => Boolean(_icon.href)) || null;
|
|
52
|
+
if (icon && (await imgExists(icon.href))) {
|
|
53
|
+
return icon.href;
|
|
54
|
+
}
|
|
55
|
+
return null;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { getSiteIcon, getSiteName };
|
|
@@ -2,15 +2,34 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
|
2
2
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
3
|
import { getAccountsFromNamespaces, parseAccountId } from '@walletconnect/utils';
|
|
4
4
|
import { providerErrors, JRPCEngine, providerFromEngine } from '@web3auth/auth';
|
|
5
|
-
import { CHAIN_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
6
5
|
import { WalletLoginError } from '../../base/errors/index.js';
|
|
6
|
+
import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
|
|
7
|
+
import '../../base/wallet/index.js';
|
|
8
|
+
import '../../base/connector/constants.js';
|
|
9
|
+
import 'jwt-decode';
|
|
7
10
|
import { log } from '../../base/loglevel.js';
|
|
11
|
+
import '../../base/plugin/errors.js';
|
|
12
|
+
import '../../base/plugin/IPlugin.js';
|
|
13
|
+
import '@toruslabs/constants';
|
|
14
|
+
import '@toruslabs/http-helpers';
|
|
8
15
|
import { BaseProvider } from '../../providers/base-provider/baseProvider.js';
|
|
9
|
-
import
|
|
16
|
+
import '../../providers/base-provider/CommonJRPCProvider.js';
|
|
17
|
+
import '../../providers/base-provider/commonPrivateKeyProvider.js';
|
|
18
|
+
import '../../providers/base-provider/utils.js';
|
|
19
|
+
import '@ethereumjs/util';
|
|
20
|
+
import 'bignumber.js';
|
|
21
|
+
import '../../providers/ethereum-provider/providers/converter.js';
|
|
22
|
+
import 'bn.js';
|
|
23
|
+
import '../../providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js';
|
|
10
24
|
import { createEthMiddleware, createEthChainSwitchMiddleware } from '../../providers/ethereum-provider/rpc/ethRpcMiddlewares.js';
|
|
11
25
|
import { createEthJsonRpcClient } from '../../providers/ethereum-provider/rpc/jrpcClient.js';
|
|
12
|
-
import
|
|
26
|
+
import '@solana/wallet-standard-features';
|
|
27
|
+
import '@solana/web3.js';
|
|
28
|
+
import '@toruslabs/bs58';
|
|
13
29
|
import { createSolanaJsonRpcClient } from '../../providers/solana-provider/rpc/JrpcClient.js';
|
|
30
|
+
import { createSolanaMiddleware } from '../../providers/solana-provider/rpc/solanaRpcMiddlewares.js';
|
|
31
|
+
import '@web3auth/ws-embed';
|
|
32
|
+
import { switchChain, getAccounts, getEthProviderHandlers, getSolProviderHandlers } from './walletConnectV2Utils.js';
|
|
14
33
|
|
|
15
34
|
var _WalletConnectV2Provider;
|
|
16
35
|
class WalletConnectV2Provider extends BaseProvider {
|
|
@@ -70,7 +89,6 @@ class WalletConnectV2Provider extends BaseProvider {
|
|
|
70
89
|
chainId
|
|
71
90
|
});
|
|
72
91
|
}
|
|
73
|
-
|
|
74
92
|
// no need to implement this method in wallet connect v2.
|
|
75
93
|
async lookupNetwork(_, chainId) {
|
|
76
94
|
return chainId;
|
|
@@ -197,7 +215,6 @@ class WalletConnectV2Provider extends BaseProvider {
|
|
|
197
215
|
if (!data) return;
|
|
198
216
|
const connectedChainId = data;
|
|
199
217
|
const connectedHexChainId = `0x${connectedChainId.toString(16)}`;
|
|
200
|
-
|
|
201
218
|
// Check if chainId changed and trigger event
|
|
202
219
|
const {
|
|
203
220
|
currentChain
|
|
@@ -1,6 +1,19 @@
|
|
|
1
|
-
import
|
|
1
|
+
import '../../base/errors/index.js';
|
|
2
|
+
import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
|
|
3
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
4
|
+
import '@web3auth/auth';
|
|
5
|
+
import '../../base/wallet/index.js';
|
|
6
|
+
import '../../base/connector/constants.js';
|
|
7
|
+
import 'jwt-decode';
|
|
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 { getSiteIcon, getSiteName } from '../utils.js';
|
|
2
14
|
|
|
3
|
-
|
|
15
|
+
var DEFAULT_EIP155_METHODS;
|
|
16
|
+
(function (DEFAULT_EIP155_METHODS) {
|
|
4
17
|
DEFAULT_EIP155_METHODS["ETH_SEND_TRANSACTION"] = "eth_sendTransaction";
|
|
5
18
|
DEFAULT_EIP155_METHODS["ETH_SIGN_TRANSACTION"] = "eth_signTransaction";
|
|
6
19
|
DEFAULT_EIP155_METHODS["ETH_SIGN"] = "eth_sign";
|
|
@@ -10,90 +23,27 @@ let DEFAULT_EIP155_METHODS = /*#__PURE__*/function (DEFAULT_EIP155_METHODS) {
|
|
|
10
23
|
DEFAULT_EIP155_METHODS["ETH_SIGN_TYPED_DATA_V4"] = "eth_signTypedData_v4";
|
|
11
24
|
DEFAULT_EIP155_METHODS["ADD_ETHEREUM_CHAIN"] = "wallet_addEthereumChain";
|
|
12
25
|
DEFAULT_EIP155_METHODS["SWITCH_ETHEREUM_CHAIN"] = "wallet_switchEthereumChain";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
26
|
+
})(DEFAULT_EIP155_METHODS || (DEFAULT_EIP155_METHODS = {}));
|
|
27
|
+
var DEFAULT_SOLANA_METHODS;
|
|
28
|
+
(function (DEFAULT_SOLANA_METHODS) {
|
|
16
29
|
DEFAULT_SOLANA_METHODS["SIGN_TRANSACTION"] = "solana_signTransaction";
|
|
17
30
|
DEFAULT_SOLANA_METHODS["SIGN_MESSAGE"] = "solana_signMessage";
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
31
|
+
})(DEFAULT_SOLANA_METHODS || (DEFAULT_SOLANA_METHODS = {}));
|
|
32
|
+
var DEFAULT_EIP_155_EVENTS;
|
|
33
|
+
(function (DEFAULT_EIP_155_EVENTS) {
|
|
21
34
|
DEFAULT_EIP_155_EVENTS["ETH_CHAIN_CHANGED"] = "chainChanged";
|
|
22
35
|
DEFAULT_EIP_155_EVENTS["ETH_ACCOUNTS_CHANGED"] = "accountsChanged";
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
36
|
+
})(DEFAULT_EIP_155_EVENTS || (DEFAULT_EIP_155_EVENTS = {}));
|
|
37
|
+
var DEFAULT_SOLANA_EVENTS;
|
|
38
|
+
(function (DEFAULT_SOLANA_EVENTS) {
|
|
26
39
|
DEFAULT_SOLANA_EVENTS["SOL_CHAIN_CHANGED"] = "chainChanged";
|
|
27
40
|
DEFAULT_SOLANA_EVENTS["SOL_ACCOUNTS_CHANGED"] = "accountsChanged";
|
|
28
|
-
|
|
29
|
-
}({});
|
|
41
|
+
})(DEFAULT_SOLANA_EVENTS || (DEFAULT_SOLANA_EVENTS = {}));
|
|
30
42
|
const SOLANA_CAIP_CHAIN_MAP = {
|
|
31
43
|
"0x65": "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
32
44
|
"0x66": "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",
|
|
33
45
|
"0x67": "EtWTRABZaYq6iMfeYKouRu166VU2xqa1"
|
|
34
46
|
};
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Extracts a name for the site from the DOM
|
|
38
|
-
*/
|
|
39
|
-
const getSiteName = window => {
|
|
40
|
-
const {
|
|
41
|
-
document
|
|
42
|
-
} = window;
|
|
43
|
-
const siteName = document.querySelector('head > meta[property="og:site_name"]');
|
|
44
|
-
if (siteName) {
|
|
45
|
-
return siteName.content;
|
|
46
|
-
}
|
|
47
|
-
const metaTitle = document.querySelector('head > meta[name="title"]');
|
|
48
|
-
if (metaTitle) {
|
|
49
|
-
return metaTitle.content;
|
|
50
|
-
}
|
|
51
|
-
if (document.title && document.title.length > 0) {
|
|
52
|
-
return document.title;
|
|
53
|
-
}
|
|
54
|
-
return window.location.hostname;
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Returns whether the given image URL exists
|
|
59
|
-
* @param url - the url of the image
|
|
60
|
-
* @returns - whether the image exists
|
|
61
|
-
*/
|
|
62
|
-
function imgExists(url) {
|
|
63
|
-
return new Promise((resolve, reject) => {
|
|
64
|
-
try {
|
|
65
|
-
const img = document.createElement("img");
|
|
66
|
-
img.onload = () => resolve(true);
|
|
67
|
-
img.onerror = () => resolve(false);
|
|
68
|
-
img.src = url;
|
|
69
|
-
} catch (e) {
|
|
70
|
-
reject(e);
|
|
71
|
-
}
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Extracts an icon for the site from the DOM
|
|
77
|
-
*/
|
|
78
|
-
async function getSiteIcon(window) {
|
|
79
|
-
const {
|
|
80
|
-
document
|
|
81
|
-
} = window;
|
|
82
|
-
|
|
83
|
-
// Use the site's favicon if it exists
|
|
84
|
-
let icon = document.querySelector('head > link[rel="shortcut icon"]');
|
|
85
|
-
if (icon && (await imgExists(icon.href))) {
|
|
86
|
-
return icon.href;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
// Search through available icons in no particular order
|
|
90
|
-
icon = Array.from(document.querySelectorAll('head > link[rel="icon"]')).find(_icon => Boolean(_icon.href)) || null;
|
|
91
|
-
if (icon && (await imgExists(icon.href))) {
|
|
92
|
-
return icon.href;
|
|
93
|
-
}
|
|
94
|
-
return null;
|
|
95
|
-
}
|
|
96
|
-
|
|
97
47
|
/**
|
|
98
48
|
* Gets site metadata and returns it
|
|
99
49
|
*
|
|
@@ -1,19 +1,24 @@
|
|
|
1
1
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
2
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
|
-
import { signChallenge, verifySignedChallenge } from '@toruslabs/base-controllers';
|
|
3
|
+
import { CHAIN_NAMESPACES, signChallenge, verifySignedChallenge } from '@toruslabs/base-controllers';
|
|
4
4
|
import Client from '@walletconnect/sign-client';
|
|
5
5
|
import { isValidArray, getSdkError } from '@walletconnect/utils';
|
|
6
6
|
import { EVM_METHOD_TYPES, SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
|
|
7
7
|
import deepmerge from 'deepmerge';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
8
|
+
import { WalletLoginError, WalletInitializationError, Web3AuthError } from '../../base/errors/index.js';
|
|
9
|
+
import { CONNECTOR_NAMESPACES } from '../../base/chain/IChainInterface.js';
|
|
10
|
+
import { BaseConnector } from '../../base/connector/baseConnector.js';
|
|
11
|
+
import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
|
|
12
|
+
import '@web3auth/auth';
|
|
13
|
+
import { getSavedToken, checkIfTokenIsExpired, saveToken } from '../../base/connector/utils.js';
|
|
10
14
|
import { log } from '../../base/loglevel.js';
|
|
15
|
+
import '../../base/plugin/errors.js';
|
|
16
|
+
import '../../base/plugin/IPlugin.js';
|
|
17
|
+
import '@toruslabs/constants';
|
|
18
|
+
import '@toruslabs/http-helpers';
|
|
11
19
|
import { WALLET_CONNECTORS } from '../../base/wallet/index.js';
|
|
12
20
|
import { getWalletConnectV2Settings } from './config.js';
|
|
13
21
|
import { WalletConnectV2Provider } from './WalletConnectV2Provider.js';
|
|
14
|
-
import { BaseConnector } from '../../base/connector/baseConnector.js';
|
|
15
|
-
import { CONNECTOR_CATEGORY, CONNECTOR_STATUS, CONNECTOR_EVENTS } from '../../base/connector/constants.js';
|
|
16
|
-
import { getSavedToken, checkIfTokenIsExpired, saveToken } from '../../base/connector/utils.js';
|
|
17
22
|
|
|
18
23
|
class WalletConnectV2Connector extends BaseConnector {
|
|
19
24
|
constructor(options) {
|
|
@@ -66,9 +71,6 @@ class WalletConnectV2Connector extends BaseConnector {
|
|
|
66
71
|
chainConfig
|
|
67
72
|
});
|
|
68
73
|
const projectId = (_this$connectorOption6 = this.connectorOptions.connectorSettings) === null || _this$connectorOption6 === void 0 || (_this$connectorOption6 = _this$connectorOption6.walletConnectInitOptions) === null || _this$connectorOption6 === void 0 ? void 0 : _this$connectorOption6.projectId;
|
|
69
|
-
if (!projectId) {
|
|
70
|
-
throw WalletInitializationError.invalidParams("Wallet connect project id is required in wallet connect v2 connector");
|
|
71
|
-
}
|
|
72
74
|
const wc2Settings = await getWalletConnectV2Settings(this.coreOptions.chains, projectId);
|
|
73
75
|
if (!this.connectorOptions.loginSettings || Object.keys(this.connectorOptions.loginSettings).length === 0) {
|
|
74
76
|
this.connectorOptions.loginSettings = wc2Settings.loginSettings;
|
|
@@ -281,7 +283,7 @@ class WalletConnectV2Connector extends BaseConnector {
|
|
|
281
283
|
this.status = CONNECTOR_STATUS.READY;
|
|
282
284
|
this.emit(CONNECTOR_EVENTS.READY, WALLET_CONNECTORS.WALLET_CONNECT_V2);
|
|
283
285
|
} catch (error) {
|
|
284
|
-
log.error("unable to open qr code modal");
|
|
286
|
+
log.error("unable to open qr code modal", error);
|
|
285
287
|
}
|
|
286
288
|
} else {
|
|
287
289
|
this.updateConnectorData({
|
|
@@ -290,7 +292,6 @@ class WalletConnectV2Connector extends BaseConnector {
|
|
|
290
292
|
}
|
|
291
293
|
}
|
|
292
294
|
log.info("awaiting session approval from wallet");
|
|
293
|
-
|
|
294
295
|
// Await session approval from the wallet.
|
|
295
296
|
const session = await approval();
|
|
296
297
|
this.activeSession = session;
|
|
@@ -302,8 +303,8 @@ class WalletConnectV2Connector extends BaseConnector {
|
|
|
302
303
|
qrcodeModal.closeModal();
|
|
303
304
|
}
|
|
304
305
|
} catch (error) {
|
|
305
|
-
var
|
|
306
|
-
if ((
|
|
306
|
+
var _error$message;
|
|
307
|
+
if ((_error$message = error.message) !== null && _error$message !== void 0 && _error$message.toLowerCase().includes("proposal expired")) {
|
|
307
308
|
// Retry if connector status is still connecting
|
|
308
309
|
log.info("current connector status: ", this.status);
|
|
309
310
|
if (this.status === CONNECTOR_STATUS.CONNECTING) {
|
|
@@ -385,24 +386,14 @@ class WalletConnectV2Connector extends BaseConnector {
|
|
|
385
386
|
}
|
|
386
387
|
const walletConnectV2Connector = params => {
|
|
387
388
|
return ({
|
|
388
|
-
|
|
389
|
-
|
|
389
|
+
coreOptions,
|
|
390
|
+
projectConfig
|
|
390
391
|
}) => {
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
} = (params === null || params === void 0 ? void 0 : params.walletConnectInitOptions) || {};
|
|
394
|
-
|
|
395
|
-
// use project config if projectId is not set
|
|
396
|
-
if (projectConfig) {
|
|
397
|
-
const {
|
|
398
|
-
wallet_connect_enabled: walletConnectEnabled,
|
|
399
|
-
wallet_connect_project_id: walletConnectProjectId
|
|
400
|
-
} = projectConfig;
|
|
401
|
-
if (walletConnectEnabled && walletConnectProjectId && !projectId) projectId = walletConnectProjectId;
|
|
402
|
-
}
|
|
392
|
+
var _params$walletConnect;
|
|
393
|
+
const projectId = (params === null || params === void 0 || (_params$walletConnect = params.walletConnectInitOptions) === null || _params$walletConnect === void 0 ? void 0 : _params$walletConnect.projectId) || (projectConfig === null || projectConfig === void 0 ? void 0 : projectConfig.walletConnectProjectId);
|
|
403
394
|
const connectorSettings = _objectSpread(_objectSpread({}, params), {}, {
|
|
404
395
|
walletConnectInitOptions: _objectSpread(_objectSpread({}, params === null || params === void 0 ? void 0 : params.walletConnectInitOptions), {}, {
|
|
405
|
-
projectId
|
|
396
|
+
projectId: projectId
|
|
406
397
|
})
|
|
407
398
|
});
|
|
408
399
|
return new WalletConnectV2Connector({
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
2
|
+
import { bs58 } from '@toruslabs/bs58';
|
|
2
3
|
import { getAccountsFromNamespaces, parseAccountId } from '@walletconnect/utils';
|
|
3
4
|
import { providerErrors, rpcErrors } from '@web3auth/auth';
|
|
4
5
|
import { EVM_METHOD_TYPES, SOLANA_METHOD_TYPES } from '@web3auth/ws-embed';
|
|
5
|
-
import bs58 from 'bs58';
|
|
6
6
|
import { WalletLoginError } from '../../base/errors/index.js';
|
|
7
|
+
import '@toruslabs/base-controllers';
|
|
8
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
9
|
+
import '../../base/wallet/index.js';
|
|
10
|
+
import '../../base/connector/constants.js';
|
|
11
|
+
import 'jwt-decode';
|
|
12
|
+
import '../../base/loglevel.js';
|
|
13
|
+
import '../../base/plugin/errors.js';
|
|
14
|
+
import '../../base/plugin/IPlugin.js';
|
|
15
|
+
import '@toruslabs/constants';
|
|
16
|
+
import '@toruslabs/http-helpers';
|
|
7
17
|
import { SOLANA_CAIP_CHAIN_MAP } from './config.js';
|
|
8
18
|
|
|
9
19
|
async function getLastActiveSession(signClient) {
|
package/dist/lib.esm/index.js
CHANGED
|
@@ -1,41 +1,37 @@
|
|
|
1
1
|
export { getChainConfig, getEvmChainConfig, getSolanaChainConfig, getXrplChainConfig } from './base/chain/config.js';
|
|
2
|
-
export {
|
|
2
|
+
export { CONNECTOR_NAMESPACES } from './base/chain/IChainInterface.js';
|
|
3
3
|
export { Web3AuthContextKey } from './base/composables/index.js';
|
|
4
|
+
export { BaseConnector } from './base/connector/baseConnector.js';
|
|
5
|
+
export { CONNECTOR_CATEGORY, CONNECTOR_EVENTS, CONNECTOR_STATUS, SMART_ACCOUNT_WALLET_SCOPE } from './base/connector/constants.js';
|
|
6
|
+
export { AUTH_CONNECTION, UX_MODE, WEB3AUTH_NETWORK, getED25519Key } from '@web3auth/auth';
|
|
7
|
+
export { checkIfTokenIsExpired, clearToken, getSavedToken, saveToken, storageAvailable } from './base/connector/utils.js';
|
|
4
8
|
export { WalletInitializationError, WalletLoginError, WalletOperationsError, WalletProviderError, Web3AuthError, serializeError } from './base/errors/index.js';
|
|
5
9
|
export { log } from './base/loglevel.js';
|
|
10
|
+
export { NFTCheckoutPluginError, WalletServicesPluginError } from './base/plugin/errors.js';
|
|
11
|
+
export { EVM_PLUGINS, PLUGIN_EVENTS, PLUGIN_NAMESPACES, PLUGIN_STATUS, SOLANA_PLUGINS, WALLET_PLUGINS } from './base/plugin/IPlugin.js';
|
|
6
12
|
export { PROVIDER_EVENTS } from './base/provider/IProvider.js';
|
|
7
13
|
export { fetchProjectConfig, fetchWalletRegistry, isHexStrict, normalizeWalletName, signerHost } from './base/utils.js';
|
|
8
14
|
export { CONNECTOR_NAMES, EVM_CONNECTORS, MULTI_CHAIN_CONNECTORS, SOLANA_CONNECTORS, WALLET_CONNECTORS } from './base/wallet/index.js';
|
|
9
|
-
export { Web3AuthNoModal } from './noModal.js';
|
|
10
|
-
export { BaseConnector } from './base/connector/baseConnector.js';
|
|
11
|
-
export { CONNECTOR_CATEGORY, CONNECTOR_EVENTS, CONNECTOR_STATUS } from './base/connector/constants.js';
|
|
12
|
-
export { LOGIN_PROVIDER, UX_MODE, WEB3AUTH_NETWORK, getED25519Key } from '@web3auth/auth';
|
|
13
|
-
export { checkIfTokenIsExpired, clearToken, getSavedToken, saveToken, storageAvailable } from './base/connector/utils.js';
|
|
14
|
-
export { NFTCheckoutPluginError, WalletServicesPluginError } from './base/plugin/errors.js';
|
|
15
|
-
export { EVM_PLUGINS, PLUGIN_EVENTS, PLUGIN_NAMESPACES, PLUGIN_STATUS, SOLANA_PLUGINS, WALLET_PLUGINS } from './base/plugin/IPlugin.js';
|
|
16
|
-
export { cloneDeep } from '@toruslabs/base-controllers';
|
|
17
15
|
export { authConnector } from './connectors/auth-connector/authConnector.js';
|
|
18
16
|
export { BaseEvmConnector } from './connectors/base-evm-connector/baseEvmConnector.js';
|
|
19
17
|
export { BaseSolanaConnector } from './connectors/base-solana-connector/baseSolanaConnector.js';
|
|
20
18
|
export { coinbaseConnector } from './connectors/coinbase-connector/coinbaseConnector.js';
|
|
21
19
|
export { injectedEvmConnector } from './connectors/injected-evm-connector/injectedEvmConnector.js';
|
|
22
20
|
export { createStore as createMipd } from 'mipd';
|
|
23
|
-
export { getWallets as createSolanaMipd } from '@wallet-standard/app';
|
|
24
21
|
export { hasSolanaWalletStandardFeatures } from './connectors/injected-solana-connector/index.js';
|
|
25
|
-
export { walletStandardConnector } from './connectors/injected-solana-connector/walletStandardConnector.js';
|
|
26
22
|
export { DEFAULT_EIP155_METHODS, DEFAULT_EIP_155_EVENTS, DEFAULT_SOLANA_EVENTS, DEFAULT_SOLANA_METHODS, SOLANA_CAIP_CHAIN_MAP, getNamespacesFromChains, getRequiredNamespaces, getSupportedEventsByNamespace, getSupportedMethodsByNamespace, getWalletConnectV2Settings } from './connectors/wallet-connect-v2-connector/config.js';
|
|
27
23
|
export { walletConnectV2Connector } from './connectors/wallet-connect-v2-connector/walletConnectV2Connector.js';
|
|
28
24
|
export { WalletConnectV2Provider } from './connectors/wallet-connect-v2-connector/WalletConnectV2Provider.js';
|
|
25
|
+
export { Web3AuthNoModal } from './noModal.js';
|
|
29
26
|
export { NFTCheckoutEmbed } from './plugins/nft-checkout-plugin/embed.js';
|
|
30
27
|
export { nftCheckoutPlugin } from './plugins/nft-checkout-plugin/plugin.js';
|
|
31
|
-
export { BUTTON_POSITION, CONFIRMATION_STRATEGY } from '@web3auth/ws-embed';
|
|
32
28
|
export { walletServicesPlugin } from './plugins/wallet-services-plugin/plugin.js';
|
|
33
29
|
export { accountAbstractionProvider } from './providers/account-abstraction-provider/providers/AccountAbstractionProvider.js';
|
|
34
30
|
export { BiconomySmartAccount, KernelSmartAccount, NexusSmartAccount, SMART_ACCOUNT, SafeSmartAccount, TrustSmartAccount } from '@toruslabs/ethereum-controllers';
|
|
35
31
|
export { BaseProvider } from './providers/base-provider/baseProvider.js';
|
|
36
32
|
export { CommonJRPCProvider } from './providers/base-provider/CommonJRPCProvider.js';
|
|
37
33
|
export { CommonPrivateKeyProvider } from './providers/base-provider/commonPrivateKeyProvider.js';
|
|
38
|
-
export { createRandomId } from './providers/base-provider/utils.js';
|
|
34
|
+
export { EIP1193_EVENTS, createRandomId } from './providers/base-provider/utils.js';
|
|
39
35
|
export { EthereumSigningProvider } from './providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js';
|
|
40
36
|
export { EIP1559APIEndpoint, GAS_ESTIMATE_TYPES, LegacyGasAPIEndpoint, TRANSACTION_ENVELOPE_TYPES, TRANSACTION_TYPES } from './providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js';
|
|
41
37
|
export { TransactionFormatter } from './providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js';
|
|
@@ -46,9 +42,12 @@ export { createEthChainIdMiddleware, createEthJsonRpcClient, createEthProviderCo
|
|
|
46
42
|
export { createWalletMiddleware } from './providers/ethereum-provider/rpc/walletMidddleware.js';
|
|
47
43
|
export { getSolanaChainByChainConfig } from './providers/solana-provider/providers/injectedProviders/utils.js';
|
|
48
44
|
export { WalletStandardProvider } from './providers/solana-provider/providers/injectedProviders/walletStandardProvider.js';
|
|
49
|
-
export { SolanaPrivateKeyProvider } from './providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js';
|
|
50
45
|
export { createConfigMiddleware, createSolanaChainIdMiddleware, createSolanaJsonRpcClient, createSolanaProviderConfigMiddleware } from './providers/solana-provider/rpc/JrpcClient.js';
|
|
51
46
|
export { createGenericJRPCMiddleware, createGetAccountsMiddleware, createGetPublicKeyMiddleware, createRequestAccountsMiddleware, createSolanaAccountMiddleware, createSolanaChainSwitchMiddleware, createSolanaMiddleware } from './providers/solana-provider/rpc/solanaRpcMiddlewares.js';
|
|
52
47
|
export { SolanaWallet } from './providers/solana-provider/solanaWallet.js';
|
|
53
48
|
export { XrplPrivateKeyProvider } from './providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js';
|
|
54
49
|
export { getProviderHandlers } from './providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js';
|
|
50
|
+
export { CHAIN_NAMESPACES, cloneDeep } from '@toruslabs/base-controllers';
|
|
51
|
+
export { getWallets as createSolanaMipd } from '@wallet-standard/app';
|
|
52
|
+
export { walletStandardConnector } from './connectors/injected-solana-connector/walletStandardConnector.js';
|
|
53
|
+
export { BUTTON_POSITION, CONFIRMATION_STRATEGY } from '@web3auth/ws-embed';
|