@dynamic-labs/multi-wallet 0.17.0-RC.0 → 0.17.0-RC.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (112) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/package.json +3 -3
  3. package/src/index.cjs +2 -2
  4. package/src/index.d.ts +1 -1
  5. package/src/index.js +1 -1
  6. package/src/multi-wallet.cjs +5 -8
  7. package/src/multi-wallet.js +5 -8
  8. package/src/utils/isEmailOTPWalletConnector/isEmailOTPWalletConnector.d.ts +2 -2
  9. package/src/utils/isEmailWalletConnector/isEmailWalletConnector.d.ts +2 -2
  10. package/src/utils/message.cjs +1 -1
  11. package/src/utils/message.js +1 -1
  12. package/src/utils/walletConnect.cjs +1 -1
  13. package/src/wallets/algorand/{myalgo.cjs → MyAlgoWalletConnector.cjs} +4 -42
  14. package/src/wallets/algorand/MyAlgoWalletConnector.d.ts +21 -0
  15. package/src/wallets/algorand/{myalgo.js → MyAlgoWalletConnector.js} +4 -42
  16. package/src/wallets/clients/coinbase/coinbase.cjs +2 -6
  17. package/src/wallets/clients/coinbase/coinbase.js +1 -1
  18. package/src/wallets/cosmos/{keplrWalletConnect.cjs → KeplrWalletConnect.cjs} +9 -25
  19. package/src/wallets/cosmos/{keplrWalletConnect.d.ts → KeplrWalletConnect.d.ts} +6 -14
  20. package/src/wallets/cosmos/{keplrWalletConnect.js → KeplrWalletConnect.js} +9 -25
  21. package/src/wallets/cosmos/{keplr.cjs → KeplrWalletConnector.cjs} +5 -17
  22. package/src/wallets/cosmos/{keplr.d.ts → KeplrWalletConnector.d.ts} +5 -13
  23. package/src/wallets/cosmos/{keplr.js → KeplrWalletConnector.js} +5 -17
  24. package/src/wallets/cosmos/getKeplrConnector.cjs +6 -6
  25. package/src/wallets/cosmos/getKeplrConnector.d.ts +3 -3
  26. package/src/wallets/cosmos/getKeplrConnector.js +3 -3
  27. package/src/wallets/cosmos/index.d.ts +1 -1
  28. package/src/wallets/ethereum/BloctoEvm.cjs +2 -31
  29. package/src/wallets/ethereum/BloctoEvm.d.ts +4 -13
  30. package/src/wallets/ethereum/BloctoEvm.js +2 -31
  31. package/src/wallets/ethereum/{ethProvider.cjs → EthWalletConnector.cjs} +38 -18
  32. package/src/wallets/ethereum/{ethProvider.d.ts → EthWalletConnector.d.ts} +4 -4
  33. package/src/wallets/ethereum/{ethProvider.js → EthWalletConnector.js} +38 -18
  34. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.cjs +9 -4
  35. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.d.ts +5 -5
  36. package/src/wallets/ethereum/MagicConnector/EmailMagicWalletConnector/EmailMagicWalletConnector.js +9 -4
  37. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs +1 -1
  38. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.d.ts +2 -2
  39. package/src/wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js +1 -1
  40. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.cjs +1 -2
  41. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.d.ts +2 -3
  42. package/src/wallets/ethereum/MagicConnector/MagicClientNetworkHandler/MagicClientNetworkHandler.js +1 -2
  43. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs +0 -1
  44. package/src/wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js +0 -1
  45. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.cjs +6 -13
  46. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.d.ts +3 -10
  47. package/src/wallets/ethereum/MagicConnector/MagicWalletConnector/MagicWalletConnector.js +6 -13
  48. package/src/wallets/ethereum/coinbase.cjs +2 -18
  49. package/src/wallets/ethereum/coinbase.d.ts +3 -8
  50. package/src/wallets/ethereum/coinbase.js +2 -18
  51. package/src/wallets/ethereum/ethProviderHelper.cjs +16 -9
  52. package/src/wallets/ethereum/ethProviderHelper.js +16 -9
  53. package/src/wallets/ethereum/fortmatic.cjs +2 -25
  54. package/src/wallets/ethereum/fortmatic.d.ts +3 -11
  55. package/src/wallets/ethereum/fortmatic.js +2 -25
  56. package/src/wallets/ethereum/meta-mask.cjs +2 -9
  57. package/src/wallets/ethereum/meta-mask.d.ts +3 -7
  58. package/src/wallets/ethereum/meta-mask.js +2 -9
  59. package/src/wallets/flow/{flow-provider.cjs → FlowWalletConnector.cjs} +6 -33
  60. package/src/wallets/flow/{flow-provider.d.ts → FlowWalletConnector.d.ts} +4 -11
  61. package/src/wallets/flow/{flow-provider.js → FlowWalletConnector.js} +6 -33
  62. package/src/wallets/flow/blocto.cjs +2 -10
  63. package/src/wallets/flow/blocto.d.ts +2 -8
  64. package/src/wallets/flow/blocto.js +2 -10
  65. package/src/wallets/flow/dapper.cjs +2 -10
  66. package/src/wallets/flow/dapper.d.ts +2 -8
  67. package/src/wallets/flow/dapper.js +2 -10
  68. package/src/wallets/flow/lilico.cjs +2 -11
  69. package/src/wallets/flow/lilico.d.ts +2 -9
  70. package/src/wallets/flow/lilico.js +2 -11
  71. package/src/wallets/getMobileOrInjectedWallet.cjs +1 -1
  72. package/src/wallets/getMobileOrInjectedWallet.d.ts +1 -3
  73. package/src/wallets/getWalletConnectConnector.cjs +3 -2
  74. package/src/wallets/getWalletConnectConnector.d.ts +2 -1
  75. package/src/wallets/getWalletConnectConnector.js +2 -1
  76. package/src/wallets/solana/CoinbaseSolana.cjs +2 -25
  77. package/src/wallets/solana/CoinbaseSolana.d.ts +3 -12
  78. package/src/wallets/solana/CoinbaseSolana.js +2 -25
  79. package/src/wallets/solana/glow.cjs +2 -25
  80. package/src/wallets/solana/glow.d.ts +3 -12
  81. package/src/wallets/solana/glow.js +2 -25
  82. package/src/wallets/solana/phantom.cjs +2 -25
  83. package/src/wallets/solana/phantom.d.ts +3 -12
  84. package/src/wallets/solana/phantom.js +2 -25
  85. package/src/wallets/solana/slope.cjs +2 -31
  86. package/src/wallets/solana/slope.d.ts +2 -14
  87. package/src/wallets/solana/slope.js +2 -31
  88. package/src/wallets/solana/{solProvider.cjs → solWalletConnector.cjs} +6 -11
  89. package/src/wallets/solana/{solProvider.d.ts → solWalletConnector.d.ts} +4 -4
  90. package/src/wallets/solana/{solProvider.js → solWalletConnector.js} +6 -11
  91. package/src/wallets/solana/solflare.cjs +2 -31
  92. package/src/wallets/solana/solflare.d.ts +2 -14
  93. package/src/wallets/solana/solflare.js +2 -31
  94. package/src/wallets/starknet/argentx.cjs +2 -2
  95. package/src/wallets/starknet/argentx.d.ts +1 -1
  96. package/src/wallets/starknet/argentx.js +2 -2
  97. package/src/wallets/starknet/braavos.cjs +2 -2
  98. package/src/wallets/starknet/braavos.d.ts +1 -1
  99. package/src/wallets/starknet/braavos.js +2 -2
  100. package/src/wallets/starknet/{starknetProvider.cjs → starknetWalletConnector.cjs} +4 -34
  101. package/src/wallets/starknet/{starknetProvider.d.ts → starknetWalletConnector.d.ts} +3 -14
  102. package/src/wallets/starknet/{starknetProvider.js → starknetWalletConnector.js} +4 -34
  103. package/src/wallets/walletConnect/walletConnect.cjs +2 -19
  104. package/src/wallets/walletConnect/walletConnect.d.ts +3 -8
  105. package/src/wallets/walletConnect/walletConnect.js +2 -19
  106. package/src/wallets/walletConnect/walletConnectV2.cjs +69 -83
  107. package/src/wallets/walletConnect/walletConnectV2.d.ts +10 -12
  108. package/src/wallets/walletConnect/walletConnectV2.js +69 -80
  109. package/src/wallets/algorand/myalgo.d.ts +0 -36
  110. package/src/wallets/initializeWalletProviders.cjs +0 -14
  111. package/src/wallets/initializeWalletProviders.d.ts +0 -6
  112. package/src/wallets/initializeWalletProviders.js +0 -10
