@dynamic-labs/utils 3.0.0-alpha.2 → 3.0.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.
Files changed (53) hide show
  1. package/CHANGELOG.md +231 -0
  2. package/_virtual/_tslib.cjs +15 -0
  3. package/_virtual/_tslib.js +14 -1
  4. package/package.json +7 -8
  5. package/src/eip6963/eip6963Provider.cjs +40 -0
  6. package/src/eip6963/eip6963Provider.d.ts +34 -0
  7. package/src/eip6963/eip6963Provider.js +35 -0
  8. package/src/eip6963/index.d.ts +1 -0
  9. package/src/errors/ExternalAuthError.cjs +14 -0
  10. package/src/errors/ExternalAuthError.d.ts +4 -0
  11. package/src/errors/ExternalAuthError.js +10 -0
  12. package/src/errors/WalletAddressMismatchError.cjs +17 -0
  13. package/src/errors/WalletAddressMismatchError.d.ts +11 -0
  14. package/src/errors/WalletAddressMismatchError.js +13 -0
  15. package/src/errors/index.d.ts +2 -0
  16. package/src/handleMobileWalletRedirect/handleMobileWalletRedirect.cjs +5 -1
  17. package/src/handleMobileWalletRedirect/handleMobileWalletRedirect.js +5 -1
  18. package/src/hexToString/hexToString.cjs +32 -0
  19. package/src/hexToString/hexToString.d.ts +12 -0
  20. package/src/hexToString/hexToString.js +28 -0
  21. package/src/hexToString/index.d.ts +1 -0
  22. package/src/index.cjs +17 -4
  23. package/src/index.d.ts +5 -1
  24. package/src/index.js +8 -1
  25. package/src/isHex/index.d.ts +1 -0
  26. package/src/isHex/isHex.cjs +20 -0
  27. package/src/isHex/isHex.d.ts +6 -0
  28. package/src/isHex/isHex.js +16 -0
  29. package/src/nativeMobileOauthStateParam.cjs +13 -0
  30. package/src/nativeMobileOauthStateParam.d.ts +14 -0
  31. package/src/nativeMobileOauthStateParam.js +9 -0
  32. package/src/retryableFn.cjs +5 -1
  33. package/src/retryableFn.js +5 -1
  34. package/src/services/FetchService/FetchService.cjs +10 -5
  35. package/src/services/FetchService/FetchService.d.ts +2 -2
  36. package/src/services/FetchService/FetchService.js +10 -5
  37. package/src/services/Oauth2Service/Oauth2Service.cjs +38 -0
  38. package/src/services/Oauth2Service/Oauth2Service.d.ts +30 -0
  39. package/src/services/Oauth2Service/Oauth2Service.js +34 -0
  40. package/src/services/Oauth2Service/createWindowOauth2Service/createWindowOauth2Service.cjs +170 -0
  41. package/src/services/Oauth2Service/createWindowOauth2Service/createWindowOauth2Service.d.ts +2 -0
  42. package/src/services/Oauth2Service/createWindowOauth2Service/createWindowOauth2Service.js +166 -0
  43. package/src/services/Oauth2Service/createWindowOauth2Service/index.d.ts +1 -0
  44. package/src/services/Oauth2Service/index.d.ts +2 -0
  45. package/src/services/PlatformService/PlatformService.cjs +13 -12
  46. package/src/services/PlatformService/PlatformService.d.ts +2 -3
  47. package/src/services/PlatformService/PlatformService.js +13 -12
  48. package/src/services/PlatformService/createBrowserPlatformService/createBrowserPlatformService.cjs +0 -3
  49. package/src/services/PlatformService/createBrowserPlatformService/createBrowserPlatformService.js +0 -3
  50. package/src/services/PlatformService/types.d.ts +0 -4
  51. package/src/getOrMapViemChain.cjs +0 -77
  52. package/src/getOrMapViemChain.d.ts +0 -11
  53. package/src/getOrMapViemChain.js +0 -51
package/CHANGELOG.md CHANGED
@@ -1,4 +1,235 @@
1
1
 
