@web3auth/no-modal 9.6.0 → 10.0.0-alpha.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/757.noModal.cjs.js +226 -0
- package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +262 -0
- package/dist/lib.cjs/adapters/auth-adapter/config.js +17 -0
- package/dist/lib.cjs/adapters/base-evm-adapter/baseEvmAdapter.js +72 -0
- package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +76 -0
- package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +156 -0
- package/dist/lib.cjs/adapters/default-evm-adapter/index.js +40 -0
- package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +42 -0
- package/dist/lib.cjs/adapters/default-evm-adapter/injectedEvmAdapter.js +160 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/index.js +40 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +53 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/utils.js +16 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +138 -0
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +77 -0
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +278 -0
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/config.js +183 -0
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +165 -0
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +376 -0
- package/dist/lib.cjs/base/adapter/baseAdapter.js +117 -0
- package/dist/lib.cjs/base/adapter/constants.js +24 -0
- package/dist/lib.cjs/base/adapter/utils.js +66 -0
- package/dist/lib.cjs/base/chain/IChainInterface.js +22 -0
- package/dist/lib.cjs/base/chain/config.js +281 -0
- package/dist/lib.cjs/base/composables/index.js +5 -0
- package/dist/lib.cjs/base/errors/index.js +244 -0
- package/dist/lib.cjs/base/loglevel.js +7 -0
- package/dist/lib.cjs/base/plugin/IPlugin.js +31 -0
- package/dist/lib.cjs/base/plugin/errors.js +107 -0
- package/dist/lib.cjs/base/provider/IProvider.js +8 -0
- package/dist/lib.cjs/base/utils.js +56 -0
- package/dist/lib.cjs/base/wallet/index.js +31 -0
- package/dist/lib.cjs/index.js +200 -0
- package/dist/lib.cjs/noModal.js +98 -90
- package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +134 -0
- package/dist/lib.cjs/plugins/nft-checkout-plugin/enums.js +24 -0
- package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +71 -0
- package/dist/lib.cjs/plugins/nft-checkout-plugin/utils.js +18 -0
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +285 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +164 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +29 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +22 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +30 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +30 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +29 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +11 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +134 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +174 -0
- package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +79 -0
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +127 -0
- package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +89 -0
- package/dist/lib.cjs/providers/base-provider/jrpcClient.js +41 -0
- package/dist/lib.cjs/providers/base-provider/utils.js +12 -0
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +199 -0
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +165 -0
- package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +22 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +89 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +185 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +27 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +380 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +10 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +94 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +106 -0
- package/dist/lib.cjs/providers/ethereum-provider/providers/utils.js +29 -0
- package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +75 -0
- package/dist/lib.cjs/providers/ethereum-provider/rpc/jrpcClient.js +41 -0
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +179 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +51 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +47 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +12 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +75 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +109 -0
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +12 -0
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +180 -0
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +103 -0
- package/dist/lib.cjs/providers/solana-provider/rpc/JrpcClient.js +47 -0
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +97 -0
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +62 -0
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +158 -0
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +89 -0
- package/dist/lib.cjs/providers/xrpl-provider/rpc/JrpcClient.js +48 -0
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +73 -0
- package/dist/lib.cjs/react/index.js +16 -0
- package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +216 -0
- package/dist/lib.cjs/react/no-modal/Web3AuthProvider.js +15 -0
- package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +15 -0
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +86 -0
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesProvider.js +16 -0
- package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +15 -0
- package/dist/lib.cjs/vue/index.js +15 -0
- package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +222 -0
- package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +13 -0
- package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +86 -0
- package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +13 -0
- package/dist/lib.cjs/vue/wallet-services-plugin/context.js +5 -0
- package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +260 -0
- package/dist/lib.esm/adapters/auth-adapter/config.js +15 -0
- package/dist/lib.esm/adapters/base-evm-adapter/baseEvmAdapter.js +70 -0
- package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +74 -0
- package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +154 -0
- package/dist/lib.esm/adapters/default-evm-adapter/index.js +37 -0
- package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +40 -0
- package/dist/lib.esm/adapters/default-evm-adapter/injectedEvmAdapter.js +158 -0
- package/dist/lib.esm/adapters/default-solana-adapter/index.js +37 -0
- package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +51 -0
- package/dist/lib.esm/adapters/default-solana-adapter/utils.js +14 -0
- package/dist/lib.esm/adapters/default-solana-adapter/walletStandardAdapter.js +136 -0
- package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +75 -0
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.js +276 -0
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/config.js +172 -0
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.js +158 -0
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +374 -0
- package/dist/lib.esm/base/adapter/baseAdapter.js +115 -0
- package/dist/lib.esm/base/adapter/constants.js +20 -0
- package/dist/lib.esm/base/adapter/utils.js +60 -0
- package/dist/lib.esm/base/chain/IChainInterface.js +19 -0
- package/dist/lib.esm/base/chain/config.js +276 -0
- package/dist/lib.esm/base/composables/index.js +3 -0
- package/dist/lib.esm/base/errors/index.js +237 -0
- package/dist/lib.esm/base/loglevel.js +5 -0
- package/dist/lib.esm/base/plugin/IPlugin.js +24 -0
- package/dist/lib.esm/base/plugin/errors.js +104 -0
- package/dist/lib.esm/base/provider/IProvider.js +6 -0
- package/dist/lib.esm/base/utils.js +46 -0
- package/dist/lib.esm/base/wallet/index.js +25 -0
- package/dist/lib.esm/index.js +58 -0
- package/dist/lib.esm/noModal.js +12 -4
- package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +132 -0
- package/dist/lib.esm/plugins/nft-checkout-plugin/enums.js +20 -0
- package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +69 -0
- package/dist/lib.esm/plugins/nft-checkout-plugin/utils.js +15 -0
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +276 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +162 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +27 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +20 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +28 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +28 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +27 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +9 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +132 -0
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +171 -0
- package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +77 -0
- package/dist/lib.esm/providers/base-provider/baseProvider.js +125 -0
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +87 -0
- package/dist/lib.esm/providers/base-provider/jrpcClient.js +37 -0
- package/dist/lib.esm/providers/base-provider/utils.js +6 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +197 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +163 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +20 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +85 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +183 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.js +21 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +378 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +8 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +88 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +104 -0
- package/dist/lib.esm/providers/ethereum-provider/providers/utils.js +24 -0
- package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +71 -0
- package/dist/lib.esm/providers/ethereum-provider/rpc/jrpcClient.js +37 -0
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +177 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +49 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +45 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +10 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +73 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +107 -0
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +10 -0
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +178 -0
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +101 -0
- package/dist/lib.esm/providers/solana-provider/rpc/JrpcClient.js +42 -0
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +89 -0
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +60 -0
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +156 -0
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.js +87 -0
- package/dist/lib.esm/providers/xrpl-provider/rpc/JrpcClient.js +43 -0
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +67 -0
- package/dist/lib.esm/react/index.js +5 -0
- package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +213 -0
- package/dist/lib.esm/react/no-modal/Web3AuthProvider.js +13 -0
- package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +13 -0
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +83 -0
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesProvider.js +14 -0
- package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +13 -0
- package/dist/lib.esm/vue/index.js +5 -0
- package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +220 -0
- package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +11 -0
- package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +84 -0
- package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +11 -0
- package/dist/lib.esm/vue/wallet-services-plugin/context.js +3 -0
- package/dist/noModal.cjs.js +26314 -364
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +54 -0
- package/dist/types/adapters/auth-adapter/authAdapter.d.ts +42 -0
- package/dist/types/adapters/auth-adapter/config.d.ts +2 -0
- package/dist/types/adapters/auth-adapter/index.d.ts +3 -0
- package/dist/types/adapters/auth-adapter/interface.d.ts +11 -0
- package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +7 -0
- package/dist/types/adapters/base-evm-adapter/index.d.ts +1 -0
- package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +7 -0
- package/dist/types/adapters/base-solana-adapter/index.d.ts +1 -0
- package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +33 -0
- package/dist/types/adapters/coinbase-adapter/index.d.ts +1 -0
- package/dist/types/adapters/default-evm-adapter/index.d.ts +6 -0
- package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +4 -0
- package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +30 -0
- package/dist/types/adapters/default-solana-adapter/index.d.ts +6 -0
- package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +4 -0
- package/dist/types/adapters/default-solana-adapter/utils.d.ts +3 -0
- package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +31 -0
- package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +27 -0
- package/dist/types/adapters/index.d.ts +7 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/WalletConnectV2Provider.d.ts +36 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/config.d.ts +35 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/index.d.ts +4 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/interface.d.ts +18 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/utils.d.ts +3 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2Utils.d.ts +23 -0
- package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +42 -0
- package/dist/types/base/adapter/baseAdapter.d.ts +44 -0
- package/dist/types/base/adapter/constants.d.ts +22 -0
- package/dist/types/base/adapter/index.d.ts +4 -0
- package/dist/types/base/adapter/interfaces.d.ts +143 -0
- package/dist/types/base/adapter/utils.d.ts +5 -0
- package/dist/types/base/chain/IChainInterface.d.ts +59 -0
- package/dist/types/base/chain/config.d.ts +5 -0
- package/dist/types/base/composables/index.d.ts +1 -0
- package/dist/types/base/core/IWeb3Auth.d.ts +101 -0
- package/dist/types/base/errors/index.d.ts +69 -0
- package/dist/types/base/hooks/index.d.ts +37 -0
- package/dist/types/base/index.d.ts +13 -0
- package/dist/types/base/interfaces.d.ts +44 -0
- package/dist/types/base/loglevel.d.ts +2 -0
- package/dist/types/base/plugin/IPlugin.d.ts +53 -0
- package/dist/types/base/plugin/errors.d.ts +28 -0
- package/dist/types/base/plugin/index.d.ts +2 -0
- package/dist/types/base/provider/IProvider.d.ts +16 -0
- package/dist/types/base/utils.d.ts +9 -0
- package/dist/types/base/wallet/index.d.ts +33 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/noModal.d.ts +2 -2
- package/dist/types/plugins/index.d.ts +2 -0
- package/dist/types/plugins/nft-checkout-plugin/embed.d.ts +24 -0
- package/dist/types/plugins/nft-checkout-plugin/enums.d.ts +14 -0
- package/dist/types/plugins/nft-checkout-plugin/index.d.ts +2 -0
- package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +23 -0
- package/dist/types/plugins/nft-checkout-plugin/utils.d.ts +3 -0
- package/dist/types/plugins/wallet-services-plugin/index.d.ts +1 -0
- package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +51 -0
- package/dist/types/providers/account-abstraction-provider/index.d.ts +1 -0
- package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +46 -0
- package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +3 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +14 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +13 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +14 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +14 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +13 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +13 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +13 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +9 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +6 -0
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +22 -0
- package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +17 -0
- package/dist/types/providers/account-abstraction-provider/providers/utils.d.ts +10 -0
- package/dist/types/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +8 -0
- package/dist/types/providers/account-abstraction-provider/rpc/index.d.ts +1 -0
- package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +20 -0
- package/dist/types/providers/base-provider/baseProvider.d.ts +39 -0
- package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +31 -0
- package/dist/types/providers/base-provider/index.d.ts +5 -0
- package/dist/types/providers/base-provider/interfaces.d.ts +3 -0
- package/dist/types/providers/base-provider/jrpcClient.d.ts +8 -0
- package/dist/types/providers/base-provider/utils.d.ts +2 -0
- package/dist/types/providers/ethereum-mpc-provider/index.d.ts +1 -0
- package/dist/types/providers/ethereum-mpc-provider/providers/index.d.ts +1 -0
- package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +65 -0
- package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +1 -0
- package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +12 -0
- package/dist/types/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +3 -0
- package/dist/types/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +15 -0
- package/dist/types/providers/ethereum-provider/index.d.ts +2 -0
- package/dist/types/providers/ethereum-provider/providers/converter.d.ts +15 -0
- package/dist/types/providers/ethereum-provider/providers/index.d.ts +1 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +30 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +16 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +28 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +4 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +46 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +12 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +9 -0
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +2 -0
- package/dist/types/providers/ethereum-provider/providers/utils.d.ts +5 -0
- package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +5 -0
- package/dist/types/providers/ethereum-provider/rpc/index.d.ts +4 -0
- package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +65 -0
- package/dist/types/providers/ethereum-provider/rpc/jrpcClient.d.ts +8 -0
- package/dist/types/providers/ethereum-provider/rpc/walletMidddleware.d.ts +3 -0
- package/dist/types/providers/index.d.ts +6 -0
- package/dist/types/providers/solana-provider/index.d.ts +4 -0
- package/dist/types/providers/solana-provider/interface.d.ts +39 -0
- package/dist/types/providers/solana-provider/providers/index.d.ts +2 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +16 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +5 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +18 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +6 -0
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/index.d.ts +1 -0
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +31 -0
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +7 -0
- package/dist/types/providers/solana-provider/rpc/JrpcClient.d.ts +9 -0
- package/dist/types/providers/solana-provider/rpc/index.d.ts +3 -0
- package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +42 -0
- package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +20 -0
- package/dist/types/providers/solana-provider/solanaWallet.d.ts +14 -0
- package/dist/types/providers/xrpl-provider/index.d.ts +1 -0
- package/dist/types/providers/xrpl-provider/providers/index.d.ts +1 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +5 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +3 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +2 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +26 -0
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +7 -0
- package/dist/types/providers/xrpl-provider/rpc/JrpcClient.d.ts +9 -0
- package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +52 -0
- package/dist/types/react/index.d.ts +2 -0
- package/dist/types/react/no-modal/Web3AuthInnerContext.d.ts +4 -0
- package/dist/types/react/no-modal/Web3AuthProvider.d.ts +3 -0
- package/dist/types/react/no-modal/hooks/index.d.ts +1 -0
- package/dist/types/react/no-modal/hooks/useWeb3Auth.d.ts +2 -0
- package/dist/types/react/no-modal/index.d.ts +3 -0
- package/dist/types/react/no-modal/interfaces.d.ts +15 -0
- package/dist/types/react/wallet-services-plugin/WalletServicesContext.d.ts +7 -0
- package/dist/types/react/wallet-services-plugin/WalletServicesProvider.d.ts +7 -0
- package/dist/types/react/wallet-services-plugin/hooks/index.d.ts +1 -0
- package/dist/types/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +2 -0
- package/dist/types/react/wallet-services-plugin/index.d.ts +4 -0
- package/dist/types/react/wallet-services-plugin/interfaces.d.ts +5 -0
- package/dist/types/vue/index.d.ts +2 -0
- package/dist/types/vue/no-modal/Web3AuthProvider.d.ts +13 -0
- package/dist/types/vue/no-modal/composables/index.d.ts +1 -0
- package/dist/types/vue/no-modal/composables/useWeb3Auth.d.ts +2 -0
- package/dist/types/vue/no-modal/index.d.ts +3 -0
- package/dist/types/vue/no-modal/interfaces.d.ts +42 -0
- package/dist/types/vue/wallet-services-plugin/WalletServicesProvider.d.ts +1 -0
- package/dist/types/vue/wallet-services-plugin/composables/index.d.ts +1 -0
- package/dist/types/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +2 -0
- package/dist/types/vue/wallet-services-plugin/context.d.ts +3 -0
- package/dist/types/vue/wallet-services-plugin/index.d.ts +4 -0
- package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +13 -0
- package/package.json +76 -15
- package/README.md +0 -82
- package/dist/noModal.esm.js +0 -359
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
+
var walletSdk = require('@coinbase/wallet-sdk');
|
|
6
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
7
|
+
var index$1 = require('../../base/errors/index.js');
|
|
8
|
+
var index = require('../../base/wallet/index.js');
|
|
9
|
+
var baseEvmAdapter = require('../base-evm-adapter/baseEvmAdapter.js');
|
|
10
|
+
var constants = require('../../base/adapter/constants.js');
|
|
11
|
+
|
|
12
|
+
class CoinbaseAdapter extends baseEvmAdapter.BaseEvmAdapter {
|
|
13
|
+
constructor(adapterOptions = {}) {
|
|
14
|
+
super(adapterOptions);
|
|
15
|
+
_defineProperty(this, "adapterNamespace", IChainInterface.ADAPTER_NAMESPACES.EIP155);
|
|
16
|
+
_defineProperty(this, "currentChainNamespace", IChainInterface.CHAIN_NAMESPACES.EIP155);
|
|
17
|
+
_defineProperty(this, "type", constants.ADAPTER_CATEGORY.EXTERNAL);
|
|
18
|
+
_defineProperty(this, "name", index.WALLET_ADAPTERS.COINBASE);
|
|
19
|
+
_defineProperty(this, "status", constants.ADAPTER_STATUS.NOT_READY);
|
|
20
|
+
_defineProperty(this, "coinbaseProvider", null);
|
|
21
|
+
_defineProperty(this, "coinbaseOptions", {
|
|
22
|
+
appName: "Web3Auth"
|
|
23
|
+
});
|
|
24
|
+
this.setAdapterSettings(adapterOptions);
|
|
25
|
+
}
|
|
26
|
+
get provider() {
|
|
27
|
+
if (this.status !== constants.ADAPTER_STATUS.NOT_READY && this.coinbaseProvider) {
|
|
28
|
+
return this.coinbaseProvider;
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
set provider(_) {
|
|
33
|
+
throw new Error("Not implemented");
|
|
34
|
+
}
|
|
35
|
+
setAdapterSettings(options) {
|
|
36
|
+
super.setAdapterSettings(options);
|
|
37
|
+
this.coinbaseOptions = _objectSpread(_objectSpread({}, this.coinbaseOptions), options.adapterSettings);
|
|
38
|
+
}
|
|
39
|
+
async init(options = {}) {
|
|
40
|
+
await super.init(options);
|
|
41
|
+
super.checkInitializationRequirements();
|
|
42
|
+
const coinbaseInstance = new walletSdk.CoinbaseWalletSDK(_objectSpread(_objectSpread({}, this.coinbaseOptions), {}, {
|
|
43
|
+
appChainIds: [Number.parseInt(this.chainConfig.chainId, 16)]
|
|
44
|
+
}));
|
|
45
|
+
this.coinbaseProvider = coinbaseInstance.makeWeb3Provider({
|
|
46
|
+
options: this.coinbaseOptions.options || "smartWalletOnly"
|
|
47
|
+
});
|
|
48
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
49
|
+
this.emit(constants.ADAPTER_EVENTS.READY, index.WALLET_ADAPTERS.COINBASE);
|
|
50
|
+
try {
|
|
51
|
+
if (options.autoConnect) {
|
|
52
|
+
this.rehydrated = true;
|
|
53
|
+
await this.connect();
|
|
54
|
+
}
|
|
55
|
+
} catch (error) {
|
|
56
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
async connect() {
|
|
60
|
+
super.checkConnectionRequirements();
|
|
61
|
+
if (!this.coinbaseProvider) throw index$1.WalletLoginError.notConnectedError("Adapter is not initialized");
|
|
62
|
+
this.status = constants.ADAPTER_STATUS.CONNECTING;
|
|
63
|
+
this.emit(constants.ADAPTER_EVENTS.CONNECTING, {
|
|
64
|
+
adapter: index.WALLET_ADAPTERS.COINBASE
|
|
65
|
+
});
|
|
66
|
+
try {
|
|
67
|
+
await this.coinbaseProvider.request({
|
|
68
|
+
method: "eth_requestAccounts"
|
|
69
|
+
});
|
|
70
|
+
const chainId = await this.coinbaseProvider.request({
|
|
71
|
+
method: "eth_chainId"
|
|
72
|
+
});
|
|
73
|
+
if (chainId !== this.chainConfig.chainId) {
|
|
74
|
+
await this.addChain(this.chainConfig);
|
|
75
|
+
await this.switchChain(this.chainConfig, true);
|
|
76
|
+
}
|
|
77
|
+
this.status = constants.ADAPTER_STATUS.CONNECTED;
|
|
78
|
+
if (!this.provider) throw index$1.WalletLoginError.notConnectedError("Failed to connect with provider");
|
|
79
|
+
this.provider.once("disconnect", () => {
|
|
80
|
+
// ready to be connected again
|
|
81
|
+
this.disconnect();
|
|
82
|
+
});
|
|
83
|
+
this.emit(constants.ADAPTER_EVENTS.CONNECTED, {
|
|
84
|
+
adapter: index.WALLET_ADAPTERS.COINBASE,
|
|
85
|
+
reconnected: this.rehydrated,
|
|
86
|
+
provider: this.provider
|
|
87
|
+
});
|
|
88
|
+
return this.provider;
|
|
89
|
+
} catch (error) {
|
|
90
|
+
// ready again to be connected
|
|
91
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
92
|
+
this.rehydrated = false;
|
|
93
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
94
|
+
if (error instanceof index$1.Web3AuthError) throw error;
|
|
95
|
+
throw index$1.WalletLoginError.connectionError("Failed to login with coinbase wallet", error);
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
async disconnect(options = {
|
|
99
|
+
cleanup: false
|
|
100
|
+
}) {
|
|
101
|
+
var _this$provider;
|
|
102
|
+
await super.disconnectSession();
|
|
103
|
+
(_this$provider = this.provider) === null || _this$provider === void 0 || _this$provider.removeAllListeners();
|
|
104
|
+
if (options.cleanup) {
|
|
105
|
+
this.status = constants.ADAPTER_STATUS.NOT_READY;
|
|
106
|
+
this.coinbaseProvider = null;
|
|
107
|
+
} else {
|
|
108
|
+
// ready to be connected again
|
|
109
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
110
|
+
}
|
|
111
|
+
await super.disconnect();
|
|
112
|
+
}
|
|
113
|
+
async getUserInfo() {
|
|
114
|
+
if (this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
115
|
+
return {};
|
|
116
|
+
}
|
|
117
|
+
async addChain(chainConfig, init = false) {
|
|
118
|
+
super.checkAddChainRequirements(chainConfig, init);
|
|
119
|
+
await this.coinbaseProvider.request({
|
|
120
|
+
method: "wallet_addEthereumChain",
|
|
121
|
+
params: [{
|
|
122
|
+
chainId: chainConfig.chainId,
|
|
123
|
+
chainName: chainConfig.displayName,
|
|
124
|
+
rpcUrls: [chainConfig.rpcTarget],
|
|
125
|
+
blockExplorerUrls: [chainConfig.blockExplorerUrl],
|
|
126
|
+
nativeCurrency: {
|
|
127
|
+
name: chainConfig.tickerName,
|
|
128
|
+
symbol: chainConfig.ticker,
|
|
129
|
+
decimals: chainConfig.decimals || 18
|
|
130
|
+
},
|
|
131
|
+
iconUrls: [chainConfig.logo]
|
|
132
|
+
}]
|
|
133
|
+
});
|
|
134
|
+
super.addChainConfig(chainConfig);
|
|
135
|
+
}
|
|
136
|
+
async switchChain(params, init = false) {
|
|
137
|
+
super.checkSwitchChainRequirements(params, init);
|
|
138
|
+
await this.coinbaseProvider.request({
|
|
139
|
+
method: "wallet_switchEthereumChain",
|
|
140
|
+
params: [{
|
|
141
|
+
chainId: params.chainId
|
|
142
|
+
}]
|
|
143
|
+
});
|
|
144
|
+
this.setAdapterSettings({
|
|
145
|
+
chainConfig: this.getChainConfig(params.chainId)
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
async enableMFA() {
|
|
149
|
+
throw new Error("Method Not implemented");
|
|
150
|
+
}
|
|
151
|
+
async manageMFA() {
|
|
152
|
+
throw new Error("Method Not implemented");
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
exports.CoinbaseAdapter = CoinbaseAdapter;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var config = require('../../base/chain/config.js');
|
|
5
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
6
|
+
var index = require('../../base/errors/index.js');
|
|
7
|
+
var injectedAdapters = require('./injectedAdapters.js');
|
|
8
|
+
var walletConnectV2adapter = require('../wallet-connect-v2-adapter/walletConnectV2adapter.js');
|
|
9
|
+
|
|
10
|
+
const getEvmDefaultExternalAdapters = params => {
|
|
11
|
+
const {
|
|
12
|
+
options
|
|
13
|
+
} = params;
|
|
14
|
+
const {
|
|
15
|
+
clientId,
|
|
16
|
+
chainConfig,
|
|
17
|
+
sessionTime,
|
|
18
|
+
web3AuthNetwork,
|
|
19
|
+
useCoreKitKey
|
|
20
|
+
} = options;
|
|
21
|
+
if (!Object.values(IChainInterface.CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw index.WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
|
|
22
|
+
const finalChainConfig = _objectSpread(_objectSpread({}, config.getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
|
|
23
|
+
const wcv2Adapter = new walletConnectV2adapter.WalletConnectV2Adapter({
|
|
24
|
+
chainConfig: finalChainConfig,
|
|
25
|
+
clientId,
|
|
26
|
+
sessionTime,
|
|
27
|
+
web3AuthNetwork,
|
|
28
|
+
useCoreKitKey,
|
|
29
|
+
adapterSettings: {
|
|
30
|
+
walletConnectInitOptions: {}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const injectedProviders = injectedAdapters.getEvmInjectedAdapters({
|
|
34
|
+
options
|
|
35
|
+
});
|
|
36
|
+
return [...injectedProviders, wcv2Adapter];
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.getEvmInjectedAdapters = injectedAdapters.getEvmInjectedAdapters;
|
|
40
|
+
exports.getEvmDefaultExternalAdapters = getEvmDefaultExternalAdapters;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var mipd = require('mipd');
|
|
5
|
+
var config = require('../../base/chain/config.js');
|
|
6
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
7
|
+
var index = require('../../base/errors/index.js');
|
|
8
|
+
var utils = require('../../base/utils.js');
|
|
9
|
+
var injectedEvmAdapter = require('./injectedEvmAdapter.js');
|
|
10
|
+
|
|
11
|
+
const getEvmInjectedAdapters = params => {
|
|
12
|
+
const {
|
|
13
|
+
options
|
|
14
|
+
} = params;
|
|
15
|
+
const {
|
|
16
|
+
clientId,
|
|
17
|
+
chainConfig,
|
|
18
|
+
sessionTime,
|
|
19
|
+
web3AuthNetwork,
|
|
20
|
+
useCoreKitKey
|
|
21
|
+
} = options;
|
|
22
|
+
if (!Object.values(IChainInterface.CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw index.WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
|
|
23
|
+
const finalChainConfig = _objectSpread(_objectSpread({}, config.getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
|
|
24
|
+
// EIP-6963: multiple injected provider discovery
|
|
25
|
+
const mipd$1 = mipd.createStore();
|
|
26
|
+
// We assume that all extensions have emitted by here.
|
|
27
|
+
// TODO: Ideally, we must use reactive listening. We will do that with v9
|
|
28
|
+
const injectedProviders = mipd$1.getProviders().map(providerDetail => {
|
|
29
|
+
return new injectedEvmAdapter.InjectedEvmAdapter({
|
|
30
|
+
name: utils.normalizeWalletName(providerDetail.info.name),
|
|
31
|
+
provider: providerDetail.provider,
|
|
32
|
+
chainConfig: finalChainConfig,
|
|
33
|
+
clientId,
|
|
34
|
+
sessionTime,
|
|
35
|
+
web3AuthNetwork,
|
|
36
|
+
useCoreKitKey
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
return injectedProviders;
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
exports.getEvmInjectedAdapters = getEvmInjectedAdapters;
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
5
|
+
var index = require('../../base/errors/index.js');
|
|
6
|
+
var loglevel = require('../../base/loglevel.js');
|
|
7
|
+
var baseEvmAdapter = require('../base-evm-adapter/baseEvmAdapter.js');
|
|
8
|
+
var constants = require('../../base/adapter/constants.js');
|
|
9
|
+
|
|
10
|
+
class InjectedEvmAdapter extends baseEvmAdapter.BaseEvmAdapter {
|
|
11
|
+
constructor(options) {
|
|
12
|
+
super(options);
|
|
13
|
+
_defineProperty(this, "adapterNamespace", IChainInterface.ADAPTER_NAMESPACES.EIP155);
|
|
14
|
+
_defineProperty(this, "currentChainNamespace", IChainInterface.CHAIN_NAMESPACES.EIP155);
|
|
15
|
+
_defineProperty(this, "type", constants.ADAPTER_CATEGORY.EXTERNAL);
|
|
16
|
+
_defineProperty(this, "name", void 0);
|
|
17
|
+
_defineProperty(this, "isInjected", true);
|
|
18
|
+
_defineProperty(this, "status", constants.ADAPTER_STATUS.NOT_READY);
|
|
19
|
+
_defineProperty(this, "injectedProvider", null);
|
|
20
|
+
this.name = options.name;
|
|
21
|
+
this.injectedProvider = options.provider;
|
|
22
|
+
}
|
|
23
|
+
get provider() {
|
|
24
|
+
if (this.status !== constants.ADAPTER_STATUS.NOT_READY && this.injectedProvider) {
|
|
25
|
+
return this.injectedProvider;
|
|
26
|
+
}
|
|
27
|
+
return null;
|
|
28
|
+
}
|
|
29
|
+
set provider(_) {
|
|
30
|
+
throw new Error("Not implemented");
|
|
31
|
+
}
|
|
32
|
+
async init(options = {}) {
|
|
33
|
+
await super.init(options);
|
|
34
|
+
super.checkInitializationRequirements();
|
|
35
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
36
|
+
this.emit(constants.ADAPTER_EVENTS.READY, this.name);
|
|
37
|
+
try {
|
|
38
|
+
loglevel.log.debug(`initializing ${this.name} injected adapter`);
|
|
39
|
+
if (options.autoConnect) {
|
|
40
|
+
this.rehydrated = true;
|
|
41
|
+
await this.connect();
|
|
42
|
+
}
|
|
43
|
+
} catch (error) {
|
|
44
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
async connect() {
|
|
48
|
+
super.checkConnectionRequirements();
|
|
49
|
+
if (!this.injectedProvider) throw index.WalletLoginError.connectionError("Injected provider is not available");
|
|
50
|
+
if (!this.chainConfig) throw index.WalletLoginError.connectionError("Chain config is not available");
|
|
51
|
+
this.status = constants.ADAPTER_STATUS.CONNECTING;
|
|
52
|
+
this.emit(constants.ADAPTER_EVENTS.CONNECTING, {
|
|
53
|
+
adapter: this.name
|
|
54
|
+
});
|
|
55
|
+
try {
|
|
56
|
+
await this.injectedProvider.request({
|
|
57
|
+
method: "eth_requestAccounts"
|
|
58
|
+
});
|
|
59
|
+
// switch chain if not connected to the right chain
|
|
60
|
+
if (this.injectedProvider.chainId !== this.chainConfig.chainId) {
|
|
61
|
+
try {
|
|
62
|
+
await this.switchChain(this.chainConfig, true);
|
|
63
|
+
} catch (error) {
|
|
64
|
+
await this.addChain(this.chainConfig, true);
|
|
65
|
+
await this.switchChain(this.chainConfig, true);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
this.status = constants.ADAPTER_STATUS.CONNECTED;
|
|
69
|
+
const accountDisconnectHandler = accounts => {
|
|
70
|
+
if (accounts.length === 0) {
|
|
71
|
+
var _this$injectedProvide;
|
|
72
|
+
this.disconnect();
|
|
73
|
+
if ((_this$injectedProvide = this.injectedProvider) !== null && _this$injectedProvide !== void 0 && _this$injectedProvide.removeListener) this.injectedProvider.removeListener("accountsChanged", accountDisconnectHandler);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
this.injectedProvider.on("accountsChanged", accountDisconnectHandler);
|
|
77
|
+
this.emit(constants.ADAPTER_EVENTS.CONNECTED, {
|
|
78
|
+
adapter: this.name,
|
|
79
|
+
reconnected: this.rehydrated,
|
|
80
|
+
provider: this.injectedProvider
|
|
81
|
+
});
|
|
82
|
+
return this.injectedProvider;
|
|
83
|
+
} catch (error) {
|
|
84
|
+
// ready again to be connected
|
|
85
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
86
|
+
this.rehydrated = false;
|
|
87
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
88
|
+
if (error instanceof index.Web3AuthError) throw error;
|
|
89
|
+
throw index.WalletLoginError.connectionError(`Failed to login with ${this.name} injected wallet`);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
async disconnect(options = {
|
|
93
|
+
cleanup: false
|
|
94
|
+
}) {
|
|
95
|
+
if (!this.injectedProvider) throw index.WalletLoginError.connectionError("Injected provider is not available");
|
|
96
|
+
await super.disconnectSession();
|
|
97
|
+
if (typeof this.injectedProvider.removeAllListeners !== "undefined") this.injectedProvider.removeAllListeners();
|
|
98
|
+
try {
|
|
99
|
+
await this.injectedProvider.request({
|
|
100
|
+
method: "wallet_revokePermissions",
|
|
101
|
+
params: [{
|
|
102
|
+
eth_accounts: {}
|
|
103
|
+
}]
|
|
104
|
+
});
|
|
105
|
+
} catch (error) {}
|
|
106
|
+
if (options.cleanup) {
|
|
107
|
+
this.status = constants.ADAPTER_STATUS.NOT_READY;
|
|
108
|
+
this.injectedProvider = null;
|
|
109
|
+
} else {
|
|
110
|
+
// ready to be connected again
|
|
111
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
112
|
+
}
|
|
113
|
+
await super.disconnect();
|
|
114
|
+
}
|
|
115
|
+
async getUserInfo() {
|
|
116
|
+
if (this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
117
|
+
return {};
|
|
118
|
+
}
|
|
119
|
+
async addChain(chainConfig, init = false) {
|
|
120
|
+
if (!this.injectedProvider) throw index.WalletLoginError.connectionError("Injected provider is not available");
|
|
121
|
+
super.checkAddChainRequirements(chainConfig, init);
|
|
122
|
+
await this.injectedProvider.request({
|
|
123
|
+
method: "wallet_addEthereumChain",
|
|
124
|
+
params: [{
|
|
125
|
+
chainId: chainConfig.chainId,
|
|
126
|
+
chainName: chainConfig.displayName,
|
|
127
|
+
rpcUrls: [chainConfig.rpcTarget],
|
|
128
|
+
blockExplorerUrls: [chainConfig.blockExplorerUrl],
|
|
129
|
+
nativeCurrency: {
|
|
130
|
+
name: chainConfig.tickerName,
|
|
131
|
+
symbol: chainConfig.ticker,
|
|
132
|
+
decimals: chainConfig.decimals || 18
|
|
133
|
+
},
|
|
134
|
+
iconUrls: [chainConfig.logo]
|
|
135
|
+
}]
|
|
136
|
+
});
|
|
137
|
+
this.addChainConfig(chainConfig);
|
|
138
|
+
}
|
|
139
|
+
async switchChain(params, init = false) {
|
|
140
|
+
if (!this.injectedProvider) throw index.WalletLoginError.connectionError("Injected provider is not available");
|
|
141
|
+
super.checkSwitchChainRequirements(params, init);
|
|
142
|
+
await this.injectedProvider.request({
|
|
143
|
+
method: "wallet_switchEthereumChain",
|
|
144
|
+
params: [{
|
|
145
|
+
chainId: params.chainId
|
|
146
|
+
}]
|
|
147
|
+
});
|
|
148
|
+
this.setAdapterSettings({
|
|
149
|
+
chainConfig: this.getChainConfig(params.chainId)
|
|
150
|
+
});
|
|
151
|
+
}
|
|
152
|
+
async enableMFA() {
|
|
153
|
+
throw new Error("Method Not implemented");
|
|
154
|
+
}
|
|
155
|
+
async manageMFA() {
|
|
156
|
+
throw new Error("Method Not implemented");
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
exports.InjectedEvmAdapter = InjectedEvmAdapter;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var config = require('../../base/chain/config.js');
|
|
5
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
6
|
+
var index = require('../../base/errors/index.js');
|
|
7
|
+
var injectedAdapters = require('./injectedAdapters.js');
|
|
8
|
+
var walletConnectV2adapter = require('../wallet-connect-v2-adapter/walletConnectV2adapter.js');
|
|
9
|
+
|
|
10
|
+
const getSolanaDefaultExternalAdapters = params => {
|
|
11
|
+
const {
|
|
12
|
+
options
|
|
13
|
+
} = params;
|
|
14
|
+
const {
|
|
15
|
+
clientId,
|
|
16
|
+
chainConfig,
|
|
17
|
+
sessionTime,
|
|
18
|
+
web3AuthNetwork,
|
|
19
|
+
useCoreKitKey
|
|
20
|
+
} = options;
|
|
21
|
+
if (!Object.values(IChainInterface.CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw index.WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
|
|
22
|
+
const finalChainConfig = _objectSpread(_objectSpread({}, config.getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
|
|
23
|
+
const wcv2Adapter = new walletConnectV2adapter.WalletConnectV2Adapter({
|
|
24
|
+
chainConfig: finalChainConfig,
|
|
25
|
+
clientId,
|
|
26
|
+
sessionTime,
|
|
27
|
+
web3AuthNetwork,
|
|
28
|
+
useCoreKitKey,
|
|
29
|
+
adapterSettings: {
|
|
30
|
+
walletConnectInitOptions: {}
|
|
31
|
+
}
|
|
32
|
+
});
|
|
33
|
+
const injectedProviders = injectedAdapters.getSolanaInjectedAdapters({
|
|
34
|
+
options
|
|
35
|
+
});
|
|
36
|
+
return [...injectedProviders, wcv2Adapter];
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.getSolanaInjectedAdapters = injectedAdapters.getSolanaInjectedAdapters;
|
|
40
|
+
exports.getSolanaDefaultExternalAdapters = getSolanaDefaultExternalAdapters;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
+
var walletStandardFeatures = require('@solana/wallet-standard-features');
|
|
5
|
+
var app = require('@wallet-standard/app');
|
|
6
|
+
var features = require('@wallet-standard/features');
|
|
7
|
+
var config = require('../../base/chain/config.js');
|
|
8
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
9
|
+
var index = require('../../base/errors/index.js');
|
|
10
|
+
var utils = require('../../base/utils.js');
|
|
11
|
+
var walletStandardAdapter = require('./walletStandardAdapter.js');
|
|
12
|
+
|
|
13
|
+
const getSolanaInjectedAdapters = params => {
|
|
14
|
+
const {
|
|
15
|
+
options
|
|
16
|
+
} = params;
|
|
17
|
+
const {
|
|
18
|
+
clientId,
|
|
19
|
+
chainConfig,
|
|
20
|
+
sessionTime,
|
|
21
|
+
web3AuthNetwork,
|
|
22
|
+
useCoreKitKey
|
|
23
|
+
} = options;
|
|
24
|
+
if (!Object.values(IChainInterface.CHAIN_NAMESPACES).includes(chainConfig.chainNamespace)) throw index.WalletInitializationError.invalidParams(`Invalid chainNamespace: ${chainConfig.chainNamespace}`);
|
|
25
|
+
const finalChainConfig = _objectSpread(_objectSpread({}, config.getChainConfig(chainConfig.chainNamespace, chainConfig === null || chainConfig === void 0 ? void 0 : chainConfig.chainId)), chainConfig || {});
|
|
26
|
+
|
|
27
|
+
// get installed wallets that support standard wallet
|
|
28
|
+
const standardWalletAdapters = [];
|
|
29
|
+
const wallets = app.getWallets().get();
|
|
30
|
+
wallets.forEach(wallet => {
|
|
31
|
+
const {
|
|
32
|
+
name,
|
|
33
|
+
chains,
|
|
34
|
+
features: features$1
|
|
35
|
+
} = wallet;
|
|
36
|
+
const isSolana = chains.some(chain => chain.startsWith("solana"));
|
|
37
|
+
if (!isSolana) return;
|
|
38
|
+
const hasRequiredFeatures = [features.StandardConnect, walletStandardFeatures.SolanaSignMessage, walletStandardFeatures.SolanaSignTransaction, walletStandardFeatures.SolanaSignAndSendTransaction].every(feature => Object.keys(features$1).includes(feature));
|
|
39
|
+
if (!hasRequiredFeatures) return;
|
|
40
|
+
standardWalletAdapters.push(new walletStandardAdapter.WalletStandardAdapter({
|
|
41
|
+
name: utils.normalizeWalletName(name),
|
|
42
|
+
wallet,
|
|
43
|
+
chainConfig: finalChainConfig,
|
|
44
|
+
clientId,
|
|
45
|
+
sessionTime,
|
|
46
|
+
web3AuthNetwork,
|
|
47
|
+
useCoreKitKey
|
|
48
|
+
}));
|
|
49
|
+
});
|
|
50
|
+
return standardWalletAdapters;
|
|
51
|
+
};
|
|
52
|
+
|
|
53
|
+
exports.getSolanaInjectedAdapters = getSolanaInjectedAdapters;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const getSolanaChainByChainConfig = chainConfig => {
|
|
4
|
+
switch (chainConfig.chainId) {
|
|
5
|
+
case "0x65":
|
|
6
|
+
return "solana:mainnet";
|
|
7
|
+
case "0x66":
|
|
8
|
+
return "solana:testnet";
|
|
9
|
+
case "0x67":
|
|
10
|
+
return "solana:devnet";
|
|
11
|
+
default:
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.getSolanaChainByChainConfig = getSolanaChainByChainConfig;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var features = require('@wallet-standard/features');
|
|
5
|
+
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
6
|
+
var index = require('../../base/errors/index.js');
|
|
7
|
+
var loglevel = require('../../base/loglevel.js');
|
|
8
|
+
var utils = require('./utils.js');
|
|
9
|
+
var walletStandardHandler = require('./walletStandardHandler.js');
|
|
10
|
+
var baseSolanaAdapter = require('../base-solana-adapter/baseSolanaAdapter.js');
|
|
11
|
+
var walletStandardProvider = require('../../providers/solana-provider/providers/injectedProviders/walletStandardProvider.js');
|
|
12
|
+
var constants = require('../../base/adapter/constants.js');
|
|
13
|
+
|
|
14
|
+
class WalletStandardAdapter extends baseSolanaAdapter.BaseSolanaAdapter {
|
|
15
|
+
constructor(options) {
|
|
16
|
+
super(options);
|
|
17
|
+
_defineProperty(this, "name", void 0);
|
|
18
|
+
_defineProperty(this, "adapterNamespace", IChainInterface.ADAPTER_NAMESPACES.SOLANA);
|
|
19
|
+
_defineProperty(this, "currentChainNamespace", IChainInterface.CHAIN_NAMESPACES.SOLANA);
|
|
20
|
+
_defineProperty(this, "type", constants.ADAPTER_CATEGORY.EXTERNAL);
|
|
21
|
+
_defineProperty(this, "isInjected", true);
|
|
22
|
+
_defineProperty(this, "status", constants.ADAPTER_STATUS.NOT_READY);
|
|
23
|
+
_defineProperty(this, "wallet", null);
|
|
24
|
+
_defineProperty(this, "injectedProvider", null);
|
|
25
|
+
this.name = options.name;
|
|
26
|
+
// in VueJS, for some wallets e.g. Gate, Solflare, when connecting it throws error "attempted to get private field on non-instance"
|
|
27
|
+
// it seems that Vue create a Proxy object for the wallet object which causes the issue
|
|
28
|
+
// ref: https://stackoverflow.com/questions/64917686/vue-array-converted-to-proxy-object
|
|
29
|
+
this.wallet = ["gate", "solflare"].includes(this.name) ? Object.freeze(options.wallet) : options.wallet;
|
|
30
|
+
}
|
|
31
|
+
get provider() {
|
|
32
|
+
if (this.status !== constants.ADAPTER_STATUS.NOT_READY && this.injectedProvider) {
|
|
33
|
+
return this.injectedProvider;
|
|
34
|
+
}
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
get isWalletConnected() {
|
|
38
|
+
return !!(this.status === constants.ADAPTER_STATUS.CONNECTED && this.wallet.accounts.length > 0);
|
|
39
|
+
}
|
|
40
|
+
async init(options = {}) {
|
|
41
|
+
await super.init(options);
|
|
42
|
+
super.checkInitializationRequirements();
|
|
43
|
+
this.injectedProvider = new walletStandardProvider.WalletStandardProvider({
|
|
44
|
+
config: {
|
|
45
|
+
chainConfig: this.chainConfig
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
const providerHandler = new walletStandardHandler.WalletStandardProviderHandler({
|
|
49
|
+
wallet: this.wallet,
|
|
50
|
+
getCurrentChain: () => utils.getSolanaChainByChainConfig(this.chainConfig)
|
|
51
|
+
});
|
|
52
|
+
this.injectedProvider.setupProvider(providerHandler);
|
|
53
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
54
|
+
this.emit(constants.ADAPTER_EVENTS.READY, this.name);
|
|
55
|
+
try {
|
|
56
|
+
loglevel.log.debug("initializing solana injected adapter");
|
|
57
|
+
if (options.autoConnect) {
|
|
58
|
+
this.rehydrated = true;
|
|
59
|
+
await this.connect();
|
|
60
|
+
}
|
|
61
|
+
} catch (error) {
|
|
62
|
+
loglevel.log.error("Failed to connect with cached solana injected provider", error);
|
|
63
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async connect() {
|
|
67
|
+
try {
|
|
68
|
+
super.checkConnectionRequirements();
|
|
69
|
+
this.status = constants.ADAPTER_STATUS.CONNECTING;
|
|
70
|
+
this.emit(constants.ADAPTER_EVENTS.CONNECTING, {
|
|
71
|
+
adapter: this.name
|
|
72
|
+
});
|
|
73
|
+
const chainName = utils.getSolanaChainByChainConfig(this.chainConfig);
|
|
74
|
+
if (!this.wallet.chains.find(chain => chain === chainName)) throw index.WalletLoginError.connectionError(`Chain ${chainName} not supported. Supported chains are ${this.wallet.chains.join(", ")}`);
|
|
75
|
+
if (!this.isWalletConnected) {
|
|
76
|
+
await this.wallet.features[features.StandardConnect].connect();
|
|
77
|
+
}
|
|
78
|
+
if (this.wallet.accounts.length === 0) throw index.WalletLoginError.connectionError();
|
|
79
|
+
this.status = constants.ADAPTER_STATUS.CONNECTED;
|
|
80
|
+
this.emit(constants.ADAPTER_EVENTS.CONNECTED, {
|
|
81
|
+
adapter: this.name,
|
|
82
|
+
reconnected: this.rehydrated,
|
|
83
|
+
provider: this.provider
|
|
84
|
+
});
|
|
85
|
+
return this.provider;
|
|
86
|
+
} catch (error) {
|
|
87
|
+
// ready again to be connected
|
|
88
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
89
|
+
this.rehydrated = false;
|
|
90
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
91
|
+
throw error;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
async disconnect(options = {
|
|
95
|
+
cleanup: false
|
|
96
|
+
}) {
|
|
97
|
+
await super.disconnectSession();
|
|
98
|
+
try {
|
|
99
|
+
var _this$wallet$features;
|
|
100
|
+
await ((_this$wallet$features = this.wallet.features[features.StandardDisconnect]) === null || _this$wallet$features === void 0 ? void 0 : _this$wallet$features.disconnect());
|
|
101
|
+
if (options.cleanup) {
|
|
102
|
+
this.status = constants.ADAPTER_STATUS.NOT_READY;
|
|
103
|
+
this.injectedProvider = null;
|
|
104
|
+
} else {
|
|
105
|
+
this.status = constants.ADAPTER_STATUS.READY;
|
|
106
|
+
}
|
|
107
|
+
await super.disconnect();
|
|
108
|
+
} catch (error) {
|
|
109
|
+
this.emit(constants.ADAPTER_EVENTS.ERRORED, index.WalletLoginError.disconnectionError(error === null || error === void 0 ? void 0 : error.message));
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
async getUserInfo() {
|
|
113
|
+
if (!this.isWalletConnected) throw index.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
114
|
+
return {};
|
|
115
|
+
}
|
|
116
|
+
async addChain(chainConfig, init = false) {
|
|
117
|
+
var _this$injectedProvide;
|
|
118
|
+
super.checkAddChainRequirements(chainConfig, init);
|
|
119
|
+
(_this$injectedProvide = this.injectedProvider) === null || _this$injectedProvide === void 0 || _this$injectedProvide.addChain(chainConfig);
|
|
120
|
+
this.addChainConfig(chainConfig);
|
|
121
|
+
}
|
|
122
|
+
async switchChain(params, init = false) {
|
|
123
|
+
var _this$injectedProvide2;
|
|
124
|
+
super.checkSwitchChainRequirements(params, init);
|
|
125
|
+
await ((_this$injectedProvide2 = this.injectedProvider) === null || _this$injectedProvide2 === void 0 ? void 0 : _this$injectedProvide2.switchChain(params));
|
|
126
|
+
this.setAdapterSettings({
|
|
127
|
+
chainConfig: this.getChainConfig(params.chainId)
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
async enableMFA() {
|
|
131
|
+
throw new Error("Method not implemented.");
|
|
132
|
+
}
|
|
133
|
+
async manageMFA() {
|
|
134
|
+
throw new Error("Method Not implemented");
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
exports.WalletStandardAdapter = WalletStandardAdapter;
|