@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,197 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var sdk = require('@metamask/sdk');
|
|
5
|
+
var deepmerge = require('deepmerge');
|
|
6
|
+
var index$1 = require('../../base/errors/index.js');
|
|
7
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
8
|
+
require('@web3auth/auth');
|
|
9
|
+
var index = require('../../base/wallet/index.js');
|
|
10
|
+
var constants = require('../../base/connector/constants.js');
|
|
11
|
+
require('jwt-decode');
|
|
12
|
+
require('../../base/loglevel.js');
|
|
13
|
+
require('../../base/plugin/errors.js');
|
|
14
|
+
require('../../base/plugin/IPlugin.js');
|
|
15
|
+
var baseControllers = require('@toruslabs/base-controllers');
|
|
16
|
+
require('@toruslabs/constants');
|
|
17
|
+
require('@toruslabs/http-helpers');
|
|
18
|
+
var baseEvmConnector = require('../base-evm-connector/baseEvmConnector.js');
|
|
19
|
+
var utils = require('../utils.js');
|
|
20
|
+
|
|
21
|
+
class MetaMaskConnector extends baseEvmConnector.BaseEvmConnector {
|
|
22
|
+
constructor(connectorOptions) {
|
|
23
|
+
super(connectorOptions);
|
|
24
|
+
_defineProperty(this, "connectorNamespace", IChainInterface.CONNECTOR_NAMESPACES.EIP155);
|
|
25
|
+
_defineProperty(this, "currentChainNamespace", baseControllers.CHAIN_NAMESPACES.EIP155);
|
|
26
|
+
_defineProperty(this, "type", constants.CONNECTOR_CATEGORY.EXTERNAL);
|
|
27
|
+
_defineProperty(this, "name", index.WALLET_CONNECTORS.METAMASK);
|
|
28
|
+
_defineProperty(this, "status", constants.CONNECTOR_STATUS.NOT_READY);
|
|
29
|
+
_defineProperty(this, "metamaskProvider", null);
|
|
30
|
+
_defineProperty(this, "metamaskSDK", null);
|
|
31
|
+
_defineProperty(this, "metamaskOptions", void 0);
|
|
32
|
+
this.metamaskOptions = connectorOptions.connectorSettings;
|
|
33
|
+
}
|
|
34
|
+
get provider() {
|
|
35
|
+
if (this.status !== constants.CONNECTOR_STATUS.NOT_READY && this.metamaskProvider) {
|
|
36
|
+
return this.metamaskProvider;
|
|
37
|
+
}
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
set provider(_) {
|
|
41
|
+
throw new Error("Not implemented");
|
|
42
|
+
}
|
|
43
|
+
async init(options) {
|
|
44
|
+
await super.init(options);
|
|
45
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === options.chainId);
|
|
46
|
+
super.checkInitializationRequirements({
|
|
47
|
+
chainConfig
|
|
48
|
+
});
|
|
49
|
+
// Detect app metadata
|
|
50
|
+
const iconUrl = await utils.getSiteIcon(window);
|
|
51
|
+
const appMetadata = {
|
|
52
|
+
name: utils.getSiteName(window),
|
|
53
|
+
url: window.location.origin,
|
|
54
|
+
iconUrl
|
|
55
|
+
};
|
|
56
|
+
// Initialize the MetaMask SDK
|
|
57
|
+
const metamaskOptions = deepmerge(this.metamaskOptions || {}, {
|
|
58
|
+
dappMetadata: appMetadata
|
|
59
|
+
});
|
|
60
|
+
this.metamaskSDK = new sdk.MetaMaskSDK(metamaskOptions);
|
|
61
|
+
this.status = constants.CONNECTOR_STATUS.READY;
|
|
62
|
+
this.emit(constants.CONNECTOR_EVENTS.READY, index.WALLET_CONNECTORS.METAMASK);
|
|
63
|
+
try {
|
|
64
|
+
if (options.autoConnect) {
|
|
65
|
+
this.rehydrated = true;
|
|
66
|
+
await this.connect({
|
|
67
|
+
chainId: options.chainId
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
} catch (error) {
|
|
71
|
+
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
async connect({
|
|
75
|
+
chainId
|
|
76
|
+
}) {
|
|
77
|
+
super.checkConnectionRequirements();
|
|
78
|
+
if (!this.metamaskSDK) throw index$1.WalletLoginError.notConnectedError("Connector is not initialized");
|
|
79
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === chainId);
|
|
80
|
+
if (!chainConfig) throw index$1.WalletLoginError.connectionError("Chain config is not available");
|
|
81
|
+
this.status = constants.CONNECTOR_STATUS.CONNECTING;
|
|
82
|
+
this.emit(constants.CONNECTOR_EVENTS.CONNECTING, {
|
|
83
|
+
connector: index.WALLET_CONNECTORS.METAMASK
|
|
84
|
+
});
|
|
85
|
+
try {
|
|
86
|
+
await this.metamaskSDK.connect();
|
|
87
|
+
this.metamaskProvider = this.metamaskSDK.getProvider();
|
|
88
|
+
if (!this.metamaskProvider) throw index$1.WalletLoginError.notConnectedError("Failed to connect with provider");
|
|
89
|
+
// switch chain if not connected to the right chain
|
|
90
|
+
const currentChainId = await this.metamaskProvider.request({
|
|
91
|
+
method: "eth_chainId"
|
|
92
|
+
});
|
|
93
|
+
if (currentChainId !== chainConfig.chainId) {
|
|
94
|
+
await this.switchChain(chainConfig, true);
|
|
95
|
+
}
|
|
96
|
+
// handle disconnect event
|
|
97
|
+
const accountDisconnectHandler = accounts => {
|
|
98
|
+
if (accounts.length === 0) this.disconnect();
|
|
99
|
+
};
|
|
100
|
+
this.metamaskProvider.on("accountsChanged", accountDisconnectHandler);
|
|
101
|
+
this.metamaskProvider.once("disconnect", () => {
|
|
102
|
+
this.disconnect();
|
|
103
|
+
});
|
|
104
|
+
this.status = constants.CONNECTOR_STATUS.CONNECTED;
|
|
105
|
+
this.emit(constants.CONNECTOR_EVENTS.CONNECTED, {
|
|
106
|
+
connector: index.WALLET_CONNECTORS.METAMASK,
|
|
107
|
+
reconnected: this.rehydrated,
|
|
108
|
+
provider: this.metamaskProvider
|
|
109
|
+
});
|
|
110
|
+
return this.metamaskProvider;
|
|
111
|
+
} catch (error) {
|
|
112
|
+
// ready again to be connected
|
|
113
|
+
this.status = constants.CONNECTOR_STATUS.READY;
|
|
114
|
+
this.rehydrated = false;
|
|
115
|
+
this.emit(constants.CONNECTOR_EVENTS.ERRORED, error);
|
|
116
|
+
if (error instanceof index$1.Web3AuthError) throw error;
|
|
117
|
+
throw index$1.WalletLoginError.connectionError("Failed to login with MetaMask wallet", error);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
async disconnect(options = {
|
|
121
|
+
cleanup: false
|
|
122
|
+
}) {
|
|
123
|
+
if (!this.metamaskProvider) throw index$1.WalletLoginError.connectionError("MetaMask provider is not available");
|
|
124
|
+
await super.disconnectSession();
|
|
125
|
+
if (typeof this.metamaskProvider.removeAllListeners !== "undefined") this.metamaskProvider.removeAllListeners();
|
|
126
|
+
await this.metamaskSDK.terminate();
|
|
127
|
+
if (options.cleanup) {
|
|
128
|
+
this.status = constants.CONNECTOR_STATUS.NOT_READY;
|
|
129
|
+
this.metamaskProvider = null;
|
|
130
|
+
} else {
|
|
131
|
+
// ready to be connected again
|
|
132
|
+
this.status = constants.CONNECTOR_STATUS.READY;
|
|
133
|
+
}
|
|
134
|
+
await super.disconnect();
|
|
135
|
+
}
|
|
136
|
+
async getUserInfo() {
|
|
137
|
+
if (this.status !== constants.CONNECTOR_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
138
|
+
return {};
|
|
139
|
+
}
|
|
140
|
+
async switchChain(params, init = false) {
|
|
141
|
+
super.checkSwitchChainRequirements(params, init);
|
|
142
|
+
const requestSwitchChain = () => this.metamaskProvider.request({
|
|
143
|
+
method: "wallet_switchEthereumChain",
|
|
144
|
+
params: [{
|
|
145
|
+
chainId: params.chainId
|
|
146
|
+
}]
|
|
147
|
+
});
|
|
148
|
+
try {
|
|
149
|
+
await requestSwitchChain();
|
|
150
|
+
} catch (error) {
|
|
151
|
+
// If the error code is 4902, the network needs to be added
|
|
152
|
+
if ((error === null || error === void 0 ? void 0 : error.code) === 4902) {
|
|
153
|
+
const chainConfig = this.coreOptions.chains.find(x => x.chainId === params.chainId && x.chainNamespace === this.connectorNamespace);
|
|
154
|
+
await this.addChain(chainConfig);
|
|
155
|
+
await requestSwitchChain();
|
|
156
|
+
} else {
|
|
157
|
+
throw error;
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
async enableMFA() {
|
|
162
|
+
throw new Error("Method Not implemented");
|
|
163
|
+
}
|
|
164
|
+
async manageMFA() {
|
|
165
|
+
throw new Error("Method Not implemented");
|
|
166
|
+
}
|
|
167
|
+
async addChain(chainConfig) {
|
|
168
|
+
if (!this.metamaskProvider) throw index$1.WalletLoginError.connectionError("Injected provider is not available");
|
|
169
|
+
await this.metamaskProvider.request({
|
|
170
|
+
method: "wallet_addEthereumChain",
|
|
171
|
+
params: [{
|
|
172
|
+
chainId: chainConfig.chainId,
|
|
173
|
+
chainName: chainConfig.displayName,
|
|
174
|
+
rpcUrls: [chainConfig.rpcTarget],
|
|
175
|
+
blockExplorerUrls: [chainConfig.blockExplorerUrl],
|
|
176
|
+
nativeCurrency: {
|
|
177
|
+
name: chainConfig.tickerName,
|
|
178
|
+
symbol: chainConfig.ticker,
|
|
179
|
+
decimals: chainConfig.decimals || 18
|
|
180
|
+
},
|
|
181
|
+
iconUrls: [chainConfig.logo]
|
|
182
|
+
}]
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
const metaMaskConnector = params => {
|
|
187
|
+
return ({
|
|
188
|
+
coreOptions
|
|
189
|
+
}) => {
|
|
190
|
+
return new MetaMaskConnector({
|
|
191
|
+
connectorSettings: params,
|
|
192
|
+
coreOptions
|
|
193
|
+
});
|
|
194
|
+
};
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
exports.metaMaskConnector = metaMaskConnector;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Extracts a name for the site from the DOM
|
|
5
|
+
*/
|
|
6
|
+
const getSiteName = window => {
|
|
7
|
+
const {
|
|
8
|
+
document
|
|
9
|
+
} = window;
|
|
10
|
+
const siteName = document.querySelector('head > meta[property="og:site_name"]');
|
|
11
|
+
if (siteName) {
|
|
12
|
+
return siteName.content;
|
|
13
|
+
}
|
|
14
|
+
const metaTitle = document.querySelector('head > meta[name="title"]');
|
|
15
|
+
if (metaTitle) {
|
|
16
|
+
return metaTitle.content;
|
|
17
|
+
}
|
|
18
|
+
if (document.title && document.title.length > 0) {
|
|
19
|
+
return document.title;
|
|
20
|
+
}
|
|
21
|
+
return window.location.hostname;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Returns whether the given image URL exists
|
|
25
|
+
* @param url - the url of the image
|
|
26
|
+
* @returns - whether the image exists
|
|
27
|
+
*/
|
|
28
|
+
function imgExists(url) {
|
|
29
|
+
return new Promise((resolve, reject) => {
|
|
30
|
+
try {
|
|
31
|
+
const img = document.createElement("img");
|
|
32
|
+
img.onload = () => resolve(true);
|
|
33
|
+
img.onerror = () => resolve(false);
|
|
34
|
+
img.src = url;
|
|
35
|
+
} catch (e) {
|
|
36
|
+
reject(e);
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Extracts an icon for the site from the DOM
|
|
42
|
+
*/
|
|
43
|
+
async function getSiteIcon(window) {
|
|
44
|
+
const {
|
|
45
|
+
document
|
|
46
|
+
} = window;
|
|
47
|
+
// Use the site's favicon if it exists
|
|
48
|
+
let icon = document.querySelector('head > link[rel="shortcut icon"]');
|
|
49
|
+
if (icon && (await imgExists(icon.href))) {
|
|
50
|
+
return icon.href;
|
|
51
|
+
}
|
|
52
|
+
// Search through available icons in no particular order
|
|
53
|
+
icon = Array.from(document.querySelectorAll('head > link[rel="icon"]')).find(_icon => Boolean(_icon.href)) || null;
|
|
54
|
+
if (icon && (await imgExists(icon.href))) {
|
|
55
|
+
return icon.href;
|
|
56
|
+
}
|
|
57
|
+
return null;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
exports.getSiteIcon = getSiteIcon;
|
|
61
|
+
exports.getSiteName = getSiteName;
|
|
@@ -4,15 +4,34 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
5
|
var utils = require('@walletconnect/utils');
|
|
6
6
|
var auth = require('@web3auth/auth');
|
|
7
|
-
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
8
7
|
var index = require('../../base/errors/index.js');
|
|
8
|
+
var baseControllers = require('@toruslabs/base-controllers');
|
|
9
|
+
require('../../base/wallet/index.js');
|
|
10
|
+
require('../../base/connector/constants.js');
|
|
11
|
+
require('jwt-decode');
|
|
9
12
|
var loglevel = require('../../base/loglevel.js');
|
|
13
|
+
require('../../base/plugin/errors.js');
|
|
14
|
+
require('../../base/plugin/IPlugin.js');
|
|
15
|
+
require('@toruslabs/constants');
|
|
16
|
+
require('@toruslabs/http-helpers');
|
|
10
17
|
var baseProvider = require('../../providers/base-provider/baseProvider.js');
|
|
11
|
-
|
|
18
|
+
require('../../providers/base-provider/CommonJRPCProvider.js');
|
|
19
|
+
require('../../providers/base-provider/commonPrivateKeyProvider.js');
|
|
20
|
+
require('../../providers/base-provider/utils.js');
|
|
21
|
+
require('@ethereumjs/util');
|
|
22
|
+
require('bignumber.js');
|
|
23
|
+
require('../../providers/ethereum-provider/providers/converter.js');
|
|
24
|
+
require('bn.js');
|
|
25
|
+
require('../../providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js');
|
|
12
26
|
var ethRpcMiddlewares = require('../../providers/ethereum-provider/rpc/ethRpcMiddlewares.js');
|
|
13
27
|
var jrpcClient = require('../../providers/ethereum-provider/rpc/jrpcClient.js');
|
|
14
|
-
|
|
28
|
+
require('@solana/wallet-standard-features');
|
|
29
|
+
require('@solana/web3.js');
|
|
30
|
+
require('@toruslabs/bs58');
|
|
15
31
|
var JrpcClient = require('../../providers/solana-provider/rpc/JrpcClient.js');
|
|
32
|
+
var solanaRpcMiddlewares = require('../../providers/solana-provider/rpc/solanaRpcMiddlewares.js');
|
|
33
|
+
require('@web3auth/ws-embed');
|
|
34
|
+
var walletConnectV2Utils = require('./walletConnectV2Utils.js');
|
|
16
35
|
|
|
17
36
|
var _WalletConnectV2Provider;
|
|
18
37
|
class WalletConnectV2Provider extends baseProvider.BaseProvider {
|
|
@@ -72,16 +91,15 @@ class WalletConnectV2Provider extends baseProvider.BaseProvider {
|
|
|
72
91
|
chainId
|
|
73
92
|
});
|
|
74
93
|
}
|
|
75
|
-
|
|
76
94
|
// no need to implement this method in wallet connect v2.
|
|
77
95
|
async lookupNetwork(_, chainId) {
|
|
78
96
|
return chainId;
|
|
79
97
|
}
|
|
80
98
|
async setupEngine(connector, chainId) {
|
|
81
99
|
const chain = this.getChain(chainId);
|
|
82
|
-
if (chain.chainNamespace ===
|
|
100
|
+
if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155) {
|
|
83
101
|
await this.setupEthEngine(connector, chainId);
|
|
84
|
-
} else if (chain.chainNamespace ===
|
|
102
|
+
} else if (chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA) {
|
|
85
103
|
await this.setupSolEngine(connector, chainId);
|
|
86
104
|
} else {
|
|
87
105
|
throw new Error(`Unsupported chainNamespace: ${chain.chainNamespace}`);
|
|
@@ -199,7 +217,6 @@ class WalletConnectV2Provider extends baseProvider.BaseProvider {
|
|
|
199
217
|
if (!data) return;
|
|
200
218
|
const connectedChainId = data;
|
|
201
219
|
const connectedHexChainId = `0x${connectedChainId.toString(16)}`;
|
|
202
|
-
|
|
203
220
|
// Check if chainId changed and trigger event
|
|
204
221
|
const {
|
|
205
222
|
currentChain
|
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
require('../../base/errors/index.js');
|
|
4
|
+
var baseControllers = require('@toruslabs/base-controllers');
|
|
5
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
6
|
+
require('@web3auth/auth');
|
|
7
|
+
require('../../base/wallet/index.js');
|
|
8
|
+
require('../../base/connector/constants.js');
|
|
9
|
+
require('jwt-decode');
|
|
10
|
+
require('../../base/loglevel.js');
|
|
11
|
+
require('../../base/plugin/errors.js');
|
|
12
|
+
require('../../base/plugin/IPlugin.js');
|
|
13
|
+
require('@toruslabs/constants');
|
|
14
|
+
require('@toruslabs/http-helpers');
|
|
15
|
+
var utils = require('../utils.js');
|
|
4
16
|
|
|
5
|
-
|
|
17
|
+
exports.DEFAULT_EIP155_METHODS = void 0;
|
|
18
|
+
(function (DEFAULT_EIP155_METHODS) {
|
|
6
19
|
DEFAULT_EIP155_METHODS["ETH_SEND_TRANSACTION"] = "eth_sendTransaction";
|
|
7
20
|
DEFAULT_EIP155_METHODS["ETH_SIGN_TRANSACTION"] = "eth_signTransaction";
|
|
8
21
|
DEFAULT_EIP155_METHODS["ETH_SIGN"] = "eth_sign";
|
|
@@ -12,97 +25,34 @@ let DEFAULT_EIP155_METHODS = /*#__PURE__*/function (DEFAULT_EIP155_METHODS) {
|
|
|
12
25
|
DEFAULT_EIP155_METHODS["ETH_SIGN_TYPED_DATA_V4"] = "eth_signTypedData_v4";
|
|
13
26
|
DEFAULT_EIP155_METHODS["ADD_ETHEREUM_CHAIN"] = "wallet_addEthereumChain";
|
|
14
27
|
DEFAULT_EIP155_METHODS["SWITCH_ETHEREUM_CHAIN"] = "wallet_switchEthereumChain";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
28
|
+
})(exports.DEFAULT_EIP155_METHODS || (exports.DEFAULT_EIP155_METHODS = {}));
|
|
29
|
+
exports.DEFAULT_SOLANA_METHODS = void 0;
|
|
30
|
+
(function (DEFAULT_SOLANA_METHODS) {
|
|
18
31
|
DEFAULT_SOLANA_METHODS["SIGN_TRANSACTION"] = "solana_signTransaction";
|
|
19
32
|
DEFAULT_SOLANA_METHODS["SIGN_MESSAGE"] = "solana_signMessage";
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
33
|
+
})(exports.DEFAULT_SOLANA_METHODS || (exports.DEFAULT_SOLANA_METHODS = {}));
|
|
34
|
+
exports.DEFAULT_EIP_155_EVENTS = void 0;
|
|
35
|
+
(function (DEFAULT_EIP_155_EVENTS) {
|
|
23
36
|
DEFAULT_EIP_155_EVENTS["ETH_CHAIN_CHANGED"] = "chainChanged";
|
|
24
37
|
DEFAULT_EIP_155_EVENTS["ETH_ACCOUNTS_CHANGED"] = "accountsChanged";
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
38
|
+
})(exports.DEFAULT_EIP_155_EVENTS || (exports.DEFAULT_EIP_155_EVENTS = {}));
|
|
39
|
+
exports.DEFAULT_SOLANA_EVENTS = void 0;
|
|
40
|
+
(function (DEFAULT_SOLANA_EVENTS) {
|
|
28
41
|
DEFAULT_SOLANA_EVENTS["SOL_CHAIN_CHANGED"] = "chainChanged";
|
|
29
42
|
DEFAULT_SOLANA_EVENTS["SOL_ACCOUNTS_CHANGED"] = "accountsChanged";
|
|
30
|
-
|
|
31
|
-
}({});
|
|
43
|
+
})(exports.DEFAULT_SOLANA_EVENTS || (exports.DEFAULT_SOLANA_EVENTS = {}));
|
|
32
44
|
const SOLANA_CAIP_CHAIN_MAP = {
|
|
33
45
|
"0x65": "5eykt4UsFv8P8NJdTREpY1vzqKqZKvdp",
|
|
34
46
|
"0x66": "4uhcVJyU9pJkvQyS88uRDiswHXSCkY3z",
|
|
35
47
|
"0x67": "EtWTRABZaYq6iMfeYKouRu166VU2xqa1"
|
|
36
48
|
};
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Extracts a name for the site from the DOM
|
|
40
|
-
*/
|
|
41
|
-
const getSiteName = window => {
|
|
42
|
-
const {
|
|
43
|
-
document
|
|
44
|
-
} = window;
|
|
45
|
-
const siteName = document.querySelector('head > meta[property="og:site_name"]');
|
|
46
|
-
if (siteName) {
|
|
47
|
-
return siteName.content;
|
|
48
|
-
}
|
|
49
|
-
const metaTitle = document.querySelector('head > meta[name="title"]');
|
|
50
|
-
if (metaTitle) {
|
|
51
|
-
return metaTitle.content;
|
|
52
|
-
}
|
|
53
|
-
if (document.title && document.title.length > 0) {
|
|
54
|
-
return document.title;
|
|
55
|
-
}
|
|
56
|
-
return window.location.hostname;
|
|
57
|
-
};
|
|
58
|
-
|
|
59
|
-
/**
|
|
60
|
-
* Returns whether the given image URL exists
|
|
61
|
-
* @param url - the url of the image
|
|
62
|
-
* @returns - whether the image exists
|
|
63
|
-
*/
|
|
64
|
-
function imgExists(url) {
|
|
65
|
-
return new Promise((resolve, reject) => {
|
|
66
|
-
try {
|
|
67
|
-
const img = document.createElement("img");
|
|
68
|
-
img.onload = () => resolve(true);
|
|
69
|
-
img.onerror = () => resolve(false);
|
|
70
|
-
img.src = url;
|
|
71
|
-
} catch (e) {
|
|
72
|
-
reject(e);
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Extracts an icon for the site from the DOM
|
|
79
|
-
*/
|
|
80
|
-
async function getSiteIcon(window) {
|
|
81
|
-
const {
|
|
82
|
-
document
|
|
83
|
-
} = window;
|
|
84
|
-
|
|
85
|
-
// Use the site's favicon if it exists
|
|
86
|
-
let icon = document.querySelector('head > link[rel="shortcut icon"]');
|
|
87
|
-
if (icon && (await imgExists(icon.href))) {
|
|
88
|
-
return icon.href;
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
// Search through available icons in no particular order
|
|
92
|
-
icon = Array.from(document.querySelectorAll('head > link[rel="icon"]')).find(_icon => Boolean(_icon.href)) || null;
|
|
93
|
-
if (icon && (await imgExists(icon.href))) {
|
|
94
|
-
return icon.href;
|
|
95
|
-
}
|
|
96
|
-
return null;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
49
|
/**
|
|
100
50
|
* Gets site metadata and returns it
|
|
101
51
|
*
|
|
102
52
|
*/
|
|
103
53
|
const getSiteMetadata = async () => ({
|
|
104
|
-
name: getSiteName(window),
|
|
105
|
-
icon: await getSiteIcon(window)
|
|
54
|
+
name: utils.getSiteName(window),
|
|
55
|
+
icon: await utils.getSiteIcon(window)
|
|
106
56
|
});
|
|
107
57
|
const getNamespacesFromChains = chains => {
|
|
108
58
|
const supportedNamespaces = [];
|
|
@@ -116,20 +66,20 @@ const getNamespacesFromChains = chains => {
|
|
|
116
66
|
};
|
|
117
67
|
const getSupportedMethodsByNamespace = namespace => {
|
|
118
68
|
switch (namespace) {
|
|
119
|
-
case
|
|
120
|
-
return Object.values(DEFAULT_EIP155_METHODS);
|
|
121
|
-
case
|
|
122
|
-
return Object.values(DEFAULT_SOLANA_METHODS);
|
|
69
|
+
case baseControllers.CHAIN_NAMESPACES.EIP155:
|
|
70
|
+
return Object.values(exports.DEFAULT_EIP155_METHODS);
|
|
71
|
+
case baseControllers.CHAIN_NAMESPACES.SOLANA:
|
|
72
|
+
return Object.values(exports.DEFAULT_SOLANA_METHODS);
|
|
123
73
|
default:
|
|
124
74
|
throw new Error(`No default methods for namespace: ${namespace}`);
|
|
125
75
|
}
|
|
126
76
|
};
|
|
127
77
|
const getSupportedEventsByNamespace = namespace => {
|
|
128
78
|
switch (namespace) {
|
|
129
|
-
case
|
|
130
|
-
return Object.values(DEFAULT_EIP_155_EVENTS);
|
|
131
|
-
case
|
|
132
|
-
return Object.values(DEFAULT_SOLANA_EVENTS);
|
|
79
|
+
case baseControllers.CHAIN_NAMESPACES.EIP155:
|
|
80
|
+
return Object.values(exports.DEFAULT_EIP_155_EVENTS);
|
|
81
|
+
case baseControllers.CHAIN_NAMESPACES.SOLANA:
|
|
82
|
+
return Object.values(exports.DEFAULT_SOLANA_EVENTS);
|
|
133
83
|
default:
|
|
134
84
|
throw new Error(`No default events for namespace: ${namespace}`);
|
|
135
85
|
}
|
|
@@ -157,7 +107,7 @@ const getWalletConnectV2Settings = async (chains, projectID) => {
|
|
|
157
107
|
}
|
|
158
108
|
};
|
|
159
109
|
const chainNamespaces = chains.map(chain => {
|
|
160
|
-
return `${chain.chainNamespace}:${chain.chainNamespace ===
|
|
110
|
+
return `${chain.chainNamespace}:${chain.chainNamespace === baseControllers.CHAIN_NAMESPACES.SOLANA ? SOLANA_CAIP_CHAIN_MAP[chain.chainId] : parseInt(chain.chainId, 16)}`;
|
|
161
111
|
});
|
|
162
112
|
const loginSettings = {
|
|
163
113
|
optionalNamespaces: getRequiredNamespaces(chainNamespaces)
|
|
@@ -168,10 +118,6 @@ const getWalletConnectV2Settings = async (chains, projectID) => {
|
|
|
168
118
|
};
|
|
169
119
|
};
|
|
170
120
|
|
|
171
|
-
exports.DEFAULT_EIP155_METHODS = DEFAULT_EIP155_METHODS;
|
|
172
|
-
exports.DEFAULT_EIP_155_EVENTS = DEFAULT_EIP_155_EVENTS;
|
|
173
|
-
exports.DEFAULT_SOLANA_EVENTS = DEFAULT_SOLANA_EVENTS;
|
|
174
|
-
exports.DEFAULT_SOLANA_METHODS = DEFAULT_SOLANA_METHODS;
|
|
175
121
|
exports.SOLANA_CAIP_CHAIN_MAP = SOLANA_CAIP_CHAIN_MAP;
|
|
176
122
|
exports.getNamespacesFromChains = getNamespacesFromChains;
|
|
177
123
|
exports.getRequiredNamespaces = getRequiredNamespaces;
|
|
@@ -6,10 +6,22 @@ var WalletConnectV2Provider = require('./WalletConnectV2Provider.js');
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
exports
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
Object.defineProperty(exports, "DEFAULT_EIP155_METHODS", {
|
|
10
|
+
enumerable: true,
|
|
11
|
+
get: function () { return config.DEFAULT_EIP155_METHODS; }
|
|
12
|
+
});
|
|
13
|
+
Object.defineProperty(exports, "DEFAULT_EIP_155_EVENTS", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return config.DEFAULT_EIP_155_EVENTS; }
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "DEFAULT_SOLANA_EVENTS", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () { return config.DEFAULT_SOLANA_EVENTS; }
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(exports, "DEFAULT_SOLANA_METHODS", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return config.DEFAULT_SOLANA_METHODS; }
|
|
24
|
+
});
|
|
13
25
|
exports.SOLANA_CAIP_CHAIN_MAP = config.SOLANA_CAIP_CHAIN_MAP;
|
|
14
26
|
exports.getNamespacesFromChains = config.getNamespacesFromChains;
|
|
15
27
|
exports.getRequiredNamespaces = config.getRequiredNamespaces;
|
|
@@ -7,15 +7,20 @@ var Client = require('@walletconnect/sign-client');
|
|
|
7
7
|
var utils$1 = require('@walletconnect/utils');
|
|
8
8
|
var wsEmbed = require('@web3auth/ws-embed');
|
|
9
9
|
var deepmerge = require('deepmerge');
|
|
10
|
-
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
11
10
|
var index$1 = require('../../base/errors/index.js');
|
|
11
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
12
|
+
var baseConnector = require('../../base/connector/baseConnector.js');
|
|
13
|
+
var constants = require('../../base/connector/constants.js');
|
|
14
|
+
require('@web3auth/auth');
|
|
15
|
+
var utils = require('../../base/connector/utils.js');
|
|
12
16
|
var loglevel = require('../../base/loglevel.js');
|
|
17
|
+
require('../../base/plugin/errors.js');
|
|
18
|
+
require('../../base/plugin/IPlugin.js');
|
|
19
|
+
require('@toruslabs/constants');
|
|
20
|
+
require('@toruslabs/http-helpers');
|
|
13
21
|
var index = require('../../base/wallet/index.js');
|
|
14
22
|
var config = require('./config.js');
|
|
15
23
|
var WalletConnectV2Provider = require('./WalletConnectV2Provider.js');
|
|
16
|
-
var baseConnector = require('../../base/connector/baseConnector.js');
|
|
17
|
-
var constants = require('../../base/connector/constants.js');
|
|
18
|
-
var utils = require('../../base/connector/utils.js');
|
|
19
24
|
|
|
20
25
|
class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
21
26
|
constructor(options) {
|
|
@@ -23,7 +28,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
23
28
|
super(options);
|
|
24
29
|
_defineProperty(this, "name", index.WALLET_CONNECTORS.WALLET_CONNECT_V2);
|
|
25
30
|
_defineProperty(this, "connectorNamespace", IChainInterface.CONNECTOR_NAMESPACES.MULTICHAIN);
|
|
26
|
-
_defineProperty(this, "currentChainNamespace",
|
|
31
|
+
_defineProperty(this, "currentChainNamespace", baseControllers.CHAIN_NAMESPACES.OTHER);
|
|
27
32
|
_defineProperty(this, "type", constants.CONNECTOR_CATEGORY.EXTERNAL);
|
|
28
33
|
_defineProperty(this, "connectorOptions", void 0);
|
|
29
34
|
_defineProperty(this, "status", constants.CONNECTOR_STATUS.NOT_READY);
|
|
@@ -68,9 +73,6 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
68
73
|
chainConfig
|
|
69
74
|
});
|
|
70
75
|
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;
|
|
71
|
-
if (!projectId) {
|
|
72
|
-
throw index$1.WalletInitializationError.invalidParams("Wallet connect project id is required in wallet connect v2 connector");
|
|
73
|
-
}
|
|
74
76
|
const wc2Settings = await config.getWalletConnectV2Settings(this.coreOptions.chains, projectId);
|
|
75
77
|
if (!this.connectorOptions.loginSettings || Object.keys(this.connectorOptions.loginSettings).length === 0) {
|
|
76
78
|
this.connectorOptions.loginSettings = wc2Settings.loginSettings;
|
|
@@ -191,7 +193,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
191
193
|
chainNamespace
|
|
192
194
|
} = currentChainConfig;
|
|
193
195
|
const accounts = await this.provider.request({
|
|
194
|
-
method: chainNamespace ===
|
|
196
|
+
method: chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 ? wsEmbed.EVM_METHOD_TYPES.GET_ACCOUNTS : wsEmbed.SOLANA_METHOD_TYPES.GET_ACCOUNTS
|
|
195
197
|
});
|
|
196
198
|
if (accounts && accounts.length > 0) {
|
|
197
199
|
const existingToken = utils.getSavedToken(accounts[0], this.name);
|
|
@@ -283,7 +285,7 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
283
285
|
this.status = constants.CONNECTOR_STATUS.READY;
|
|
284
286
|
this.emit(constants.CONNECTOR_EVENTS.READY, index.WALLET_CONNECTORS.WALLET_CONNECT_V2);
|
|
285
287
|
} catch (error) {
|
|
286
|
-
loglevel.log.error("unable to open qr code modal");
|
|
288
|
+
loglevel.log.error("unable to open qr code modal", error);
|
|
287
289
|
}
|
|
288
290
|
} else {
|
|
289
291
|
this.updateConnectorData({
|
|
@@ -292,7 +294,6 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
292
294
|
}
|
|
293
295
|
}
|
|
294
296
|
loglevel.log.info("awaiting session approval from wallet");
|
|
295
|
-
|
|
296
297
|
// Await session approval from the wallet.
|
|
297
298
|
const session = await approval();
|
|
298
299
|
this.activeSession = session;
|
|
@@ -304,8 +305,8 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
304
305
|
qrcodeModal.closeModal();
|
|
305
306
|
}
|
|
306
307
|
} catch (error) {
|
|
307
|
-
var
|
|
308
|
-
if ((
|
|
308
|
+
var _error$message;
|
|
309
|
+
if ((_error$message = error.message) !== null && _error$message !== void 0 && _error$message.toLowerCase().includes("proposal expired")) {
|
|
309
310
|
// Retry if connector status is still connecting
|
|
310
311
|
loglevel.log.info("current connector status: ", this.status);
|
|
311
312
|
if (this.status === constants.CONNECTOR_STATUS.CONNECTING) {
|
|
@@ -377,8 +378,8 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
377
378
|
}
|
|
378
379
|
async _getSignedMessage(challenge, accounts, chainNamespace) {
|
|
379
380
|
const signedMessage = await this.provider.request({
|
|
380
|
-
method: chainNamespace ===
|
|
381
|
-
params: chainNamespace ===
|
|
381
|
+
method: chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 ? wsEmbed.EVM_METHOD_TYPES.PERSONAL_SIGN : wsEmbed.SOLANA_METHOD_TYPES.SIGN_MESSAGE,
|
|
382
|
+
params: chainNamespace === baseControllers.CHAIN_NAMESPACES.EIP155 ? [challenge, accounts[0]] : {
|
|
382
383
|
data: challenge
|
|
383
384
|
}
|
|
384
385
|
});
|
|
@@ -387,24 +388,14 @@ class WalletConnectV2Connector extends baseConnector.BaseConnector {
|
|
|
387
388
|
}
|
|
388
389
|
const walletConnectV2Connector = params => {
|
|
389
390
|
return ({
|
|
390
|
-
|
|
391
|
-
|
|
391
|
+
coreOptions,
|
|
392
|
+
projectConfig
|
|
392
393
|
}) => {
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
} = (params === null || params === void 0 ? void 0 : params.walletConnectInitOptions) || {};
|
|
396
|
-
|
|
397
|
-
// use project config if projectId is not set
|
|
398
|
-
if (projectConfig) {
|
|
399
|
-
const {
|
|
400
|
-
wallet_connect_enabled: walletConnectEnabled,
|
|
401
|
-
wallet_connect_project_id: walletConnectProjectId
|
|
402
|
-
} = projectConfig;
|
|
403
|
-
if (walletConnectEnabled && walletConnectProjectId && !projectId) projectId = walletConnectProjectId;
|
|
404
|
-
}
|
|
394
|
+
var _params$walletConnect;
|
|
395
|
+
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);
|
|
405
396
|
const connectorSettings = _objectSpread(_objectSpread({}, params), {}, {
|
|
406
397
|
walletConnectInitOptions: _objectSpread(_objectSpread({}, params === null || params === void 0 ? void 0 : params.walletConnectInitOptions), {}, {
|
|
407
|
-
projectId
|
|
398
|
+
projectId: projectId
|
|
408
399
|
})
|
|
409
400
|
});
|
|
410
401
|
return new WalletConnectV2Connector({
|