@dynamic-labs/utils 1.1.0-alpha.2 → 1.1.0-alpha.20

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,225 @@
1
1
 
2
+ ## [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)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * 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))
8
+ * 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))
9
+
10
+ ## [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)
11
+
12
+
13
+ ### Features
14
+
15
+ * add PhantomRedirect connector ([#4467](https://github.com/dynamic-labs/DynamicAuth/issues/4467)) ([75d6c95](https://github.com/dynamic-labs/DynamicAuth/commit/75d6c95940fcec185a699c2100b3e2d21a8233d5))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * 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))
21
+
22
+ ## [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)
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * 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))
28
+
29
+ ## [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)
30
+
31
+
32
+ ### Features
33
+
34
+ * add sendRawTransaction to BitcoinWalletConnector ([2e86c5a](https://github.com/dynamic-labs/DynamicAuth/commit/2e86c5a5245bd0fc29162ef1f7fe2fbd65245fe1))
35
+
36
+
37
+ ### Bug Fixes
38
+
39
+ * properly handle AccountExistsError for signInOAuth ([#4529](https://github.com/dynamic-labs/DynamicAuth/issues/4529)) ([d37fdc3](https://github.com/dynamic-labs/DynamicAuth/commit/d37fdc310fe4b70f8948fd5ed3d058342afbe08f))
40
+
41
+ ## [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)
42
+
43
+
44
+ ### Bug Fixes
45
+
46
+ * 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))
47
+ * 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))
48
+
49
+ ## [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)
50
+
51
+
52
+ ### Features
53
+
54
+ * 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))
55
+ * enable solana embedded wallets ([#4457](https://github.com/dynamic-labs/DynamicAuth/issues/4457)) ([b0c47f4](https://github.com/dynamic-labs/DynamicAuth/commit/b0c47f4475baa12f52076da46ef993c13bd2c243))
56
+ * group ArgentX wallets ([#4495](https://github.com/dynamic-labs/DynamicAuth/issues/4495)) ([b10d79a](https://github.com/dynamic-labs/DynamicAuth/commit/b10d79a668efecedca37ddb358e6adf95319650d))
57
+
58
+
59
+ ### Bug Fixes
60
+
61
+ * add support for newest backpack extension ([#4468](https://github.com/dynamic-labs/DynamicAuth/issues/4468)) ([a219f32](https://github.com/dynamic-labs/DynamicAuth/commit/a219f325be672599e50b07f6751234a7fc98286e))
62
+ * bump timeout for slower connections ([#4475](https://github.com/dynamic-labs/DynamicAuth/issues/4475)) ([7a07ff5](https://github.com/dynamic-labs/DynamicAuth/commit/7a07ff589eaaf3b28a94d277df3eedabbca60702))
63
+ * 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))
64
+ * 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))
65
+ * pass id to wagmi chain override ([#4512](https://github.com/dynamic-labs/DynamicAuth/issues/4512)) ([2bf2f04](https://github.com/dynamic-labs/DynamicAuth/commit/2bf2f0487f5b1be936dd279107c11fe5d2b42666))
66
+ * 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))
67
+
68
+ ## [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)
69
+
70
+
71
+ ### Features
72
+
73
+ * add wallet-book retryable ([#4462](https://github.com/dynamic-labs/DynamicAuth/issues/4462)) ([513b1a6](https://github.com/dynamic-labs/DynamicAuth/commit/513b1a67d6c49624398ad4b0cdca4f5618c9583f))
74
+
75
+ ## [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)
76
+
77
+
78
+ ### Features
79
+
80
+ * add createWalletClientFromWallet helper function ([#4416](https://github.com/dynamic-labs/DynamicAuth/issues/4416)) ([b384898](https://github.com/dynamic-labs/DynamicAuth/commit/b384898061bb3f9b38b2ed670b6650cfc1d4b429))
81
+ * add hardware wallets to wallet book ([#4445](https://github.com/dynamic-labs/DynamicAuth/issues/4445)) ([66c0f5b](https://github.com/dynamic-labs/DynamicAuth/commit/66c0f5b29a6a700099bb95a6f7622f6178e0bccf))
82
+ * 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))
83
+ * 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))
84
+
85
+
86
+ ### Bug Fixes
87
+
88
+ * breaking changes script ([#4440](https://github.com/dynamic-labs/DynamicAuth/issues/4440)) ([446173d](https://github.com/dynamic-labs/DynamicAuth/commit/446173d074d652d81856c6412e304b46b1565320))
89
+ * 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))
90
+ * 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))
91
+ * 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))
92
+
93
+ ## [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)
94
+
95
+
96
+ ### Features
97
+
98
+ * expose setAuthMode method ([#4419](https://github.com/dynamic-labs/DynamicAuth/issues/4419)) ([7d156b3](https://github.com/dynamic-labs/DynamicAuth/commit/7d156b3e0eab9b9a80f70ff1c5201d90693ae755))
99
+
100
+
101
+ ### Bug Fixes
102
+
103
+ * call onUnlinkSuccess in headless mode too ([#4412](https://github.com/dynamic-labs/DynamicAuth/issues/4412)) ([4c76af9](https://github.com/dynamic-labs/DynamicAuth/commit/4c76af9ac7c7b43883742d1289558dfcb5d612ca))
104
+ * correctly map keplr chain ids from project settings ([#4418](https://github.com/dynamic-labs/DynamicAuth/issues/4418)) ([7046364](https://github.com/dynamic-labs/DynamicAuth/commit/7046364a316f7551f0b995eaae7afea13502eb9b))
105
+ * logging in with an email linked to a third party wallet gets stuck on otp view ([#4407](https://github.com/dynamic-labs/DynamicAuth/issues/4407)) ([35bf142](https://github.com/dynamic-labs/DynamicAuth/commit/35bf142e74efeef866dbd7b8157a049cd36eeccb))
106
+
107
+ ## [1.1.0-alpha.11](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.10...v1.1.0-alpha.11) (2024-01-17)
108
+
109
+
110
+ ### Features
111
+
112
+ * add Leather wallet and BtcKit connector ([#4335](https://github.com/dynamic-labs/DynamicAuth/issues/4335)) ([fe3316b](https://github.com/dynamic-labs/DynamicAuth/commit/fe3316b5be9ef17eea885e99cf925ccd0f271da7))
113
+ * add solana injected wallet configuration to walletbook ([#4375](https://github.com/dynamic-labs/DynamicAuth/issues/4375)) ([3677ce5](https://github.com/dynamic-labs/DynamicAuth/commit/3677ce5ff40d0c00bfaf0daa0d5d67bc40706ee0))
114
+ * add support for unisat wallet ([#4355](https://github.com/dynamic-labs/DynamicAuth/issues/4355)) ([5b7d6b0](https://github.com/dynamic-labs/DynamicAuth/commit/5b7d6b0a9ea84811a8252b3cdf30a3a8e410180c))
115
+ * add walletbook configurations for solana injected wallets ([#4360](https://github.com/dynamic-labs/DynamicAuth/issues/4360)) ([cdc8e5f](https://github.com/dynamic-labs/DynamicAuth/commit/cdc8e5f4878cb84e26e5b33299aa8547b84b6667))
116
+ * passkey renaming frontend ([#4331](https://github.com/dynamic-labs/DynamicAuth/issues/4331)) ([4551013](https://github.com/dynamic-labs/DynamicAuth/commit/4551013d577c914cb3aedfe458ab9eaa018aceb4))
117
+
118
+
119
+ ### Bug Fixes
120
+
121
+ * correctly update wallets connected flag after wallet switch ([#4397](https://github.com/dynamic-labs/DynamicAuth/issues/4397)) ([543a830](https://github.com/dynamic-labs/DynamicAuth/commit/543a830574f0d5a78fedbb9b18233e8dfbaddd86))
122
+ * export modal header ([#4401](https://github.com/dynamic-labs/DynamicAuth/issues/4401)) ([77cf016](https://github.com/dynamic-labs/DynamicAuth/commit/77cf016fc742458988864647870149a56e991ee4))
123
+ * trigger onAuthSuccess before embedded wallet creation ([4aa341a](https://github.com/dynamic-labs/DynamicAuth/commit/4aa341a1d08332a121daddb7c2dcb09a804a4de7))
124
+ * ui issues on react 17 ([#4373](https://github.com/dynamic-labs/DynamicAuth/issues/4373)) ([93096d6](https://github.com/dynamic-labs/DynamicAuth/commit/93096d6017816a4f0ed299bf618b130d90c81514))
125
+
126
+ ## [1.1.0-alpha.10](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.9...v1.1.0-alpha.10) (2024-01-06)
127
+
128
+
129
+ ### Bug Fixes
130
+
131
+ * pass flow network to magic client ([#4322](https://github.com/dynamic-labs/DynamicAuth/issues/4322)) ([f3adccf](https://github.com/dynamic-labs/DynamicAuth/commit/f3adccf9f8d835f6b04e4767acd0fbd2ac238379))
132
+ * prevent error message when mobile wallet app is open ([#4301](https://github.com/dynamic-labs/DynamicAuth/issues/4301)) ([2a66dcf](https://github.com/dynamic-labs/DynamicAuth/commit/2a66dcfaf8100b3d910c559d35d8b731b1cb380e))
133
+ * turnkeyWalletConnector is not an email otp connector and uses dynamic otp ([#4313](https://github.com/dynamic-labs/DynamicAuth/issues/4313)) ([e4ea56f](https://github.com/dynamic-labs/DynamicAuth/commit/e4ea56f40fdf97b3f5440b016ebd95501089cebe))
134
+
135
+ ## [1.1.0-alpha.9](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.8...v1.1.0-alpha.9) (2024-01-04)
136
+
137
+
138
+ ### Features
139
+
140
+ * add solana magic support ([#4258](https://github.com/dynamic-labs/DynamicAuth/issues/4258)) ([da726aa](https://github.com/dynamic-labs/DynamicAuth/commit/da726aa78466c52ee3e1f18952e4351cde754cbc))
141
+
142
+
143
+ ### Bug Fixes
144
+
145
+ * edge case with unlinking wallet ([#4285](https://github.com/dynamic-labs/DynamicAuth/issues/4285)) ([1057fe4](https://github.com/dynamic-labs/DynamicAuth/commit/1057fe47599381f5d9dc39ce4cbeca2041c70319))
146
+ * remove normalizeWalletName from DynamicAuth ([5592817](https://github.com/dynamic-labs/DynamicAuth/commit/5592817b62e345319e04cca9a98276ffad87cfc2))
147
+ * **useFetchBalance:** ensure the latest wallet balance is fetched ([#4288](https://github.com/dynamic-labs/DynamicAuth/issues/4288)) ([25dd035](https://github.com/dynamic-labs/DynamicAuth/commit/25dd035cf8893b7cd28f550026134ba0eecda142))
148
+
149
+ ## [1.1.0-alpha.8](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.7...v1.1.0-alpha.8) (2024-01-03)
150
+
151
+
152
+ ### Features
153
+
154
+ * add new sdk view section for text ([#4280](https://github.com/dynamic-labs/DynamicAuth/issues/4280)) ([457ae38](https://github.com/dynamic-labs/DynamicAuth/commit/457ae38cd2be8dae078f40b54ffc4704299d4ed9))
155
+ * add new setShowLinkNewWalletModal method ([f46447a](https://github.com/dynamic-labs/DynamicAuth/commit/f46447ab606f4fdbf55e5fef21dd98f8f2650e90))
156
+ * add pk export for hd wallets ([#4266](https://github.com/dynamic-labs/DynamicAuth/issues/4266)) ([44aac69](https://github.com/dynamic-labs/DynamicAuth/commit/44aac69580ed44e66eab971f87cb6061a3fadc90))
157
+ * add starknet support for sopelia ([#4248](https://github.com/dynamic-labs/DynamicAuth/issues/4248)) ([f9a0980](https://github.com/dynamic-labs/DynamicAuth/commit/f9a0980c3cd2d6d95c5dd17b179fbd0931f08b1a))
158
+ * enable hardware wallet for solana wallets ([#4275](https://github.com/dynamic-labs/DynamicAuth/issues/4275)) ([704b380](https://github.com/dynamic-labs/DynamicAuth/commit/704b380186618a5a5793e88f36ccbe84b59a2e4a))
159
+
160
+
161
+ ### Bug Fixes
162
+
163
+ * phantom solana not connecting on mobile ([#4284](https://github.com/dynamic-labs/DynamicAuth/issues/4284)) ([6ad75f1](https://github.com/dynamic-labs/DynamicAuth/commit/6ad75f152896459f5cf658227f998c246b6a572b))
164
+ * use bitcoin payment address for onramp ([#4273](https://github.com/dynamic-labs/DynamicAuth/issues/4273)) ([a2f54e8](https://github.com/dynamic-labs/DynamicAuth/commit/a2f54e812a11a91ee488eca64f14b5eeea1a8874))
165
+
166
+ ## [1.1.0-alpha.7](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.6...v1.1.0-alpha.7) (2023-12-28)
167
+
168
+
169
+ ### Features
170
+
171
+ * better coinbase deeplinking ux ([#4164](https://github.com/dynamic-labs/DynamicAuth/issues/4164)) ([5252608](https://github.com/dynamic-labs/DynamicAuth/commit/525260851900a33a52f129def338963400344205))
172
+
173
+
174
+ ### Bug Fixes
175
+
176
+ * don't prompt for connect when selecting bitcoin wallet if already connected ([#4265](https://github.com/dynamic-labs/DynamicAuth/issues/4265)) ([adef402](https://github.com/dynamic-labs/DynamicAuth/commit/adef402ef94270a17fab896a8585a7f2eacd3681))
177
+
178
+ ## [1.1.0-alpha.6](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.5...v1.1.0-alpha.6) (2023-12-27)
179
+
180
+
181
+ ### Features
182
+
183
+ * add multi-wallet-prompts-widget ([#4166](https://github.com/dynamic-labs/DynamicAuth/issues/4166)) ([151e3d2](https://github.com/dynamic-labs/DynamicAuth/commit/151e3d2e7bebbf18448e4af8eecbf660f713cd3d))
184
+
185
+
186
+ ### Bug Fixes
187
+
188
+ * coinbase solana signMessage ([#4254](https://github.com/dynamic-labs/DynamicAuth/issues/4254)) ([f0300a9](https://github.com/dynamic-labs/DynamicAuth/commit/f0300a93ed6c9ba9dfab613820d8cedbe72abb87))
189
+ * make useConnectWithEmailOtp work cross views ([#4252](https://github.com/dynamic-labs/DynamicAuth/issues/4252)) ([a097119](https://github.com/dynamic-labs/DynamicAuth/commit/a097119556c38a22f338a783f79d512b99203cf5))
190
+
191
+ ## [1.1.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.4...v1.1.0-alpha.5) (2023-12-21)
192
+
193
+
194
+ ### Features
195
+
196
+ * add support for xverse wallet ([#4245](https://github.com/dynamic-labs/DynamicAuth/issues/4245)) ([7b68546](https://github.com/dynamic-labs/DynamicAuth/commit/7b6854684412007bcb33896555900936395176df))
197
+ * **gvty-526:** add embedded reveal ([#4233](https://github.com/dynamic-labs/DynamicAuth/issues/4233)) ([c2d0f90](https://github.com/dynamic-labs/DynamicAuth/commit/c2d0f903f4a4646f86c71834540fd49d51a4a7ae))
198
+
199
+ ## [1.1.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.3...v1.1.0-alpha.4) (2023-12-21)
200
+
201
+
202
+ ### Features
203
+
204
+ * add bitcoin integration ([#4216](https://github.com/dynamic-labs/DynamicAuth/issues/4216)) ([9584f1c](https://github.com/dynamic-labs/DynamicAuth/commit/9584f1cc3133835049ad1c53da980192263b8f21))
205
+ * add default footer to wallet list when tos and pp not enabled ([#4224](https://github.com/dynamic-labs/DynamicAuth/issues/4224)) ([0ad81c4](https://github.com/dynamic-labs/DynamicAuth/commit/0ad81c409bcb4aafb0dc565685525d620a95efce))
206
+ * adds useConnectWithEmailOtp ([#4234](https://github.com/dynamic-labs/DynamicAuth/issues/4234)) ([4a4e50a](https://github.com/dynamic-labs/DynamicAuth/commit/4a4e50ac8651c2a249d5125ae6bcf49aaf49be8c))
207
+
208
+ ## [1.1.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.2...v1.1.0-alpha.3) (2023-12-19)
209
+
210
+
211
+ ### Features
212
+
213
+ * add Flow support in magic wallet connector ([#4158](https://github.com/dynamic-labs/DynamicAuth/issues/4158)) ([fbbaea7](https://github.com/dynamic-labs/DynamicAuth/commit/fbbaea76b36ceb693f6bd4f2404dfa1204e61492))
214
+ * add showDynamicUserProfile to DynamicContext ([#4214](https://github.com/dynamic-labs/DynamicAuth/issues/4214)) ([2aeb8e3](https://github.com/dynamic-labs/DynamicAuth/commit/2aeb8e3c45a3d9f87bd9196ea9b46927e02eb633))
215
+
216
+
217
+ ### Bug Fixes
218
+
219
+ * add shortname to braveevm to allow for lookups by name as well as key ([#4213](https://github.com/dynamic-labs/DynamicAuth/issues/4213)) ([969b089](https://github.com/dynamic-labs/DynamicAuth/commit/969b089be516fb57fcdc941f908c078998eb4ec0))
220
+ * solflare connect ([#4215](https://github.com/dynamic-labs/DynamicAuth/issues/4215)) ([9a4164e](https://github.com/dynamic-labs/DynamicAuth/commit/9a4164e53198f33ef7201cd4e1eff745a09e9701))
221
+ * wagmi attempt to connect to primary wallet first ([#4206](https://github.com/dynamic-labs/DynamicAuth/issues/4206)) ([9e5fc8e](https://github.com/dynamic-labs/DynamicAuth/commit/9e5fc8ef026628935ac32d3bb0c22bda35057e5d))
222
+
2
223
  ## [1.1.0-alpha.2](https://github.com/dynamic-labs/DynamicAuth/compare/v1.1.0-alpha.1...v1.1.0-alpha.2) (2023-12-18)
3
224
 
4
225
 
@@ -25,6 +25,11 @@ function __awaiter(thisArg, _arguments, P, generator) {
25
25
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
26
26
  step((generator = generator.apply(thisArg, _arguments || [])).next());
27
27
  });
28
- }
28
+ }
29
+
30
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
31
+ var e = new Error(message);
32
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
33
+ };
29
34
 
30
35
  exports.__awaiter = __awaiter;
@@ -21,6 +21,11 @@ function __awaiter(thisArg, _arguments, P, generator) {
21
21
  function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
22
22
  step((generator = generator.apply(thisArg, _arguments || [])).next());
23
23
  });
24
- }
24
+ }
25
+
26
+ typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
27
+ var e = new Error(message);
28
+ return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
29
+ };
25
30
 
26
31
  export { __awaiter };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/utils",
3
- "version": "1.1.0-alpha.2",
3
+ "version": "1.1.0-alpha.20",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "https://github.com/dynamic-labs/DynamicAuth.git",
@@ -26,10 +26,10 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "peerDependencies": {
29
- "viem": "^1.19.13"
29
+ "viem": "^1.19.13 || ^2.2.0"
30
30
  },
31
31
  "dependencies": {
32
- "@dynamic-labs/logger": "1.1.0-alpha.2",
33
- "@dynamic-labs/types": "1.1.0-alpha.2"
32
+ "@dynamic-labs/logger": "1.1.0-alpha.20",
33
+ "@dynamic-labs/types": "1.1.0-alpha.20"
34
34
  }
35
35
  }
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var DynamicError = require('./DynamicError.cjs');
6
+
7
+ class MissingPublicAddressError extends DynamicError.DynamicError {
8
+ constructor() {
9
+ super('Missing public address', 'missing-public-address');
10
+ }
11
+ }
12
+
13
+ exports.MissingPublicAddressError = MissingPublicAddressError;
@@ -0,0 +1,4 @@
1
+ import { DynamicError } from './DynamicError';
2
+ export declare class MissingPublicAddressError extends DynamicError {
3
+ constructor();
4
+ }
@@ -0,0 +1,9 @@
1
+ import { DynamicError } from './DynamicError.js';
2
+
3
+ class MissingPublicAddressError extends DynamicError {
4
+ constructor() {
5
+ super('Missing public address', 'missing-public-address');
6
+ }
7
+ }
8
+
9
+ export { MissingPublicAddressError };
@@ -17,3 +17,4 @@ export * from './SocialAccountAlreadyExistsError';
17
17
  export * from './TransactionGasCannotBeSponsoredError';
18
18
  export * from './InsufficientFundsError';
19
19
  export * from './PasskeyError';
20
+ export * from './MissingPublicAddressError';
@@ -0,0 +1,24 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ require('../errors/TransactionGasCannotBeSponsoredError.cjs');
6
+ require('../errors/InsufficientFundsError.cjs');
7
+ require('../logger/logger.cjs');
8
+ var isMobile = require('../isMobile.cjs');
9
+ require('../../_virtual/_tslib.cjs');
10
+ require('viem/chains');
11
+
12
+ const handleMobileWalletRedirect = ({ nativeLink, universalLink, }) => {
13
+ const url = encodeURIComponent(window.location.toString());
14
+ const ref = encodeURIComponent(window.location.origin);
15
+ // samsung browser only supports native links, not universal links
16
+ if (isMobile.isSamsungBrowser()) {
17
+ window.location.assign(`${nativeLink}/${url}?ref=${ref}`);
18
+ }
19
+ else {
20
+ window.location.assign(`${universalLink}/${url}?ref=${ref}`);
21
+ }
22
+ };
23
+
24
+ exports.handleMobileWalletRedirect = handleMobileWalletRedirect;
@@ -0,0 +1,4 @@
1
+ export declare const handleMobileWalletRedirect: ({ nativeLink, universalLink, }: {
2
+ nativeLink: string;
3
+ universalLink: string;
4
+ }) => void;
@@ -0,0 +1,20 @@
1
+ import '../errors/TransactionGasCannotBeSponsoredError.js';
2
+ import '../errors/InsufficientFundsError.js';
3
+ import '../logger/logger.js';
4
+ import { isSamsungBrowser } from '../isMobile.js';
5
+ import '../../_virtual/_tslib.js';
6
+ import 'viem/chains';
7
+
8
+ const handleMobileWalletRedirect = ({ nativeLink, universalLink, }) => {
9
+ const url = encodeURIComponent(window.location.toString());
10
+ const ref = encodeURIComponent(window.location.origin);
11
+ // samsung browser only supports native links, not universal links
12
+ if (isSamsungBrowser()) {
13
+ window.location.assign(`${nativeLink}/${url}?ref=${ref}`);
14
+ }
15
+ else {
16
+ window.location.assign(`${universalLink}/${url}?ref=${ref}`);
17
+ }
18
+ };
19
+
20
+ export { handleMobileWalletRedirect };
@@ -0,0 +1 @@
1
+ export * from './handleMobileWalletRedirect';
package/src/index.cjs CHANGED
@@ -22,6 +22,7 @@ var UserHasAccountWithEmailError = require('./errors/UserHasAccountWithEmailErro
22
22
  var SocialAccountAlreadyExistsError = require('./errors/SocialAccountAlreadyExistsError.cjs');
23
23
  var TransactionGasCannotBeSponsoredError = require('./errors/TransactionGasCannotBeSponsoredError.cjs');
24
24
  var InsufficientFundsError = require('./errors/InsufficientFundsError.cjs');
25
+ var MissingPublicAddressError = require('./errors/MissingPublicAddressError.cjs');
25
26
  var CancellablePromise = require('./CancellablePromise/CancellablePromise.cjs');
26
27
  var isFunction = require('./isFunction/isFunction.cjs');
27
28
  var isMobile = require('./isMobile.cjs');
@@ -34,6 +35,8 @@ var getOrMapViemChain = require('./getOrMapViemChain.cjs');
34
35
  var retryableFn = require('./retryableFn.cjs');
35
36
  var wrapMethodWithCallback = require('./wrapMethodWithCallback/wrapMethodWithCallback.cjs');
36
37
  var DeferredPromise = require('./DeferredPromise/DeferredPromise.cjs');
38
+ var handleMobileWalletRedirect = require('./handleMobileWalletRedirect/handleMobileWalletRedirect.cjs');
39
+ var uniq = require('./uniq/uniq.cjs');
37
40
 
38
41
 
39
42
 
@@ -57,6 +60,7 @@ exports.UserHasAccountWithEmailError = UserHasAccountWithEmailError.UserHasAccou
57
60
  exports.SocialAccountAlreadyExistsError = SocialAccountAlreadyExistsError.SocialAccountAlreadyExistsError;
58
61
  exports.TransactionGasCannotBeSponsoredError = TransactionGasCannotBeSponsoredError.TransactionGasCannotBeSponsoredError;
59
62
  exports.InsufficientFundsError = InsufficientFundsError.InsufficientFundsError;
63
+ exports.MissingPublicAddressError = MissingPublicAddressError.MissingPublicAddressError;
60
64
  exports.CancellablePromise = CancellablePromise.CancellablePromise;
61
65
  exports.isFunction = isFunction.isFunction;
62
66
  exports.getAndroidVersion = isMobile.getAndroidVersion;
@@ -83,3 +87,5 @@ exports.FALLBACK_UNDEFINED = retryableFn.FALLBACK_UNDEFINED;
83
87
  exports.retryableFn = retryableFn.retryableFn;
84
88
  exports.wrapMethodWithCallback = wrapMethodWithCallback.wrapMethodWithCallback;
85
89
  exports.DeferredPromise = DeferredPromise.DeferredPromise;
90
+ exports.handleMobileWalletRedirect = handleMobileWalletRedirect.handleMobileWalletRedirect;
91
+ exports.uniq = uniq.uniq;
package/src/index.d.ts CHANGED
@@ -13,3 +13,5 @@ export * from './getOrMapViemChain';
13
13
  export * from './retryableFn';
14
14
  export * from './wrapMethodWithCallback';
15
15
  export * from './DeferredPromise';
16
+ export * from './handleMobileWalletRedirect';
17
+ export * from './uniq';
package/src/index.js CHANGED
@@ -18,6 +18,7 @@ export { UserHasAccountWithEmailError } from './errors/UserHasAccountWithEmailEr
18
18
  export { SocialAccountAlreadyExistsError } from './errors/SocialAccountAlreadyExistsError.js';
19
19
  export { TransactionGasCannotBeSponsoredError } from './errors/TransactionGasCannotBeSponsoredError.js';
20
20
  export { InsufficientFundsError } from './errors/InsufficientFundsError.js';
21
+ export { MissingPublicAddressError } from './errors/MissingPublicAddressError.js';
21
22
  export { CancellablePromise } from './CancellablePromise/CancellablePromise.js';
22
23
  export { isFunction } from './isFunction/isFunction.js';
23
24
  export { getAndroidVersion, isAndroid, isIOS, isIPad, isIPhone, isIPhone8OrEarlier, isLegacySafari, isMobile, isSamsungBrowser, isWindows } from './isMobile.js';
@@ -30,3 +31,5 @@ export { getChain, getOrMapViemChain, mapChain } from './getOrMapViemChain.js';
30
31
  export { FALLBACK_UNDEFINED, retryableFn } from './retryableFn.js';
31
32
  export { wrapMethodWithCallback } from './wrapMethodWithCallback/wrapMethodWithCallback.js';
32
33
  export { DeferredPromise } from './DeferredPromise/DeferredPromise.js';
34
+ export { handleMobileWalletRedirect } from './handleMobileWalletRedirect/handleMobileWalletRedirect.js';
35
+ export { uniq } from './uniq/uniq.js';
@@ -8,13 +8,22 @@ const getItemAsync = (key) => _tslib.__awaiter(void 0, void 0, void 0, function*
8
8
  if (typeof window === 'undefined') {
9
9
  return undefined;
10
10
  }
11
- return window.localStorage.getItem(key) || undefined;
11
+ const value = window.localStorage.getItem(key);
12
+ if (!value) {
13
+ return undefined;
14
+ }
15
+ try {
16
+ return JSON.parse(value);
17
+ }
18
+ catch (error) {
19
+ return value;
20
+ }
12
21
  });
13
22
  const setItemAsync = (key, value) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
14
23
  if (typeof window === 'undefined') {
15
24
  return undefined;
16
25
  }
17
- return window.localStorage.setItem(key, value);
26
+ window.localStorage.setItem(key, JSON.stringify(value));
18
27
  });
19
28
  const removeItemAsync = (key) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
20
29
  if (typeof window === 'undefined') {
@@ -1,3 +1,3 @@
1
- export declare const getItemAsync: (key: string) => Promise<string | undefined>;
2
- export declare const setItemAsync: (key: string, value: string) => Promise<void>;
1
+ export declare const getItemAsync: <T = string>(key: string) => Promise<T | undefined>;
2
+ export declare const setItemAsync: <T = string>(key: string, value: T) => Promise<void>;
3
3
  export declare const removeItemAsync: (key: string) => Promise<void>;
@@ -4,13 +4,22 @@ const getItemAsync = (key) => __awaiter(void 0, void 0, void 0, function* () {
4
4
  if (typeof window === 'undefined') {
5
5
  return undefined;
6
6
  }
7
- return window.localStorage.getItem(key) || undefined;
7
+ const value = window.localStorage.getItem(key);
8
+ if (!value) {
9
+ return undefined;
10
+ }
11
+ try {
12
+ return JSON.parse(value);
13
+ }
14
+ catch (error) {
15
+ return value;
16
+ }
8
17
  });
9
18
  const setItemAsync = (key, value) => __awaiter(void 0, void 0, void 0, function* () {
10
19
  if (typeof window === 'undefined') {
11
20
  return undefined;
12
21
  }
13
- return window.localStorage.setItem(key, value);
22
+ window.localStorage.setItem(key, JSON.stringify(value));
14
23
  });
15
24
  const removeItemAsync = (key) => __awaiter(void 0, void 0, void 0, function* () {
16
25
  if (typeof window === 'undefined') {
@@ -8,6 +8,7 @@ const parseEvmNetworks = (networks) => {
8
8
  const clone = networks.slice();
9
9
  return clone.map((network) => {
10
10
  network.chainId = parseChainId.parseChainId(network.chainId);
11
+ network.networkId = parseChainId.parseChainId(network.networkId);
11
12
  return network;
12
13
  });
13
14
  };
@@ -4,6 +4,7 @@ const parseEvmNetworks = (networks) => {
4
4
  const clone = networks.slice();
5
5
  return clone.map((network) => {
6
6
  network.chainId = parseChainId(network.chainId);
7
+ network.networkId = parseChainId(network.networkId);
7
8
  return network;
8
9
  });
9
10
  };
@@ -6,7 +6,14 @@ var _tslib = require('../_virtual/_tslib.cjs');
6
6
 
7
7
  const FALLBACK_UNDEFINED = 'FALLBACK_UNDEFINED';
8
8
  const retryableFn = (fn, options = {}) => _tslib.__awaiter(void 0, void 0, void 0, function* () {
9
- const { maxRetries = 3, currentRetry = 0, timeoutMs = 100, fallbackValue = new Error('Max retries reached'), retryStrategy = 'timeout-only', } = options;
9
+ const { maxRetries = 3, currentRetry = 0, timeoutMs = 100, fallbackValue = new Error('Max retries reached'), retryStrategy = 'timeout-only', logger, } = options;
10
+ logger === null || logger === void 0 ? void 0 : logger.debug('Configured retryableFn with options: ', {
11
+ currentRetry,
12
+ fallbackValue,
13
+ maxRetries,
14
+ retryStrategy,
15
+ timeoutMs,
16
+ });
10
17
  const timeoutPromise = new Promise((_, reject) => {
11
18
  setTimeout(() => {
12
19
  reject(new Error('Timeout'));
@@ -17,7 +24,9 @@ const retryableFn = (fn, options = {}) => _tslib.__awaiter(void 0, void 0, void
17
24
  return result;
18
25
  }
19
26
  catch (err) {
27
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn caught error: ', err);
20
28
  if (currentRetry >= maxRetries) {
29
+ logger === null || logger === void 0 ? void 0 : logger.error('Error while retrying function, returning/throwing fallback value', err, fallbackValue);
21
30
  if (fallbackValue instanceof Error) {
22
31
  throw fallbackValue;
23
32
  }
@@ -30,18 +39,24 @@ const retryableFn = (fn, options = {}) => _tslib.__awaiter(void 0, void 0, void
30
39
  const shouldRetry = retryStrategy === 'timeout-and-rejection' ||
31
40
  (retryStrategy === 'timeout-only' && isTimeout) ||
32
41
  (retryStrategy === 'rejection-only' && !isTimeout);
42
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn shouldRetry: ', shouldRetry);
33
43
  if (!shouldRetry) {
34
44
  if (fallbackValue instanceof Error) {
45
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn throwing fallbackValue error: ', fallbackValue);
35
46
  throw err;
36
47
  }
37
48
  else if (fallbackValue === FALLBACK_UNDEFINED) {
49
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn returning undefined');
38
50
  return undefined;
39
51
  }
52
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn returning fallbackValue: ', fallbackValue);
53
+ logger === null || logger === void 0 ? void 0 : logger.error('Error while retrying function, returning fallback value', err);
40
54
  return fallbackValue;
41
55
  }
42
56
  return retryableFn(fn, {
43
57
  currentRetry: currentRetry + 1,
44
58
  fallbackValue,
59
+ logger,
45
60
  maxRetries,
46
61
  retryStrategy,
47
62
  timeoutMs,
@@ -1,3 +1,4 @@
1
+ import { Logger } from '@dynamic-labs/logger';
1
2
  export declare const FALLBACK_UNDEFINED = "FALLBACK_UNDEFINED";
2
3
  export type RetryableFnOptions<T> = {
3
4
  /** Maximum number of retry attempts before returning fallbackValue */
@@ -10,5 +11,7 @@ export type RetryableFnOptions<T> = {
10
11
  fallbackValue?: T | Error | typeof FALLBACK_UNDEFINED;
11
12
  /** Configure whether the fn should be retried only on timeout, only on rejection, or both */
12
13
  retryStrategy?: 'timeout-only' | 'rejection-only' | 'timeout-and-rejection';
14
+ /** Set the logger to be used */
15
+ logger?: Logger | typeof console;
13
16
  };
14
17
  export declare const retryableFn: <T>(fn: () => Promise<T>, options?: RetryableFnOptions<T>) => Promise<T>;
@@ -2,7 +2,14 @@ import { __awaiter } from '../_virtual/_tslib.js';
2
2
 
3
3
  const FALLBACK_UNDEFINED = 'FALLBACK_UNDEFINED';
4
4
  const retryableFn = (fn, options = {}) => __awaiter(void 0, void 0, void 0, function* () {
5
- const { maxRetries = 3, currentRetry = 0, timeoutMs = 100, fallbackValue = new Error('Max retries reached'), retryStrategy = 'timeout-only', } = options;
5
+ const { maxRetries = 3, currentRetry = 0, timeoutMs = 100, fallbackValue = new Error('Max retries reached'), retryStrategy = 'timeout-only', logger, } = options;
6
+ logger === null || logger === void 0 ? void 0 : logger.debug('Configured retryableFn with options: ', {
7
+ currentRetry,
8
+ fallbackValue,
9
+ maxRetries,
10
+ retryStrategy,
11
+ timeoutMs,
12
+ });
6
13
  const timeoutPromise = new Promise((_, reject) => {
7
14
  setTimeout(() => {
8
15
  reject(new Error('Timeout'));
@@ -13,7 +20,9 @@ const retryableFn = (fn, options = {}) => __awaiter(void 0, void 0, void 0, func
13
20
  return result;
14
21
  }
15
22
  catch (err) {
23
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn caught error: ', err);
16
24
  if (currentRetry >= maxRetries) {
25
+ logger === null || logger === void 0 ? void 0 : logger.error('Error while retrying function, returning/throwing fallback value', err, fallbackValue);
17
26
  if (fallbackValue instanceof Error) {
18
27
  throw fallbackValue;
19
28
  }
@@ -26,18 +35,24 @@ const retryableFn = (fn, options = {}) => __awaiter(void 0, void 0, void 0, func
26
35
  const shouldRetry = retryStrategy === 'timeout-and-rejection' ||
27
36
  (retryStrategy === 'timeout-only' && isTimeout) ||
28
37
  (retryStrategy === 'rejection-only' && !isTimeout);
38
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn shouldRetry: ', shouldRetry);
29
39
  if (!shouldRetry) {
30
40
  if (fallbackValue instanceof Error) {
41
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn throwing fallbackValue error: ', fallbackValue);
31
42
  throw err;
32
43
  }
33
44
  else if (fallbackValue === FALLBACK_UNDEFINED) {
45
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn returning undefined');
34
46
  return undefined;
35
47
  }
48
+ logger === null || logger === void 0 ? void 0 : logger.debug('retryableFn returning fallbackValue: ', fallbackValue);
49
+ logger === null || logger === void 0 ? void 0 : logger.error('Error while retrying function, returning fallback value', err);
36
50
  return fallbackValue;
37
51
  }
38
52
  return retryableFn(fn, {
39
53
  currentRetry: currentRetry + 1,
40
54
  fallbackValue,
55
+ logger,
41
56
  maxRetries,
42
57
  retryStrategy,
43
58
  timeoutMs,
@@ -0,0 +1 @@
1
+ export { uniq } from './uniq';
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ /**
6
+ * Removes duplicate elements from an array.
7
+ *
8
+ * @param {T[]} array - The array to filter for unique elements.
9
+ * @template T - The type of elements in the array.
10
+ * @returns {T[]} A new array containing only the unique elements of the given array.
11
+ *
12
+ * @example
13
+ * // returns [1, 2, 3, 4, 5]
14
+ * uniq([1, 2, 2, 3, 4, 4, 5]);
15
+ *
16
+ * @example
17
+ * // returns ['apple', 'banana', 'orange']
18
+ * uniq(['apple', 'banana', 'apple', 'orange']);
19
+ *
20
+ */
21
+ const uniq = (array) => {
22
+ const seen = new Set();
23
+ return array.filter((item) => {
24
+ if (seen.has(item)) {
25
+ return false;
26
+ }
27
+ seen.add(item);
28
+ return true;
29
+ });
30
+ };
31
+
32
+ exports.uniq = uniq;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Removes duplicate elements from an array.
3
+ *
4
+ * @param {T[]} array - The array to filter for unique elements.
5
+ * @template T - The type of elements in the array.
6
+ * @returns {T[]} A new array containing only the unique elements of the given array.
7
+ *
8
+ * @example
9
+ * // returns [1, 2, 3, 4, 5]
10
+ * uniq([1, 2, 2, 3, 4, 4, 5]);
11
+ *
12
+ * @example
13
+ * // returns ['apple', 'banana', 'orange']
14
+ * uniq(['apple', 'banana', 'apple', 'orange']);
15
+ *
16
+ */
17
+ export declare const uniq: <T>(array: T[]) => T[];
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Removes duplicate elements from an array.
3
+ *
4
+ * @param {T[]} array - The array to filter for unique elements.
5
+ * @template T - The type of elements in the array.
6
+ * @returns {T[]} A new array containing only the unique elements of the given array.
7
+ *
8
+ * @example
9
+ * // returns [1, 2, 3, 4, 5]
10
+ * uniq([1, 2, 2, 3, 4, 4, 5]);
11
+ *
12
+ * @example
13
+ * // returns ['apple', 'banana', 'orange']
14
+ * uniq(['apple', 'banana', 'apple', 'orange']);
15
+ *
16
+ */
17
+ const uniq = (array) => {
18
+ const seen = new Set();
19
+ return array.filter((item) => {
20
+ if (seen.has(item)) {
21
+ return false;
22
+ }
23
+ seen.add(item);
24
+ return true;
25
+ });
26
+ };
27
+
28
+ export { uniq };