package/CHANGELOG.md CHANGED
@@ -1,4 +1,27 @@
1
1
 
2
+ ## [0.17.0-RC.1](https://github.com/dynamic-labs/DynamicAuth/compare/v0.17.0-RC.0...v0.17.0-RC.1) (2023-04-20)
3
+
4
+
5
+ ### Features
6
+
7
+ * add getNameService method to connectors ([#1894](https://github.com/dynamic-labs/DynamicAuth/issues/1894)) ([000b4e9](https://github.com/dynamic-labs/DynamicAuth/commit/000b4e9af89bb69299191c1452984168f30d81b5))
8
+ * add social sign in flow ([#1849](https://github.com/dynamic-labs/DynamicAuth/issues/1849)) ([aa0f201](https://github.com/dynamic-labs/DynamicAuth/commit/aa0f201e6de35b092edc8283fc95e1a9074c7d56))
9
+ * add wallet filter by chain name ([#1878](https://github.com/dynamic-labs/DynamicAuth/issues/1878)) ([8f3f99f](https://github.com/dynamic-labs/DynamicAuth/commit/8f3f99ff4f6d63d5e5ae9193277f35d4c2f99ab6))
10
+ * only set view to wallet list when linking ([#1905](https://github.com/dynamic-labs/DynamicAuth/issues/1905)) ([3413048](https://github.com/dynamic-labs/DynamicAuth/commit/341304832340f2d262e58a59df44691c81572ed6))
11
+ * social sign in ux improvements ([#1898](https://github.com/dynamic-labs/DynamicAuth/issues/1898)) ([cb5a037](https://github.com/dynamic-labs/DynamicAuth/commit/cb5a0376d051a401aadb15c3ad49f0d3301de3e9))
12
+ * **SocialUICard:** adds overlay card with more social options ([#1889](https://github.com/dynamic-labs/DynamicAuth/issues/1889)) ([8ff6920](https://github.com/dynamic-labs/DynamicAuth/commit/8ff6920844b104c4d0679bb23a092eb675297d95))
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * **DYN-2147:** connectWallet calling createVisit multiple times ([ceba216](https://github.com/dynamic-labs/DynamicAuth/commit/ceba216a82f4073751a210be6e6c8326286e4266))
18
+ * handle undefined or defined cases in new WalletConnector class ([#1914](https://github.com/dynamic-labs/DynamicAuth/issues/1914)) ([869afa6](https://github.com/dynamic-labs/DynamicAuth/commit/869afa67536b26715b4c91a457d8965548f107bd))
19
+ * issue with wallets list being empty after linking new wallet ([#1883](https://github.com/dynamic-labs/DynamicAuth/issues/1883)) ([19bd8cd](https://github.com/dynamic-labs/DynamicAuth/commit/19bd8cd47619b5164fe18235fca02c0a7935780f))
20
+ * make providerResources default to undefined instead of empty array ([#1913](https://github.com/dynamic-labs/DynamicAuth/issues/1913)) ([dbcc5f1](https://github.com/dynamic-labs/DynamicAuth/commit/dbcc5f1874209295464032bdfd3e42d23828e5ab))
21
+ * remove event listeners ([#1910](https://github.com/dynamic-labs/DynamicAuth/issues/1910)) ([b6e1dfd](https://github.com/dynamic-labs/DynamicAuth/commit/b6e1dfd09951e7e97678d5c92648ef2abb548664))
22
+ * use named export from coinbase wallet sdk ([#1903](https://github.com/dynamic-labs/DynamicAuth/issues/1903)) ([cbd106f](https://github.com/dynamic-labs/DynamicAuth/commit/cbd106f065f86a161b082a41023efb2ffd7ab9e0))
23
+ * when linking a new wallet, show sign message if active wallet is not linked ([#1887](https://github.com/dynamic-labs/DynamicAuth/issues/1887)) ([11d86d6](https://github.com/dynamic-labs/DynamicAuth/commit/11d86d6641c8c0b5e48b040d02226585b6d5f1dd))
24
+
2
25
  ## [0.17.0-RC.0](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.1...v0.17.0-RC.0) (2023-04-18)
3
26
 
4
27
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/multi-wallet",
3
- "version": "0.17.0-RC.0",
3
+ "version": "0.17.0-RC.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -29,8 +29,8 @@
29
29
  "magic-sdk": "^16.0.1",
30
30
  "@keplr-wallet/provider": "0.11.56",
31
31
  "@keplr-wallet/types": "^0.11.51",
32
- "@dynamic-labs/logger": "0.17.0-RC.0",
33
- "@dynamic-labs/wallet-connector-core": "0.17.0-RC.0"
32
+ "@dynamic-labs/logger": "0.17.0-RC.1",
33
+ "@dynamic-labs/wallet-connector-core": "0.17.0-RC.1"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@walletconnect/types": "^2.2.1"
package/src/index.cjs CHANGED
@@ -22,7 +22,7 @@ var getChainInfo = require('./utils/getChainInfo/getChainInfo.cjs');
22
22
  var getWalletConnectorByName = require('./utils/getWalletConnectorByName.cjs');
23
23
  var walletConnect = require('./wallets/clients/walletConnect/walletConnect.cjs');
24
24
  var coinbase = require('./wallets/clients/coinbase/coinbase.cjs');
25
- var keplr = require('./wallets/cosmos/keplr.cjs');
25
+ var KeplrWalletConnector = require('./wallets/cosmos/KeplrWalletConnector.cjs');
26
26
  var isSameAddress = require('./utils/isSameAddress/isSameAddress.cjs');
27
27
  var constants = require('./wallets/constants.cjs');
28
28
  var phantomLedger = require('./wallets/solana/phantom-ledger.cjs');
@@ -76,7 +76,7 @@ exports.fetchPublicAddress = coinbase.fetchPublicAddress;
76
76
  exports.getCoinbaseProvider = coinbase.getCoinbaseProvider;
77
77
  exports.killCoinbaseSession = coinbase.killCoinbaseSession;
78
78
  exports.signMessage = coinbase.signMessage;
79
- exports.Keplr = keplr.Keplr;
79
+ exports.KeplrWalletConnector = KeplrWalletConnector.KeplrWalletConnector;
80
80
  exports.isSameAddress = isSameAddress.isSameAddress;
81
81
  exports.defaultStarknetTypedDataDomain = constants.DEFAULT_STARKNET_TYPED_DATA_DOMAIN;
82
82
  exports.phantomLedgerWalletName = phantomLedger.walletName;
package/src/index.d.ts CHANGED
@@ -16,6 +16,6 @@ export { getWalletConnectorByName } from './utils/getWalletConnectorByName';
16
16
  export * from './wallets/clients/walletConnect';
17
17
  export * from './wallets/clients/coinbase';
18
18
  export type { EvmNetwork } from './wallets/ethereum/evm-network';
19
- export { Keplr } from './wallets/cosmos/keplr';
19
+ export { KeplrWalletConnector } from './wallets/cosmos/KeplrWalletConnector';
20
20
  export * from './utils/isSameAddress';
21
21
  export { DEFAULT_STARKNET_TYPED_DATA_DOMAIN as defaultStarknetTypedDataDomain } from './wallets/constants';
package/src/index.js CHANGED
@@ -18,7 +18,7 @@ export { getChainInfo } from './utils/getChainInfo/getChainInfo.js';
18
18
  export { getWalletConnectorByName } from './utils/getWalletConnectorByName.js';
19
19
  export { createSession, fetchWalletConnectCosmosPublicAddress, fetchWalletConnectEVMPublicAddress, getDeepLink, initClient, killWalletConnectSession, setupWalletConnectEventListeners, signWalletConnectPersonalMessage, teardownWalletConnectEventListeners, useDeepLink } from './wallets/clients/walletConnect/walletConnect.js';
20
20
  export { fetchPublicAddress, getCoinbaseProvider, killCoinbaseSession, signMessage } from './wallets/clients/coinbase/coinbase.js';
21
- export { Keplr } from './wallets/cosmos/keplr.js';
21
+ export { KeplrWalletConnector } from './wallets/cosmos/KeplrWalletConnector.js';
22
22
  export { isSameAddress } from './utils/isSameAddress/isSameAddress.js';
23
23
  export { DEFAULT_STARKNET_TYPED_DATA_DOMAIN as defaultStarknetTypedDataDomain } from './wallets/constants.js';
24
24
  export { walletName as phantomLedgerWalletName } from './wallets/solana/phantom-ledger.js';
@@ -13,7 +13,7 @@ var blocto = require('./wallets/flow/blocto.cjs');
13
13
  var dapper = require('./wallets/flow/dapper.cjs');
14
14
  var isMobile = require('./utils/isMobile.cjs');
15
15
  var walletConnect = require('./utils/walletConnect.cjs');
16
- var myalgo = require('./wallets/algorand/myalgo.cjs');
16
+ var MyAlgoWalletConnector = require('./wallets/algorand/MyAlgoWalletConnector.cjs');
17
17
  var BraveEvm = require('./wallets/ethereum/injected/BraveEvm.cjs');
18
18
  var Opera = require('./wallets/ethereum/injected/Opera.cjs');
19
19
  var BraveSol = require('./wallets/solana/injected/BraveSol.cjs');
@@ -31,11 +31,11 @@ var Frame = require('./wallets/ethereum/injected/Frame.cjs');
31
31
  var fortmatic = require('./wallets/ethereum/fortmatic.cjs');
32
32
  var lilico = require('./wallets/flow/lilico.cjs');
33
33
  var getWalletConnectConnector = require('./wallets/getWalletConnectConnector.cjs');
34
- var initializeWalletProviders = require('./wallets/initializeWalletProviders.cjs');
35
34
  var Dawn = require('./wallets/ethereum/injected/Dawn.cjs');
36
35
  var PhantomEvm = require('./wallets/ethereum/injected/PhantomEvm.cjs');
37
36
  require('magic-sdk');
38
37
  require('ethers');
38
+ require('@dynamic-labs/wallet-connector-core');
39
39
  require('./utils/logger.cjs');
40
40
  var EmailOTPMagicWalletConnector = require('./wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.cjs');
41
41
  var MagicSocialWalletConnector = require('./wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.cjs');
@@ -119,6 +119,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
119
119
  getWalletConnectConnector.getWalletConnectConnector({
120
120
  evmNetworks: evmNetworkConfigs,
121
121
  isWalletConnectV2Enabled,
122
+ projectId: walletConnectProjectId,
122
123
  }),
123
124
  new BraveSol({ solNetworks: solanaNetworkConfigs }),
124
125
  new BraveEvm({ evmNetworks: evmNetworkConfigs }),
@@ -143,7 +144,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
143
144
  }),
144
145
  ]
145
146
  : []),
146
- new myalgo(),
147
+ new MyAlgoWalletConnector(),
147
148
  new argentx(),
148
149
  new braavos(),
149
150
  new CoinbaseSolana({ solNetworks: solanaNetworkConfigs }),
@@ -167,11 +168,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
167
168
  : []),
168
169
  ...filtered,
169
170
  ];
170
- yield initializeWalletProviders.initializeWalletProviders({
171
- evmNetworks: evmNetworkConfigs,
172
- isWalletConnectV2Enabled,
173
- walletConnectProjectId,
174
- });
171
+ yield Promise.all(allWallets.map((wallet) => { var _a; return (_a = wallet.init) === null || _a === void 0 ? void 0 : _a.call(wallet); }));
175
172
  // Memoize the wallets
176
173
  const filteredWallets = filterWalletsForPlatform(allWallets);
177
174
  wallets = applyLinksOverrides(filteredWallets);
@@ -9,7 +9,7 @@ import Blocto from './wallets/flow/blocto.js';
9
9
  import Dapper from './wallets/flow/dapper.js';
10
10
  import { isMobile, isIPad, isIPhone } from './utils/isMobile.js';
11
11
  import { fetchWalletConnectWallets } from './utils/walletConnect.js';
12
- import MyAlgo from './wallets/algorand/myalgo.js';
12
+ import MyAlgoWalletConnector from './wallets/algorand/MyAlgoWalletConnector.js';
13
13
  import BraveEvm from './wallets/ethereum/injected/BraveEvm.js';
14
14
  import Opera from './wallets/ethereum/injected/Opera.js';
15
15
  import BraveSol from './wallets/solana/injected/BraveSol.js';
@@ -28,11 +28,11 @@ import Frame from './wallets/ethereum/injected/Frame.js';
28
28
  import Fortmatic from './wallets/ethereum/fortmatic.js';
29
29
  import Lilico from './wallets/flow/lilico.js';
30
30
  import { getWalletConnectConnector } from './wallets/getWalletConnectConnector.js';
31
- import { initializeWalletProviders } from './wallets/initializeWalletProviders.js';
32
31
  import Dawn from './wallets/ethereum/injected/Dawn.js';
33
32
  import PhantomEvm from './wallets/ethereum/injected/PhantomEvm.js';
34
33
  import 'magic-sdk';
35
34
  import 'ethers';
35
+ import '@dynamic-labs/wallet-connector-core';
36
36
  import './utils/logger.js';
37
37
  import { EmailOTPMagicWalletConnector } from './wallets/ethereum/MagicConnector/EmailOTPMagicWalletConnector/EmailOTPMagicWalletConnector.js';
38
38
  import { MagicSocialWalletConnector } from './wallets/ethereum/MagicConnector/MagicSocialWalletConnector/MagicSocialWalletConnector.js';
@@ -116,6 +116,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
116
116
  getWalletConnectConnector({
117
117
  evmNetworks: evmNetworkConfigs,
118
118
  isWalletConnectV2Enabled,
119
+ projectId: walletConnectProjectId,
119
120
  }),
120
121
  new BraveSol({ solNetworks: solanaNetworkConfigs }),
121
122
  new BraveEvm({ evmNetworks: evmNetworkConfigs }),
@@ -140,7 +141,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
140
141
  }),
141
142
  ]
142
143
  : []),
143
- new MyAlgo(),
144
+ new MyAlgoWalletConnector(),
144
145
  new ArgentX(),
145
146
  new Braavos(),
146
147
  new CoinbaseSolana({ solNetworks: solanaNetworkConfigs }),
@@ -164,11 +165,7 @@ const getSupportedWallets = ({ appLogoUrl, appName, isWalletConnectV2Enabled, ne
164
165
  : []),
165
166
  ...filtered,
166
167
  ];
167
- yield initializeWalletProviders({
168
- evmNetworks: evmNetworkConfigs,
169
- isWalletConnectV2Enabled,
170
- walletConnectProjectId,
171
- });
168
+ yield Promise.all(allWallets.map((wallet) => { var _a; return (_a = wallet.init) === null || _a === void 0 ? void 0 : _a.call(wallet); }));
172
169
  // Memoize the wallets
173
170
  const filteredWallets = filterWalletsForPlatform(allWallets);
174
171
  wallets = applyLinksOverrides(filteredWallets);
@@ -1,2 +1,2 @@
1
- import { EmailOTPWalletConnector, WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
- export declare const isEmailOTPWalletConnector: (walletConnector: WalletConnector | EmailOTPWalletConnector) => walletConnector is EmailOTPWalletConnector;
1
+ import { IEmailOTPWalletConnector, WalletConnector } from '@dynamic-labs/wallet-connector-core';
2
+ export declare const isEmailOTPWalletConnector: (walletConnector: WalletConnector | IEmailOTPWalletConnector) => walletConnector is IEmailOTPWalletConnector;
@@ -1,2 +1,2 @@
1
- import { WalletConnector, EmailWalletConnector } from '@dynamic-labs/wallet-connector-core';
2
- export declare const isEmailWalletConnector: (walletConnector: WalletConnector | EmailWalletConnector) => walletConnector is EmailWalletConnector;
1
+ import { WalletConnector, IEmailWalletConnector } from '@dynamic-labs/wallet-connector-core';
2
+ export declare const isEmailWalletConnector: (walletConnector: WalletConnector | IEmailWalletConnector) => walletConnector is IEmailWalletConnector;
@@ -32,7 +32,7 @@ const generateMessageToSign = ({ blockchain, domain, chainId, nonce, uri, public
32
32
  if (requestId) {
33
33
  suffixFields.push(`Request ID: ${requestId}`);
34
34
  }
35
- if (resources) {
35
+ if (resources === null || resources === void 0 ? void 0 : resources.length) {
36
36
  suffixFields.push(`Resources:${resources.map((resource) => '\n- ' + resource).join()}`);
37
37
  }
38
38
  const suffix = suffixFields.join('\n');
@@ -28,7 +28,7 @@ const generateMessageToSign = ({ blockchain, domain, chainId, nonce, uri, public
28
28
  if (requestId) {
29
29
  suffixFields.push(`Request ID: ${requestId}`);
30
30
  }
31
- if (resources) {
31
+ if (resources === null || resources === void 0 ? void 0 : resources.length) {
32
32
  suffixFields.push(`Resources:${resources.map((resource) => '\n- ' + resource).join()}`);
33
33
  }
34
34
  const suffix = suffixFields.join('\n');
@@ -16,7 +16,7 @@ const fetchWalletConnectWallets = (evmNetworks, isV2Enabled) => Object.values(wa
16
16
  // justification: we filtered out null/undefined above
17
17
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
18
18
  if (isV2Enabled && ((_a = wallet.walletConnect.sdks) === null || _a === void 0 ? void 0 : _a.includes('sign_v2'))) {
19
- connector = new walletConnectV2["default"]({
19
+ connector = new walletConnectV2({
20
20
  evmNetworks,
21
21
  walletName: name,
22
22
  });
@@ -2,9 +2,9 @@
2
2
 
3
3
  var tslib = require('tslib');
4
4
  var MyAlgoConnect = require('@randlabs/myalgo-connect');
5
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
5
6
  var errors = require('../../errors.cjs');
6
7
  var localStorageAsync = require('../../utils/localStorageAsync.cjs');
7
- var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
8
8
  var myalgoSigner = require('./myalgoSigner.cjs');
9
9
 
10
10
  function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
@@ -52,20 +52,15 @@ class MyAlgoLocalStorageCache {
52
52
  });
53
53
  }
54
54
  }
55
- class MyAlgo {
55
+ class MyAlgoWalletConnector extends walletConnectorCore.WalletConnectorBase {
56
56
  constructor() {
57
+ super();
57
58
  this.name = 'MyAlgo';
58
- this.canConnectViaSocial = false;
59
- this.canConnectViaQrCode = false;
60
59
  this.canConnectViaCustodialService = true;
61
- this.isWalletConnect = false;
62
60
  this.connectedChain = 'ALGO';
63
61
  this.supportedChains = ['ALGO'];
64
62
  this.cache = new MyAlgoLocalStorageCache();
65
63
  }
66
- get key() {
67
- return normalizeWalletName.normalizeWalletName(this.name);
68
- }
69
64
  getClient() {
70
65
  if (!this.client) {
71
66
  this.client = new MyAlgoConnect__default["default"]();
@@ -97,11 +92,6 @@ class MyAlgo {
97
92
  return '';
98
93
  });
99
94
  }
100
- connect() {
101
- return tslib.__awaiter(this, void 0, void 0, function* () {
102
- yield this.fetchPublicAddress();
103
- });
104
- }
105
95
  getSigner() {
106
96
  return tslib.__awaiter(this, void 0, void 0, function* () {
107
97
  const address = yield this.fetchPublicAddress();
@@ -117,11 +107,6 @@ class MyAlgo {
117
107
  return Buffer.from(signature).toString('hex');
118
108
  });
119
109
  }
120
- proveOwnership(messageToSign) {
121
- return tslib.__awaiter(this, void 0, void 0, function* () {
122
- return this.signMessage(messageToSign);
123
- });
124
- }
125
110
  getBalance() {
126
111
  return tslib.__awaiter(this, void 0, void 0, function* () {
127
112
  const address = yield this.fetchPublicAddress();
@@ -153,29 +138,6 @@ class MyAlgo {
153
138
  yield this.cache.clearCurrentAddress();
154
139
  });
155
140
  }
156
- isInstalledOnBrowser() {
157
- return false;
158
- }
159
- supportsNetworkSwitching() {
160
- return false;
161
- }
162
- switchNetwork() {
163
- throw new errors.DynamicError('switchNetwork - Not supported');
164
- }
165
- getWeb3Provider() {
166
- return undefined;
167
- }
168
- getRpcProvider() {
169
- return tslib.__awaiter(this, void 0, void 0, function* () {
170
- return;
171
- });
172
- }
173
- setupEventListeners() {
174
- return;
175
- }
176
- teardownEventListeners() {
177
- return;
178
- }
179
141
  getConnectedAccounts() {
180
142
  return tslib.__awaiter(this, void 0, void 0, function* () {
181
143
  const currentAddress = yield this.cache.getCurrentAddress();
@@ -184,4 +146,4 @@ class MyAlgo {
184
146
  }
185
147
  }
186
148
 
187
- module.exports = MyAlgo;
149
+ module.exports = MyAlgoWalletConnector;
@@ -0,0 +1,21 @@
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;
@@ -1,8 +1,8 @@
1
1
  import { __awaiter } from 'tslib';
2
2
  import MyAlgoConnect from '@randlabs/myalgo-connect';
3
+ import { WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
3
4
  import { DynamicError } from '../../errors.js';
4
5
  import { getItemAsync, setItemAsync, removeItemAsync } from '../../utils/localStorageAsync.js';
5
- import { normalizeWalletName } from '../../utils/normalizeWalletName/normalizeWalletName.js';
6
6
  import { MyAlgoSigner } from './myalgoSigner.js';
7
7
 
8
8
  const HTTP_STATUS_TOO_MANY_REQUESTS = 429;
@@ -46,20 +46,15 @@ class MyAlgoLocalStorageCache {
46
46
  });
47
47
  }
48
48
  }
49
- class MyAlgo {
49
+ class MyAlgoWalletConnector extends WalletConnectorBase {
50
50
  constructor() {
51
+ super();
51
52
  this.name = 'MyAlgo';
52
- this.canConnectViaSocial = false;
53
- this.canConnectViaQrCode = false;
54
53
  this.canConnectViaCustodialService = true;
55
- this.isWalletConnect = false;
56
54
  this.connectedChain = 'ALGO';
57
55
  this.supportedChains = ['ALGO'];
58
56
  this.cache = new MyAlgoLocalStorageCache();
59
57
  }
60
- get key() {
61
- return normalizeWalletName(this.name);
62
- }
63
58
  getClient() {
64
59
  if (!this.client) {
65
60
  this.client = new MyAlgoConnect();
@@ -91,11 +86,6 @@ class MyAlgo {
91
86
  return '';
92
87
  });
93
88
  }
94
- connect() {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- yield this.fetchPublicAddress();
97
- });
98
- }
99
89
  getSigner() {
100
90
  return __awaiter(this, void 0, void 0, function* () {
101
91
  const address = yield this.fetchPublicAddress();
@@ -111,11 +101,6 @@ class MyAlgo {
111
101
  return Buffer.from(signature).toString('hex');
112
102
  });
113
103
  }
114
- proveOwnership(messageToSign) {
115
- return __awaiter(this, void 0, void 0, function* () {
116
- return this.signMessage(messageToSign);
117
- });
118
- }
119
104
  getBalance() {
120
105
  return __awaiter(this, void 0, void 0, function* () {
121
106
  const address = yield this.fetchPublicAddress();
@@ -147,29 +132,6 @@ class MyAlgo {
147
132
  yield this.cache.clearCurrentAddress();
148
133
  });
149
134
  }
150
- isInstalledOnBrowser() {
151
- return false;
152
- }
153
- supportsNetworkSwitching() {
154
- return false;
155
- }
156
- switchNetwork() {
157
- throw new DynamicError('switchNetwork - Not supported');
158
- }
159
- getWeb3Provider() {
160
- return undefined;
161
- }
162
- getRpcProvider() {
163
- return __awaiter(this, void 0, void 0, function* () {
164
- return;
165
- });
166
- }
167
- setupEventListeners() {
168
- return;
169
- }
170
- teardownEventListeners() {
171
- return;
172
- }
173
135
  getConnectedAccounts() {
174
136
  return __awaiter(this, void 0, void 0, function* () {
175
137
  const currentAddress = yield this.cache.getCurrentAddress();
@@ -178,4 +140,4 @@ class MyAlgo {
178
140
  }
179
141
  }
180
142
 
181
- export { MyAlgo as default };
143
+ export { MyAlgoWalletConnector as default };
@@ -3,20 +3,16 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var tslib = require('tslib');
6
- var CoinbaseWalletSDK = require('@coinbase/wallet-sdk');
6
+ var walletSdk = require('@coinbase/wallet-sdk');
7
7
  var utils = require('ethers/lib/utils');
8
8
  var errors = require('../../../errors.cjs');
9
9
  var constants = require('../../constants.cjs');
10
10
 
11
- function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
12
-
13
- var CoinbaseWalletSDK__default = /*#__PURE__*/_interopDefaultLegacy(CoinbaseWalletSDK);
14
-
15
11
  const jsonRpcUrl = `https://mainnet.infura.io/v3/${constants.infuraId}`;
16
12
  const chainId = 1;
17
13
  const getCoinbaseProvider = ({ opts: { appLogoUrl, appName = '', evmNetworks = [] } = {}, handlers, }) => {
18
14
  var _a, _b;
19
- const coinbaseWalletSDK = new CoinbaseWalletSDK__default["default"]({
15
+ const coinbaseWalletSDK = new walletSdk.CoinbaseWalletSDK({
20
16
  appLogoUrl,
21
17
  appName,
22
18
  eventListener: {
@@ -1,5 +1,5 @@
1
1
  import { __awaiter } from 'tslib';
2
- import CoinbaseWalletSDK from '@coinbase/wallet-sdk';
2
+ import { CoinbaseWalletSDK } from '@coinbase/wallet-sdk';
3
3
  import { hexlify, toUtf8Bytes } from 'ethers/lib/utils.js';
4
4
  import { DynamicError } from '../../../errors.js';
5
5
  import { infuraId } from '../../constants.js';
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
3
  var tslib = require('tslib');
4
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
4
5
  var walletBook = require('@dynamic-labs/wallet-book');
5
6
  var walletConnect = require('../clients/walletConnect/walletConnect.cjs');
6
7
  var isMobile = require('../../utils/isMobile.cjs');
7
8
  var logger = require('../../utils/logger.cjs');
8
- var normalizeWalletName = require('../../utils/normalizeWalletName/normalizeWalletName.cjs');
9
9
  var wcClient = require('./wcClient.cjs');
10
10
 
11
11
  const DYNAMIC_KEPLR_NETWORK_ID = 'dynamic_keplr_wc_network_id';
12
- class KeplrWalletConnect {
12
+ class KeplrWalletConnect extends walletConnectorCore.WalletConnectorBase {
13
13
  constructor({ evmNetworks }) {
14
14
  var _a;
15
- this.canConnectViaSocial = false;
15
+ super();
16
16
  this.name = 'Keplr';
17
17
  this.isWalletConnect = true;
18
- this.switchNetworkOnlyFromWallet = false;
18
+ this.canConnectViaQrCode = true;
19
19
  this.clientOptions = {
20
20
  signingMethods: [
21
21
  'keplr_enable_wallet_connect_v1',
@@ -29,8 +29,6 @@ class KeplrWalletConnect {
29
29
  };
30
30
  this.supportedChains = ['COSMOS'];
31
31
  this.connectedChain = 'COSMOS';
32
- this.canConnectViaCustodialService = false;
33
- this.canConnectViaQrCode = true;
34
32
  this.evmNetworks = evmNetworks;
35
33
  const persistedNetworkId = localStorage.getItem(DYNAMIC_KEPLR_NETWORK_ID);
36
34
  if (persistedNetworkId) {
@@ -40,9 +38,6 @@ class KeplrWalletConnect {
40
38
  this.selectedNetworkId = ((_a = evmNetworks[0]) === null || _a === void 0 ? void 0 : _a.chainId) || 401;
41
39
  }
42
40
  }
43
- get key() {
44
- return normalizeWalletName.normalizeWalletName(this.name);
45
- }
46
41
  get evmNetwork() {
47
42
  var _a;
48
43
  return (_a = this.evmNetworks) === null || _a === void 0 ? void 0 : _a.find((network) => network.chainId === this.selectedNetworkId);
@@ -66,8 +61,8 @@ class KeplrWalletConnect {
66
61
  return this.chainIdMap[this.selectedNetwork.chainId];
67
62
  }
68
63
  getProvider() {
69
- if (this.client && !this._keplrInstance) {
70
- this._keplrInstance = new wcClient.KeplrWalletConnectV1(this.client);
64
+ if (!this._keplrInstance) {
65
+ this._keplrInstance = new wcClient.KeplrWalletConnectV1(this.getClient());
71
66
  }
72
67
  return this._keplrInstance;
73
68
  }
@@ -75,13 +70,13 @@ class KeplrWalletConnect {
75
70
  if (this.client) {
76
71
  return this.client;
77
72
  }
78
- this.client = walletConnect.initClient(normalizeWalletName.normalizeWalletName(this.name), this.clientOptions);
73
+ this.client = walletConnect.initClient(this.key, this.clientOptions);
79
74
  return this.client;
80
75
  }
81
76
  getNetwork() {
82
77
  return Promise.resolve(this.selectedNetworkId);
83
78
  }
84
- switchNetwork({ networkChainId }) {
79
+ switchNetwork({ networkChainId, }) {
85
80
  return tslib.__awaiter(this, void 0, void 0, function* () {
86
81
  if (!networkChainId)
87
82
  return;
@@ -148,11 +143,6 @@ class KeplrWalletConnect {
148
143
  }
149
144
  });
150
145
  }
151
- connect() {
152
- return tslib.__awaiter(this, void 0, void 0, function* () {
153
- yield this.fetchPublicAddress();
154
- });
155
- }
156
146
  endSession() {
157
147
  return tslib.__awaiter(this, void 0, void 0, function* () {
158
148
  walletConnect.killWalletConnectSession(this.getClient());
@@ -173,7 +163,7 @@ class KeplrWalletConnect {
173
163
  return undefined;
174
164
  }
175
165
  return walletConnect.getDeepLink(this.getClient().uri, wallet, {
176
- removeWCUri: isMobile.isIOS() && normalizeWalletName.normalizeWalletName(this.name) === 'cryptocom',
166
+ removeWCUri: isMobile.isIOS() && this.key === 'cryptocom',
177
167
  });
178
168
  }
179
169
  getRpcProvider() {
@@ -188,12 +178,6 @@ class KeplrWalletConnect {
188
178
  getWeb3Provider() {
189
179
  return this.getProvider();
190
180
  }
191
- isInstalledOnBrowser() {
192
- return false;
193
- }
194
- proveOwnership(messageToSign) {
195
- return this.signMessage(messageToSign);
196
- }
197
181
  setupEventListeners(listeners) {
198
182
  return walletConnect.setupWalletConnectEventListeners({
199
183
  onAccountChange: listeners.onAccountChange,
@@ -1,17 +1,16 @@
1
1
  import Client from '@walletconnect/client';
2
2
  import { OfflineAminoSigner } from '@keplr-wallet/types';
3
- import { Chain, FetchPublicAddressOpts, WalletConnector, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
3
+ import { Chain, FetchPublicAddressOpts, WalletConnectorBase, WalletEventListeners } from '@dynamic-labs/wallet-connector-core';
4
4
  import { EvmNetwork } from '../ethereum/evm-network';
5
- import { SwitchNetworkOps } from '../ethereum/ethProvider';
5
+ import { SwitchNetworkOps } from '../ethereum/EthWalletConnector';
6
6
  import { KeplrWalletConnectV1 } from './wcClient';
7
- declare class KeplrWalletConnect implements WalletConnector {
8
- canConnectViaSocial: boolean;
7
+ declare class KeplrWalletConnect extends WalletConnectorBase {
9
8
  constructor({ evmNetworks }: {
10
9
  evmNetworks: EvmNetwork[];
11
10
  });
12
11
  name: string;
13
12
  isWalletConnect: boolean;
14
- switchNetworkOnlyFromWallet: boolean;
13
+ canConnectViaQrCode: boolean;
15
14
  client?: Client;
16
15
  clientOptions: {
17
16
  signingMethods: string[];
@@ -21,11 +20,7 @@ declare class KeplrWalletConnect implements WalletConnector {
21
20
  chainIdMap: Record<number, string>;
22
21
  supportedChains: Chain[];
23
22
  connectedChain: Chain;
24
- providerResources?: string[];
25
- canConnectViaCustodialService: boolean;
26
- canConnectViaQrCode: boolean;
27
- _keplrInstance?: KeplrWalletConnectV1;
28
- get key(): string;
23
+ _keplrInstance: KeplrWalletConnectV1 | undefined;
29
24
  get evmNetwork(): EvmNetwork | undefined;
30
25
  get selectedNetwork(): EvmNetwork | undefined;
31
26
  get lcdUrl(): string | undefined;
@@ -34,19 +29,16 @@ declare class KeplrWalletConnect implements WalletConnector {
34
29
  getProvider(): KeplrWalletConnectV1;
35
30
  getClient(): Client;
36
31
  getNetwork(): Promise<number>;
37
- switchNetwork({ networkChainId }: SwitchNetworkOps): Promise<void>;
32
+ switchNetwork({ networkChainId, }: SwitchNetworkOps): Promise<void>;
38
33
  signMessage(messageToSign: string): Promise<string | undefined>;
39
34
  fetchPublicAddress(opts?: FetchPublicAddressOpts): Promise<string | undefined>;
40
35
  getBalance(): Promise<string>;
41
- connect(): Promise<void>;
42
36
  endSession(): Promise<void>;
43
37
  getConnectedAccounts(): Promise<string[]>;
44
38
  getDeepLink(): string | undefined;
45
39
  getRpcProvider(): Promise<unknown>;
46
40
  getSigner(): Promise<OfflineAminoSigner | undefined>;
47
41
  getWeb3Provider(): KeplrWalletConnectV1 | undefined;
48
- isInstalledOnBrowser(): boolean;
49
- proveOwnership(messageToSign: string): Promise<string | undefined>;
50
42
  setupEventListeners(listeners: WalletEventListeners): () => void;
51
43
  teardownEventListeners(): void;
52
44
  supportsNetworkSwitching(): boolean;