@dynamic-labs/multi-wallet 0.16.16 → 0.16.17

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 CHANGED
@@ -1,4 +1,12 @@
1
1
 
2
+ ### [0.16.17](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.16...v0.16.17) (2023-05-30)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * **DYN-2327:** user profile is not loaded properly on the first load ([#2125](https://github.com/dynamic-labs/DynamicAuth/issues/2125)) ([aeeb5c2](https://github.com/dynamic-labs/DynamicAuth/commit/aeeb5c24e5d62caab0b17575b03a0fb452a7e6a2))
8
+ * use getWalletLinks in handleMobileWalletFilter ([#2185](https://github.com/dynamic-labs/DynamicAuth/issues/2185)) ([#2186](https://github.com/dynamic-labs/DynamicAuth/issues/2186)) ([c542f3c](https://github.com/dynamic-labs/DynamicAuth/commit/c542f3c83cc229daa60a2de146823530285ea028))
9
+
2
10
  ### [0.16.16](https://github.com/dynamic-labs/DynamicAuth/compare/v0.16.15...v0.16.16) (2023-05-11)
3
11
 
4
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/multi-wallet",
3
- "version": "0.16.16",
3
+ "version": "0.16.17",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -10,7 +10,7 @@
10
10
  "buffer": "^6.0.3",
11
11
  "deepmerge": "^4.3.1",
12
12
  "@dynamic-labs/sdk-api": "0.0.174",
13
- "@dynamic-labs/wallet-book": "^0.0.14",
13
+ "@dynamic-labs/wallet-book": "^0.0.18",
14
14
  "starknet": "^3.19.0",
15
15
  "ethers": "^5.7.2",
16
16
  "@randlabs/myalgo-connect": "^1.4.2",
@@ -28,8 +28,8 @@
28
28
  "magic-sdk": "^16.0.1",
29
29
  "@keplr-wallet/provider": "0.11.56",
30
30
  "@keplr-wallet/types": "^0.11.51",
31
- "@dynamic-labs/logger": "0.16.16",
32
- "@dynamic-labs/wallet-connector-core": "0.16.16"
31
+ "@dynamic-labs/logger": "0.16.17",
32
+ "@dynamic-labs/wallet-connector-core": "0.16.17"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@walletconnect/types": "^2.2.1"
@@ -192,10 +192,10 @@ const filterWalletsForPlatform = (wallets) => wallets.filter((wallet) => {
192
192
  return true;
193
193
  }
194
194
  else {
195
- return handleMobileWalletFilter(wallet, metadata);
195
+ return handleMobileWalletFilter(wallet.name, metadata);
196
196
  }
197
197
  });
198
- const handleMobileWalletFilter = (wallet, metadata) => {
198
+ const handleMobileWalletFilter = (walletName, metadata) => {
199
199
  if (!metadata.mobile)
200
200
  return false;
201
201
  /**
@@ -206,20 +206,14 @@ const handleMobileWalletFilter = (wallet, metadata) => {
206
206
  */
207
207
  const hasWalletConnectLink = Boolean(metadata.mobile.universal) || Boolean(metadata.mobile.native);
208
208
  const isWalletConnectWallet = metadata.walletConnect !== undefined;
209
- /**
210
- * wallets-links.json is the source of truth for wallet support on mobile platforms.
211
- * if a wallet has a non-empty value for ios, that means that wallet has an ios app
212
- * and we support that app. the same goes for android
213
- */
214
209
  if (isMobile.isIPad() || isMobile.isIPhone()) {
215
- const hasIOSLink = metadata.mobile.iosId !== undefined;
210
+ const hasIOSLink = Boolean(walletBook.getWalletLinks(walletName).ios);
216
211
  return !isWalletConnectWallet
217
212
  ? hasIOSLink
218
213
  : hasIOSLink && hasWalletConnectLink;
219
- // It is an android device
220
214
  }
221
215
  else {
222
- const hasAndroidLink = metadata.mobile.androidId !== undefined;
216
+ const hasAndroidLink = Boolean(walletBook.getWalletLinks(walletName).android);
223
217
  return !isWalletConnectWallet
224
218
  ? hasAndroidLink
225
219
  : hasAndroidLink && hasWalletConnectLink;
@@ -1,5 +1,5 @@
1
1
  import { __awaiter } from 'tslib';
2
- import { getWalletBookWallet } from '@dynamic-labs/wallet-book';
2
+ import { getWalletBookWallet, getWalletLinks } from '@dynamic-labs/wallet-book';
3
3
  import Phantom from './wallets/solana/phantom.js';
4
4
  import Coinbase from './wallets/ethereum/coinbase.js';
5
5
  import Slope from './wallets/solana/slope.js';
@@ -189,10 +189,10 @@ const filterWalletsForPlatform = (wallets) => wallets.filter((wallet) => {
189
189
  return true;
190
190
  }
191
191
  else {
192
- return handleMobileWalletFilter(wallet, metadata);
192
+ return handleMobileWalletFilter(wallet.name, metadata);
193
193
  }
194
194
  });
195
- const handleMobileWalletFilter = (wallet, metadata) => {
195
+ const handleMobileWalletFilter = (walletName, metadata) => {
196
196
  if (!metadata.mobile)
197
197
  return false;
198
198
  /**
@@ -203,20 +203,14 @@ const handleMobileWalletFilter = (wallet, metadata) => {
203
203
  */
204
204
  const hasWalletConnectLink = Boolean(metadata.mobile.universal) || Boolean(metadata.mobile.native);
205
205
  const isWalletConnectWallet = metadata.walletConnect !== undefined;
206
- /**
207
- * wallets-links.json is the source of truth for wallet support on mobile platforms.
208
- * if a wallet has a non-empty value for ios, that means that wallet has an ios app
209
- * and we support that app. the same goes for android
210
- */
211
206
  if (isIPad() || isIPhone()) {
212
- const hasIOSLink = metadata.mobile.iosId !== undefined;
207
+ const hasIOSLink = Boolean(getWalletLinks(walletName).ios);
213
208
  return !isWalletConnectWallet
214
209
  ? hasIOSLink
215
210
  : hasIOSLink && hasWalletConnectLink;
216
- // It is an android device
217
211
  }
218
212
  else {
219
- const hasAndroidLink = metadata.mobile.androidId !== undefined;
213
+ const hasAndroidLink = Boolean(getWalletLinks(walletName).android);
220
214
  return !isWalletConnectWallet
221
215
  ? hasAndroidLink
222
216
  : hasAndroidLink && hasWalletConnectLink;