@mysten/docs 0.1.17 → 0.1.19
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/dist/bcs/index.md +1 -1
- package/dist/bcs/llms-index.md +1 -1
- package/dist/codegen/index.md +53 -53
- package/dist/codegen/llms-index.md +1 -1
- package/dist/dapp-kit/actions/connect-wallet.md +4 -4
- package/dist/dapp-kit/actions/disconnect-wallet.md +8 -7
- package/dist/dapp-kit/actions/sign-and-execute-transaction.md +14 -14
- package/dist/dapp-kit/actions/sign-personal-message.md +8 -8
- package/dist/dapp-kit/actions/sign-transaction.md +7 -7
- package/dist/dapp-kit/actions/switch-account.md +6 -6
- package/dist/dapp-kit/actions/switch-network.md +5 -5
- package/dist/dapp-kit/dapp-kit-instance.md +19 -18
- package/dist/dapp-kit/getting-started/create-dapp.md +12 -12
- package/dist/dapp-kit/getting-started/next-js.md +12 -11
- package/dist/dapp-kit/getting-started/react.md +25 -25
- package/dist/dapp-kit/getting-started/vue.md +12 -12
- package/dist/dapp-kit/index.md +4 -4
- package/dist/dapp-kit/llms-index.md +23 -23
- package/dist/dapp-kit/react/components/connect-button.md +3 -3
- package/dist/dapp-kit/react/components/connect-modal.md +3 -3
- package/dist/dapp-kit/react/components/index.md +2 -2
- package/dist/dapp-kit/react/dapp-kit-provider.md +6 -6
- package/dist/dapp-kit/react/hooks/index.md +4 -3
- package/dist/dapp-kit/react/hooks/use-current-account.md +3 -3
- package/dist/dapp-kit/react/hooks/use-current-client.md +3 -3
- package/dist/dapp-kit/react/hooks/use-current-network.md +3 -3
- package/dist/dapp-kit/react/hooks/use-current-wallet.md +3 -3
- package/dist/dapp-kit/react/hooks/use-dapp-kit.md +5 -5
- package/dist/dapp-kit/react/hooks/use-wallet-connection.md +3 -3
- package/dist/dapp-kit/react/hooks/use-wallets.md +3 -3
- package/dist/dapp-kit/state.md +16 -16
- package/dist/dapp-kit/theming.md +27 -27
- package/dist/dapp-kit/web-components/connect-button.md +9 -9
- package/dist/dapp-kit/web-components/connect-modal.md +16 -16
- package/dist/kiosk/advanced-examples.md +1 -1
- package/dist/kiosk/from-v1.md +1 -1
- package/dist/kiosk/index.md +5 -5
- package/dist/kiosk/kiosk-client/introduction.md +6 -6
- package/dist/kiosk/kiosk-client/kiosk-transaction/examples.md +3 -3
- package/dist/kiosk/kiosk-client/kiosk-transaction/kiosk-transaction.md +1 -1
- package/dist/kiosk/kiosk-client/kiosk-transaction/managing.md +11 -11
- package/dist/kiosk/kiosk-client/kiosk-transaction/purchasing.md +1 -1
- package/dist/kiosk/kiosk-client/querying.md +1 -1
- package/dist/kiosk/kiosk-client/transfer-policy-transaction/introduction.md +1 -1
- package/dist/kiosk/kiosk-client/transfer-policy-transaction/using-the-manager.md +1 -3
- package/dist/kiosk/llms-index.md +5 -5
- package/dist/llms-index.md +84 -83
- package/dist/payment-kit/getting-started.md +13 -13
- package/dist/payment-kit/index.md +13 -13
- package/dist/payment-kit/llms-index.md +5 -5
- package/dist/payment-kit/payment-kit-sdk.md +18 -18
- package/dist/payment-kit/payment-processing.md +34 -34
- package/dist/payment-kit/registry-management.md +35 -35
- package/dist/seal/index.md +5 -5
- package/dist/seal/llms-index.md +1 -1
- package/dist/slush-wallet/dapp.md +10 -10
- package/dist/slush-wallet/deep-linking.md +54 -54
- package/dist/slush-wallet/index.md +2 -2
- package/dist/slush-wallet/llms-index.md +3 -3
- package/dist/sui/bcs.md +11 -11
- package/dist/sui/clients/core.md +57 -56
- package/dist/sui/clients/graphql.md +3 -3
- package/dist/sui/clients/grpc.md +10 -10
- package/dist/sui/clients/index.md +14 -14
- package/dist/sui/clients/json-rpc.md +16 -16
- package/dist/sui/cryptography/keypairs.md +6 -6
- package/dist/sui/cryptography/multisig.md +4 -4
- package/dist/sui/cryptography/passkey.md +15 -14
- package/dist/sui/cryptography/webcrypto-signer.md +4 -4
- package/dist/sui/executors.md +18 -16
- package/dist/sui/faucet.md +3 -3
- package/dist/sui/hello-sui.md +5 -5
- package/dist/sui/index.md +12 -12
- package/dist/sui/install.md +3 -3
- package/dist/sui/llm-docs.md +9 -9
- package/dist/sui/llms-index.md +41 -41
- package/dist/sui/migrations/0.38.md +6 -6
- package/dist/sui/migrations/sui-1.0.md +32 -32
- package/dist/sui/migrations/sui-2.0/agent-prompt.md +3 -3
- package/dist/sui/migrations/sui-2.0/dapp-kit.md +43 -43
- package/dist/sui/migrations/sui-2.0/deepbook-v3.md +1 -1
- package/dist/sui/migrations/sui-2.0/index.md +37 -37
- package/dist/sui/migrations/sui-2.0/json-rpc-migration.md +53 -47
- package/dist/sui/migrations/sui-2.0/kiosk.md +8 -8
- package/dist/sui/migrations/sui-2.0/sdk-maintainers.md +7 -7
- package/dist/sui/migrations/sui-2.0/seal.md +1 -1
- package/dist/sui/migrations/sui-2.0/sui.md +16 -16
- package/dist/sui/migrations/sui-2.0/suins.md +4 -3
- package/dist/sui/migrations/sui-2.0/wallet-builders.md +5 -5
- package/dist/sui/migrations/sui-2.0/walrus.md +3 -3
- package/dist/sui/migrations/sui-2.0/zksend.md +5 -5
- package/dist/sui/plugins.md +14 -14
- package/dist/sui/sdk-building.md +32 -32
- package/dist/sui/transaction-building/basics.md +13 -13
- package/dist/sui/transaction-building/gas.md +2 -3
- package/dist/sui/transaction-building/intents.md +4 -4
- package/dist/sui/transaction-building/offline.md +8 -8
- package/dist/sui/transaction-building/sponsored-transactions.md +1 -1
- package/dist/sui/utils/derived_objects.md +10 -10
- package/dist/sui/utils/index.md +8 -1
- package/dist/sui/zklogin.md +1 -1
- package/dist/walrus/index.md +1 -1
- package/dist/walrus/llms-index.md +1 -1
- package/dist/zksend/composable-claim.md +70 -0
- package/dist/zksend/index.md +2 -2
- package/dist/zksend/link-builder.md +5 -4
- package/dist/zksend/llms-index.md +3 -2
- package/package.json +8 -8
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Migrating from JSON-RPC
|
|
2
2
|
|
|
3
|
-
> Migrate from JSON-RPC to the new Core API
|
|
3
|
+
> Migrate from JSON-RPC to the new Core API using SuiGrpcClient or SuiGraphQLClient.
|
|
4
4
|
|
|
5
5
|
This guide covers migrating from `SuiJsonRpcClient` to the new client APIs. The JSON-RPC API is
|
|
6
6
|
being deprecated in favor of `SuiGrpcClient` and `SuiGraphQLClient`.
|
|
@@ -8,14 +8,14 @@ being deprecated in favor of `SuiGrpcClient` and `SuiGraphQLClient`.
|
|
|
8
8
|
> **Note:** We recommend using `SuiGrpcClient` for most operations and `SuiGraphQLClient` for complex queries
|
|
9
9
|
> like filtering transactions and events.
|
|
10
10
|
|
|
11
|
-
## Choosing a
|
|
11
|
+
## Choosing a client
|
|
12
12
|
|
|
13
13
|
| Client | Best For |
|
|
14
14
|
| ------------------ | --------------------------------------------------------------- |
|
|
15
15
|
| `SuiGrpcClient` | Most operations, SDK integrations, real-time data |
|
|
16
16
|
| `SuiGraphQLClient` | Complex queries, filtering transactions/events, historical data |
|
|
17
17
|
|
|
18
|
-
## Quick
|
|
18
|
+
## Quick migration to gRPC
|
|
19
19
|
|
|
20
20
|
For most use cases, migrate to `SuiGrpcClient`:
|
|
21
21
|
|
|
@@ -35,13 +35,13 @@ For most use cases, migrate to `SuiGrpcClient`:
|
|
|
35
35
|
|
|
36
36
|
Both clients use the same full node URLs, so you can use the same endpoint when migrating.
|
|
37
37
|
|
|
38
|
-
## Core API
|
|
38
|
+
## Core API methods
|
|
39
39
|
|
|
40
40
|
The gRPC client should work with almost all mysten SDKs as a drop in replacement for the JSON-RPC
|
|
41
41
|
client. When using the client directly, the methods and data returned will not be exactly the same
|
|
42
42
|
as what was available in JSON-RPC.
|
|
43
43
|
|
|
44
|
-
## Methods
|
|
44
|
+
## Methods replaced by core API
|
|
45
45
|
|
|
46
46
|
These JSON-RPC methods have direct replacements in the core API:
|
|
47
47
|
|
|
@@ -88,28 +88,28 @@ These JSON-RPC methods have direct replacements in the core API:
|
|
|
88
88
|
+ });
|
|
89
89
|
```
|
|
90
90
|
|
|
91
|
-
## Methods
|
|
91
|
+
## Methods replaced by gRPC services
|
|
92
92
|
|
|
93
93
|
These JSON-RPC methods can be replaced by calling gRPC service clients directly:
|
|
94
94
|
|
|
95
|
-
| JSON-RPC Method | gRPC Service Replacement
|
|
96
|
-
| ----------------------------------- |
|
|
97
|
-
| `getCheckpoint` | `ledgerService.getCheckpoint`
|
|
98
|
-
| `getCheckpoints` | `ledgerService.listCheckpoints`
|
|
99
|
-
| `getLatestCheckpointSequenceNumber` | `ledgerService.getCheckpoint`
|
|
100
|
-
| `getEpochs` | `ledgerService.listEpochs`
|
|
101
|
-
| `getCurrentEpoch` | `ledgerService.getEpoch`
|
|
102
|
-
| `getLatestSuiSystemState` | `ledgerService.getSystemState`
|
|
103
|
-
| `getCommitteeInfo` | `ledgerService.getCommittee`
|
|
104
|
-
| `getValidatorsApy` | `ledgerService.getValidators`
|
|
105
|
-
| `getProtocolConfig` | `ledgerService.getProtocolConfig`
|
|
106
|
-
| `getNormalizedMoveModule` | `movePackageService.
|
|
107
|
-
| `getNormalizedMoveModulesByPackage` | `movePackageService.getPackage`
|
|
108
|
-
| `getNormalizedMoveStruct` | `movePackageService.
|
|
109
|
-
| `resolveNameServiceAddress` | `nameService.lookupName`
|
|
110
|
-
| `resolveNameServiceNames` | `nameService.reverseLookupName`
|
|
111
|
-
|
|
112
|
-
### Example:
|
|
95
|
+
| JSON-RPC Method | gRPC Service Replacement |
|
|
96
|
+
| ----------------------------------- | --------------------------------------------------------------- |
|
|
97
|
+
| `getCheckpoint` | `ledgerService.getCheckpoint` |
|
|
98
|
+
| `getCheckpoints` | `ledgerService.listCheckpoints` |
|
|
99
|
+
| `getLatestCheckpointSequenceNumber` | `ledgerService.getCheckpoint` |
|
|
100
|
+
| `getEpochs` | `ledgerService.listEpochs` |
|
|
101
|
+
| `getCurrentEpoch` | `ledgerService.getEpoch` |
|
|
102
|
+
| `getLatestSuiSystemState` | `ledgerService.getSystemState` |
|
|
103
|
+
| `getCommitteeInfo` | `ledgerService.getCommittee` |
|
|
104
|
+
| `getValidatorsApy` | `ledgerService.getValidators` |
|
|
105
|
+
| `getProtocolConfig` | `ledgerService.getProtocolConfig` |
|
|
106
|
+
| `getNormalizedMoveModule` | `movePackageService.getPackage` (response includes all modules) |
|
|
107
|
+
| `getNormalizedMoveModulesByPackage` | `movePackageService.getPackage` |
|
|
108
|
+
| `getNormalizedMoveStruct` | `movePackageService.getDatatype` |
|
|
109
|
+
| `resolveNameServiceAddress` | `nameService.lookupName` |
|
|
110
|
+
| `resolveNameServiceNames` | `nameService.reverseLookupName` |
|
|
111
|
+
|
|
112
|
+
### Example: using gRPC service clients
|
|
113
113
|
|
|
114
114
|
```typescript
|
|
115
115
|
|
|
@@ -126,10 +126,16 @@ const { response } = await client.ledgerService.getCheckpoint({
|
|
|
126
126
|
// Get current epoch
|
|
127
127
|
const { response: epoch } = await client.ledgerService.getEpoch({});
|
|
128
128
|
|
|
129
|
-
// Get Move
|
|
130
|
-
const { response:
|
|
129
|
+
// Get Move package information (includes all modules)
|
|
130
|
+
const { response: pkg } = await client.movePackageService.getPackage({
|
|
131
|
+
packageId: '0x2',
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
// Get a specific Move datatype (struct or enum)
|
|
135
|
+
const { response: datatype } = await client.movePackageService.getDatatype({
|
|
131
136
|
packageId: '0x2',
|
|
132
137
|
moduleName: 'coin',
|
|
138
|
+
name: 'Coin',
|
|
133
139
|
});
|
|
134
140
|
|
|
135
141
|
// Resolve SuiNS name
|
|
@@ -138,7 +144,7 @@ const { response: address } = await client.nameService.lookupName({
|
|
|
138
144
|
});
|
|
139
145
|
```
|
|
140
146
|
|
|
141
|
-
## Methods
|
|
147
|
+
## Methods requiring GraphQL
|
|
142
148
|
|
|
143
149
|
Some JSON-RPC methods don't have gRPC equivalents and require using `SuiGraphQLClient` instead:
|
|
144
150
|
|
|
@@ -156,7 +162,7 @@ Some JSON-RPC methods don't have gRPC equivalents and require using `SuiGraphQLC
|
|
|
156
162
|
| `getAddressMetrics` | Use indexer |
|
|
157
163
|
| `getMoveCallMetrics` | Use indexer |
|
|
158
164
|
|
|
159
|
-
### Setting
|
|
165
|
+
### Setting up GraphQL client
|
|
160
166
|
|
|
161
167
|
```typescript
|
|
162
168
|
|
|
@@ -166,7 +172,7 @@ const graphqlClient = new SuiGraphQLClient({
|
|
|
166
172
|
});
|
|
167
173
|
```
|
|
168
174
|
|
|
169
|
-
### Querying
|
|
175
|
+
### Querying transactions
|
|
170
176
|
|
|
171
177
|
Replace `queryTransactionBlocks` with a GraphQL query:
|
|
172
178
|
|
|
@@ -202,14 +208,14 @@ const result = await graphqlClient.query({
|
|
|
202
208
|
|
|
203
209
|
**Available transaction filters:**
|
|
204
210
|
|
|
205
|
-
- `sentAddress
|
|
206
|
-
- `affectedAddress
|
|
207
|
-
- `affectedObject
|
|
208
|
-
- `function
|
|
209
|
-
- `kind
|
|
211
|
+
- `sentAddress`: Filter by sender address
|
|
212
|
+
- `affectedAddress`: Filter by any address involved in the transaction
|
|
213
|
+
- `affectedObject`: Filter by object ID that was affected
|
|
214
|
+
- `function`: Filter by Move function called (for example, `0x2::coin::transfer`)
|
|
215
|
+
- `kind`: Filter by transaction kind (`SYSTEM` or `PROGRAMMABLE`)
|
|
210
216
|
- `atCheckpoint` / `beforeCheckpoint` / `afterCheckpoint` - Filter by checkpoint
|
|
211
217
|
|
|
212
|
-
### Querying
|
|
218
|
+
### Querying events
|
|
213
219
|
|
|
214
220
|
Replace `queryEvents` with a GraphQL query:
|
|
215
221
|
|
|
@@ -249,12 +255,12 @@ const result = await graphqlClient.query({
|
|
|
249
255
|
|
|
250
256
|
**Available event filters:**
|
|
251
257
|
|
|
252
|
-
- `type
|
|
253
|
-
- `module
|
|
254
|
-
- `sender
|
|
255
|
-
- `atCheckpoint` / `beforeCheckpoint` / `afterCheckpoint
|
|
258
|
+
- `type`: Filter by event type (package, package::module, or full type)
|
|
259
|
+
- `module`: Filter by emitting module
|
|
260
|
+
- `sender`: Filter by transaction sender
|
|
261
|
+
- `atCheckpoint` / `beforeCheckpoint` / `afterCheckpoint`: Filter by checkpoint
|
|
256
262
|
|
|
257
|
-
### Fetching
|
|
263
|
+
### Fetching multiple transactions
|
|
258
264
|
|
|
259
265
|
Replace `multiGetTransactionBlocks` with a GraphQL query:
|
|
260
266
|
|
|
@@ -278,7 +284,7 @@ const result = await graphqlClient.query({
|
|
|
278
284
|
});
|
|
279
285
|
```
|
|
280
286
|
|
|
281
|
-
### Querying
|
|
287
|
+
### Querying historical objects
|
|
282
288
|
|
|
283
289
|
Replace `tryGetPastObject` with a GraphQL query specifying a version:
|
|
284
290
|
|
|
@@ -306,7 +312,7 @@ const result = await graphqlClient.query({
|
|
|
306
312
|
});
|
|
307
313
|
```
|
|
308
314
|
|
|
309
|
-
### Querying
|
|
315
|
+
### Querying coin metadata
|
|
310
316
|
|
|
311
317
|
Replace `getCoinMetadata` and `getTotalSupply` with a GraphQL query:
|
|
312
318
|
|
|
@@ -330,7 +336,7 @@ const result = await graphqlClient.query({
|
|
|
330
336
|
});
|
|
331
337
|
```
|
|
332
338
|
|
|
333
|
-
### Querying
|
|
339
|
+
### Querying staked SUI
|
|
334
340
|
|
|
335
341
|
Replace `getStakes` with a GraphQL query:
|
|
336
342
|
|
|
@@ -358,10 +364,10 @@ const result = await graphqlClient.query({
|
|
|
358
364
|
});
|
|
359
365
|
```
|
|
360
366
|
|
|
361
|
-
## Response
|
|
367
|
+
## Response format differences
|
|
362
368
|
|
|
363
369
|
The gRPC client uses the core API response format, which differs from JSON-RPC responses. See the
|
|
364
|
-
[
|
|
370
|
+
[`@mysten/sui` migration guide](/sui/migrations/sui-2.0/sui#transaction-executors-now-accept-any-client)
|
|
365
371
|
for details on the new response format.
|
|
366
372
|
|
|
367
373
|
Key differences:
|
|
@@ -377,7 +383,7 @@ Key differences:
|
|
|
377
383
|
+ { effects: true, events: true }
|
|
378
384
|
```
|
|
379
385
|
|
|
380
|
-
## Client
|
|
386
|
+
## Client extensions
|
|
381
387
|
|
|
382
388
|
Client extensions work the same way with both clients:
|
|
383
389
|
|
|
@@ -393,7 +399,7 @@ await client.deepbook.checkManagerBalance(manager, asset);
|
|
|
393
399
|
await client.suins.getName('0xabc...');
|
|
394
400
|
```
|
|
395
401
|
|
|
396
|
-
## See
|
|
402
|
+
## See also
|
|
397
403
|
|
|
398
404
|
- [SuiGrpcClient Documentation](/sui/clients/grpc) - Full gRPC client documentation
|
|
399
405
|
- [SuiGraphQLClient Documentation](/sui/clients/graphql) - GraphQL client documentation
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mysten/kiosk
|
|
2
2
|
|
|
3
|
-
> Migrate @mysten/kiosk to 2.0
|
|
3
|
+
> Migrate @mysten/kiosk to 2.0 with client extension pattern and KioskTransaction.
|
|
4
4
|
|
|
5
5
|
This package now exports a client extension that integrates with Sui clients.
|
|
6
6
|
|
|
@@ -27,7 +27,7 @@ This package now exports a client extension that integrates with Sui clients.
|
|
|
27
27
|
+ const ownedKiosks = await client.kiosk.getOwnedKiosks({ address: myAddress });
|
|
28
28
|
```
|
|
29
29
|
|
|
30
|
-
## Removed: transactionBlock
|
|
30
|
+
## Removed: `transactionBlock` parameter
|
|
31
31
|
|
|
32
32
|
The deprecated `transactionBlock` parameter has been removed from `KioskTransaction`,
|
|
33
33
|
`TransferPolicyTransaction`, and rule resolving functions. Use `transaction` instead:
|
|
@@ -48,12 +48,12 @@ const tpTx = new TransferPolicyTransaction({
|
|
|
48
48
|
});
|
|
49
49
|
```
|
|
50
50
|
|
|
51
|
-
## Removed:
|
|
51
|
+
## Removed: low-level helper functions
|
|
52
52
|
|
|
53
53
|
The low-level helper functions have been removed in favor of the `KioskTransaction` and
|
|
54
54
|
`TransferPolicyTransaction` builder classes.
|
|
55
55
|
|
|
56
|
-
### Kiosk
|
|
56
|
+
### Kiosk functions
|
|
57
57
|
|
|
58
58
|
| Removed Function | Use Instead |
|
|
59
59
|
| ------------------- | ------------------------ |
|
|
@@ -70,7 +70,7 @@ The low-level helper functions have been removed in favor of the `KioskTransacti
|
|
|
70
70
|
| `borrowValue` | `kioskTx.borrow()` |
|
|
71
71
|
| `returnValue` | `kioskTx.return()` |
|
|
72
72
|
|
|
73
|
-
### Transfer
|
|
73
|
+
### Transfer policy functions
|
|
74
74
|
|
|
75
75
|
| Removed Function | Use Instead |
|
|
76
76
|
| ------------------------------------ | ------------------------------------------------------- |
|
|
@@ -79,14 +79,14 @@ The low-level helper functions have been removed in favor of the `KioskTransacti
|
|
|
79
79
|
| `confirmRequest` | Handled automatically by `kioskTx.purchaseAndResolve()` |
|
|
80
80
|
| `removeTransferPolicyRule` | `tpTx.removeRule()` |
|
|
81
81
|
|
|
82
|
-
### Personal Kiosk
|
|
82
|
+
### Personal Kiosk functions
|
|
83
83
|
|
|
84
84
|
| Removed Function | Use Instead |
|
|
85
85
|
| ----------------------- | --------------------------------------------- |
|
|
86
86
|
| `convertToPersonalTx` | `kioskTx.convertToPersonal()` |
|
|
87
87
|
| `transferPersonalCapTx` | Handled automatically by `kioskTx.finalize()` |
|
|
88
88
|
|
|
89
|
-
### Rule
|
|
89
|
+
### Rule attachment functions
|
|
90
90
|
|
|
91
91
|
| Removed Function | Use Instead |
|
|
92
92
|
| --------------------------- | ----------------------------- |
|
|
@@ -95,7 +95,7 @@ The low-level helper functions have been removed in favor of the `KioskTransacti
|
|
|
95
95
|
| `attachPersonalKioskRuleTx` | `tpTx.addPersonalKioskRule()` |
|
|
96
96
|
| `attachFloorPriceRuleTx` | `tpTx.addFloorPriceRule()` |
|
|
97
97
|
|
|
98
|
-
## Migration
|
|
98
|
+
## Migration example
|
|
99
99
|
|
|
100
100
|
```diff
|
|
101
101
|
- import { createKiosk, shareKiosk, placeAndList } from '@mysten/kiosk';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# SDK Maintainers
|
|
2
2
|
|
|
3
|
-
> Migration guide for SDK maintainers and library authors
|
|
3
|
+
> Migration guide for SDK maintainers and library authors upgrading to 2.0.
|
|
4
4
|
|
|
5
5
|
# Upgrading SDKs to @mysten/sui@2.0.0
|
|
6
6
|
|
|
@@ -22,7 +22,7 @@ gRPC):
|
|
|
22
22
|
}
|
|
23
23
|
```
|
|
24
24
|
|
|
25
|
-
## Access
|
|
25
|
+
## Access data through `client.core` methods
|
|
26
26
|
|
|
27
27
|
All data access methods are namespaced under `client.core`:
|
|
28
28
|
|
|
@@ -44,7 +44,7 @@ All data access methods are namespaced under `client.core`:
|
|
|
44
44
|
|
|
45
45
|
See the [Core API documentation](/sui/clients/core) for all available methods.
|
|
46
46
|
|
|
47
|
-
## Use
|
|
47
|
+
## Use peer dependencies
|
|
48
48
|
|
|
49
49
|
Declare `@mysten/*` packages as peer dependencies:
|
|
50
50
|
|
|
@@ -59,7 +59,7 @@ Declare `@mysten/*` packages as peer dependencies:
|
|
|
59
59
|
}
|
|
60
60
|
```
|
|
61
61
|
|
|
62
|
-
## Client
|
|
62
|
+
## Client extensions
|
|
63
63
|
|
|
64
64
|
v2.0 introduces client extensions that let users add your SDK to any Sui client:
|
|
65
65
|
|
|
@@ -81,10 +81,10 @@ await client.mySDK.doSomething();
|
|
|
81
81
|
See the [Building SDKs guide](/sui/sdk-building#client-extensions) for the complete extension
|
|
82
82
|
pattern.
|
|
83
83
|
|
|
84
|
-
## Code
|
|
84
|
+
## Code generation
|
|
85
85
|
|
|
86
|
-
Use
|
|
87
|
-
|
|
86
|
+
Use [`@mysten/codegen`](/codegen) to generate type-safe TypeScript bindings from your Move packages.
|
|
87
|
+
See the [codegen documentation](/codegen) for setup instructions.
|
|
88
88
|
|
|
89
89
|
For complete SDK development patterns including client extensions, transaction thunks, and best
|
|
90
90
|
practices, see the [Building SDKs guide](/sui/sdk-building).
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @mysten/sui
|
|
2
2
|
|
|
3
|
-
> Migrate @mysten/sui from 1.x to 2.0
|
|
3
|
+
> Migrate @mysten/sui from 1.x to 2.0 with new client APIs and BCS changes.
|
|
4
4
|
|
|
5
|
-
## Removal of SuiClient
|
|
5
|
+
## Removal of `SuiClient` exports
|
|
6
6
|
|
|
7
7
|
The `@mysten/sui/client` export path has been removed. All JSON-RPC client functionality is now
|
|
8
8
|
exported from `@mysten/sui/jsonRpc`.
|
|
@@ -34,7 +34,7 @@ exported from `@mysten/sui/jsonRpc`.
|
|
|
34
34
|
});
|
|
35
35
|
```
|
|
36
36
|
|
|
37
|
-
## Network
|
|
37
|
+
## Network parameter required
|
|
38
38
|
|
|
39
39
|
When creating a new `SuiGraphQLClient` or `SuiJsonRpcClient`, you must now provide a `network`
|
|
40
40
|
parameter:
|
|
@@ -51,13 +51,13 @@ const client = new SuiJsonRpcClient({
|
|
|
51
51
|
});
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
-
## BCS
|
|
54
|
+
## BCS schema changes
|
|
55
55
|
|
|
56
56
|
Several BCS schemas in `@mysten/sui/bcs` have been updated to align exactly with the Rust
|
|
57
57
|
implementation. These changes affect serialization and deserialization of transaction effects and
|
|
58
58
|
objects.
|
|
59
59
|
|
|
60
|
-
### ExecutionStatus
|
|
60
|
+
### `ExecutionStatus` changes
|
|
61
61
|
|
|
62
62
|
**BCS Schema** (when parsing raw effects): The variant was renamed from `Failed` to `Failure`:
|
|
63
63
|
|
|
@@ -66,7 +66,7 @@ objects.
|
|
|
66
66
|
+ effects.status.Failure.error
|
|
67
67
|
```
|
|
68
68
|
|
|
69
|
-
**Core API** (gRPC
|
|
69
|
+
**Core API** (gRPC and GraphQL responses): Uses a simplified structure with a `success` boolean:
|
|
70
70
|
|
|
71
71
|
```typescript
|
|
72
72
|
// Core API returns this structure
|
|
@@ -80,7 +80,7 @@ if (tx.effects.status.success) {
|
|
|
80
80
|
}
|
|
81
81
|
```
|
|
82
82
|
|
|
83
|
-
### Object BCS
|
|
83
|
+
### Object BCS schema changes
|
|
84
84
|
|
|
85
85
|
Several changes to object BCS schemas:
|
|
86
86
|
|
|
@@ -107,7 +107,7 @@ const data = {
|
|
|
107
107
|
**This affects serialization.** Any existing serialized data with `ConsensusV2` will need to be
|
|
108
108
|
re-serialized with the new `ConsensusAddressOwner` variant.
|
|
109
109
|
|
|
110
|
-
### UnchangedSharedKind to UnchangedConsensusKind
|
|
110
|
+
### `UnchangedSharedKind` to `UnchangedConsensusKind`
|
|
111
111
|
|
|
112
112
|
Transaction effects field renamed:
|
|
113
113
|
|
|
@@ -122,7 +122,7 @@ Transaction effects field renamed:
|
|
|
122
122
|
**New variants:** `MutateConsensusStreamEnded`, `ReadConsensusStreamEnded`, `Cancelled`,
|
|
123
123
|
`PerEpochConfig`
|
|
124
124
|
|
|
125
|
-
## Experimental
|
|
125
|
+
## Experimental client API stabilization
|
|
126
126
|
|
|
127
127
|
The experimental client API has been stabilized and moved from `@mysten/sui/experimental` to
|
|
128
128
|
`@mysten/sui/client`. All `Experimental_` prefixes have been removed.
|
|
@@ -171,7 +171,7 @@ The experimental client API has been stabilized and moved from `@mysten/sui/expe
|
|
|
171
171
|
| `Experimental_SuiClientTypes` | `SuiClientTypes` |
|
|
172
172
|
| `Experimental_CoreClientOptions` | `CoreClientOptions` |
|
|
173
173
|
|
|
174
|
-
## Commands
|
|
174
|
+
## Commands renamed to `TransactionCommands`
|
|
175
175
|
|
|
176
176
|
The `Commands` type exported from `@mysten/sui/transactions` has been renamed to
|
|
177
177
|
`TransactionCommands` because `Commands` is a reserved keyword in React Native.
|
|
@@ -187,7 +187,7 @@ The `Commands` type exported from `@mysten/sui/transactions` has been renamed to
|
|
|
187
187
|
+ tx.add(TransactionCommands.TransferObjects([coin], recipient));
|
|
188
188
|
```
|
|
189
189
|
|
|
190
|
-
## GraphQL
|
|
190
|
+
## GraphQL schema consolidation
|
|
191
191
|
|
|
192
192
|
The SDK now exports a single unified GraphQL schema instead of multiple versioned schemas.
|
|
193
193
|
|
|
@@ -206,7 +206,7 @@ The SDK now exports a single unified GraphQL schema instead of multiple versione
|
|
|
206
206
|
+ import { graphql } from '@mysten/sui/graphql/schema';
|
|
207
207
|
```
|
|
208
208
|
|
|
209
|
-
## Named
|
|
209
|
+
## Named packages plugin removed
|
|
210
210
|
|
|
211
211
|
The `namedPackagesPlugin` and global plugin registry APIs have been removed. MVR (Move Registry)
|
|
212
212
|
resolution is now built directly into the core client.
|
|
@@ -250,7 +250,7 @@ MVR name resolution happens automatically during transaction building. The SDK d
|
|
|
250
250
|
+ });
|
|
251
251
|
```
|
|
252
252
|
|
|
253
|
-
## Transaction
|
|
253
|
+
## Transaction executors now accept any client
|
|
254
254
|
|
|
255
255
|
The transaction executor classes now accept any client implementing `ClientWithCoreApi` instead of
|
|
256
256
|
requiring `SuiJsonRpcClient` specifically.
|
|
@@ -301,9 +301,9 @@ Include options have also changed:
|
|
|
301
301
|
+ });
|
|
302
302
|
```
|
|
303
303
|
|
|
304
|
-
##
|
|
304
|
+
## zkLogin changes
|
|
305
305
|
|
|
306
|
-
### legacyAddress
|
|
306
|
+
### `legacyAddress` parameter required
|
|
307
307
|
|
|
308
308
|
The `legacyAddress` parameter is now **required** for all zkLogin address computation functions.
|
|
309
309
|
|
|
@@ -327,7 +327,7 @@ The `legacyAddress` parameter is now **required** for all zkLogin address comput
|
|
|
327
327
|
+ toZkLoginPublicIdentifier(addressSeed, iss, { legacyAddress: false })
|
|
328
328
|
```
|
|
329
329
|
|
|
330
|
-
## Default
|
|
330
|
+
## Default transaction expiration
|
|
331
331
|
|
|
332
332
|
Transactions now default the expiration to the current epoch + 1 using `ValidDuring` when built with
|
|
333
333
|
a client. This provides replay protection for all transactions without requiring explicit
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @mysten/suins
|
|
2
2
|
|
|
3
|
-
> Migrate @mysten/suins to 2.0
|
|
3
|
+
> Migrate @mysten/suins to 2.0 with client extension pattern.
|
|
4
4
|
|
|
5
5
|
This package now exports a client extension that integrates with Sui clients.
|
|
6
6
|
|
|
@@ -24,9 +24,10 @@ This package now exports a client extension that integrates with Sui clients.
|
|
|
24
24
|
+ const nameRecord = await client.suins.getNameRecord('example.sui');
|
|
25
25
|
```
|
|
26
26
|
|
|
27
|
-
## Custom
|
|
27
|
+
## Custom package IDs
|
|
28
28
|
|
|
29
|
-
For custom deployments or networks other than
|
|
29
|
+
For custom deployments or networks other than Mainnet or Testnet, you can provide custom package
|
|
30
|
+
info:
|
|
30
31
|
|
|
31
32
|
```ts
|
|
32
33
|
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
# Wallet Builders
|
|
2
2
|
|
|
3
|
-
> Migration guide for wallet extension developers
|
|
3
|
+
> Migration guide for wallet extension developers upgrading to 2.0.
|
|
4
4
|
|
|
5
5
|
This guide covers the breaking changes for wallet builders implementing the
|
|
6
6
|
`@mysten/wallet-standard` interface.
|
|
7
7
|
|
|
8
|
-
## Key
|
|
8
|
+
## Key changes
|
|
9
9
|
|
|
10
10
|
### Removal of `sui:reportTransactionEffects`
|
|
11
11
|
|
|
12
12
|
The `sui:reportTransactionEffects` feature has been removed entirely. If your wallet implements this
|
|
13
13
|
feature, remove it.
|
|
14
14
|
|
|
15
|
-
### New
|
|
15
|
+
### New core API response format
|
|
16
16
|
|
|
17
17
|
The most significant change is how you obtain BCS-encoded effects for the
|
|
18
18
|
`signAndExecuteTransaction` response. The new core API returns effects in a different structure.
|
|
19
19
|
|
|
20
20
|
## Migrating `signAndExecuteTransaction`
|
|
21
21
|
|
|
22
|
-
The wallet standard output format hasn't changed
|
|
23
|
-
|
|
22
|
+
The wallet standard output format hasn't changed. What's different is how you obtain the BCS effects
|
|
23
|
+
when using the new Sui client APIs.
|
|
24
24
|
|
|
25
25
|
```diff
|
|
26
26
|
#signAndExecuteTransaction: SuiSignAndExecuteTransactionMethod = async ({
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# @mysten/walrus
|
|
2
2
|
|
|
3
|
-
> Migrate @mysten/walrus to 2.0
|
|
3
|
+
> Migrate @mysten/walrus to 2.0 with required client parameter and updated API.
|
|
4
4
|
|
|
5
|
-
## Breaking
|
|
5
|
+
## Breaking changes
|
|
6
6
|
|
|
7
7
|
- **Client required**: `WalrusClient` can no longer be created with just an RPC URL. You must pass a
|
|
8
8
|
Sui client.
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
- **Removed deprecated method**: `WalrusClient.experimental_asClientExtension()` has been removed.
|
|
12
12
|
Use the `walrus()` function instead.
|
|
13
13
|
|
|
14
|
-
## Updated
|
|
14
|
+
## Updated usage
|
|
15
15
|
|
|
16
16
|
If you were creating `WalrusClient` directly:
|
|
17
17
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# @mysten/zksend
|
|
2
2
|
|
|
3
|
-
> Migrate @mysten/zksend to 2.0
|
|
3
|
+
> Migrate @mysten/zksend to 2.0 with client extension pattern and simplified API.
|
|
4
4
|
|
|
5
5
|
This package now exports a client extension that integrates with Sui clients, enabling compatibility
|
|
6
6
|
with gRPC, GraphQL, and JSON RPC transports.
|
|
7
7
|
|
|
8
|
-
## Breaking
|
|
8
|
+
## Breaking changes
|
|
9
9
|
|
|
10
10
|
- **Client extension**: The zkSend SDK is now a client extension (`client.$extend(zksend())`)
|
|
11
11
|
- **Non-contract links removed**: Only contract-based links are now supported. The `contract` option
|
|
@@ -31,7 +31,7 @@ Update your code to use the client extension:
|
|
|
31
31
|
+ }).$extend(zksend());
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
### Creating a
|
|
34
|
+
### Creating a link builder
|
|
35
35
|
|
|
36
36
|
```diff
|
|
37
37
|
- const builder = new ZkSendLinkBuilder({
|
|
@@ -44,7 +44,7 @@ Update your code to use the client extension:
|
|
|
44
44
|
+ });
|
|
45
45
|
```
|
|
46
46
|
|
|
47
|
-
### Loading a
|
|
47
|
+
### Loading a link
|
|
48
48
|
|
|
49
49
|
```diff
|
|
50
50
|
- const link = new ZkSendLink({
|
|
@@ -68,7 +68,7 @@ Update your code to use the client extension:
|
|
|
68
68
|
+ const link = await client.zksend.loadLinkFromUrl(url);
|
|
69
69
|
```
|
|
70
70
|
|
|
71
|
-
## Complete
|
|
71
|
+
## Complete example
|
|
72
72
|
|
|
73
73
|
```ts
|
|
74
74
|
|