2
+ ## [3.0.0-alpha.20](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.19...v3.0.0-alpha.20) (2024-07-15)
3
+
4
+
5
+ ### Bug Fixes
6
+
7
+ * show/hide confirmation ui for aa session key wallets ([#6334](https://github.com/dynamic-labs/DynamicAuth/issues/6334)) ([6e17162](https://github.com/dynamic-labs/DynamicAuth/commit/6e17162e31915620b622f3ec5b4f8b7087f1728c))
8
+
9
+ ## [3.0.0-alpha.19](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.18...v3.0.0-alpha.19) (2024-07-13)
10
+
11
+ ## [3.0.0-alpha.18](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.17...v3.0.0-alpha.18) (2024-07-12)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * hide confirmation ui triggers passkey creation ([#6322](https://github.com/dynamic-labs/DynamicAuth/issues/6322)) ([c66f282](https://github.com/dynamic-labs/DynamicAuth/commit/c66f282cf8d64f19d7f5a7355aaaec980afbe245))
17
+
18
+ ## [3.0.0-alpha.17](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.16...v3.0.0-alpha.17) (2024-07-11)
19
+
20
+
21
+ ### Features
22
+
23
+ * add new hook to select wallet option to connect ([#6301](https://github.com/dynamic-labs/DynamicAuth/issues/6301)) ([833d71d](https://github.com/dynamic-labs/DynamicAuth/commit/833d71de164c57bfa22898c3425641a83a12e135))
24
+
25
+
26
+ ### Bug Fixes
27
+
28
+ * refresh session keys correctly for solana embedded wallets ([#6309](https://github.com/dynamic-labs/DynamicAuth/issues/6309)) ([4b28e8a](https://github.com/dynamic-labs/DynamicAuth/commit/4b28e8ae231567754b6cfd07a7d41e86f1c73daa))
29
+
30
+ ## [3.0.0-alpha.16](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.15...v3.0.0-alpha.16) (2024-07-11)
31
+
32
+
33
+ ### ⚠ BREAKING CHANGES
34
+
35
+ * remove isConnected prop from wallets and have it as a method instead (#6265)
36
+
37
+ ### Features
38
+
39
+ * add bundlerRpc and paymasterRpc parameters to zerodev ([#6304](https://github.com/dynamic-labs/DynamicAuth/issues/6304)) ([156469b](https://github.com/dynamic-labs/DynamicAuth/commit/156469bf703f0c7fa455a24b8e4e328d3a0c58fc))
40
+
41
+
42
+ ### Bug Fixes
43
+
44
+ * headless embedded wallet export session refresh ([#6307](https://github.com/dynamic-labs/DynamicAuth/issues/6307)) ([5423cc1](https://github.com/dynamic-labs/DynamicAuth/commit/5423cc14c370968acf718b7deff6ea8df9228189))
45
+
46
+
47
+ * remove isConnected prop from wallets and have it as a method instead ([#6265](https://github.com/dynamic-labs/DynamicAuth/issues/6265)) ([652dcc2](https://github.com/dynamic-labs/DynamicAuth/commit/652dcc2d34c9a9719238606c67f600e40621183b))
48
+
49
+ ## [3.0.0-alpha.15](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.14...v3.0.0-alpha.15) (2024-07-11)
50
+
51
+
52
+ ### Bug Fixes
53
+
54
+ * catch third party wallet construction errors ([#6268](https://github.com/dynamic-labs/DynamicAuth/issues/6268)) ([badef39](https://github.com/dynamic-labs/DynamicAuth/commit/badef39d753c7d29925c6c8680053027bd99b69b))
55
+ * decode all solana transactions ([#6294](https://github.com/dynamic-labs/DynamicAuth/issues/6294)) ([5220ab2](https://github.com/dynamic-labs/DynamicAuth/commit/5220ab29381f3a7f1afc7043332b5a018b47eb0a))
56
+ * passkey cta ([#6255](https://github.com/dynamic-labs/DynamicAuth/issues/6255)) ([1b1b152](https://github.com/dynamic-labs/DynamicAuth/commit/1b1b152a24b409c5d941a9c92a003daf0bbe48a1))
57
+
58
+ ## [3.0.0-alpha.14](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.13...v3.0.0-alpha.14) (2024-07-09)
59
+
60
+
61
+ ### ⚠ BREAKING CHANGES
62
+
63
+ * remove setPrimaryWallet in favor of useSwitchWallet (#6212)
64
+ * move getBalance method to wallet so it can be fetched for any wallet not just the active one (#6200)
65
+ * make Wallet a class instead of just a type (#6094)
66
+
67
+ ### Features
68
+
69
+ * add @dynamic-labs/solana-extension ([#6140](https://github.com/dynamic-labs/DynamicAuth/issues/6140)) ([c0e2a06](https://github.com/dynamic-labs/DynamicAuth/commit/c0e2a067dd83163094b58a15696df8654da47c65))
70
+ * add solana support for multi-asset ([#6222](https://github.com/dynamic-labs/DynamicAuth/issues/6222)) ([9660d79](https://github.com/dynamic-labs/DynamicAuth/commit/9660d7962f1fb01011d68397bb367fdfc5335ca9))
71
+
72
+
73
+ ### Bug Fixes
74
+
75
+ * allow closing re-connect wallet modal ([#6250](https://github.com/dynamic-labs/DynamicAuth/issues/6250)) ([55ba25b](https://github.com/dynamic-labs/DynamicAuth/commit/55ba25bd3e907629aaa26e788885bfa38f8fe350))
76
+ * move getBalance method to wallet so it can be fetched for any wallet not just the active one ([#6200](https://github.com/dynamic-labs/DynamicAuth/issues/6200)) ([ee94773](https://github.com/dynamic-labs/DynamicAuth/commit/ee94773df9b31462a325666760fcf1fc70dec68a))
77
+ * move getNameService method to wallet so name service data can be fetched for any wallet ([#6205](https://github.com/dynamic-labs/DynamicAuth/issues/6205)) ([6671ae9](https://github.com/dynamic-labs/DynamicAuth/commit/6671ae92532ffc1889e24519e75f47d336ac0da6))
78
+ * relax phone number length validation ([#6226](https://github.com/dynamic-labs/DynamicAuth/issues/6226)) ([f0969b4](https://github.com/dynamic-labs/DynamicAuth/commit/f0969b4fbdafde07125cddecb16b4bfd011ea65e))
79
+ * sdkHasLoaded flipping back to false with otp ([#6242](https://github.com/dynamic-labs/DynamicAuth/issues/6242)) ([32ad9dd](https://github.com/dynamic-labs/DynamicAuth/commit/32ad9dd2dae7775f494506773fb343fe1a249c65))
80
+ * send transaction demo undefined address/value ([#6248](https://github.com/dynamic-labs/DynamicAuth/issues/6248)) ([036a511](https://github.com/dynamic-labs/DynamicAuth/commit/036a511fb848ef461edd9b7a5d79d478b0f1cf23))
81
+ * set last active account on accountChange request ([#6218](https://github.com/dynamic-labs/DynamicAuth/issues/6218)) ([05797d2](https://github.com/dynamic-labs/DynamicAuth/commit/05797d292aab8b4de02555594d4d1bbd4c9543eb))
82
+ * show ledger toggle when linking wallet ([#6202](https://github.com/dynamic-labs/DynamicAuth/issues/6202)) ([a449c0b](https://github.com/dynamic-labs/DynamicAuth/commit/a449c0bfc4e3a75ccd7084b930c48fbd6c14f691))
83
+ * show user wallet in profile view on single wallet mode even if it's not primary ([#6187](https://github.com/dynamic-labs/DynamicAuth/issues/6187)) ([ffaaeb2](https://github.com/dynamic-labs/DynamicAuth/commit/ffaaeb2c6cbb2868a381d85451ae5574024156bb))
84
+ * stop auto-switching to connected secondary wallet if primary wallet is not connected ([#6196](https://github.com/dynamic-labs/DynamicAuth/issues/6196)) ([4e8bcd2](https://github.com/dynamic-labs/DynamicAuth/commit/4e8bcd2d02d3fca54a0ed29c45b386ae99266b84))
85
+ * stop coinbase and solflare popups when secondary ([#6225](https://github.com/dynamic-labs/DynamicAuth/issues/6225)) ([7e9c104](https://github.com/dynamic-labs/DynamicAuth/commit/7e9c1049a09c9fd513c9a2a746d6baac916f1bf4))
86
+ * stop sending double sign request on network switch ([e325709](https://github.com/dynamic-labs/DynamicAuth/commit/e325709bb5d2d1331fe16cc705398fc7b1cc292a))
87
+ * tunrkey solana signer accept uint8array message ([#6137](https://github.com/dynamic-labs/DynamicAuth/issues/6137)) ([70f89ce](https://github.com/dynamic-labs/DynamicAuth/commit/70f89ce0dafa4c99b318c9c5adce59083cd6d284))
88
+ * update formatting of phantom bitcoin publickey ([#6210](https://github.com/dynamic-labs/DynamicAuth/issues/6210)) ([f58cea9](https://github.com/dynamic-labs/DynamicAuth/commit/f58cea99333fd7c6af8f56f637ee32f1f7ce8d76))
89
+ * use white color in farcaster qr code when in dark mode ([#6245](https://github.com/dynamic-labs/DynamicAuth/issues/6245)) ([a91958d](https://github.com/dynamic-labs/DynamicAuth/commit/a91958d8773be138da8f54791c4c67866257bbad))
90
+
91
+
92
+ * make Wallet a class instead of just a type ([#6094](https://github.com/dynamic-labs/DynamicAuth/issues/6094)) ([6dc4672](https://github.com/dynamic-labs/DynamicAuth/commit/6dc4672951cfadc22a6c569e74eae3485bd472f3))
93
+ * remove setPrimaryWallet in favor of useSwitchWallet ([#6212](https://github.com/dynamic-labs/DynamicAuth/issues/6212)) ([de125e1](https://github.com/dynamic-labs/DynamicAuth/commit/de125e1ebbc20507e4ec07f337f5f5fd13aabcbe))
94
+
95
+ ## [3.0.0-alpha.13](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.12...v3.0.0-alpha.13) (2024-06-27)
96
+
97
+
98
+ ### Bug Fixes
99
+
100
+ * coinbase smart wallet better handling in iframes ([#6184](https://github.com/dynamic-labs/DynamicAuth/issues/6184)) ([2c4befe](https://github.com/dynamic-labs/DynamicAuth/commit/2c4befedd09e6a432139cb3d08ea61004c3896d5))
101
+ * show connected network name when icon url is missing ([#6191](https://github.com/dynamic-labs/DynamicAuth/issues/6191)) ([dafd9e3](https://github.com/dynamic-labs/DynamicAuth/commit/dafd9e323f47ca3d61556e9a8c84ba3bfd27af8f))
102
+ * use correct account when creating wallet client ([#6179](https://github.com/dynamic-labs/DynamicAuth/issues/6179)) ([4e45a15](https://github.com/dynamic-labs/DynamicAuth/commit/4e45a15b2d7221ec80df919aa93468a75a94bed3))
103
+
104
+ ## [3.0.0-alpha.12](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.11...v3.0.0-alpha.12) (2024-06-27)
105
+
106
+
107
+ ### ⚠ BREAKING CHANGES
108
+
109
+ * return Transaction type from signTransaction and update solana … (#6180)
110
+
111
+ ### Bug Fixes
112
+
113
+ * return Transaction type from signTransaction and update solana … ([#6180](https://github.com/dynamic-labs/DynamicAuth/issues/6180)) ([07798b2](https://github.com/dynamic-labs/DynamicAuth/commit/07798b241a13f35a62e4ca0172a57a8d0cd98cf9))
114
+
115
+ ## [3.0.0-alpha.11](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.10...v3.0.0-alpha.11) (2024-06-26)
116
+
117
+
118
+ ### Bug Fixes
119
+
120
+ * prevent unwanted magiceden solana popups ([#6158](https://github.com/dynamic-labs/DynamicAuth/issues/6158)) ([b3c8208](https://github.com/dynamic-labs/DynamicAuth/commit/b3c820887eb5ec2badcfce3b19ec4dd874e90811))
121
+ * status icon for embedded wallets ([#6149](https://github.com/dynamic-labs/DynamicAuth/issues/6149)) ([135fd72](https://github.com/dynamic-labs/DynamicAuth/commit/135fd7274f4a6b2dcab98248f7bfe34a09e79f01))
122
+
123
+ ## [3.0.0-alpha.10](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.9...v3.0.0-alpha.10) (2024-06-24)
124
+
125
+
126
+ ### Bug Fixes
127
+
128
+ * clear expiresAt from local storage on logout ([#6110](https://github.com/dynamic-labs/DynamicAuth/issues/6110)) ([cbda893](https://github.com/dynamic-labs/DynamicAuth/commit/cbda893441154b6880a5419ce62a353b80f05e55))
129
+ * show SOL amount for complex transactions and better error display ([#6068](https://github.com/dynamic-labs/DynamicAuth/issues/6068)) ([454a3a0](https://github.com/dynamic-labs/DynamicAuth/commit/454a3a0a50805b3d63f44c2ef8c1dc766617eb2b))
130
+
131
+ ## [3.0.0-alpha.9](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.8...v3.0.0-alpha.9) (2024-06-21)
132
+
133
+ ## [3.0.0-alpha.8](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.7...v3.0.0-alpha.8) (2024-06-21)
134
+
135
+
136
+ ### ⚠ BREAKING CHANGES
137
+
138
+ * break out turnkey package into 3 separate packages (#6015)
139
+
140
+ ### Features
141
+
142
+ * add reinitialize hook ([#6098](https://github.com/dynamic-labs/DynamicAuth/issues/6098)) ([d978baa](https://github.com/dynamic-labs/DynamicAuth/commit/d978baa404d34064c36cc549229b1fcea1f20df0))
143
+
144
+
145
+ ### Bug Fixes
146
+
147
+ * always reconnect the wallet provider when calling getAddress ([#6097](https://github.com/dynamic-labs/DynamicAuth/issues/6097)) ([0f3d497](https://github.com/dynamic-labs/DynamicAuth/commit/0f3d497cedb38239fa9ada2bb25c6b4eaa72d7b1))
148
+ * break out turnkey package into 3 separate packages ([#6015](https://github.com/dynamic-labs/DynamicAuth/issues/6015)) ([a86fbef](https://github.com/dynamic-labs/DynamicAuth/commit/a86fbefe97558363b085e6f752af32d2943f91fa)), closes [#6017](https://github.com/dynamic-labs/DynamicAuth/issues/6017) [#6059](https://github.com/dynamic-labs/DynamicAuth/issues/6059)
149
+ * set latest blockhash on solana transactions if tx confirmation ui is disabled ([#6102](https://github.com/dynamic-labs/DynamicAuth/issues/6102)) ([b8035a3](https://github.com/dynamic-labs/DynamicAuth/commit/b8035a328e47409bf0416d3a01b2f17914488748))
150
+ * silently query unisat accounts ([#6101](https://github.com/dynamic-labs/DynamicAuth/issues/6101)) ([#6104](https://github.com/dynamic-labs/DynamicAuth/issues/6104)) ([643e704](https://github.com/dynamic-labs/DynamicAuth/commit/643e7048ff8610b31e6397e10b160ad456a45d11))
151
+ * stop querying magiceden solana accounts ([#6103](https://github.com/dynamic-labs/DynamicAuth/issues/6103)) ([#6108](https://github.com/dynamic-labs/DynamicAuth/issues/6108)) ([3cfdbc3](https://github.com/dynamic-labs/DynamicAuth/commit/3cfdbc3bc82bfe9bf53bf4236f7892a5440fcb86))
152
+ * trigger sign when linking an already linked unknown wallet ([#6105](https://github.com/dynamic-labs/DynamicAuth/issues/6105)) ([9e9c03b](https://github.com/dynamic-labs/DynamicAuth/commit/9e9c03bf615991c4f1183bf85c4d75c9a7773c85))
153
+
154
+ ## [3.0.0-alpha.7](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.6...v3.0.0-alpha.7) (2024-06-19)
155
+
156
+
157
+ ### ⚠ BREAKING CHANGES
158
+
159
+ * add selectedTabIndex and helpers (#6040)
160
+
161
+ ### Features
162
+
163
+ * add selectedTabIndex and helpers ([#6040](https://github.com/dynamic-labs/DynamicAuth/issues/6040)) ([ae20b80](https://github.com/dynamic-labs/DynamicAuth/commit/ae20b8081376dce97b18fa69c81c9ab73c1ff317))
164
+ * add useRefreshUser to trigger a user state refresh ([#6079](https://github.com/dynamic-labs/DynamicAuth/issues/6079)) ([1236d35](https://github.com/dynamic-labs/DynamicAuth/commit/1236d35fe9fab44ed2114ad9f3c8c6dca7ec27be))
165
+
166
+
167
+ ### Bug Fixes
168
+
169
+ * always return userWallets when available ([#6080](https://github.com/dynamic-labs/DynamicAuth/issues/6080)) ([#6083](https://github.com/dynamic-labs/DynamicAuth/issues/6083)) ([11992d2](https://github.com/dynamic-labs/DynamicAuth/commit/11992d2af5a401ba4ff1dc6904e2a9f8ef5904ca))
170
+ * less solana rpc calls and improve fee fetching ([#6019](https://github.com/dynamic-labs/DynamicAuth/issues/6019)) ([e2609db](https://github.com/dynamic-labs/DynamicAuth/commit/e2609db962c7708ff5b127cb23260a25bc5032e3))
171
+ * make account change idemopotent ([#6061](https://github.com/dynamic-labs/DynamicAuth/issues/6061)) ([8c87513](https://github.com/dynamic-labs/DynamicAuth/commit/8c8751390ea14888c4889679895e2f06d75717b9))
172
+ * only run multi wallet prompt when user profile or auth flow are open ([#6073](https://github.com/dynamic-labs/DynamicAuth/issues/6073)) ([d48ca10](https://github.com/dynamic-labs/DynamicAuth/commit/d48ca105359018457a78588fd8d9aa8a91583a02))
173
+ * recompute multiwallet state after merging accounts ([#6078](https://github.com/dynamic-labs/DynamicAuth/issues/6078)) ([e08a274](https://github.com/dynamic-labs/DynamicAuth/commit/e08a274c4d848f2a8360be7106cfbfa00b9a8f9b))
174
+ * stop querying okx for accounts while locked ([#6081](https://github.com/dynamic-labs/DynamicAuth/issues/6081)) ([#6084](https://github.com/dynamic-labs/DynamicAuth/issues/6084)) ([34365ac](https://github.com/dynamic-labs/DynamicAuth/commit/34365ac1981fe020b03e666c24535a247645d2ad))
175
+ * update copy for primary wallet not connected modal ([#6069](https://github.com/dynamic-labs/DynamicAuth/issues/6069)) ([4a3f43c](https://github.com/dynamic-labs/DynamicAuth/commit/4a3f43ce5585983f7fea0c5b97e812c0ade80e2c))
176
+
177
+ ## [3.0.0-alpha.6](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.5...v3.0.0-alpha.6) (2024-06-18)
178
+
179
+
180
+ ### Features
181
+
182
+ * implement useExternalAuth hook to signin using external jwt auth ([#6039](https://github.com/dynamic-labs/DynamicAuth/issues/6039)) ([ba90908](https://github.com/dynamic-labs/DynamicAuth/commit/ba90908509ec21f708a4a0782a7f94861fc3b484))
183
+
184
+
185
+ ### Bug Fixes
186
+
187
+ * allow sign-in with different ME BTC wallet after initial connection ([a527b46](https://github.com/dynamic-labs/DynamicAuth/commit/a527b464f321b4fc27730f57c3812e996b5ed878))
188
+ * close sign modal when signing in with a wallet when embedded wallet is enabled ([#6013](https://github.com/dynamic-labs/DynamicAuth/issues/6013)) ([0f4f3c8](https://github.com/dynamic-labs/DynamicAuth/commit/0f4f3c83db162f7a1794a3549b60bbad6b03e2c0))
189
+ * custom network without a valid icon should still display its name in network picker ([#6018](https://github.com/dynamic-labs/DynamicAuth/issues/6018)) ([0b10df6](https://github.com/dynamic-labs/DynamicAuth/commit/0b10df68950bfc9b8492443158a6bb030dc1122c))
190
+ * e2e: remove page pause ([#6045](https://github.com/dynamic-labs/DynamicAuth/issues/6045)) ([55bba00](https://github.com/dynamic-labs/DynamicAuth/commit/55bba0034255055d6ae266b1296542f47ed48e2b))
191
+ * more fixes for connect starknet button ([#6046](https://github.com/dynamic-labs/DynamicAuth/issues/6046)) ([0fb570a](https://github.com/dynamic-labs/DynamicAuth/commit/0fb570a44e65f8dd6d4d2bf5edb2ee54985ec9d4))
192
+ * set verified credentials on embedded wallet creation ([#6044](https://github.com/dynamic-labs/DynamicAuth/issues/6044)) ([b52a96d](https://github.com/dynamic-labs/DynamicAuth/commit/b52a96d321e7efdb30dce9cdb3f6f176c24ceb81))
193
+
194
+ ## [3.0.0-alpha.5](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.4...v3.0.0-alpha.5) (2024-06-14)
195
+
196
+
197
+ ### ⚠ BREAKING CHANGES
198
+
199
+ * remove viem dependency from non-evm packages (#5508)
200
+ * move rpc providers into their own packages (#5981)
201
+
202
+ ### Features
203
+
204
+ * add in-app browser navigation support for sats-connect ([#5988](https://github.com/dynamic-labs/DynamicAuth/issues/5988)) ([be27d2d](https://github.com/dynamic-labs/DynamicAuth/commit/be27d2d4030bbe2157e879497d8e6a00b4a3e404))
205
+ * move rpc providers into their own packages ([#5981](https://github.com/dynamic-labs/DynamicAuth/issues/5981)) ([d7a62d6](https://github.com/dynamic-labs/DynamicAuth/commit/d7a62d60e79dfa6d6651b0fa103e90b6f8a9ccf3))
206
+
207
+
208
+ ### Bug Fixes
209
+
210
+ * embedded solana wallets can send SPL tokens and estimate gas ([#5982](https://github.com/dynamic-labs/DynamicAuth/issues/5982)) ([36623eb](https://github.com/dynamic-labs/DynamicAuth/commit/36623eb99d1d1dfebfd8b6f3194eeff31e7de2bf))
211
+ * improve logic related to turnkey and emailVerifcation ([#5946](https://github.com/dynamic-labs/DynamicAuth/issues/5946)) ([dd0b2dc](https://github.com/dynamic-labs/DynamicAuth/commit/dd0b2dc6d93a8bbbcb6eef88732e62b747005bb3))
212
+ * show linked wallets with unavailable providers in user wallets list ([#5992](https://github.com/dynamic-labs/DynamicAuth/issues/5992)) ([996079c](https://github.com/dynamic-labs/DynamicAuth/commit/996079ced360651c7b1eb5273548e0548f6f9f3a))
213
+ * switch network modal not closing after switching to a supported network ([#5979](https://github.com/dynamic-labs/DynamicAuth/issues/5979)) ([f239952](https://github.com/dynamic-labs/DynamicAuth/commit/f2399523dd82bb28046992cac4582688b688bdc0))
214
+
215
+
216
+ * remove viem dependency from non-evm packages ([#5508](https://github.com/dynamic-labs/DynamicAuth/issues/5508)) ([0299dc3](https://github.com/dynamic-labs/DynamicAuth/commit/0299dc3cbb611182d763e9a89d1270c2e2f32df5))
217
+
218
+ ## [3.0.0-alpha.4](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.3...v3.0.0-alpha.4) (2024-06-12)
219
+
220
+
221
+ ### Bug Fixes
222
+
223
+ * cache getGenesisHash call to prevent over calling ([#5966](https://github.com/dynamic-labs/DynamicAuth/issues/5966)) ([b4d542f](https://github.com/dynamic-labs/DynamicAuth/commit/b4d542f0a85f5ba8c5b8f02f287caee45b4b6feb))
224
+ * handle raw messages in embedded wallet sign message modal ([#5815](https://github.com/dynamic-labs/DynamicAuth/issues/5815)) ([9adc289](https://github.com/dynamic-labs/DynamicAuth/commit/9adc28993b57c1c7f03c4ce6d500288dcf60881e))
225
+
226
+ ## [3.0.0-alpha.3](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.2...v3.0.0-alpha.3) (2024-06-11)
227
+
228
+
229
+ ### Bug Fixes
230
+
231
+ * only navigate to mfa backup codes when needed ([#5965](https://github.com/dynamic-labs/DynamicAuth/issues/5965)) ([edc462f](https://github.com/dynamic-labs/DynamicAuth/commit/edc462f20768885db1883a2c8d005e07044092d5))
232
+
2
233
  ## [3.0.0-alpha.2](https://github.com/dynamic-labs/DynamicAuth/compare/v3.0.0-alpha.1...v3.0.0-alpha.2) (2024-06-11)
3
234
 
4
235
 
@@ -28,9 +28,24 @@ function __awaiter(thisArg, _arguments, P, generator) {
28
28
  });
29
29
  }
30
30
 
31
+ function __classPrivateFieldGet(receiver, state, kind, f) {
32
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
33
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
34
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
35
+ }
36
+
37
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
38
+ if (kind === "m") throw new TypeError("Private method is not writable");
39
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
40
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
41
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
42
+ }
43
+
31
44
  typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
32
45
  var e = new Error(message);
33
46
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
34
47
  };
35
48
 
36
49
  exports.__awaiter = __awaiter;
50
+ exports.__classPrivateFieldGet = __classPrivateFieldGet;
51
+ exports.__classPrivateFieldSet = __classPrivateFieldSet;
@@ -24,9 +24,22 @@ function __awaiter(thisArg, _arguments, P, generator) {
24
24
  });
25
25
  }
26
26
 
27
+ function __classPrivateFieldGet(receiver, state, kind, f) {
28
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
29
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
30
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
31
+ }
32
+
33
+ function __classPrivateFieldSet(receiver, state, value, kind, f) {
34
+ if (kind === "m") throw new TypeError("Private method is not writable");
35
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
36
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
37
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
38
+ }
39
+
27
40
  typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
28
41
  var e = new Error(message);
29
42
  return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
30
43
  };
31
44
 
32
- export { __awaiter };
45
+ export { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dynamic-labs/utils",
3
- "version": "3.0.0-alpha.2",
3
+ "version": "3.0.0-alpha.20",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/dynamic-labs/dynamic-auth.git",
@@ -26,13 +26,12 @@
26
26
  "./package.json": "./package.json"
27
27
  },
28
28
  "dependencies": {
29
- "@dynamic-labs/sdk-api-core": "0.0.461",
29
+ "@dynamic-labs/sdk-api-core": "0.0.470",
30
30
  "tldts": "6.0.16",
31
- "@dynamic-labs/logger": "3.0.0-alpha.2",
32
- "@dynamic-labs/types": "3.0.0-alpha.2",
33
- "buffer": "6.0.3"
31
+ "@dynamic-labs/logger": "3.0.0-alpha.20",
32
+ "@dynamic-labs/types": "3.0.0-alpha.20",
33
+ "buffer": "6.0.3",
34
+ "stream": "0.0.2"
34
35
  },
35
- "peerDependencies": {
36
- "viem": "^2.7.6"
37
- }
36
+ "peerDependencies": {}
38
37
  }
@@ -0,0 +1,40 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ const isEip9693Event = (event) => event.type === 'eip6963:announceProvider' &&
7
+ event.detail !== undefined;
8
+ class Eip6963Provider {
9
+ constructor() {
10
+ this.providers = [];
11
+ }
12
+ registerProviders() {
13
+ if (typeof window === 'undefined') {
14
+ return;
15
+ }
16
+ window.addEventListener('eip6963:announceProvider', (event) => {
17
+ if (!isEip9693Event(event)) {
18
+ return;
19
+ }
20
+ this.providers.push(event.detail);
21
+ });
22
+ window.dispatchEvent(new Event('eip6963:requestProvider'));
23
+ }
24
+ }
25
+ class Eip6963ProviderSingleton {
26
+ constructor() {
27
+ this.eip6963Provider = new Eip6963Provider();
28
+ }
29
+ static get() {
30
+ var _a;
31
+ if (!((_a = Eip6963ProviderSingleton.instance) === null || _a === void 0 ? void 0 : _a.eip6963Provider)) {
32
+ Eip6963ProviderSingleton.instance = new Eip6963ProviderSingleton();
33
+ Eip6963ProviderSingleton.instance.eip6963Provider.registerProviders();
34
+ }
35
+ return Eip6963ProviderSingleton.instance.eip6963Provider;
36
+ }
37
+ }
38
+
39
+ exports.Eip6963Provider = Eip6963Provider;
40
+ exports.Eip6963ProviderSingleton = Eip6963ProviderSingleton;
@@ -0,0 +1,34 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ import { EventEmitter } from 'stream';
4
+ export type IEthereum = {
5
+ [key: string]: any;
6
+ providers?: object[];
7
+ request: <T extends string>(params: {
8
+ method: T;
9
+ } | object) => Promise<T extends 'eth_requestAccounts' ? [string] : object>;
10
+ } & EventEmitter;
11
+ /**
12
+ * Represents the assets needed to display a wallet
13
+ */
14
+ type Eip6963ProviderInfo = {
15
+ uuid: string;
16
+ name: string;
17
+ icon: string;
18
+ rdns: string;
19
+ };
20
+ type Eip6963ProviderDetail = {
21
+ info: Eip6963ProviderInfo;
22
+ provider: IEthereum;
23
+ };
24
+ export declare class Eip6963Provider {
25
+ providers: Eip6963ProviderDetail[];
26
+ registerProviders(): void;
27
+ }
28
+ export declare class Eip6963ProviderSingleton {
29
+ readonly eip6963Provider: Eip6963Provider;
30
+ private constructor();
31
+ private static instance;
32
+ static get(): Eip6963Provider;
33
+ }
34
+ export {};
@@ -0,0 +1,35 @@
1
+ 'use client'
2
+ const isEip9693Event = (event) => event.type === 'eip6963:announceProvider' &&
3
+ event.detail !== undefined;
4
+ class Eip6963Provider {
5
+ constructor() {
6
+ this.providers = [];
7
+ }
8
+ registerProviders() {
9
+ if (typeof window === 'undefined') {
10
+ return;
11
+ }
12
+ window.addEventListener('eip6963:announceProvider', (event) => {
13
+ if (!isEip9693Event(event)) {
14
+ return;
15
+ }
16
+ this.providers.push(event.detail);
17
+ });
18
+ window.dispatchEvent(new Event('eip6963:requestProvider'));
19
+ }
20
+ }
21
+ class Eip6963ProviderSingleton {
22
+ constructor() {
23
+ this.eip6963Provider = new Eip6963Provider();
24
+ }
25
+ static get() {
26
+ var _a;
27
+ if (!((_a = Eip6963ProviderSingleton.instance) === null || _a === void 0 ? void 0 : _a.eip6963Provider)) {
28
+ Eip6963ProviderSingleton.instance = new Eip6963ProviderSingleton();
29
+ Eip6963ProviderSingleton.instance.eip6963Provider.registerProviders();
30
+ }
31
+ return Eip6963ProviderSingleton.instance.eip6963Provider;
32
+ }
33
+ }
34
+
35
+ export { Eip6963Provider, Eip6963ProviderSingleton };
@@ -0,0 +1 @@
1
+ export * from './eip6963Provider';
@@ -0,0 +1,14 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var DynamicError = require('./DynamicError.cjs');
7
+
8
+ class ExternalAuthError extends DynamicError.DynamicError {
9
+ constructor(code) {
10
+ super('ExternalAuthError', code);
11
+ }
12
+ }
13
+
14
+ exports.ExternalAuthError = ExternalAuthError;
@@ -0,0 +1,4 @@
1
+ import { DynamicError } from './DynamicError';
2
+ export declare class ExternalAuthError extends DynamicError {
3
+ constructor(code: string);
4
+ }
@@ -0,0 +1,10 @@
1
+ 'use client'
2
+ import { DynamicError } from './DynamicError.js';
3
+
4
+ class ExternalAuthError extends DynamicError {
5
+ constructor(code) {
6
+ super('ExternalAuthError', code);
7
+ }
8
+ }
9
+
10
+ export { ExternalAuthError };
@@ -0,0 +1,17 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var DynamicError = require('./DynamicError.cjs');
7
+
8
+ class WalletAddressMismatchError extends DynamicError.DynamicError {
9
+ constructor(message, { activeAddress, expectedAddress, walletName, }) {
10
+ super(message, 'wallet_address_mismatch_error');
11
+ this.expectedAddress = expectedAddress;
12
+ this.activeAddress = activeAddress;
13
+ this.walletName = walletName;
14
+ }
15
+ }
16
+
17
+ exports.WalletAddressMismatchError = WalletAddressMismatchError;
@@ -0,0 +1,11 @@
1
+ import { DynamicError } from './DynamicError';
2
+ export declare class WalletAddressMismatchError extends DynamicError {
3
+ expectedAddress: string | undefined;
4
+ activeAddress: string | undefined;
5
+ walletName: string | undefined;
6
+ constructor(message: string, { activeAddress, expectedAddress, walletName, }: {
7
+ activeAddress?: string;
8
+ expectedAddress?: string;
9
+ walletName?: string;
10
+ });
11
+ }
@@ -0,0 +1,13 @@
1
+ 'use client'
2
+ import { DynamicError } from './DynamicError.js';
3
+
4
+ class WalletAddressMismatchError extends DynamicError {
5
+ constructor(message, { activeAddress, expectedAddress, walletName, }) {
6
+ super(message, 'wallet_address_mismatch_error');
7
+ this.expectedAddress = expectedAddress;
8
+ this.activeAddress = activeAddress;
9
+ this.walletName = walletName;
10
+ }
11
+ }
12
+
13
+ export { WalletAddressMismatchError };
@@ -29,3 +29,5 @@ export * from './CookieInvalidError';
29
29
  export * from './AccessBlockedError';
30
30
  export * from './EmbeddedWalletException';
31
31
  export * from './MfaInvalidOtpError';
32
+ export * from './ExternalAuthError';
33
+ export * from './WalletAddressMismatchError';
@@ -9,8 +9,12 @@ require('../logger/logger.cjs');
9
9
  var isMobile = require('../isMobile.cjs');
10
10
  require('../../_virtual/_tslib.cjs');
11
11
  require('../bufferPolyfill.cjs');
12
- require('viem/chains');
12
+ require('../services/PlatformService/PlatformService.cjs');
13
13
  require('tldts');
14
+ require('../services/FetchService/FetchService.cjs');
15
+ require('../services/Oauth2Service/Oauth2Service.cjs');
16
+ require('@dynamic-labs/types');
17
+ require('@dynamic-labs/sdk-api-core');
14
18
 
15
19
  const handleMobileWalletRedirect = ({ nativeLink, universalLink, }) => {
16
20
  const url = encodeURIComponent(window.location.toString());
@@ -5,8 +5,12 @@ import '../logger/logger.js';
5
5
  import { isSamsungBrowser } from '../isMobile.js';
6
6
  import '../../_virtual/_tslib.js';
7
7
  import '../bufferPolyfill.js';
8
- import 'viem/chains';
8
+ import '../services/PlatformService/PlatformService.js';
9
9
  import 'tldts';
10
+ import '../services/FetchService/FetchService.js';
11
+ import '../services/Oauth2Service/Oauth2Service.js';
12
+ import '@dynamic-labs/types';
13
+ import '@dynamic-labs/sdk-api-core';
10
14
 
11
15
  const handleMobileWalletRedirect = ({ nativeLink, universalLink, }) => {
12
16
  const url = encodeURIComponent(window.location.toString());
@@ -0,0 +1,32 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ /**
7
+ * Converts a hexadecimal string to a regular string by interpreting each pair of characters in the
8
+ * hexadecimal string as a byte in ASCII. It automatically handles hex strings prefixed with '0x'.
9
+ *
10
+ * @param {string} hexString - The hexadecimal string to convert. It can optionally start with '0x'.
11
+ * @returns {string} The decoded ASCII string.
12
+ *
13
+ * @example
14
+ * hexToString('68656c6c6f'); // returns 'hello'
15
+ * hexToString('0x68656c6c6f'); // also returns 'hello'
16
+ */
17
+ const hexToString = (hexString) => {
18
+ const normalizedHexString = hexString.startsWith('0x')
19
+ ? hexString.substring(2)
20
+ : hexString;
21
+ let text = '';
22
+ // Ensure we only process complete pairs by rounding down to the nearest even length
23
+ const length = normalizedHexString.length - (normalizedHexString.length % 2);
24
+ for (let i = 0; i < length; i += 2) {
25
+ const hexCode = normalizedHexString.substring(i, i + 2);
26
+ const decimal = parseInt(hexCode, 16);
27
+ text += String.fromCharCode(decimal);
28
+ }
29
+ return text;
30
+ };
31
+
32
+ exports.hexToString = hexToString;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Converts a hexadecimal string to a regular string by interpreting each pair of characters in the
3
+ * hexadecimal string as a byte in ASCII. It automatically handles hex strings prefixed with '0x'.
4
+ *
5
+ * @param {string} hexString - The hexadecimal string to convert. It can optionally start with '0x'.
6
+ * @returns {string} The decoded ASCII string.
7
+ *
8
+ * @example
9
+ * hexToString('68656c6c6f'); // returns 'hello'
10
+ * hexToString('0x68656c6c6f'); // also returns 'hello'
11
+ */
12
+ export declare const hexToString: (hexString: string) => string;
@@ -0,0 +1,28 @@
1
+ 'use client'
2
+ /**
3
+ * Converts a hexadecimal string to a regular string by interpreting each pair of characters in the
4
+ * hexadecimal string as a byte in ASCII. It automatically handles hex strings prefixed with '0x'.
5
+ *
6
+ * @param {string} hexString - The hexadecimal string to convert. It can optionally start with '0x'.
7
+ * @returns {string} The decoded ASCII string.
8
+ *
9
+ * @example
10
+ * hexToString('68656c6c6f'); // returns 'hello'
11
+ * hexToString('0x68656c6c6f'); // also returns 'hello'
12
+ */
13
+ const hexToString = (hexString) => {
14
+ const normalizedHexString = hexString.startsWith('0x')
15
+ ? hexString.substring(2)
16
+ : hexString;
17
+ let text = '';
18
+ // Ensure we only process complete pairs by rounding down to the nearest even length
19
+ const length = normalizedHexString.length - (normalizedHexString.length % 2);
20
+ for (let i = 0; i < length; i += 2) {
21
+ const hexCode = normalizedHexString.substring(i, i + 2);
22
+ const decimal = parseInt(hexCode, 16);
23
+ text += String.fromCharCode(decimal);
24
+ }
25
+ return text;
26
+ };
27
+
28
+ export { hexToString };
@@ -0,0 +1 @@
1
+ export { hexToString } from './hexToString';