@dynamic-labs/utils 4.0.0-alpha.3 → 4.0.0-alpha.30

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 (36) hide show
  1. package/CHANGELOG.md +254 -0
  2. package/package.cjs +8 -0
  3. package/package.js +4 -0
  4. package/package.json +7 -15
  5. package/src/eip6963/eip6963Provider.d.ts +1 -3
  6. package/src/eventTimeline/eventTimeline.cjs +41 -0
  7. package/src/eventTimeline/eventTimeline.d.ts +18 -0
  8. package/src/eventTimeline/eventTimeline.js +37 -0
  9. package/src/eventTimeline/index.d.ts +1 -0
  10. package/src/index.cjs +14 -5
  11. package/src/index.d.ts +5 -3
  12. package/src/index.js +9 -2
  13. package/src/isInIframe/index.d.ts +1 -0
  14. package/src/isInIframe/isInIframe.cjs +8 -0
  15. package/src/isInIframe/isInIframe.d.ts +1 -0
  16. package/src/isInIframe/isInIframe.js +4 -0
  17. package/src/{parseEvmNetworks.cjs → parseNetworks.cjs} +2 -0
  18. package/src/parseNetworks.d.ts +3 -0
  19. package/src/{parseEvmNetworks.js → parseNetworks.js} +2 -1
  20. package/src/services/Oauth2Service/Oauth2Service.d.ts +0 -1
  21. package/src/services/Oauth2Service/createWindowOauth2Service/createWindowOauth2Service.cjs +8 -0
  22. package/src/services/Oauth2Service/createWindowOauth2Service/createWindowOauth2Service.js +8 -0
  23. package/src/services/StorageService/StorageService.d.ts +1 -1
  24. package/src/services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.cjs +11 -0
  25. package/src/services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.d.ts +7 -0
  26. package/src/services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.js +7 -0
  27. package/src/services/StorageService/applyPostfixToStorageService/index.d.ts +1 -0
  28. package/src/services/StorageService/createStorageService/createStorageService.cjs +4 -5
  29. package/src/services/StorageService/createStorageService/createStorageService.d.ts +1 -2
  30. package/src/services/StorageService/createStorageService/createStorageService.js +4 -5
  31. package/src/services/StorageService/index.d.ts +1 -0
  32. package/src/services/StorageService/types.d.ts +1 -1
  33. package/src/nativeMobileOauthStateParam.cjs +0 -13
  34. package/src/nativeMobileOauthStateParam.d.ts +0 -14
  35. package/src/nativeMobileOauthStateParam.js +0 -9
  36. package/src/parseEvmNetworks.d.ts +0 -2
package/CHANGELOG.md CHANGED
@@ -1,4 +1,258 @@
1
1
 
