@dynamic-labs/wallet-book 1.1.0-phantom.0 → 1.1.0

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 (47) hide show
  1. package/CHANGELOG.md +143 -2
  2. package/README.md +5 -1
  3. package/_virtual/_tslib.cjs +6 -1
  4. package/_virtual/_tslib.js +6 -1
  5. package/package.json +4 -2
  6. package/src/build/index.d.ts +2 -0
  7. package/src/build/sources/walletConnect/index.d.ts +12 -10
  8. package/src/components/BrandIcon.cjs +25 -0
  9. package/src/components/BrandIcon.d.ts +8 -0
  10. package/src/components/BrandIcon.js +21 -0
  11. package/src/components/WalletIcon.cjs +2 -1
  12. package/src/components/WalletIcon.js +2 -1
  13. package/src/components/index.d.ts +1 -0
  14. package/src/helpers/findWalletBookWallet.cjs +0 -2
  15. package/src/helpers/findWalletBookWallet.d.ts +2 -0
  16. package/src/helpers/findWalletBookWallet.js +0 -2
  17. package/src/helpers/findWalletGroup.d.ts +9 -0
  18. package/src/helpers/findWalletGroupOverride.cjs +13 -0
  19. package/src/helpers/findWalletGroupOverride.d.ts +3 -0
  20. package/src/helpers/findWalletGroupOverride.js +9 -0
  21. package/src/helpers/getBrandIconUrl.cjs +17 -0
  22. package/src/helpers/getBrandIconUrl.d.ts +2 -0
  23. package/src/helpers/getBrandIconUrl.js +13 -0
  24. package/src/helpers/getWalletBookWallet.cjs +18 -6
  25. package/src/helpers/getWalletBookWallet.js +18 -6
  26. package/src/helpers/getWalletIconUrl.cjs +3 -6
  27. package/src/helpers/getWalletIconUrl.js +3 -6
  28. package/src/helpers/index.d.ts +2 -0
  29. package/src/helpers/normalizeWalletName.cjs +7 -0
  30. package/src/helpers/normalizeWalletName.js +3 -0
  31. package/src/hooks/useWalletBookCdn.cjs +22 -16
  32. package/src/hooks/useWalletBookCdn.d.ts +11 -0
  33. package/src/hooks/useWalletBookCdn.js +22 -16
  34. package/src/hooks/useWalletBookContext.cjs +2 -0
  35. package/src/hooks/useWalletBookContext.js +2 -0
  36. package/src/index.cjs +6 -0
  37. package/src/index.d.ts +2 -2
  38. package/src/index.js +3 -0
  39. package/src/schemas/walletBookSchema.d.ts +185 -8
  40. package/src/schemas/walletGroup.cjs +6 -0
  41. package/src/schemas/walletGroup.d.ts +112 -2
  42. package/src/schemas/walletGroup.js +6 -0
  43. package/src/schemas/walletSchema.cjs +25 -20
  44. package/src/schemas/walletSchema.d.ts +41 -4
  45. package/src/schemas/walletSchema.js +25 -21
  46. package/wallet-book-fallbacks.cjs +30 -9
  47. package/wallet-book-fallbacks.js +30 -9
package/CHANGELOG.md CHANGED
@@ -1,18 +1,159 @@
1
1
 
