@dynamic-labs/starknet 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 (65) hide show
  1. package/CHANGELOG.md +254 -0
  2. package/package.cjs +8 -0
  3. package/package.js +4 -0
  4. package/package.json +14 -19
  5. package/src/StarknetWalletConnector.cjs +232 -0
  6. package/src/StarknetWalletConnector.d.ts +58 -0
  7. package/src/StarknetWalletConnector.js +228 -0
  8. package/src/index.cjs +14 -13
  9. package/src/index.d.ts +15 -7
  10. package/src/index.js +13 -13
  11. package/src/types.d.ts +26 -11
  12. package/src/utils/convertors.cjs +1 -1
  13. package/src/utils/convertors.d.ts +1 -1
  14. package/src/utils/convertors.js +1 -1
  15. package/src/utils/starknetSnap.d.ts +2 -2
  16. package/src/wallet/StarknetWallet.cjs +0 -3
  17. package/src/wallet/StarknetWallet.d.ts +4 -4
  18. package/src/wallet/StarknetWallet.js +0 -3
  19. package/src/wallets/argent/argentMobile/argentMobile.cjs +73 -0
  20. package/src/wallets/argent/argentMobile/argentMobile.d.ts +16 -0
  21. package/src/wallets/argent/argentMobile/argentMobile.js +69 -0
  22. package/src/wallets/argent/base.cjs +50 -0
  23. package/src/wallets/argent/base.d.ts +5 -0
  24. package/src/wallets/argent/base.js +46 -0
  25. package/src/wallets/argent/injected/argentx.cjs +33 -0
  26. package/src/wallets/argent/injected/argentx.d.ts +8 -0
  27. package/src/wallets/argent/injected/argentx.js +29 -0
  28. package/src/wallets/argent/webwallet/webwallet.cjs +37 -0
  29. package/src/wallets/argent/webwallet/webwallet.d.ts +10 -0
  30. package/src/wallets/argent/webwallet/webwallet.js +33 -0
  31. package/src/wallets/injected/fetchStarknetInjectedWalletConnectors.cjs +34 -0
  32. package/src/wallets/injected/fetchStarknetInjectedWalletConnectors.d.ts +5 -0
  33. package/src/wallets/injected/fetchStarknetInjectedWalletConnectors.js +30 -0
  34. package/src/wallets/injected/injected.cjs +141 -0
  35. package/src/wallets/injected/injected.d.ts +10 -0
  36. package/src/wallets/injected/injected.js +137 -0
  37. package/src/wallets/{metamask.d.ts → injected/metamask.d.ts} +2 -4
  38. package/src/starknetWalletConnector.cjs +0 -320
  39. package/src/starknetWalletConnector.d.ts +0 -127
  40. package/src/starknetWalletConnector.js +0 -314
  41. package/src/utils/starknetSnap.cjs +0 -92
  42. package/src/utils/starknetSnap.js +0 -88
  43. package/src/wallets/argentx.cjs +0 -24
  44. package/src/wallets/argentx.d.ts +0 -8
  45. package/src/wallets/argentx.js +0 -20
  46. package/src/wallets/argentxBase.cjs +0 -50
  47. package/src/wallets/argentxBase.d.ts +0 -16
  48. package/src/wallets/argentxBase.js +0 -48
  49. package/src/wallets/argentxMobile.cjs +0 -100
  50. package/src/wallets/argentxMobile.d.ts +0 -13
  51. package/src/wallets/argentxMobile.js +0 -96
  52. package/src/wallets/argentxWeb.cjs +0 -57
  53. package/src/wallets/argentxWeb.d.ts +0 -8
  54. package/src/wallets/argentxWeb.js +0 -53
  55. package/src/wallets/bitget.cjs +0 -22
  56. package/src/wallets/bitget.d.ts +0 -7
  57. package/src/wallets/bitget.js +0 -18
  58. package/src/wallets/braavos.cjs +0 -37
  59. package/src/wallets/braavos.d.ts +0 -8
  60. package/src/wallets/braavos.js +0 -33
  61. package/src/wallets/metamask.cjs +0 -121
  62. package/src/wallets/metamask.js +0 -117
  63. package/src/wallets/okx.cjs +0 -15
  64. package/src/wallets/okx.d.ts +0 -6
  65. package/src/wallets/okx.js +0 -11
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/starknet",
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/starknet"
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,18 +16,22 @@
25
16
  },
