@dynamic-labs-sdk/sui 0.1.2 → 0.2.3

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 (168) hide show
  1. package/dist/SuiNetworkProvider.types.d.ts.map +1 -0
  2. package/dist/SuiWalletAccount.types.d.ts.map +1 -0
  3. package/dist/SuiWalletProvider.types.d.ts.map +1 -0
  4. package/{src → dist}/addSuiExtension/addSuiExtension.d.ts +1 -1
  5. package/dist/addSuiExtension/addSuiExtension.d.ts.map +1 -0
  6. package/dist/addSuiExtension/index.d.ts.map +1 -0
  7. package/dist/addSuiWalletStandardExtension-CsaAXmct.esm.js +197 -0
  8. package/dist/addSuiWalletStandardExtension-CsaAXmct.esm.js.map +1 -0
  9. package/dist/addSuiWalletStandardExtension-rcQSzsTf.cjs.js +202 -0
  10. package/dist/addSuiWalletStandardExtension-rcQSzsTf.cjs.js.map +1 -0
  11. package/dist/addWaasSuiExtension-BiqnHHuw.esm.js +122 -0
  12. package/dist/addWaasSuiExtension-BiqnHHuw.esm.js.map +1 -0
  13. package/dist/addWaasSuiExtension-CxlX_a8e.cjs.js +127 -0
  14. package/dist/addWaasSuiExtension-CxlX_a8e.cjs.js.map +1 -0
  15. package/dist/errors/NotSuiProviderError/NotSuiProviderError.d.ts.map +1 -0
  16. package/dist/errors/NotSuiProviderError/index.d.ts.map +1 -0
  17. package/dist/exports/index.d.ts.map +1 -0
  18. package/dist/exports/waas.d.ts.map +1 -0
  19. package/dist/exports/walletStandard.d.ts.map +1 -0
  20. package/{src → dist}/getSuiClient/getSuiClient.d.ts +1 -1
  21. package/dist/getSuiClient/getSuiClient.d.ts.map +1 -0
  22. package/dist/getSuiClient/index.d.ts.map +1 -0
  23. package/dist/index.cjs.js +182 -0
  24. package/dist/index.cjs.js.map +1 -0
  25. package/dist/index.esm.js +174 -0
  26. package/dist/index.esm.js.map +1 -0
  27. package/dist/isSuiNetworkProvider/index.d.ts.map +1 -0
  28. package/dist/isSuiNetworkProvider/isSuiNetworkProvider.d.ts.map +1 -0
  29. package/dist/isSuiWalletAccount/index.d.ts.map +1 -0
  30. package/dist/isSuiWalletAccount/isSuiWalletAccount.d.ts.map +1 -0
  31. package/dist/isSuiWalletProvider/index.d.ts.map +1 -0
  32. package/dist/isSuiWalletProvider/isSuiWalletProvider.d.ts.map +1 -0
  33. package/dist/registerSuiNetworkProviderBuilder/index.d.ts.map +1 -0
  34. package/dist/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts.map +1 -0
  35. package/dist/registerSuiNetworkProviderBuilder-9cPYr6qc.esm.js +44 -0
  36. package/dist/registerSuiNetworkProviderBuilder-9cPYr6qc.esm.js.map +1 -0
  37. package/dist/registerSuiNetworkProviderBuilder-CgFK-0xS.cjs.js +61 -0
  38. package/dist/registerSuiNetworkProviderBuilder-CgFK-0xS.cjs.js.map +1 -0
  39. package/dist/signAndExecuteTransaction/index.d.ts.map +1 -0
  40. package/{src → dist}/signAndExecuteTransaction/signAndExecuteTransaction.d.ts +1 -1
  41. package/dist/signAndExecuteTransaction/signAndExecuteTransaction.d.ts.map +1 -0
  42. package/dist/signAndExecuteTransactionBlock/index.d.ts.map +1 -0
  43. package/{src → dist}/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts +1 -1
  44. package/dist/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts.map +1 -0
  45. package/dist/signTransaction/index.d.ts.map +1 -0
  46. package/{src → dist}/signTransaction/signTransaction.d.ts +1 -1
  47. package/dist/signTransaction/signTransaction.d.ts.map +1 -0
  48. package/dist/signTransactionBlock/index.d.ts.map +1 -0
  49. package/{src → dist}/signTransactionBlock/signTransactionBlock.d.ts +1 -1
  50. package/dist/signTransactionBlock/signTransactionBlock.d.ts.map +1 -0
  51. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  52. package/dist/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts.map +1 -0
  53. package/dist/utils/createSuiNetworkProvider/index.d.ts.map +1 -0
  54. package/dist/utils/fetchSuiBalance/fetchSuiBalance.d.ts.map +1 -0
  55. package/dist/utils/fetchSuiBalance/index.d.ts.map +1 -0
  56. package/dist/waas/WaasSuiWalletProvider.types.d.ts.map +1 -0
  57. package/{src → dist}/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts +1 -1
  58. package/dist/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts.map +1 -0
  59. package/dist/waas/addWaasSuiExtension/index.d.ts.map +1 -0
  60. package/dist/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts.map +1 -0
  61. package/dist/waas/utils/createWalletProviderForWaasSui/index.d.ts.map +1 -0
  62. package/dist/waas.cjs.js +10 -0
  63. package/dist/waas.cjs.js.map +1 -0
  64. package/dist/waas.esm.js +10 -0
  65. package/dist/waas.esm.js.map +1 -0
  66. package/{src → dist}/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts +1 -1
  67. package/dist/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts.map +1 -0
  68. package/dist/walletStandard/addSuiWalletStandardExtension/index.d.ts.map +1 -0
  69. package/dist/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts.map +1 -0
  70. package/dist/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts.map +1 -0
  71. package/dist/walletStandard.cjs.js +10 -0
  72. package/dist/walletStandard.cjs.js.map +1 -0
  73. package/dist/walletStandard.esm.js +10 -0
  74. package/dist/walletStandard.esm.js.map +1 -0
  75. package/package.json +30 -18
  76. package/CHANGELOG.md +0 -606
  77. package/addSuiWalletStandardExtension.cjs.js +0 -264
  78. package/addSuiWalletStandardExtension.esm.js +0 -262
  79. package/addWaasSuiExtension.cjs.js +0 -141
  80. package/addWaasSuiExtension.esm.js +0 -139
  81. package/index.cjs.d.ts +0 -1
  82. package/index.cjs.js +0 -193
  83. package/index.esm.d.ts +0 -1
  84. package/index.esm.js +0 -183
  85. package/registerSuiNetworkProviderBuilder.cjs.js +0 -62
  86. package/registerSuiNetworkProviderBuilder.esm.js +0 -57
  87. package/src/SuiNetworkProvider.types.d.ts.map +0 -1
  88. package/src/SuiWalletAccount.types.d.ts.map +0 -1
  89. package/src/SuiWalletProvider.types.d.ts.map +0 -1
  90. package/src/addSuiExtension/addSuiExtension.d.ts.map +0 -1
  91. package/src/addSuiExtension/index.d.ts.map +0 -1
  92. package/src/errors/NotSuiProviderError/NotSuiProviderError.d.ts.map +0 -1
  93. package/src/errors/NotSuiProviderError/index.d.ts.map +0 -1
  94. package/src/exports/index.d.ts.map +0 -1
  95. package/src/exports/waas.d.ts.map +0 -1
  96. package/src/exports/walletStandard.d.ts.map +0 -1
  97. package/src/getSuiClient/getSuiClient.d.ts.map +0 -1
  98. package/src/getSuiClient/index.d.ts.map +0 -1
  99. package/src/isSuiNetworkProvider/index.d.ts.map +0 -1
  100. package/src/isSuiNetworkProvider/isSuiNetworkProvider.d.ts.map +0 -1
  101. package/src/isSuiWalletAccount/index.d.ts.map +0 -1
  102. package/src/isSuiWalletAccount/isSuiWalletAccount.d.ts.map +0 -1
  103. package/src/isSuiWalletProvider/index.d.ts.map +0 -1
  104. package/src/isSuiWalletProvider/isSuiWalletProvider.d.ts.map +0 -1
  105. package/src/registerSuiNetworkProviderBuilder/index.d.ts.map +0 -1
  106. package/src/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts.map +0 -1
  107. package/src/signAndExecuteTransaction/index.d.ts.map +0 -1
  108. package/src/signAndExecuteTransaction/signAndExecuteTransaction.d.ts.map +0 -1
  109. package/src/signAndExecuteTransactionBlock/index.d.ts.map +0 -1
  110. package/src/signAndExecuteTransactionBlock/signAndExecuteTransactionBlock.d.ts.map +0 -1
  111. package/src/signTransaction/index.d.ts.map +0 -1
  112. package/src/signTransaction/signTransaction.d.ts.map +0 -1
  113. package/src/signTransactionBlock/index.d.ts.map +0 -1
  114. package/src/signTransactionBlock/signTransactionBlock.d.ts.map +0 -1
  115. package/src/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts.map +0 -1
  116. package/src/utils/createSuiNetworkProvider/index.d.ts.map +0 -1
  117. package/src/utils/fetchSuiBalance/fetchSuiBalance.d.ts.map +0 -1
  118. package/src/utils/fetchSuiBalance/index.d.ts.map +0 -1
  119. package/src/waas/WaasSuiWalletProvider.types.d.ts.map +0 -1
  120. package/src/waas/addWaasSuiExtension/addWaasSuiExtension.d.ts.map +0 -1
  121. package/src/waas/addWaasSuiExtension/index.d.ts.map +0 -1
  122. package/src/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts.map +0 -1
  123. package/src/waas/utils/createWalletProviderForWaasSui/index.d.ts.map +0 -1
  124. package/src/walletStandard/addSuiWalletStandardExtension/addSuiWalletStandardExtension.d.ts.map +0 -1
  125. package/src/walletStandard/addSuiWalletStandardExtension/index.d.ts.map +0 -1
  126. package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts.map +0 -1
  127. package/src/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts.map +0 -1
  128. package/waas.cjs.d.ts +0 -1
  129. package/waas.cjs.js +0 -15
  130. package/waas.esm.d.ts +0 -1
  131. package/waas.esm.js +0 -11
  132. package/walletStandard.cjs.d.ts +0 -1
  133. package/walletStandard.cjs.js +0 -15
  134. package/walletStandard.esm.d.ts +0 -1
  135. package/walletStandard.esm.js +0 -11
  136. /package/{src → dist}/SuiNetworkProvider.types.d.ts +0 -0
  137. /package/{src → dist}/SuiWalletAccount.types.d.ts +0 -0
  138. /package/{src → dist}/SuiWalletProvider.types.d.ts +0 -0
  139. /package/{src → dist}/addSuiExtension/index.d.ts +0 -0
  140. /package/{src → dist}/errors/NotSuiProviderError/NotSuiProviderError.d.ts +0 -0
  141. /package/{src → dist}/errors/NotSuiProviderError/index.d.ts +0 -0
  142. /package/{src → dist}/exports/index.d.ts +0 -0
  143. /package/{src → dist}/exports/waas.d.ts +0 -0
  144. /package/{src → dist}/exports/walletStandard.d.ts +0 -0
  145. /package/{src → dist}/getSuiClient/index.d.ts +0 -0
  146. /package/{src → dist}/isSuiNetworkProvider/index.d.ts +0 -0
  147. /package/{src → dist}/isSuiNetworkProvider/isSuiNetworkProvider.d.ts +0 -0
  148. /package/{src → dist}/isSuiWalletAccount/index.d.ts +0 -0
  149. /package/{src → dist}/isSuiWalletAccount/isSuiWalletAccount.d.ts +0 -0
  150. /package/{src → dist}/isSuiWalletProvider/index.d.ts +0 -0
  151. /package/{src → dist}/isSuiWalletProvider/isSuiWalletProvider.d.ts +0 -0
  152. /package/{src → dist}/registerSuiNetworkProviderBuilder/index.d.ts +0 -0
  153. /package/{src → dist}/registerSuiNetworkProviderBuilder/registerSuiNetworkProviderBuilder.d.ts +0 -0
  154. /package/{src → dist}/signAndExecuteTransaction/index.d.ts +0 -0
  155. /package/{src → dist}/signAndExecuteTransactionBlock/index.d.ts +0 -0
  156. /package/{src → dist}/signTransaction/index.d.ts +0 -0
  157. /package/{src → dist}/signTransactionBlock/index.d.ts +0 -0
  158. /package/{src → dist}/utils/createSuiNetworkProvider/createSuiNetworkProvider.d.ts +0 -0
  159. /package/{src → dist}/utils/createSuiNetworkProvider/index.d.ts +0 -0
  160. /package/{src → dist}/utils/fetchSuiBalance/fetchSuiBalance.d.ts +0 -0
  161. /package/{src → dist}/utils/fetchSuiBalance/index.d.ts +0 -0
  162. /package/{src → dist}/waas/WaasSuiWalletProvider.types.d.ts +0 -0
  163. /package/{src → dist}/waas/addWaasSuiExtension/index.d.ts +0 -0
  164. /package/{src → dist}/waas/utils/createWalletProviderForWaasSui/createWalletProviderForWaasSui.d.ts +0 -0
  165. /package/{src → dist}/waas/utils/createWalletProviderForWaasSui/index.d.ts +0 -0
  166. /package/{src → dist}/walletStandard/addSuiWalletStandardExtension/index.d.ts +0 -0
  167. /package/{src → dist}/walletStandard/utils/createWalletProviderFromSuiStandardWallet/createWalletProviderFromSuiStandardWallet.d.ts +0 -0
  168. /package/{src → dist}/walletStandard/utils/createWalletProviderFromSuiStandardWallet/index.d.ts +0 -0
