@web3auth/no-modal 10.0.0-alpha.0 → 10.0.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib.cjs/base/chain/IChainInterface.js +7 -12
- package/dist/lib.cjs/base/chain/config.js +76 -35
- package/dist/lib.cjs/base/connector/baseConnector.js +64 -0
- package/dist/lib.cjs/base/connector/constants.js +26 -0
- package/dist/lib.cjs/base/errors/index.js +2 -12
- package/dist/lib.cjs/base/plugin/IPlugin.js +2 -2
- package/dist/lib.cjs/base/plugin/errors.js +2 -4
- package/dist/lib.cjs/base/utils.js +7 -7
- package/dist/lib.cjs/base/wallet/index.js +15 -20
- package/dist/lib.cjs/connectors/auth-connector/authConnector.js +503 -0
- package/dist/lib.cjs/connectors/auth-connector/config/authConnectionConfig.js +216 -0
- package/dist/lib.cjs/connectors/auth-connector/config/config-build.js +54 -0
- package/dist/lib.cjs/connectors/auth-connector/config/config-env.js +361 -0
- package/dist/lib.cjs/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +28 -19
- package/dist/lib.cjs/connectors/base-solana-connector/baseSolanaConnector.js +83 -0
- package/dist/lib.cjs/connectors/coinbase-connector/coinbaseConnector.js +159 -0
- package/dist/lib.cjs/connectors/injected-evm-connector/index.js +12 -0
- package/dist/lib.cjs/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +66 -42
- package/dist/lib.cjs/connectors/injected-solana-connector/index.js +25 -0
- package/dist/lib.cjs/connectors/injected-solana-connector/walletStandardConnector.js +156 -0
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +63 -95
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +55 -57
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/index.js +32 -0
- package/dist/lib.cjs/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +418 -0
- package/dist/lib.cjs/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +23 -26
- package/dist/lib.cjs/index.js +142 -102
- package/dist/lib.cjs/noModal.js +299 -241
- package/dist/lib.cjs/plugins/nft-checkout-plugin/embed.js +0 -3
- package/dist/lib.cjs/plugins/nft-checkout-plugin/plugin.js +18 -6
- package/dist/lib.cjs/plugins/wallet-services-plugin/plugin.js +50 -204
- package/dist/lib.cjs/providers/account-abstraction-provider/index.js +32 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +112 -35
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/utils.js +10 -0
- package/dist/lib.cjs/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +0 -2
- package/dist/lib.cjs/providers/base-provider/CommonJRPCProvider.js +21 -26
- package/dist/lib.cjs/providers/base-provider/baseProvider.js +49 -24
- package/dist/lib.cjs/providers/base-provider/commonPrivateKeyProvider.js +2 -13
- package/dist/lib.cjs/providers/base-provider/index.js +22 -0
- package/dist/lib.cjs/providers/base-provider/utils.js +10 -2
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +51 -61
- package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +12 -2
- package/dist/lib.cjs/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -1
- package/dist/lib.cjs/providers/ethereum-provider/providers/converter.js +0 -1
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +12 -11
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -5
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -2
- package/dist/lib.cjs/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +1 -30
- package/dist/lib.cjs/providers/ethereum-provider/rpc/walletMidddleware.js +0 -8
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +22 -11
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +7 -9
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +90 -2
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +37 -56
- package/dist/lib.cjs/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +30 -29
- package/dist/lib.cjs/providers/solana-provider/rpc/solanaRpcMiddlewares.js +5 -5
- package/dist/lib.cjs/providers/solana-provider/solanaWallet.js +41 -18
- package/dist/lib.cjs/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +36 -60
- package/dist/lib.cjs/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -4
- package/dist/lib.cjs/react/no-modal/Web3AuthInnerContext.js +28 -44
- package/dist/lib.cjs/react/no-modal/hooks/useWeb3Auth.js +11 -0
- package/dist/lib.cjs/react/wallet-services-plugin/WalletServicesContext.js +13 -1
- package/dist/lib.cjs/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
- package/dist/{types → lib.cjs/types}/base/chain/IChainInterface.d.ts +4 -10
- package/dist/{types → lib.cjs/types}/base/chain/config.d.ts +2 -2
- package/dist/lib.cjs/types/base/connector/baseConnector.d.ts +37 -0
- package/dist/{types/base/adapter → lib.cjs/types/base/connector}/constants.d.ts +7 -4
- package/dist/{types/base/adapter → lib.cjs/types/base/connector}/index.d.ts +1 -1
- package/dist/{types/base/adapter → lib.cjs/types/base/connector}/interfaces.d.ts +58 -48
- package/dist/lib.cjs/types/base/core/IWeb3Auth.d.ts +142 -0
- package/dist/{types → lib.cjs/types}/base/errors/index.d.ts +1 -1
- package/dist/{types → lib.cjs/types}/base/hooks/index.d.ts +2 -6
- package/dist/{types → lib.cjs/types}/base/index.d.ts +1 -1
- package/dist/{types → lib.cjs/types}/base/interfaces.d.ts +2 -1
- package/dist/{types → lib.cjs/types}/base/plugin/IPlugin.d.ts +4 -7
- package/dist/{types → lib.cjs/types}/base/plugin/errors.d.ts +1 -1
- package/dist/{types → lib.cjs/types}/base/utils.d.ts +1 -1
- package/dist/lib.cjs/types/base/wallet/index.d.ts +29 -0
- package/dist/lib.cjs/types/connectors/auth-connector/authConnector.d.ts +49 -0
- package/dist/lib.cjs/types/connectors/auth-connector/config/authConnectionConfig.d.ts +2 -0
- package/dist/lib.cjs/types/connectors/auth-connector/config/config-build.d.ts +18 -0
- package/dist/lib.cjs/types/connectors/auth-connector/config/config-env.d.ts +60 -0
- package/dist/lib.cjs/types/connectors/auth-connector/index.d.ts +2 -0
- package/dist/lib.cjs/types/connectors/auth-connector/interface.d.ts +15 -0
- package/dist/lib.cjs/types/connectors/base-evm-connector/baseEvmConnector.d.ts +7 -0
- package/dist/lib.cjs/types/connectors/base-evm-connector/index.d.ts +1 -0
- package/dist/lib.cjs/types/connectors/base-solana-connector/baseSolanaConnector.d.ts +7 -0
- package/dist/lib.cjs/types/connectors/base-solana-connector/index.d.ts +1 -0
- package/dist/lib.cjs/types/connectors/coinbase-connector/coinbaseConnector.d.ts +7 -0
- package/dist/lib.cjs/types/connectors/coinbase-connector/index.d.ts +1 -0
- package/dist/lib.cjs/types/connectors/index.d.ts +7 -0
- package/dist/lib.cjs/types/connectors/injected-evm-connector/index.d.ts +2 -0
- package/dist/lib.cjs/types/connectors/injected-evm-connector/injectedEvmConnector.d.ts +34 -0
- package/dist/lib.cjs/types/connectors/injected-solana-connector/index.d.ts +5 -0
- package/dist/lib.cjs/types/connectors/injected-solana-connector/walletStandardConnector.d.ts +33 -0
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.d.ts +4 -6
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/config.d.ts +4 -4
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/index.d.ts +1 -1
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/interface.d.ts +4 -4
- package/dist/lib.cjs/types/connectors/wallet-connect-v2-connector/walletConnectV2Connector.d.ts +3 -0
- package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/walletConnectV2Utils.d.ts +1 -6
- package/dist/{types → lib.cjs/types}/index.d.ts +1 -1
- package/dist/lib.cjs/types/noModal.d.ts +58 -0
- package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/plugin.d.ts +11 -7
- package/dist/lib.cjs/types/plugins/wallet-services-plugin/plugin.d.ts +27 -0
- package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +48 -0
- package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/index.d.ts +0 -1
- package/dist/lib.cjs/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +1 -0
- package/dist/{types → lib.cjs/types}/providers/base-provider/CommonJRPCProvider.d.ts +3 -3
- package/dist/{types → lib.cjs/types}/providers/base-provider/baseProvider.d.ts +10 -11
- package/dist/{types → lib.cjs/types}/providers/base-provider/commonPrivateKeyProvider.d.ts +3 -6
- package/dist/{types → lib.cjs/types}/providers/base-provider/interfaces.d.ts +3 -1
- package/dist/lib.cjs/types/providers/base-provider/utils.d.ts +9 -0
- package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.d.ts +14 -6
- package/dist/lib.cjs/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +1 -0
- package/dist/lib.cjs/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +4 -0
- package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/interfaces.d.ts +0 -13
- package/dist/lib.cjs/types/providers/solana-provider/interface.d.ts +22 -0
- package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.d.ts +2 -2
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/index.d.ts +2 -0
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/utils.d.ts +3 -0
- package/dist/lib.cjs/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +9 -0
- package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.d.ts +5 -6
- package/dist/lib.cjs/types/providers/solana-provider/rpc/interfaces.d.ts +27 -0
- package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/solanaRpcMiddlewares.d.ts +1 -1
- package/dist/lib.cjs/types/providers/solana-provider/solanaWallet.d.ts +28 -0
- package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.d.ts +5 -6
- package/dist/{types → lib.cjs/types}/providers/xrpl-provider/rpc/xrplRpcMiddlewares.d.ts +1 -4
- package/dist/{types → lib.cjs/types}/react/no-modal/interfaces.d.ts +4 -4
- package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/interfaces.d.ts +2 -2
- package/dist/{types → lib.cjs/types}/vue/no-modal/interfaces.d.ts +5 -8
- package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/interfaces.d.ts +2 -2
- package/dist/lib.cjs/vue/no-modal/Web3AuthProvider.js +27 -44
- package/dist/lib.cjs/vue/no-modal/composables/useWeb3Auth.js +12 -1
- package/dist/lib.cjs/vue/wallet-services-plugin/WalletServicesProvider.js +14 -2
- package/dist/lib.cjs/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
- package/dist/lib.esm/base/chain/IChainInterface.js +3 -11
- package/dist/lib.esm/base/chain/config.js +65 -24
- package/dist/lib.esm/base/connector/baseConnector.js +62 -0
- package/dist/lib.esm/base/connector/constants.js +22 -0
- package/dist/lib.esm/base/errors/index.js +2 -12
- package/dist/lib.esm/base/plugin/IPlugin.js +1 -1
- package/dist/lib.esm/base/plugin/errors.js +2 -4
- package/dist/lib.esm/base/utils.js +5 -5
- package/dist/lib.esm/base/wallet/index.js +11 -16
- package/dist/lib.esm/connectors/auth-connector/authConnector.js +501 -0
- package/dist/lib.esm/connectors/auth-connector/config/authConnectionConfig.js +214 -0
- package/dist/lib.esm/connectors/auth-connector/config/config-build.js +48 -0
- package/dist/lib.esm/connectors/auth-connector/config/config-env.js +359 -0
- package/dist/lib.esm/{adapters/base-evm-adapter/baseEvmAdapter.js → connectors/base-evm-connector/baseEvmConnector.js} +29 -20
- package/dist/lib.esm/connectors/base-solana-connector/baseSolanaConnector.js +81 -0
- package/dist/lib.esm/connectors/coinbase-connector/coinbaseConnector.js +157 -0
- package/dist/lib.esm/connectors/injected-evm-connector/index.js +2 -0
- package/dist/lib.esm/{adapters/default-evm-adapter/injectedEvmAdapter.js → connectors/injected-evm-connector/injectedEvmConnector.js} +64 -41
- package/dist/lib.esm/connectors/injected-solana-connector/index.js +18 -0
- package/dist/lib.esm/{adapters/default-solana-adapter/walletStandardAdapter.js → connectors/injected-solana-connector/walletStandardConnector.js} +66 -49
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/WalletConnectV2Provider.js +63 -95
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/config.js +47 -45
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/index.js +3 -0
- package/dist/lib.esm/connectors/wallet-connect-v2-connector/walletConnectV2Connector.js +416 -0
- package/dist/lib.esm/{adapters/wallet-connect-v2-adapter → connectors/wallet-connect-v2-connector}/walletConnectV2Utils.js +24 -26
- package/dist/lib.esm/index.js +29 -34
- package/dist/lib.esm/noModal.js +297 -239
- package/dist/lib.esm/plugins/nft-checkout-plugin/embed.js +1 -4
- package/dist/lib.esm/plugins/nft-checkout-plugin/plugin.js +18 -6
- package/dist/lib.esm/plugins/wallet-services-plugin/plugin.js +46 -201
- package/dist/lib.esm/providers/account-abstraction-provider/index.js +2 -0
- package/dist/lib.esm/providers/account-abstraction-provider/providers/AccountAbstractionProvider.js +108 -34
- package/dist/lib.esm/providers/account-abstraction-provider/providers/utils.js +10 -0
- package/dist/lib.esm/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.js +0 -2
- package/dist/lib.esm/providers/base-provider/CommonJRPCProvider.js +22 -27
- package/dist/lib.esm/providers/base-provider/baseProvider.js +49 -24
- package/dist/lib.esm/providers/base-provider/commonPrivateKeyProvider.js +2 -13
- package/dist/lib.esm/providers/base-provider/index.js +5 -0
- package/dist/lib.esm/providers/base-provider/utils.js +9 -1
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/EthereumSigningProvider.js +50 -60
- package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js +12 -2
- package/dist/lib.esm/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.js +0 -1
- package/dist/lib.esm/providers/ethereum-provider/providers/converter.js +0 -1
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js +12 -11
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js +3 -3
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js +1 -2
- package/dist/lib.esm/providers/ethereum-provider/rpc/ethRpcMiddlewares.js +2 -30
- package/dist/lib.esm/providers/ethereum-provider/rpc/walletMidddleware.js +0 -8
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/baseInjectedProvider.js +22 -11
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/base/providerHandlers.js +4 -6
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/walletStandardProvider.js +90 -2
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyProvider.js +36 -55
- package/dist/lib.esm/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.js +29 -28
- package/dist/lib.esm/providers/solana-provider/rpc/solanaRpcMiddlewares.js +6 -6
- package/dist/lib.esm/providers/solana-provider/solanaWallet.js +41 -18
- package/dist/lib.esm/providers/xrpl-provider/providers/privateKeyProviders/xrplPrivateKeyProvider.js +35 -59
- package/dist/lib.esm/providers/xrpl-provider/rpc/xrplRpcMiddlewares.js +1 -4
- package/dist/lib.esm/react/no-modal/Web3AuthInnerContext.js +28 -44
- package/dist/lib.esm/react/no-modal/hooks/useWeb3Auth.js +11 -0
- package/dist/lib.esm/react/wallet-services-plugin/WalletServicesContext.js +13 -1
- package/dist/lib.esm/react/wallet-services-plugin/hooks/useWalletServicesPlugin.js +11 -0
- package/dist/lib.esm/vue/no-modal/Web3AuthProvider.js +27 -44
- package/dist/lib.esm/vue/no-modal/composables/useWeb3Auth.js +12 -1
- package/dist/lib.esm/vue/wallet-services-plugin/WalletServicesProvider.js +14 -2
- package/dist/lib.esm/vue/wallet-services-plugin/composables/useWalletServicesPlugin.js +12 -1
- package/dist/noModal.umd.min.js +1 -1
- package/dist/noModal.umd.min.js.LICENSE.txt +0 -9
- package/package.json +25 -22
- package/dist/757.noModal.cjs.js +0 -226
- package/dist/lib.cjs/adapters/auth-adapter/authAdapter.js +0 -262
- package/dist/lib.cjs/adapters/auth-adapter/config.js +0 -17
- package/dist/lib.cjs/adapters/base-solana-adapter/baseSolanaAdapter.js +0 -76
- package/dist/lib.cjs/adapters/coinbase-adapter/coinbaseAdapter.js +0 -156
- package/dist/lib.cjs/adapters/default-evm-adapter/index.js +0 -40
- package/dist/lib.cjs/adapters/default-evm-adapter/injectedAdapters.js +0 -42
- package/dist/lib.cjs/adapters/default-solana-adapter/index.js +0 -40
- package/dist/lib.cjs/adapters/default-solana-adapter/injectedAdapters.js +0 -53
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardAdapter.js +0 -138
- package/dist/lib.cjs/adapters/default-solana-adapter/walletStandardHandler.js +0 -77
- package/dist/lib.cjs/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -376
- package/dist/lib.cjs/base/adapter/baseAdapter.js +0 -117
- package/dist/lib.cjs/base/adapter/constants.js +0 -24
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -29
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -22
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -30
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -30
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -29
- package/dist/lib.cjs/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -11
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -185
- package/dist/lib.cjs/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -106
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -12
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -75
- package/dist/lib.cjs/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -109
- package/dist/lib.esm/adapters/auth-adapter/authAdapter.js +0 -260
- package/dist/lib.esm/adapters/auth-adapter/config.js +0 -15
- package/dist/lib.esm/adapters/base-solana-adapter/baseSolanaAdapter.js +0 -74
- package/dist/lib.esm/adapters/coinbase-adapter/coinbaseAdapter.js +0 -154
- package/dist/lib.esm/adapters/default-evm-adapter/index.js +0 -37
- package/dist/lib.esm/adapters/default-evm-adapter/injectedAdapters.js +0 -40
- package/dist/lib.esm/adapters/default-solana-adapter/index.js +0 -37
- package/dist/lib.esm/adapters/default-solana-adapter/injectedAdapters.js +0 -51
- package/dist/lib.esm/adapters/default-solana-adapter/walletStandardHandler.js +0 -75
- package/dist/lib.esm/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.js +0 -374
- package/dist/lib.esm/base/adapter/baseAdapter.js +0 -115
- package/dist/lib.esm/base/adapter/constants.js +0 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.js +0 -27
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.js +0 -20
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.js +0 -28
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.js +0 -28
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.js +0 -27
- package/dist/lib.esm/providers/account-abstraction-provider/providers/smartAccounts/constants.js +0 -9
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.js +0 -183
- package/dist/lib.esm/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.js +0 -104
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.js +0 -10
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.js +0 -73
- package/dist/lib.esm/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.js +0 -107
- package/dist/noModal.cjs.js +0 -26385
- package/dist/types/adapters/auth-adapter/authAdapter.d.ts +0 -42
- package/dist/types/adapters/auth-adapter/config.d.ts +0 -2
- package/dist/types/adapters/auth-adapter/index.d.ts +0 -3
- package/dist/types/adapters/auth-adapter/interface.d.ts +0 -11
- package/dist/types/adapters/base-evm-adapter/baseEvmAdapter.d.ts +0 -7
- package/dist/types/adapters/base-evm-adapter/index.d.ts +0 -1
- package/dist/types/adapters/base-solana-adapter/baseSolanaAdapter.d.ts +0 -7
- package/dist/types/adapters/base-solana-adapter/index.d.ts +0 -1
- package/dist/types/adapters/coinbase-adapter/coinbaseAdapter.d.ts +0 -33
- package/dist/types/adapters/coinbase-adapter/index.d.ts +0 -1
- package/dist/types/adapters/default-evm-adapter/index.d.ts +0 -6
- package/dist/types/adapters/default-evm-adapter/injectedAdapters.d.ts +0 -4
- package/dist/types/adapters/default-evm-adapter/injectedEvmAdapter.d.ts +0 -30
- package/dist/types/adapters/default-solana-adapter/index.d.ts +0 -6
- package/dist/types/adapters/default-solana-adapter/injectedAdapters.d.ts +0 -4
- package/dist/types/adapters/default-solana-adapter/walletStandardAdapter.d.ts +0 -31
- package/dist/types/adapters/default-solana-adapter/walletStandardHandler.d.ts +0 -27
- package/dist/types/adapters/index.d.ts +0 -7
- package/dist/types/adapters/wallet-connect-v2-adapter/walletConnectV2adapter.d.ts +0 -42
- package/dist/types/base/adapter/baseAdapter.d.ts +0 -44
- package/dist/types/base/core/IWeb3Auth.d.ts +0 -101
- package/dist/types/base/wallet/index.d.ts +0 -33
- package/dist/types/noModal.d.ts +0 -43
- package/dist/types/plugins/wallet-services-plugin/plugin.d.ts +0 -51
- package/dist/types/providers/account-abstraction-provider/providers/AccountAbstractionProvider.d.ts +0 -46
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/BiconomySmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/KernelSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/LightSmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/NexusSmartAccount.d.ts +0 -14
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SafeSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/SimpleSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/TrustSmartAccount.d.ts +0 -13
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/constants.d.ts +0 -9
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/index.d.ts +0 -6
- package/dist/types/providers/account-abstraction-provider/providers/smartAccounts/types.d.ts +0 -22
- package/dist/types/providers/account-abstraction-provider/providers/types.d.ts +0 -17
- package/dist/types/providers/base-provider/utils.d.ts +0 -2
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/EthereumPrivateKeyProvider.d.ts +0 -30
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/ethPrivatekeyUtils.d.ts +0 -9
- package/dist/types/providers/ethereum-provider/providers/privateKeyProviders/index.d.ts +0 -2
- package/dist/types/providers/ethereum-provider/rpc/ethRpcMiddlewares.d.ts +0 -5
- package/dist/types/providers/solana-provider/interface.d.ts +0 -39
- package/dist/types/providers/solana-provider/providers/injectedProviders/index.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/injectedProviderProxy.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/interface.d.ts +0 -5
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/providerHandlers.d.ts +0 -3
- package/dist/types/providers/solana-provider/providers/injectedProviders/torus/torusInjectedProvider.d.ts +0 -18
- package/dist/types/providers/solana-provider/providers/injectedProviders/walletStandardProvider.d.ts +0 -6
- package/dist/types/providers/solana-provider/rpc/interfaces.d.ts +0 -42
- package/dist/types/providers/solana-provider/solanaWallet.d.ts +0 -14
- /package/dist/lib.cjs/base/{adapter → connector}/utils.js +0 -0
- /package/dist/lib.cjs/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
- /package/dist/{types → lib.cjs/types}/base/composables/index.d.ts +0 -0
- /package/dist/{types/base/adapter → lib.cjs/types/base/connector}/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/loglevel.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/plugin/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/base/provider/IProvider.d.ts +0 -0
- /package/dist/{types/adapters/default-solana-adapter → lib.cjs/types/connectors/injected-solana-connector}/utils.d.ts +0 -0
- /package/dist/{types/adapters/wallet-connect-v2-adapter → lib.cjs/types/connectors/wallet-connect-v2-connector}/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/embed.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/enums.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/nft-checkout-plugin/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/plugins/wallet-services-plugin/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/providers/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/rpc/ethRpcMiddlewares.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/account-abstraction-provider/rpc/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/base-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/base-provider/jrpcClient.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/rpc/ethRpcMiddlewares.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-mpc-provider/rpc/interfaces.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/converter.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/constants.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/providers/utils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/jrpcClient.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/ethereum-provider/rpc/walletMidddleware.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/injectedProviders/base/providerHandlers.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/providers/privateKeyProvider/solanaPrivateKeyUtils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/JrpcClient.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/solana-provider/rpc/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/constants.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/interface.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/providers/privateKeyProviders/xrplWalletUtils.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/providers/xrpl-provider/rpc/JrpcClient.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/Web3AuthInnerContext.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/Web3AuthProvider.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/hooks/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/hooks/useWeb3Auth.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/no-modal/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/WalletServicesContext.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/WalletServicesProvider.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/hooks/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/hooks/useWalletServicesPlugin.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/react/wallet-services-plugin/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/no-modal/Web3AuthProvider.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/no-modal/composables/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/no-modal/composables/useWeb3Auth.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/no-modal/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/WalletServicesProvider.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/composables/index.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/composables/useWalletServicesPlugin.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/context.d.ts +0 -0
- /package/dist/{types → lib.cjs/types}/vue/wallet-services-plugin/index.d.ts +0 -0
- /package/dist/lib.esm/base/{adapter → connector}/utils.js +0 -0
- /package/dist/lib.esm/{adapters/default-solana-adapter → providers/solana-provider/providers/injectedProviders}/utils.js +0 -0
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import {
|
|
3
|
-
import { JRPCEngine, providerFromEngine, providerErrors } from '@web3auth/auth';
|
|
2
|
+
import { providerErrors, JRPCEngine, providerFromEngine } from '@web3auth/auth';
|
|
4
3
|
import { BaseProvider } from './baseProvider.js';
|
|
5
4
|
import { createJsonRpcClient } from './jrpcClient.js';
|
|
6
5
|
|
|
@@ -15,23 +14,25 @@ class CommonJRPCProvider extends BaseProvider {
|
|
|
15
14
|
state
|
|
16
15
|
});
|
|
17
16
|
}
|
|
18
|
-
async setupProvider() {
|
|
17
|
+
async setupProvider(chainId) {
|
|
18
|
+
const chain = this.getChain(chainId);
|
|
19
|
+
if (!chain) throw providerErrors.custom({
|
|
20
|
+
message: "Chain not found",
|
|
21
|
+
code: 4902
|
|
22
|
+
});
|
|
19
23
|
const {
|
|
20
24
|
networkMiddleware
|
|
21
|
-
} = createJsonRpcClient(
|
|
25
|
+
} = createJsonRpcClient(chain);
|
|
22
26
|
const engine = new JRPCEngine();
|
|
23
27
|
engine.push(networkMiddleware);
|
|
24
28
|
const provider = providerFromEngine(engine);
|
|
25
29
|
this.updateProviderEngineProxy(provider);
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
chainId: newChainId
|
|
31
|
-
});
|
|
32
|
-
}
|
|
30
|
+
this.emit("chainChanged", chainId);
|
|
31
|
+
this.emit("connect", {
|
|
32
|
+
chainId
|
|
33
|
+
});
|
|
33
34
|
this.update({
|
|
34
|
-
chainId
|
|
35
|
+
chainId
|
|
35
36
|
});
|
|
36
37
|
}
|
|
37
38
|
async switchChain(params) {
|
|
@@ -39,22 +40,12 @@ class CommonJRPCProvider extends BaseProvider {
|
|
|
39
40
|
message: "Provider is not initialized",
|
|
40
41
|
code: 4902
|
|
41
42
|
});
|
|
42
|
-
const
|
|
43
|
+
const newChainId = params.chainId;
|
|
44
|
+
if (this.chainId === newChainId) return;
|
|
43
45
|
this.update({
|
|
44
46
|
chainId: "loading"
|
|
45
47
|
});
|
|
46
|
-
this.
|
|
47
|
-
chainConfig
|
|
48
|
-
});
|
|
49
|
-
await this.setupProvider();
|
|
50
|
-
}
|
|
51
|
-
updateProviderEngineProxy(provider) {
|
|
52
|
-
if (this._providerEngineProxy) {
|
|
53
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
54
|
-
this._providerEngineProxy.setTarget(provider);
|
|
55
|
-
} else {
|
|
56
|
-
this._providerEngineProxy = createEventEmitterProxy(provider);
|
|
57
|
-
}
|
|
48
|
+
await this.setupProvider(newChainId);
|
|
58
49
|
}
|
|
59
50
|
getProviderEngineProxy() {
|
|
60
51
|
return this._providerEngineProxy;
|
|
@@ -67,10 +58,14 @@ _CommonJRPCProvider = CommonJRPCProvider;
|
|
|
67
58
|
_defineProperty(CommonJRPCProvider, "getProviderInstance", async params => {
|
|
68
59
|
const providerFactory = new _CommonJRPCProvider({
|
|
69
60
|
config: {
|
|
70
|
-
|
|
61
|
+
chain: params.chain,
|
|
62
|
+
chains: params.chains
|
|
71
63
|
}
|
|
72
64
|
});
|
|
73
|
-
|
|
65
|
+
const {
|
|
66
|
+
chainId
|
|
67
|
+
} = params.chain;
|
|
68
|
+
await providerFactory.setupProvider(chainId);
|
|
74
69
|
return providerFactory;
|
|
75
70
|
});
|
|
76
71
|
|
|
@@ -3,6 +3,15 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
3
3
|
import { BaseController, createEventEmitterProxy } from '@toruslabs/base-controllers';
|
|
4
4
|
import { rpcErrors } from '@web3auth/auth';
|
|
5
5
|
import { WalletInitializationError, WalletProviderError } from '../../base/errors/index.js';
|
|
6
|
+
import '../../base/wallet/index.js';
|
|
7
|
+
import '../../base/connector/constants.js';
|
|
8
|
+
import 'jwt-decode';
|
|
9
|
+
import '../../base/loglevel.js';
|
|
10
|
+
import '../../base/plugin/errors.js';
|
|
11
|
+
import '../../base/plugin/IPlugin.js';
|
|
12
|
+
import '@toruslabs/constants';
|
|
13
|
+
import '@toruslabs/http-helpers';
|
|
14
|
+
import { EIP1193_EVENTS } from './utils.js';
|
|
6
15
|
|
|
7
16
|
class BaseProvider extends BaseController {
|
|
8
17
|
constructor({
|
|
@@ -18,24 +27,25 @@ class BaseProvider extends BaseController {
|
|
|
18
27
|
// set to true when the keyExportEnabled flag is set by code.
|
|
19
28
|
// This is to prevent the flag from being overridden by the dashboard config.
|
|
20
29
|
_defineProperty(this, "keyExportFlagSetByCode", false);
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
30
|
+
const {
|
|
31
|
+
chain
|
|
32
|
+
} = config;
|
|
33
|
+
if (!chain) throw WalletInitializationError.invalidProviderConfigError("Please provide chain");
|
|
34
|
+
if (!chain.chainId) throw WalletInitializationError.invalidProviderConfigError("Please provide chainId inside chain");
|
|
35
|
+
if (!chain.rpcTarget) throw WalletInitializationError.invalidProviderConfigError("Please provide rpcTarget inside chain");
|
|
24
36
|
if (typeof config.keyExportEnabled === "boolean") this.keyExportFlagSetByCode = true;
|
|
25
37
|
this.defaultState = {
|
|
26
38
|
chainId: "loading"
|
|
27
39
|
};
|
|
28
40
|
this.defaultConfig = {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
[config.chainConfig.chainId]: config.chainConfig
|
|
32
|
-
},
|
|
41
|
+
chain: config.chain,
|
|
42
|
+
chains: config.chains,
|
|
33
43
|
keyExportEnabled: typeof config.keyExportEnabled === "boolean" ? config.keyExportEnabled : true
|
|
34
44
|
};
|
|
35
45
|
super.initialize();
|
|
36
46
|
}
|
|
37
|
-
get
|
|
38
|
-
return this.config.
|
|
47
|
+
get currentChain() {
|
|
48
|
+
return this.config.chains.find(chain => chain.chainId === this.state.chainId);
|
|
39
49
|
}
|
|
40
50
|
get provider() {
|
|
41
51
|
return this._providerEngineProxy;
|
|
@@ -87,25 +97,37 @@ class BaseProvider extends BaseController {
|
|
|
87
97
|
result: res
|
|
88
98
|
})).catch(err => callback(err, null));
|
|
89
99
|
}
|
|
90
|
-
addChain(chainConfig) {
|
|
91
|
-
if (!chainConfig.chainId) throw rpcErrors.invalidParams("chainId is required");
|
|
92
|
-
if (!chainConfig.rpcTarget) throw rpcErrors.invalidParams("chainId is required");
|
|
93
|
-
this.configure({
|
|
94
|
-
networks: _objectSpread(_objectSpread({}, this.config.networks), {}, {
|
|
95
|
-
[chainConfig.chainId]: chainConfig
|
|
96
|
-
})
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
getChainConfig(chainId) {
|
|
100
|
-
var _this$config$networks;
|
|
101
|
-
const chainConfig = (_this$config$networks = this.config.networks) === null || _this$config$networks === void 0 ? void 0 : _this$config$networks[chainId];
|
|
102
|
-
if (!chainConfig) throw rpcErrors.invalidRequest(`Chain ${chainId} is not supported, please add chainConfig for it`);
|
|
103
|
-
return chainConfig;
|
|
104
|
-
}
|
|
105
100
|
updateProviderEngineProxy(provider) {
|
|
106
101
|
if (this._providerEngineProxy) {
|
|
107
102
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
108
103
|
this._providerEngineProxy.setTarget(provider);
|
|
104
|
+
// we want events to propagate from Ethereum provider -> wrapper provider (e.g. CommonJRPC provider) -> SDK -> dapp
|
|
105
|
+
// ensure that only one handler is added for each event
|
|
106
|
+
const reEmitHandler = event => {
|
|
107
|
+
// listen to the event from the Ethereum provider
|
|
108
|
+
provider.on(event, (...args) => {
|
|
109
|
+
// handle chainChanged event: update chainId state
|
|
110
|
+
if (event === EIP1193_EVENTS.CHAIN_CHANGED) {
|
|
111
|
+
const chainId = args[0];
|
|
112
|
+
this.update({
|
|
113
|
+
chainId
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
// re-emit the event
|
|
117
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
118
|
+
this.emit(event, ...args);
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
// handle existing events
|
|
122
|
+
this.eventNames().forEach(event => {
|
|
123
|
+
reEmitHandler(event);
|
|
124
|
+
});
|
|
125
|
+
// handle when a new listener is added
|
|
126
|
+
this.on("newListener", event => {
|
|
127
|
+
// skip if the event already exists
|
|
128
|
+
if (this.listenerCount(event) > 0) return;
|
|
129
|
+
reEmitHandler(event);
|
|
130
|
+
});
|
|
109
131
|
} else {
|
|
110
132
|
this._providerEngineProxy = createEventEmitterProxy(provider);
|
|
111
133
|
}
|
|
@@ -120,6 +142,9 @@ class BaseProvider extends BaseController {
|
|
|
120
142
|
getProviderEngineProxy() {
|
|
121
143
|
return this._providerEngineProxy;
|
|
122
144
|
}
|
|
145
|
+
getChain(chainId) {
|
|
146
|
+
return this.config.chains.find(chain => chain.chainId === chainId);
|
|
147
|
+
}
|
|
123
148
|
}
|
|
124
149
|
|
|
125
150
|
export { BaseProvider };
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import { createEventEmitterProxy } from '@toruslabs/base-controllers';
|
|
3
2
|
import { JRPCEngine, providerFromEngine, createScaffoldMiddleware, createAsyncMiddleware } from '@web3auth/auth';
|
|
4
3
|
import { BaseProvider } from './baseProvider.js';
|
|
5
4
|
|
|
@@ -22,9 +21,6 @@ class CommonPrivateKeyProvider extends BaseProvider {
|
|
|
22
21
|
set provider(_) {
|
|
23
22
|
throw new Error("Method not implemented.");
|
|
24
23
|
}
|
|
25
|
-
addChain(_) {
|
|
26
|
-
throw new Error("Method not implemented.");
|
|
27
|
-
}
|
|
28
24
|
async setupProvider(privKey) {
|
|
29
25
|
const privKeyMiddleware = this.getPrivKeyMiddleware(privKey);
|
|
30
26
|
const engine = new JRPCEngine();
|
|
@@ -32,14 +28,6 @@ class CommonPrivateKeyProvider extends BaseProvider {
|
|
|
32
28
|
const provider = providerFromEngine(engine);
|
|
33
29
|
this.updateProviderEngineProxy(provider);
|
|
34
30
|
}
|
|
35
|
-
updateProviderEngineProxy(provider) {
|
|
36
|
-
if (this._providerEngineProxy) {
|
|
37
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
38
|
-
this._providerEngineProxy.setTarget(provider);
|
|
39
|
-
} else {
|
|
40
|
-
this._providerEngineProxy = createEventEmitterProxy(provider);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
31
|
async switchChain(_) {
|
|
44
32
|
return Promise.resolve();
|
|
45
33
|
}
|
|
@@ -77,7 +65,8 @@ _CommonPrivateKeyProvider = CommonPrivateKeyProvider;
|
|
|
77
65
|
_defineProperty(CommonPrivateKeyProvider, "getProviderInstance", async params => {
|
|
78
66
|
const providerFactory = new _CommonPrivateKeyProvider({
|
|
79
67
|
config: {
|
|
80
|
-
|
|
68
|
+
chain: params.chain,
|
|
69
|
+
chains: params.chains
|
|
81
70
|
}
|
|
82
71
|
});
|
|
83
72
|
await providerFactory.setupProvider(params.privKey);
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { BaseProvider } from './baseProvider.js';
|
|
2
|
+
export { CommonJRPCProvider } from './CommonJRPCProvider.js';
|
|
3
|
+
export { CommonPrivateKeyProvider } from './commonPrivateKeyProvider.js';
|
|
4
|
+
export { EIP1193_EVENTS, createRandomId } from './utils.js';
|
|
5
|
+
export { getED25519Key } from '@web3auth/auth';
|
|
@@ -2,5 +2,13 @@ import getCreateRandomId from 'json-rpc-random-id';
|
|
|
2
2
|
export { getED25519Key } from '@web3auth/auth';
|
|
3
3
|
|
|
4
4
|
const createRandomId = getCreateRandomId();
|
|
5
|
+
var EIP1193_EVENTS;
|
|
6
|
+
(function (EIP1193_EVENTS) {
|
|
7
|
+
EIP1193_EVENTS["ACCOUNTS_CHANGED"] = "accountsChanged";
|
|
8
|
+
EIP1193_EVENTS["CHAIN_CHANGED"] = "chainChanged";
|
|
9
|
+
EIP1193_EVENTS["CONNECT"] = "connect";
|
|
10
|
+
EIP1193_EVENTS["DISCONNECT"] = "disconnect";
|
|
11
|
+
EIP1193_EVENTS["MESSAGE"] = "message";
|
|
12
|
+
})(EIP1193_EVENTS || (EIP1193_EVENTS = {}));
|
|
5
13
|
|
|
6
|
-
export { createRandomId };
|
|
14
|
+
export { EIP1193_EVENTS, createRandomId };
|
|
@@ -2,14 +2,27 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
|
2
2
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
3
|
import { isHexString } from '@ethereumjs/util';
|
|
4
4
|
import { providerErrors, JRPCEngine, providerFromEngine, rpcErrors } from '@web3auth/auth';
|
|
5
|
-
import { CHAIN_NAMESPACES } from '../../../../base/chain/IChainInterface.js';
|
|
6
5
|
import { WalletInitializationError } from '../../../../base/errors/index.js';
|
|
7
|
-
import {
|
|
8
|
-
import
|
|
9
|
-
import
|
|
6
|
+
import { CHAIN_NAMESPACES } from '@toruslabs/base-controllers';
|
|
7
|
+
import '../../../../base/wallet/index.js';
|
|
8
|
+
import '../../../../base/connector/constants.js';
|
|
9
|
+
import 'jwt-decode';
|
|
10
|
+
import '../../../../base/loglevel.js';
|
|
11
|
+
import '../../../../base/plugin/errors.js';
|
|
12
|
+
import '../../../../base/plugin/IPlugin.js';
|
|
13
|
+
import '@toruslabs/constants';
|
|
14
|
+
import '@toruslabs/http-helpers';
|
|
10
15
|
import { BaseProvider } from '../../../base-provider/baseProvider.js';
|
|
16
|
+
import '../../../base-provider/CommonJRPCProvider.js';
|
|
17
|
+
import '../../../base-provider/commonPrivateKeyProvider.js';
|
|
18
|
+
import '../../../base-provider/utils.js';
|
|
19
|
+
import { TransactionFormatter } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js';
|
|
20
|
+
import '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js';
|
|
21
|
+
import '../../../ethereum-provider/providers/converter.js';
|
|
11
22
|
import { createEthMiddleware, createEthChainSwitchMiddleware } from '../../../ethereum-provider/rpc/ethRpcMiddlewares.js';
|
|
12
23
|
import { createEthJsonRpcClient } from '../../../ethereum-provider/rpc/jrpcClient.js';
|
|
24
|
+
import { createEthAccountMiddleware } from '../../rpc/ethRpcMiddlewares.js';
|
|
25
|
+
import { getProviderHandlers } from './signingUtils.js';
|
|
13
26
|
|
|
14
27
|
var _EthereumSigningProvider;
|
|
15
28
|
class EthereumSigningProvider extends BaseProvider {
|
|
@@ -19,9 +32,10 @@ class EthereumSigningProvider extends BaseProvider {
|
|
|
19
32
|
}) {
|
|
20
33
|
super({
|
|
21
34
|
config: {
|
|
22
|
-
|
|
23
|
-
chainNamespace: CHAIN_NAMESPACES.EIP155
|
|
24
|
-
})
|
|
35
|
+
chain: _objectSpread(_objectSpread({}, config.chain), {}, {
|
|
36
|
+
chainNamespace: CHAIN_NAMESPACES.EIP155 // TODO: is this needed ?
|
|
37
|
+
}),
|
|
38
|
+
chains: config.chains
|
|
25
39
|
},
|
|
26
40
|
state
|
|
27
41
|
});
|
|
@@ -32,18 +46,20 @@ class EthereumSigningProvider extends BaseProvider {
|
|
|
32
46
|
message: "signMethods are not found in state, plz pass it in constructor state param",
|
|
33
47
|
code: 4902
|
|
34
48
|
});
|
|
35
|
-
await this.setupProvider(this.state.signMethods);
|
|
49
|
+
await this.setupProvider(this.state.signMethods, this.chainId);
|
|
36
50
|
return this._providerEngineProxy.request({
|
|
37
51
|
method: "eth_accounts"
|
|
38
52
|
});
|
|
39
53
|
}
|
|
40
|
-
async setupProvider({
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
54
|
+
async setupProvider(params, chainId) {
|
|
55
|
+
const {
|
|
56
|
+
sign,
|
|
57
|
+
getPublic
|
|
58
|
+
} = params;
|
|
59
|
+
const chain = this.getChain(chainId);
|
|
44
60
|
const {
|
|
45
61
|
chainNamespace
|
|
46
|
-
} =
|
|
62
|
+
} = chain;
|
|
47
63
|
if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
|
|
48
64
|
const txFormatter = new TransactionFormatter({
|
|
49
65
|
getProviderEngineProxy: this.getProviderEngineProxy.bind(this)
|
|
@@ -60,7 +76,7 @@ class EthereumSigningProvider extends BaseProvider {
|
|
|
60
76
|
// Not a partial anymore because of checks in ctor
|
|
61
77
|
const {
|
|
62
78
|
networkMiddleware
|
|
63
|
-
} = createEthJsonRpcClient(
|
|
79
|
+
} = createEthJsonRpcClient(chain);
|
|
64
80
|
engine.push(ethMiddleware);
|
|
65
81
|
engine.push(chainSwitchMiddleware);
|
|
66
82
|
engine.push(this.getAccountMiddleware());
|
|
@@ -68,11 +84,18 @@ class EthereumSigningProvider extends BaseProvider {
|
|
|
68
84
|
const provider = providerFromEngine(engine);
|
|
69
85
|
this.updateProviderEngineProxy(provider);
|
|
70
86
|
await txFormatter.init();
|
|
71
|
-
await this.lookupNetwork();
|
|
87
|
+
await this.lookupNetwork(params, chainId);
|
|
72
88
|
this.state.signMethods = {
|
|
73
89
|
sign,
|
|
74
90
|
getPublic
|
|
75
91
|
};
|
|
92
|
+
this.emit("chainChanged", chainId);
|
|
93
|
+
this.emit("connect", {
|
|
94
|
+
chainId
|
|
95
|
+
});
|
|
96
|
+
this.update({
|
|
97
|
+
chainId
|
|
98
|
+
});
|
|
76
99
|
}
|
|
77
100
|
async updateAccount(params) {
|
|
78
101
|
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
@@ -89,7 +112,7 @@ class EthereumSigningProvider extends BaseProvider {
|
|
|
89
112
|
const currentPubKey = (await currentSignMethods.getPublic()).toString("hex");
|
|
90
113
|
const updatePubKey = (await params.signMethods.getPublic()).toString("hex");
|
|
91
114
|
if (currentPubKey !== updatePubKey) {
|
|
92
|
-
await this.setupProvider(params.signMethods);
|
|
115
|
+
await this.setupProvider(params.signMethods, this.chainId);
|
|
93
116
|
const accounts = await this._providerEngineProxy.request({
|
|
94
117
|
method: "eth_accounts"
|
|
95
118
|
});
|
|
@@ -101,29 +124,25 @@ class EthereumSigningProvider extends BaseProvider {
|
|
|
101
124
|
message: "Provider is not initialized",
|
|
102
125
|
code: 4902
|
|
103
126
|
});
|
|
104
|
-
const chainConfig = this.getChainConfig(params.chainId);
|
|
105
|
-
this.update({
|
|
106
|
-
chainId: "loading"
|
|
107
|
-
});
|
|
108
|
-
this.configure({
|
|
109
|
-
chainConfig
|
|
110
|
-
});
|
|
111
127
|
if (!this.state.signMethods) {
|
|
112
128
|
throw providerErrors.custom({
|
|
113
129
|
message: "sign methods are undefined",
|
|
114
130
|
code: 4902
|
|
115
131
|
});
|
|
116
132
|
}
|
|
117
|
-
|
|
133
|
+
if (params.chainId === this.chainId) {
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
this.update({
|
|
137
|
+
chainId: "loading"
|
|
138
|
+
});
|
|
139
|
+
await this.setupProvider(this.state.signMethods, params.chainId);
|
|
118
140
|
}
|
|
119
|
-
async lookupNetwork() {
|
|
141
|
+
async lookupNetwork(_, chainId) {
|
|
120
142
|
if (!this._providerEngineProxy) throw providerErrors.custom({
|
|
121
143
|
message: "Provider is not initialized",
|
|
122
144
|
code: 4902
|
|
123
145
|
});
|
|
124
|
-
const {
|
|
125
|
-
chainId
|
|
126
|
-
} = this.config.chainConfig;
|
|
127
146
|
if (!chainId) throw rpcErrors.invalidParams("chainId is required while lookupNetwork");
|
|
128
147
|
const network = await this._providerEngineProxy.request({
|
|
129
148
|
method: "net_version",
|
|
@@ -131,40 +150,10 @@ class EthereumSigningProvider extends BaseProvider {
|
|
|
131
150
|
});
|
|
132
151
|
const finalNetwork = isHexString(network) ? parseInt(network, 16) : parseInt(network, 10);
|
|
133
152
|
if (parseInt(chainId, 16) !== finalNetwork) throw providerErrors.chainDisconnected(`Invalid network, net_version is: ${network}`);
|
|
134
|
-
if (this.state.chainId !== chainId) {
|
|
135
|
-
this.emit("chainChanged", chainId);
|
|
136
|
-
this.emit("connect", {
|
|
137
|
-
chainId
|
|
138
|
-
});
|
|
139
|
-
}
|
|
140
|
-
this.update({
|
|
141
|
-
chainId
|
|
142
|
-
});
|
|
143
153
|
return network;
|
|
144
154
|
}
|
|
145
155
|
getChainSwitchMiddleware() {
|
|
146
156
|
const chainSwitchHandlers = {
|
|
147
|
-
addChain: async params => {
|
|
148
|
-
const {
|
|
149
|
-
chainId,
|
|
150
|
-
chainName,
|
|
151
|
-
rpcUrls,
|
|
152
|
-
blockExplorerUrls,
|
|
153
|
-
nativeCurrency,
|
|
154
|
-
iconUrls
|
|
155
|
-
} = params;
|
|
156
|
-
this.addChain({
|
|
157
|
-
chainNamespace: CHAIN_NAMESPACES.EIP155,
|
|
158
|
-
chainId,
|
|
159
|
-
ticker: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.symbol) || "ETH",
|
|
160
|
-
tickerName: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.name) || "Ether",
|
|
161
|
-
displayName: chainName,
|
|
162
|
-
rpcTarget: rpcUrls[0],
|
|
163
|
-
blockExplorerUrl: (blockExplorerUrls === null || blockExplorerUrls === void 0 ? void 0 : blockExplorerUrls[0]) || "",
|
|
164
|
-
decimals: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.decimals) || 18,
|
|
165
|
-
logo: (iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0]) || "https://images.toruswallet.io/eth.svg"
|
|
166
|
-
});
|
|
167
|
-
},
|
|
168
157
|
switchChain: async params => {
|
|
169
158
|
const {
|
|
170
159
|
chainId
|
|
@@ -187,10 +176,11 @@ _EthereumSigningProvider = EthereumSigningProvider;
|
|
|
187
176
|
_defineProperty(EthereumSigningProvider, "getProviderInstance", async params => {
|
|
188
177
|
const providerFactory = new _EthereumSigningProvider({
|
|
189
178
|
config: {
|
|
190
|
-
|
|
179
|
+
chain: params.chain,
|
|
180
|
+
chains: params.chains
|
|
191
181
|
}
|
|
192
182
|
});
|
|
193
|
-
await providerFactory.setupProvider(params.signMethods);
|
|
183
|
+
await providerFactory.setupProvider(params.signMethods, params.chain.chainId);
|
|
194
184
|
return providerFactory;
|
|
195
185
|
});
|
|
196
186
|
|
package/dist/lib.esm/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js
CHANGED
|
@@ -4,7 +4,19 @@ import { concatSig } from '@toruslabs/base-controllers';
|
|
|
4
4
|
import { providerErrors } from '@web3auth/auth';
|
|
5
5
|
import { hashMessage, Signature } from 'ethers';
|
|
6
6
|
import { validateTypedData, hexToBytes, hashTypedData } from 'viem';
|
|
7
|
+
import '../../../../base/errors/index.js';
|
|
8
|
+
import '@babel/runtime/helpers/defineProperty';
|
|
9
|
+
import '../../../../base/wallet/index.js';
|
|
10
|
+
import '../../../../base/connector/constants.js';
|
|
11
|
+
import 'jwt-decode';
|
|
7
12
|
import { log } from '../../../../base/loglevel.js';
|
|
13
|
+
import '../../../../base/plugin/errors.js';
|
|
14
|
+
import '../../../../base/plugin/IPlugin.js';
|
|
15
|
+
import '@toruslabs/constants';
|
|
16
|
+
import '@toruslabs/http-helpers';
|
|
17
|
+
import 'bignumber.js';
|
|
18
|
+
import '../../../ethereum-provider/providers/converter.js';
|
|
19
|
+
import 'bn.js';
|
|
8
20
|
import { validateTypedSignMessageDataV4 } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js';
|
|
9
21
|
import { SignTypedDataVersion } from '../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js';
|
|
10
22
|
|
|
@@ -25,12 +37,10 @@ async function signTx(txParams, sign, txFormatter) {
|
|
|
25
37
|
r,
|
|
26
38
|
s
|
|
27
39
|
} = vrs;
|
|
28
|
-
|
|
29
40
|
// mpc-core-kit workaround (revert back to 0/1)
|
|
30
41
|
if (v > 1) {
|
|
31
42
|
v = v - 27;
|
|
32
43
|
}
|
|
33
|
-
|
|
34
44
|
// addSignature will handle the v value
|
|
35
45
|
const tx = ethTx;
|
|
36
46
|
tx.signature = Signature.from({
|
|
@@ -5,7 +5,6 @@ import { BigNumber } from 'bignumber.js';
|
|
|
5
5
|
const BIG_NUMBER_WEI_MULTIPLIER = new BigNumber("1e18");
|
|
6
6
|
const BIG_NUMBER_GWEI_MULTIPLIER = new BigNumber("1e9");
|
|
7
7
|
const BIG_NUMBER_ETH_MULTIPLIER = new BigNumber("1");
|
|
8
|
-
|
|
9
8
|
// Setter Maps
|
|
10
9
|
const toBigNumber = {
|
|
11
10
|
hex: n => typeof n === "string" ? new BigNumber(stripHexPrefix(n), 16) : new BigNumber(n, 16),
|
|
@@ -2,7 +2,17 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
|
|
|
2
2
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
3
3
|
import { addHexPrefix, stripHexPrefix } from '@ethereumjs/util';
|
|
4
4
|
import { BigNumber } from 'bignumber.js';
|
|
5
|
+
import '../../../../../base/errors/index.js';
|
|
6
|
+
import '@toruslabs/base-controllers';
|
|
7
|
+
import '@web3auth/auth';
|
|
8
|
+
import '../../../../../base/wallet/index.js';
|
|
9
|
+
import '../../../../../base/connector/constants.js';
|
|
10
|
+
import 'jwt-decode';
|
|
5
11
|
import { log } from '../../../../../base/loglevel.js';
|
|
12
|
+
import '../../../../../base/plugin/errors.js';
|
|
13
|
+
import '../../../../../base/plugin/IPlugin.js';
|
|
14
|
+
import '@toruslabs/constants';
|
|
15
|
+
import '@toruslabs/http-helpers';
|
|
6
16
|
import { hexWEIToDecGWEI, decGWEIToHexWEI } from '../../converter.js';
|
|
7
17
|
import { bnLessThan, hexToBn, BnMultiplyByFraction, bnToHex } from '../../utils.js';
|
|
8
18
|
import { TRANSACTION_ENVELOPE_TYPES, EIP1559APIEndpoint, GAS_ESTIMATE_TYPES, LegacyGasAPIEndpoint, TRANSACTION_TYPES } from './constants.js';
|
|
@@ -98,18 +108,14 @@ class TransactionFormatter {
|
|
|
98
108
|
clonedTxParams.maxPriorityFeePerGas = clonedTxParams.maxFeePerGas;
|
|
99
109
|
}
|
|
100
110
|
}
|
|
101
|
-
|
|
102
111
|
// We remove the gasPrice param entirely when on an eip1559 compatible network
|
|
103
|
-
|
|
104
112
|
delete clonedTxParams.gasPrice;
|
|
105
113
|
} else {
|
|
106
114
|
// We ensure that maxFeePerGas and maxPriorityFeePerGas are not in the transaction params
|
|
107
115
|
// when not on a EIP1559 compatible network
|
|
108
|
-
|
|
109
116
|
delete clonedTxParams.maxPriorityFeePerGas;
|
|
110
117
|
delete clonedTxParams.maxFeePerGas;
|
|
111
118
|
}
|
|
112
|
-
|
|
113
119
|
// If we have gotten to this point, and none of gasPrice, maxPriorityFeePerGas or maxFeePerGas are
|
|
114
120
|
// set on txParams, it means that either we are on a non-EIP1559 network and the dapp didn't suggest
|
|
115
121
|
// a gas price, or we are on an EIP1559 network, and none of gasPrice, maxPriorityFeePerGas or maxFeePerGas
|
|
@@ -139,7 +145,6 @@ class TransactionFormatter {
|
|
|
139
145
|
method: "eth_feeHistory",
|
|
140
146
|
params: [noOfBlocks, newestBlock, percentileValues]
|
|
141
147
|
});
|
|
142
|
-
|
|
143
148
|
// this is in hex wei
|
|
144
149
|
const finalBaseFeePerGas = feeHistory.baseFeePerGas[feeHistory.baseFeePerGas.length - 1];
|
|
145
150
|
// this is in hex wei
|
|
@@ -198,7 +203,7 @@ class TransactionFormatter {
|
|
|
198
203
|
} else {
|
|
199
204
|
throw new Error("Chain id not supported by api");
|
|
200
205
|
}
|
|
201
|
-
} catch
|
|
206
|
+
} catch {
|
|
202
207
|
estimates = await this.fetchGasEstimatesViaEthFeeHistory();
|
|
203
208
|
}
|
|
204
209
|
gasData = {
|
|
@@ -214,7 +219,7 @@ class TransactionFormatter {
|
|
|
214
219
|
} else {
|
|
215
220
|
throw new Error("Main gas fee/price estimation failed. Use fallback");
|
|
216
221
|
}
|
|
217
|
-
} catch
|
|
222
|
+
} catch {
|
|
218
223
|
try {
|
|
219
224
|
const estimates = await this.fetchEthGasPriceEstimate();
|
|
220
225
|
gasData = {
|
|
@@ -274,7 +279,6 @@ class TransactionFormatter {
|
|
|
274
279
|
}
|
|
275
280
|
async estimateTxGas(txMeta) {
|
|
276
281
|
const txParams = _objectSpread({}, txMeta);
|
|
277
|
-
|
|
278
282
|
// `eth_estimateGas` can fail if the user has insufficient balance for the
|
|
279
283
|
// value being sent, or for the gas cost. We don't want to check their
|
|
280
284
|
// balance here, we just want the gas estimate. The gas price is removed
|
|
@@ -313,7 +317,6 @@ class TransactionFormatter {
|
|
|
313
317
|
const blockGasLimitBn = hexToBn(blockGasLimitHex);
|
|
314
318
|
const upperGasLimitBn = blockGasLimitBn.muln(0.9);
|
|
315
319
|
const bufferedGasLimitBn = initialGasLimitBn.muln(multiplier);
|
|
316
|
-
|
|
317
320
|
// if initialGasLimit is above blockGasLimit, dont modify it
|
|
318
321
|
if (initialGasLimitBn.gt(upperGasLimitBn)) return bnToHex(initialGasLimitBn);
|
|
319
322
|
// if bufferedGasLimit is below blockGasLimit, use bufferedGasLimit
|
|
@@ -360,7 +363,6 @@ class TransactionFormatter {
|
|
|
360
363
|
throw Error("TxGasUtil - Trying to call a function on a non-contract address");
|
|
361
364
|
}
|
|
362
365
|
const TWENTY_ONE_THOUSAND = 21000;
|
|
363
|
-
|
|
364
366
|
// This is a standard ether simple send, gas requirement is exactly 21k
|
|
365
367
|
return addHexPrefix(TWENTY_ONE_THOUSAND.toString(16));
|
|
366
368
|
}
|
|
@@ -368,7 +370,6 @@ class TransactionFormatter {
|
|
|
368
370
|
blockGasLimit,
|
|
369
371
|
estimatedGasHex
|
|
370
372
|
} = await this.analyzeGasUsage(txParams);
|
|
371
|
-
|
|
372
373
|
// add additional gas buffer to our estimation for safety
|
|
373
374
|
const gasLimit = this.addGasBuffer(addHexPrefix(estimatedGasHex), blockGasLimit);
|
|
374
375
|
return gasLimit;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
var SignTypedDataVersion;
|
|
2
|
+
(function (SignTypedDataVersion) {
|
|
2
3
|
SignTypedDataVersion["V1"] = "V1";
|
|
3
4
|
SignTypedDataVersion["V3"] = "V3";
|
|
4
5
|
SignTypedDataVersion["V4"] = "V4";
|
|
5
|
-
|
|
6
|
-
}({});
|
|
6
|
+
})(SignTypedDataVersion || (SignTypedDataVersion = {}));
|
|
7
7
|
|
|
8
8
|
export { SignTypedDataVersion };
|
|
@@ -27,7 +27,6 @@ async function fetchEip1159GasEstimates(url) {
|
|
|
27
27
|
});
|
|
28
28
|
return normalizedEstimates;
|
|
29
29
|
}
|
|
30
|
-
|
|
31
30
|
/**
|
|
32
31
|
* Hit the legacy MetaSwaps gasPrices estimate api and return the low, medium
|
|
33
32
|
* high values from that API.
|
|
@@ -61,7 +60,7 @@ async function validateTypedSignMessageDataV4(messageData, currentChainId) {
|
|
|
61
60
|
} else {
|
|
62
61
|
try {
|
|
63
62
|
data = JSON.parse(messageData.data);
|
|
64
|
-
} catch
|
|
63
|
+
} catch {
|
|
65
64
|
throw new Error("Data must be passed as a valid JSON string.");
|
|
66
65
|
}
|
|
67
66
|
}
|