26
17
  "./package.json": "./package.json"
27
18
  },
19
+ "homepage": "https://www.dynamic.xyz/",
28
20
  "dependencies": {
29
- "starknet": "5.25.0",
30
- "get-starknet-core": "3.2.0",
21
+ "@starknet-io/types-js": "0.7.7",
22
+ "starknet": "6.11.0",
23
+ "starknetkit": "2.3.3",
31
24
  "text-encoding": "0.7.0",
32
- "starknetkit": "1.1.3",
33
- "@dynamic-labs/sdk-api-core": "0.0.534",
25
+ "@dynamic-labs/sdk-api-core": "0.0.563",
34
26
  "@module-federation/runtime": "0.1.18",
35
- "@dynamic-labs/logger": "4.0.0-alpha.3",
36
- "@dynamic-labs/starknet-core": "4.0.0-alpha.3",
37
- "@dynamic-labs/utils": "4.0.0-alpha.3",
38
- "@dynamic-labs/wallet-book": "4.0.0-alpha.3",
39
- "@dynamic-labs/wallet-connector-core": "4.0.0-alpha.3"
27
+ "@dynamic-labs/assert-package-version": "4.0.0-alpha.30",
28
+ "@dynamic-labs/logger": "4.0.0-alpha.30",
29
+ "@dynamic-labs/rpc-providers": "4.0.0-alpha.30",
30
+ "@dynamic-labs/starknet-core": "4.0.0-alpha.30",
31
+ "@dynamic-labs/utils": "4.0.0-alpha.30",
32
+ "@dynamic-labs/wallet-book": "4.0.0-alpha.30",
33
+ "@dynamic-labs/wallet-connector-core": "4.0.0-alpha.30",
34
+ "assert": "2.1.0"
40
35
  },
41
36
  "peerDependencies": {}
42
37
  }
