@dynamic-labs-sdk/sui 0.1.0-alpha.9 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. package/CHANGELOG.md +302 -0
  2. package/README.md +4 -18
  3. package/addSuiWalletStandardExtension.cjs.js +264 -0
  4. package/addSuiWalletStandardExtension.esm.js +262 -0
  5. package/addWaasSuiExtension.cjs.js +141 -0
  6. package/addWaasSuiExtension.esm.js +139 -0
  7. package/index.cjs.js +146 -20
  8. package/index.esm.js +141 -17
  9. package/package.json +13 -5
  10. package/registerSuiNetworkProviderBuilder.cjs.js +62 -0
  11. package/registerSuiNetworkProviderBuilder.esm.js +57 -0
  12. package/src/SuiNetworkProvider.types.d.ts +8 -0
  13. package/src/SuiNetworkProvider.types.d.ts.map +1 -0
  14. package/src/SuiWalletAccount.types.d.ts +8 -0
  15. package/src/SuiWalletAccount.types.d.ts.map +1 -0
  16. package/src/SuiWalletProvider.types.d.ts +40 -0
  17. package/src/SuiWalletProvider.types.d.ts.map +1 -0
  18. package/src/addSuiExtension/addSuiExtension.d.ts +11 -0
  19. package/src/addSuiExtension/addSuiExtension.d.ts.map +1 -0
  20. package/src/addSuiExtension/index.d.ts +2 -0
  21. package/src/addSuiExtension/index.d.ts.map +1 -0
  22. package/src/errors/NotSuiProviderError/NotSuiProviderError.d.ts.map +1 -1
  23. package/src/exports/index.d.ts +9 -4
  24. package/src/exports/index.d.ts.map +1 -1
  25. package/src/exports/waas.d.ts +2 -0
  26. package/src/exports/waas.d.ts.map +1 -0
  27. package/src/exports/walletStandard.d.ts +2 -0
  28. package/src/exports/walletStandard.d.ts.map +1 -0
  29. package/src/getSuiClient/getSuiClient.d.ts +3 -3
  30. package/src/getSuiClient/getSuiClient.d.ts.map +1 -1
  31. package/src/isSuiNetworkProvider/index.d.ts +2 -0
  32. package/src/isSuiNetworkProvider/index.d.ts.map +1 -0
  33. package/src/isSuiNetworkProvider/isSuiNetworkProvider.d.ts +10 -0
  34. package/src/isSuiNetworkProvider/isSuiNetworkProvider.d.ts.map +1 -0
  35. package/src/isSuiWalletAccount/isSuiWalletAccount.d.ts +5 -4
  36. package/src/isSuiWalletAccount/isSuiWalletAccount.d.ts.map +1 -1
  37. package/src/isSuiWalletProvider/isSuiWalletProvider.d.ts +1 -5
  38. package/src/isSuiWalletProvider/isSuiWalletProvider.d.ts.map +1 -1
  39. package/src/registerSuiNetworkProviderBuilder/index.d.ts +2 -0
  40. package/src/registerSuiNetworkProviderBuilder/index.d.ts.map +1 -0
  41. package/src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts +3 -0
  42. package/src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts.map +1 -0
  43. package/src/signAndExecuteTransaction/index.d.ts +2 -0
  44. package/src/signAndExecuteTransaction/index.d.ts.map +1 -0
  45. package/src/signAndExecuteTransaction/signAndExecuteTransaction.d.ts +17 -0
  46. package/src/signAndExecuteTransaction/signAndExecuteTransaction.d.ts.map +1 -0
  47. package/src/signAndExecuteTransactionBlock/index.d.ts +2 -0
  48. package/src/signAndExecuteTransactionBlock/index.d.ts.map +1 -0
  49. package/src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts +25 -0
  50. package/src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts.map +1 -0
  51. package/src/signTransaction/index.d.ts +2 -0
  52. package/src/signTransaction/index.d.ts.map +1 -0
  53. package/src/signTransaction/signTransaction.d.ts +17 -0
  54. package/src/signTransaction/signTransaction.d.ts.map +1 -0
  55. package/src/signTransactionBlock/index.d.ts +2 -0
  56. package/src/signTransactionBlock/index.d.ts.map +1 -0
  57. package/src/signTransactionBlock/signTransactionBlock.d.ts +20 -0
  58. package/src/signTransactionBlock/signTransactionBlock.d.ts.map +1 -0
  59. package/src/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts +4 -0
  60. package/src/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts.map +1 -0
  61. package/src/utils/createSuiNetworkProvider/index.d.ts +2 -0
  62. package/src/utils/createSuiNetworkProvider/index.d.ts.map +1 -0
  63. package/src/utils/fetchSuiBalance/fetchSuiBalance.d.ts +5 -0
  64. package/src/utils/fetchSuiBalance/fetchSuiBalance.d.ts.map +1 -0
  65. package/src/utils/fetchSuiBalance/index.d.ts +2 -0
  66. package/src/utils/fetchSuiBalance/index.d.ts.map +1 -0
  67. package/src/waas/WaasSuiWalletProvider.types.d.ts +4 -0
  68. package/src/waas/WaasSuiWalletProvider.types.d.ts.map +1 -0
  69. package/src/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts +11 -0
  70. package/src/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts.map +1 -0
  71. package/src/waas/addWaasSuiExtension/index.d.ts +2 -0
  72. package/src/waas/addWaasSuiExtension/index.d.ts.map +1 -0
  73. package/src/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts +4 -0
  74. package/src/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts.map +1 -0
  75. package/src/waas/utils/createWalletProviderForWaasSui/index.d.ts +2 -0
  76. package/src/waas/utils/createWalletProviderForWaasSui/index.d.ts.map +1 -0
  77. package/src/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts +11 -0
  78. package/src/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts.map +1 -0
  79. package/src/walletStandard/addSuiWalletStandardExtension/index.d.ts +2 -0
  80. package/src/walletStandard/addSuiWalletStandardExtension/index.d.ts.map +1 -0
  81. package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts +10 -0
  82. package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts.map +1 -0
  83. package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts +2 -0
  84. package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts.map +1 -0
  85. package/waas.cjs.d.ts +1 -0
  86. package/waas.cjs.js +15 -0
  87. package/waas.esm.d.ts +1 -0
  88. package/waas.esm.js +11 -0
  89. package/walletStandard.cjs.d.ts +1 -0
  90. package/walletStandard.cjs.js +15 -0
  91. package/walletStandard.esm.d.ts +1 -0
  92. package/walletStandard.esm.js +11 -0
  93. package/src/types/SuiClient.types.d.ts +0 -29
  94. package/src/types/SuiClient.types.d.ts.map +0 -1
  95. package/src/types/SuiWalletFeatures.types.d.ts +0 -32
  96. package/src/types/SuiWalletFeatures.types.d.ts.map +0 -1
  97. package/src/types/SuiWalletProvider.types.d.ts +0 -8
  98. package/src/types/SuiWalletProvider.types.d.ts.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,3 +1,305 @@
