@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.
- package/CHANGELOG.md +302 -0
- package/README.md +4 -18
- package/addSuiWalletStandardExtension.cjs.js +264 -0
- package/addSuiWalletStandardExtension.esm.js +262 -0
- package/addWaasSuiExtension.cjs.js +141 -0
- package/addWaasSuiExtension.esm.js +139 -0
- package/index.cjs.js +146 -20
- package/index.esm.js +141 -17
- package/package.json +13 -5
- package/registerSuiNetworkProviderBuilder.cjs.js +62 -0
- package/registerSuiNetworkProviderBuilder.esm.js +57 -0
- package/src/SuiNetworkProvider.types.d.ts +8 -0
- package/src/SuiNetworkProvider.types.d.ts.map +1 -0
- package/src/SuiWalletAccount.types.d.ts +8 -0
- package/src/SuiWalletAccount.types.d.ts.map +1 -0
- package/src/SuiWalletProvider.types.d.ts +40 -0
- package/src/SuiWalletProvider.types.d.ts.map +1 -0
- package/src/addSuiExtension/addSuiExtension.d.ts +11 -0
- package/src/addSuiExtension/addSuiExtension.d.ts.map +1 -0
- package/src/addSuiExtension/index.d.ts +2 -0
- package/src/addSuiExtension/index.d.ts.map +1 -0
- package/src/errors/NotSuiProviderError/NotSuiProviderError.d.ts.map +1 -1
- package/src/exports/index.d.ts +9 -4
- package/src/exports/index.d.ts.map +1 -1
- package/src/exports/waas.d.ts +2 -0
- package/src/exports/waas.d.ts.map +1 -0
- package/src/exports/walletStandard.d.ts +2 -0
- package/src/exports/walletStandard.d.ts.map +1 -0
- package/src/getSuiClient/getSuiClient.d.ts +3 -3
- package/src/getSuiClient/getSuiClient.d.ts.map +1 -1
- package/src/isSuiNetworkProvider/index.d.ts +2 -0
- package/src/isSuiNetworkProvider/index.d.ts.map +1 -0
- package/src/isSuiNetworkProvider/isSuiNetworkProvider.d.ts +10 -0
- package/src/isSuiNetworkProvider/isSuiNetworkProvider.d.ts.map +1 -0
- package/src/isSuiWalletAccount/isSuiWalletAccount.d.ts +5 -4
- package/src/isSuiWalletAccount/isSuiWalletAccount.d.ts.map +1 -1
- package/src/isSuiWalletProvider/isSuiWalletProvider.d.ts +1 -5
- package/src/isSuiWalletProvider/isSuiWalletProvider.d.ts.map +1 -1
- package/src/registerSuiNetworkProviderBuilder/index.d.ts +2 -0
- package/src/registerSuiNetworkProviderBuilder/index.d.ts.map +1 -0
- package/src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts +3 -0
- package/src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts.map +1 -0
- package/src/signAndExecuteTransaction/index.d.ts +2 -0
- package/src/signAndExecuteTransaction/index.d.ts.map +1 -0
- package/src/signAndExecuteTransaction/signAndExecuteTransaction.d.ts +17 -0
- package/src/signAndExecuteTransaction/signAndExecuteTransaction.d.ts.map +1 -0
- package/src/signAndExecuteTransactionBlock/index.d.ts +2 -0
- package/src/signAndExecuteTransactionBlock/index.d.ts.map +1 -0
- package/src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts +25 -0
- package/src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts.map +1 -0
- package/src/signTransaction/index.d.ts +2 -0
- package/src/signTransaction/index.d.ts.map +1 -0
- package/src/signTransaction/signTransaction.d.ts +17 -0
- package/src/signTransaction/signTransaction.d.ts.map +1 -0
- package/src/signTransactionBlock/index.d.ts +2 -0
- package/src/signTransactionBlock/index.d.ts.map +1 -0
- package/src/signTransactionBlock/signTransactionBlock.d.ts +20 -0
- package/src/signTransactionBlock/signTransactionBlock.d.ts.map +1 -0
- package/src/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts +4 -0
- package/src/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts.map +1 -0
- package/src/utils/createSuiNetworkProvider/index.d.ts +2 -0
- package/src/utils/createSuiNetworkProvider/index.d.ts.map +1 -0
- package/src/utils/fetchSuiBalance/fetchSuiBalance.d.ts +5 -0
- package/src/utils/fetchSuiBalance/fetchSuiBalance.d.ts.map +1 -0
- package/src/utils/fetchSuiBalance/index.d.ts +2 -0
- package/src/utils/fetchSuiBalance/index.d.ts.map +1 -0
- package/src/waas/WaasSuiWalletProvider.types.d.ts +4 -0
- package/src/waas/WaasSuiWalletProvider.types.d.ts.map +1 -0
- package/src/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts +11 -0
- package/src/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts.map +1 -0
- package/src/waas/addWaasSuiExtension/index.d.ts +2 -0
- package/src/waas/addWaasSuiExtension/index.d.ts.map +1 -0
- package/src/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts +4 -0
- package/src/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts.map +1 -0
- package/src/waas/utils/createWalletProviderForWaasSui/index.d.ts +2 -0
- package/src/waas/utils/createWalletProviderForWaasSui/index.d.ts.map +1 -0
- package/src/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts +11 -0
- package/src/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts.map +1 -0
- package/src/walletStandard/addSuiWalletStandardExtension/index.d.ts +2 -0
- package/src/walletStandard/addSuiWalletStandardExtension/index.d.ts.map +1 -0
- package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts +10 -0
- package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts.map +1 -0
- package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts +2 -0
- package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts.map +1 -0
- package/waas.cjs.d.ts +1 -0
- package/waas.cjs.js +15 -0
- package/waas.esm.d.ts +1 -0
- package/waas.esm.js +11 -0
- package/walletStandard.cjs.d.ts +1 -0
- package/walletStandard.cjs.js +15 -0
- package/walletStandard.esm.d.ts +1 -0
- package/walletStandard.esm.js +11 -0
- package/src/types/SuiClient.types.d.ts +0 -29
- package/src/types/SuiClient.types.d.ts.map +0 -1
- package/src/types/SuiWalletFeatures.types.d.ts +0 -32
- package/src/types/SuiWalletFeatures.types.d.ts.map +0 -1
- package/src/types/SuiWalletProvider.types.d.ts +0 -8
- 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
|
-
|
|
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;
|