2
- ## [1.1.0-phantom.0](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.12...v1.1.0-phantom.0) (2024-01-22)
2
+ ## [1.1.0](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.25...v1.1.0) (2024-02-07)
3
+
4
+ Check out our changelog here: https://docs.dynamic.xyz/changelog/v1-1
5
+
6
+
7
+ ### Features
8
+
9
+ * add retry when using magic ([#4579](https://github.com/dynamic-labs/DynamicAuth/issues/4579)) ([183561c](https://github.com/dynamic-labs/DynamicAuth/commit/183561cc64f083fd1489c38a8cc8b1c4c51d2924))
10
+
11
+
12
+ ### Bug Fixes
13
+
14
+ * bug where deprecated fields were still being used in the SDK ([#4604](https://github.com/dynamic-labs/DynamicAuth/issues/4604)) ([4fd15fc](https://github.com/dynamic-labs/DynamicAuth/commit/4fd15fc4daa9c5b7bbc81ce05a3b046c80a6d5b4))
15
+ * log magic RPC error and update magic network error ([#4606](https://github.com/dynamic-labs/DynamicAuth/issues/4606)) ([2206961](https://github.com/dynamic-labs/DynamicAuth/commit/22069618a317bc40b1a17fd521eadf0956983de4))
16
+ * onConnect is properly called for additional connected wallets ([#4607](https://github.com/dynamic-labs/DynamicAuth/issues/4607)) ([23241f4](https://github.com/dynamic-labs/DynamicAuth/commit/23241f4d5dc91ac9ca1251710161efbfce42dc40))
17
+
18
+ ## [1.1.0-alpha.25](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.24...v1.1.0-alpha.25) (2024-02-05)
19
+
20
+
21
+ ### Features
22
+
23
+ * add signin with coinbase to sdk ([#4581](https://github.com/dynamic-labs/DynamicAuth/issues/4581)) ([08a31ed](https://github.com/dynamic-labs/DynamicAuth/commit/08a31ed3552c48645b398881f184440800af21ec))
24
+ * exposing hook for creating either one-time code or passkeys authenticators ([#4591](https://github.com/dynamic-labs/DynamicAuth/issues/4591)) ([864d755](https://github.com/dynamic-labs/DynamicAuth/commit/864d75576152a10f73f5901bc06e2d66892b63ab))
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * solana wallet sign message with one-time code session ([#4588](https://github.com/dynamic-labs/DynamicAuth/issues/4588)) ([a738d10](https://github.com/dynamic-labs/DynamicAuth/commit/a738d10814dc5058158b9c0c59a399a375c69c10))
30
+
31
+ ## [1.1.0-alpha.24](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.23...v1.1.0-alpha.24) (2024-02-02)
32
+
33
+
34
+ ### Bug Fixes
35
+
36
+ * remove isFullyConnected when unable to restore wallet ([#4575](https://github.com/dynamic-labs/DynamicAuth/issues/4575)) ([4504ff0](https://github.com/dynamic-labs/DynamicAuth/commit/4504ff03f594cd9a60055e6f52b7ea8001542bbe))
37
+
38
+ ## [1.1.0-alpha.23](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.22...v1.1.0-alpha.23) (2024-02-01)
39
+
40
+
41
+ ### Features
42
+
43
+ * bitcoin signPsbt ([3c964de](https://github.com/dynamic-labs/DynamicAuth/commit/3c964dea8a55debaf184c5a94f0f5fabdda3c877))
44
+ * embedded wallet email auth flow ([#4353](https://github.com/dynamic-labs/DynamicAuth/issues/4353)) ([4875da3](https://github.com/dynamic-labs/DynamicAuth/commit/4875da32c47c27facef1b1cdbdc214566bbfd171))
45
+
46
+ ## [1.1.0-alpha.22](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.21...v1.1.0-alpha.22) (2024-02-01)
47
+
48
+
49
+ ### Bug Fixes
50
+
51
+ * onAuthFlowClose not being called ([#4563](https://github.com/dynamic-labs/DynamicAuth/issues/4563)) ([c4b2648](https://github.com/dynamic-labs/DynamicAuth/commit/c4b264885b7dba6e204ef49bf642d25c7d287b04))
52
+
53
+ ## [1.1.0-alpha.21](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.20...v1.1.0-alpha.21) (2024-02-01)
54
+
55
+
56
+ ### Features
57
+
58
+ * add phantom redirect handling context ([#4479](https://github.com/dynamic-labs/DynamicAuth/issues/4479)) ([e0218ee](https://github.com/dynamic-labs/DynamicAuth/commit/e0218eec1a67787f5c0e7483d542a5f773e911ef))
59
+ * add signPsbt method to bitcoin wallet connectors ([dfdc0fe](https://github.com/dynamic-labs/DynamicAuth/commit/dfdc0fe0e6894c1307b286e89b43a4c58a8808f3))
60
+
61
+
62
+ ### Bug Fixes
63
+
64
+ * relax passkey feature detection check in sdk to avoid false nega… ([#4556](https://github.com/dynamic-labs/DynamicAuth/issues/4556)) ([4554f7d](https://github.com/dynamic-labs/DynamicAuth/commit/4554f7d7c5339859481cdecca95a9c07fae4ba5c))
65
+ * workaround braavos undefined selectedWallet on chainChange event ([#4552](https://github.com/dynamic-labs/DynamicAuth/issues/4552)) ([aa35df0](https://github.com/dynamic-labs/DynamicAuth/commit/aa35df0e894feafa0606aa1c87bd3d3879ebc594))
66
+
67
+ ## [1.1.0-alpha.20](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.19...v1.1.0-alpha.20) (2024-01-31)
68
+
69
+
70
+ ### Bug Fixes
71
+
72
+ * return all enabled chains in getSupportedNetworks instead of undefined ([#4547](https://github.com/dynamic-labs/DynamicAuth/issues/4547)) ([08e7889](https://github.com/dynamic-labs/DynamicAuth/commit/08e78896e045f24bbd96e39416a7f58006929da0))
73
+ * show modal for existing social account from other signin provider ([#4535](https://github.com/dynamic-labs/DynamicAuth/issues/4535)) ([282914a](https://github.com/dynamic-labs/DynamicAuth/commit/282914ac94b3ef5bd66e0b2265d9e414203a7406))
74
+
75
+ ## [1.1.0-alpha.19](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.18...v1.1.0-alpha.19) (2024-01-31)
76
+
77
+
78
+ ### Features
79
+
80
+ * add PhantomRedirect connector ([#4467](https://github.com/dynamic-labs/DynamicAuth/issues/4467)) ([75d6c95](https://github.com/dynamic-labs/DynamicAuth/commit/75d6c95940fcec185a699c2100b3e2d21a8233d5))
81
+
82
+
83
+ ### Bug Fixes
84
+
85
+ * lock starknet to 5.25.0 since 5.27.0 breaks the build ([#4541](https://github.com/dynamic-labs/DynamicAuth/issues/4541)) ([00b4799](https://github.com/dynamic-labs/DynamicAuth/commit/00b479977f768cb067480e2e565eabf45e1000a2))
86
+
87
+ ## [1.1.0-alpha.18](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.17...v1.1.0-alpha.18) (2024-01-30)
88
+
89
+
90
+ ### Bug Fixes
91
+
92
+ * catch email_associated_with_different_provider from response ([#4532](https://github.com/dynamic-labs/DynamicAuth/issues/4532)) ([52be1b4](https://github.com/dynamic-labs/DynamicAuth/commit/52be1b45af46c2b70972b99d73387eb4d7161ec6))
93
+
94
+ ## [1.1.0-alpha.17](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.16...v1.1.0-alpha.17) (2024-01-30)
95
+
96
+
97
+ ### Features
98
+
99
+ * add sendRawTransaction to BitcoinWalletConnector ([2e86c5a](https://github.com/dynamic-labs/DynamicAuth/commit/2e86c5a5245bd0fc29162ef1f7fe2fbd65245fe1))
100
+
101
+
102
+ ### Bug Fixes
103
+
104
+ * properly handle AccountExistsError for signInOAuth ([#4529](https://github.com/dynamic-labs/DynamicAuth/issues/4529)) ([d37fdc3](https://github.com/dynamic-labs/DynamicAuth/commit/d37fdc310fe4b70f8948fd5ed3d058342afbe08f))
105
+
106
+ ## [1.1.0-alpha.16](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.15...v1.1.0-alpha.16) (2024-01-30)
107
+
108
+
109
+ ### Bug Fixes
110
+
111
+ * add fallback to getWalletBookWallet for customers still passing in name, add deprecation warn ([#4518](https://github.com/dynamic-labs/DynamicAuth/issues/4518)) ([b233ea1](https://github.com/dynamic-labs/DynamicAuth/commit/b233ea1cd640d8d9d94c52ab230787f3d869151a))
112
+ * handle braavos network change to account which doesn not exist ([#4519](https://github.com/dynamic-labs/DynamicAuth/issues/4519)) ([486020f](https://github.com/dynamic-labs/DynamicAuth/commit/486020fb09a274388ba34c8d1b37ac3a1ff3dba6))
113
+
114
+ ## [1.1.0-alpha.15](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.14...v1.1.0-alpha.15) (2024-01-28)
115
+
116
+
117
+ ### Features
118
+
119
+ * add wallet group override to wallet book ([#4488](https://github.com/dynamic-labs/DynamicAuth/issues/4488)) ([cb19ad3](https://github.com/dynamic-labs/DynamicAuth/commit/cb19ad3ea82de488752ceceeaf0e1458a388df6e))
120
+ * enable solana embedded wallets ([#4457](https://github.com/dynamic-labs/DynamicAuth/issues/4457)) ([b0c47f4](https://github.com/dynamic-labs/DynamicAuth/commit/b0c47f4475baa12f52076da46ef993c13bd2c243))
121
+ * group ArgentX wallets ([#4495](https://github.com/dynamic-labs/DynamicAuth/issues/4495)) ([b10d79a](https://github.com/dynamic-labs/DynamicAuth/commit/b10d79a668efecedca37ddb358e6adf95319650d))
122
+
123
+
124
+ ### Bug Fixes
125
+
126
+ * add support for newest backpack extension ([#4468](https://github.com/dynamic-labs/DynamicAuth/issues/4468)) ([a219f32](https://github.com/dynamic-labs/DynamicAuth/commit/a219f325be672599e50b07f6751234a7fc98286e))
127
+ * bump timeout for slower connections ([#4475](https://github.com/dynamic-labs/DynamicAuth/issues/4475)) ([7a07ff5](https://github.com/dynamic-labs/DynamicAuth/commit/7a07ff589eaaf3b28a94d277df3eedabbca60702))
128
+ * change out getWalletBookWallet for findWalletBookWallet to avoid throwing during lookup ([#4477](https://github.com/dynamic-labs/DynamicAuth/issues/4477)) ([4648040](https://github.com/dynamic-labs/DynamicAuth/commit/4648040c166e73dd2c31b0e27897713339436c2f))
129
+ * connect to wallet with wallet connect even if network is not supported ([#4465](https://github.com/dynamic-labs/DynamicAuth/issues/4465)) ([9dbca3e](https://github.com/dynamic-labs/DynamicAuth/commit/9dbca3eb4d4990ee4be642677c1604170b425dc3))
130
+ * pass id to wagmi chain override ([#4512](https://github.com/dynamic-labs/DynamicAuth/issues/4512)) ([2bf2f04](https://github.com/dynamic-labs/DynamicAuth/commit/2bf2f0487f5b1be936dd279107c11fe5d2b42666))
131
+ * switching wallet in extension caused connected flag to be false temporarily ([#4454](https://github.com/dynamic-labs/DynamicAuth/issues/4454)) ([3650f6e](https://github.com/dynamic-labs/DynamicAuth/commit/3650f6ec471a7c779f4d304ab94c9350dd55055b))
132
+
133
+ ## [1.1.0-alpha.14](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.13...v1.1.0-alpha.14) (2024-01-23)
134
+
135
+
136
+ ### Features
137
+
138
+ * add wallet-book retryable ([#4462](https://github.com/dynamic-labs/DynamicAuth/issues/4462)) ([513b1a6](https://github.com/dynamic-labs/DynamicAuth/commit/513b1a67d6c49624398ad4b0cdca4f5618c9583f))
139
+
140
+ ## [1.1.0-alpha.13](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.12...v1.1.0-alpha.13) (2024-01-23)
3
141
 
4
142
 
5
143
  ### Features
6
144
 
7
145
  * add createWalletClientFromWallet helper function ([#4416](https://github.com/dynamic-labs/DynamicAuth/issues/4416)) ([b384898](https://github.com/dynamic-labs/DynamicAuth/commit/b384898061bb3f9b38b2ed670b6650cfc1d4b429))
8
146
  * add hardware wallets to wallet book ([#4445](https://github.com/dynamic-labs/DynamicAuth/issues/4445)) ([66c0f5b](https://github.com/dynamic-labs/DynamicAuth/commit/66c0f5b29a6a700099bb95a6f7622f6178e0bccf))
9
- * add redirect based phantom deeplinking ([c40dfd2](https://github.com/dynamic-labs/DynamicAuth/commit/c40dfd21d0692b9d33593d564ae6879ab15547e2))
147
+ * add support for Argent Web and Mobile ([#4328](https://github.com/dynamic-labs/DynamicAuth/issues/4328)) ([bce20b8](https://github.com/dynamic-labs/DynamicAuth/commit/bce20b8f35a8630f2621f53a541a1acb06a38fc0))
148
+ * enable ledger for glow, solflare and backpack ([#4392](https://github.com/dynamic-labs/DynamicAuth/issues/4392)) ([fa7b992](https://github.com/dynamic-labs/DynamicAuth/commit/fa7b992f87ebc43560f87b43ac56f2cd9909b306))
10
149
 
11
150
 
12
151
  ### Bug Fixes
13
152
 
14
153
  * breaking changes script ([#4440](https://github.com/dynamic-labs/DynamicAuth/issues/4440)) ([446173d](https://github.com/dynamic-labs/DynamicAuth/commit/446173d074d652d81856c6412e304b46b1565320))
15
154
  * broken help icon in create passkey view ([#4428](https://github.com/dynamic-labs/DynamicAuth/issues/4428)) ([e0ffc02](https://github.com/dynamic-labs/DynamicAuth/commit/e0ffc02ffea34b7ac3198ff6e1baf7f9907acddd))
155
+ * infinite loop when connecting with trust wallet ([#4448](https://github.com/dynamic-labs/DynamicAuth/issues/4448)) ([4e20edf](https://github.com/dynamic-labs/DynamicAuth/commit/4e20edf9abaabf20e5e9f9167b44d7f691e844f1))
156
+ * render wagmi elements based on react version ([#4453](https://github.com/dynamic-labs/DynamicAuth/issues/4453)) ([43c624c](https://github.com/dynamic-labs/DynamicAuth/commit/43c624ca996b0c51de1454910f19fdf908149938))
16
157
 
17
158
  ## [1.1.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.11...v1.1.0-alpha.12) (2024-01-18)
18
159
 
package/README.md CHANGED
@@ -5,6 +5,10 @@
5
5
  - [Wallet Book](#wallet-book)
6
6
  - [Updating Wallet Book](#updating-wallet-book)
7
7
  - [Adding First Party Wallet](#adding-first-party-wallet)
8
+ - [Adding injected (browser extension) wallets](#adding-injected-browser-extension-wallets)
9
+ - [If you need to override any of the following functions: signMessage, fetchPublicAddress, getSigner, isInstalledOnBrowser, etc...](#if-you-need-to-override-any-of-the-following-functions-signmessage-fetchpublicaddress-getsigner-isinstalledonbrowser-etc)
10
+ - [Things to remember when adding a new wallet](#things-to-remember-when-adding-a-new-wallet)
11
+ - [**Checklist before submitting the PR**:](#checklist-before-submitting-the-pr)
8
12
  - [Updating Wallet Connect Data](#updating-wallet-connect-data)
9
13
  - [Adding overrides to WalletConnect](#adding-overrides-to-walletconnect)
10
14
  - [Compile \& Publish](#compile--publish)
@@ -117,7 +121,7 @@ Refer to `injectedConfigSchema` for the schema options
117
121
 
118
122
  ### Updating Wallet Connect Data
119
123
 
120
- - Download the data from : https://registry.walletconnect.org/data/wallets.json replace
124
+ - Download the data from : https://explorer-api.walletconnect.com/v3/wallets?projectId=XXXX replace
121
125
  - Replace packages/wallet-book/src/build/sources/walletConnect/walletconnect.json
122
126
  - [Compile & Publish](#compile--publish)
123
127
 
@@ -37,7 +37,12 @@ function __awaiter(thisArg, _arguments, P, generator) {
37
37
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
38
38
  step((generator = generator.apply(thisArg, _arguments || [])).next());
39
39
  });
40
- }
40
+ }
41
+
42
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
43
+ var e = new Error(message);
44
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
45
+ };
41
46
 
42
47
  exports.__awaiter = __awaiter;
43
48
  exports.__rest = __rest;
@@ -33,6 +33,11 @@ function __awaiter(thisArg, _arguments, P, generator) {
33
33
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
34
34
  step((generator = generator.apply(thisArg, _arguments || [])).next());
35
35
  });
36
- }
36
+ }
37
+
38
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
39
+ var e = new Error(message);
40
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
41
+ };
37
42
 
38
43
  export { __awaiter, __rest };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/wallet-book",
3
- "version": "1.1.0-phantom.0",
3
+ "version": "1.1.0",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -26,7 +26,9 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "zod": "3.22.4",
29
- "@dynamic-labs/logger": "1.1.0-phantom.0"
29
+ "@dynamic-labs/logger": "1.1.0",
30
+ "@dynamic-labs/utils": "1.1.0",
31
+ "util": "0.12.5"
30
32
  },
31
33
  "peerDependencies": {
32
34
  "react": "^17.0.2 || ^18.0.0",
@@ -13,6 +13,7 @@ export declare const generateWalletFallbacks: (wallets: WalletRecordsSchema) =>
13
13
  primaryColor?: string | undefined;
14
14
  spriteId?: string | undefined;
15
15
  } | undefined;
16
+ chainGroup?: string | undefined;
16
17
  chains?: string[] | undefined;
17
18
  desktop?: {
18
19
  chromeId?: string | undefined;
@@ -56,4 +57,5 @@ export declare const generateWalletFallbacks: (wallets: WalletRecordsSchema) =>
56
57
  walletConnect?: {
57
58
  sdks?: string[] | undefined;
58
59
  } | undefined;
60
+ walletGroup?: string | undefined;
59
61
  }>;
@@ -1,4 +1,12 @@
1
1
  export declare const walletConnectSourceData: Record<string, {
2
+ id: string;
3
+ metadata: {
4
+ shortName: string | null;
5
+ colors: {
6
+ primary: string | null;
7
+ secondary: string | null;
8
+ };
9
+ };
2
10
  name: string;
3
11
  chains: string[];
4
12
  desktop: {
@@ -11,13 +19,6 @@ export declare const walletConnectSourceData: Record<string, {
11
19
  universal: string | null;
12
20
  };
13
21
  sdks: string[];
14
- metadata: {
15
- shortName: string | null;
16
- colors: {
17
- primary: string | null;
18
- secondary: string | null;
19
- };
20
- };
21
22
  app: {
22
23
  android: string | null;
23
24
  ios: string | null;
@@ -35,7 +36,6 @@ export declare const walletConnectSourceData: Record<string, {
35
36
  category: string | null;
36
37
  description: string | null;
37
38
  homepage: string;
38
- id: string;
39
39
  image_id: string;
40
40
  image_url: {
41
41
  lg: string;
@@ -50,11 +50,11 @@ export declare const walletConnectSourceData: Record<string, {
50
50
  updatedAt: string;
51
51
  versions: string[];
52
52
  supported_standards?: {
53
- title: string;
54
53
  id: string;
54
+ title: string;
55
+ url: string;
55
56
  standard_id: number;
56
57
  standard_prefix: string;
57
- url: string;
58
58
  }[] | undefined;
59
59
  }>;
60
60
  export declare const walletConnectTransformedData: Promise<Record<string, {
@@ -65,6 +65,7 @@ export declare const walletConnectTransformedData: Promise<Record<string, {
65
65
  primaryColor?: string | undefined;
66
66
  spriteId?: string | undefined;
67
67
  } | undefined;
68
+ chainGroup?: string | undefined;
68
69
  chains?: string[] | undefined;
69
70
  desktop?: {
70
71
  chromeId?: string | undefined;
@@ -108,4 +109,5 @@ export declare const walletConnectTransformedData: Promise<Record<string, {
108
109
  walletConnect?: {
109
110
  sdks?: string[] | undefined;
110
111
  } | undefined;
112
+ walletGroup?: string | undefined;
111
113
  }>>;
@@ -0,0 +1,25 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var _tslib = require('../../_virtual/_tslib.cjs');
6
+ var react = require('react');
7
+ var getWalletIconUrl = require('../helpers/getWalletIconUrl.cjs');
8
+ require('../helpers/logger.cjs');
9
+ var getBrandIconUrl = require('../helpers/getBrandIconUrl.cjs');
10
+
11
+ const BrandIcon = (_a) => {
12
+ var { brand, walletKey } = _a, props = _tslib.__rest(_a, ["brand", "walletKey"]);
13
+ const [imgError, setImgError] = react.useState(false);
14
+ const walletIconUrl = getBrandIconUrl.getBrandIconUrl(brand);
15
+ const defaultWalletIconUrl = getWalletIconUrl.getDefaultWalletIconUrl();
16
+ if (!walletIconUrl) {
17
+ return react.createElement(react.Fragment, {});
18
+ }
19
+ const onError = () => {
20
+ setImgError(true);
21
+ };
22
+ return react.createElement('img', Object.assign(Object.assign({ 'data-testid': `wallet-icon-${walletKey}` }, props), { alt: brand.alt, onError: onError, src: imgError ? defaultWalletIconUrl : walletIconUrl }));
23
+ };
24
+
25
+ exports.BrandIcon = BrandIcon;
@@ -0,0 +1,8 @@
1
+ import { FC, ImgHTMLAttributes } from 'react';
2
+ import { WalletBrand } from '../schemas';
3
+ type BrandIconProps = {
4
+ walletKey: string;
5
+ brand: WalletBrand;
6
+ } & ImgHTMLAttributes<HTMLImageElement>;
7
+ export declare const BrandIcon: FC<BrandIconProps>;
8
+ export {};
@@ -0,0 +1,21 @@
1
+ import { __rest } from '../../_virtual/_tslib.js';
2
+ import { useState, createElement, Fragment } from 'react';
3
+ import { getDefaultWalletIconUrl } from '../helpers/getWalletIconUrl.js';
4
+ import '../helpers/logger.js';
5
+ import { getBrandIconUrl } from '../helpers/getBrandIconUrl.js';
6
+
7
+ const BrandIcon = (_a) => {
8
+ var { brand, walletKey } = _a, props = __rest(_a, ["brand", "walletKey"]);
9
+ const [imgError, setImgError] = useState(false);
10
+ const walletIconUrl = getBrandIconUrl(brand);
11
+ const defaultWalletIconUrl = getDefaultWalletIconUrl();
12
+ if (!walletIconUrl) {
13
+ return createElement(Fragment, {});
14
+ }
15
+ const onError = () => {
16
+ setImgError(true);
17
+ };
18
+ return createElement('img', Object.assign(Object.assign({ 'data-testid': `wallet-icon-${walletKey}` }, props), { alt: brand.alt, onError: onError, src: imgError ? defaultWalletIconUrl : walletIconUrl }));
19
+ };
20
+
21
+ export { BrandIcon };
@@ -5,8 +5,9 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  var _tslib = require('../../_virtual/_tslib.cjs');
6
6
  var react = require('react');
7
7
  var getWalletIconUrl = require('../helpers/getWalletIconUrl.cjs');
8
- var findWalletBookWallet = require('../helpers/findWalletBookWallet.cjs');
9
8
  require('../helpers/logger.cjs');
9
+ var findWalletBookWallet = require('../helpers/findWalletBookWallet.cjs');
10
+ require('@dynamic-labs/utils');
10
11
  require('../schemas/walletConnectSourceSchema.cjs');
11
12
  require('../schemas/walletBookSchema.cjs');
12
13
  require('../schemas/walletSchema.cjs');
@@ -1,8 +1,9 @@
1
1
  import { __rest } from '../../_virtual/_tslib.js';
2
2
  import { useState, createElement, Fragment } from 'react';
3
3
  import { getWalletIconUrl, getDefaultWalletIconUrl } from '../helpers/getWalletIconUrl.js';
4
- import { findWalletBookWallet } from '../helpers/findWalletBookWallet.js';
5
4
  import '../helpers/logger.js';
5
+ import { findWalletBookWallet } from '../helpers/findWalletBookWallet.js';
6
+ import '@dynamic-labs/utils';
6
7
  import '../schemas/walletConnectSourceSchema.js';
7
8
  import '../schemas/walletBookSchema.js';
8
9
  import '../schemas/walletSchema.js';
@@ -1,2 +1,3 @@
1
1
  export * from './WalletIcon';
2
2
  export * from './WalletBookContext';
3
+ export * from './BrandIcon';
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var getWalletBookWallet = require('./getWalletBookWallet.cjs');
6
- var logger = require('./logger.cjs');
7
6
 
8
7
  const findWalletBookWallet = (walletBook, walletKey) => {
9
8
  try {
@@ -11,7 +10,6 @@ const findWalletBookWallet = (walletBook, walletKey) => {
11
10
  return walletData;
12
11
  }
13
12
  catch (err) {
14
- logger.logger.warn(err);
15
13
  return undefined;
16
14
  }
17
15
  };
@@ -7,6 +7,7 @@ export declare const findWalletBookWallet: (walletBook: WalletBookSchema, wallet
7
7
  primaryColor?: string | undefined;
8
8
  spriteId?: string | undefined;
9
9
  } | undefined;
10
+ chainGroup?: string | undefined;
10
11
  chains?: string[] | undefined;
11
12
  desktop?: {
12
13
  chromeId?: string | undefined;
@@ -50,4 +51,5 @@ export declare const findWalletBookWallet: (walletBook: WalletBookSchema, wallet
50
51
  walletConnect?: {
51
52
  sdks?: string[] | undefined;
52
53
  } | undefined;
54
+ walletGroup?: string | undefined;
53
55
  } | undefined;
@@ -1,5 +1,4 @@
1
1
  import { getWalletBookWallet } from './getWalletBookWallet.js';
2
- import { logger } from './logger.js';
3
2
 
4
3
  const findWalletBookWallet = (walletBook, walletKey) => {
5
4
  try {
@@ -7,7 +6,6 @@ const findWalletBookWallet = (walletBook, walletKey) => {
7
6
  return walletData;
8
7
  }
9
8
  catch (err) {
10
- logger.warn(err);
11
9
  return undefined;
12
10
  }
13
11
  };
@@ -8,4 +8,13 @@ export declare const findWalletGroup: (walletBook: WalletBookSchema, walletGroup
8
8
  primaryColor?: string | undefined;
9
9
  spriteId?: string | undefined;
10
10
  } | undefined;
11
+ walletOverrides?: Record<string, {
12
+ brand?: {
13
+ alt?: string | undefined;
14
+ imageId?: string | undefined;
15
+ primaryColor?: string | undefined;
16
+ spriteId?: string | undefined;
17
+ } | undefined;
18
+ name?: string | undefined;
19
+ }> | undefined;
11
20
  } | undefined;
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var findWalletGroup = require('./findWalletGroup.cjs');
6
+
7
+ const findWalletGroupOverride = (walletBook, groupKey, walletKey) => {
8
+ var _a;
9
+ const group = findWalletGroup.findWalletGroup(walletBook, groupKey);
10
+ return (_a = group === null || group === void 0 ? void 0 : group.walletOverrides) === null || _a === void 0 ? void 0 : _a[walletKey];
11
+ };
12
+
13
+ exports.findWalletGroupOverride = findWalletGroupOverride;
@@ -0,0 +1,3 @@
1
+ import { WalletBookSchema } from '../schemas';
2
+ import { WalletGroupOverride } from '../schemas/walletGroup';
3
+ export declare const findWalletGroupOverride: (walletBook: WalletBookSchema, groupKey: string, walletKey: string) => WalletGroupOverride | undefined;
@@ -0,0 +1,9 @@
1
+ import { findWalletGroup } from './findWalletGroup.js';
2
+
3
+ const findWalletGroupOverride = (walletBook, groupKey, walletKey) => {
4
+ var _a;
5
+ const group = findWalletGroup(walletBook, groupKey);
6
+ return (_a = group === null || group === void 0 ? void 0 : group.walletOverrides) === null || _a === void 0 ? void 0 : _a[walletKey];
7
+ };
8
+
9
+ export { findWalletGroupOverride };
@@ -0,0 +1,17 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var renderTemplate = require('./renderTemplate.cjs');
6
+
7
+ const getBrandIconUrl = (brand) => {
8
+ if (brand.spriteId) {
9
+ return renderTemplate.renderTemplate('iconicUrl', brand.spriteId);
10
+ }
11
+ if (brand.imageId) {
12
+ return renderTemplate.renderTemplate('walletConnectUrl', brand.imageId);
13
+ }
14
+ return '';
15
+ };
16
+
17
+ exports.getBrandIconUrl = getBrandIconUrl;
@@ -0,0 +1,2 @@
1
+ import { WalletBrand } from '../schemas';
2
+ export declare const getBrandIconUrl: (brand: WalletBrand) => string | undefined;
@@ -0,0 +1,13 @@
1
+ import { renderTemplate } from './renderTemplate.js';
2
+
3
+ const getBrandIconUrl = (brand) => {
4
+ if (brand.spriteId) {
5
+ return renderTemplate('iconicUrl', brand.spriteId);
6
+ }
7
+ if (brand.imageId) {
8
+ return renderTemplate('walletConnectUrl', brand.imageId);
9
+ }
10
+ return '';
11
+ };
12
+
13
+ export { getBrandIconUrl };
@@ -2,13 +2,25 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
+ var normalizeWalletName = require('./normalizeWalletName.cjs');
6
+ var logger = require('./logger.cjs');
7
+
5
8
  const getWalletBookWallet = (walletBook, walletKey) => {
6
- var _a, _b;
7
- const walletKeyOrDefault = walletKey !== null && walletKey !== void 0 ? walletKey : 'undefined-wallet-key';
8
- const walletData = (_a = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) === null || _a === void 0 ? void 0 : _a[walletKeyOrDefault];
9
- if (!walletData)
10
- throw new Error(`Wallet ${walletKeyOrDefault} not found in wallet book (${Object.keys((_b = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) !== null && _b !== void 0 ? _b : {}).length} wallets found)`);
11
- return walletData;
9
+ var _a, _b, _c;
10
+ if (!walletKey)
11
+ throw new Error('Wallet key is required. Please pass in a wallet key to getWalletBookWallet');
12
+ const walletDataFromKeyLookup = (_a = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) === null || _a === void 0 ? void 0 : _a[walletKey];
13
+ if (!walletDataFromKeyLookup) {
14
+ // adds fallback support. normalizeWalletName will be removed in v2
15
+ const normalizedWalletKey = normalizeWalletName.normalizeWalletName(walletKey);
16
+ const walletDataFromNormalizedKeyLookup = (_b = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) === null || _b === void 0 ? void 0 : _b[normalizedWalletKey];
17
+ if (walletDataFromNormalizedKeyLookup) {
18
+ logger.logger.warn(`deprecated: using walletName: ${walletKey} to look up wallet data is deprecated. use connector.key instead ${normalizedWalletKey}`);
19
+ return walletDataFromNormalizedKeyLookup;
20
+ }
21
+ throw new Error(`Wallet ${normalizedWalletKey} not found in wallet book (${Object.keys((_c = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) !== null && _c !== void 0 ? _c : {}).length} wallets found)`);
22
+ }
23
+ return walletDataFromKeyLookup;
12
24
  };
13
25
 
14
26
  exports.getWalletBookWallet = getWalletBookWallet;
@@ -1,10 +1,22 @@
1
+ import { normalizeWalletName } from './normalizeWalletName.js';
2
+ import { logger } from './logger.js';
3
+
1
4
  const getWalletBookWallet = (walletBook, walletKey) => {
2
- var _a, _b;
3
- const walletKeyOrDefault = walletKey !== null && walletKey !== void 0 ? walletKey : 'undefined-wallet-key';
4
- const walletData = (_a = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) === null || _a === void 0 ? void 0 : _a[walletKeyOrDefault];
5
- if (!walletData)
6
- throw new Error(`Wallet ${walletKeyOrDefault} not found in wallet book (${Object.keys((_b = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) !== null && _b !== void 0 ? _b : {}).length} wallets found)`);
7
- return walletData;
5
+ var _a, _b, _c;
6
+ if (!walletKey)
7
+ throw new Error('Wallet key is required. Please pass in a wallet key to getWalletBookWallet');
8
+ const walletDataFromKeyLookup = (_a = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) === null || _a === void 0 ? void 0 : _a[walletKey];
9
+ if (!walletDataFromKeyLookup) {
10
+ // adds fallback support. normalizeWalletName will be removed in v2
11
+ const normalizedWalletKey = normalizeWalletName(walletKey);
12
+ const walletDataFromNormalizedKeyLookup = (_b = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) === null || _b === void 0 ? void 0 : _b[normalizedWalletKey];
13
+ if (walletDataFromNormalizedKeyLookup) {
14
+ logger.warn(`deprecated: using walletName: ${walletKey} to look up wallet data is deprecated. use connector.key instead ${normalizedWalletKey}`);
15
+ return walletDataFromNormalizedKeyLookup;
16
+ }
17
+ throw new Error(`Wallet ${normalizedWalletKey} not found in wallet book (${Object.keys((_c = walletBook === null || walletBook === void 0 ? void 0 : walletBook.wallets) !== null && _c !== void 0 ? _c : {}).length} wallets found)`);
18
+ }
19
+ return walletDataFromKeyLookup;
8
20
  };
9
21
 
10
22
  export { getWalletBookWallet };
@@ -3,18 +3,15 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var getWalletBookWallet = require('./getWalletBookWallet.cjs');
6
+ var getBrandIconUrl = require('./getBrandIconUrl.cjs');
6
7
  var logger = require('./logger.cjs');
7
8
  var renderTemplate = require('./renderTemplate.cjs');
8
9
 
9
10
  const getWalletIconUrl = (walletBook, walletKey) => {
10
- var _a, _b;
11
11
  try {
12
12
  const walletData = getWalletBookWallet.getWalletBookWallet(walletBook, walletKey);
13
- if ((_a = walletData === null || walletData === void 0 ? void 0 : walletData.brand) === null || _a === void 0 ? void 0 : _a.spriteId) {
14
- return renderTemplate.renderTemplate('iconicUrl', walletData.brand.spriteId);
15
- }
16
- if ((_b = walletData === null || walletData === void 0 ? void 0 : walletData.brand) === null || _b === void 0 ? void 0 : _b.imageId) {
17
- return renderTemplate.renderTemplate('walletConnectUrl', walletData.brand.imageId);
13
+ if (walletData === null || walletData === void 0 ? void 0 : walletData.brand) {
14
+ return getBrandIconUrl.getBrandIconUrl(walletData.brand);
18
15
  }
19
16
  }
20
17
  catch (err) {
@@ -1,16 +1,13 @@
1
1
  import { getWalletBookWallet } from './getWalletBookWallet.js';
2
+ import { getBrandIconUrl } from './getBrandIconUrl.js';
2
3
  import { logger } from './logger.js';
3
4
  import { renderTemplate } from './renderTemplate.js';
4
5
 
5
6
  const getWalletIconUrl = (walletBook, walletKey) => {
6
- var _a, _b;
7
7
  try {
8
8
  const walletData = getWalletBookWallet(walletBook, walletKey);
9
- if ((_a = walletData === null || walletData === void 0 ? void 0 : walletData.brand) === null || _a === void 0 ? void 0 : _a.spriteId) {
10
- return renderTemplate('iconicUrl', walletData.brand.spriteId);
11
- }
12
- if ((_b = walletData === null || walletData === void 0 ? void 0 : walletData.brand) === null || _b === void 0 ? void 0 : _b.imageId) {
13
- return renderTemplate('walletConnectUrl', walletData.brand.imageId);
9
+ if (walletData === null || walletData === void 0 ? void 0 : walletData.brand) {
10
+ return getBrandIconUrl(walletData.brand);
14
11
  }
15
12
  }
16
13
  catch (err) {