1
+ ## 0.1.0 (2025-12-18)
2
+
3
+ ### 🚀 Features
4
+
5
+ - add getTransactionHistory method ([#702](https://github.com/dynamic-labs/dynamic-sdk/pull/702))
6
+
7
+ ## 0.1.0-alpha.37 (2025-12-17)
8
+
9
+ ### 🩹 Fixes
10
+
11
+ - ensure api errors are correctly parsed ([#706](https://github.com/dynamic-labs/dynamic-sdk/pull/706))
12
+
13
+ ## 0.1.0-alpha.36 (2025-12-17)
14
+
15
+ This was a version bump only, there were no code changes.
16
+
17
+ ## 0.1.0-alpha.35 (2025-12-12)
18
+
19
+ ### 🩹 Fixes
20
+
21
+ - ensure all extensions register the chain network provider builder ([#696](https://github.com/dynamic-labs/dynamic-sdk/pull/696))
22
+ - properly handle signAlTransactions when using Solana Wallet Standard wallets ([#697](https://github.com/dynamic-labs/dynamic-sdk/pull/697))
23
+
24
+ ## 0.1.0-alpha.34 (2025-12-08)
25
+
26
+ ### 🩹 Fixes
27
+
28
+ - emit walletAccountsChanged when loading the SDK ([#691](https://github.com/dynamic-labs/dynamic-sdk/pull/691))
29
+
30
+ ## 0.1.0-alpha.33 (2025-12-03)
31
+
32
+ ### 🚀 Features
33
+
34
+ - add deleteUser ([#673](https://github.com/dynamic-labs/dynamic-sdk/pull/673))
35
+
36
+ ### 🩹 Fixes
37
+
38
+ - return verified response in the verifyOTP function ([#670](https://github.com/dynamic-labs/dynamic-sdk/pull/670))
39
+
40
+ ## 0.1.0-alpha.32 (2025-11-27)
41
+
42
+ This was a version bump only, there were no code changes.
43
+
44
+ ## 0.1.0-alpha.31 (2025-11-25)
45
+
46
+ This was a version bump only, there were no code changes.
47
+
48
+ ## 0.1.0-alpha.30 (2025-11-19)
49
+
50
+ ### 🚀 Features
51
+
52
+ - allow social account unlinking ([#618](https://github.com/dynamic-labs/dynamic-sdk/pull/618))
53
+ - add support for Sui external wallets ([#643](https://github.com/dynamic-labs/dynamic-sdk/pull/643))
54
+ - add support for Sui embedded wallets ([#652](https://github.com/dynamic-labs/dynamic-sdk/pull/652))
55
+
56
+ ## 0.1.0-alpha.29 (2025-11-12)
57
+
58
+ ### 🚀 Features
59
+
60
+ - add support for WaaS delegation ([#634](https://github.com/dynamic-labs/dynamic-sdk/pull/634))
61
+
62
+ ## 0.1.0-alpha.28 (2025-11-03)
63
+
64
+ ### 🩹 Fixes
65
+
66
+ - don't override mfa token on non-mfa related state updates ([#630](https://github.com/dynamic-labs/dynamic-sdk/pull/630))
67
+
68
+ ## 0.1.0-alpha.27 (2025-11-03)
69
+
70
+ This was a version bump only, there were no code changes.
71
+
72
+ ## 0.1.0-alpha.26 (2025-10-30)
73
+
74
+ ### 🚀 Features
75
+
76
+ - add getUserSocialAccounts function ([#620](https://github.com/dynamic-labs/dynamic-sdk/pull/620))
77
+
78
+ ## 0.1.0-alpha.25 (2025-10-29)
79
+
80
+ ### Breaking Changes
81
+
82
+ - Rename signInWithSocialRedirect -> authenticateWithSocial
83
+ - Rename completeSocialRedirectSignIn -> completeSocialAuthentication
84
+
85
+ ### 🚀 Features
86
+
87
+ - add support for social account linking ([#616](https://github.com/dynamic-labs/dynamic-sdk/pull/616))
88
+
89
+ ## 0.1.0-alpha.24 (2025-10-28)
90
+
91
+ ### Breaking Changes
92
+
93
+ Removed `getSigner` from `solana` package in favor of individual signing methods
94
+ - signAndSendTransaction
95
+ - signTransaction
96
+ - signAllTransactions
97
+
98
+ ## 0.1.0-alpha.23 (2025-10-22)
99
+
100
+ ### 🚀 Features
101
+
102
+ - add support for OKX BTC ([#583](https://github.com/dynamic-labs/dynamic-sdk/pull/583))
103
+ - add support for OneKey BTC ([#586](https://github.com/dynamic-labs/dynamic-sdk/pull/586))
104
+ - add support for Bitget Wallet BTC ([#592](https://github.com/dynamic-labs/dynamic-sdk/pull/592))
105
+ - add support for Binance Wallet BTC ([#595](https://github.com/dynamic-labs/dynamic-sdk/pull/595))
106
+ - add support for Oyl Wallet BTC ([#589](https://github.com/dynamic-labs/dynamic-sdk/pull/589))
107
+ - add support for Leather Wallet BTC ([#600](https://github.com/dynamic-labs/dynamic-sdk/pull/600))
108
+
109
+ ## 0.1.0-alpha.22 (2025-10-16)
110
+
111
+ ### 🚀 Features
112
+
113
+ - add support for Magic Eden BTC ([#575](https://github.com/dynamic-labs/dynamic-sdk/pull/575))
114
+
115
+ ## 0.1.0-alpha.21 (2025-10-16)
116
+
117
+ ### 🩹 Fixes
118
+
119
+ - don't refetch project settings on page refresh if there are connected wallets ([#571](https://github.com/dynamic-labs/dynamic-sdk/pull/571))
120
+
121
+ ## 0.1.0-alpha.20 (2025-10-15)
122
+
123
+ This was a version bump only, there were no code changes.
124
+
125
+ ## 0.1.0-alpha.19 (2025-10-10)
126
+
127
+ This was a version bump only, there were no code changes.
128
+
129
+ ## 0.1.0-alpha.18 (2025-10-08)
130
+
131
+ ### 🚀 Features
132
+
133
+ - Add TypeDoc for JavaScript SDK API Reference Documentation ([#512](https://github.com/dynamic-labs/dynamic-sdk/pull/512))
134
+
135
+ ## 0.1.0-alpha.17 (2025-10-02)
136
+
137
+ ### 🩹 Fixes
138
+
139
+ - add return type to connect with wallet provider ([#497](https://github.com/dynamic-labs/dynamic-sdk/pull/497))
140
+
141
+ ## 0.1.0-alpha.16 (2025-10-01)
142
+
143
+ ### 🚀 Features
144
+
145
+ - logout user when session expires ([#47](https://github.com/dynamic-labs/dynamic-sdk/pull/47))
146
+ - add sms verification ([#78](https://github.com/dynamic-labs/dynamic-sdk/pull/78))
147
+ - raise changed events for state variables ([#79](https://github.com/dynamic-labs/dynamic-sdk/pull/79))
148
+ - allow extending the client ([#80](https://github.com/dynamic-labs/dynamic-sdk/pull/80))
149
+ - allow manual init of client ([#88](https://github.com/dynamic-labs/dynamic-sdk/pull/88))
150
+ - add signMessage ([#111](https://github.com/dynamic-labs/dynamic-sdk/pull/111))
151
+ - support social sign in ([#123](https://github.com/dynamic-labs/dynamic-sdk/pull/123))
152
+ - add updateUser function ([#138](https://github.com/dynamic-labs/dynamic-sdk/pull/138))
153
+ - add acknowledgeRecoveryCodes function ([#139](https://github.com/dynamic-labs/dynamic-sdk/pull/139))
154
+ - add getMfaDevices function ([#140](https://github.com/dynamic-labs/dynamic-sdk/pull/140))
155
+ - add deleteMfaDevice function ([#141](https://github.com/dynamic-labs/dynamic-sdk/pull/141))
156
+ - add registerTotpMfaDevice function ([#142](https://github.com/dynamic-labs/dynamic-sdk/pull/142))
157
+ - add getMfaRecoveryCodes function ([#143](https://github.com/dynamic-labs/dynamic-sdk/pull/143))
158
+ - cache project settings for connected users ([#148](https://github.com/dynamic-labs/dynamic-sdk/pull/148))
159
+ - add createNewMfaRecoveryCodes function ([#144](https://github.com/dynamic-labs/dynamic-sdk/pull/144))
160
+ - add setDefaultMfaDevice function ([#149](https://github.com/dynamic-labs/dynamic-sdk/pull/149))
161
+ - add support for solana wallet standard ([#133](https://github.com/dynamic-labs/dynamic-sdk/pull/133))
162
+ - add primary wallet account ([#128](https://github.com/dynamic-labs/dynamic-sdk/pull/128))
163
+ - add authTotpMfaDevice function ([#146](https://github.com/dynamic-labs/dynamic-sdk/pull/146))
164
+ - add authMfaRecoveryCode function ([#147](https://github.com/dynamic-labs/dynamic-sdk/pull/147))
165
+ - add new getMultichainBalances api method ([#219](https://github.com/dynamic-labs/dynamic-sdk/pull/219))
166
+ - adds authenticated event ([#222](https://github.com/dynamic-labs/dynamic-sdk/pull/222))
167
+ - raise an error if different dynamic packages are on different versions ([#253](https://github.com/dynamic-labs/dynamic-sdk/pull/253))
168
+ - add signInWithExternalJwt function ([#263](https://github.com/dynamic-labs/dynamic-sdk/pull/263))
169
+ - add network provider registry and API ([#266](https://github.com/dynamic-labs/dynamic-sdk/pull/266))
170
+ - add ethereum netowrk providers ([#267](https://github.com/dynamic-labs/dynamic-sdk/pull/267))
171
+ - add solana network provider ([#268](https://github.com/dynamic-labs/dynamic-sdk/pull/268))
172
+ - add proveWalletAccountOwnership function ([#295](https://github.com/dynamic-labs/dynamic-sdk/pull/295))
173
+ - format evm wallet addresses to conform to eip55 ([#300](https://github.com/dynamic-labs/dynamic-sdk/pull/300))
174
+ - add viem public client ([#272](https://github.com/dynamic-labs/dynamic-sdk/pull/272))
175
+ - add getSolanaConnection ([#275](https://github.com/dynamic-labs/dynamic-sdk/pull/275))
176
+ - add dynamic waas evm extension ([#299](https://github.com/dynamic-labs/dynamic-sdk/pull/299))
177
+ - add refreshUser function ([#332](https://github.com/dynamic-labs/dynamic-sdk/pull/332))
178
+ - add get network method ([#321](https://github.com/dynamic-labs/dynamic-sdk/pull/321))
179
+ - add createWaasWallet function ([#343](https://github.com/dynamic-labs/dynamic-sdk/pull/343))
180
+ - allow switching network ([#323](https://github.com/dynamic-labs/dynamic-sdk/pull/323))
181
+ - introduce getBalance and getBalanceForAddress ([#335](https://github.com/dynamic-labs/dynamic-sdk/pull/335))
182
+ - add delegateWaasKeyShares function ([#353](https://github.com/dynamic-labs/dynamic-sdk/pull/353))
183
+ - add updateWaasPassword function ([#354](https://github.com/dynamic-labs/dynamic-sdk/pull/354))
184
+ - add exportWaasClientKeyshares function ([#355](https://github.com/dynamic-labs/dynamic-sdk/pull/355))
185
+ - add importWaasPrivateKey function ([#356](https://github.com/dynamic-labs/dynamic-sdk/pull/356))
186
+ - add refreshWaasWalletAccountShares function ([#357](https://github.com/dynamic-labs/dynamic-sdk/pull/357))
187
+ - add backupWaasKeySharesToGoogleDrive function ([#358](https://github.com/dynamic-labs/dynamic-sdk/pull/358))
188
+ - add exportWaasPrivateKey function ([#359](https://github.com/dynamic-labs/dynamic-sdk/pull/359))
189
+ - add isWaasWalletAccount function ([#365](https://github.com/dynamic-labs/dynamic-sdk/pull/365))
190
+ - add createWalletClientForWalletAccount function ([#367](https://github.com/dynamic-labs/dynamic-sdk/pull/367))
191
+ - add connectAndVerifyWithWalletProvider function ([#385](https://github.com/dynamic-labs/dynamic-sdk/pull/385))
192
+ - add event listening for wallet providers ([#389](https://github.com/dynamic-labs/dynamic-sdk/pull/389))
193
+ - expose the session expires at date ([#420](https://github.com/dynamic-labs/dynamic-sdk/pull/420))
194
+ - refresh user when cookies are enabled ([#430](https://github.com/dynamic-labs/dynamic-sdk/pull/430))
195
+ - introduce waitForClientInitialized ([#436](https://github.com/dynamic-labs/dynamic-sdk/pull/436))
196
+ - introduce isMobile helper utility ([#441](https://github.com/dynamic-labs/dynamic-sdk/pull/441))
197
+ - persist unverified wallets in local storage ([#448](https://github.com/dynamic-labs/dynamic-sdk/pull/448))
198
+ - **QNTM-3387:** add sui base infrastructure and core client ([#240](https://github.com/dynamic-labs/dynamic-sdk/pull/240))
199
+ - **SIN-7:** Add Signin with Passkey ([#201](https://github.com/dynamic-labs/dynamic-sdk/pull/201))
200
+ - **wallets:** adds methods to connect and verify a wallet ([#99](https://github.com/dynamic-labs/dynamic-sdk/pull/99))
201
+
202
+ ### 🩹 Fixes
203
+
204
+ - make the client package public ([#74](https://github.com/dynamic-labs/dynamic-sdk/pull/74))
205
+ - properly export state changed events ([#85](https://github.com/dynamic-labs/dynamic-sdk/pull/85))
206
+ - client core accidentally sharing state among different instances ([#89](https://github.com/dynamic-labs/dynamic-sdk/pull/89))
207
+ - support server side rendering ([#92](https://github.com/dynamic-labs/dynamic-sdk/pull/92))
208
+ - use correct import path for commonjs ([#125](https://github.com/dynamic-labs/dynamic-sdk/pull/125))
209
+ - ensure change events are fired only when state changes ([#168](https://github.com/dynamic-labs/dynamic-sdk/pull/168))
210
+ - solana integration ([#169](https://github.com/dynamic-labs/dynamic-sdk/pull/169))
211
+ - throw when attempting to set undefined prop in storage ([#200](https://github.com/dynamic-labs/dynamic-sdk/pull/200))
212
+ - allow the api call to include cookie credentials ([#209](https://github.com/dynamic-labs/dynamic-sdk/pull/209))
213
+ - convert api headers to get api headers ([#211](https://github.com/dynamic-labs/dynamic-sdk/pull/211))
214
+ - import zod mini using namespace ([#214](https://github.com/dynamic-labs/dynamic-sdk/pull/214))
215
+ - bind fetch to window ([#265](https://github.com/dynamic-labs/dynamic-sdk/pull/265))
216
+ - update default API base URL ([#296](https://github.com/dynamic-labs/dynamic-sdk/pull/296))
217
+ - remove version pin on sdk-api-core ([#351](https://github.com/dynamic-labs/dynamic-sdk/pull/351))
218
+ - sending transaction with solana ([#381](https://github.com/dynamic-labs/dynamic-sdk/pull/381))
219
+ - set client version to project settings api call ([#414](https://github.com/dynamic-labs/dynamic-sdk/pull/414))
220
+ - logout with wallet standard sol wallets ([#423](https://github.com/dynamic-labs/dynamic-sdk/pull/423))
221
+ - logout user when any api call fails with 401 ([#432](https://github.com/dynamic-labs/dynamic-sdk/pull/432))
222
+ - logout for connected only wallets ([#437](https://github.com/dynamic-labs/dynamic-sdk/pull/437))
223
+ - ensure server side rendering will not trigger any api call ([#445](https://github.com/dynamic-labs/dynamic-sdk/pull/445))
224
+ - handle 401 when initializing the SDK ([#446](https://github.com/dynamic-labs/dynamic-sdk/pull/446))
225
+ - logout user when any api call fails with 401 " ([#432](https://github.com/dynamic-labs/dynamic-sdk/pull/432), [#450](https://github.com/dynamic-labs/dynamic-sdk/pull/450))
226
+ - logout user only when it fails to refresh user with cookies ([#451](https://github.com/dynamic-labs/dynamic-sdk/pull/451))
227
+ - update how wallet account id is computed to support multiple wallet accounts with the same address ([#481](https://github.com/dynamic-labs/dynamic-sdk/pull/481))
228
+ - **mfa:** make device id optional ([#175](https://github.com/dynamic-labs/dynamic-sdk/pull/175))
229
+ - **mfa:** allow create mfa options to authTotpMfaDevice ([#178](https://github.com/dynamic-labs/dynamic-sdk/pull/178))
230
+
231
+ ### 🔧 Refactors
232
+
233
+ - rename initializationManager to asyncTrack ([#26](https://github.com/dynamic-labs/dynamic-sdk/pull/26))
234
+ - modularize DynamicCoreState with global interface ([#93](https://github.com/dynamic-labs/dynamic-sdk/pull/93))
235
+ - add setVerifyResponse ([#106](https://github.com/dynamic-labs/dynamic-sdk/pull/106))
236
+ - rename set verify response function ([#122](https://github.com/dynamic-labs/dynamic-sdk/pull/122))
237
+ - clean up social implementation ([#145](https://github.com/dynamic-labs/dynamic-sdk/pull/145))
238
+ - reorganize exports index file ([#303](https://github.com/dynamic-labs/dynamic-sdk/pull/303))
239
+ - rename events folder to clientEvents ([#305](https://github.com/dynamic-labs/dynamic-sdk/pull/305))
240
+ - dry network provider type ([#308](https://github.com/dynamic-labs/dynamic-sdk/pull/308))
241
+ - rename types files to include the features name ([#319](https://github.com/dynamic-labs/dynamic-sdk/pull/319))
242
+ - use evm instead of other terms ([#306](https://github.com/dynamic-labs/dynamic-sdk/pull/306))
243
+ - rename net configuration to net data ([#322](https://github.com/dynamic-labs/dynamic-sdk/pull/322))
244
+ - move waas-utils to client package ([#342](https://github.com/dynamic-labs/dynamic-sdk/pull/342))
245
+ - assert signed session id in getSignedSessionId ([#361](https://github.com/dynamic-labs/dynamic-sdk/pull/361))
246
+ - add consumeMfaTokenIfRequiredForAction function ([#363](https://github.com/dynamic-labs/dynamic-sdk/pull/363))
247
+ - waas sign message defined in waas provider ([#377](https://github.com/dynamic-labs/dynamic-sdk/pull/377))
248
+ - ban chain enum ([#386](https://github.com/dynamic-labs/dynamic-sdk/pull/386))
249
+ - ban misplaced waas exports ([#387](https://github.com/dynamic-labs/dynamic-sdk/pull/387))
250
+ - also apply lint-tsc for specfiles ([#399](https://github.com/dynamic-labs/dynamic-sdk/pull/399))
251
+ - require client to always be passed as a param for internal code ([#401](https://github.com/dynamic-labs/dynamic-sdk/pull/401))
252
+ - linter rule for addExtension functions ([#433](https://github.com/dynamic-labs/dynamic-sdk/pull/433))
253
+ - improve demo ui and organization ([#434](https://github.com/dynamic-labs/dynamic-sdk/pull/434))
254
+ - misc improvements ([#438](https://github.com/dynamic-labs/dynamic-sdk/pull/438))
255
+ - add linter rule for unpinned dependencies ([#439](https://github.com/dynamic-labs/dynamic-sdk/pull/439))
256
+ - rework captcha code for demo ([#449](https://github.com/dynamic-labs/dynamic-sdk/pull/449))
257
+ - rename schemas ([#471](https://github.com/dynamic-labs/dynamic-sdk/pull/471))
258
+
259
+ ## 0.1.0-alpha.15 (2025-10-01)
260
+
261
+ This was a version bump only, there were no code changes.
262
+
263
+ ## 0.1.0-alpha.14 (2025-09-30)
264
+
265
+ This was a version bump only, there were no code changes.
266
+
267
+ ## 0.1.0-alpha.13 (2025-09-30)
268
+
269
+ ### 🚀 Features
270
+
271
+ - persist unverified wallets in local storage ([#448](https://github.com/dynamic-labs/dynamic-sdk/pull/448))
272
+
273
+ ### 🩹 Fixes
274
+
275
+ - update how wallet account id is computed to support multiple wallet accounts with the same address ([#481](https://github.com/dynamic-labs/dynamic-sdk/pull/481))
276
+
277
+ ### 🔧 Refactors
278
+
279
+ - rename schemas ([#471](https://github.com/dynamic-labs/dynamic-sdk/pull/471))
280
+
281
+ ## 0.1.0-alpha.12 (2025-09-23)
282
+
283
+ This was a version bump only, there were no code changes.
284
+
285
+ ## 0.1.0-alpha.11 (2025-09-23)
286
+
287
+ ### 🩹 Fixes
288
+
289
+ - logout user when any api call fails with 401 " ([#432](https://github.com/dynamic-labs/dynamic-sdk/pull/432), [#450](https://github.com/dynamic-labs/dynamic-sdk/pull/450))
290
+ - logout user only when it fails to refresh user with cookies ([#451](https://github.com/dynamic-labs/dynamic-sdk/pull/451))
291
+
292
+ ### 🔧 Refactors
293
+
294
+ - rework captcha code for demo ([#449](https://github.com/dynamic-labs/dynamic-sdk/pull/449))
295
+
296
+ ## 0.1.0-alpha.10 (2025-09-22)
297
+
298
+ ### 🩹 Fixes
299
+
300
+ - ensure server side rendering will not trigger any api call ([#445](https://github.com/dynamic-labs/dynamic-sdk/pull/445))
301
+ - handle 401 when initializing the SDK ([#446](https://github.com/dynamic-labs/dynamic-sdk/pull/446))
302
+
1
303
  ## 0.1.0-alpha.9 (2025-09-19)
2
304
 
3
305
  ### 🚀 Features
package/README.md CHANGED
@@ -12,24 +12,10 @@ pnpm add @dynamic-labs-sdk/sui
12
12
 
13
13
  ```ts
14
14
  import { addSuiExtension } from '@dynamic-labs-sdk/sui';
15
+ import { createDynamicClient } from '@dynamic-labs-sdk/client';
15
16
 
16
- // Assuming you have a DynamicClient instance
17
+ const dynamicClient = createDynamicClient({
18
+ environmentId: '123',
19
+ });
17
20
  addSuiExtension(dynamicClient);
18
21
  ```
19
-
20
- This will register all SUI-compatible wallets that implement the wallet standard with your Dynamic client.
21
-
22
- ## Features
23
-
24
- - SUI wallet provider integration
25
- - SUI wallet standard support
26
- - Easy extension for Dynamic SDK
27
-
28
- ## Requirements
29
-
30
- - [@dynamic-labs-sdk/client](https://www.npmjs.com/package/@dynamic-labs-sdk/client)
31
- - [@mysten/wallet-standard](https://www.npmjs.com/package/@mysten/wallet-standard)
32
-
33
- ## License
34
-
35
- MIT
@@ -0,0 +1,264 @@
1
+ 'use strict';
2
+
3
+ var core = require('@dynamic-labs-sdk/client/core');
4
+ var walletStandard = require('@mysten/wallet-standard');
5
+ var registerSuiNetworkProviderBuilder = require('./registerSuiNetworkProviderBuilder.cjs.js');
6
+ var client = require('@dynamic-labs-sdk/client');
7
+ var sdkApiCore = require('@dynamic-labs/sdk-api-core');
8
+ var client$1 = require('@mysten/sui/client');
9
+
10
+ const createWalletProviderFromSuiStandardWallet = ({ dynamicClient, walletStandardWallet })=>{
11
+ const features = walletStandardWallet.features;
12
+ const walletProviderType = sdkApiCore.WalletProviderEnum.BrowserExtension;
13
+ const key = core.formatWalletProviderKey({
14
+ chain: 'SUI',
15
+ displayName: walletStandardWallet.name,
16
+ walletProviderType
17
+ });
18
+ const runConnectFeature = async ({ silent = false } = {})=>{
19
+ var _features_standardconnect, _result_accounts;
20
+ const connectMethod = (_features_standardconnect = features['standard:connect']) == null ? void 0 : _features_standardconnect.connect;
21
+ core.assertDefined(connectMethod, 'connect method not found in wallet features');
22
+ const result = await connectMethod({
23
+ silent
24
+ });
25
+ return {
26
+ addresses: (_result_accounts = result.accounts) == null ? void 0 : _result_accounts.map((account)=>{
27
+ var _account_publicKey;
28
+ return {
29
+ address: account.address,
30
+ publicKey: (_account_publicKey = account.publicKey) == null ? void 0 : _account_publicKey.toString()
31
+ };
32
+ })
33
+ };
34
+ };
35
+ const connect = async ()=>{
36
+ const autoConnectedAccounts = walletStandardWallet.accounts;
37
+ if ((autoConnectedAccounts == null ? void 0 : autoConnectedAccounts.length) && autoConnectedAccounts[0].address) {
38
+ var _autoConnectedAccounts__publicKey;
39
+ return {
40
+ addresses: [
41
+ {
42
+ address: autoConnectedAccounts[0].address,
43
+ publicKey: (_autoConnectedAccounts__publicKey = autoConnectedAccounts[0].publicKey) == null ? void 0 : _autoConnectedAccounts__publicKey.toString()
44
+ }
45
+ ]
46
+ };
47
+ }
48
+ return runConnectFeature();
49
+ };
50
+ const disconnect = async ()=>{
51
+ var _features_standarddisconnect;
52
+ const disconnectMethod = (_features_standarddisconnect = features['standard:disconnect']) == null ? void 0 : _features_standarddisconnect.disconnect;
53
+ core.assertDefined(disconnectMethod, 'disconnect method not found in wallet features');
54
+ await disconnectMethod();
55
+ };
56
+ const getActiveNetworkId = async ()=>core.getActiveNetworkIdFromLastKnownRegistry({
57
+ client: dynamicClient,
58
+ walletProviderKey: key
59
+ });
60
+ const getCurrentAccount = async ()=>{
61
+ var _walletStandardWallet_accounts;
62
+ if (!isConnected()) {
63
+ await runConnectFeature({
64
+ silent: true
65
+ });
66
+ }
67
+ const account = (_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts[0];
68
+ core.assertDefined(account, 'No connected accounts found');
69
+ return account;
70
+ };
71
+ const getSuiClient = async ({ walletAccount })=>{
72
+ var _activeNetworkData_networkData;
73
+ const activeNetworkData = await client.getActiveNetworkData({
74
+ walletAccount
75
+ }, dynamicClient);
76
+ core.assertDefined(activeNetworkData, 'No active network data found');
77
+ const url = (_activeNetworkData_networkData = activeNetworkData.networkData) == null ? void 0 : _activeNetworkData_networkData.rpcUrls.http[0];
78
+ core.assertDefined(url, 'No RPC URL found for active network');
79
+ const client$2 = new client$1.SuiClient({
80
+ url
81
+ });
82
+ return client$2;
83
+ };
84
+ const isConnected = ()=>{
85
+ var _walletStandardWallet_accounts;
86
+ return ((_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts.length) > 0;
87
+ };
88
+ const getConnectedAddresses = async ()=>{
89
+ if (!isConnected()) {
90
+ await runConnectFeature({
91
+ silent: true
92
+ });
93
+ }
94
+ return {
95
+ addresses: walletStandardWallet.accounts.map((account)=>account.address)
96
+ };
97
+ };
98
+ const signAndExecuteTransaction = async ({ transaction, walletAccount })=>{
99
+ var _features_suisignAndExecuteTransaction;
100
+ await client.assertWalletAccountSigningAvailability({
101
+ walletAccount
102
+ }, dynamicClient);
103
+ const signAndExecuteTransactionMethod = (_features_suisignAndExecuteTransaction = features['sui:signAndExecuteTransaction']) == null ? void 0 : _features_suisignAndExecuteTransaction.signAndExecuteTransaction;
104
+ core.assertDefined(signAndExecuteTransactionMethod, 'signAndExecuteTransaction method not found in wallet features');
105
+ const account = await getCurrentAccount();
106
+ return signAndExecuteTransactionMethod({
107
+ account,
108
+ chain: account.chains[0],
109
+ transaction
110
+ });
111
+ };
112
+ /* This method is deprecated, but still required by some wallets for backwards compatibility. */ const signAndExecuteTransactionBlock = async ({ options, requestType, transactionBlock, walletAccount })=>{
113
+ var _features_suisignAndExecuteTransactionBlock;
114
+ await client.assertWalletAccountSigningAvailability({
115
+ walletAccount
116
+ }, dynamicClient);
117
+ const signAndExecuteTransactionBlockMethod = (_features_suisignAndExecuteTransactionBlock = features['sui:signAndExecuteTransactionBlock']) == null ? void 0 : _features_suisignAndExecuteTransactionBlock.signAndExecuteTransactionBlock;
118
+ core.assertDefined(signAndExecuteTransactionBlockMethod, 'signAndExecuteTransactionBlock method not found in wallet features');
119
+ const account = await getCurrentAccount();
120
+ return signAndExecuteTransactionBlockMethod({
121
+ account,
122
+ chain: account.chains[0],
123
+ options,
124
+ requestType,
125
+ transactionBlock
126
+ });
127
+ };
128
+ const signMessage = async ({ message, walletAccount })=>{
129
+ var _features_suisignPersonalMessage;
130
+ const signMessageMethod = (_features_suisignPersonalMessage = features['sui:signPersonalMessage']) == null ? void 0 : _features_suisignPersonalMessage.signPersonalMessage;
131
+ core.assertDefined(signMessageMethod, 'signPersonalMessage method not found in wallet features');
132
+ core.assertDefined(walletAccount, 'Wallet account not found');
133
+ await client.assertWalletAccountSigningAvailability({
134
+ walletAccount
135
+ }, dynamicClient);
136
+ const encodedMessage = new TextEncoder().encode(message);
137
+ const account = await getCurrentAccount();
138
+ const { signature } = await signMessageMethod({
139
+ account,
140
+ message: encodedMessage
141
+ });
142
+ return {
143
+ signature
144
+ };
145
+ };
146
+ const signTransaction = async ({ transaction, walletAccount })=>{
147
+ var _features_suisignTransaction;
148
+ const signTransactionMethod = (_features_suisignTransaction = features['sui:signTransaction']) == null ? void 0 : _features_suisignTransaction.signTransaction;
149
+ core.assertDefined(signTransactionMethod, 'signTransaction method not found in wallet features');
150
+ await client.assertWalletAccountSigningAvailability({
151
+ walletAccount
152
+ }, dynamicClient);
153
+ const account = await getCurrentAccount();
154
+ return signTransactionMethod({
155
+ account,
156
+ chain: account.chains[0],
157
+ transaction
158
+ });
159
+ };
160
+ /* This method is deprecated, but still required by some wallets for backwards compatibility. */ const signTransactionBlock = async ({ transactionBlock, walletAccount })=>{
161
+ var _features_suisignTransactionBlock;
162
+ const signTransactionBlockMethod = (_features_suisignTransactionBlock = features['sui:signTransactionBlock']) == null ? void 0 : _features_suisignTransactionBlock.signTransactionBlock;
163
+ core.assertDefined(signTransactionBlockMethod, 'signTransactionBlock method not found in wallet features');
164
+ await client.assertWalletAccountSigningAvailability({
165
+ walletAccount
166
+ }, dynamicClient);
167
+ const account = await getCurrentAccount();
168
+ return signTransactionBlockMethod({
169
+ account,
170
+ chain: account.chains[0],
171
+ transactionBlock
172
+ });
173
+ };
174
+ const switchActiveNetwork = async ({ networkId })=>core.switchActiveNetworkInLastKnownRegistry({
175
+ client: dynamicClient,
176
+ networkId,
177
+ walletProviderKey: key
178
+ });
179
+ const { getEventEmitter, cleanupEventEmitter } = core.createWalletProviderEventEmitter({
180
+ removeEventListeners: ({ setupReturnValue })=>{
181
+ core.assertDefined(setupReturnValue, 'Setup return value not defined');
182
+ setupReturnValue();
183
+ },
184
+ setupEventListeners: ({ handleAccountsChanged })=>{
185
+ const eventsFeature = features['standard:events'];
186
+ return eventsFeature.on('change', ({ accounts })=>{
187
+ var _accounts_map;
188
+ handleAccountsChanged({
189
+ addresses: (_accounts_map = accounts == null ? void 0 : accounts.map((account)=>account.address)) != null ? _accounts_map : []
190
+ });
191
+ });
192
+ },
193
+ supportedEvents: [
194
+ 'accountsChanged'
195
+ ]
196
+ });
197
+ const terminate = async ()=>{
198
+ cleanupEventEmitter();
199
+ };
200
+ const walletProvider = {
201
+ chain: 'SUI',
202
+ connect,
203
+ disconnect,
204
+ get events () {
205
+ return getEventEmitter();
206
+ },
207
+ getActiveNetworkId,
208
+ getConnectedAddresses,
209
+ getSuiClient,
210
+ groupKey: core.formatWalletProviderGroupKey(walletStandardWallet.name),
211
+ key,
212
+ metadata: {
213
+ displayName: walletStandardWallet.name,
214
+ icon: walletStandardWallet.icon
215
+ },
216
+ signAndExecuteTransaction,
217
+ signAndExecuteTransactionBlock,
218
+ signMessage,
219
+ signTransaction,
220
+ signTransactionBlock,
221
+ switchActiveNetwork,
222
+ terminate,
223
+ walletProviderType
224
+ };
225
+ return walletProvider;
226
+ };
227
+
228
+ const SUI_WALLET_STANDARD_EXTENSION_KEY = 'suiWalletStandard';
229
+ /**
230
+ * Adds the Sui Wallet Standard extension to the Dynamic client.
231
+ *
232
+ * This extension enables integration with wallets that implement the Sui Wallet Standard,
233
+ * automatically detecting and registering compatible wallets for use with the Dynamic SDK.
234
+ *
235
+ * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
236
+ */ const addSuiWalletStandardExtension = (client = core.getDefaultClient())=>{
237
+ if (core.hasExtension({
238
+ extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY
239
+ }, client)) {
240
+ return;
241
+ }
242
+ core.registerExtension({
243
+ extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY
244
+ }, client);
245
+ registerSuiNetworkProviderBuilder.registerSuiNetworkProviderBuilder(client);
246
+ const walletProviderRegistry = core.getWalletProviderRegistry(client);
247
+ const walletStandardWallets = walletStandard.getWallets().get().filter((wallet)=>walletStandard.isWalletWithRequiredFeatureSet(wallet, [
248
+ 'standard:events',
249
+ 'standard:connect',
250
+ 'sui:signPersonalMessage'
251
+ ]));
252
+ walletStandardWallets.forEach((walletStandardWallet)=>{
253
+ const walletProvider = createWalletProviderFromSuiStandardWallet({
254
+ dynamicClient: client,
255
+ walletStandardWallet
256
+ });
257
+ walletProviderRegistry.register({
258
+ priority: core.WalletProviderPriority.WALLET_SELF_ANNOUNCEMENT_STANDARD,
259
+ walletProvider
260
+ });
261
+ });
262
+ };
263
+
264
+ exports.addSuiWalletStandardExtension = addSuiWalletStandardExtension;