@dynamic-labs/wallet-book 1.1.0-phantom.0 → 1.2.0-alpha.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 +159 -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 +10 -8
  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,175 @@
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.2.0-alpha.0](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.26...v1.2.0-alpha.0) (2024-02-09)
3
+
4
+
5
+ ### Features
6
+
7
+ * add retry email otp in headless ([#4639](https://github.com/dynamic-labs/DynamicAuth/issues/4639)) ([70630e2](https://github.com/dynamic-labs/DynamicAuth/commit/70630e28e4b370581add65fc5f69c41c28346cc6))
8
+ * add tabs to wallet list view ([#4619](https://github.com/dynamic-labs/DynamicAuth/issues/4619)) ([c552a8e](https://github.com/dynamic-labs/DynamicAuth/commit/c552a8ec9a484b6015e95e9b3b30cd1cd151a45b))
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * current wallet being clipped inside a circle ([#4470](https://github.com/dynamic-labs/DynamicAuth/issues/4470)) ([53149c6](https://github.com/dynamic-labs/DynamicAuth/commit/53149c658ccf73b5576f73e8863bab6e9e5f66a7))
14
+ * hydration issues with ShadowDOM ([#4434](https://github.com/dynamic-labs/DynamicAuth/issues/4434)) ([032dae5](https://github.com/dynamic-labs/DynamicAuth/commit/032dae5036bc5b03095b0d3d41f8ab0a8a678dbb))
15
+ * multi wallet disabled shows one chain even if both are enabled ([#4636](https://github.com/dynamic-labs/DynamicAuth/issues/4636)) ([b5baef3](https://github.com/dynamic-labs/DynamicAuth/commit/b5baef38dcceca7927508ef149c2573c9cb02ddf))
16
+ * solana turnkey connector not refreshing account after session expiration ([#4625](https://github.com/dynamic-labs/DynamicAuth/issues/4625)) ([3e6b1f9](https://github.com/dynamic-labs/DynamicAuth/commit/3e6b1f97bb1ca8f70948678748176a77f05f5ef9))
17
+ * use phantom injected when on in-app browser ([#4630](https://github.com/dynamic-labs/DynamicAuth/issues/4630)) ([b4fab5b](https://github.com/dynamic-labs/DynamicAuth/commit/b4fab5b935fc516c864c2e6eb39c946b18c8897f))
18
+ * wait for sdkHasLoaded to process phantom redirect ([#4628](https://github.com/dynamic-labs/DynamicAuth/issues/4628)) ([5f68f65](https://github.com/dynamic-labs/DynamicAuth/commit/5f68f653652c6108bd62d4314974bca18eb683b1))
19
+
20
+ ## [1.1.0-alpha.26](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.25...v1.1.0-alpha.26) (2024-02-07)
21
+
22
+
23
+ ### Features
24
+
25
+ * add retry when using magic ([#4579](https://github.com/dynamic-labs/DynamicAuth/issues/4579)) ([183561c](https://github.com/dynamic-labs/DynamicAuth/commit/183561cc64f083fd1489c38a8cc8b1c4c51d2924))
26
+
27
+
28
+ ### Bug Fixes
29
+
30
+ * 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))
31
+ * 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))
32
+ * 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))
33
+
34
+ ## [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)
35
+
36
+
37
+ ### Features
38
+
39
+ * add signin with coinbase to sdk ([#4581](https://github.com/dynamic-labs/DynamicAuth/issues/4581)) ([08a31ed](https://github.com/dynamic-labs/DynamicAuth/commit/08a31ed3552c48645b398881f184440800af21ec))
40
+ * 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))
41
+
42
+
43
+ ### Bug Fixes
44
+
45
+ * 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))
46
+
47
+ ## [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)
48
+
49
+
50
+ ### Bug Fixes
51
+
52
+ * 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))
53
+
54
+ ## [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)
55
+
56
+
57
+ ### Features
58
+
59
+ * bitcoin signPsbt ([3c964de](https://github.com/dynamic-labs/DynamicAuth/commit/3c964dea8a55debaf184c5a94f0f5fabdda3c877))
60
+ * embedded wallet email auth flow ([#4353](https://github.com/dynamic-labs/DynamicAuth/issues/4353)) ([4875da3](https://github.com/dynamic-labs/DynamicAuth/commit/4875da32c47c27facef1b1cdbdc214566bbfd171))
61
+
62
+ ## [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)
63
+
64
+
65
+ ### Bug Fixes
66
+
67
+ * onAuthFlowClose not being called ([#4563](https://github.com/dynamic-labs/DynamicAuth/issues/4563)) ([c4b2648](https://github.com/dynamic-labs/DynamicAuth/commit/c4b264885b7dba6e204ef49bf642d25c7d287b04))
68
+
69
+ ## [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)
70
+
71
+
72
+ ### Features
73
+
74
+ * add phantom redirect handling context ([#4479](https://github.com/dynamic-labs/DynamicAuth/issues/4479)) ([e0218ee](https://github.com/dynamic-labs/DynamicAuth/commit/e0218eec1a67787f5c0e7483d542a5f773e911ef))
75
+ * add signPsbt method to bitcoin wallet connectors ([dfdc0fe](https://github.com/dynamic-labs/DynamicAuth/commit/dfdc0fe0e6894c1307b286e89b43a4c58a8808f3))
76
+
77
+
78
+ ### Bug Fixes
79
+
80
+ * 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))
81
+ * 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))
82
+
83
+ ## [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)
84
+
85
+
86
+ ### Bug Fixes
87
+
88
+ * 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))
89
+ * 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))
90
+
91
+ ## [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)
92
+
93
+
94
+ ### Features
95
+
96
+ * add PhantomRedirect connector ([#4467](https://github.com/dynamic-labs/DynamicAuth/issues/4467)) ([75d6c95](https://github.com/dynamic-labs/DynamicAuth/commit/75d6c95940fcec185a699c2100b3e2d21a8233d5))
97
+
98
+
99
+ ### Bug Fixes
100
+
101
+ * 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))
102
+
103
+ ## [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)
104
+
105
+
106
+ ### Bug Fixes
107
+
108
+ * 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))
109
+
110
+ ## [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)
111
+
112
+
113
+ ### Features
114
+
115
+ * add sendRawTransaction to BitcoinWalletConnector ([2e86c5a](https://github.com/dynamic-labs/DynamicAuth/commit/2e86c5a5245bd0fc29162ef1f7fe2fbd65245fe1))
116
+
117
+
118
+ ### Bug Fixes
119
+
120
+ * properly handle AccountExistsError for signInOAuth ([#4529](https://github.com/dynamic-labs/DynamicAuth/issues/4529)) ([d37fdc3](https://github.com/dynamic-labs/DynamicAuth/commit/d37fdc310fe4b70f8948fd5ed3d058342afbe08f))
121
+
122
+ ## [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)
123
+
124
+
125
+ ### Bug Fixes
126
+
127
+ * 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))
128
+ * 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))
129
+
130
+ ## [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)
131
+
132
+
133
+ ### Features
134
+
135
+ * 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))
136
+ * enable solana embedded wallets ([#4457](https://github.com/dynamic-labs/DynamicAuth/issues/4457)) ([b0c47f4](https://github.com/dynamic-labs/DynamicAuth/commit/b0c47f4475baa12f52076da46ef993c13bd2c243))
137
+ * group ArgentX wallets ([#4495](https://github.com/dynamic-labs/DynamicAuth/issues/4495)) ([b10d79a](https://github.com/dynamic-labs/DynamicAuth/commit/b10d79a668efecedca37ddb358e6adf95319650d))
138
+
139
+
140
+ ### Bug Fixes
141
+
142
+ * add support for newest backpack extension ([#4468](https://github.com/dynamic-labs/DynamicAuth/issues/4468)) ([a219f32](https://github.com/dynamic-labs/DynamicAuth/commit/a219f325be672599e50b07f6751234a7fc98286e))
143
+ * bump timeout for slower connections ([#4475](https://github.com/dynamic-labs/DynamicAuth/issues/4475)) ([7a07ff5](https://github.com/dynamic-labs/DynamicAuth/commit/7a07ff589eaaf3b28a94d277df3eedabbca60702))
144
+ * 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))
145
+ * 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))
146
+ * pass id to wagmi chain override ([#4512](https://github.com/dynamic-labs/DynamicAuth/issues/4512)) ([2bf2f04](https://github.com/dynamic-labs/DynamicAuth/commit/2bf2f0487f5b1be936dd279107c11fe5d2b42666))
147
+ * 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))
148
+
149
+ ## [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)
150
+
151
+
152
+ ### Features
153
+
154
+ * add wallet-book retryable ([#4462](https://github.com/dynamic-labs/DynamicAuth/issues/4462)) ([513b1a6](https://github.com/dynamic-labs/DynamicAuth/commit/513b1a67d6c49624398ad4b0cdca4f5618c9583f))
155
+
156
+ ## [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
157
 
4
158
 
5
159
  ### Features
6
160
 
7
161
  * add createWalletClientFromWallet helper function ([#4416](https://github.com/dynamic-labs/DynamicAuth/issues/4416)) ([b384898](https://github.com/dynamic-labs/DynamicAuth/commit/b384898061bb3f9b38b2ed670b6650cfc1d4b429))
8
162
  * 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))
163
+ * 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))
164
+ * 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
165
 
11
166
 
12
167
  ### Bug Fixes
13
168
 
14
169
  * breaking changes script ([#4440](https://github.com/dynamic-labs/DynamicAuth/issues/4440)) ([446173d](https://github.com/dynamic-labs/DynamicAuth/commit/446173d074d652d81856c6412e304b46b1565320))
15
170
  * 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))
171
+ * 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))
172
+ * 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
173
 
17
174
  ## [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
175
 
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.2.0-alpha.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.2.0-alpha.0",
30
+ "@dynamic-labs/utils": "1.2.0-alpha.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
  }>;
@@ -11,13 +11,6 @@ export declare const walletConnectSourceData: Record<string, {
11
11
  universal: string | null;
12
12
  };
13
13
  sdks: string[];
14
- metadata: {
15
- shortName: string | null;
16
- colors: {
17
- primary: string | null;
18
- secondary: string | null;
19
- };
20
- };
21
14
  app: {
22
15
  android: string | null;
23
16
  ios: string | null;
@@ -46,14 +39,21 @@ export declare const walletConnectSourceData: Record<string, {
46
39
  injected_id: string;
47
40
  namespace: string;
48
41
  }[] | null;
42
+ metadata: {
43
+ shortName: string | null;
44
+ colors: {
45
+ primary: string | null;
46
+ secondary: string | null;
47
+ };
48
+ };
49
49
  slug: string;
50
50
  updatedAt: string;
51
51
  versions: string[];
52
52
  supported_standards?: {
53
- title: string;
54
53
  id: string;
55
54
  standard_id: number;
56
55
  standard_prefix: string;
56
+ title: string;
57
57
  url: string;
58
58
  }[] | undefined;
59
59
  }>;
@@ -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) {