@@ -1,264 +0,0 @@
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;
@@ -1,262 +0,0 @@
1
- import { formatWalletProviderKey, createWalletProviderEventEmitter, assertDefined, formatWalletProviderGroupKey, switchActiveNetworkInLastKnownRegistry, getActiveNetworkIdFromLastKnownRegistry, getDefaultClient, hasExtension, registerExtension, getWalletProviderRegistry, WalletProviderPriority } from '@dynamic-labs-sdk/client/core';
2
- import { getWallets, isWalletWithRequiredFeatureSet } from '@mysten/wallet-standard';
3
- import { r as registerSuiNetworkProviderBuilder } from './registerSuiNetworkProviderBuilder.esm.js';
4
- import { assertWalletAccountSigningAvailability, getActiveNetworkData } from '@dynamic-labs-sdk/client';
5
- import { WalletProviderEnum } from '@dynamic-labs/sdk-api-core';
6
- import { SuiClient } from '@mysten/sui/client';
7
-
8
- const createWalletProviderFromSuiStandardWallet = ({ dynamicClient, walletStandardWallet })=>{
9
- const features = walletStandardWallet.features;
10
- const walletProviderType = WalletProviderEnum.BrowserExtension;
11
- const key = formatWalletProviderKey({
12
- chain: 'SUI',
13
- displayName: walletStandardWallet.name,
14
- walletProviderType
15
- });
16
- const runConnectFeature = async ({ silent = false } = {})=>{
17
- var _features_standardconnect, _result_accounts;
18
- const connectMethod = (_features_standardconnect = features['standard:connect']) == null ? void 0 : _features_standardconnect.connect;
19
- assertDefined(connectMethod, 'connect method not found in wallet features');
20
- const result = await connectMethod({
21
- silent
22
- });
23
- return {
24
- addresses: (_result_accounts = result.accounts) == null ? void 0 : _result_accounts.map((account)=>{
25
- var _account_publicKey;
26
- return {
27
- address: account.address,
28
- publicKey: (_account_publicKey = account.publicKey) == null ? void 0 : _account_publicKey.toString()
29
- };
30
- })
31
- };
32
- };
33
- const connect = async ()=>{
34
- const autoConnectedAccounts = walletStandardWallet.accounts;
35
- if ((autoConnectedAccounts == null ? void 0 : autoConnectedAccounts.length) && autoConnectedAccounts[0].address) {
36
- var _autoConnectedAccounts__publicKey;
37
- return {
38
- addresses: [
39
- {
40
- address: autoConnectedAccounts[0].address,
41
- publicKey: (_autoConnectedAccounts__publicKey = autoConnectedAccounts[0].publicKey) == null ? void 0 : _autoConnectedAccounts__publicKey.toString()
42
- }
43
- ]
44
- };
45
- }
46
- return runConnectFeature();
47
- };
48
- const disconnect = async ()=>{
49
- var _features_standarddisconnect;
50
- const disconnectMethod = (_features_standarddisconnect = features['standard:disconnect']) == null ? void 0 : _features_standarddisconnect.disconnect;
51
- assertDefined(disconnectMethod, 'disconnect method not found in wallet features');
52
- await disconnectMethod();
53
- };
54
- const getActiveNetworkId = async ()=>getActiveNetworkIdFromLastKnownRegistry({
55
- client: dynamicClient,
56
- walletProviderKey: key
57
- });
58
- const getCurrentAccount = async ()=>{
59
- var _walletStandardWallet_accounts;
60
- if (!isConnected()) {
61
- await runConnectFeature({
62
- silent: true
63
- });
64
- }
65
- const account = (_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts[0];
66
- assertDefined(account, 'No connected accounts found');
67
- return account;
68
- };
69
- const getSuiClient = async ({ walletAccount })=>{
70
- var _activeNetworkData_networkData;
71
- const activeNetworkData = await getActiveNetworkData({
72
- walletAccount
73
- }, dynamicClient);
74
- assertDefined(activeNetworkData, 'No active network data found');
75
- const url = (_activeNetworkData_networkData = activeNetworkData.networkData) == null ? void 0 : _activeNetworkData_networkData.rpcUrls.http[0];
76
- assertDefined(url, 'No RPC URL found for active network');
77
- const client = new SuiClient({
78
- url
79
- });
80
- return client;
81
- };
82
- const isConnected = ()=>{
83
- var _walletStandardWallet_accounts;
84
- return ((_walletStandardWallet_accounts = walletStandardWallet.accounts) == null ? void 0 : _walletStandardWallet_accounts.length) > 0;
85
- };
86
- const getConnectedAddresses = async ()=>{
87
- if (!isConnected()) {
88
- await runConnectFeature({
89
- silent: true
90
- });
91
- }
92
- return {
93
- addresses: walletStandardWallet.accounts.map((account)=>account.address)
94
- };
95
- };
96
- const signAndExecuteTransaction = async ({ transaction, walletAccount })=>{
97
- var _features_suisignAndExecuteTransaction;
98
- await assertWalletAccountSigningAvailability({
99
- walletAccount
100
- }, dynamicClient);
101
- const signAndExecuteTransactionMethod = (_features_suisignAndExecuteTransaction = features['sui:signAndExecuteTransaction']) == null ? void 0 : _features_suisignAndExecuteTransaction.signAndExecuteTransaction;
102
- assertDefined(signAndExecuteTransactionMethod, 'signAndExecuteTransaction method not found in wallet features');
103
- const account = await getCurrentAccount();
104
- return signAndExecuteTransactionMethod({
105
- account,
106
- chain: account.chains[0],
107
- transaction
108
- });
109
- };
110
- /* This method is deprecated, but still required by some wallets for backwards compatibility. */ const signAndExecuteTransactionBlock = async ({ options, requestType, transactionBlock, walletAccount })=>{
111
- var _features_suisignAndExecuteTransactionBlock;
112
- await assertWalletAccountSigningAvailability({
113
- walletAccount
114
- }, dynamicClient);
115
- const signAndExecuteTransactionBlockMethod = (_features_suisignAndExecuteTransactionBlock = features['sui:signAndExecuteTransactionBlock']) == null ? void 0 : _features_suisignAndExecuteTransactionBlock.signAndExecuteTransactionBlock;
116
- assertDefined(signAndExecuteTransactionBlockMethod, 'signAndExecuteTransactionBlock method not found in wallet features');
117
- const account = await getCurrentAccount();
118
- return signAndExecuteTransactionBlockMethod({
119
- account,
120
- chain: account.chains[0],
121
- options,
122
- requestType,
123
- transactionBlock
124
- });
125
- };
126
- const signMessage = async ({ message, walletAccount })=>{
127
- var _features_suisignPersonalMessage;
128
- const signMessageMethod = (_features_suisignPersonalMessage = features['sui:signPersonalMessage']) == null ? void 0 : _features_suisignPersonalMessage.signPersonalMessage;
129
- assertDefined(signMessageMethod, 'signPersonalMessage method not found in wallet features');
130
- assertDefined(walletAccount, 'Wallet account not found');
131
- await assertWalletAccountSigningAvailability({
132
- walletAccount
133
- }, dynamicClient);
134
- const encodedMessage = new TextEncoder().encode(message);
135
- const account = await getCurrentAccount();
136
- const { signature } = await signMessageMethod({
137
- account,
138
- message: encodedMessage
139
- });
140
- return {
141
- signature
142
- };
143
- };
144
- const signTransaction = async ({ transaction, walletAccount })=>{
145
- var _features_suisignTransaction;
146
- const signTransactionMethod = (_features_suisignTransaction = features['sui:signTransaction']) == null ? void 0 : _features_suisignTransaction.signTransaction;
147
- assertDefined(signTransactionMethod, 'signTransaction method not found in wallet features');
148
- await assertWalletAccountSigningAvailability({
149
- walletAccount
150
- }, dynamicClient);
151
- const account = await getCurrentAccount();
152
- return signTransactionMethod({
153
- account,
154
- chain: account.chains[0],
155
- transaction
156
- });
157
- };
158
- /* This method is deprecated, but still required by some wallets for backwards compatibility. */ const signTransactionBlock = async ({ transactionBlock, walletAccount })=>{
159
- var _features_suisignTransactionBlock;
160
- const signTransactionBlockMethod = (_features_suisignTransactionBlock = features['sui:signTransactionBlock']) == null ? void 0 : _features_suisignTransactionBlock.signTransactionBlock;
161
- assertDefined(signTransactionBlockMethod, 'signTransactionBlock method not found in wallet features');
162
- await assertWalletAccountSigningAvailability({
163
- walletAccount
164
- }, dynamicClient);
165
- const account = await getCurrentAccount();
166
- return signTransactionBlockMethod({
167
- account,
168
- chain: account.chains[0],
169
- transactionBlock
170
- });
171
- };
172
- const switchActiveNetwork = async ({ networkId })=>switchActiveNetworkInLastKnownRegistry({
173
- client: dynamicClient,
174
- networkId,
175
- walletProviderKey: key
176
- });
177
- const { getEventEmitter, cleanupEventEmitter } = createWalletProviderEventEmitter({
178
- removeEventListeners: ({ setupReturnValue })=>{
179
- assertDefined(setupReturnValue, 'Setup return value not defined');
180
- setupReturnValue();
181
- },
182
- setupEventListeners: ({ handleAccountsChanged })=>{
183
- const eventsFeature = features['standard:events'];
184
- return eventsFeature.on('change', ({ accounts })=>{
185
- var _accounts_map;
186
- handleAccountsChanged({
187
- addresses: (_accounts_map = accounts == null ? void 0 : accounts.map((account)=>account.address)) != null ? _accounts_map : []
188
- });
189
- });
190
- },
191
- supportedEvents: [
192
- 'accountsChanged'
193
- ]
194
- });
195
- const terminate = async ()=>{
196
- cleanupEventEmitter();
197
- };
198
- const walletProvider = {
199
- chain: 'SUI',
200
- connect,
201
- disconnect,
202
- get events () {
203
- return getEventEmitter();
204
- },
205
- getActiveNetworkId,
206
- getConnectedAddresses,
207
- getSuiClient,
208
- groupKey: formatWalletProviderGroupKey(walletStandardWallet.name),
209
- key,
210
- metadata: {
211
- displayName: walletStandardWallet.name,
212
- icon: walletStandardWallet.icon
213
- },
214
- signAndExecuteTransaction,
215
- signAndExecuteTransactionBlock,
216
- signMessage,
217
- signTransaction,
218
- signTransactionBlock,
219
- switchActiveNetwork,
220
- terminate,
221
- walletProviderType
222
- };
223
- return walletProvider;
224
- };
225
-
226
- const SUI_WALLET_STANDARD_EXTENSION_KEY = 'suiWalletStandard';
227
- /**
228
- * Adds the Sui Wallet Standard extension to the Dynamic client.
229
- *
230
- * This extension enables integration with wallets that implement the Sui Wallet Standard,
231
- * automatically detecting and registering compatible wallets for use with the Dynamic SDK.
232
- *
233
- * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
234
- */ const addSuiWalletStandardExtension = (client = getDefaultClient())=>{
235
- if (hasExtension({
236
- extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY
237
- }, client)) {
238
- return;
239
- }
240
- registerExtension({
241
- extensionKey: SUI_WALLET_STANDARD_EXTENSION_KEY
242
- }, client);
243
- registerSuiNetworkProviderBuilder(client);
244
- const walletProviderRegistry = getWalletProviderRegistry(client);
245
- const walletStandardWallets = getWallets().get().filter((wallet)=>isWalletWithRequiredFeatureSet(wallet, [
246
- 'standard:events',
247
- 'standard:connect',
248
- 'sui:signPersonalMessage'
249
- ]));
250
- walletStandardWallets.forEach((walletStandardWallet)=>{
251
- const walletProvider = createWalletProviderFromSuiStandardWallet({
252
- dynamicClient: client,
253
- walletStandardWallet
254
- });
255
- walletProviderRegistry.register({
256
- priority: WalletProviderPriority.WALLET_SELF_ANNOUNCEMENT_STANDARD,
257
- walletProvider
258
- });
259
- });
260
- };
261
-
262
- export { addSuiWalletStandardExtension as a };
@@ -1,141 +0,0 @@
1
- 'use strict';
2
-
3
- var core = require('@dynamic-labs-sdk/client/core');
4
- var registerSuiNetworkProviderBuilder = require('./registerSuiNetworkProviderBuilder.cjs.js');
5
- var client = require('@dynamic-labs-sdk/client');
6
- var core$1 = require('@dynamic-labs-sdk/client/waas/core');
7
- var sdkApiCore = require('@dynamic-labs/sdk-api-core');
8
- var client$1 = require('@mysten/sui/client');
9
-
10
- const createWalletProviderForWaasSui = (sdkClient)=>{
11
- const chain = 'SUI';
12
- const walletProviderType = sdkApiCore.WalletProviderEnum.EmbeddedWallet;
13
- const key = core.formatWalletProviderKey({
14
- chain,
15
- displayName: core$1.DYNAMIC_WAAS_METADATA.displayName,
16
- walletProviderType
17
- });
18
- const waasProvider = core$1.createWaasProvider({
19
- chain,
20
- sdkClient
21
- });
22
- const getActiveNetworkId = async ()=>core.getActiveNetworkIdFromLastKnownRegistry({
23
- client: sdkClient,
24
- walletProviderKey: key
25
- });
26
- const getSuiClient = async ({ walletAccount })=>{
27
- var _activeNetworkData_networkData;
28
- const activeNetworkData = await client.getActiveNetworkData({
29
- walletAccount
30
- }, sdkClient);
31
- core.assertDefined(activeNetworkData, 'No active network data found');
32
- const url = (_activeNetworkData_networkData = activeNetworkData.networkData) == null ? void 0 : _activeNetworkData_networkData.rpcUrls.http[0];
33
- core.assertDefined(url, 'No RPC URL found for active network');
34
- return new client$1.SuiClient({
35
- url
36
- });
37
- };
38
- const switchActiveNetwork = async ({ networkId })=>core.switchActiveNetworkInLastKnownRegistry({
39
- client: sdkClient,
40
- networkId,
41
- walletProviderKey: key
42
- });
43
- const getConnectedAddresses = async ()=>{
44
- const waasSolanaAddresses = core$1.getAllUserWaasAddressesForChain({
45
- chain
46
- }, sdkClient);
47
- return {
48
- addresses: waasSolanaAddresses
49
- };
50
- };
51
- const signAndExecuteTransaction = async ({ transaction, walletAccount })=>{
52
- var _response_effects;
53
- const { bytes, signature } = await signTransaction({
54
- transaction,
55
- walletAccount
56
- });
57
- const suiClient = await getSuiClient({
58
- walletAccount
59
- });
60
- const response = await suiClient.executeTransactionBlock({
61
- signature,
62
- transactionBlock: bytes
63
- });
64
- var _response_effects_toString;
65
- return registerSuiNetworkProviderBuilder._extends({}, response, {
66
- bytes,
67
- effects: (_response_effects_toString = (_response_effects = response.effects) == null ? void 0 : _response_effects.toString()) != null ? _response_effects_toString : '',
68
- signature
69
- });
70
- };
71
- const signTransaction = async ({ transaction, walletAccount })=>{
72
- const suiClient = await getSuiClient({
73
- walletAccount
74
- });
75
- const txBytes = await transaction.build({
76
- client: suiClient
77
- });
78
- const txBytesBase64 = core.getBuffer().from(txBytes).toString('base64');
79
- const txString = core.getBuffer().from(txBytes).toString('hex');
80
- const { signature } = await waasProvider.signSerializedTransaction({
81
- serializedTransaction: txString,
82
- walletAccount
83
- });
84
- return {
85
- bytes: txBytesBase64,
86
- signature
87
- };
88
- };
89
- const signMessage = async ({ message, walletAccount })=>{
90
- core.assertDefined(walletAccount, 'Wallet account is required');
91
- return waasProvider.signMessage({
92
- message,
93
- walletAccount
94
- });
95
- };
96
- return registerSuiNetworkProviderBuilder._extends({}, waasProvider, {
97
- chain,
98
- getActiveNetworkId,
99
- getConnectedAddresses,
100
- getSuiClient,
101
- groupKey: core.formatWalletProviderGroupKey(core$1.DYNAMIC_WAAS_METADATA.displayName),
102
- key,
103
- metadata: {
104
- displayName: core$1.DYNAMIC_WAAS_METADATA.displayName,
105
- icon: core$1.DYNAMIC_WAAS_METADATA.icon
106
- },
107
- signAndExecuteTransaction,
108
- signMessage,
109
- signTransaction,
110
- switchActiveNetwork,
111
- walletProviderType
112
- });
113
- };
114
-
115
- const WAAS_SUI_EXTENSION_KEY = 'waasSui';
116
- /**
117
- * Adds the Dynamic WaaS (Wallet as a Service) Sui extension to the Dynamic client.
118
- *
119
- * This extension enables embedded wallet functionality for Sui blockchain,
120
- * allowing users to have wallets managed by Dynamic's infrastructure.
121
- *
122
- * @param [client] - The Dynamic client instance. Only required when using multiple Dynamic clients.
123
- */ const addWaasSuiExtension = (client = core.getDefaultClient())=>{
124
- if (core.hasExtension({
125
- extensionKey: WAAS_SUI_EXTENSION_KEY
126
- }, client)) {
127
- return;
128
- }
129
- core.registerExtension({
130
- extensionKey: WAAS_SUI_EXTENSION_KEY
131
- }, client);
132
- registerSuiNetworkProviderBuilder.registerSuiNetworkProviderBuilder(client);
133
- const walletProviderRegistry = core.getWalletProviderRegistry(client);
134
- const walletProvider = createWalletProviderForWaasSui(client);
135
- walletProviderRegistry.register({
136
- priority: core.WalletProviderPriority.WALLET_SDK,
137
- walletProvider
138
- });
139
- };
140
-
141
- exports.addWaasSuiExtension = addWaasSuiExtension;