2
+ ## [4.0.0-alpha.30](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.29...v4.0.0-alpha.30) (2024-11-13)
3
+
4
+
5
+ ### ⚠ BREAKING CHANGES
6
+
7
+ * check wallet limitations from metadata (#7413)
8
+
9
+ ### Bug Fixes
10
+
11
+ * confirmation ui disabled for solana signall and signTransaction ([#7403](https://github.com/dynamic-labs/dynamic-auth/issues/7403)) ([98a352a](https://github.com/dynamic-labs/dynamic-auth/commit/98a352a826202abad734f00df1b3d19080ecf1e2))
12
+ * get starknet wallets directly from window ([#7421](https://github.com/dynamic-labs/dynamic-auth/issues/7421)) ([13e24f7](https://github.com/dynamic-labs/dynamic-auth/commit/13e24f70accf7747f5137fc3f2b05c00939c3af3))
13
+ * issue with SollanaWalletConnectorWithConfig embedded wallets ([#7405](https://github.com/dynamic-labs/dynamic-auth/issues/7405)) ([f08ecd6](https://github.com/dynamic-labs/dynamic-auth/commit/f08ecd6955faf191177bb9833b7a594637a6c4cc))
14
+ * set override key in starknet injected connector ([#7420](https://github.com/dynamic-labs/dynamic-auth/issues/7420)) ([74b2887](https://github.com/dynamic-labs/dynamic-auth/commit/74b28874661b3bad1e0a0f92aa9d3c987dc71225))
15
+
16
+
17
+ * check wallet limitations from metadata ([#7413](https://github.com/dynamic-labs/dynamic-auth/issues/7413)) ([a419de6](https://github.com/dynamic-labs/dynamic-auth/commit/a419de643ea4ff240a27825c10670ba92589b71b))
18
+
19
+ ## [4.0.0-alpha.29](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.28...v4.0.0-alpha.29) (2024-11-07)
20
+
21
+ ## [4.0.0-alpha.28](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.27...v4.0.0-alpha.28) (2024-11-07)
22
+
23
+
24
+ ### ⚠ BREAKING CHANGES
25
+
26
+ * upgrade to starknet v6
27
+ See this guide for more details: https://starknetjs.com/docs/guides/migrate/
28
+ There are no code changes required on the Dynamic SDK side, however if you have installed the `starknet` package, you will need to upgrade to >= v6.11.0.
29
+
30
+ ### Features
31
+
32
+ * new transaction modal and ui for sign/signAll ([#7296](https://github.com/dynamic-labs/dynamic-auth/issues/7296)) ([05a8af1](https://github.com/dynamic-labs/dynamic-auth/commit/05a8af1eb772b2b8087ed96a54caf4b6ae8b79d2)), closes [#7297](https://github.com/dynamic-labs/dynamic-auth/issues/7297) [#7298](https://github.com/dynamic-labs/dynamic-auth/issues/7298)
33
+ * upgrade to starknet v6 ([#7189](https://github.com/dynamic-labs/dynamic-auth/issues/7189)) ([2a6e24e](https://github.com/dynamic-labs/dynamic-auth/commit/2a6e24e4178fcee671b381c28f6a681f4ce52c62))
34
+
35
+
36
+ ### Bug Fixes
37
+
38
+ * transaction confirmation modal popup ([#7368](https://github.com/dynamic-labs/dynamic-auth/issues/7368)) ([3c48658](https://github.com/dynamic-labs/dynamic-auth/commit/3c48658a62874d908bba8f06fb092ff5983ede16))
39
+
40
+ ## [4.0.0-alpha.27](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.26...v4.0.0-alpha.27) (2024-11-06)
41
+
42
+
43
+ ### Features
44
+
45
+ * allows adding connection configuration for solana connectors ([#7354](https://github.com/dynamic-labs/dynamic-auth/issues/7354)) ([01e35ee](https://github.com/dynamic-labs/dynamic-auth/commit/01e35ee5bfe4605df48e4188a753111efe483048))
46
+ * allows passing solana connection config to dynamic client ([#7357](https://github.com/dynamic-labs/dynamic-auth/issues/7357)) ([6da14ce](https://github.com/dynamic-labs/dynamic-auth/commit/6da14ceb481147aea31d192fe268be43a8af80e9))
47
+
48
+
49
+ ### Bug Fixes
50
+
51
+ * check legacy vs eip1599 tx in global connectivity ([#7341](https://github.com/dynamic-labs/dynamic-auth/issues/7341)) ([b223ea7](https://github.com/dynamic-labs/dynamic-auth/commit/b223ea7a5ed5637e11da1040c631c48bc23ba76d))
52
+ * global connectivity multiple transactions in a row ([#7342](https://github.com/dynamic-labs/dynamic-auth/issues/7342)) ([d13c1af](https://github.com/dynamic-labs/dynamic-auth/commit/d13c1afec6b3680961621d8317f55549b3ed428f))
53
+
54
+ ## [4.0.0-alpha.26](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.25...v4.0.0-alpha.26) (2024-11-04)
55
+
56
+ ## [4.0.0-alpha.25](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.24...v4.0.0-alpha.25) (2024-11-01)
57
+
58
+ ## [4.0.0-alpha.24](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.23...v4.0.0-alpha.24) (2024-10-31)
59
+
60
+
61
+ ### Bug Fixes
62
+
63
+ * prevent use-wallet-options from reading empty wallet-book ([#7319](https://github.com/dynamic-labs/dynamic-auth/issues/7319)) ([fc1269e](https://github.com/dynamic-labs/dynamic-auth/commit/fc1269ed2b59ee17fc528d24a4d34936eb20c02f))
64
+
65
+ ## [4.0.0-alpha.23](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.22...v4.0.0-alpha.23) (2024-10-31)
66
+
67
+
68
+ ### Features
69
+
70
+ * allow deletion of embedded wallets ([#7170](https://github.com/dynamic-labs/dynamic-auth/issues/7170)) ([40c5478](https://github.com/dynamic-labs/dynamic-auth/commit/40c54789594ba265a63b24f936da4e72b5b1c5b9))
71
+
72
+ ## [4.0.0-alpha.22](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.21...v4.0.0-alpha.22) (2024-10-30)
73
+
74
+
75
+ ### Features
76
+
77
+ * **QNTM-522:** add wallet details card ([#7239](https://github.com/dynamic-labs/dynamic-auth/issues/7239)) ([0181c87](https://github.com/dynamic-labs/dynamic-auth/commit/0181c8727af575620525b8ea47b196945c347846))
78
+
79
+
80
+ ### Bug Fixes
81
+
82
+ * update check for wallet provider event listeners support ([#7303](https://github.com/dynamic-labs/dynamic-auth/issues/7303)) ([c5f3766](https://github.com/dynamic-labs/dynamic-auth/commit/c5f376691c87a0999991e477f9acd07eed4774aa))
83
+
84
+ ## [4.0.0-alpha.21](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.20...v4.0.0-alpha.21) (2024-10-30)
85
+
86
+ ## [4.0.0-alpha.20](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.19...v4.0.0-alpha.20) (2024-10-30)
87
+
88
+ ## [4.0.0-alpha.19](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.18...v4.0.0-alpha.19) (2024-10-29)
89
+
90
+
91
+ ### Bug Fixes
92
+
93
+ * ensure the client js will emit a change event after the value update ([#7284](https://github.com/dynamic-labs/dynamic-auth/issues/7284)) ([930d2e9](https://github.com/dynamic-labs/dynamic-auth/commit/930d2e9fdc75fd4a38da8ef6efc9d3e29152285b))
94
+
95
+ ## [4.0.0-alpha.18](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.17...v4.0.0-alpha.18) (2024-10-29)
96
+
97
+
98
+ ### Bug Fixes
99
+
100
+ * **web-extension:** add color scheme style to prevent broken style ([#7247](https://github.com/dynamic-labs/dynamic-auth/issues/7247)) ([c525c50](https://github.com/dynamic-labs/dynamic-auth/commit/c525c50ac02997f3baf220fd2e67c6c4b3d10903))
101
+
102
+ ## [4.0.0-alpha.17](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.16...v4.0.0-alpha.17) (2024-10-28)
103
+
104
+
105
+ ### Features
106
+
107
+ * add support for eclipse ([#7255](https://github.com/dynamic-labs/dynamic-auth/issues/7255)) ([70e9830](https://github.com/dynamic-labs/dynamic-auth/commit/70e9830c6c801e0298825b914ee825b578350cf0))
108
+
109
+
110
+ ### Bug Fixes
111
+
112
+ * adds missing packages to zerodev-extension package ([#7187](https://github.com/dynamic-labs/dynamic-auth/issues/7187)) ([052a7e7](https://github.com/dynamic-labs/dynamic-auth/commit/052a7e7c08d458996d1be56f7697448ad5a9a1c9))
113
+ * unpin reactivity package for vue projects ([#7246](https://github.com/dynamic-labs/dynamic-auth/issues/7246)) ([18013e0](https://github.com/dynamic-labs/dynamic-auth/commit/18013e00d6855f8b371c9edb97594a08764c3868))
114
+
115
+ ## [4.0.0-alpha.16](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.15...v4.0.0-alpha.16) (2024-10-27)
116
+
117
+
118
+ ### Features
119
+
120
+ * add passkey to web-extension ([#7096](https://github.com/dynamic-labs/dynamic-auth/issues/7096)) ([a4b4643](https://github.com/dynamic-labs/dynamic-auth/commit/a4b4643e5307358425c878067bae095090f322ca))
121
+ * add social to web extension ([#7106](https://github.com/dynamic-labs/dynamic-auth/issues/7106)) ([422bc8e](https://github.com/dynamic-labs/dynamic-auth/commit/422bc8e2d276d960a7a76ad55a7b244c3fd83173))
122
+ * add support for compass and leap wallets ([9738749](https://github.com/dynamic-labs/dynamic-auth/commit/9738749bb5ed8e07a2582df255f683e4d408db93))
123
+ * add support for epicgames social ([#7220](https://github.com/dynamic-labs/dynamic-auth/issues/7220)) ([cb5bc30](https://github.com/dynamic-labs/dynamic-auth/commit/cb5bc30bc17d063bdaa9b427a9358b30124c4589))
124
+ * add web-extension to client ([#7180](https://github.com/dynamic-labs/dynamic-auth/issues/7180)) ([e2ccbb7](https://github.com/dynamic-labs/dynamic-auth/commit/e2ccbb77bdd0250d000a6cc4d89a2e5d7d2f4bb2))
125
+
126
+ ## [4.0.0-alpha.15](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.14...v4.0.0-alpha.15) (2024-10-19)
127
+
128
+ ## [4.0.0-alpha.14](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.13...v4.0.0-alpha.14) (2024-10-18)
129
+
130
+ ## [4.0.0-alpha.13](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.12...v4.0.0-alpha.13) (2024-10-18)
131
+
132
+
133
+ ### Bug Fixes
134
+
135
+ * improve displayed chain name in network switcher ([#7153](https://github.com/dynamic-labs/dynamic-auth/issues/7153)) ([55d2e5a](https://github.com/dynamic-labs/dynamic-auth/commit/55d2e5a9954bf0255b5caf7aba7a6f1f2e215967))
136
+
137
+ ## [4.0.0-alpha.12](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.11...v4.0.0-alpha.12) (2024-10-18)
138
+
139
+
140
+ ### Features
141
+
142
+ * add support for xverse account change event ([#7114](https://github.com/dynamic-labs/dynamic-auth/issues/7114)) ([79df047](https://github.com/dynamic-labs/dynamic-auth/commit/79df04775edb297a339e2d74adcc873584a6d8af))
143
+ * solana embedded signall headless ([#7132](https://github.com/dynamic-labs/dynamic-auth/issues/7132)) ([fe16b71](https://github.com/dynamic-labs/dynamic-auth/commit/fe16b71a4c0ad775f8de87ca899cfdd1071f11d6))
144
+
145
+
146
+ ### Bug Fixes
147
+
148
+ * bug where embeddedWalletCreated event was fired before listener … ([#7151](https://github.com/dynamic-labs/dynamic-auth/issues/7151)) ([ae9da56](https://github.com/dynamic-labs/dynamic-auth/commit/ae9da56850130491384a2d5f47c1617815dcce5b))
149
+ * edge case where wallet book fails to load ([#7148](https://github.com/dynamic-labs/dynamic-auth/issues/7148)) ([805dc6d](https://github.com/dynamic-labs/dynamic-auth/commit/805dc6d7cc4cdf0b23748d82b3bd8216d88d55b5))
150
+ * issues where native currency icons were incorrect ([#7126](https://github.com/dynamic-labs/dynamic-auth/issues/7126)) ([8b8891a](https://github.com/dynamic-labs/dynamic-auth/commit/8b8891a52397e17cc127ea3a09ade14c4b70a8ee))
151
+ * remove now-unused sessionTimeout from useSocial ([#7123](https://github.com/dynamic-labs/dynamic-auth/issues/7123)) ([7959a8a](https://github.com/dynamic-labs/dynamic-auth/commit/7959a8a4c8ceb76c5c4f1ae91af204bf9c5cae7b))
152
+ * Revert: Update Exodus extension version " ([#7130](https://github.com/dynamic-labs/dynamic-auth/issues/7130)) ([f2274ae](https://github.com/dynamic-labs/dynamic-auth/commit/f2274aefd29bb9f3fb6de8493e4a5f73946a5600)), closes [#7129](https://github.com/dynamic-labs/dynamic-auth/issues/7129)
153
+ * use embedded primaryChain when passing undefined chains list to createTurnkeyWallet ([#7149](https://github.com/dynamic-labs/dynamic-auth/issues/7149)) ([c73a3ae](https://github.com/dynamic-labs/dynamic-auth/commit/c73a3aeeda8045b936d218f7078ad79967c321ef))
154
+
155
+ ## [4.0.0-alpha.11](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.10...v4.0.0-alpha.11) (2024-10-15)
156
+
157
+
158
+ ### Bug Fixes
159
+
160
+ * missing null check in property accessor ([#7122](https://github.com/dynamic-labs/dynamic-auth/issues/7122)) ([bbb5e76](https://github.com/dynamic-labs/dynamic-auth/commit/bbb5e76c1284edad2829605444dda24971027a57))
161
+
162
+ ## [4.0.0-alpha.10](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.9...v4.0.0-alpha.10) (2024-10-15)
163
+
164
+
165
+ ### Bug Fixes
166
+
167
+ * epicgames key name without dash ([#7119](https://github.com/dynamic-labs/dynamic-auth/issues/7119)) ([7388d6c](https://github.com/dynamic-labs/dynamic-auth/commit/7388d6cf98f6ee92e12003549dfd1ad81951119e))
168
+
169
+ ## [4.0.0-alpha.9](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.8...v4.0.0-alpha.9) (2024-10-11)
170
+
171
+
172
+ ### Features
173
+
174
+ * add support for fordefi wallet ([#7109](https://github.com/dynamic-labs/dynamic-auth/issues/7109)) ([1adb6b1](https://github.com/dynamic-labs/dynamic-auth/commit/1adb6b15b7f8e9156207ac7addf4368d27c1e371))
175
+ * support ability to define additional oauth scopes ([#7105](https://github.com/dynamic-labs/dynamic-auth/issues/7105)) ([b303203](https://github.com/dynamic-labs/dynamic-auth/commit/b303203e8041c0cbf5f8968df0d3cde04ed1b22a))
176
+
177
+
178
+ ### Bug Fixes
179
+
180
+ * add eip6963 for exodus evm ([#7094](https://github.com/dynamic-labs/dynamic-auth/issues/7094)) ([c1ec5ef](https://github.com/dynamic-labs/dynamic-auth/commit/c1ec5ef4b6a531c563be4b690aa5f2bd4e7e6a16))
181
+
182
+ ## [4.0.0-alpha.8](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.7...v4.0.0-alpha.8) (2024-10-07)
183
+
184
+
185
+ ### Features
186
+
187
+ * add support for dynamic event callbacks in rn ([#6997](https://github.com/dynamic-labs/dynamic-auth/issues/6997)) ([f9ac402](https://github.com/dynamic-labs/dynamic-auth/commit/f9ac40259d9168dfe69dafd5fd44478ba0e69505))
188
+ * add support for dynamic handlers in rn ([#7032](https://github.com/dynamic-labs/dynamic-auth/issues/7032)) ([f61f926](https://github.com/dynamic-labs/dynamic-auth/commit/f61f92666b6df8483dde2c47304fd4fb02690f7d))
189
+ * Support for multi-chain AA ([#6829](https://github.com/dynamic-labs/dynamic-auth/issues/6829)) ([b4a0c0a](https://github.com/dynamic-labs/dynamic-auth/commit/b4a0c0a4de48231a3748826600407c25abf6894d))
190
+
191
+
192
+ ### Bug Fixes
193
+
194
+ * persist isHardwareWalletEnabled on wallet connector ([#7025](https://github.com/dynamic-labs/dynamic-auth/issues/7025)) ([#7034](https://github.com/dynamic-labs/dynamic-auth/issues/7034)) ([4bfc301](https://github.com/dynamic-labs/dynamic-auth/commit/4bfc301d891f10db8c0bd31e5164c489a882c5c3))
195
+
196
+ ## [4.0.0-alpha.7](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.6...v4.0.0-alpha.7) (2024-10-03)
197
+
198
+
199
+ ### Features
200
+
201
+ * add account abstraction module to client ([#7002](https://github.com/dynamic-labs/dynamic-auth/issues/7002)) ([2f06975](https://github.com/dynamic-labs/dynamic-auth/commit/2f06975083dfa9d40537ef4a99b414eda1a68e01))
202
+ * add support for wallet events in rn ([#7061](https://github.com/dynamic-labs/dynamic-auth/issues/7061)) ([c7c4ce5](https://github.com/dynamic-labs/dynamic-auth/commit/c7c4ce51f27a2b84a1710c120d7006a00920c1e7))
203
+ * add zerodev extension for react native ([#7028](https://github.com/dynamic-labs/dynamic-auth/issues/7028)) ([858b8a8](https://github.com/dynamic-labs/dynamic-auth/commit/858b8a851cfa0cddc8e4559541b03992cf5ccdfc))
204
+
205
+
206
+ ### Bug Fixes
207
+
208
+ * do not modify sol tx blockhash as tx could have been signed already ([#7050](https://github.com/dynamic-labs/dynamic-auth/issues/7050)) ([770edb4](https://github.com/dynamic-labs/dynamic-auth/commit/770edb49ddc231b75fb45a9f6d563f22e5185df2))
209
+ * ensure the correct auth mode is used on social redirect ([#7047](https://github.com/dynamic-labs/dynamic-auth/issues/7047)) ([7c27172](https://github.com/dynamic-labs/dynamic-auth/commit/7c271721d5ddf19e3fd1bf56ddb1d49e0e2bca07))
210
+ * prevent react native message timeout before sdk is ready ([#7051](https://github.com/dynamic-labs/dynamic-auth/issues/7051)) ([6421237](https://github.com/dynamic-labs/dynamic-auth/commit/6421237d677d788b824d53432c1a75b9d571aa78))
211
+ * update version error text ([#7054](https://github.com/dynamic-labs/dynamic-auth/issues/7054)) ([713dacb](https://github.com/dynamic-labs/dynamic-auth/commit/713dacb79c2513323c2e6840d7418716011c2dcd))
212
+ * use project settings sdk network for send flow ([#7011](https://github.com/dynamic-labs/dynamic-auth/issues/7011)) ([983e796](https://github.com/dynamic-labs/dynamic-auth/commit/983e79632762f71ee0502c92057a32ea985ae19c))
213
+
214
+ ## [4.0.0-alpha.6](https://github.com/dynamic-labs/dynamic-auth/compare/v4.0.0-alpha.5...v4.0.0-alpha.6) (2024-10-01)
215
+
216
+
217
+ ### ⚠ BREAKING CHANGES
218
+
219
+ * remove support to magic ([#7033](https://github.com/dynamic-labs/dynamic-auth/issues/7033)) ([0fdc41f](https://github.com/dynamic-labs/dynamic-auth/commit/0fdc41f05f87b32f56b73db068f984f18bdf69a0))
220
+
221
+ ### Features
222
+
223
+ * global connectivity disconnect ([#7008](https://github.com/dynamic-labs/dynamic-auth/issues/7008)) ([80d705b](https://github.com/dynamic-labs/dynamic-auth/commit/80d705ba252aa3b01cbf4861507fed00e460215f))
224
+
225
+
226
+ ### Bug Fixes
227
+
228
+ * add popper context to send balance ([#7016](https://github.com/dynamic-labs/dynamic-auth/issues/7016)) ([73aa6f1](https://github.com/dynamic-labs/dynamic-auth/commit/73aa6f122afe0db660ebb654f3e018ae7bf445c5))
229
+ * add retry to useConnectWithOtp ([#7012](https://github.com/dynamic-labs/dynamic-auth/issues/7012)) ([d551d72](https://github.com/dynamic-labs/dynamic-auth/commit/d551d72a463f8a03964858b30ec174d41985a7b1))
230
+ * don't re-fetch wallet address on network change ([#7019](https://github.com/dynamic-labs/dynamic-auth/issues/7019)) ([4e7900c](https://github.com/dynamic-labs/dynamic-auth/commit/4e7900cc24b3abda736bc81466eda7512cf7fc61))
231
+ * fix sign message with solana wallet standard provider ([#7014](https://github.com/dynamic-labs/dynamic-auth/issues/7014)) ([ffaf972](https://github.com/dynamic-labs/dynamic-auth/commit/ffaf972e8b190b0b8cd0103e0ef67bfdee6c8f7c))
232
+ * update wallet reference when user switches wallet in connect-only ([#7030](https://github.com/dynamic-labs/dynamic-auth/issues/7030)) ([75d9aa6](https://github.com/dynamic-labs/dynamic-auth/commit/75d9aa66f63fc5536caeff12d8b860c0ba86106f))
233
+
234
+
235
+ ## [4.0.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.4...v4.0.0-alpha.5) (2024-09-25)
236
+
237
+
238
+ ### Features
239
+
240
+ * add isInstalledOnBrowser prop to wallet options in useWalletOptions ([#6976](https://github.com/dynamic-labs/DynamicAuth/issues/6976)) ([0fda409](https://github.com/dynamic-labs/DynamicAuth/commit/0fda409b293c83d73869d791c3d38ac421dcdecb))
241
+
242
+
243
+ ### Bug Fixes
244
+
245
+ * **client:** return user profile when using sign in with external jwt ([#7004](https://github.com/dynamic-labs/DynamicAuth/issues/7004)) ([927cfb6](https://github.com/dynamic-labs/DynamicAuth/commit/927cfb69f3dd7f8b00e3f0f975277a84c99c830b))
246
+ * react-native-extension to include esm ([#6965](https://github.com/dynamic-labs/DynamicAuth/issues/6965)) ([336825b](https://github.com/dynamic-labs/DynamicAuth/commit/336825b50142002bbc67c6f8850bd63030bf384b))
247
+
248
+ ## [4.0.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.3...v4.0.0-alpha.4) (2024-09-23)
249
+
250
+
251
+ ### Bug Fixes
252
+
253
+ * issue where builtin stream module was a dependency ([#6968](https://github.com/dynamic-labs/DynamicAuth/issues/6968)) ([0661129](https://github.com/dynamic-labs/DynamicAuth/commit/0661129920ba70ebbcd4d17ee5aa988c51d1b477))
254
+ * update in memory secure storage ([#6955](https://github.com/dynamic-labs/DynamicAuth/issues/6955)) ([697fc20](https://github.com/dynamic-labs/DynamicAuth/commit/697fc20740b243fa31ecf06e8b2ed9d09932a544))
255
+
2
256
  ## [4.0.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v4.0.0-alpha.2...v4.0.0-alpha.3) (2024-09-20)
3
257
 
4
258
 
package/package.cjs ADDED
@@ -0,0 +1,8 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var version = "4.0.0-alpha.30";
7
+
8
+ exports.version = version;
package/package.js ADDED
@@ -0,0 +1,4 @@
1
+ 'use client'
2
+ var version = "4.0.0-alpha.30";
3
+
4
+ export { version };
package/package.json CHANGED
@@ -1,16 +1,7 @@
1
1
  {
2
2
  "name": "@dynamic-labs/utils",
3
- "version": "4.0.0-alpha.3",
4
- "repository": {
5
- "type": "git",
6
- "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
7
- "directory": "packages/utils"
8
- },
3
+ "version": "4.0.0-alpha.30",
9
4
  "description": "A React SDK for implementing wallet web3 authentication and authorization to your website.",
10
- "bugs": {
11
- "url": "https://github.com/dynamic-labs/DynamicAuth/issues"
12
- },
13
- "homepage": "https://github.com/dynamic-labs/DynamicAuth#readme",
14
5
  "author": "Dynamic Labs, Inc.",
15
6
  "license": "MIT",
16
7
  "main": "./src/index.cjs",
@@ -25,14 +16,15 @@
25
16
  },
26
17
  "./package.json": "./package.json"
27
18
  },
19
+ "homepage": "https://www.dynamic.xyz/",
28
20
  "dependencies": {
29
- "@dynamic-labs/sdk-api-core": "0.0.534",
21
+ "@dynamic-labs/sdk-api-core": "0.0.563",
30
22
  "tldts": "6.0.16",
31
- "@dynamic-labs/logger": "4.0.0-alpha.3",
32
- "@dynamic-labs/types": "4.0.0-alpha.3",
23
+ "@dynamic-labs/assert-package-version": "4.0.0-alpha.30",
24
+ "@dynamic-labs/logger": "4.0.0-alpha.30",
25
+ "@dynamic-labs/types": "4.0.0-alpha.30",
33
26
  "buffer": "6.0.3",
34
- "eventemitter3": "5.0.1",
35
- "stream": "0.0.2"
27
+ "eventemitter3": "5.0.1"
36
28
  },
37
29
  "peerDependencies": {}
38
30
  }
@@ -1,6 +1,4 @@
1
- /// <reference types="node" />
2
- /// <reference types="node" />
3
- import { EventEmitter } from 'stream';
1
+ import { type EventEmitter } from 'eventemitter3';
4
2
  export type IEthereum = {
5
3
  [key: string]: any;
6
4
  providers?: object[];
@@ -0,0 +1,41 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ /**
7
+ * The EventTimeline is a utility that allows you to track the timeline of events
8
+ * that occur in your application. It is useful to post events and query when
9
+ * some event was last fired.
10
+ */
11
+ const createEventTimeline = () => {
12
+ // Map to store event names and their corresponding timestamps
13
+ const eventTimelines = new Map();
14
+ return {
15
+ clear: () => {
16
+ eventTimelines.clear();
17
+ },
18
+ isEventRecent: (eventName, timeSince) => {
19
+ const now = Date.now();
20
+ let timestamps = eventTimelines.get(eventName);
21
+ if (!timestamps) {
22
+ return false;
23
+ }
24
+ const cutoff = now - timeSince;
25
+ // Remove timestamps older than the cutoff time
26
+ timestamps = timestamps.filter((timestamp) => timestamp >= cutoff);
27
+ // Check if there are any timestamps within the timeframe
28
+ return timestamps.length > 0;
29
+ },
30
+ postEvent: (event) => {
31
+ var _a;
32
+ const now = Date.now();
33
+ if (!eventTimelines.has(event)) {
34
+ eventTimelines.set(event, []);
35
+ }
36
+ (_a = eventTimelines.get(event)) === null || _a === void 0 ? void 0 : _a.push(now);
37
+ },
38
+ };
39
+ };
40
+
41
+ exports.createEventTimeline = createEventTimeline;
@@ -0,0 +1,18 @@
1
+ export type EventTimeline<T extends string> = {
2
+ clear: () => void;
3
+ postEvent: (event: T) => void;
4
+ /**
5
+ * Checks if a specific event was fired within the given timeframe relative to the current time.
6
+ *
7
+ * @param {string} eventName - The name of the event to check.
8
+ * @param {number} timeSince - The timeframe in milliseconds.
9
+ * @returns {boolean} - Returns `true` if the event was fired within the given timeframe, otherwise `false`.
10
+ */
11
+ isEventRecent: (eventName: T, timeSince: number) => boolean;
12
+ };
13
+ /**
14
+ * The EventTimeline is a utility that allows you to track the timeline of events
15
+ * that occur in your application. It is useful to post events and query when
16
+ * some event was last fired.
17
+ */
18
+ export declare const createEventTimeline: <T extends string>() => EventTimeline<T>;
@@ -0,0 +1,37 @@
1
+ 'use client'
2
+ /**
3
+ * The EventTimeline is a utility that allows you to track the timeline of events
4
+ * that occur in your application. It is useful to post events and query when
5
+ * some event was last fired.
6
+ */
7
+ const createEventTimeline = () => {
8
+ // Map to store event names and their corresponding timestamps
9
+ const eventTimelines = new Map();
10
+ return {
11
+ clear: () => {
12
+ eventTimelines.clear();
13
+ },
14
+ isEventRecent: (eventName, timeSince) => {
15
+ const now = Date.now();
16
+ let timestamps = eventTimelines.get(eventName);
17
+ if (!timestamps) {
18
+ return false;
19
+ }
20
+ const cutoff = now - timeSince;
21
+ // Remove timestamps older than the cutoff time
22
+ timestamps = timestamps.filter((timestamp) => timestamp >= cutoff);
23
+ // Check if there are any timestamps within the timeframe
24
+ return timestamps.length > 0;
25
+ },
26
+ postEvent: (event) => {
27
+ var _a;
28
+ const now = Date.now();
29
+ if (!eventTimelines.has(event)) {
30
+ eventTimelines.set(event, []);
31
+ }
32
+ (_a = eventTimelines.get(event)) === null || _a === void 0 ? void 0 : _a.push(now);
33
+ },
34
+ };
35
+ };
36
+
37
+ export { createEventTimeline };
@@ -0,0 +1 @@
1
+ export { createEventTimeline, type EventTimeline } from './eventTimeline';
package/src/index.cjs CHANGED
@@ -3,8 +3,10 @@
3
3
 
4
4
  Object.defineProperty(exports, '__esModule', { value: true });
5
5
 
6
+ var assertPackageVersion = require('@dynamic-labs/assert-package-version');
7
+ var _package = require('../package.cjs');
6
8
  var parseChainId = require('./parseChainId.cjs');
7
- var parseEvmNetworks = require('./parseEvmNetworks.cjs');
9
+ var parseNetworks = require('./parseNetworks.cjs');
8
10
  var AccountExistsError = require('./errors/AccountExistsError.cjs');
9
11
  var ChainalysisError = require('./errors/ChainalysisError.cjs');
10
12
  var SandboxMaximumThresholdReachedError = require('./errors/SandboxMaximumThresholdReachedError.cjs');
@@ -61,8 +63,8 @@ var formatNumberText = require('./formatNumberText/formatNumberText.cjs');
61
63
  var ceil = require('./ceil/ceil.cjs');
62
64
  var trimEnd = require('./trimEnd/trimEnd.cjs');
63
65
  var isLedgerAddressViaVerifiedCredentials = require('./isLedgerAddressViaVerifiedCredentials.cjs');
64
- var nativeMobileOauthStateParam = require('./nativeMobileOauthStateParam.cjs');
65
66
  var eip6963Provider = require('./eip6963/eip6963Provider.cjs');
67
+ var eventTimeline = require('./eventTimeline/eventTimeline.cjs');
66
68
  var runSafe = require('./runSafe/runSafe.cjs');
67
69
  var PlatformService = require('./services/PlatformService/PlatformService.cjs');
68
70
  var createBrowserPlatformService = require('./services/PlatformService/createBrowserPlatformService/createBrowserPlatformService.cjs');
@@ -75,13 +77,17 @@ var hexToString = require('./hexToString/hexToString.cjs');
75
77
  var isHex = require('./isHex/isHex.cjs');
76
78
  var StorageService = require('./services/StorageService/StorageService.cjs');
77
79
  var createStorageService = require('./services/StorageService/createStorageService/createStorageService.cjs');
80
+ var applyPostfixToStorageService = require('./services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.cjs');
78
81
  var cloneObjectWithOverrides = require('./cloneObjectWithOverrides/cloneObjectWithOverrides.cjs');
79
82
  var promiseWithTimeout = require('./promiseWithTimeout/promiseWithTimeout.cjs');
83
+ var isInIframe = require('./isInIframe/isInIframe.cjs');
84
+ var connectWithAppleId = require('./services/Oauth2Service/utils/connectWithAppleId/connectWithAppleId.cjs');
80
85
 
81
-
86
+ assertPackageVersion.assertPackageVersion('@dynamic-labs/utils', _package.version);
82
87
 
83
88
  exports.parseChainId = parseChainId.parseChainId;
84
- exports.parseEvmNetworks = parseEvmNetworks.parseEvmNetworks;
89
+ exports.parseCosmosNetworks = parseNetworks.parseCosmosNetworks;
90
+ exports.parseEvmNetworks = parseNetworks.parseEvmNetworks;
85
91
  exports.AccountExistsError = AccountExistsError.AccountExistsError;
86
92
  exports.ChainalysisError = ChainalysisError.ChainalysisError;
87
93
  exports.SandboxMaximumThresholdReachedError = SandboxMaximumThresholdReachedError.SandboxMaximumThresholdReachedError;
@@ -151,9 +157,9 @@ exports.formatNumberText = formatNumberText.formatNumberText;
151
157
  exports.ceil = ceil.ceil;
152
158
  exports.trimEnd = trimEnd.trimEnd;
153
159
  exports.isLedgerAddressViaVerifiedCredentials = isLedgerAddressViaVerifiedCredentials.isLedgerAddressViaVerifiedCredentials;
154
- exports.nativeMobileOauthStateParam = nativeMobileOauthStateParam.nativeMobileOauthStateParam;
155
160
  exports.Eip6963Provider = eip6963Provider.Eip6963Provider;
156
161
  exports.Eip6963ProviderSingleton = eip6963Provider.Eip6963ProviderSingleton;
162
+ exports.createEventTimeline = eventTimeline.createEventTimeline;
157
163
  exports.runSafe = runSafe.runSafe;
158
164
  exports.PlatformService = PlatformService.PlatformService;
159
165
  exports.createBrowserPlatformService = createBrowserPlatformService.createBrowserPlatformService;
@@ -166,5 +172,8 @@ exports.hexToString = hexToString.hexToString;
166
172
  exports.isHex = isHex.isHex;
167
173
  exports.StorageService = StorageService.StorageService;
168
174
  exports.createStorageService = createStorageService.createStorageService;
175
+ exports.applyPostfixToStorageService = applyPostfixToStorageService.applyPostfixToStorageService;
169
176
  exports.cloneObjectWithOverrides = cloneObjectWithOverrides.cloneObjectWithOverrides;
170
177
  exports.promiseWithTimeout = promiseWithTimeout.promiseWithTimeout;
178
+ exports.isInIframe = isInIframe.isInIframe;
179
+ exports.connectWithAppleId = connectWithAppleId.connectWithAppleId;
package/src/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  export * from './parseChainId';
2
- export * from './parseEvmNetworks';
2
+ export * from './parseNetworks';
3
3
  export * from './errors';
4
4
  export * from './CancellablePromise';
5
5
  export * from './isFunction';
@@ -20,8 +20,8 @@ export * from './formatNumberText';
20
20
  export * from './ceil';
21
21
  export * from './trimEnd';
22
22
  export * from './isLedgerAddressViaVerifiedCredentials';
23
- export * from './nativeMobileOauthStateParam';
24
23
  export * from './eip6963';
24
+ export * from './eventTimeline';
25
25
  export { runSafe } from './runSafe';
26
26
  export { PlatformService, createBrowserPlatformService, type IPlatformService, } from './services/PlatformService';
27
27
  export { FetchService } from './services/FetchService';
@@ -30,6 +30,8 @@ export { template } from './template';
30
30
  export { get } from './get';
31
31
  export { hexToString } from './hexToString';
32
32
  export { isHex } from './isHex';
33
- export { type IStorageService, type StorageOptions, StorageService, createStorageService, } from './services/StorageService';
33
+ export { type IStorageService, type StorageOptions, StorageService, createStorageService, applyPostfixToStorageService, } from './services/StorageService';
34
34
  export { cloneObjectWithOverrides } from './cloneObjectWithOverrides';
35
35
  export { promiseWithTimeout } from './promiseWithTimeout';
36
+ export { isInIframe } from './isInIframe';
37
+ export { connectWithAppleId } from './services/Oauth2Service/utils/connectWithAppleId';
package/src/index.js CHANGED
@@ -1,6 +1,8 @@
1
1
  'use client'
2
+ import { assertPackageVersion } from '@dynamic-labs/assert-package-version';
3
+ import { version } from '../package.js';
2
4
  export { parseChainId } from './parseChainId.js';
3
- export { parseEvmNetworks } from './parseEvmNetworks.js';
5
+ export { parseCosmosNetworks, parseEvmNetworks } from './parseNetworks.js';
4
6
  export { AccountExistsError } from './errors/AccountExistsError.js';
5
7
  export { ChainalysisError } from './errors/ChainalysisError.js';
6
8
  export { SandboxMaximumThresholdReachedError } from './errors/SandboxMaximumThresholdReachedError.js';
@@ -57,8 +59,8 @@ export { formatNumberText } from './formatNumberText/formatNumberText.js';
57
59
  export { ceil } from './ceil/ceil.js';
58
60
  export { trimEnd } from './trimEnd/trimEnd.js';
59
61
  export { isLedgerAddressViaVerifiedCredentials } from './isLedgerAddressViaVerifiedCredentials.js';
60
- export { nativeMobileOauthStateParam } from './nativeMobileOauthStateParam.js';
61
62
  export { Eip6963Provider, Eip6963ProviderSingleton } from './eip6963/eip6963Provider.js';
63
+ export { createEventTimeline } from './eventTimeline/eventTimeline.js';
62
64
  export { runSafe } from './runSafe/runSafe.js';
63
65
  export { PlatformService } from './services/PlatformService/PlatformService.js';
64
66
  export { createBrowserPlatformService } from './services/PlatformService/createBrowserPlatformService/createBrowserPlatformService.js';
@@ -71,5 +73,10 @@ export { hexToString } from './hexToString/hexToString.js';
71
73
  export { isHex } from './isHex/isHex.js';
72
74
  export { StorageService } from './services/StorageService/StorageService.js';
73
75
  export { createStorageService } from './services/StorageService/createStorageService/createStorageService.js';
76
+ export { applyPostfixToStorageService } from './services/StorageService/applyPostfixToStorageService/applyPostfixToStorageService.js';
74
77
  export { cloneObjectWithOverrides } from './cloneObjectWithOverrides/cloneObjectWithOverrides.js';
75
78
  export { promiseWithTimeout } from './promiseWithTimeout/promiseWithTimeout.js';
79
+ export { isInIframe } from './isInIframe/isInIframe.js';
80
+ export { connectWithAppleId } from './services/Oauth2Service/utils/connectWithAppleId/connectWithAppleId.js';
81
+
82
+ assertPackageVersion('@dynamic-labs/utils', version);
@@ -0,0 +1 @@
1
+ export { isInIframe } from './isInIframe';
@@ -0,0 +1,8 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const isInIframe = () => window.self !== window.top;
7
+
8
+ exports.isInIframe = isInIframe;
@@ -0,0 +1 @@
1
+ export declare const isInIframe: () => boolean;
@@ -0,0 +1,4 @@
1
+ 'use client'
2
+ const isInIframe = () => window.self !== window.top;
3
+
4
+ export { isInIframe };
@@ -13,5 +13,7 @@ const parseEvmNetworks = (networks) => {
13
13
  return network;
14
14
  });
15
15
  };
16
+ const parseCosmosNetworks = (networks) => parseEvmNetworks(networks);
16
17
 
18
+ exports.parseCosmosNetworks = parseCosmosNetworks;
17
19
  exports.parseEvmNetworks = parseEvmNetworks;
@@ -0,0 +1,3 @@
1
+ import { CosmosNetwork, EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
2
+ export declare const parseEvmNetworks: (networks: GenericNetwork[]) => EvmNetwork[];
3
+ export declare const parseCosmosNetworks: (networks: GenericNetwork[]) => CosmosNetwork[];
@@ -9,5 +9,6 @@ const parseEvmNetworks = (networks) => {
9
9
  return network;
10
10
  });
11
11
  };
12
+ const parseCosmosNetworks = (networks) => parseEvmNetworks(networks);
12
13
 
13
- export { parseEvmNetworks };
14
+ export { parseCosmosNetworks, parseEvmNetworks };
@@ -15,7 +15,6 @@ export type GetOauthCodeProps = {
15
15
  * The preferred strategy to use for the OAuth2 flow.
16
16
  */
17
17
  strategy: 'popup' | 'redirect';
18
- sessionTimeout: number;
19
18
  /**
20
19
  * Overrides the default redirectUrl coming from the DynamicContextProvider
21
20
  */
@@ -46,6 +46,14 @@ const createWindowOauth2Service = () => ({
46
46
  clearInterval(authWindowInterval);
47
47
  const providersWaitingOauthMessage = {};
48
48
  const authWindow = window.open('', '_blank', 'width=500,height=600');
49
+ if (authWindow === null || typeof authWindow === 'undefined') {
50
+ // Pop-ups are blocked
51
+ typedReject({
52
+ code: types.SocialOAuthErrorCode.OAUTH_WINDOW_BLOCKED,
53
+ message: 'Please allow popups and try again.',
54
+ });
55
+ return;
56
+ }
49
57
  const clearListeners = () => {
50
58
  window.removeEventListener('message', handleWindowMessage);
51
59
  providersWaitingOauthMessage[provider] = false;
@@ -42,6 +42,14 @@ const createWindowOauth2Service = () => ({
42
42
  clearInterval(authWindowInterval);
43
43
  const providersWaitingOauthMessage = {};
44
44
  const authWindow = window.open('', '_blank', 'width=500,height=600');
45
+ if (authWindow === null || typeof authWindow === 'undefined') {
46
+ // Pop-ups are blocked
47
+ typedReject({
48
+ code: SocialOAuthErrorCode.OAUTH_WINDOW_BLOCKED,
49
+ message: 'Please allow popups and try again.',
50
+ });
51
+ return;
52
+ }
45
53
  const clearListeners = () => {
46
54
  window.removeEventListener('message', handleWindowMessage);
47
55
  providersWaitingOauthMessage[provider] = false;
@@ -20,7 +20,7 @@ export declare class StorageService {
20
20
  static registerSourceStorage(source: StorageSource, implementation: IStorageService): void;
21
21
  static getSourceStorage(source: StorageSource): IStorageService | undefined;
22
22
  static resolveStorage(options?: StorageOptions): IStorageService;
23
- static getItem<T = string>(key: string, options?: StorageOptions): T | undefined;
23
+ static getItem<T = string>(key: string, options?: StorageOptions): T | null;
24
24
  static setItem<T>(key: string, value: T, options?: StorageOptions): void;
25
25
  static removeItem(key: string, options?: StorageOptions): void;
26
26
  static getKeys(options?: StorageOptions): string[];
@@ -0,0 +1,11 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const applyPostfixToStorageService = ({ storage, postfix, }) => {
7
+ const getKeyWithPostfix = (key) => postfix ? `${key}_${postfix}` : key;
8
+ return Object.assign(Object.assign({}, storage), { getItem: (key) => storage.getItem(getKeyWithPostfix(key)), removeItem: (key) => storage.removeItem(getKeyWithPostfix(key)), setItem: (key, data) => storage.setItem(getKeyWithPostfix(key), data) });
9
+ };
10
+
11
+ exports.applyPostfixToStorageService = applyPostfixToStorageService;
@@ -0,0 +1,7 @@
1
+ import { IStorageService } from '../types';
2
+ type ApplyPostfixToStorageServiceProps<T extends IStorageService> = {
3
+ storage: T;
4
+ postfix: string | undefined;
5
+ };
6
+ export declare const applyPostfixToStorageService: <T extends IStorageService>({ storage, postfix, }: ApplyPostfixToStorageServiceProps<T>) => T;
7
+ export {};
@@ -0,0 +1,7 @@
1
+ 'use client'
2
+ const applyPostfixToStorageService = ({ storage, postfix, }) => {
3
+ const getKeyWithPostfix = (key) => postfix ? `${key}_${postfix}` : key;
4
+ return Object.assign(Object.assign({}, storage), { getItem: (key) => storage.getItem(getKeyWithPostfix(key)), removeItem: (key) => storage.removeItem(getKeyWithPostfix(key)), setItem: (key, data) => storage.setItem(getKeyWithPostfix(key), data) });
5
+ };
6
+
7
+ export { applyPostfixToStorageService };
@@ -0,0 +1 @@
1
+ export { applyPostfixToStorageService } from './applyPostfixToStorageService';
@@ -6,13 +6,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
6
6
  var logger = require('../../../logger/logger.cjs');
7
7
  var StorageService = require('../StorageService.cjs');
8
8
 
9
- const createStorageService = ({ postfix, storage, }) => {
10
- const getKey = (key) => (postfix ? `${key}_${postfix}` : key);
9
+ const createStorageService = ({ storage, }) => {
11
10
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
12
11
  const packValue = (value) => JSON.stringify(value);
13
12
  const unpackValue = (value) => JSON.parse(value);
14
13
  const getItem = (key) => {
15
- const value = storage.getItem(getKey(key));
14
+ const value = storage.getItem(key);
16
15
  if (!value) {
17
16
  return undefined;
18
17
  }
@@ -29,10 +28,10 @@ const createStorageService = ({ postfix, storage, }) => {
29
28
  return undefined;
30
29
  };
31
30
  const setItem = (key, value) => {
32
- storage.setItem(getKey(key), packValue(value));
31
+ storage.setItem(key, packValue(value));
33
32
  };
34
33
  const removeItem = (key) => {
35
- storage.removeItem(getKey(key));
34
+ storage.removeItem(key);
36
35
  };
37
36
  const getKeys = () => Object.keys(storage);
38
37
  return {
@@ -1,7 +1,6 @@
1
1
  import { IStorageService } from '../types';
2
2
  type CreateStorageServiceProps = {
3
- postfix?: string;
4
3
  storage: Storage;
5
4
  };
6
- export declare const createStorageService: ({ postfix, storage, }: CreateStorageServiceProps) => IStorageService;
5
+ export declare const createStorageService: ({ storage, }: CreateStorageServiceProps) => IStorageService;
7
6
  export {};
@@ -2,13 +2,12 @@
2
2
  import { logger } from '../../../logger/logger.js';
3
3
  import { StorageService } from '../StorageService.js';
4
4
 
5
- const createStorageService = ({ postfix, storage, }) => {
6
- const getKey = (key) => (postfix ? `${key}_${postfix}` : key);
5
+ const createStorageService = ({ storage, }) => {
7
6
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
8
7
  const packValue = (value) => JSON.stringify(value);
9
8
  const unpackValue = (value) => JSON.parse(value);
10
9
  const getItem = (key) => {
11
- const value = storage.getItem(getKey(key));
10
+ const value = storage.getItem(key);
12
11
  if (!value) {
13
12
  return undefined;
14
13
  }
@@ -25,10 +24,10 @@ const createStorageService = ({ postfix, storage, }) => {
25
24
  return undefined;
26
25
  };
27
26
  const setItem = (key, value) => {
28
- storage.setItem(getKey(key), packValue(value));
27
+ storage.setItem(key, packValue(value));
29
28
  };
30
29
  const removeItem = (key) => {
31
- storage.removeItem(getKey(key));
30
+ storage.removeItem(key);
32
31
  };
33
32
  const getKeys = () => Object.keys(storage);
34
33
  return {
@@ -1,3 +1,4 @@
1
1
  export { StorageService, type StorageOptions } from './StorageService';
2
2
  export { createStorageService } from './createStorageService';
3
3
  export type { IStorageService } from './types';
4
+ export { applyPostfixToStorageService } from './applyPostfixToStorageService';
@@ -1,5 +1,5 @@
1
1
  export type IStorageService = {
2
- getItem: <T = string>(key: string) => T | undefined;
2
+ getItem: <T = string>(key: string) => T | null;
3
3
  setItem: <T>(key: string, value: T) => void;
4
4
  removeItem: (key: string) => void;
5
5
  getKeys: () => string[];
@@ -1,13 +0,0 @@
1
- 'use client'
2
- 'use strict';
3
-
4
- Object.defineProperty(exports, '__esModule', { value: true });
5
-
6
- /**
7
- * Represents the value that separates the random string from the
8
- * mobile deeplink URL in the state param from the oauth messages
9
- * emitted from native mobile apps.
10
- */
11
- const nativeMobileOauthStateParam = '_client-redirect:';
12
-
13
- exports.nativeMobileOauthStateParam = nativeMobileOauthStateParam;
@@ -1,14 +0,0 @@
1
- /**
2
- * Represents the value that separates the random string from the
3
- * mobile deeplink URL in the state param from the oauth messages
4
- * emitted from native mobile apps.
5
- */
6
- export declare const nativeMobileOauthStateParam = "_client-redirect:";
7
- /**
8
- * Represents the format of the state variable exchanged in oauth2 messages
9
- * by native mobile devices.
10
- *
11
- * It has a random state string followed byt the client redirect URL as configured
12
- * in the Client.
13
- */
14
- export type NativeMobileOauthState = `${string}${typeof nativeMobileOauthStateParam}${string}`;
@@ -1,9 +0,0 @@
1
- 'use client'
2
- /**
3
- * Represents the value that separates the random string from the
4
- * mobile deeplink URL in the state param from the oauth messages
5
- * emitted from native mobile apps.
6
- */
7
- const nativeMobileOauthStateParam = '_client-redirect:';
8
-
9
- export { nativeMobileOauthStateParam };
@@ -1,2 +0,0 @@
1
- import { EvmNetwork, GenericNetwork } from '@dynamic-labs/types';
2
- export declare const parseEvmNetworks: (networks: GenericNetwork[]) => EvmNetwork[];