@dynamic-labs/multi-wallet 0.17.0-RC.1 → 0.17.0-RC.11
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/CHANGELOG.md +121 -0
- package/package.json +7 -23
- package/src/index.cjs +0 -69
- package/src/index.d.ts +0 -18
- package/src/index.js +1 -23
- package/src/multi-wallet.cjs +29 -166
- package/src/multi-wallet.d.ts +0 -3
- package/src/multi-wallet.js +27 -163
- package/src/types.d.ts +11 -50
- package/src/utils/getApiProviders.cjs +15 -0
- package/src/utils/getApiProviders.d.ts +10 -0
- package/src/utils/getApiProviders.js +11 -0
- package/src/utils/message.cjs +3 -4
- package/src/utils/message.d.ts +2 -2
- package/src/utils/message.js +1 -2
- package/src/errors.cjs +0 -65
- package/src/errors.d.ts +0 -30
- package/src/errors.js +0 -53
- package/src/polyfills.cjs +0 -16
- package/src/polyfills.d.ts +0 -1
- package/src/polyfills.js +0 -14
- package/src/rpcProviders.cjs +0 -76
- package/src/rpcProviders.d.ts +0 -5
- package/src/rpcProviders.js +0 -69
- package/src/utils/CancellablePromise/CancellablePromise.cjs +0 -33
- package/src/utils/CancellablePromise/CancellablePromise.d.ts +0 -9
- package/src/utils/CancellablePromise/CancellablePromise.js +0 -29
- package/src/utils/CancellablePromise/index.d.ts +0 -1
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.cjs +0 -54
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.d.ts +0 -3
- package/src/utils/assignConfirmationScreenToProvider/assignConfirmationScreenToProvider.js +0 -50
- package/src/utils/assignConfirmationScreenToProvider/index.d.ts +0 -1
- package/src/utils/convertors.cjs +0 -43
- package/src/utils/convertors.d.ts +0 -3
- package/src/utils/convertors.js +0 -38
- package/src/utils/encoding.cjs +0 -18
- package/src/utils/encoding.d.ts +0 -4
- package/src/utils/encoding.js +0 -12
- package/src/utils/extractNonce.cjs +0 -13
- package/src/utils/extractNonce.d.ts +0 -1
- package/src/utils/extractNonce.js +0 -9
- package/src/utils/getChainInfo/getChainInfo.cjs +0 -59
- package/src/utils/getChainInfo/getChainInfo.d.ts +0 -2
- package/src/utils/getChainInfo/getChainInfo.js +0 -55
- package/src/utils/getChainInfo/index.d.ts +0 -1
- package/src/utils/getWalletConnectorByName.cjs +0 -19
- package/src/utils/getWalletConnectorByName.d.ts +0 -2
- package/src/utils/getWalletConnectorByName.js +0 -15
- package/src/utils/isEmailOTPWalletConnector/index.d.ts +0 -1
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.cjs +0 -7
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +0 -2
- package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.js +0 -3
- package/src/utils/isEmailWalletConnector/index.d.ts +0 -1
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.cjs +0 -7
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +0 -2
- package/src/utils/isEmailWalletConnector/isEmailWalletConnector.js +0 -3
- package/src/utils/isFunction/index.d.ts +0 -1
- package/src/utils/isFunction/isFunction.cjs +0 -8
- package/src/utils/isFunction/isFunction.d.ts +0 -1
- package/src/utils/isFunction/isFunction.js +0 -4
- package/src/utils/isMobile.cjs +0 -54
- package/src/utils/isMobile.d.ts +0 -13
- package/src/utils/isMobile.js +0 -46
- package/src/utils/isSameAddress/index.d.ts +0 -1
- package/src/utils/isSameAddress/isSameAddress.cjs +0 -9
- package/src/utils/isSameAddress/isSameAddress.d.ts +0 -1
- package/src/utils/isSameAddress/isSameAddress.js +0 -5
- package/src/utils/isSameAddress/utils/index.d.ts +0 -1
- package/src/utils/isSameAddress/utils/normalizeAddress/index.d.ts +0 -1
- package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.cjs +0 -17
- package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.d.ts +0 -1
- package/src/utils/isSameAddress/utils/normalizeAddress/normalizeAddress.js +0 -13
- package/src/utils/isSocialWalletConnector/index.d.ts +0 -1
- package/src/utils/isSocialWalletConnector/isSocialWalletConnector.cjs +0 -7
- package/src/utils/isSocialWalletConnector/isSocialWalletConnector.d.ts +0 -2
- package/src/utils/isSocialWalletConnector/isSocialWalletConnector.js +0 -3
- package/src/utils/isUnsupportedProviderError/index.d.ts +0 -1
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.cjs +0 -13
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.d.ts +0 -6
- package/src/utils/isUnsupportedProviderError/isUnsupportedProviderError.js +0 -9
- package/src/utils/localStorageAsync.cjs +0 -28
- package/src/utils/localStorageAsync.d.ts +0 -3
- package/src/utils/localStorageAsync.js +0 -22
- package/src/utils/logger.cjs +0 -9
- package/src/utils/logger.d.ts +0 -2
- package/src/utils/logger.js +0 -5
- package/src/utils/normalizeWalletName/index.d.ts +0 -1
- package/src/utils/normalizeWalletName/normalizeWalletName.cjs +0 -7
- package/src/utils/normalizeWalletName/normalizeWalletName.d.ts +0 -1
- package/src/utils/normalizeWalletName/normalizeWalletName.js +0 -3
- package/src/utils/shouldLowercaseAddress.cjs +0 -11
- package/src/utils/shouldLowercaseAddress.d.ts +0 -1
- package/src/utils/shouldLowercaseAddress.js +0 -7
- package/src/utils/walletConnect.cjs +0 -30
- package/src/utils/walletConnect.d.ts +0 -4
- package/src/utils/walletConnect.js +0 -26
- package/src/wallets/ProviderLookup.cjs +0 -18
- package/src/wallets/ProviderLookup.d.ts +0 -4
- package/src/wallets/ProviderLookup.js +0 -14
- package/src/wallets/algorand/MyAlgoWalletConnector.cjs +0 -149
- package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +0 -21
- package/src/wallets/algorand/MyAlgoWalletConnector.js +0 -143
- package/src/wallets/algorand/myalgoSigner.cjs +0 -24
- package/src/wallets/algorand/myalgoSigner.d.ts +0 -21
- package/src/wallets/algorand/myalgoSigner.js +0 -20
- package/src/wallets/clients/coinbase/coinbase.cjs +0 -73
- package/src/wallets/clients/coinbase/coinbase.d.ts +0 -6
- package/src/wallets/clients/coinbase/coinbase.js +0 -66
- package/src/wallets/clients/coinbase/index.d.ts +0 -2
- package/src/wallets/clients/coinbase/types.d.ts +0 -14
- package/src/wallets/clients/walletConnect/index.d.ts +0 -1
- package/src/wallets/clients/walletConnect/types.d.ts +0 -4
- package/src/wallets/clients/walletConnect/walletConnect.cjs +0 -204
- package/src/wallets/clients/walletConnect/walletConnect.d.ts +0 -22
- package/src/wallets/clients/walletConnect/walletConnect.js +0 -187
- package/src/wallets/constants.cjs +0 -16
- package/src/wallets/constants.d.ts +0 -4
- package/src/wallets/constants.js +0 -10
- package/src/wallets/cosmos/KeplrWalletConnect.cjs +0 -196
- package/src/wallets/cosmos/KeplrWalletConnect.d.ts +0 -46
- package/src/wallets/cosmos/KeplrWalletConnect.js +0 -194
- package/src/wallets/cosmos/KeplrWalletConnector.cjs +0 -193
- package/src/wallets/cosmos/KeplrWalletConnector.d.ts +0 -70
- package/src/wallets/cosmos/KeplrWalletConnector.js +0 -189
- package/src/wallets/cosmos/getKeplrConnector.cjs +0 -18
- package/src/wallets/cosmos/getKeplrConnector.d.ts +0 -6
- package/src/wallets/cosmos/getKeplrConnector.js +0 -14
- package/src/wallets/cosmos/index.d.ts +0 -1
- package/src/wallets/cosmos/utils/indexDB.cjs +0 -97
- package/src/wallets/cosmos/utils/indexDB.d.ts +0 -18
- package/src/wallets/cosmos/utils/indexDB.js +0 -93
- package/src/wallets/cosmos/wcClient.cjs +0 -333
- package/src/wallets/cosmos/wcClient.d.ts +0 -104
- package/src/wallets/cosmos/wcClient.js +0 -325
- package/src/wallets/ethereum/BloctoEvm.cjs +0 -111
- package/src/wallets/ethereum/BloctoEvm.d.ts +0 -25
- package/src/wallets/ethereum/BloctoEvm.js +0 -105
- package/src/wallets/ethereum/EthWalletConnector.cjs +0 -191
- package/src/wallets/ethereum/EthWalletConnector.d.ts +0 -35
- package/src/wallets/ethereum/EthWalletConnector.js +0 -187
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +0 -63
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +0 -59
- package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +0 -62
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +0 -11
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +0 -58
- package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +0 -102
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +0 -33
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +0 -98
- package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/index.d.ts +0 -2
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -55
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.d.ts +0 -12
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -51
- package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/index.d.ts +0 -1
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +0 -175
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +0 -53
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +0 -171
- package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/index.d.ts +0 -2
- package/src/wallets/ethereum/MagicConnector/index.d.ts +0 -5
- package/src/wallets/ethereum/coinbase.cjs +0 -65
- package/src/wallets/ethereum/coinbase.d.ts +0 -26
- package/src/wallets/ethereum/coinbase.js +0 -63
- package/src/wallets/ethereum/ethProviderHelper.cjs +0 -197
- package/src/wallets/ethereum/ethProviderHelper.d.ts +0 -40
- package/src/wallets/ethereum/ethProviderHelper.js +0 -193
- package/src/wallets/ethereum/evm-network.cjs +0 -20
- package/src/wallets/ethereum/evm-network.d.ts +0 -22
- package/src/wallets/ethereum/evm-network.js +0 -16
- package/src/wallets/ethereum/fortmatic.cjs +0 -75
- package/src/wallets/ethereum/fortmatic.d.ts +0 -26
- package/src/wallets/ethereum/fortmatic.js +0 -69
- package/src/wallets/ethereum/injected/BloctoInjected.cjs +0 -13
- package/src/wallets/ethereum/injected/BloctoInjected.d.ts +0 -6
- package/src/wallets/ethereum/injected/BloctoInjected.js +0 -11
- package/src/wallets/ethereum/injected/BraveEvm.cjs +0 -13
- package/src/wallets/ethereum/injected/BraveEvm.d.ts +0 -6
- package/src/wallets/ethereum/injected/BraveEvm.js +0 -11
- package/src/wallets/ethereum/injected/Dawn.cjs +0 -13
- package/src/wallets/ethereum/injected/Dawn.d.ts +0 -6
- package/src/wallets/ethereum/injected/Dawn.js +0 -11
- package/src/wallets/ethereum/injected/ExodusEvm.cjs +0 -13
- package/src/wallets/ethereum/injected/ExodusEvm.d.ts +0 -6
- package/src/wallets/ethereum/injected/ExodusEvm.js +0 -11
- package/src/wallets/ethereum/injected/Frame.cjs +0 -13
- package/src/wallets/ethereum/injected/Frame.d.ts +0 -6
- package/src/wallets/ethereum/injected/Frame.js +0 -11
- package/src/wallets/ethereum/injected/GameStop.cjs +0 -13
- package/src/wallets/ethereum/injected/GameStop.d.ts +0 -6
- package/src/wallets/ethereum/injected/GameStop.js +0 -11
- package/src/wallets/ethereum/injected/Opera.cjs +0 -13
- package/src/wallets/ethereum/injected/Opera.d.ts +0 -6
- package/src/wallets/ethereum/injected/Opera.js +0 -11
- package/src/wallets/ethereum/injected/PhantomEvm.cjs +0 -37
- package/src/wallets/ethereum/injected/PhantomEvm.d.ts +0 -7
- package/src/wallets/ethereum/injected/PhantomEvm.js +0 -35
- package/src/wallets/ethereum/injected/Trust.cjs +0 -13
- package/src/wallets/ethereum/injected/Trust.d.ts +0 -6
- package/src/wallets/ethereum/injected/Trust.js +0 -11
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.cjs +0 -13
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.d.ts +0 -6
- package/src/wallets/ethereum/injected/UnknownInjectedWallet.js +0 -11
- package/src/wallets/ethereum/injected/Zerion.cjs +0 -13
- package/src/wallets/ethereum/injected/Zerion.d.ts +0 -6
- package/src/wallets/ethereum/injected/Zerion.js +0 -11
- package/src/wallets/ethereum/meta-mask.cjs +0 -63
- package/src/wallets/ethereum/meta-mask.d.ts +0 -26
- package/src/wallets/ethereum/meta-mask.js +0 -61
- package/src/wallets/flow/FlowWalletConnector.cjs +0 -163
- package/src/wallets/flow/FlowWalletConnector.d.ts +0 -29
- package/src/wallets/flow/FlowWalletConnector.js +0 -158
- package/src/wallets/flow/blocto.cjs +0 -22
- package/src/wallets/flow/blocto.d.ts +0 -7
- package/src/wallets/flow/blocto.js +0 -20
- package/src/wallets/flow/dapper.cjs +0 -22
- package/src/wallets/flow/dapper.d.ts +0 -7
- package/src/wallets/flow/dapper.js +0 -20
- package/src/wallets/flow/lilico.cjs +0 -42
- package/src/wallets/flow/lilico.d.ts +0 -8
- package/src/wallets/flow/lilico.js +0 -40
- package/src/wallets/getMobileOrInjectedWallet.cjs +0 -26
- package/src/wallets/getMobileOrInjectedWallet.d.ts +0 -8
- package/src/wallets/getMobileOrInjectedWallet.js +0 -22
- package/src/wallets/getWalletConnectConnector.cjs +0 -19
- package/src/wallets/getWalletConnectConnector.d.ts +0 -8
- package/src/wallets/getWalletConnectConnector.js +0 -15
- package/src/wallets/solana/CoinbaseSolana.cjs +0 -54
- package/src/wallets/solana/CoinbaseSolana.d.ts +0 -17
- package/src/wallets/solana/CoinbaseSolana.js +0 -52
- package/src/wallets/solana/glow.cjs +0 -51
- package/src/wallets/solana/glow.d.ts +0 -16
- package/src/wallets/solana/glow.js +0 -49
- package/src/wallets/solana/injected/BraveSol.cjs +0 -18
- package/src/wallets/solana/injected/BraveSol.d.ts +0 -6
- package/src/wallets/solana/injected/BraveSol.js +0 -16
- package/src/wallets/solana/injected/ExodusSol.cjs +0 -12
- package/src/wallets/solana/injected/ExodusSol.d.ts +0 -5
- package/src/wallets/solana/injected/ExodusSol.js +0 -10
- package/src/wallets/solana/phantom-ledger.cjs +0 -71
- package/src/wallets/solana/phantom-ledger.d.ts +0 -16
- package/src/wallets/solana/phantom-ledger.js +0 -65
- package/src/wallets/solana/phantom.cjs +0 -74
- package/src/wallets/solana/phantom.d.ts +0 -17
- package/src/wallets/solana/phantom.js +0 -72
- package/src/wallets/solana/slope.cjs +0 -96
- package/src/wallets/solana/slope.d.ts +0 -27
- package/src/wallets/solana/slope.js +0 -94
- package/src/wallets/solana/solProviderHelper.cjs +0 -164
- package/src/wallets/solana/solProviderHelper.d.ts +0 -29
- package/src/wallets/solana/solProviderHelper.js +0 -160
- package/src/wallets/solana/solWalletConnector.cjs +0 -57
- package/src/wallets/solana/solWalletConnector.d.ts +0 -18
- package/src/wallets/solana/solWalletConnector.js +0 -53
- package/src/wallets/solana/solflare.cjs +0 -65
- package/src/wallets/solana/solflare.d.ts +0 -14
- package/src/wallets/solana/solflare.js +0 -63
- package/src/wallets/starknet/argentx.cjs +0 -20
- package/src/wallets/starknet/argentx.d.ts +0 -7
- package/src/wallets/starknet/argentx.js +0 -18
- package/src/wallets/starknet/braavos.cjs +0 -33
- package/src/wallets/starknet/braavos.d.ts +0 -7
- package/src/wallets/starknet/braavos.js +0 -31
- package/src/wallets/starknet/ethereumContractAbi.cjs +0 -357
- package/src/wallets/starknet/ethereumContractAbi.js +0 -355
- package/src/wallets/starknet/starknetWalletConnector.cjs +0 -171
- package/src/wallets/starknet/starknetWalletConnector.d.ts +0 -34
- package/src/wallets/starknet/starknetWalletConnector.js +0 -169
- package/src/wallets/walletConnect/index.d.ts +0 -2
- package/src/wallets/walletConnect/walletConnect.cjs +0 -130
- package/src/wallets/walletConnect/walletConnect.d.ts +0 -34
- package/src/wallets/walletConnect/walletConnect.js +0 -124
- package/src/wallets/walletConnect/walletConnectV2.cjs +0 -268
- package/src/wallets/walletConnect/walletConnectV2.d.ts +0 -38
- package/src/wallets/walletConnect/walletConnectV2.js +0 -262
- package/src/wallets/walletConnect/zerion.d.ts +0 -8
- package/src/wallets/window.d.ts +0 -95
package/src/utils/isMobile.cjs
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
/**
|
|
6
|
-
* Sourced from http://detectmobilebrowsers.com/
|
|
7
|
-
*/
|
|
8
|
-
/* eslint-disable max-len, no-useless-escape */
|
|
9
|
-
const userAgentRegex1 = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i;
|
|
10
|
-
const userAgentRegex2 = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i;
|
|
11
|
-
// This is a regex that covers both iphone, android and any other mobile device.
|
|
12
|
-
const isMobile = (maxTouchPointsOverride) => {
|
|
13
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
|
|
14
|
-
return false;
|
|
15
|
-
}
|
|
16
|
-
return (userAgentRegex1.test(navigator.userAgent) ||
|
|
17
|
-
userAgentRegex2.test(navigator.userAgent.substring(0, 4)) ||
|
|
18
|
-
isIPad(maxTouchPointsOverride) ||
|
|
19
|
-
isIPhone());
|
|
20
|
-
};
|
|
21
|
-
const isIPhone = () => typeof window === 'undefined' || typeof navigator === 'undefined'
|
|
22
|
-
? false
|
|
23
|
-
: /iPhone/.test(navigator.userAgent);
|
|
24
|
-
/**
|
|
25
|
-
* @param [optional] maxTouchPointsOverride - this is used for testing since
|
|
26
|
-
* it seems that JSDOM doesn't support maxTouchPoints, so it was impossible
|
|
27
|
-
* to mock it
|
|
28
|
-
*/
|
|
29
|
-
const isIPad = (maxTouchPointsOverride) => {
|
|
30
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
const maxTouchPoints = maxTouchPointsOverride || navigator.maxTouchPoints;
|
|
34
|
-
return (/iPad/.test(navigator.userAgent) ||
|
|
35
|
-
(/Mac/.test(navigator.userAgent) && maxTouchPoints === 5));
|
|
36
|
-
};
|
|
37
|
-
const isIOS = (maxTouchPointsOverride) => {
|
|
38
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
|
|
39
|
-
return false;
|
|
40
|
-
}
|
|
41
|
-
return isIPhone() || isIPad(maxTouchPointsOverride);
|
|
42
|
-
};
|
|
43
|
-
const isSamsungBrowser = () => {
|
|
44
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
|
|
45
|
-
return false;
|
|
46
|
-
}
|
|
47
|
-
return navigator.userAgent.includes('SamsungBrowser');
|
|
48
|
-
};
|
|
49
|
-
|
|
50
|
-
exports.isIOS = isIOS;
|
|
51
|
-
exports.isIPad = isIPad;
|
|
52
|
-
exports.isIPhone = isIPhone;
|
|
53
|
-
exports.isMobile = isMobile;
|
|
54
|
-
exports.isSamsungBrowser = isSamsungBrowser;
|
package/src/utils/isMobile.d.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sourced from http://detectmobilebrowsers.com/
|
|
3
|
-
*/
|
|
4
|
-
export declare const isMobile: (maxTouchPointsOverride?: number) => boolean;
|
|
5
|
-
export declare const isIPhone: () => boolean;
|
|
6
|
-
/**
|
|
7
|
-
* @param [optional] maxTouchPointsOverride - this is used for testing since
|
|
8
|
-
* it seems that JSDOM doesn't support maxTouchPoints, so it was impossible
|
|
9
|
-
* to mock it
|
|
10
|
-
*/
|
|
11
|
-
export declare const isIPad: (maxTouchPointsOverride?: number) => boolean;
|
|
12
|
-
export declare const isIOS: (maxTouchPointsOverride?: number) => boolean;
|
|
13
|
-
export declare const isSamsungBrowser: () => boolean;
|
package/src/utils/isMobile.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sourced from http://detectmobilebrowsers.com/
|
|
3
|
-
*/
|
|
4
|
-
/* eslint-disable max-len, no-useless-escape */
|
|
5
|
-
const userAgentRegex1 = /(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i;
|
|
6
|
-
const userAgentRegex2 = /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i;
|
|
7
|
-
// This is a regex that covers both iphone, android and any other mobile device.
|
|
8
|
-
const isMobile = (maxTouchPointsOverride) => {
|
|
9
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
return (userAgentRegex1.test(navigator.userAgent) ||
|
|
13
|
-
userAgentRegex2.test(navigator.userAgent.substring(0, 4)) ||
|
|
14
|
-
isIPad(maxTouchPointsOverride) ||
|
|
15
|
-
isIPhone());
|
|
16
|
-
};
|
|
17
|
-
const isIPhone = () => typeof window === 'undefined' || typeof navigator === 'undefined'
|
|
18
|
-
? false
|
|
19
|
-
: /iPhone/.test(navigator.userAgent);
|
|
20
|
-
/**
|
|
21
|
-
* @param [optional] maxTouchPointsOverride - this is used for testing since
|
|
22
|
-
* it seems that JSDOM doesn't support maxTouchPoints, so it was impossible
|
|
23
|
-
* to mock it
|
|
24
|
-
*/
|
|
25
|
-
const isIPad = (maxTouchPointsOverride) => {
|
|
26
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
|
|
27
|
-
return false;
|
|
28
|
-
}
|
|
29
|
-
const maxTouchPoints = maxTouchPointsOverride || navigator.maxTouchPoints;
|
|
30
|
-
return (/iPad/.test(navigator.userAgent) ||
|
|
31
|
-
(/Mac/.test(navigator.userAgent) && maxTouchPoints === 5));
|
|
32
|
-
};
|
|
33
|
-
const isIOS = (maxTouchPointsOverride) => {
|
|
34
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
|
|
35
|
-
return false;
|
|
36
|
-
}
|
|
37
|
-
return isIPhone() || isIPad(maxTouchPointsOverride);
|
|
38
|
-
};
|
|
39
|
-
const isSamsungBrowser = () => {
|
|
40
|
-
if (typeof window === 'undefined' || typeof navigator === 'undefined') {
|
|
41
|
-
return false;
|
|
42
|
-
}
|
|
43
|
-
return navigator.userAgent.includes('SamsungBrowser');
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export { isIOS, isIPad, isIPhone, isMobile, isSamsungBrowser };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { isSameAddress } from './isSameAddress';
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var normalizeAddress = require('./utils/normalizeAddress/normalizeAddress.cjs');
|
|
6
|
-
|
|
7
|
-
const isSameAddress = (left, right, chain) => normalizeAddress.normalizeAddress(left, chain) === normalizeAddress.normalizeAddress(right, chain);
|
|
8
|
-
|
|
9
|
-
exports.isSameAddress = isSameAddress;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const isSameAddress: (left: string, right: string, chain: string) => boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './normalizeAddress';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { normalizeAddress } from './normalizeAddress';
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var shouldLowercaseAddress = require('../../../shouldLowercaseAddress.cjs');
|
|
6
|
-
|
|
7
|
-
const normalizeAddress = (rawAddress, chain) => {
|
|
8
|
-
if (rawAddress.startsWith('0x')) {
|
|
9
|
-
rawAddress = rawAddress.slice(2);
|
|
10
|
-
}
|
|
11
|
-
const address = shouldLowercaseAddress.shouldLowercaseAddress(chain)
|
|
12
|
-
? rawAddress.toLowerCase()
|
|
13
|
-
: rawAddress;
|
|
14
|
-
return address;
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
exports.normalizeAddress = normalizeAddress;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const normalizeAddress: (rawAddress: string, chain: string) => string;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { shouldLowercaseAddress } from '../../../shouldLowercaseAddress.js';
|
|
2
|
-
|
|
3
|
-
const normalizeAddress = (rawAddress, chain) => {
|
|
4
|
-
if (rawAddress.startsWith('0x')) {
|
|
5
|
-
rawAddress = rawAddress.slice(2);
|
|
6
|
-
}
|
|
7
|
-
const address = shouldLowercaseAddress(chain)
|
|
8
|
-
? rawAddress.toLowerCase()
|
|
9
|
-
: rawAddress;
|
|
10
|
-
return address;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
export { normalizeAddress };
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { isSocialWalletConnector } from './isSocialWalletConnector';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { isUnsupportedProviderError } from './isUnsupportedProviderError';
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const isUnsupportedProviderError = (error) => {
|
|
6
|
-
const isObject = typeof error === 'object';
|
|
7
|
-
if (!isObject)
|
|
8
|
-
return false;
|
|
9
|
-
const isUnsupportedProviderErrorReason = error['reason'] === 'unsupported provider';
|
|
10
|
-
return isUnsupportedProviderErrorReason;
|
|
11
|
-
};
|
|
12
|
-
|
|
13
|
-
exports.isUnsupportedProviderError = isUnsupportedProviderError;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
const isUnsupportedProviderError = (error) => {
|
|
2
|
-
const isObject = typeof error === 'object';
|
|
3
|
-
if (!isObject)
|
|
4
|
-
return false;
|
|
5
|
-
const isUnsupportedProviderErrorReason = error['reason'] === 'unsupported provider';
|
|
6
|
-
return isUnsupportedProviderErrorReason;
|
|
7
|
-
};
|
|
8
|
-
|
|
9
|
-
export { isUnsupportedProviderError };
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var tslib = require('tslib');
|
|
6
|
-
|
|
7
|
-
const getItemAsync = (key) => tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
8
|
-
if (typeof window === 'undefined') {
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
return window.localStorage.getItem(key) || undefined;
|
|
12
|
-
});
|
|
13
|
-
const setItemAsync = (key, value) => tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
14
|
-
if (typeof window === 'undefined') {
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
return window.localStorage.setItem(key, value);
|
|
18
|
-
});
|
|
19
|
-
const removeItemAsync = (key) => tslib.__awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
-
if (typeof window === 'undefined') {
|
|
21
|
-
return undefined;
|
|
22
|
-
}
|
|
23
|
-
return localStorage.removeItem(key);
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
exports.getItemAsync = getItemAsync;
|
|
27
|
-
exports.removeItemAsync = removeItemAsync;
|
|
28
|
-
exports.setItemAsync = setItemAsync;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { __awaiter } from 'tslib';
|
|
2
|
-
|
|
3
|
-
const getItemAsync = (key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
4
|
-
if (typeof window === 'undefined') {
|
|
5
|
-
return undefined;
|
|
6
|
-
}
|
|
7
|
-
return window.localStorage.getItem(key) || undefined;
|
|
8
|
-
});
|
|
9
|
-
const setItemAsync = (key, value) => __awaiter(void 0, void 0, void 0, function* () {
|
|
10
|
-
if (typeof window === 'undefined') {
|
|
11
|
-
return undefined;
|
|
12
|
-
}
|
|
13
|
-
return window.localStorage.setItem(key, value);
|
|
14
|
-
});
|
|
15
|
-
const removeItemAsync = (key) => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
-
if (typeof window === 'undefined') {
|
|
17
|
-
return undefined;
|
|
18
|
-
}
|
|
19
|
-
return localStorage.removeItem(key);
|
|
20
|
-
});
|
|
21
|
-
|
|
22
|
-
export { getItemAsync, removeItemAsync, setItemAsync };
|
package/src/utils/logger.cjs
DELETED
package/src/utils/logger.d.ts
DELETED
package/src/utils/logger.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export { normalizeWalletName } from './normalizeWalletName';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const normalizeWalletName: (name: string) => string;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const shouldLowercaseAddress = (chain) =>
|
|
6
|
-
// these are standard from CAIP-2: https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-2.md
|
|
7
|
-
// see also: https://github.com/ChainAgnostic/namespaces
|
|
8
|
-
// note: no standard namespace currently exists for flow
|
|
9
|
-
['eip155', 'flow', 'evm', 'eth'].includes(chain.toLowerCase());
|
|
10
|
-
|
|
11
|
-
exports.shouldLowercaseAddress = shouldLowercaseAddress;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const shouldLowercaseAddress: (chain: string) => boolean;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
const shouldLowercaseAddress = (chain) =>
|
|
2
|
-
// these are standard from CAIP-2: https://github.com/ChainAgnostic/CAIPs/blob/master/CAIPs/caip-2.md
|
|
3
|
-
// see also: https://github.com/ChainAgnostic/namespaces
|
|
4
|
-
// note: no standard namespace currently exists for flow
|
|
5
|
-
['eip155', 'flow', 'evm', 'eth'].includes(chain.toLowerCase());
|
|
6
|
-
|
|
7
|
-
export { shouldLowercaseAddress };
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
var walletBook = require('@dynamic-labs/wallet-book');
|
|
6
|
-
var walletConnect = require('../wallets/walletConnect/walletConnect.cjs');
|
|
7
|
-
var walletConnectV2 = require('../wallets/walletConnect/walletConnectV2.cjs');
|
|
8
|
-
|
|
9
|
-
const fetchWalletConnectWallets = (evmNetworks, isV2Enabled) => Object.values(walletBook.useWalletBook().wallets)
|
|
10
|
-
.filter((wallet) => wallet.walletConnect)
|
|
11
|
-
.map((wallet) => {
|
|
12
|
-
var _a;
|
|
13
|
-
const { shortName } = wallet;
|
|
14
|
-
const name = shortName || wallet.name;
|
|
15
|
-
let connector;
|
|
16
|
-
// justification: we filtered out null/undefined above
|
|
17
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
18
|
-
if (isV2Enabled && ((_a = wallet.walletConnect.sdks) === null || _a === void 0 ? void 0 : _a.includes('sign_v2'))) {
|
|
19
|
-
connector = new walletConnectV2({
|
|
20
|
-
evmNetworks,
|
|
21
|
-
walletName: name,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
connector = new walletConnect({ evmNetworks, walletName: name });
|
|
26
|
-
}
|
|
27
|
-
return connector;
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
exports.fetchWalletConnectWallets = fetchWalletConnectWallets;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import WalletConnect from '../wallets/walletConnect';
|
|
2
|
-
import { EvmNetwork } from '../wallets/ethereum/evm-network';
|
|
3
|
-
import WalletConnectV2 from '../wallets/walletConnect/walletConnectV2';
|
|
4
|
-
export declare const fetchWalletConnectWallets: (evmNetworks: EvmNetwork[], isV2Enabled: boolean) => (WalletConnectV2 | WalletConnect)[];
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { useWalletBook } from '@dynamic-labs/wallet-book';
|
|
2
|
-
import WalletConnect from '../wallets/walletConnect/walletConnect.js';
|
|
3
|
-
import WalletConnectV2 from '../wallets/walletConnect/walletConnectV2.js';
|
|
4
|
-
|
|
5
|
-
const fetchWalletConnectWallets = (evmNetworks, isV2Enabled) => Object.values(useWalletBook().wallets)
|
|
6
|
-
.filter((wallet) => wallet.walletConnect)
|
|
7
|
-
.map((wallet) => {
|
|
8
|
-
var _a;
|
|
9
|
-
const { shortName } = wallet;
|
|
10
|
-
const name = shortName || wallet.name;
|
|
11
|
-
let connector;
|
|
12
|
-
// justification: we filtered out null/undefined above
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
14
|
-
if (isV2Enabled && ((_a = wallet.walletConnect.sdks) === null || _a === void 0 ? void 0 : _a.includes('sign_v2'))) {
|
|
15
|
-
connector = new WalletConnectV2({
|
|
16
|
-
evmNetworks,
|
|
17
|
-
walletName: name,
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
|
-
else {
|
|
21
|
-
connector = new WalletConnect({ evmNetworks, walletName: name });
|
|
22
|
-
}
|
|
23
|
-
return connector;
|
|
24
|
-
});
|
|
25
|
-
|
|
26
|
-
export { fetchWalletConnectWallets };
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
-
|
|
5
|
-
const ProviderLookup = (installedProviders, providerFlags) => {
|
|
6
|
-
if (providerFlags.length === 0) {
|
|
7
|
-
return undefined;
|
|
8
|
-
}
|
|
9
|
-
return installedProviders.find((provider) => {
|
|
10
|
-
const providerFlagMatch = providerFlags.every((condition) => {
|
|
11
|
-
const flagValue = (provider === null || provider === void 0 ? void 0 : provider[condition.flag]) || false;
|
|
12
|
-
return flagValue === condition.value;
|
|
13
|
-
});
|
|
14
|
-
return providerFlagMatch === true;
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
exports.ProviderLookup = ProviderLookup;
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { IEthereum, ISolana, ProviderCondition } from './window';
|
|
2
|
-
type AllowedProvidersInterfaces = IEthereum | ISolana;
|
|
3
|
-
export declare const ProviderLookup: <T extends AllowedProvidersInterfaces>(installedProviders: T[], providerFlags: Array<ProviderCondition>) => T | undefined;
|
|
4
|
-
export {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const ProviderLookup = (installedProviders, providerFlags) => {
|
|
2
|
-
if (providerFlags.length === 0) {
|
|
3
|
-
return undefined;
|
|
4
|
-
}
|
|
5
|
-
return installedProviders.find((provider) => {
|
|
6
|
-
const providerFlagMatch = providerFlags.every((condition) => {
|
|
7
|
-
const flagValue = (provider === null || provider === void 0 ? void 0 : provider[condition.flag]) || false;
|
|
8
|
-
return flagValue === condition.value;
|
|
9
|
-
});
|
|
10
|
-
return providerFlagMatch === true;
|
|
11
|
-
});
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
export { ProviderLookup };
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var tslib = require('tslib');
|
|
4
|
-
var MyAlgoConnect = require('@randlabs/myalgo-connect');
|
|
5
|
-
var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
|
|
6
|
-
var errors = require('../../errors.cjs');
|
|
7
|
-
var localStorageAsync = require('../../utils/localStorageAsync.cjs');
|
|
8
|
-
var myalgoSigner = require('./myalgoSigner.cjs');
|
|
9
|
-
|
|
10
|
-
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
11
|
-
|
|
12
|
-
var MyAlgoConnect__default = /*#__PURE__*/_interopDefaultLegacy(MyAlgoConnect);
|
|
13
|
-
|
|
14
|
-
const HTTP_STATUS_TOO_MANY_REQUESTS = 429;
|
|
15
|
-
const HTTP_STATUS_NOT_FOUND = 404;
|
|
16
|
-
class MyAlgoLocalStorageCache {
|
|
17
|
-
constructor() {
|
|
18
|
-
this.SESSION_STORAGE_KEY = 'algorand_myalgo_currentAddress';
|
|
19
|
-
this.LAST_BALANCE_KEY = 'algorand_myalgo_lastBalance';
|
|
20
|
-
}
|
|
21
|
-
getCurrentAddress() {
|
|
22
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const addr = yield localStorageAsync.getItemAsync(this.SESSION_STORAGE_KEY);
|
|
24
|
-
if (!addr) {
|
|
25
|
-
return undefined;
|
|
26
|
-
}
|
|
27
|
-
return addr;
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
setCurrentAddress(addr) {
|
|
31
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
localStorageAsync.setItemAsync(this.SESSION_STORAGE_KEY, addr);
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
clearCurrentAddress() {
|
|
36
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
localStorageAsync.removeItemAsync(this.SESSION_STORAGE_KEY);
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
getLastBalance() {
|
|
41
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
42
|
-
const balance = yield localStorageAsync.getItemAsync(this.LAST_BALANCE_KEY);
|
|
43
|
-
if (!balance) {
|
|
44
|
-
return undefined;
|
|
45
|
-
}
|
|
46
|
-
return balance;
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
setLastBalance(balance) {
|
|
50
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
localStorageAsync.setItemAsync(this.LAST_BALANCE_KEY, balance);
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
class MyAlgoWalletConnector extends walletConnectorCore.WalletConnectorBase {
|
|
56
|
-
constructor() {
|
|
57
|
-
super();
|
|
58
|
-
this.name = 'MyAlgo';
|
|
59
|
-
this.canConnectViaCustodialService = true;
|
|
60
|
-
this.connectedChain = 'ALGO';
|
|
61
|
-
this.supportedChains = ['ALGO'];
|
|
62
|
-
this.cache = new MyAlgoLocalStorageCache();
|
|
63
|
-
}
|
|
64
|
-
getClient() {
|
|
65
|
-
if (!this.client) {
|
|
66
|
-
this.client = new MyAlgoConnect__default["default"]();
|
|
67
|
-
}
|
|
68
|
-
return this.client;
|
|
69
|
-
}
|
|
70
|
-
getNetwork() {
|
|
71
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
72
|
-
return undefined;
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
getDeepLink() {
|
|
76
|
-
return undefined;
|
|
77
|
-
}
|
|
78
|
-
fetchPublicAddress() {
|
|
79
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
80
|
-
const currentAddress = yield this.cache.getCurrentAddress();
|
|
81
|
-
if (currentAddress) {
|
|
82
|
-
return currentAddress;
|
|
83
|
-
}
|
|
84
|
-
const accounts = yield this.getClient().connect({
|
|
85
|
-
shouldSelectOneAccount: true,
|
|
86
|
-
});
|
|
87
|
-
if (accounts.length > 0) {
|
|
88
|
-
const [{ address }] = accounts;
|
|
89
|
-
yield this.cache.setCurrentAddress(address);
|
|
90
|
-
return address;
|
|
91
|
-
}
|
|
92
|
-
return '';
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
getSigner() {
|
|
96
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
97
|
-
const address = yield this.fetchPublicAddress();
|
|
98
|
-
if (!address)
|
|
99
|
-
throw new errors.DynamicError('MyAlgo Wallet Connector - Not connected!');
|
|
100
|
-
return new myalgoSigner.MyAlgoSigner(address, this.getClient());
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
signMessage(messageToSign) {
|
|
104
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
105
|
-
const signer = yield this.getSigner();
|
|
106
|
-
const signature = yield signer.signBytes(Buffer.from(messageToSign));
|
|
107
|
-
return Buffer.from(signature).toString('hex');
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
getBalance() {
|
|
111
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
112
|
-
const address = yield this.fetchPublicAddress();
|
|
113
|
-
if (!address)
|
|
114
|
-
throw new errors.DynamicError('getBalance - Not connected!');
|
|
115
|
-
const response = yield fetch(`https://indexer.algoexplorerapi.io/v2/accounts/${address}`);
|
|
116
|
-
if (!response.ok) {
|
|
117
|
-
// if the request fails due to rate limits, return cached value
|
|
118
|
-
if (response.status === HTTP_STATUS_TOO_MANY_REQUESTS) {
|
|
119
|
-
return this.cache.getLastBalance();
|
|
120
|
-
}
|
|
121
|
-
// new accounts not yet indexed will return a 404
|
|
122
|
-
if (response.status === HTTP_STATUS_NOT_FOUND) {
|
|
123
|
-
return '0';
|
|
124
|
-
}
|
|
125
|
-
return undefined;
|
|
126
|
-
}
|
|
127
|
-
const accountInfo = yield response.json();
|
|
128
|
-
if (!accountInfo.account) {
|
|
129
|
-
return undefined;
|
|
130
|
-
}
|
|
131
|
-
const balance = accountInfo.account.amount.toString();
|
|
132
|
-
yield this.cache.setLastBalance(balance.toString());
|
|
133
|
-
return balance.toString();
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
endSession() {
|
|
137
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
138
|
-
yield this.cache.clearCurrentAddress();
|
|
139
|
-
});
|
|
140
|
-
}
|
|
141
|
-
getConnectedAccounts() {
|
|
142
|
-
return tslib.__awaiter(this, void 0, void 0, function* () {
|
|
143
|
-
const currentAddress = yield this.cache.getCurrentAddress();
|
|
144
|
-
return currentAddress ? [currentAddress] : [];
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
module.exports = MyAlgoWalletConnector;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { Chain, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
|
|
2
|
-
import { IMyAlgoSigner } from './myalgoSigner';
|
|
3
|
-
declare class MyAlgoWalletConnector extends WalletConnectorBase {
|
|
4
|
-
private client?;
|
|
5
|
-
private cache;
|
|
6
|
-
name: string;
|
|
7
|
-
canConnectViaCustodialService: boolean;
|
|
8
|
-
connectedChain: Chain;
|
|
9
|
-
supportedChains: Chain[];
|
|
10
|
-
constructor();
|
|
11
|
-
private getClient;
|
|
12
|
-
getNetwork(): Promise<number | undefined>;
|
|
13
|
-
getDeepLink(): string | undefined;
|
|
14
|
-
fetchPublicAddress(): Promise<string | undefined>;
|
|
15
|
-
getSigner(): Promise<IMyAlgoSigner>;
|
|
16
|
-
signMessage(messageToSign: string): Promise<string | undefined>;
|
|
17
|
-
getBalance(): Promise<string | undefined>;
|
|
18
|
-
endSession(): Promise<void>;
|
|
19
|
-
getConnectedAccounts(): Promise<string[]>;
|
|
20
|
-
}
|
|
21
|
-
export default MyAlgoWalletConnector;
|