@@ -0,0 +1,232 @@
1
+ 'use client'
2
+ 'use strict';
3
+
4
+ Object.defineProperty(exports, '__esModule', { value: true });
5
+
6
+ var _tslib = require('../_virtual/_tslib.cjs');
7
+ var starknet = require('starknet');
8
+ var walletConnectorCore = require('@dynamic-labs/wallet-connector-core');
9
+ var utils = require('@dynamic-labs/utils');
10
+ var logger = require('@dynamic-labs/logger');
11
+ var constants = require('./constants.cjs');
12
+ var ethereumContractAbi = require('./ethereumContractAbi.cjs');
13
+ var convertors = require('./utils/convertors.cjs');
14
+ var StarknetWallet = require('./wallet/StarknetWallet.cjs');
15
+
16
+ class StarknetWalletConnector extends walletConnectorCore.WalletConnectorBase {
17
+ constructor(name, id, opts) {
18
+ var _a;
19
+ super(opts);
20
+ this.ChainWallet = StarknetWallet.StarknetWallet;
21
+ this.connectedChain = 'STARK';
22
+ this.supportedChains = ['STARK'];
23
+ this.switchNetworkOnlyFromWallet = true;
24
+ /** required for metamask snap integration as MM snaps don't have event listeners */
25
+ this.canSetEventListeners = true;
26
+ this.name = name;
27
+ this.id = id;
28
+ this.starknetNetworks = opts.starknetNetworks;
29
+ this.chainRpcProviders = opts.chainRpcProviders;
30
+ (_a = this.chainRpcProviders) === null || _a === void 0 ? void 0 : _a.registerStarknetProviders();
31
+ this.walletBookWallet = opts.walletBookWallet;
32
+ this.logger = new logger.Logger(this.name);
33
+ }
34
+ connect() {
35
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
36
+ yield this.getAddress();
37
+ });
38
+ }
39
+ getAddress() {
40
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
41
+ var _a;
42
+ if ((_a = this.walletData) === null || _a === void 0 ? void 0 : _a.account) {
43
+ return this.walletData.account;
44
+ }
45
+ this.logger.debug('[getAddress] Prompting new connection');
46
+ const { wallet, data } = yield this.prompt({
47
+ silently: false,
48
+ });
49
+ this.logger.debug(`[getAddress] Connection returned account: ${data === null || data === void 0 ? void 0 : data.account}, wallet: ${wallet}`);
50
+ if (!wallet || !data) {
51
+ return undefined;
52
+ }
53
+ this.wallet = wallet;
54
+ this.walletData = data;
55
+ this.setupEventListeners();
56
+ return this.walletData.account;
57
+ });
58
+ }
59
+ /**
60
+ * returns starknet wallet network id
61
+ */
62
+ getNetwork() {
63
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
64
+ var _a;
65
+ if (!((_a = this.walletData) === null || _a === void 0 ? void 0 : _a.chainId)) {
66
+ return undefined;
67
+ }
68
+ return starknet.num.toHex(this.walletData.chainId);
69
+ });
70
+ }
71
+ getBalance(address) {
72
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
73
+ const wallet = yield this.getWalletAccount();
74
+ if (!wallet) {
75
+ this.logger.error('Could not find provider for getting balance');
76
+ return undefined;
77
+ }
78
+ const contract = new starknet.Contract(ethereumContractAbi, constants.ETH_STARKNET_ADDRESS, wallet);
79
+ try {
80
+ const { balance } = yield contract.balanceOf(address);
81
+ /**
82
+ * Dividing by 1e18 as the returned balance is a Gwei number.
83
+ * Read more here: https://www.investopedia.com/terms/g/gwei-ethereum.asp#toc-what-is-gwei
84
+ */
85
+ return (Number(starknet.cairo.uint256(balance.low).low) / 1e18).toFixed(6);
86
+ }
87
+ catch (error) {
88
+ this.logger.error(error);
89
+ throw new utils.DynamicError('Something went wrong');
90
+ }
91
+ });
92
+ }
93
+ signMessage(messageToSign) {
94
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
95
+ const [walletAddress, chainId] = yield Promise.all([
96
+ this.getAddress(),
97
+ this.getNetwork(),
98
+ ]);
99
+ const assertions = [
100
+ [walletAddress, 'No address for wallet'],
101
+ [chainId, 'No chainId for wallet'],
102
+ [this.wallet, 'No wallet provider'],
103
+ ];
104
+ for (const [value, message] of assertions) {
105
+ if (!value) {
106
+ this.logger.error(`[signMessage] ${message}. Make sure \`connect\` was called first`);
107
+ return undefined;
108
+ }
109
+ }
110
+ const encodedMessage = convertors.formatTypedDataMessage(messageToSign, chainId);
111
+ // justification: performing assertion above
112
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
113
+ const signature = yield this.wallet.request({
114
+ params: encodedMessage,
115
+ type: 'wallet_signTypedData',
116
+ });
117
+ return signature === null || signature === void 0 ? void 0 : signature.join(',');
118
+ });
119
+ }
120
+ getWalletAccount() {
121
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
122
+ if (!this.wallet) {
123
+ return undefined;
124
+ }
125
+ return new starknet.WalletAccount(yield this.getProvider(), this.wallet);
126
+ });
127
+ }
128
+ getProvider() {
129
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
130
+ const rpcUrl = yield this.resolveRpcUrl();
131
+ this.logger.debug(`[getProvider] using rpcUrl: ${rpcUrl}`);
132
+ return new starknet.RpcProvider({ nodeUrl: rpcUrl });
133
+ });
134
+ }
135
+ isInstalledOnBrowser() {
136
+ return Boolean(window[`starknet_${this.id}`]);
137
+ }
138
+ endSession() {
139
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
140
+ this.teardownEventListeners();
141
+ this.wallet = undefined;
142
+ this.walletData = undefined;
143
+ });
144
+ }
145
+ setupEventListeners() {
146
+ if (!this.canSetEventListeners)
147
+ return;
148
+ if (!this.wallet) {
149
+ this.logger.debug('[setupEventListeners] Not connected, returning early');
150
+ return;
151
+ }
152
+ this.handleAccountChange = (accounts) => _tslib.__awaiter(this, void 0, void 0, function* () {
153
+ var _a;
154
+ this.logger.debug(`[accountsChanged] Received argument: ${accounts === null || accounts === void 0 ? void 0 : accounts.toString()}`);
155
+ if (!accounts || accounts[0] === null) {
156
+ this.emit('disconnect');
157
+ return;
158
+ }
159
+ const [address] = accounts;
160
+ if (address) {
161
+ this.walletData = {
162
+ account: address,
163
+ chainId: (_a = this.walletData) === null || _a === void 0 ? void 0 : _a.chainId,
164
+ };
165
+ this.emit('accountChange', { accounts: [address.toString()] });
166
+ }
167
+ });
168
+ this.handleNetworkChange = (chainId) => _tslib.__awaiter(this, void 0, void 0, function* () {
169
+ var _b;
170
+ this.logger.debug(`[networkChanged] Received argument: ${chainId === null || chainId === void 0 ? void 0 : chainId.toString()}`);
171
+ if (!chainId) {
172
+ this.emit('disconnect');
173
+ return;
174
+ }
175
+ this.walletData = {
176
+ account: (_b = this.walletData) === null || _b === void 0 ? void 0 : _b.account,
177
+ chainId: BigInt(chainId),
178
+ };
179
+ this.emit('chainChange', { chain: chainId });
180
+ });
181
+ this.logger.debug('[setupEventListeners] Setting up accountsChanged and networkChanged');
182
+ this.wallet.on('accountsChanged', this.handleAccountChange);
183
+ this.wallet.on('networkChanged', this.handleNetworkChange);
184
+ }
185
+ teardownEventListeners() {
186
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
187
+ var _a, _b;
188
+ if (!this.canSetEventListeners)
189
+ return;
190
+ if (this.handleAccountChange) {
191
+ (_a = this.wallet) === null || _a === void 0 ? void 0 : _a.off('accountsChanged', this.handleAccountChange);
192
+ this.handleAccountChange = undefined;
193
+ }
194
+ if (this.handleNetworkChange) {
195
+ (_b = this.wallet) === null || _b === void 0 ? void 0 : _b.off('networkChanged', this.handleNetworkChange);
196
+ this.handleNetworkChange = undefined;
197
+ }
198
+ });
199
+ }
200
+ resolveRpcUrl() {
201
+ return _tslib.__awaiter(this, void 0, void 0, function* () {
202
+ var _a;
203
+ const chainId = yield this.getNetwork();
204
+ if (!chainId) {
205
+ this.logger.warn('[resolveRpcUrl] `getNetwork` returned undefined');
206
+ return undefined;
207
+ }
208
+ const networkConfig = this.starknetNetworks.find((config) => config.chainId === chainId);
209
+ if (!networkConfig) {
210
+ this.logger.warn(`[resolveRpcUrl] Network configuration for chainId \`${chainId}\` is not found in starknetNetworks`);
211
+ return undefined;
212
+ }
213
+ return (((_a = networkConfig.privateCustomerRpcUrls) === null || _a === void 0 ? void 0 : _a[0]) || networkConfig.rpcUrls[0]);
214
+ });
215
+ }
216
+ mapChainIdToNetworkName(chainIdOrNetworkName) {
217
+ if (chainIdOrNetworkName === starknet.constants.StarknetChainId.SN_MAIN ||
218
+ chainIdOrNetworkName === starknet.constants.NetworkName.SN_MAIN) {
219
+ return starknet.constants.NetworkName.SN_MAIN;
220
+ }
221
+ else if (chainIdOrNetworkName === starknet.constants.StarknetChainId.SN_SEPOLIA ||
222
+ chainIdOrNetworkName === starknet.constants.NetworkName.SN_SEPOLIA) {
223
+ return starknet.constants.NetworkName.SN_SEPOLIA;
224
+ }
225
+ else {
226
+ this.logger.error('Unknown chainId', chainIdOrNetworkName);
227
+ return undefined;
228
+ }
229
+ }
230
+ }
231
+
232
+ exports.StarknetWalletConnector = StarknetWalletConnector;
@@ -0,0 +1,58 @@
1
+ import { constants, WalletAccount, RpcProvider } from 'starknet';
2
+ import { WALLET_API, StarknetWindowObject } from '@starknet-io/types-js';
3
+ import { Chain, WalletConnectorBase } from '@dynamic-labs/wallet-connector-core';
4
+ import { NetworkConfiguration } from '@dynamic-labs/sdk-api-core';
5
+ import { WalletSchema } from '@dynamic-labs/wallet-book';
6
+ import { Logger } from '@dynamic-labs/logger';
7
+ import { PromptOptions, PromptResult, StarknetWalletConnectorProps, WalletData } from './types';
8
+ import { StarknetWallet } from './wallet';
9
+ export declare abstract class StarknetWalletConnector extends WalletConnectorBase<typeof StarknetWallet> {
10
+ /** the name of the connector, e.g. "Argent X", "Braavos" */
11
+ name: string;
12
+ /**
13
+ * the string identifier of the connector as surfaced by `get-starknet-core` or `starknetkit`
14
+ * this is used to prompt the correct extension, e.g. the argentX browser extension
15
+ */
16
+ id: string;
17
+ ChainWallet: typeof StarknetWallet;
18
+ connectedChain: Chain;
19
+ supportedChains: Chain[];
20
+ handleAccountChange: WALLET_API.AccountChangeEventHandler | undefined;
21
+ handleNetworkChange: WALLET_API.NetworkChangeEventHandler | undefined;
22
+ switchNetworkOnlyFromWallet: boolean;
23
+ /** the starknet networks configuration from redcoast */
24
+ starknetNetworks: NetworkConfiguration[];
25
+ /** required for metamask snap integration as MM snaps don't have event listeners */
26
+ canSetEventListeners: boolean;
27
+ /**
28
+ * used to obtain a WalletAccount to interact with the wallet
29
+ */
30
+ wallet: StarknetWindowObject | undefined;
31
+ /** The wallet metadata. Replace with _metadata once inAppBrowser is migrated */
32
+ protected walletBookWallet: WalletSchema;
33
+ /**
34
+ * used to track wallet state (account and chain)
35
+ */
36
+ walletData: WalletData | undefined;
37
+ logger: Logger;
38
+ constructor(name: string, id: string, opts: StarknetWalletConnectorProps);
39
+ /** implementing classes should use starknetkit or get-starknet-core functions here */
40
+ abstract prompt(options: PromptOptions): Promise<PromptResult>;
41
+ connect(): Promise<void>;
42
+ getAddress(): Promise<string | undefined>;
43
+ /**
44
+ * returns starknet wallet network id
45
+ */
46
+ getNetwork(): Promise<string | undefined>;
47
+ getBalance(address: string): Promise<string | undefined>;
48
+ signMessage(messageToSign: string): Promise<string | undefined>;
49
+ getWalletAccount(): Promise<WalletAccount | undefined>;
50
+ getProvider(): Promise<RpcProvider>;
51
+ isInstalledOnBrowser(): boolean;
52
+ endSession(): Promise<void>;
53
+ setupEventListeners(): void;
54
+ teardownEventListeners(): Promise<void>;
55
+ protected resolveRpcUrl(): Promise<string | undefined>;
56
+ protected mapChainIdToNetworkName(chainIdOrNetworkName: string): constants.NetworkName | undefined;
57
+ }
58
+ export type StarknetWalletConnectorType = StarknetWalletConnector;