@web3auth/no-modal 10.0.0-alpha.0 → 10.0.0-alpha.1
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 +2 -2
- package/dist/lib.cjs/base/chain/config.js +63 -22
- package/dist/lib.cjs/base/connector/baseConnector.js +67 -0
- package/dist/lib.cjs/base/connector/constants.js +26 -0
- package/dist/lib.cjs/base/errors/index.js +2 -2
- package/dist/lib.cjs/base/plugin/errors.js +2 -2
- package/dist/lib.cjs/base/wallet/index.js +15 -20
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +392 -0
- package/dist/lib.cjs/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +22 -19
- package/dist/lib.cjs/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +24 -23
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +151 -0
- package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
- package/dist/lib.cjs/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -38
- package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
- package/dist/lib.cjs/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -48
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +40 -90
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +20 -0
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +417 -0
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +12 -25
- package/dist/lib.cjs/index.js +100 -82
- package/dist/lib.cjs/noModal.js +291 -239
- package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +9 -4
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +43 -199
- package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +99 -31
- package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +21 -26
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +29 -24
- package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +2 -13
- package/dist/lib.cjs/providers/base-provider/index.js +18 -0
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
- package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +1 -30
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +44 -18
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
- package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +18 -42
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +3 -0
- package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +16 -42
- package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
- package/dist/lib.esm/base/chain/IChainInterface.js +2 -2
- package/dist/lib.esm/base/chain/config.js +63 -22
- package/dist/lib.esm/base/connector/baseConnector.js +65 -0
- package/dist/lib.esm/base/connector/constants.js +22 -0
- package/dist/lib.esm/base/errors/index.js +2 -2
- package/dist/lib.esm/base/plugin/errors.js +2 -2
- package/dist/lib.esm/base/wallet/index.js +11 -16
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +390 -0
- package/dist/lib.esm/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +23 -20
- package/dist/lib.esm/{adapters/base-solana-adapter/baseSolanaAdapter.js → connectors/base-solana-connector/baseSolanaConnector.js} +25 -24
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +149 -0
- package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
- package/dist/lib.esm/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +54 -39
- package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
- package/dist/lib.esm/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +57 -49
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +41 -91
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +23 -26
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +415 -0
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +13 -25
- package/dist/lib.esm/index.js +23 -28
- package/dist/lib.esm/noModal.js +290 -238
- package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +9 -4
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +42 -199
- package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +96 -31
- package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +22 -27
- package/dist/lib.esm/providers/base-provider/baseProvider.js +29 -24
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +2 -13
- package/dist/lib.esm/providers/base-provider/index.js +5 -0
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +34 -57
- package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +2 -30
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +9 -11
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +3 -5
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +83 -2
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +24 -54
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +18 -27
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +44 -18
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +23 -58
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -3
- package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +18 -42
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +3 -0
- package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +16 -42
- package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +4 -0
- package/dist/noModal.cjs.js +12650 -24362
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +0 -9
- package/dist/types/base/chain/IChainInterface.d.ts +2 -2
- package/dist/types/base/chain/config.d.ts +2 -2
- package/dist/types/base/connector/baseConnector.d.ts +37 -0
- package/dist/types/base/{adapter → connector}/constants.d.ts +7 -4
- package/dist/types/base/{adapter → connector}/index.d.ts +1 -1
- package/dist/types/base/{adapter → connector}/interfaces.d.ts +47 -45
- package/dist/types/base/core/IWeb3Auth.d.ts +75 -34
- package/dist/types/base/errors/index.d.ts +1 -1
- package/dist/types/base/hooks/index.d.ts +2 -6
- package/dist/types/base/index.d.ts +1 -1
- package/dist/types/base/plugin/IPlugin.d.ts +4 -7
- package/dist/types/base/plugin/errors.d.ts +1 -1
- package/dist/types/base/utils.d.ts +1 -1
- package/dist/types/base/wallet/index.d.ts +9 -13
- package/dist/types/connectors/auth-connector/authConnector.d.ts +45 -0
- package/dist/types/connectors/auth-connector/index.d.ts +2 -0
- package/dist/types/connectors/auth-connector/interface.d.ts +14 -0
- package/dist/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
- package/dist/types/connectors/base-evm-connector/index.d.ts +1 -0
- package/dist/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
- package/dist/types/connectors/base-solana-connector/index.d.ts +1 -0
- package/dist/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
- package/dist/types/connectors/coinbase-connector/index.d.ts +1 -0
- package/dist/types/connectors/index.d.ts +7 -0
- package/dist/types/connectors/injected-evm-connector/index.d.ts +2 -0
- package/dist/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
- package/dist/types/connectors/injected-solana-connector/index.d.ts +5 -0
- package/dist/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.d.ts +3 -4
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.d.ts +4 -4
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/index.d.ts +1 -1
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/interface.d.ts +4 -4
- package/dist/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
- package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.d.ts +1 -6
- package/dist/types/index.d.ts +1 -1
- package/dist/types/noModal.d.ts +29 -14
- package/dist/types/plugins/nft-checkout-plugin/plugin.d.ts +11 -7
- package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +8 -32
- package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +16 -14
- package/dist/types/providers/account-abstraction-provider/providers/index.d.ts +0 -1
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -6
- package/dist/types/providers/base-provider/CommonJRPCProvider.d.ts +3 -3
- package/dist/types/providers/base-provider/baseProvider.d.ts +14 -11
- package/dist/types/providers/base-provider/commonPrivateKeyProvider.d.ts +2 -4
- package/dist/types/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +14 -5
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -1
- package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +2 -3
- package/dist/types/providers/ethereum-provider/rpc/interfaces.d.ts +0 -13
- package/dist/types/providers/solana-provider/interface.d.ts +8 -25
- package/dist/types/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +2 -2
- package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +1 -2
- package/dist/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
- package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +7 -4
- package/dist/types/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +4 -4
- package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +12 -27
- package/dist/types/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +1 -1
- package/dist/types/providers/solana-provider/solanaWallet.d.ts +21 -7
- package/dist/types/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +4 -4
- package/dist/types/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +1 -4
- package/dist/types/react/no-modal/interfaces.d.ts +4 -4
- package/dist/types/react/wallet-services-plugin/interfaces.d.ts +2 -2
- package/dist/types/vue/no-modal/interfaces.d.ts +5 -8
- package/dist/types/vue/wallet-services-plugin/interfaces.d.ts +2 -2
- package/package.json +8 -7
- package/dist/757.noModal.cjs.js +0 -226
- package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +0 -262
- package/dist/lib.cjs/adapters/auth-adapter/config.js +0 -17
- package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +0 -156
- package/dist/lib.cjs/adapters/default-evm-adapter/index.js +0 -40
- package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +0 -42
- package/dist/lib.cjs/adapters/default-solana-adapter/index.js +0 -40
- package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +0 -53
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +0 -77
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -376
- package/dist/lib.cjs/base/adapter/baseAdapter.js +0 -117
- package/dist/lib.cjs/base/adapter/constants.js +0 -24
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -29
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -22
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -30
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -30
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -29
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -11
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -185
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -106
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -12
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -75
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -109
- package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +0 -260
- package/dist/lib.esm/adapters/auth-adapter/config.js +0 -15
- package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +0 -154
- package/dist/lib.esm/adapters/default-evm-adapter/index.js +0 -37
- package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +0 -40
- package/dist/lib.esm/adapters/default-solana-adapter/index.js +0 -37
- package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +0 -51
- package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +0 -75
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -374
- package/dist/lib.esm/base/adapter/baseAdapter.js +0 -115
- package/dist/lib.esm/base/adapter/constants.js +0 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -27
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -28
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -28
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -27
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -9
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -183
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -104
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -10
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -73
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -107
- package/dist/types/adapters/auth-adapter/authAdapter.d.ts +0 -42
- package/dist/types/adapters/auth-adapter/config.d.ts +0 -2
- package/dist/types/adapters/auth-adapter/index.d.ts +0 -3
- package/dist/types/adapters/auth-adapter/interface.d.ts +0 -11
- package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +0 -7
- package/dist/types/adapters/base-evm-adapter/index.d.ts +0 -1
- package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +0 -7
- package/dist/types/adapters/base-solana-adapter/index.d.ts +0 -1
- package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +0 -33
- package/dist/types/adapters/coinbase-adapter/index.d.ts +0 -1
- package/dist/types/adapters/default-evm-adapter/index.d.ts +0 -6
- package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +0 -4
- package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +0 -30
- package/dist/types/adapters/default-solana-adapter/index.d.ts +0 -6
- package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +0 -4
- package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +0 -31
- package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +0 -27
- package/dist/types/adapters/index.d.ts +0 -7
- package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +0 -42
- package/dist/types/base/adapter/baseAdapter.d.ts +0 -44
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +0 -9
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +0 -22
- package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +0 -17
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +0 -30
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +0 -9
- package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +0 -5
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +0 -18
- /package/dist/lib.cjs/base/{adapter → connector}/utils.js +0 -0
- /package/dist/lib.cjs/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
- /package/dist/lib.esm/base/{adapter → connector}/utils.js +0 -0
- /package/dist/lib.esm/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
- /package/dist/types/base/{adapter → connector}/utils.d.ts +0 -0
- /package/dist/types/{adapters/default-solana-adapter → connectors/injected-solana-connector}/utils.d.ts +0 -0
- /package/dist/types/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/utils.d.ts +0 -0
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
-
var walletStandardFeatures = require('@solana/wallet-standard-features');
|
|
5
|
-
var web3_js = require('@solana/web3.js');
|
|
6
|
-
var auth = require('@web3auth/auth');
|
|
7
|
-
var BN = require('bn.js');
|
|
8
|
-
var index = require('../../base/errors/index.js');
|
|
9
|
-
|
|
10
|
-
class WalletStandardProviderHandler extends auth.SafeEventEmitter {
|
|
11
|
-
constructor({
|
|
12
|
-
wallet,
|
|
13
|
-
getCurrentChain
|
|
14
|
-
}) {
|
|
15
|
-
super();
|
|
16
|
-
_defineProperty(this, "wallet", null);
|
|
17
|
-
_defineProperty(this, "getCurrentChain", void 0);
|
|
18
|
-
this.wallet = wallet;
|
|
19
|
-
this.getCurrentChain = getCurrentChain;
|
|
20
|
-
}
|
|
21
|
-
get currentAccount() {
|
|
22
|
-
var _this$wallet;
|
|
23
|
-
const account = (_this$wallet = this.wallet) === null || _this$wallet === void 0 ? void 0 : _this$wallet.accounts[0];
|
|
24
|
-
if (!account) throw index.WalletLoginError.notConnectedError();
|
|
25
|
-
return account;
|
|
26
|
-
}
|
|
27
|
-
get publicKey() {
|
|
28
|
-
return new web3_js.PublicKey(this.currentAccount.publicKey);
|
|
29
|
-
}
|
|
30
|
-
async signMessage(message) {
|
|
31
|
-
const account = this.currentAccount;
|
|
32
|
-
const signature = await this.wallet.features[walletStandardFeatures.SolanaSignMessage].signMessage({
|
|
33
|
-
account,
|
|
34
|
-
message
|
|
35
|
-
});
|
|
36
|
-
return {
|
|
37
|
-
signature: signature[0].signature,
|
|
38
|
-
publicKey: new BN(Buffer.from(account.publicKey))
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
async signTransaction(transaction) {
|
|
42
|
-
const account = this.currentAccount;
|
|
43
|
-
const output = await this.wallet.features[walletStandardFeatures.SolanaSignTransaction].signTransaction({
|
|
44
|
-
account,
|
|
45
|
-
transaction: transaction.serialize({
|
|
46
|
-
requireAllSignatures: false
|
|
47
|
-
}),
|
|
48
|
-
chain: this.getCurrentChain()
|
|
49
|
-
});
|
|
50
|
-
const isVersionedTransaction = transaction.version !== undefined || transaction instanceof web3_js.VersionedTransaction;
|
|
51
|
-
if (isVersionedTransaction) {
|
|
52
|
-
return web3_js.VersionedTransaction.deserialize(output[0].signedTransaction);
|
|
53
|
-
}
|
|
54
|
-
return web3_js.Transaction.from(output[0].signedTransaction);
|
|
55
|
-
}
|
|
56
|
-
async signAllTransactions(transactions) {
|
|
57
|
-
return Promise.all(transactions.map(transaction => this.signTransaction(transaction)));
|
|
58
|
-
}
|
|
59
|
-
async signAndSendTransaction(transaction) {
|
|
60
|
-
const account = this.currentAccount;
|
|
61
|
-
const output = await this.wallet.features[walletStandardFeatures.SolanaSignAndSendTransaction].signAndSendTransaction({
|
|
62
|
-
account,
|
|
63
|
-
transaction: transaction.serialize({
|
|
64
|
-
requireAllSignatures: false
|
|
65
|
-
}),
|
|
66
|
-
chain: this.getCurrentChain()
|
|
67
|
-
});
|
|
68
|
-
const [{
|
|
69
|
-
signature
|
|
70
|
-
}] = output;
|
|
71
|
-
return {
|
|
72
|
-
signature: new TextDecoder().decode(signature)
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
exports.WalletStandardProviderHandler = WalletStandardProviderHandler;
|
|
@@ -1,376 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
-
var baseControllers = require('@toruslabs/base-controllers');
|
|
6
|
-
var Client = require('@walletconnect/sign-client');
|
|
7
|
-
var utils$1 = require('@walletconnect/utils');
|
|
8
|
-
var bs58 = require('bs58');
|
|
9
|
-
var deepmerge = require('deepmerge');
|
|
10
|
-
var IChainInterface = require('../../base/chain/IChainInterface.js');
|
|
11
|
-
var index$1 = require('../../base/errors/index.js');
|
|
12
|
-
var loglevel = require('../../base/loglevel.js');
|
|
13
|
-
var index = require('../../base/wallet/index.js');
|
|
14
|
-
var config = require('./config.js');
|
|
15
|
-
var WalletConnectV2Provider = require('./WalletConnectV2Provider.js');
|
|
16
|
-
var baseAdapter = require('../../base/adapter/baseAdapter.js');
|
|
17
|
-
var constants = require('../../base/adapter/constants.js');
|
|
18
|
-
var utils = require('../../base/adapter/utils.js');
|
|
19
|
-
|
|
20
|
-
class WalletConnectV2Adapter extends baseAdapter.BaseAdapter {
|
|
21
|
-
constructor(options = {}) {
|
|
22
|
-
super(options);
|
|
23
|
-
_defineProperty(this, "name", index.WALLET_ADAPTERS.WALLET_CONNECT_V2);
|
|
24
|
-
_defineProperty(this, "adapterNamespace", IChainInterface.ADAPTER_NAMESPACES.MULTICHAIN);
|
|
25
|
-
_defineProperty(this, "currentChainNamespace", IChainInterface.CHAIN_NAMESPACES.OTHER);
|
|
26
|
-
_defineProperty(this, "type", constants.ADAPTER_CATEGORY.EXTERNAL);
|
|
27
|
-
_defineProperty(this, "adapterOptions", {});
|
|
28
|
-
_defineProperty(this, "status", constants.ADAPTER_STATUS.NOT_READY);
|
|
29
|
-
_defineProperty(this, "adapterData", {
|
|
30
|
-
uri: ""
|
|
31
|
-
});
|
|
32
|
-
_defineProperty(this, "connector", null);
|
|
33
|
-
_defineProperty(this, "activeSession", null);
|
|
34
|
-
_defineProperty(this, "wcProvider", null);
|
|
35
|
-
this.adapterOptions = _objectSpread({}, options);
|
|
36
|
-
this.setAdapterSettings(options);
|
|
37
|
-
}
|
|
38
|
-
get connected() {
|
|
39
|
-
return !!this.activeSession;
|
|
40
|
-
}
|
|
41
|
-
get provider() {
|
|
42
|
-
if (this.status !== constants.ADAPTER_STATUS.NOT_READY && this.wcProvider) {
|
|
43
|
-
return this.wcProvider;
|
|
44
|
-
}
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
set provider(_) {
|
|
48
|
-
throw new Error("Not implemented");
|
|
49
|
-
}
|
|
50
|
-
async init(options) {
|
|
51
|
-
var _this$adapterOptions$, _this$chainConfig, _this$chainConfig2;
|
|
52
|
-
super.checkInitializationRequirements();
|
|
53
|
-
const projectId = (_this$adapterOptions$ = this.adapterOptions.adapterSettings) === null || _this$adapterOptions$ === void 0 || (_this$adapterOptions$ = _this$adapterOptions$.walletConnectInitOptions) === null || _this$adapterOptions$ === void 0 ? void 0 : _this$adapterOptions$.projectId;
|
|
54
|
-
if (!projectId) {
|
|
55
|
-
throw index$1.WalletInitializationError.invalidParams("Wallet connect project id is required in wallet connect v2 adapter");
|
|
56
|
-
}
|
|
57
|
-
const wc2Settings = await config.getWalletConnectV2Settings((_this$chainConfig = this.chainConfig) === null || _this$chainConfig === void 0 ? void 0 : _this$chainConfig.chainNamespace, [(_this$chainConfig2 = this.chainConfig) === null || _this$chainConfig2 === void 0 ? void 0 : _this$chainConfig2.chainId], projectId);
|
|
58
|
-
if (!this.adapterOptions.loginSettings || Object.keys(this.adapterOptions.loginSettings).length === 0) {
|
|
59
|
-
this.adapterOptions.loginSettings = wc2Settings.loginSettings;
|
|
60
|
-
}
|
|
61
|
-
this.adapterOptions.adapterSettings = deepmerge(wc2Settings.adapterSettings || {}, this.adapterOptions.adapterSettings || {});
|
|
62
|
-
const {
|
|
63
|
-
adapterSettings
|
|
64
|
-
} = this.adapterOptions;
|
|
65
|
-
this.connector = await Client.init(adapterSettings === null || adapterSettings === void 0 ? void 0 : adapterSettings.walletConnectInitOptions);
|
|
66
|
-
this.wcProvider = new WalletConnectV2Provider.WalletConnectV2Provider({
|
|
67
|
-
config: {
|
|
68
|
-
chainConfig: this.chainConfig
|
|
69
|
-
},
|
|
70
|
-
connector: this.connector
|
|
71
|
-
});
|
|
72
|
-
this.emit(constants.ADAPTER_EVENTS.READY, index.WALLET_ADAPTERS.WALLET_CONNECT_V2);
|
|
73
|
-
this.status = constants.ADAPTER_STATUS.READY;
|
|
74
|
-
loglevel.log.debug("initializing wallet connect v2 adapter");
|
|
75
|
-
if (options.autoConnect) {
|
|
76
|
-
await this.checkForPersistedSession();
|
|
77
|
-
if (this.connected) {
|
|
78
|
-
this.rehydrated = true;
|
|
79
|
-
try {
|
|
80
|
-
await this.onConnectHandler();
|
|
81
|
-
} catch (error) {
|
|
82
|
-
loglevel.log.error("wallet auto connect", error);
|
|
83
|
-
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
84
|
-
}
|
|
85
|
-
} else {
|
|
86
|
-
this.status = constants.ADAPTER_STATUS.NOT_READY;
|
|
87
|
-
this.emit(constants.ADAPTER_EVENTS.CACHE_CLEAR);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
async connect() {
|
|
92
|
-
super.checkConnectionRequirements();
|
|
93
|
-
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
94
|
-
try {
|
|
95
|
-
// if already connected
|
|
96
|
-
if (this.connected) {
|
|
97
|
-
await this.onConnectHandler();
|
|
98
|
-
return this.provider;
|
|
99
|
-
}
|
|
100
|
-
if (this.status !== constants.ADAPTER_STATUS.CONNECTING) {
|
|
101
|
-
await this.createNewSession();
|
|
102
|
-
}
|
|
103
|
-
return this.provider;
|
|
104
|
-
} catch (error) {
|
|
105
|
-
loglevel.log.error("Wallet connect v2 adapter error while connecting", error);
|
|
106
|
-
// ready again to be connected
|
|
107
|
-
this.status = constants.ADAPTER_STATUS.READY;
|
|
108
|
-
this.rehydrated = true;
|
|
109
|
-
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
110
|
-
const finalError = error instanceof index$1.Web3AuthError ? error : index$1.WalletLoginError.connectionError(`Failed to login with wallet connect: ${(error === null || error === void 0 ? void 0 : error.message) || ""}`, error);
|
|
111
|
-
throw finalError;
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
// should be called only before initialization.
|
|
116
|
-
setAdapterSettings(adapterSettings) {
|
|
117
|
-
var _this$adapterOptions$2, _this$adapterOptions, _this$adapterOptions$3, _this$adapterOptions2, _this$adapterOptions$4;
|
|
118
|
-
super.setAdapterSettings(adapterSettings);
|
|
119
|
-
const {
|
|
120
|
-
qrcodeModal,
|
|
121
|
-
walletConnectInitOptions
|
|
122
|
-
} = (adapterSettings === null || adapterSettings === void 0 ? void 0 : adapterSettings.adapterSettings) || {};
|
|
123
|
-
this.adapterOptions = _objectSpread(_objectSpread({}, this.adapterOptions), {}, {
|
|
124
|
-
adapterSettings: (_this$adapterOptions$2 = (_this$adapterOptions = this.adapterOptions) === null || _this$adapterOptions === void 0 ? void 0 : _this$adapterOptions.adapterSettings) !== null && _this$adapterOptions$2 !== void 0 ? _this$adapterOptions$2 : {},
|
|
125
|
-
loginSettings: (_this$adapterOptions$3 = (_this$adapterOptions2 = this.adapterOptions) === null || _this$adapterOptions2 === void 0 ? void 0 : _this$adapterOptions2.loginSettings) !== null && _this$adapterOptions$3 !== void 0 ? _this$adapterOptions$3 : {}
|
|
126
|
-
});
|
|
127
|
-
if (qrcodeModal) this.adapterOptions.adapterSettings.qrcodeModal = qrcodeModal;
|
|
128
|
-
if (walletConnectInitOptions) this.adapterOptions.adapterSettings.walletConnectInitOptions = _objectSpread(_objectSpread({}, (_this$adapterOptions$4 = this.adapterOptions.adapterSettings.walletConnectInitOptions) !== null && _this$adapterOptions$4 !== void 0 ? _this$adapterOptions$4 : {}), walletConnectInitOptions);
|
|
129
|
-
const {
|
|
130
|
-
loginSettings
|
|
131
|
-
} = adapterSettings;
|
|
132
|
-
if (loginSettings) this.adapterOptions.loginSettings = _objectSpread(_objectSpread({}, this.adapterOptions.loginSettings || {}), loginSettings);
|
|
133
|
-
}
|
|
134
|
-
async addChain(chainConfig, init = false) {
|
|
135
|
-
var _this$wcProvider;
|
|
136
|
-
super.checkAddChainRequirements(chainConfig, init);
|
|
137
|
-
await ((_this$wcProvider = this.wcProvider) === null || _this$wcProvider === void 0 ? void 0 : _this$wcProvider.addChain(chainConfig));
|
|
138
|
-
this.addChainConfig(chainConfig);
|
|
139
|
-
}
|
|
140
|
-
async switchChain(params, init = false) {
|
|
141
|
-
var _this$wcProvider2;
|
|
142
|
-
super.checkSwitchChainRequirements(params, init);
|
|
143
|
-
await ((_this$wcProvider2 = this.wcProvider) === null || _this$wcProvider2 === void 0 ? void 0 : _this$wcProvider2.switchChain({
|
|
144
|
-
chainId: params.chainId
|
|
145
|
-
}));
|
|
146
|
-
this.setAdapterSettings({
|
|
147
|
-
chainConfig: this.getChainConfig(params.chainId)
|
|
148
|
-
});
|
|
149
|
-
}
|
|
150
|
-
async getUserInfo() {
|
|
151
|
-
if (!this.connected) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
152
|
-
return {};
|
|
153
|
-
}
|
|
154
|
-
async disconnect(options = {
|
|
155
|
-
cleanup: false,
|
|
156
|
-
sessionRemovedByWallet: false
|
|
157
|
-
}) {
|
|
158
|
-
var _this$activeSession, _this$activeSession2;
|
|
159
|
-
const {
|
|
160
|
-
cleanup
|
|
161
|
-
} = options;
|
|
162
|
-
if (!this.connector || !this.connected || !((_this$activeSession = this.activeSession) !== null && _this$activeSession !== void 0 && _this$activeSession.topic)) throw index$1.WalletLoginError.notConnectedError("Not connected with wallet");
|
|
163
|
-
if (!options.sessionRemovedByWallet) await this.connector.disconnect({
|
|
164
|
-
topic: (_this$activeSession2 = this.activeSession) === null || _this$activeSession2 === void 0 ? void 0 : _this$activeSession2.topic,
|
|
165
|
-
reason: utils$1.getSdkError("USER_DISCONNECTED")
|
|
166
|
-
});
|
|
167
|
-
this.rehydrated = false;
|
|
168
|
-
if (cleanup) {
|
|
169
|
-
this.connector = null;
|
|
170
|
-
this.status = constants.ADAPTER_STATUS.NOT_READY;
|
|
171
|
-
this.wcProvider = null;
|
|
172
|
-
} else {
|
|
173
|
-
// ready to connect again
|
|
174
|
-
this.status = constants.ADAPTER_STATUS.READY;
|
|
175
|
-
}
|
|
176
|
-
this.activeSession = null;
|
|
177
|
-
this.emit(constants.ADAPTER_EVENTS.DISCONNECTED);
|
|
178
|
-
}
|
|
179
|
-
async authenticateUser() {
|
|
180
|
-
if (!this.provider || this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index$1.WalletLoginError.notConnectedError();
|
|
181
|
-
const {
|
|
182
|
-
chainNamespace,
|
|
183
|
-
chainId
|
|
184
|
-
} = this.chainConfig;
|
|
185
|
-
const accounts = await this.provider.request({
|
|
186
|
-
method: chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 ? "eth_accounts" : "getAccounts"
|
|
187
|
-
});
|
|
188
|
-
if (accounts && accounts.length > 0) {
|
|
189
|
-
const existingToken = utils.getSavedToken(accounts[0], this.name);
|
|
190
|
-
if (existingToken) {
|
|
191
|
-
const isExpired = utils.checkIfTokenIsExpired(existingToken);
|
|
192
|
-
if (!isExpired) {
|
|
193
|
-
return {
|
|
194
|
-
idToken: existingToken
|
|
195
|
-
};
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
const payload = {
|
|
199
|
-
domain: window.location.origin,
|
|
200
|
-
uri: window.location.href,
|
|
201
|
-
address: accounts[0],
|
|
202
|
-
chainId: parseInt(chainId, 16),
|
|
203
|
-
version: "1",
|
|
204
|
-
nonce: Math.random().toString(36).slice(2),
|
|
205
|
-
issuedAt: new Date().toISOString()
|
|
206
|
-
};
|
|
207
|
-
const challenge = await baseControllers.signChallenge(payload, chainNamespace);
|
|
208
|
-
const signedMessage = await this._getSignedMessage(challenge, accounts, chainNamespace);
|
|
209
|
-
const idToken = await baseControllers.verifySignedChallenge(chainNamespace, signedMessage, challenge, this.name, this.sessionTime, this.clientId, this.web3AuthNetwork);
|
|
210
|
-
utils.saveToken(accounts[0], this.name, idToken);
|
|
211
|
-
return {
|
|
212
|
-
idToken
|
|
213
|
-
};
|
|
214
|
-
}
|
|
215
|
-
throw index$1.WalletLoginError.notConnectedError("Not connected with wallet, Please login/connect first");
|
|
216
|
-
}
|
|
217
|
-
async enableMFA() {
|
|
218
|
-
throw new Error("Method Not implemented");
|
|
219
|
-
}
|
|
220
|
-
async manageMFA() {
|
|
221
|
-
throw new Error("Method Not implemented");
|
|
222
|
-
}
|
|
223
|
-
cleanupPendingPairings() {
|
|
224
|
-
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
225
|
-
const inactivePairings = this.connector.pairing.getAll({
|
|
226
|
-
active: false
|
|
227
|
-
});
|
|
228
|
-
if (!utils$1.isValidArray(inactivePairings)) return;
|
|
229
|
-
inactivePairings.forEach(pairing => {
|
|
230
|
-
if (this.connector) {
|
|
231
|
-
this.connector.pairing.delete(pairing.topic, utils$1.getSdkError("USER_DISCONNECTED"));
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
}
|
|
235
|
-
async checkForPersistedSession() {
|
|
236
|
-
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
237
|
-
if (this.connector.session.length) {
|
|
238
|
-
const lastKeyIndex = this.connector.session.keys.length - 1;
|
|
239
|
-
this.activeSession = this.connector.session.get(this.connector.session.keys[lastKeyIndex]);
|
|
240
|
-
}
|
|
241
|
-
return this.activeSession;
|
|
242
|
-
}
|
|
243
|
-
async createNewSession(opts = {
|
|
244
|
-
forceNewSession: false
|
|
245
|
-
}) {
|
|
246
|
-
try {
|
|
247
|
-
var _this$activeSession3, _this$adapterOptions3;
|
|
248
|
-
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
249
|
-
if (!this.adapterOptions.loginSettings || Object.keys(this.adapterOptions.loginSettings).length === 0) throw index$1.WalletInitializationError.notReady("login settings are not set yet");
|
|
250
|
-
this.status = constants.ADAPTER_STATUS.CONNECTING;
|
|
251
|
-
this.emit(constants.ADAPTER_EVENTS.CONNECTING, {
|
|
252
|
-
adapter: index.WALLET_ADAPTERS.WALLET_CONNECT_V2
|
|
253
|
-
});
|
|
254
|
-
if (opts.forceNewSession && (_this$activeSession3 = this.activeSession) !== null && _this$activeSession3 !== void 0 && _this$activeSession3.topic) {
|
|
255
|
-
var _this$activeSession4;
|
|
256
|
-
await this.connector.disconnect({
|
|
257
|
-
topic: (_this$activeSession4 = this.activeSession) === null || _this$activeSession4 === void 0 ? void 0 : _this$activeSession4.topic,
|
|
258
|
-
reason: utils$1.getSdkError("USER_DISCONNECTED")
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
const {
|
|
262
|
-
uri,
|
|
263
|
-
approval
|
|
264
|
-
} = await this.connector.connect(this.adapterOptions.loginSettings);
|
|
265
|
-
const qrcodeModal = (_this$adapterOptions3 = this.adapterOptions) === null || _this$adapterOptions3 === void 0 || (_this$adapterOptions3 = _this$adapterOptions3.adapterSettings) === null || _this$adapterOptions3 === void 0 ? void 0 : _this$adapterOptions3.qrcodeModal;
|
|
266
|
-
// Open QRCode modal if a URI was returned (i.e. we're not connecting with an existing pairing).
|
|
267
|
-
if (uri) {
|
|
268
|
-
if (qrcodeModal) {
|
|
269
|
-
try {
|
|
270
|
-
await qrcodeModal.openModal({
|
|
271
|
-
uri
|
|
272
|
-
});
|
|
273
|
-
loglevel.log.debug("EVENT", "QR Code Modal closed");
|
|
274
|
-
this.status = constants.ADAPTER_STATUS.READY;
|
|
275
|
-
this.emit(constants.ADAPTER_EVENTS.READY, index.WALLET_ADAPTERS.WALLET_CONNECT_V2);
|
|
276
|
-
} catch (error) {
|
|
277
|
-
loglevel.log.error("unable to open qr code modal");
|
|
278
|
-
}
|
|
279
|
-
} else {
|
|
280
|
-
this.updateAdapterData({
|
|
281
|
-
uri
|
|
282
|
-
});
|
|
283
|
-
}
|
|
284
|
-
}
|
|
285
|
-
loglevel.log.info("awaiting session approval from wallet");
|
|
286
|
-
|
|
287
|
-
// Await session approval from the wallet.
|
|
288
|
-
const session = await approval();
|
|
289
|
-
this.activeSession = session;
|
|
290
|
-
// Handle the returned session (e.g. update UI to "connected" state).
|
|
291
|
-
await this.onConnectHandler();
|
|
292
|
-
if (qrcodeModal) {
|
|
293
|
-
qrcodeModal.closeModal();
|
|
294
|
-
}
|
|
295
|
-
} catch (error) {
|
|
296
|
-
var _message;
|
|
297
|
-
if ((_message = error.message) !== null && _message !== void 0 && _message.toLowerCase().includes("proposal expired")) {
|
|
298
|
-
// Retry if adapter status is still connecting
|
|
299
|
-
loglevel.log.info("current adapter status: ", this.status);
|
|
300
|
-
if (this.status === constants.ADAPTER_STATUS.CONNECTING) {
|
|
301
|
-
loglevel.log.info("retrying to create new wallet connect session since proposal expired");
|
|
302
|
-
return this.createNewSession({
|
|
303
|
-
forceNewSession: true
|
|
304
|
-
});
|
|
305
|
-
}
|
|
306
|
-
if (this.status === constants.ADAPTER_STATUS.READY) {
|
|
307
|
-
loglevel.log.info("ignoring proposal expired error since some other adapter is connected");
|
|
308
|
-
return;
|
|
309
|
-
}
|
|
310
|
-
}
|
|
311
|
-
loglevel.log.error("error while creating new wallet connect session", error);
|
|
312
|
-
this.emit(constants.ADAPTER_EVENTS.ERRORED, error);
|
|
313
|
-
throw error;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
async onConnectHandler() {
|
|
317
|
-
var _this$adapterOptions$5;
|
|
318
|
-
if (!this.connector || !this.wcProvider) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
319
|
-
if (!this.chainConfig) throw index$1.WalletInitializationError.invalidParams("Chain config is not set");
|
|
320
|
-
this.subscribeEvents();
|
|
321
|
-
if ((_this$adapterOptions$5 = this.adapterOptions.adapterSettings) !== null && _this$adapterOptions$5 !== void 0 && _this$adapterOptions$5.qrcodeModal) {
|
|
322
|
-
this.wcProvider = new WalletConnectV2Provider.WalletConnectV2Provider({
|
|
323
|
-
config: {
|
|
324
|
-
chainConfig: this.chainConfig,
|
|
325
|
-
skipLookupNetwork: true
|
|
326
|
-
},
|
|
327
|
-
connector: this.connector
|
|
328
|
-
});
|
|
329
|
-
}
|
|
330
|
-
await this.wcProvider.setupProvider(this.connector);
|
|
331
|
-
this.cleanupPendingPairings();
|
|
332
|
-
this.status = constants.ADAPTER_STATUS.CONNECTED;
|
|
333
|
-
this.emit(constants.ADAPTER_EVENTS.CONNECTED, {
|
|
334
|
-
adapter: index.WALLET_ADAPTERS.WALLET_CONNECT_V2,
|
|
335
|
-
reconnected: this.rehydrated,
|
|
336
|
-
provider: this.provider
|
|
337
|
-
});
|
|
338
|
-
}
|
|
339
|
-
subscribeEvents() {
|
|
340
|
-
if (!this.connector) throw index$1.WalletInitializationError.notReady("Wallet adapter is not ready yet");
|
|
341
|
-
this.connector.events.on("session_update", ({
|
|
342
|
-
topic,
|
|
343
|
-
params
|
|
344
|
-
}) => {
|
|
345
|
-
if (!this.connector) return;
|
|
346
|
-
const {
|
|
347
|
-
namespaces
|
|
348
|
-
} = params;
|
|
349
|
-
const _session = this.connector.session.get(topic);
|
|
350
|
-
// Overwrite the `namespaces` of the existing session with the incoming one.
|
|
351
|
-
const updatedSession = _objectSpread(_objectSpread({}, _session), {}, {
|
|
352
|
-
namespaces
|
|
353
|
-
});
|
|
354
|
-
// Integrate the updated session state into your dapp state.
|
|
355
|
-
this.activeSession = updatedSession;
|
|
356
|
-
});
|
|
357
|
-
this.connector.events.on("session_delete", () => {
|
|
358
|
-
// Session was deleted -> reset the dapp state, clean up from user session, etc.
|
|
359
|
-
this.disconnect({
|
|
360
|
-
sessionRemovedByWallet: true
|
|
361
|
-
});
|
|
362
|
-
});
|
|
363
|
-
}
|
|
364
|
-
async _getSignedMessage(challenge, accounts, chainNamespace) {
|
|
365
|
-
const signedMessage = await this.provider.request({
|
|
366
|
-
method: chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 ? "personal_sign" : "signMessage",
|
|
367
|
-
params: chainNamespace === IChainInterface.CHAIN_NAMESPACES.EIP155 ? [challenge, accounts[0]] : {
|
|
368
|
-
message: Buffer.from(challenge)
|
|
369
|
-
}
|
|
370
|
-
});
|
|
371
|
-
if (chainNamespace === IChainInterface.CHAIN_NAMESPACES.SOLANA) return bs58.encode(signedMessage);
|
|
372
|
-
return signedMessage;
|
|
373
|
-
}
|
|
374
|
-
}
|
|
375
|
-
|
|
376
|
-
exports.WalletConnectV2Adapter = WalletConnectV2Adapter;
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
-
var auth = require('@web3auth/auth');
|
|
6
|
-
var config = require('../chain/config.js');
|
|
7
|
-
var IChainInterface = require('../chain/IChainInterface.js');
|
|
8
|
-
var index = require('../errors/index.js');
|
|
9
|
-
var index$1 = require('../wallet/index.js');
|
|
10
|
-
var constants = require('./constants.js');
|
|
11
|
-
|
|
12
|
-
class BaseAdapter extends auth.SafeEventEmitter {
|
|
13
|
-
constructor(options = {}) {
|
|
14
|
-
super();
|
|
15
|
-
_defineProperty(this, "adapterData", {});
|
|
16
|
-
_defineProperty(this, "sessionTime", 86400);
|
|
17
|
-
_defineProperty(this, "clientId", void 0);
|
|
18
|
-
_defineProperty(this, "web3AuthNetwork", auth.WEB3AUTH_NETWORK.MAINNET);
|
|
19
|
-
_defineProperty(this, "useCoreKitKey", undefined);
|
|
20
|
-
_defineProperty(this, "rehydrated", false);
|
|
21
|
-
// should be added in constructor or from setAdapterSettings function
|
|
22
|
-
// before calling init function.
|
|
23
|
-
_defineProperty(this, "chainConfig", null);
|
|
24
|
-
_defineProperty(this, "knownChainConfigs", {});
|
|
25
|
-
_defineProperty(this, "adapterNamespace", void 0);
|
|
26
|
-
_defineProperty(this, "currentChainNamespace", void 0);
|
|
27
|
-
_defineProperty(this, "type", void 0);
|
|
28
|
-
_defineProperty(this, "name", void 0);
|
|
29
|
-
_defineProperty(this, "status", void 0);
|
|
30
|
-
this.setAdapterSettings(options);
|
|
31
|
-
}
|
|
32
|
-
get chainConfigProxy() {
|
|
33
|
-
return this.chainConfig ? _objectSpread({}, this.chainConfig) : null;
|
|
34
|
-
}
|
|
35
|
-
get connnected() {
|
|
36
|
-
return this.status === constants.ADAPTER_STATUS.CONNECTED;
|
|
37
|
-
}
|
|
38
|
-
setAdapterSettings(options) {
|
|
39
|
-
if (this.status === constants.ADAPTER_STATUS.READY) return;
|
|
40
|
-
if (options !== null && options !== void 0 && options.sessionTime) {
|
|
41
|
-
this.sessionTime = options.sessionTime;
|
|
42
|
-
}
|
|
43
|
-
if (options !== null && options !== void 0 && options.clientId) {
|
|
44
|
-
this.clientId = options.clientId;
|
|
45
|
-
}
|
|
46
|
-
if (options !== null && options !== void 0 && options.web3AuthNetwork) {
|
|
47
|
-
this.web3AuthNetwork = options.web3AuthNetwork;
|
|
48
|
-
}
|
|
49
|
-
if ((options === null || options === void 0 ? void 0 : options.useCoreKitKey) !== undefined) {
|
|
50
|
-
this.useCoreKitKey = options.useCoreKitKey;
|
|
51
|
-
}
|
|
52
|
-
const customChainConfig = options.chainConfig;
|
|
53
|
-
if (customChainConfig) {
|
|
54
|
-
if (!customChainConfig.chainNamespace) throw index.WalletInitializationError.notReady("ChainNamespace is required while setting chainConfig");
|
|
55
|
-
this.currentChainNamespace = customChainConfig.chainNamespace;
|
|
56
|
-
// chainId is optional in this function.
|
|
57
|
-
// we go with mainnet chainId by default.
|
|
58
|
-
const defaultChainConfig = config.getChainConfig(customChainConfig.chainNamespace, customChainConfig.chainId);
|
|
59
|
-
// NOTE: It is being forced casted to CustomChainConfig to handle OTHER Chainnamespace
|
|
60
|
-
// where chainConfig is not required.
|
|
61
|
-
const finalChainConfig = _objectSpread(_objectSpread({}, defaultChainConfig || {}), customChainConfig);
|
|
62
|
-
this.chainConfig = finalChainConfig;
|
|
63
|
-
this.addChainConfig(finalChainConfig);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
checkConnectionRequirements() {
|
|
67
|
-
// we reconnect without killing existing wallet connect session on calling connect again.
|
|
68
|
-
if (this.name === index$1.WALLET_ADAPTERS.WALLET_CONNECT_V2 && this.status === constants.ADAPTER_STATUS.CONNECTING) return;
|
|
69
|
-
if (this.status === constants.ADAPTER_STATUS.CONNECTING) throw index.WalletInitializationError.notReady("Already connecting");
|
|
70
|
-
if (this.status === constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.connectionError("Already connected");
|
|
71
|
-
if (this.status !== constants.ADAPTER_STATUS.READY) throw index.WalletLoginError.connectionError("Wallet adapter is not ready yet, Please wait for init function to resolve before calling connect/connectTo function");
|
|
72
|
-
}
|
|
73
|
-
checkInitializationRequirements() {
|
|
74
|
-
if (!this.clientId) throw index.WalletInitializationError.invalidParams("Please initialize Web3Auth with a valid clientId in constructor");
|
|
75
|
-
if (!this.chainConfig) throw index.WalletInitializationError.invalidParams("rpcTarget is required in chainConfig");
|
|
76
|
-
if (!this.chainConfig.rpcTarget && this.chainConfig.chainNamespace !== IChainInterface.CHAIN_NAMESPACES.OTHER) {
|
|
77
|
-
throw index.WalletInitializationError.invalidParams("rpcTarget is required in chainConfig");
|
|
78
|
-
}
|
|
79
|
-
if (!this.chainConfig.chainId && this.chainConfig.chainNamespace !== IChainInterface.CHAIN_NAMESPACES.OTHER) {
|
|
80
|
-
throw index.WalletInitializationError.invalidParams("chainID is required in chainConfig");
|
|
81
|
-
}
|
|
82
|
-
if (this.status === constants.ADAPTER_STATUS.NOT_READY) return;
|
|
83
|
-
if (this.status === constants.ADAPTER_STATUS.CONNECTED) throw index.WalletInitializationError.notReady("Already connected");
|
|
84
|
-
if (this.status === constants.ADAPTER_STATUS.READY) throw index.WalletInitializationError.notReady("Adapter is already initialized");
|
|
85
|
-
}
|
|
86
|
-
checkDisconnectionRequirements() {
|
|
87
|
-
if (this.status !== constants.ADAPTER_STATUS.CONNECTED) throw index.WalletLoginError.disconnectionError("Not connected with wallet");
|
|
88
|
-
}
|
|
89
|
-
checkAddChainRequirements(chainConfig, init = false) {
|
|
90
|
-
if (!init && !this.provider) throw index.WalletLoginError.notConnectedError("Not connected with wallet.");
|
|
91
|
-
if (this.currentChainNamespace !== chainConfig.chainNamespace) {
|
|
92
|
-
throw index.WalletOperationsError.chainNamespaceNotAllowed("This adapter doesn't support this chainNamespace");
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
checkSwitchChainRequirements({
|
|
96
|
-
chainId
|
|
97
|
-
}, init = false) {
|
|
98
|
-
if (!init && !this.provider) throw index.WalletLoginError.notConnectedError("Not connected with wallet.");
|
|
99
|
-
if (!this.knownChainConfigs[chainId]) throw index.WalletLoginError.chainConfigNotAdded("Invalid chainId");
|
|
100
|
-
}
|
|
101
|
-
updateAdapterData(data) {
|
|
102
|
-
this.adapterData = data;
|
|
103
|
-
this.emit(constants.ADAPTER_EVENTS.ADAPTER_DATA_UPDATED, {
|
|
104
|
-
adapterName: this.name,
|
|
105
|
-
data
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
addChainConfig(chainConfig) {
|
|
109
|
-
const currentConfig = this.knownChainConfigs[chainConfig.chainId];
|
|
110
|
-
this.knownChainConfigs[chainConfig.chainId] = _objectSpread(_objectSpread({}, currentConfig || {}), chainConfig);
|
|
111
|
-
}
|
|
112
|
-
getChainConfig(chainId) {
|
|
113
|
-
return this.knownChainConfigs[chainId] || null;
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
exports.BaseAdapter = BaseAdapter;
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
-
|
|
5
|
-
const ADAPTER_STATUS = {
|
|
6
|
-
NOT_READY: "not_ready",
|
|
7
|
-
READY: "ready",
|
|
8
|
-
CONNECTING: "connecting",
|
|
9
|
-
CONNECTED: "connected",
|
|
10
|
-
DISCONNECTED: "disconnected",
|
|
11
|
-
ERRORED: "errored"
|
|
12
|
-
};
|
|
13
|
-
const ADAPTER_EVENTS = _objectSpread(_objectSpread({}, ADAPTER_STATUS), {}, {
|
|
14
|
-
ADAPTER_DATA_UPDATED: "adapter_data_updated",
|
|
15
|
-
CACHE_CLEAR: "cache_clear"
|
|
16
|
-
});
|
|
17
|
-
const ADAPTER_CATEGORY = {
|
|
18
|
-
EXTERNAL: "external",
|
|
19
|
-
IN_APP: "in_app"
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
exports.ADAPTER_CATEGORY = ADAPTER_CATEGORY;
|
|
23
|
-
exports.ADAPTER_EVENTS = ADAPTER_EVENTS;
|
|
24
|
-
exports.ADAPTER_STATUS = ADAPTER_STATUS;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
-
var accounts = require('permissionless/accounts');
|
|
6
|
-
var accountAbstraction = require('viem/account-abstraction');
|
|
7
|
-
var constants = require('./constants.js');
|
|
8
|
-
|
|
9
|
-
class BiconomySmartAccount {
|
|
10
|
-
constructor(options) {
|
|
11
|
-
_defineProperty(this, "name", constants.SMART_ACCOUNT.BICONOMY);
|
|
12
|
-
_defineProperty(this, "options", void 0);
|
|
13
|
-
this.options = options;
|
|
14
|
-
}
|
|
15
|
-
async getSmartAccount(params) {
|
|
16
|
-
var _this$options, _this$options2;
|
|
17
|
-
return accounts.toBiconomySmartAccount(_objectSpread(_objectSpread(_objectSpread({}, this.options || {}), {}, {
|
|
18
|
-
entryPoint: {
|
|
19
|
-
address: ((_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.entryPoint) === null || _this$options === void 0 ? void 0 : _this$options.address) || accountAbstraction.entryPoint06Address,
|
|
20
|
-
version: ((_this$options2 = this.options) === null || _this$options2 === void 0 || (_this$options2 = _this$options2.entryPoint) === null || _this$options2 === void 0 ? void 0 : _this$options2.version) || "0.6"
|
|
21
|
-
}
|
|
22
|
-
}, params), {}, {
|
|
23
|
-
owners: [params.owner],
|
|
24
|
-
client: params.client
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
exports.BiconomySmartAccount = BiconomySmartAccount;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
-
var accounts = require('permissionless/accounts');
|
|
6
|
-
var constants = require('./constants.js');
|
|
7
|
-
|
|
8
|
-
class KernelSmartAccount {
|
|
9
|
-
constructor(options) {
|
|
10
|
-
_defineProperty(this, "name", constants.SMART_ACCOUNT.KERNEL);
|
|
11
|
-
_defineProperty(this, "options", void 0);
|
|
12
|
-
this.options = options;
|
|
13
|
-
}
|
|
14
|
-
async getSmartAccount(params) {
|
|
15
|
-
return accounts.toEcdsaKernelSmartAccount(_objectSpread(_objectSpread(_objectSpread({}, this.options || {}), params), {}, {
|
|
16
|
-
owners: [params.owner],
|
|
17
|
-
client: params.client
|
|
18
|
-
}));
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
exports.KernelSmartAccount = KernelSmartAccount;
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
4
|
-
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
|
-
var accounts = require('permissionless/accounts');
|
|
6
|
-
var accountAbstraction = require('viem/account-abstraction');
|
|
7
|
-
var constants = require('./constants.js');
|
|
8
|
-
|
|
9
|
-
class NexusSmartAccount {
|
|
10
|
-
constructor(options) {
|
|
11
|
-
_defineProperty(this, "name", constants.SMART_ACCOUNT.NEXUS);
|
|
12
|
-
_defineProperty(this, "options", void 0);
|
|
13
|
-
this.options = options;
|
|
14
|
-
}
|
|
15
|
-
async getSmartAccount(params) {
|
|
16
|
-
var _this$options, _this$options2, _this$options3;
|
|
17
|
-
return accounts.toNexusSmartAccount(_objectSpread(_objectSpread(_objectSpread({}, this.options || {}), {}, {
|
|
18
|
-
entryPoint: {
|
|
19
|
-
address: ((_this$options = this.options) === null || _this$options === void 0 || (_this$options = _this$options.entryPoint) === null || _this$options === void 0 ? void 0 : _this$options.address) || accountAbstraction.entryPoint07Address,
|
|
20
|
-
version: ((_this$options2 = this.options) === null || _this$options2 === void 0 || (_this$options2 = _this$options2.entryPoint) === null || _this$options2 === void 0 ? void 0 : _this$options2.version) || "0.7"
|
|
21
|
-
},
|
|
22
|
-
version: ((_this$options3 = this.options) === null || _this$options3 === void 0 ? void 0 : _this$options3.version) || "1.0.0"
|
|
23
|
-
}, params), {}, {
|
|
24
|
-
owners: [params.owner],
|
|
25
|
-
client: params.client
|
|
26
|
-
}));
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
exports.NexusSmartAccount = NexusSmartAccount;
|