@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
|
@@ -4,7 +4,17 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
|
4
4
|
var util = require('@ethereumjs/util');
|
|
5
5
|
var auth = require('@web3auth/auth');
|
|
6
6
|
var viem = require('viem');
|
|
7
|
+
require('../../../base/errors/index.js');
|
|
8
|
+
require('@toruslabs/base-controllers');
|
|
9
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
10
|
+
require('../../../base/wallet/index.js');
|
|
11
|
+
require('../../../base/connector/constants.js');
|
|
12
|
+
require('jwt-decode');
|
|
7
13
|
var loglevel = require('../../../base/loglevel.js');
|
|
14
|
+
require('../../../base/plugin/errors.js');
|
|
15
|
+
require('../../../base/plugin/IPlugin.js');
|
|
16
|
+
require('@toruslabs/constants');
|
|
17
|
+
require('@toruslabs/http-helpers');
|
|
8
18
|
|
|
9
19
|
function getProviderHandlers({
|
|
10
20
|
bundlerClient,
|
|
@@ -10,7 +10,6 @@ async function createAaMiddleware({
|
|
|
10
10
|
const [eoaAddress] = await eoaProvider.request({
|
|
11
11
|
method: "eth_accounts"
|
|
12
12
|
});
|
|
13
|
-
|
|
14
13
|
/**
|
|
15
14
|
* Validates the keyholder address, and returns a normalized (i.e. lowercase)
|
|
16
15
|
* copy of it.
|
|
@@ -69,7 +68,6 @@ async function createAaMiddleware({
|
|
|
69
68
|
const txParams = req.params[0] || {
|
|
70
69
|
from: ""
|
|
71
70
|
};
|
|
72
|
-
|
|
73
71
|
// normalize sender address
|
|
74
72
|
if (txParams.from) {
|
|
75
73
|
txParams.from = await normalizeSignSenderAddress(txParams.from, req);
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
-
var baseControllers = require('@toruslabs/base-controllers');
|
|
5
4
|
var auth = require('@web3auth/auth');
|
|
6
5
|
var baseProvider = require('./baseProvider.js');
|
|
7
6
|
var jrpcClient = require('./jrpcClient.js');
|
|
@@ -17,23 +16,25 @@ class CommonJRPCProvider extends baseProvider.BaseProvider {
|
|
|
17
16
|
state
|
|
18
17
|
});
|
|
19
18
|
}
|
|
20
|
-
async setupProvider() {
|
|
19
|
+
async setupProvider(chainId) {
|
|
20
|
+
const chain = this.getChain(chainId);
|
|
21
|
+
if (!chain) throw auth.providerErrors.custom({
|
|
22
|
+
message: "Chain not found",
|
|
23
|
+
code: 4902
|
|
24
|
+
});
|
|
21
25
|
const {
|
|
22
26
|
networkMiddleware
|
|
23
|
-
} = jrpcClient.createJsonRpcClient(
|
|
27
|
+
} = jrpcClient.createJsonRpcClient(chain);
|
|
24
28
|
const engine = new auth.JRPCEngine();
|
|
25
29
|
engine.push(networkMiddleware);
|
|
26
30
|
const provider = auth.providerFromEngine(engine);
|
|
27
31
|
this.updateProviderEngineProxy(provider);
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
chainId: newChainId
|
|
33
|
-
});
|
|
34
|
-
}
|
|
32
|
+
this.emit("chainChanged", chainId);
|
|
33
|
+
this.emit("connect", {
|
|
34
|
+
chainId
|
|
35
|
+
});
|
|
35
36
|
this.update({
|
|
36
|
-
chainId
|
|
37
|
+
chainId
|
|
37
38
|
});
|
|
38
39
|
}
|
|
39
40
|
async switchChain(params) {
|
|
@@ -41,22 +42,12 @@ class CommonJRPCProvider extends baseProvider.BaseProvider {
|
|
|
41
42
|
message: "Provider is not initialized",
|
|
42
43
|
code: 4902
|
|
43
44
|
});
|
|
44
|
-
const
|
|
45
|
+
const newChainId = params.chainId;
|
|
46
|
+
if (this.chainId === newChainId) return;
|
|
45
47
|
this.update({
|
|
46
48
|
chainId: "loading"
|
|
47
49
|
});
|
|
48
|
-
this.
|
|
49
|
-
chainConfig
|
|
50
|
-
});
|
|
51
|
-
await this.setupProvider();
|
|
52
|
-
}
|
|
53
|
-
updateProviderEngineProxy(provider) {
|
|
54
|
-
if (this._providerEngineProxy) {
|
|
55
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
56
|
-
this._providerEngineProxy.setTarget(provider);
|
|
57
|
-
} else {
|
|
58
|
-
this._providerEngineProxy = baseControllers.createEventEmitterProxy(provider);
|
|
59
|
-
}
|
|
50
|
+
await this.setupProvider(newChainId);
|
|
60
51
|
}
|
|
61
52
|
getProviderEngineProxy() {
|
|
62
53
|
return this._providerEngineProxy;
|
|
@@ -69,10 +60,14 @@ _CommonJRPCProvider = CommonJRPCProvider;
|
|
|
69
60
|
_defineProperty(CommonJRPCProvider, "getProviderInstance", async params => {
|
|
70
61
|
const providerFactory = new _CommonJRPCProvider({
|
|
71
62
|
config: {
|
|
72
|
-
|
|
63
|
+
chain: params.chain,
|
|
64
|
+
chains: params.chains
|
|
73
65
|
}
|
|
74
66
|
});
|
|
75
|
-
|
|
67
|
+
const {
|
|
68
|
+
chainId
|
|
69
|
+
} = params.chain;
|
|
70
|
+
await providerFactory.setupProvider(chainId);
|
|
76
71
|
return providerFactory;
|
|
77
72
|
});
|
|
78
73
|
|
|
@@ -5,6 +5,15 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
|
5
5
|
var baseControllers = require('@toruslabs/base-controllers');
|
|
6
6
|
var auth = require('@web3auth/auth');
|
|
7
7
|
var index = require('../../base/errors/index.js');
|
|
8
|
+
require('../../base/wallet/index.js');
|
|
9
|
+
require('../../base/connector/constants.js');
|
|
10
|
+
require('jwt-decode');
|
|
11
|
+
require('../../base/loglevel.js');
|
|
12
|
+
require('../../base/plugin/errors.js');
|
|
13
|
+
require('../../base/plugin/IPlugin.js');
|
|
14
|
+
require('@toruslabs/constants');
|
|
15
|
+
require('@toruslabs/http-helpers');
|
|
16
|
+
var utils = require('./utils.js');
|
|
8
17
|
|
|
9
18
|
class BaseProvider extends baseControllers.BaseController {
|
|
10
19
|
constructor({
|
|
@@ -20,24 +29,25 @@ class BaseProvider extends baseControllers.BaseController {
|
|
|
20
29
|
// set to true when the keyExportEnabled flag is set by code.
|
|
21
30
|
// This is to prevent the flag from being overridden by the dashboard config.
|
|
22
31
|
_defineProperty(this, "keyExportFlagSetByCode", false);
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
32
|
+
const {
|
|
33
|
+
chain
|
|
34
|
+
} = config;
|
|
35
|
+
if (!chain) throw index.WalletInitializationError.invalidProviderConfigError("Please provide chain");
|
|
36
|
+
if (!chain.chainId) throw index.WalletInitializationError.invalidProviderConfigError("Please provide chainId inside chain");
|
|
37
|
+
if (!chain.rpcTarget) throw index.WalletInitializationError.invalidProviderConfigError("Please provide rpcTarget inside chain");
|
|
26
38
|
if (typeof config.keyExportEnabled === "boolean") this.keyExportFlagSetByCode = true;
|
|
27
39
|
this.defaultState = {
|
|
28
40
|
chainId: "loading"
|
|
29
41
|
};
|
|
30
42
|
this.defaultConfig = {
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
[config.chainConfig.chainId]: config.chainConfig
|
|
34
|
-
},
|
|
43
|
+
chain: config.chain,
|
|
44
|
+
chains: config.chains,
|
|
35
45
|
keyExportEnabled: typeof config.keyExportEnabled === "boolean" ? config.keyExportEnabled : true
|
|
36
46
|
};
|
|
37
47
|
super.initialize();
|
|
38
48
|
}
|
|
39
|
-
get
|
|
40
|
-
return this.config.
|
|
49
|
+
get currentChain() {
|
|
50
|
+
return this.config.chains.find(chain => chain.chainId === this.state.chainId);
|
|
41
51
|
}
|
|
42
52
|
get provider() {
|
|
43
53
|
return this._providerEngineProxy;
|
|
@@ -89,25 +99,37 @@ class BaseProvider extends baseControllers.BaseController {
|
|
|
89
99
|
result: res
|
|
90
100
|
})).catch(err => callback(err, null));
|
|
91
101
|
}
|
|
92
|
-
addChain(chainConfig) {
|
|
93
|
-
if (!chainConfig.chainId) throw auth.rpcErrors.invalidParams("chainId is required");
|
|
94
|
-
if (!chainConfig.rpcTarget) throw auth.rpcErrors.invalidParams("chainId is required");
|
|
95
|
-
this.configure({
|
|
96
|
-
networks: _objectSpread(_objectSpread({}, this.config.networks), {}, {
|
|
97
|
-
[chainConfig.chainId]: chainConfig
|
|
98
|
-
})
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
getChainConfig(chainId) {
|
|
102
|
-
var _this$config$networks;
|
|
103
|
-
const chainConfig = (_this$config$networks = this.config.networks) === null || _this$config$networks === void 0 ? void 0 : _this$config$networks[chainId];
|
|
104
|
-
if (!chainConfig) throw auth.rpcErrors.invalidRequest(`Chain ${chainId} is not supported, please add chainConfig for it`);
|
|
105
|
-
return chainConfig;
|
|
106
|
-
}
|
|
107
102
|
updateProviderEngineProxy(provider) {
|
|
108
103
|
if (this._providerEngineProxy) {
|
|
109
104
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
110
105
|
this._providerEngineProxy.setTarget(provider);
|
|
106
|
+
// we want events to propagate from Ethereum provider -> wrapper provider (e.g. CommonJRPC provider) -> SDK -> dapp
|
|
107
|
+
// ensure that only one handler is added for each event
|
|
108
|
+
const reEmitHandler = event => {
|
|
109
|
+
// listen to the event from the Ethereum provider
|
|
110
|
+
provider.on(event, (...args) => {
|
|
111
|
+
// handle chainChanged event: update chainId state
|
|
112
|
+
if (event === utils.EIP1193_EVENTS.CHAIN_CHANGED) {
|
|
113
|
+
const chainId = args[0];
|
|
114
|
+
this.update({
|
|
115
|
+
chainId
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
// re-emit the event
|
|
119
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
120
|
+
this.emit(event, ...args);
|
|
121
|
+
});
|
|
122
|
+
};
|
|
123
|
+
// handle existing events
|
|
124
|
+
this.eventNames().forEach(event => {
|
|
125
|
+
reEmitHandler(event);
|
|
126
|
+
});
|
|
127
|
+
// handle when a new listener is added
|
|
128
|
+
this.on("newListener", event => {
|
|
129
|
+
// skip if the event already exists
|
|
130
|
+
if (this.listenerCount(event) > 0) return;
|
|
131
|
+
reEmitHandler(event);
|
|
132
|
+
});
|
|
111
133
|
} else {
|
|
112
134
|
this._providerEngineProxy = baseControllers.createEventEmitterProxy(provider);
|
|
113
135
|
}
|
|
@@ -122,6 +144,9 @@ class BaseProvider extends baseControllers.BaseController {
|
|
|
122
144
|
getProviderEngineProxy() {
|
|
123
145
|
return this._providerEngineProxy;
|
|
124
146
|
}
|
|
147
|
+
getChain(chainId) {
|
|
148
|
+
return this.config.chains.find(chain => chain.chainId === chainId);
|
|
149
|
+
}
|
|
125
150
|
}
|
|
126
151
|
|
|
127
152
|
exports.BaseProvider = BaseProvider;
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
-
var baseControllers = require('@toruslabs/base-controllers');
|
|
5
4
|
var auth = require('@web3auth/auth');
|
|
6
5
|
var baseProvider = require('./baseProvider.js');
|
|
7
6
|
|
|
@@ -24,9 +23,6 @@ class CommonPrivateKeyProvider extends baseProvider.BaseProvider {
|
|
|
24
23
|
set provider(_) {
|
|
25
24
|
throw new Error("Method not implemented.");
|
|
26
25
|
}
|
|
27
|
-
addChain(_) {
|
|
28
|
-
throw new Error("Method not implemented.");
|
|
29
|
-
}
|
|
30
26
|
async setupProvider(privKey) {
|
|
31
27
|
const privKeyMiddleware = this.getPrivKeyMiddleware(privKey);
|
|
32
28
|
const engine = new auth.JRPCEngine();
|
|
@@ -34,14 +30,6 @@ class CommonPrivateKeyProvider extends baseProvider.BaseProvider {
|
|
|
34
30
|
const provider = auth.providerFromEngine(engine);
|
|
35
31
|
this.updateProviderEngineProxy(provider);
|
|
36
32
|
}
|
|
37
|
-
updateProviderEngineProxy(provider) {
|
|
38
|
-
if (this._providerEngineProxy) {
|
|
39
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
40
|
-
this._providerEngineProxy.setTarget(provider);
|
|
41
|
-
} else {
|
|
42
|
-
this._providerEngineProxy = baseControllers.createEventEmitterProxy(provider);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
33
|
async switchChain(_) {
|
|
46
34
|
return Promise.resolve();
|
|
47
35
|
}
|
|
@@ -79,7 +67,8 @@ _CommonPrivateKeyProvider = CommonPrivateKeyProvider;
|
|
|
79
67
|
_defineProperty(CommonPrivateKeyProvider, "getProviderInstance", async params => {
|
|
80
68
|
const providerFactory = new _CommonPrivateKeyProvider({
|
|
81
69
|
config: {
|
|
82
|
-
|
|
70
|
+
chain: params.chain,
|
|
71
|
+
chains: params.chains
|
|
83
72
|
}
|
|
84
73
|
});
|
|
85
74
|
await providerFactory.setupProvider(params.privKey);
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var baseProvider = require('./baseProvider.js');
|
|
4
|
+
var CommonJRPCProvider = require('./CommonJRPCProvider.js');
|
|
5
|
+
var commonPrivateKeyProvider = require('./commonPrivateKeyProvider.js');
|
|
6
|
+
var utils = require('./utils.js');
|
|
7
|
+
var auth = require('@web3auth/auth');
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
exports.BaseProvider = baseProvider.BaseProvider;
|
|
12
|
+
exports.CommonJRPCProvider = CommonJRPCProvider.CommonJRPCProvider;
|
|
13
|
+
exports.CommonPrivateKeyProvider = commonPrivateKeyProvider.CommonPrivateKeyProvider;
|
|
14
|
+
Object.defineProperty(exports, "EIP1193_EVENTS", {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return utils.EIP1193_EVENTS; }
|
|
17
|
+
});
|
|
18
|
+
exports.createRandomId = utils.createRandomId;
|
|
19
|
+
Object.defineProperty(exports, "getED25519Key", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () { return auth.getED25519Key; }
|
|
22
|
+
});
|
|
@@ -4,9 +4,17 @@ var getCreateRandomId = require('json-rpc-random-id');
|
|
|
4
4
|
var auth = require('@web3auth/auth');
|
|
5
5
|
|
|
6
6
|
const createRandomId = getCreateRandomId();
|
|
7
|
+
exports.EIP1193_EVENTS = void 0;
|
|
8
|
+
(function (EIP1193_EVENTS) {
|
|
9
|
+
EIP1193_EVENTS["ACCOUNTS_CHANGED"] = "accountsChanged";
|
|
10
|
+
EIP1193_EVENTS["CHAIN_CHANGED"] = "chainChanged";
|
|
11
|
+
EIP1193_EVENTS["CONNECT"] = "connect";
|
|
12
|
+
EIP1193_EVENTS["DISCONNECT"] = "disconnect";
|
|
13
|
+
EIP1193_EVENTS["MESSAGE"] = "message";
|
|
14
|
+
})(exports.EIP1193_EVENTS || (exports.EIP1193_EVENTS = {}));
|
|
7
15
|
|
|
8
16
|
Object.defineProperty(exports, "getED25519Key", {
|
|
9
|
-
|
|
10
|
-
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return auth.getED25519Key; }
|
|
11
19
|
});
|
|
12
20
|
exports.createRandomId = createRandomId;
|
|
@@ -4,14 +4,27 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
5
|
var util = require('@ethereumjs/util');
|
|
6
6
|
var auth = require('@web3auth/auth');
|
|
7
|
-
var IChainInterface = require('../../../../base/chain/IChainInterface.js');
|
|
8
7
|
var index = require('../../../../base/errors/index.js');
|
|
9
|
-
var
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
var baseControllers = require('@toruslabs/base-controllers');
|
|
9
|
+
require('../../../../base/wallet/index.js');
|
|
10
|
+
require('../../../../base/connector/constants.js');
|
|
11
|
+
require('jwt-decode');
|
|
12
|
+
require('../../../../base/loglevel.js');
|
|
13
|
+
require('../../../../base/plugin/errors.js');
|
|
14
|
+
require('../../../../base/plugin/IPlugin.js');
|
|
15
|
+
require('@toruslabs/constants');
|
|
16
|
+
require('@toruslabs/http-helpers');
|
|
12
17
|
var baseProvider = require('../../../base-provider/baseProvider.js');
|
|
18
|
+
require('../../../base-provider/CommonJRPCProvider.js');
|
|
19
|
+
require('../../../base-provider/commonPrivateKeyProvider.js');
|
|
20
|
+
require('../../../base-provider/utils.js');
|
|
21
|
+
var formatter = require('../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/formatter.js');
|
|
22
|
+
require('../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js');
|
|
23
|
+
require('../../../ethereum-provider/providers/converter.js');
|
|
13
24
|
var ethRpcMiddlewares = require('../../../ethereum-provider/rpc/ethRpcMiddlewares.js');
|
|
14
25
|
var jrpcClient = require('../../../ethereum-provider/rpc/jrpcClient.js');
|
|
26
|
+
var ethRpcMiddlewares$1 = require('../../rpc/ethRpcMiddlewares.js');
|
|
27
|
+
var signingUtils = require('./signingUtils.js');
|
|
15
28
|
|
|
16
29
|
var _EthereumSigningProvider;
|
|
17
30
|
class EthereumSigningProvider extends baseProvider.BaseProvider {
|
|
@@ -21,31 +34,34 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
|
|
|
21
34
|
}) {
|
|
22
35
|
super({
|
|
23
36
|
config: {
|
|
24
|
-
|
|
25
|
-
chainNamespace:
|
|
26
|
-
})
|
|
37
|
+
chain: _objectSpread(_objectSpread({}, config.chain), {}, {
|
|
38
|
+
chainNamespace: baseControllers.CHAIN_NAMESPACES.EIP155 // TODO: is this needed ?
|
|
39
|
+
}),
|
|
40
|
+
chains: config.chains
|
|
27
41
|
},
|
|
28
42
|
state
|
|
29
43
|
});
|
|
30
|
-
_defineProperty(this, "PROVIDER_CHAIN_NAMESPACE",
|
|
44
|
+
_defineProperty(this, "PROVIDER_CHAIN_NAMESPACE", baseControllers.CHAIN_NAMESPACES.EIP155);
|
|
31
45
|
}
|
|
32
46
|
async enable() {
|
|
33
47
|
if (!this.state.signMethods) throw auth.providerErrors.custom({
|
|
34
48
|
message: "signMethods are not found in state, plz pass it in constructor state param",
|
|
35
49
|
code: 4902
|
|
36
50
|
});
|
|
37
|
-
await this.setupProvider(this.state.signMethods);
|
|
51
|
+
await this.setupProvider(this.state.signMethods, this.chainId);
|
|
38
52
|
return this._providerEngineProxy.request({
|
|
39
53
|
method: "eth_accounts"
|
|
40
54
|
});
|
|
41
55
|
}
|
|
42
|
-
async setupProvider({
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
56
|
+
async setupProvider(params, chainId) {
|
|
57
|
+
const {
|
|
58
|
+
sign,
|
|
59
|
+
getPublic
|
|
60
|
+
} = params;
|
|
61
|
+
const chain = this.getChain(chainId);
|
|
46
62
|
const {
|
|
47
63
|
chainNamespace
|
|
48
|
-
} =
|
|
64
|
+
} = chain;
|
|
49
65
|
if (chainNamespace !== this.PROVIDER_CHAIN_NAMESPACE) throw index.WalletInitializationError.incompatibleChainNameSpace("Invalid chain namespace");
|
|
50
66
|
const txFormatter = new formatter.TransactionFormatter({
|
|
51
67
|
getProviderEngineProxy: this.getProviderEngineProxy.bind(this)
|
|
@@ -62,7 +78,7 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
|
|
|
62
78
|
// Not a partial anymore because of checks in ctor
|
|
63
79
|
const {
|
|
64
80
|
networkMiddleware
|
|
65
|
-
} = jrpcClient.createEthJsonRpcClient(
|
|
81
|
+
} = jrpcClient.createEthJsonRpcClient(chain);
|
|
66
82
|
engine.push(ethMiddleware);
|
|
67
83
|
engine.push(chainSwitchMiddleware);
|
|
68
84
|
engine.push(this.getAccountMiddleware());
|
|
@@ -70,11 +86,18 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
|
|
|
70
86
|
const provider = auth.providerFromEngine(engine);
|
|
71
87
|
this.updateProviderEngineProxy(provider);
|
|
72
88
|
await txFormatter.init();
|
|
73
|
-
await this.lookupNetwork();
|
|
89
|
+
await this.lookupNetwork(params, chainId);
|
|
74
90
|
this.state.signMethods = {
|
|
75
91
|
sign,
|
|
76
92
|
getPublic
|
|
77
93
|
};
|
|
94
|
+
this.emit("chainChanged", chainId);
|
|
95
|
+
this.emit("connect", {
|
|
96
|
+
chainId
|
|
97
|
+
});
|
|
98
|
+
this.update({
|
|
99
|
+
chainId
|
|
100
|
+
});
|
|
78
101
|
}
|
|
79
102
|
async updateAccount(params) {
|
|
80
103
|
if (!this._providerEngineProxy) throw auth.providerErrors.custom({
|
|
@@ -91,7 +114,7 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
|
|
|
91
114
|
const currentPubKey = (await currentSignMethods.getPublic()).toString("hex");
|
|
92
115
|
const updatePubKey = (await params.signMethods.getPublic()).toString("hex");
|
|
93
116
|
if (currentPubKey !== updatePubKey) {
|
|
94
|
-
await this.setupProvider(params.signMethods);
|
|
117
|
+
await this.setupProvider(params.signMethods, this.chainId);
|
|
95
118
|
const accounts = await this._providerEngineProxy.request({
|
|
96
119
|
method: "eth_accounts"
|
|
97
120
|
});
|
|
@@ -103,29 +126,25 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
|
|
|
103
126
|
message: "Provider is not initialized",
|
|
104
127
|
code: 4902
|
|
105
128
|
});
|
|
106
|
-
const chainConfig = this.getChainConfig(params.chainId);
|
|
107
|
-
this.update({
|
|
108
|
-
chainId: "loading"
|
|
109
|
-
});
|
|
110
|
-
this.configure({
|
|
111
|
-
chainConfig
|
|
112
|
-
});
|
|
113
129
|
if (!this.state.signMethods) {
|
|
114
130
|
throw auth.providerErrors.custom({
|
|
115
131
|
message: "sign methods are undefined",
|
|
116
132
|
code: 4902
|
|
117
133
|
});
|
|
118
134
|
}
|
|
119
|
-
|
|
135
|
+
if (params.chainId === this.chainId) {
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
this.update({
|
|
139
|
+
chainId: "loading"
|
|
140
|
+
});
|
|
141
|
+
await this.setupProvider(this.state.signMethods, params.chainId);
|
|
120
142
|
}
|
|
121
|
-
async lookupNetwork() {
|
|
143
|
+
async lookupNetwork(_, chainId) {
|
|
122
144
|
if (!this._providerEngineProxy) throw auth.providerErrors.custom({
|
|
123
145
|
message: "Provider is not initialized",
|
|
124
146
|
code: 4902
|
|
125
147
|
});
|
|
126
|
-
const {
|
|
127
|
-
chainId
|
|
128
|
-
} = this.config.chainConfig;
|
|
129
148
|
if (!chainId) throw auth.rpcErrors.invalidParams("chainId is required while lookupNetwork");
|
|
130
149
|
const network = await this._providerEngineProxy.request({
|
|
131
150
|
method: "net_version",
|
|
@@ -133,40 +152,10 @@ class EthereumSigningProvider extends baseProvider.BaseProvider {
|
|
|
133
152
|
});
|
|
134
153
|
const finalNetwork = util.isHexString(network) ? parseInt(network, 16) : parseInt(network, 10);
|
|
135
154
|
if (parseInt(chainId, 16) !== finalNetwork) throw auth.providerErrors.chainDisconnected(`Invalid network, net_version is: ${network}`);
|
|
136
|
-
if (this.state.chainId !== chainId) {
|
|
137
|
-
this.emit("chainChanged", chainId);
|
|
138
|
-
this.emit("connect", {
|
|
139
|
-
chainId
|
|
140
|
-
});
|
|
141
|
-
}
|
|
142
|
-
this.update({
|
|
143
|
-
chainId
|
|
144
|
-
});
|
|
145
155
|
return network;
|
|
146
156
|
}
|
|
147
157
|
getChainSwitchMiddleware() {
|
|
148
158
|
const chainSwitchHandlers = {
|
|
149
|
-
addChain: async params => {
|
|
150
|
-
const {
|
|
151
|
-
chainId,
|
|
152
|
-
chainName,
|
|
153
|
-
rpcUrls,
|
|
154
|
-
blockExplorerUrls,
|
|
155
|
-
nativeCurrency,
|
|
156
|
-
iconUrls
|
|
157
|
-
} = params;
|
|
158
|
-
this.addChain({
|
|
159
|
-
chainNamespace: IChainInterface.CHAIN_NAMESPACES.EIP155,
|
|
160
|
-
chainId,
|
|
161
|
-
ticker: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.symbol) || "ETH",
|
|
162
|
-
tickerName: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.name) || "Ether",
|
|
163
|
-
displayName: chainName,
|
|
164
|
-
rpcTarget: rpcUrls[0],
|
|
165
|
-
blockExplorerUrl: (blockExplorerUrls === null || blockExplorerUrls === void 0 ? void 0 : blockExplorerUrls[0]) || "",
|
|
166
|
-
decimals: (nativeCurrency === null || nativeCurrency === void 0 ? void 0 : nativeCurrency.decimals) || 18,
|
|
167
|
-
logo: (iconUrls === null || iconUrls === void 0 ? void 0 : iconUrls[0]) || "https://images.toruswallet.io/eth.svg"
|
|
168
|
-
});
|
|
169
|
-
},
|
|
170
159
|
switchChain: async params => {
|
|
171
160
|
const {
|
|
172
161
|
chainId
|
|
@@ -189,10 +178,11 @@ _EthereumSigningProvider = EthereumSigningProvider;
|
|
|
189
178
|
_defineProperty(EthereumSigningProvider, "getProviderInstance", async params => {
|
|
190
179
|
const providerFactory = new _EthereumSigningProvider({
|
|
191
180
|
config: {
|
|
192
|
-
|
|
181
|
+
chain: params.chain,
|
|
182
|
+
chains: params.chains
|
|
193
183
|
}
|
|
194
184
|
});
|
|
195
|
-
await providerFactory.setupProvider(params.signMethods);
|
|
185
|
+
await providerFactory.setupProvider(params.signMethods, params.chain.chainId);
|
|
196
186
|
return providerFactory;
|
|
197
187
|
});
|
|
198
188
|
|
package/dist/lib.cjs/providers/ethereum-mpc-provider/providers/signingProviders/signingUtils.js
CHANGED
|
@@ -6,7 +6,19 @@ var baseControllers = require('@toruslabs/base-controllers');
|
|
|
6
6
|
var auth = require('@web3auth/auth');
|
|
7
7
|
var ethers = require('ethers');
|
|
8
8
|
var viem = require('viem');
|
|
9
|
+
require('../../../../base/errors/index.js');
|
|
10
|
+
require('@babel/runtime/helpers/defineProperty');
|
|
11
|
+
require('../../../../base/wallet/index.js');
|
|
12
|
+
require('../../../../base/connector/constants.js');
|
|
13
|
+
require('jwt-decode');
|
|
9
14
|
var loglevel = require('../../../../base/loglevel.js');
|
|
15
|
+
require('../../../../base/plugin/errors.js');
|
|
16
|
+
require('../../../../base/plugin/IPlugin.js');
|
|
17
|
+
require('@toruslabs/constants');
|
|
18
|
+
require('@toruslabs/http-helpers');
|
|
19
|
+
require('bignumber.js');
|
|
20
|
+
require('../../../ethereum-provider/providers/converter.js');
|
|
21
|
+
require('bn.js');
|
|
10
22
|
var utils = require('../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/utils.js');
|
|
11
23
|
var interfaces = require('../../../ethereum-provider/providers/privateKeyProviders/TransactionFormatter/interfaces.js');
|
|
12
24
|
|
|
@@ -27,12 +39,10 @@ async function signTx(txParams, sign, txFormatter) {
|
|
|
27
39
|
r,
|
|
28
40
|
s
|
|
29
41
|
} = vrs;
|
|
30
|
-
|
|
31
42
|
// mpc-core-kit workaround (revert back to 0/1)
|
|
32
43
|
if (v > 1) {
|
|
33
44
|
v = v - 27;
|
|
34
45
|
}
|
|
35
|
-
|
|
36
46
|
// addSignature will handle the v value
|
|
37
47
|
const tx = ethTx;
|
|
38
48
|
tx.signature = ethers.Signature.from({
|
|
@@ -7,7 +7,6 @@ var bignumber_js = require('bignumber.js');
|
|
|
7
7
|
const BIG_NUMBER_WEI_MULTIPLIER = new bignumber_js.BigNumber("1e18");
|
|
8
8
|
const BIG_NUMBER_GWEI_MULTIPLIER = new bignumber_js.BigNumber("1e9");
|
|
9
9
|
const BIG_NUMBER_ETH_MULTIPLIER = new bignumber_js.BigNumber("1");
|
|
10
|
-
|
|
11
10
|
// Setter Maps
|
|
12
11
|
const toBigNumber = {
|
|
13
12
|
hex: n => typeof n === "string" ? new bignumber_js.BigNumber(util.stripHexPrefix(n), 16) : new bignumber_js.BigNumber(n, 16),
|
|
@@ -4,7 +4,17 @@ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
|
4
4
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
5
5
|
var util = require('@ethereumjs/util');
|
|
6
6
|
var bignumber_js = require('bignumber.js');
|
|
7
|
+
require('../../../../../base/errors/index.js');
|
|
8
|
+
require('@toruslabs/base-controllers');
|
|
9
|
+
require('@web3auth/auth');
|
|
10
|
+
require('../../../../../base/wallet/index.js');
|
|
11
|
+
require('../../../../../base/connector/constants.js');
|
|
12
|
+
require('jwt-decode');
|
|
7
13
|
var loglevel = require('../../../../../base/loglevel.js');
|
|
14
|
+
require('../../../../../base/plugin/errors.js');
|
|
15
|
+
require('../../../../../base/plugin/IPlugin.js');
|
|
16
|
+
require('@toruslabs/constants');
|
|
17
|
+
require('@toruslabs/http-helpers');
|
|
8
18
|
var converter = require('../../converter.js');
|
|
9
19
|
var utils = require('../../utils.js');
|
|
10
20
|
var constants = require('./constants.js');
|
|
@@ -100,18 +110,14 @@ class TransactionFormatter {
|
|
|
100
110
|
clonedTxParams.maxPriorityFeePerGas = clonedTxParams.maxFeePerGas;
|
|
101
111
|
}
|
|
102
112
|
}
|
|
103
|
-
|
|
104
113
|
// We remove the gasPrice param entirely when on an eip1559 compatible network
|
|
105
|
-
|
|
106
114
|
delete clonedTxParams.gasPrice;
|
|
107
115
|
} else {
|
|
108
116
|
// We ensure that maxFeePerGas and maxPriorityFeePerGas are not in the transaction params
|
|
109
117
|
// when not on a EIP1559 compatible network
|
|
110
|
-
|
|
111
118
|
delete clonedTxParams.maxPriorityFeePerGas;
|
|
112
119
|
delete clonedTxParams.maxFeePerGas;
|
|
113
120
|
}
|
|
114
|
-
|
|
115
121
|
// If we have gotten to this point, and none of gasPrice, maxPriorityFeePerGas or maxFeePerGas are
|
|
116
122
|
// set on txParams, it means that either we are on a non-EIP1559 network and the dapp didn't suggest
|
|
117
123
|
// a gas price, or we are on an EIP1559 network, and none of gasPrice, maxPriorityFeePerGas or maxFeePerGas
|
|
@@ -141,7 +147,6 @@ class TransactionFormatter {
|
|
|
141
147
|
method: "eth_feeHistory",
|
|
142
148
|
params: [noOfBlocks, newestBlock, percentileValues]
|
|
143
149
|
});
|
|
144
|
-
|
|
145
150
|
// this is in hex wei
|
|
146
151
|
const finalBaseFeePerGas = feeHistory.baseFeePerGas[feeHistory.baseFeePerGas.length - 1];
|
|
147
152
|
// this is in hex wei
|
|
@@ -200,7 +205,7 @@ class TransactionFormatter {
|
|
|
200
205
|
} else {
|
|
201
206
|
throw new Error("Chain id not supported by api");
|
|
202
207
|
}
|
|
203
|
-
} catch
|
|
208
|
+
} catch {
|
|
204
209
|
estimates = await this.fetchGasEstimatesViaEthFeeHistory();
|
|
205
210
|
}
|
|
206
211
|
gasData = {
|
|
@@ -216,7 +221,7 @@ class TransactionFormatter {
|
|
|
216
221
|
} else {
|
|
217
222
|
throw new Error("Main gas fee/price estimation failed. Use fallback");
|
|
218
223
|
}
|
|
219
|
-
} catch
|
|
224
|
+
} catch {
|
|
220
225
|
try {
|
|
221
226
|
const estimates = await this.fetchEthGasPriceEstimate();
|
|
222
227
|
gasData = {
|
|
@@ -276,7 +281,6 @@ class TransactionFormatter {
|
|
|
276
281
|
}
|
|
277
282
|
async estimateTxGas(txMeta) {
|
|
278
283
|
const txParams = _objectSpread({}, txMeta);
|
|
279
|
-
|
|
280
284
|
// `eth_estimateGas` can fail if the user has insufficient balance for the
|
|
281
285
|
// value being sent, or for the gas cost. We don't want to check their
|
|
282
286
|
// balance here, we just want the gas estimate. The gas price is removed
|
|
@@ -315,7 +319,6 @@ class TransactionFormatter {
|
|
|
315
319
|
const blockGasLimitBn = utils.hexToBn(blockGasLimitHex);
|
|
316
320
|
const upperGasLimitBn = blockGasLimitBn.muln(0.9);
|
|
317
321
|
const bufferedGasLimitBn = initialGasLimitBn.muln(multiplier);
|
|
318
|
-
|
|
319
322
|
// if initialGasLimit is above blockGasLimit, dont modify it
|
|
320
323
|
if (initialGasLimitBn.gt(upperGasLimitBn)) return utils.bnToHex(initialGasLimitBn);
|
|
321
324
|
// if bufferedGasLimit is below blockGasLimit, use bufferedGasLimit
|
|
@@ -362,7 +365,6 @@ class TransactionFormatter {
|
|
|
362
365
|
throw Error("TxGasUtil - Trying to call a function on a non-contract address");
|
|
363
366
|
}
|
|
364
367
|
const TWENTY_ONE_THOUSAND = 21000;
|
|
365
|
-
|
|
366
368
|
// This is a standard ether simple send, gas requirement is exactly 21k
|
|
367
369
|
return util.addHexPrefix(TWENTY_ONE_THOUSAND.toString(16));
|
|
368
370
|
}
|
|
@@ -370,7 +372,6 @@ class TransactionFormatter {
|
|
|
370
372
|
blockGasLimit,
|
|
371
373
|
estimatedGasHex
|
|
372
374
|
} = await this.analyzeGasUsage(txParams);
|
|
373
|
-
|
|
374
375
|
// add additional gas buffer to our estimation for safety
|
|
375
376
|
const gasLimit = this.addGasBuffer(util.addHexPrefix(estimatedGasHex), blockGasLimit);
|
|
376
377
|
return gasLimit;
|