@wowok/skills 1.2.3 → 1.2.5
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/README.md +34 -16
- package/dist/cli.js +6 -2
- package/dist/cli.js.map +1 -1
- package/dist/skills.d.ts +32 -1
- package/dist/skills.d.ts.map +1 -1
- package/dist/skills.js +63 -0
- package/dist/skills.js.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -1
- package/examples/Insurance/Insurance.md +543 -475
- package/examples/MyShop/MyShop.md +865 -746
- package/examples/MyShop_Advanced/MyShop_Advanced.md +1520 -1376
- package/examples/ThreeBody_Signature/ThreeBody_Signature.md +891 -651
- package/examples/Travel/Travel.md +952 -848
- package/package.json +2 -2
- package/scripts/install.js +3 -17
- package/wowok-arbitrator/SKILL.md +18 -57
- package/wowok-auditor/SKILL.md +16 -12
- package/wowok-distill/SKILL.md +237 -0
- package/wowok-guard/SKILL.md +40 -354
- package/wowok-machine/SKILL.md +21 -127
- package/wowok-messenger/SKILL.md +14 -59
- package/wowok-onboard/SKILL.md +42 -12
- package/wowok-order/SKILL.md +20 -169
- package/wowok-output/SKILL.md +0 -10
- package/wowok-planner/SKILL.md +28 -9
- package/wowok-provider/SKILL.md +91 -49
- package/wowok-safety/SKILL.md +8 -80
- package/wowok-scenario/SKILL.md +63 -98
- package/wowok-tools/SKILL.md +111 -122
- package/references/glossary.ts +0 -297
- package/references/guard-scenario-ledger.md +0 -353
- package/references/guard-template-library.md +0 -481
- package/references/machine-design-reference.md +0 -398
- package/references/machine-scenario-ledger.md +0 -227
- package/references/machine-template-library.md +0 -522
- package/references/merchant-scenario-coordination.md +0 -383
- package/references/object-collaboration.md +0 -362
- package/references/onchain-constants.md +0 -81
- package/wowok-arbitrator/APPENDIX.md +0 -545
- package/wowok-auditor/APPENDIX.md +0 -487
- package/wowok-guard/APPENDIX.md +0 -428
- package/wowok-machine/APPENDIX.md +0 -407
- package/wowok-messenger/APPENDIX.md +0 -550
- package/wowok-onboard/APPENDIX.md +0 -500
- package/wowok-order/APPENDIX.md +0 -777
- package/wowok-output/APPENDIX.md +0 -575
- package/wowok-planner/APPENDIX.md +0 -724
- package/wowok-provider/APPENDIX.md +0 -453
- package/wowok-safety/APPENDIX.md +0 -561
- package/wowok-scenario/APPENDIX.md +0 -97
- package/wowok-scenario/MODE-DETAILS.md +0 -275
- package/wowok-tools/APPENDIX.md +0 -388
|
@@ -20,6 +20,8 @@ This example sets `env.confirmed: true` on irreversible operations (e.g., `publi
|
|
|
20
20
|
|
|
21
21
|
> Skipping Phase 1 means the user never sees the risk summary before gas is spent. Always preview first, then confirm. This is especially critical for the `publish: true` step on the ThreeBody Machine (Step 4 in Part 2), which is an irreversible lock of the `machine` and `order_allocators` fields.
|
|
22
22
|
|
|
23
|
+
> **💡 Call Format**: All WoWok operations go through a single unified `wowok` tool. The AI calls `wowok({ tool: "<sub-tool>", data: {<params>} })`. If parameters don't match the schema, the response includes the correct schema for self-correction. See [Response Format](../../docs/response-format.md) for details.
|
|
24
|
+
|
|
23
25
|
---
|
|
24
26
|
|
|
25
27
|
## Overview
|
|
@@ -51,9 +53,12 @@ If the accounts do not exist locally, generate them first.
|
|
|
51
53
|
**Request (generate author account)**:
|
|
52
54
|
```json
|
|
53
55
|
{
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
"
|
|
56
|
+
"tool": "account_operation",
|
|
57
|
+
"data": {
|
|
58
|
+
"gen": {
|
|
59
|
+
"name": "three_body_author",
|
|
60
|
+
"replaceExistName": true
|
|
61
|
+
}
|
|
57
62
|
}
|
|
58
63
|
}
|
|
59
64
|
```
|
|
@@ -61,9 +66,12 @@ If the accounts do not exist locally, generate them first.
|
|
|
61
66
|
**Request (generate customer account)**:
|
|
62
67
|
```json
|
|
63
68
|
{
|
|
64
|
-
"
|
|
65
|
-
|
|
66
|
-
"
|
|
69
|
+
"tool": "account_operation",
|
|
70
|
+
"data": {
|
|
71
|
+
"gen": {
|
|
72
|
+
"name": "three_body_customer",
|
|
73
|
+
"replaceExistName": true
|
|
74
|
+
}
|
|
67
75
|
}
|
|
68
76
|
}
|
|
69
77
|
```
|
|
@@ -71,10 +79,16 @@ If the accounts do not exist locally, generate them first.
|
|
|
71
79
|
**Expected Result**:
|
|
72
80
|
```json
|
|
73
81
|
{
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
|
|
82
|
+
"result": {
|
|
83
|
+
"status": "success",
|
|
84
|
+
"data": {
|
|
85
|
+
"gen": {
|
|
86
|
+
"address": "0x...",
|
|
87
|
+
"name": "three_body_author"
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"schema": null
|
|
78
92
|
}
|
|
79
93
|
```
|
|
80
94
|
|
|
@@ -83,10 +97,13 @@ If the accounts do not exist locally, generate them first.
|
|
|
83
97
|
**Request**:
|
|
84
98
|
```json
|
|
85
99
|
{
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
100
|
+
"tool": "query_toolkit",
|
|
101
|
+
"data": {
|
|
102
|
+
"query_type": "account_balance",
|
|
103
|
+
"name_or_address": "three_body_author",
|
|
104
|
+
"balance": true,
|
|
105
|
+
"network": "testnet"
|
|
106
|
+
}
|
|
90
107
|
}
|
|
91
108
|
```
|
|
92
109
|
|
|
@@ -94,19 +111,25 @@ If the accounts do not exist locally, generate them first.
|
|
|
94
111
|
```json
|
|
95
112
|
{
|
|
96
113
|
"result": {
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
114
|
+
"status": "success",
|
|
115
|
+
"data": {
|
|
116
|
+
"result": {
|
|
117
|
+
"query_type": "account_balance",
|
|
118
|
+
"result": {
|
|
119
|
+
"address": "0x...",
|
|
120
|
+
"name_or_address": "three_body_author",
|
|
121
|
+
"balance": {
|
|
122
|
+
"coinType": "0x2::wow::WOW",
|
|
123
|
+
"coinObjectCount": 3,
|
|
124
|
+
"totalBalance": "3000000000",
|
|
125
|
+
"lockedBalance": {},
|
|
126
|
+
"fundsInAddressBalance": "0"
|
|
127
|
+
}
|
|
128
|
+
}
|
|
107
129
|
}
|
|
108
130
|
}
|
|
109
|
-
}
|
|
131
|
+
},
|
|
132
|
+
"schema": null
|
|
110
133
|
}
|
|
111
134
|
```
|
|
112
135
|
|
|
@@ -115,9 +138,12 @@ If the accounts do not exist locally, generate them first.
|
|
|
115
138
|
**Request**:
|
|
116
139
|
```json
|
|
117
140
|
{
|
|
118
|
-
"
|
|
119
|
-
|
|
120
|
-
"
|
|
141
|
+
"tool": "account_operation",
|
|
142
|
+
"data": {
|
|
143
|
+
"faucet": {
|
|
144
|
+
"network": "testnet",
|
|
145
|
+
"name_or_address": "three_body_author"
|
|
146
|
+
}
|
|
121
147
|
}
|
|
122
148
|
}
|
|
123
149
|
```
|
|
@@ -125,27 +151,33 @@ If the accounts do not exist locally, generate them first.
|
|
|
125
151
|
**Expected Result**:
|
|
126
152
|
```json
|
|
127
153
|
{
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
"
|
|
131
|
-
{
|
|
132
|
-
"
|
|
133
|
-
"
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
154
|
+
"result": {
|
|
155
|
+
"status": "success",
|
|
156
|
+
"data": {
|
|
157
|
+
"faucet": {
|
|
158
|
+
"name_or_address": "three_body_author",
|
|
159
|
+
"result": [
|
|
160
|
+
{
|
|
161
|
+
"amount": 1000000000,
|
|
162
|
+
"id": "0x...",
|
|
163
|
+
"transferTxDigest": "..."
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"amount": 1000000000,
|
|
167
|
+
"id": "0x...",
|
|
168
|
+
"transferTxDigest": "..."
|
|
169
|
+
},
|
|
170
|
+
{
|
|
171
|
+
"amount": 1000000000,
|
|
172
|
+
"id": "0x...",
|
|
173
|
+
"transferTxDigest": "..."
|
|
174
|
+
}
|
|
175
|
+
],
|
|
176
|
+
"network": "testnet"
|
|
145
177
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
178
|
+
}
|
|
179
|
+
},
|
|
180
|
+
"schema": null
|
|
149
181
|
}
|
|
150
182
|
```
|
|
151
183
|
|
|
@@ -162,23 +194,26 @@ Create a Permission object to manage the service.
|
|
|
162
194
|
**Request**:
|
|
163
195
|
```json
|
|
164
196
|
{
|
|
165
|
-
"
|
|
197
|
+
"tool": "onchain_operations",
|
|
166
198
|
"data": {
|
|
167
|
-
"
|
|
168
|
-
|
|
169
|
-
"
|
|
199
|
+
"operation_type": "permission",
|
|
200
|
+
"data": {
|
|
201
|
+
"object": {
|
|
202
|
+
"name": "three_body_permission",
|
|
203
|
+
"replaceExistName": true
|
|
204
|
+
},
|
|
205
|
+
"description": "Permission for Three-Body Signature Service",
|
|
206
|
+
"table": {
|
|
207
|
+
"op": "add perm by entity",
|
|
208
|
+
"entity": {"name_or_address": "three_body_author"},
|
|
209
|
+
"index": [1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 306]
|
|
210
|
+
}
|
|
170
211
|
},
|
|
171
|
-
"
|
|
172
|
-
|
|
173
|
-
"
|
|
174
|
-
"
|
|
175
|
-
"index": [1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 306]
|
|
212
|
+
"env": {
|
|
213
|
+
"account": "three_body_author",
|
|
214
|
+
"network": "testnet",
|
|
215
|
+
"confirmed": true
|
|
176
216
|
}
|
|
177
|
-
},
|
|
178
|
-
"env": {
|
|
179
|
-
"account": "three_body_author",
|
|
180
|
-
"network": "testnet",
|
|
181
|
-
"confirmed": true
|
|
182
217
|
}
|
|
183
218
|
}
|
|
184
219
|
```
|
|
@@ -193,24 +228,35 @@ Create a Permission object to manage the service.
|
|
|
193
228
|
|
|
194
229
|
**Expected Result**:
|
|
195
230
|
```json
|
|
196
|
-
|
|
197
|
-
{
|
|
198
|
-
"
|
|
199
|
-
"
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
231
|
+
{
|
|
232
|
+
"result": {
|
|
233
|
+
"status": "success",
|
|
234
|
+
"data": {
|
|
235
|
+
"result": {
|
|
236
|
+
"type": "transaction",
|
|
237
|
+
"objectChanges": [
|
|
238
|
+
{
|
|
239
|
+
"type": "Permission",
|
|
240
|
+
"type_raw": "0x2::permission::Permission",
|
|
241
|
+
"object": "0x...",
|
|
242
|
+
"version": "...",
|
|
243
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
244
|
+
"change": "created"
|
|
245
|
+
},
|
|
246
|
+
{
|
|
247
|
+
"type": "TableItem_PermissionPerm",
|
|
248
|
+
"type_raw": "0x2::dynamic_field::Field<address, 0x2::parent_linked_table::Node<address, vector<u16>>>",
|
|
249
|
+
"object": "0x...",
|
|
250
|
+
"version": "...",
|
|
251
|
+
"owner": {"ObjectOwner": "0x..."},
|
|
252
|
+
"change": "created"
|
|
253
|
+
}
|
|
254
|
+
]
|
|
255
|
+
}
|
|
256
|
+
}
|
|
204
257
|
},
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
"type_raw": "0x2::dynamic_field::Field<address, 0x2::parent_linked_table::Node<address, vector<u16>>>",
|
|
208
|
-
"object": "0x...",
|
|
209
|
-
"version": "...",
|
|
210
|
-
"owner": {"ObjectOwner": "0x..."},
|
|
211
|
-
"change": "created"
|
|
212
|
-
}
|
|
213
|
-
]
|
|
258
|
+
"schema": null
|
|
259
|
+
}
|
|
214
260
|
```
|
|
215
261
|
|
|
216
262
|
---
|
|
@@ -222,41 +268,44 @@ Create a Guard that verifies the buyer is the service creator (author). This ens
|
|
|
222
268
|
**Request**:
|
|
223
269
|
```json
|
|
224
270
|
{
|
|
225
|
-
"
|
|
271
|
+
"tool": "onchain_operations",
|
|
226
272
|
"data": {
|
|
227
|
-
"
|
|
228
|
-
|
|
229
|
-
"
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
"b_submission": false,
|
|
237
|
-
"value_type": "Address",
|
|
238
|
-
"value": "three_body_author",
|
|
239
|
-
"name": "Author address"
|
|
240
|
-
}
|
|
241
|
-
],
|
|
242
|
-
"root": {
|
|
243
|
-
"type": "logic_equal",
|
|
244
|
-
"nodes": [
|
|
245
|
-
{
|
|
246
|
-
"type": "context",
|
|
247
|
-
"context": "Signer"
|
|
248
|
-
},
|
|
273
|
+
"operation_type": "guard",
|
|
274
|
+
"data": {
|
|
275
|
+
"namedNew": {
|
|
276
|
+
"name": "three_body_buy_guard",
|
|
277
|
+
"tags": ["signature", "book", "buy-guard", "level1-strict"],
|
|
278
|
+
"replaceExistName": true
|
|
279
|
+
},
|
|
280
|
+
"description": "Verify buyer is the service creator (three_body_author). Only the author can purchase this signature service. VERIFIER CONSTRAINT LEVEL 1 (strict single-identity binding): The author role is permanently tied to a single address. The designer explicitly accepts the lock-in risk because (a) the author is the sole service operator in this minimal example, and (b) Guard immutability guarantees the buyer whitelist cannot be tampered with. R-C4-04 (info): if the author address is lost or rotated, the Guard must be rebuilt and the Service's buy_guard must be re-bound.",
|
|
281
|
+
"table": [
|
|
249
282
|
{
|
|
250
|
-
"
|
|
251
|
-
"
|
|
283
|
+
"identifier": 0,
|
|
284
|
+
"b_submission": false,
|
|
285
|
+
"value_type": "Address",
|
|
286
|
+
"value": "three_body_author",
|
|
287
|
+
"name": "Author address"
|
|
252
288
|
}
|
|
253
|
-
]
|
|
289
|
+
],
|
|
290
|
+
"root": {
|
|
291
|
+
"type": "logic_equal",
|
|
292
|
+
"nodes": [
|
|
293
|
+
{
|
|
294
|
+
"type": "context",
|
|
295
|
+
"context": "Signer"
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
"type": "identifier",
|
|
299
|
+
"identifier": 0
|
|
300
|
+
}
|
|
301
|
+
]
|
|
302
|
+
}
|
|
303
|
+
},
|
|
304
|
+
"env": {
|
|
305
|
+
"account": "three_body_author",
|
|
306
|
+
"network": "testnet",
|
|
307
|
+
"confirmed": true
|
|
254
308
|
}
|
|
255
|
-
},
|
|
256
|
-
"env": {
|
|
257
|
-
"account": "three_body_author",
|
|
258
|
-
"network": "testnet",
|
|
259
|
-
"confirmed": true
|
|
260
309
|
}
|
|
261
310
|
}
|
|
262
311
|
```
|
|
@@ -269,16 +318,27 @@ Create a Guard that verifies the buyer is the service creator (author). This ens
|
|
|
269
318
|
|
|
270
319
|
**Expected Result**:
|
|
271
320
|
```json
|
|
272
|
-
|
|
273
|
-
{
|
|
274
|
-
"
|
|
275
|
-
"
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
321
|
+
{
|
|
322
|
+
"result": {
|
|
323
|
+
"status": "success",
|
|
324
|
+
"data": {
|
|
325
|
+
"result": {
|
|
326
|
+
"type": "transaction",
|
|
327
|
+
"objectChanges": [
|
|
328
|
+
{
|
|
329
|
+
"type": "Guard",
|
|
330
|
+
"type_raw": "0x2::guard::Guard",
|
|
331
|
+
"object": "0x...",
|
|
332
|
+
"version": "...",
|
|
333
|
+
"owner": "Immutable",
|
|
334
|
+
"change": "created"
|
|
335
|
+
}
|
|
336
|
+
]
|
|
337
|
+
}
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
"schema": null
|
|
341
|
+
}
|
|
282
342
|
```
|
|
283
343
|
|
|
284
344
|
---
|
|
@@ -292,57 +352,60 @@ Create a Machine to define the service workflow: Book Delivery → Signature Com
|
|
|
292
352
|
**Request**:
|
|
293
353
|
```json
|
|
294
354
|
{
|
|
295
|
-
"
|
|
355
|
+
"tool": "onchain_operations",
|
|
296
356
|
"data": {
|
|
297
|
-
"
|
|
298
|
-
|
|
299
|
-
"
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
"
|
|
305
|
-
"
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
357
|
+
"operation_type": "machine",
|
|
358
|
+
"data": {
|
|
359
|
+
"object": {
|
|
360
|
+
"name": "three_body_machine",
|
|
361
|
+
"permission": "three_body_permission",
|
|
362
|
+
"replaceExistName": true
|
|
363
|
+
},
|
|
364
|
+
"description": "Three-Body signature service workflow: Book Delivery -> Signature Completion",
|
|
365
|
+
"node": {
|
|
366
|
+
"op": "add",
|
|
367
|
+
"nodes": [
|
|
368
|
+
{
|
|
369
|
+
"name": "Book Delivered",
|
|
370
|
+
"pairs": [
|
|
371
|
+
{
|
|
372
|
+
"prev_node": "",
|
|
373
|
+
"threshold": 0,
|
|
374
|
+
"forwards": [
|
|
375
|
+
{
|
|
376
|
+
"name": "Confirm Delivery",
|
|
377
|
+
"permissionIndex": 1000,
|
|
378
|
+
"weight": 1
|
|
379
|
+
}
|
|
380
|
+
]
|
|
381
|
+
}
|
|
382
|
+
]
|
|
383
|
+
},
|
|
384
|
+
{
|
|
385
|
+
"name": "Signature Completed",
|
|
386
|
+
"pairs": [
|
|
387
|
+
{
|
|
388
|
+
"prev_node": "Book Delivered",
|
|
389
|
+
"threshold": 1,
|
|
390
|
+
"forwards": [
|
|
391
|
+
{
|
|
392
|
+
"name": "Complete Signature",
|
|
393
|
+
"permissionIndex": 1001,
|
|
394
|
+
"weight": 1
|
|
395
|
+
}
|
|
396
|
+
]
|
|
397
|
+
}
|
|
398
|
+
]
|
|
399
|
+
}
|
|
400
|
+
]
|
|
401
|
+
},
|
|
402
|
+
"publish": true
|
|
339
403
|
},
|
|
340
|
-
"
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
"confirmed": true
|
|
404
|
+
"env": {
|
|
405
|
+
"account": "three_body_author",
|
|
406
|
+
"network": "testnet",
|
|
407
|
+
"confirmed": true
|
|
408
|
+
}
|
|
346
409
|
}
|
|
347
410
|
}
|
|
348
411
|
```
|
|
@@ -351,40 +414,51 @@ Create a Machine to define the service workflow: Book Delivery → Signature Com
|
|
|
351
414
|
|
|
352
415
|
**Expected Result**:
|
|
353
416
|
```json
|
|
354
|
-
|
|
355
|
-
{
|
|
356
|
-
"
|
|
357
|
-
"
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
417
|
+
{
|
|
418
|
+
"result": {
|
|
419
|
+
"status": "success",
|
|
420
|
+
"data": {
|
|
421
|
+
"result": {
|
|
422
|
+
"type": "transaction",
|
|
423
|
+
"objectChanges": [
|
|
424
|
+
{
|
|
425
|
+
"type": "TableItem_MachineNode",
|
|
426
|
+
"type_raw": "0x2::dynamic_field::Field<0x1::string::String, 0x2::parent_linked_table::Node<0x1::string::String, vector<0x2::machine::NodePair>>>",
|
|
427
|
+
"object": "0x...",
|
|
428
|
+
"version": "...",
|
|
429
|
+
"owner": {"ObjectOwner": "0x..."},
|
|
430
|
+
"change": "created"
|
|
431
|
+
},
|
|
432
|
+
{
|
|
433
|
+
"type": "TableItem_MachineNode",
|
|
434
|
+
"type_raw": "0x2::dynamic_field::Field<0x1::string::String, 0x2::parent_linked_table::Node<0x1::string::String, vector<0x2::machine::NodePair>>>",
|
|
435
|
+
"object": "0x...",
|
|
436
|
+
"version": "...",
|
|
437
|
+
"owner": {"ObjectOwner": "0x..."},
|
|
438
|
+
"change": "created"
|
|
439
|
+
},
|
|
440
|
+
{
|
|
441
|
+
"type": "Machine",
|
|
442
|
+
"type_raw": "0x2::machine::Machine",
|
|
443
|
+
"object": "0x...",
|
|
444
|
+
"version": "...",
|
|
445
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
446
|
+
"change": "created"
|
|
447
|
+
},
|
|
448
|
+
{
|
|
449
|
+
"type": "TableItem_EntityLinker",
|
|
450
|
+
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
451
|
+
"object": "0x...",
|
|
452
|
+
"version": "...",
|
|
453
|
+
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
454
|
+
"change": "created"
|
|
455
|
+
}
|
|
456
|
+
]
|
|
457
|
+
}
|
|
458
|
+
}
|
|
378
459
|
},
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
382
|
-
"object": "0x...",
|
|
383
|
-
"version": "...",
|
|
384
|
-
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
385
|
-
"change": "created"
|
|
386
|
-
}
|
|
387
|
-
]
|
|
460
|
+
"schema": null
|
|
461
|
+
}
|
|
388
462
|
```
|
|
389
463
|
|
|
390
464
|
---
|
|
@@ -396,21 +470,24 @@ Create the Three-Body signature service without publishing. The Service must be
|
|
|
396
470
|
**Request**:
|
|
397
471
|
```json
|
|
398
472
|
{
|
|
399
|
-
"
|
|
473
|
+
"tool": "onchain_operations",
|
|
400
474
|
"data": {
|
|
401
|
-
"
|
|
402
|
-
|
|
403
|
-
"
|
|
404
|
-
|
|
405
|
-
|
|
475
|
+
"operation_type": "service",
|
|
476
|
+
"data": {
|
|
477
|
+
"object": {
|
|
478
|
+
"name": "three_body_signature_service",
|
|
479
|
+
"type_parameter": "0x2::wow::WOW",
|
|
480
|
+
"permission": "three_body_permission",
|
|
481
|
+
"replaceExistName": true
|
|
482
|
+
},
|
|
483
|
+
"description": "Three-Body author book signature service. Provide a message up to 10 characters, and the author will sign your book. Process: 1.Book Delivery 2.Signature Completion. Fee: 888.",
|
|
484
|
+
"publish": false
|
|
406
485
|
},
|
|
407
|
-
"
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
"network": "testnet",
|
|
413
|
-
"confirmed": true
|
|
486
|
+
"env": {
|
|
487
|
+
"account": "three_body_author",
|
|
488
|
+
"network": "testnet",
|
|
489
|
+
"confirmed": true
|
|
490
|
+
}
|
|
414
491
|
}
|
|
415
492
|
}
|
|
416
493
|
```
|
|
@@ -419,24 +496,35 @@ Create the Three-Body signature service without publishing. The Service must be
|
|
|
419
496
|
|
|
420
497
|
**Expected Result**:
|
|
421
498
|
```json
|
|
422
|
-
|
|
423
|
-
{
|
|
424
|
-
"
|
|
425
|
-
"
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
499
|
+
{
|
|
500
|
+
"result": {
|
|
501
|
+
"status": "success",
|
|
502
|
+
"data": {
|
|
503
|
+
"result": {
|
|
504
|
+
"type": "transaction",
|
|
505
|
+
"objectChanges": [
|
|
506
|
+
{
|
|
507
|
+
"type": "TableItem_EntityLinker",
|
|
508
|
+
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
509
|
+
"object": "0x...",
|
|
510
|
+
"version": "...",
|
|
511
|
+
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
512
|
+
"change": "mutated"
|
|
513
|
+
},
|
|
514
|
+
{
|
|
515
|
+
"type": "Service",
|
|
516
|
+
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
517
|
+
"object": "0x...",
|
|
518
|
+
"version": "...",
|
|
519
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
520
|
+
"change": "created"
|
|
521
|
+
}
|
|
522
|
+
]
|
|
523
|
+
}
|
|
524
|
+
}
|
|
430
525
|
},
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
434
|
-
"object": "0x...",
|
|
435
|
-
"version": "...",
|
|
436
|
-
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
437
|
-
"change": "created"
|
|
438
|
-
}
|
|
439
|
-
]
|
|
526
|
+
"schema": null
|
|
527
|
+
}
|
|
440
528
|
```
|
|
441
529
|
|
|
442
530
|
---
|
|
@@ -448,38 +536,52 @@ Bind the published Machine to the Service. **Important**: The Service must be un
|
|
|
448
536
|
**Request**:
|
|
449
537
|
```json
|
|
450
538
|
{
|
|
451
|
-
"
|
|
539
|
+
"tool": "onchain_operations",
|
|
452
540
|
"data": {
|
|
453
|
-
"
|
|
454
|
-
"
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
"
|
|
541
|
+
"operation_type": "service",
|
|
542
|
+
"data": {
|
|
543
|
+
"object": "three_body_signature_service",
|
|
544
|
+
"machine": "three_body_machine"
|
|
545
|
+
},
|
|
546
|
+
"env": {
|
|
547
|
+
"account": "three_body_author",
|
|
548
|
+
"network": "testnet"
|
|
549
|
+
}
|
|
459
550
|
}
|
|
460
551
|
}
|
|
461
552
|
```
|
|
462
553
|
|
|
463
554
|
**Expected Result**:
|
|
464
555
|
```json
|
|
465
|
-
|
|
466
|
-
{
|
|
467
|
-
"
|
|
468
|
-
"
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
556
|
+
{
|
|
557
|
+
"result": {
|
|
558
|
+
"status": "success",
|
|
559
|
+
"data": {
|
|
560
|
+
"result": {
|
|
561
|
+
"type": "transaction",
|
|
562
|
+
"objectChanges": [
|
|
563
|
+
{
|
|
564
|
+
"type": "Service",
|
|
565
|
+
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
566
|
+
"object": "0x...",
|
|
567
|
+
"version": "...",
|
|
568
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
569
|
+
"change": "mutated"
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"type": "TableItem_EntityLinker",
|
|
573
|
+
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
574
|
+
"object": "0x...",
|
|
575
|
+
"version": "...",
|
|
576
|
+
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
577
|
+
"change": "created"
|
|
578
|
+
}
|
|
579
|
+
]
|
|
580
|
+
}
|
|
581
|
+
}
|
|
473
582
|
},
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
477
|
-
"object": "0x...",
|
|
478
|
-
"version": "...",
|
|
479
|
-
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
480
|
-
"change": "created"
|
|
481
|
-
}
|
|
482
|
-
]
|
|
583
|
+
"schema": null
|
|
584
|
+
}
|
|
483
585
|
```
|
|
484
586
|
|
|
485
587
|
---
|
|
@@ -491,38 +593,52 @@ Configure the Buy Guard to restrict purchases to the author only.
|
|
|
491
593
|
**Request**:
|
|
492
594
|
```json
|
|
493
595
|
{
|
|
494
|
-
"
|
|
596
|
+
"tool": "onchain_operations",
|
|
495
597
|
"data": {
|
|
496
|
-
"
|
|
497
|
-
"
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
"
|
|
598
|
+
"operation_type": "service",
|
|
599
|
+
"data": {
|
|
600
|
+
"object": "three_body_signature_service",
|
|
601
|
+
"buy_guard": "three_body_buy_guard"
|
|
602
|
+
},
|
|
603
|
+
"env": {
|
|
604
|
+
"account": "three_body_author",
|
|
605
|
+
"network": "testnet"
|
|
606
|
+
}
|
|
502
607
|
}
|
|
503
608
|
}
|
|
504
609
|
```
|
|
505
610
|
|
|
506
611
|
**Expected Result**:
|
|
507
612
|
```json
|
|
508
|
-
|
|
509
|
-
{
|
|
510
|
-
"
|
|
511
|
-
"
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
613
|
+
{
|
|
614
|
+
"result": {
|
|
615
|
+
"status": "success",
|
|
616
|
+
"data": {
|
|
617
|
+
"result": {
|
|
618
|
+
"type": "transaction",
|
|
619
|
+
"objectChanges": [
|
|
620
|
+
{
|
|
621
|
+
"type": "Service",
|
|
622
|
+
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
623
|
+
"object": "0x...",
|
|
624
|
+
"version": "...",
|
|
625
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
626
|
+
"change": "mutated"
|
|
627
|
+
},
|
|
628
|
+
{
|
|
629
|
+
"type": "TableItem_EntityLinker",
|
|
630
|
+
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
631
|
+
"object": "0x...",
|
|
632
|
+
"version": "...",
|
|
633
|
+
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
634
|
+
"change": "created"
|
|
635
|
+
}
|
|
636
|
+
]
|
|
637
|
+
}
|
|
638
|
+
}
|
|
516
639
|
},
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
520
|
-
"object": "0x...",
|
|
521
|
-
"version": "...",
|
|
522
|
-
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
523
|
-
"change": "created"
|
|
524
|
-
}
|
|
525
|
-
]
|
|
640
|
+
"schema": null
|
|
641
|
+
}
|
|
526
642
|
```
|
|
527
643
|
|
|
528
644
|
---
|
|
@@ -534,20 +650,23 @@ Create a Treasury object to aggregate signature service revenue (public funds fo
|
|
|
534
650
|
**Request**:
|
|
535
651
|
```json
|
|
536
652
|
{
|
|
537
|
-
"
|
|
653
|
+
"tool": "onchain_operations",
|
|
538
654
|
"data": {
|
|
539
|
-
"
|
|
540
|
-
|
|
541
|
-
"
|
|
542
|
-
|
|
543
|
-
|
|
655
|
+
"operation_type": "treasury",
|
|
656
|
+
"data": {
|
|
657
|
+
"object": {
|
|
658
|
+
"name": "three_body_treasury",
|
|
659
|
+
"type_parameter": "0x2::wow::WOW",
|
|
660
|
+
"permission": "three_body_permission",
|
|
661
|
+
"replaceExistName": true
|
|
662
|
+
},
|
|
663
|
+
"description": "Treasury for aggregating Three-Body signature service revenue (author's public funds for operations and distribution). Uses the same Permission as the Service (three_body_permission) for consistency — a single permission organization governs both fund collection and service operations."
|
|
544
664
|
},
|
|
545
|
-
"
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
"confirmed": true
|
|
665
|
+
"env": {
|
|
666
|
+
"account": "three_body_author",
|
|
667
|
+
"network": "testnet",
|
|
668
|
+
"confirmed": true
|
|
669
|
+
}
|
|
551
670
|
}
|
|
552
671
|
}
|
|
553
672
|
```
|
|
@@ -561,24 +680,35 @@ Create a Treasury object to aggregate signature service revenue (public funds fo
|
|
|
561
680
|
|
|
562
681
|
**Expected Result**:
|
|
563
682
|
```json
|
|
564
|
-
|
|
565
|
-
{
|
|
566
|
-
"
|
|
567
|
-
"
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
683
|
+
{
|
|
684
|
+
"result": {
|
|
685
|
+
"status": "success",
|
|
686
|
+
"data": {
|
|
687
|
+
"result": {
|
|
688
|
+
"type": "transaction",
|
|
689
|
+
"objectChanges": [
|
|
690
|
+
{
|
|
691
|
+
"type": "Treasury",
|
|
692
|
+
"type_raw": "0x2::treasury::Treasury<0x2::wow::WOW>",
|
|
693
|
+
"object": "0x...",
|
|
694
|
+
"version": "...",
|
|
695
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
696
|
+
"change": "created"
|
|
697
|
+
},
|
|
698
|
+
{
|
|
699
|
+
"type": "TableItem_EntityLinker",
|
|
700
|
+
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
701
|
+
"object": "0x...",
|
|
702
|
+
"version": "...",
|
|
703
|
+
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
704
|
+
"change": "created"
|
|
705
|
+
}
|
|
706
|
+
]
|
|
707
|
+
}
|
|
708
|
+
}
|
|
572
709
|
},
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
576
|
-
"object": "0x...",
|
|
577
|
-
"version": "...",
|
|
578
|
-
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
579
|
-
"change": "created"
|
|
580
|
-
}
|
|
581
|
-
]
|
|
710
|
+
"schema": null
|
|
711
|
+
}
|
|
582
712
|
```
|
|
583
713
|
|
|
584
714
|
---
|
|
@@ -595,49 +725,52 @@ order.service == three_body_signature_service
|
|
|
595
725
|
**Request**:
|
|
596
726
|
```json
|
|
597
727
|
{
|
|
598
|
-
"
|
|
728
|
+
"tool": "onchain_operations",
|
|
599
729
|
"data": {
|
|
600
|
-
"
|
|
601
|
-
|
|
602
|
-
"
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
"table": [
|
|
607
|
-
{
|
|
608
|
-
"identifier": 0,
|
|
609
|
-
"b_submission": true,
|
|
610
|
-
"value_type": "Address",
|
|
611
|
-
"name": "Order ID (submitted at runtime)"
|
|
730
|
+
"operation_type": "guard",
|
|
731
|
+
"data": {
|
|
732
|
+
"namedNew": {
|
|
733
|
+
"name": "three_body_allocator_guard",
|
|
734
|
+
"tags": ["signature", "book", "allocator", "level3-scene-combined"],
|
|
735
|
+
"replaceExistName": true
|
|
612
736
|
},
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
"b_submission": false,
|
|
616
|
-
"value_type": "Address",
|
|
617
|
-
"value": "three_body_signature_service",
|
|
618
|
-
"name": "Service address (this service)"
|
|
619
|
-
}
|
|
620
|
-
],
|
|
621
|
-
"root": {
|
|
622
|
-
"type": "logic_equal",
|
|
623
|
-
"nodes": [
|
|
737
|
+
"description": "Allocator guard for Three-Body signature service: verifies order.service == three_body_signature_service to prevent cross-service theft (R-C3-05). VERIFIER CONSTRAINT LEVEL 3 (scene-combined): No Signer binding needed because the allocator uses sharing.who=Entity(three_body_treasury) — funds always flow to the Treasury regardless of caller (R-C3-06 safe).",
|
|
738
|
+
"table": [
|
|
624
739
|
{
|
|
625
|
-
"
|
|
626
|
-
"
|
|
627
|
-
"
|
|
628
|
-
"
|
|
740
|
+
"identifier": 0,
|
|
741
|
+
"b_submission": true,
|
|
742
|
+
"value_type": "Address",
|
|
743
|
+
"name": "Order ID (submitted at runtime)"
|
|
629
744
|
},
|
|
630
745
|
{
|
|
631
|
-
"
|
|
632
|
-
"
|
|
746
|
+
"identifier": 1,
|
|
747
|
+
"b_submission": false,
|
|
748
|
+
"value_type": "Address",
|
|
749
|
+
"value": "three_body_signature_service",
|
|
750
|
+
"name": "Service address (this service)"
|
|
633
751
|
}
|
|
634
|
-
]
|
|
752
|
+
],
|
|
753
|
+
"root": {
|
|
754
|
+
"type": "logic_equal",
|
|
755
|
+
"nodes": [
|
|
756
|
+
{
|
|
757
|
+
"type": "query",
|
|
758
|
+
"query": "order.service",
|
|
759
|
+
"object": {"identifier": 0},
|
|
760
|
+
"parameters": []
|
|
761
|
+
},
|
|
762
|
+
{
|
|
763
|
+
"type": "identifier",
|
|
764
|
+
"identifier": 1
|
|
765
|
+
}
|
|
766
|
+
]
|
|
767
|
+
}
|
|
768
|
+
},
|
|
769
|
+
"env": {
|
|
770
|
+
"account": "three_body_author",
|
|
771
|
+
"network": "testnet",
|
|
772
|
+
"confirmed": true
|
|
635
773
|
}
|
|
636
|
-
},
|
|
637
|
-
"env": {
|
|
638
|
-
"account": "three_body_author",
|
|
639
|
-
"network": "testnet",
|
|
640
|
-
"confirmed": true
|
|
641
774
|
}
|
|
642
775
|
}
|
|
643
776
|
```
|
|
@@ -655,16 +788,27 @@ order.service == three_body_signature_service
|
|
|
655
788
|
|
|
656
789
|
**Expected Result**:
|
|
657
790
|
```json
|
|
658
|
-
|
|
659
|
-
{
|
|
660
|
-
"
|
|
661
|
-
"
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
791
|
+
{
|
|
792
|
+
"result": {
|
|
793
|
+
"status": "success",
|
|
794
|
+
"data": {
|
|
795
|
+
"result": {
|
|
796
|
+
"type": "transaction",
|
|
797
|
+
"objectChanges": [
|
|
798
|
+
{
|
|
799
|
+
"type": "Guard",
|
|
800
|
+
"type_raw": "0x2::guard::Guard",
|
|
801
|
+
"object": "0x...",
|
|
802
|
+
"version": "...",
|
|
803
|
+
"owner": "Immutable",
|
|
804
|
+
"change": "created"
|
|
805
|
+
}
|
|
806
|
+
]
|
|
807
|
+
}
|
|
808
|
+
}
|
|
809
|
+
},
|
|
810
|
+
"schema": null
|
|
811
|
+
}
|
|
668
812
|
```
|
|
669
813
|
|
|
670
814
|
---
|
|
@@ -676,32 +820,35 @@ Set up fund allocation: 100% to the author's Treasury upon order completion.
|
|
|
676
820
|
**Request**:
|
|
677
821
|
```json
|
|
678
822
|
{
|
|
679
|
-
"
|
|
823
|
+
"tool": "onchain_operations",
|
|
680
824
|
"data": {
|
|
681
|
-
"
|
|
682
|
-
"
|
|
683
|
-
"
|
|
684
|
-
"
|
|
685
|
-
|
|
686
|
-
|
|
687
|
-
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
825
|
+
"operation_type": "service",
|
|
826
|
+
"data": {
|
|
827
|
+
"object": "three_body_signature_service",
|
|
828
|
+
"order_allocators": {
|
|
829
|
+
"description": "Three-Body signature service fund allocation - 100% to author Treasury",
|
|
830
|
+
"threshold": 0,
|
|
831
|
+
"allocators": [
|
|
832
|
+
{
|
|
833
|
+
"guard": "three_body_allocator_guard",
|
|
834
|
+
"sharing": [
|
|
835
|
+
{
|
|
836
|
+
"who": {
|
|
837
|
+
"Entity": {"name_or_address": "three_body_treasury"}
|
|
838
|
+
},
|
|
839
|
+
"sharing": 10000,
|
|
840
|
+
"mode": "Rate"
|
|
841
|
+
}
|
|
842
|
+
]
|
|
843
|
+
}
|
|
844
|
+
]
|
|
845
|
+
},
|
|
846
|
+
"customer_required": ["phone", "email", "shipping_address"]
|
|
699
847
|
},
|
|
700
|
-
"
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
"network": "testnet"
|
|
848
|
+
"env": {
|
|
849
|
+
"account": "three_body_author",
|
|
850
|
+
"network": "testnet"
|
|
851
|
+
}
|
|
705
852
|
}
|
|
706
853
|
}
|
|
707
854
|
```
|
|
@@ -713,16 +860,27 @@ Set up fund allocation: 100% to the author's Treasury upon order completion.
|
|
|
713
860
|
|
|
714
861
|
**Expected Result**:
|
|
715
862
|
```json
|
|
716
|
-
|
|
717
|
-
{
|
|
718
|
-
"
|
|
719
|
-
"
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
|
|
723
|
-
|
|
724
|
-
|
|
725
|
-
|
|
863
|
+
{
|
|
864
|
+
"result": {
|
|
865
|
+
"status": "success",
|
|
866
|
+
"data": {
|
|
867
|
+
"result": {
|
|
868
|
+
"type": "transaction",
|
|
869
|
+
"objectChanges": [
|
|
870
|
+
{
|
|
871
|
+
"type": "Service",
|
|
872
|
+
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
873
|
+
"object": "0x...",
|
|
874
|
+
"version": "...",
|
|
875
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
876
|
+
"change": "mutated"
|
|
877
|
+
}
|
|
878
|
+
]
|
|
879
|
+
}
|
|
880
|
+
}
|
|
881
|
+
},
|
|
882
|
+
"schema": null
|
|
883
|
+
}
|
|
726
884
|
```
|
|
727
885
|
|
|
728
886
|
---
|
|
@@ -734,28 +892,31 @@ Add sales items and publish the service to make it available for orders.
|
|
|
734
892
|
**Request**:
|
|
735
893
|
```json
|
|
736
894
|
{
|
|
737
|
-
"
|
|
895
|
+
"tool": "onchain_operations",
|
|
738
896
|
"data": {
|
|
739
|
-
"
|
|
740
|
-
"
|
|
741
|
-
"
|
|
742
|
-
"sales":
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
897
|
+
"operation_type": "service",
|
|
898
|
+
"data": {
|
|
899
|
+
"object": "three_body_signature_service",
|
|
900
|
+
"sales": {
|
|
901
|
+
"op": "add",
|
|
902
|
+
"sales": [
|
|
903
|
+
{
|
|
904
|
+
"name": "Three-Body Book Signature",
|
|
905
|
+
"price": 888,
|
|
906
|
+
"stock": 100,
|
|
907
|
+
"suspension": false,
|
|
908
|
+
"wip": "",
|
|
909
|
+
"wip_hash": ""
|
|
910
|
+
}
|
|
911
|
+
]
|
|
912
|
+
},
|
|
913
|
+
"publish": true
|
|
752
914
|
},
|
|
753
|
-
"
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
758
|
-
"confirmed": true
|
|
915
|
+
"env": {
|
|
916
|
+
"account": "three_body_author",
|
|
917
|
+
"network": "testnet",
|
|
918
|
+
"confirmed": true
|
|
919
|
+
}
|
|
759
920
|
}
|
|
760
921
|
}
|
|
761
922
|
```
|
|
@@ -764,16 +925,27 @@ Add sales items and publish the service to make it available for orders.
|
|
|
764
925
|
|
|
765
926
|
**Expected Result**:
|
|
766
927
|
```json
|
|
767
|
-
|
|
768
|
-
{
|
|
769
|
-
"
|
|
770
|
-
"
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
928
|
+
{
|
|
929
|
+
"result": {
|
|
930
|
+
"status": "success",
|
|
931
|
+
"data": {
|
|
932
|
+
"result": {
|
|
933
|
+
"type": "transaction",
|
|
934
|
+
"objectChanges": [
|
|
935
|
+
{
|
|
936
|
+
"type": "Service",
|
|
937
|
+
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
938
|
+
"object": "0x...",
|
|
939
|
+
"version": "...",
|
|
940
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
941
|
+
"change": "mutated"
|
|
942
|
+
}
|
|
943
|
+
]
|
|
944
|
+
}
|
|
945
|
+
}
|
|
946
|
+
},
|
|
947
|
+
"schema": null
|
|
948
|
+
}
|
|
777
949
|
```
|
|
778
950
|
|
|
779
951
|
---
|
|
@@ -785,30 +957,44 @@ Unpause the service to allow order creation.
|
|
|
785
957
|
**Request**:
|
|
786
958
|
```json
|
|
787
959
|
{
|
|
788
|
-
"
|
|
960
|
+
"tool": "onchain_operations",
|
|
789
961
|
"data": {
|
|
790
|
-
"
|
|
791
|
-
"
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
"
|
|
962
|
+
"operation_type": "service",
|
|
963
|
+
"data": {
|
|
964
|
+
"object": "three_body_signature_service",
|
|
965
|
+
"pause": false
|
|
966
|
+
},
|
|
967
|
+
"env": {
|
|
968
|
+
"account": "three_body_author",
|
|
969
|
+
"network": "testnet"
|
|
970
|
+
}
|
|
796
971
|
}
|
|
797
972
|
}
|
|
798
973
|
```
|
|
799
974
|
|
|
800
975
|
**Expected Result**:
|
|
801
976
|
```json
|
|
802
|
-
|
|
803
|
-
{
|
|
804
|
-
"
|
|
805
|
-
"
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
977
|
+
{
|
|
978
|
+
"result": {
|
|
979
|
+
"status": "success",
|
|
980
|
+
"data": {
|
|
981
|
+
"result": {
|
|
982
|
+
"type": "transaction",
|
|
983
|
+
"objectChanges": [
|
|
984
|
+
{
|
|
985
|
+
"type": "Service",
|
|
986
|
+
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
987
|
+
"object": "0x...",
|
|
988
|
+
"version": "...",
|
|
989
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
990
|
+
"change": "mutated"
|
|
991
|
+
}
|
|
992
|
+
]
|
|
993
|
+
}
|
|
994
|
+
}
|
|
995
|
+
},
|
|
996
|
+
"schema": null
|
|
997
|
+
}
|
|
812
998
|
```
|
|
813
999
|
|
|
814
1000
|
---
|
|
@@ -820,10 +1006,13 @@ Query the service to verify all configurations.
|
|
|
820
1006
|
**Request**:
|
|
821
1007
|
```json
|
|
822
1008
|
{
|
|
823
|
-
"
|
|
824
|
-
"
|
|
825
|
-
|
|
826
|
-
|
|
1009
|
+
"tool": "query_toolkit",
|
|
1010
|
+
"data": {
|
|
1011
|
+
"query_type": "onchain_objects",
|
|
1012
|
+
"objects": ["three_body_signature_service"],
|
|
1013
|
+
"no_cache": true,
|
|
1014
|
+
"network": "testnet"
|
|
1015
|
+
}
|
|
827
1016
|
}
|
|
828
1017
|
```
|
|
829
1018
|
|
|
@@ -831,65 +1020,71 @@ Query the service to verify all configurations.
|
|
|
831
1020
|
```json
|
|
832
1021
|
{
|
|
833
1022
|
"result": {
|
|
834
|
-
"
|
|
835
|
-
"
|
|
836
|
-
"
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
"
|
|
840
|
-
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
841
|
-
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
842
|
-
"version": "...",
|
|
843
|
-
"previousTransaction": "...",
|
|
844
|
-
"description": "Three-Body author book signature service. Provide a message up to 10 characters, and the author will sign your book. Process: 1.Book Delivery 2.Signature Completion. Fee: 888.",
|
|
845
|
-
"location": "",
|
|
846
|
-
"sales": [
|
|
1023
|
+
"status": "success",
|
|
1024
|
+
"data": {
|
|
1025
|
+
"result": {
|
|
1026
|
+
"query_type": "onchain_objects",
|
|
1027
|
+
"result": {
|
|
1028
|
+
"objects": [
|
|
847
1029
|
{
|
|
848
|
-
"
|
|
849
|
-
"
|
|
850
|
-
"
|
|
851
|
-
"
|
|
852
|
-
"
|
|
853
|
-
"
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
|
|
865
|
-
|
|
866
|
-
|
|
867
|
-
|
|
868
|
-
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
1030
|
+
"object": "0x...",
|
|
1031
|
+
"type": "Service",
|
|
1032
|
+
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
1033
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
1034
|
+
"version": "...",
|
|
1035
|
+
"previousTransaction": "...",
|
|
1036
|
+
"description": "Three-Body author book signature service. Provide a message up to 10 characters, and the author will sign your book. Process: 1.Book Delivery 2.Signature Completion. Fee: 888.",
|
|
1037
|
+
"location": "",
|
|
1038
|
+
"sales": [
|
|
1039
|
+
{
|
|
1040
|
+
"name": "Three-Body Book Signature",
|
|
1041
|
+
"stock": "100",
|
|
1042
|
+
"suspension": false,
|
|
1043
|
+
"price": "888",
|
|
1044
|
+
"wip": "",
|
|
1045
|
+
"wip_hash": ""
|
|
1046
|
+
}
|
|
1047
|
+
],
|
|
1048
|
+
"repositories": [],
|
|
1049
|
+
"buy_guard": "0x...",
|
|
1050
|
+
"machine": "0x...",
|
|
1051
|
+
"bPublished": true,
|
|
1052
|
+
"bPaused": false,
|
|
1053
|
+
"customer_required": ["phone", "email", "shipping_address"],
|
|
1054
|
+
"arbitrations": [],
|
|
1055
|
+
"compensation_fund": "0",
|
|
1056
|
+
"paused_time": null,
|
|
1057
|
+
"setting_lock_duration": "2592000000",
|
|
1058
|
+
"order_allocators": {
|
|
1059
|
+
"description": "Three-Body signature service fund allocation - 100% to author Treasury",
|
|
1060
|
+
"threshold": "0",
|
|
1061
|
+
"allocators": [
|
|
873
1062
|
{
|
|
874
|
-
"
|
|
875
|
-
"sharing":
|
|
876
|
-
|
|
1063
|
+
"guard": "0x...",
|
|
1064
|
+
"sharing": [
|
|
1065
|
+
{
|
|
1066
|
+
"who": {"Entity": "0x..."},
|
|
1067
|
+
"sharing": "10000",
|
|
1068
|
+
"mode": 1
|
|
1069
|
+
}
|
|
1070
|
+
],
|
|
1071
|
+
"fix": "0",
|
|
1072
|
+
"max": null
|
|
877
1073
|
}
|
|
878
|
-
]
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
"cache_expire": 1234567890,
|
|
888
|
-
"query_name": "three_body_signature_service"
|
|
1074
|
+
]
|
|
1075
|
+
},
|
|
1076
|
+
"rewards": [],
|
|
1077
|
+
"um": null,
|
|
1078
|
+
"permission": "0x...",
|
|
1079
|
+
"cache_expire": 1234567890,
|
|
1080
|
+
"query_name": "three_body_signature_service"
|
|
1081
|
+
}
|
|
1082
|
+
]
|
|
889
1083
|
}
|
|
890
|
-
|
|
1084
|
+
}
|
|
891
1085
|
}
|
|
892
|
-
}
|
|
1086
|
+
},
|
|
1087
|
+
"schema": null
|
|
893
1088
|
}
|
|
894
1089
|
```
|
|
895
1090
|
|
|
@@ -912,103 +1107,117 @@ The author (`three_body_author`) should be able to purchase the service.
|
|
|
912
1107
|
**Request**:
|
|
913
1108
|
```json
|
|
914
1109
|
{
|
|
915
|
-
"
|
|
1110
|
+
"tool": "onchain_operations",
|
|
916
1111
|
"data": {
|
|
917
|
-
"
|
|
918
|
-
"
|
|
919
|
-
"
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
1112
|
+
"operation_type": "service",
|
|
1113
|
+
"data": {
|
|
1114
|
+
"object": "three_body_signature_service",
|
|
1115
|
+
"order_new": {
|
|
1116
|
+
"buy": {
|
|
1117
|
+
"items": [
|
|
1118
|
+
{
|
|
1119
|
+
"name": "Three-Body Book Signature",
|
|
1120
|
+
"stock": 1,
|
|
1121
|
+
"wip_hash": ""
|
|
1122
|
+
}
|
|
1123
|
+
],
|
|
1124
|
+
"total_pay": {
|
|
1125
|
+
"balance": 888
|
|
925
1126
|
}
|
|
926
|
-
|
|
927
|
-
"
|
|
928
|
-
"
|
|
1127
|
+
},
|
|
1128
|
+
"namedNewOrder": {
|
|
1129
|
+
"name": "three_body_order",
|
|
1130
|
+
"replaceExistName": true
|
|
1131
|
+
},
|
|
1132
|
+
"namedNewProgress": {
|
|
1133
|
+
"name": "three_body_progress",
|
|
1134
|
+
"replaceExistName": true
|
|
1135
|
+
},
|
|
1136
|
+
"namedNewAllocation": {
|
|
1137
|
+
"name": "three_body_allocation",
|
|
1138
|
+
"replaceExistName": true
|
|
929
1139
|
}
|
|
930
|
-
},
|
|
931
|
-
"namedNewOrder": {
|
|
932
|
-
"name": "three_body_order",
|
|
933
|
-
"replaceExistName": true
|
|
934
|
-
},
|
|
935
|
-
"namedNewProgress": {
|
|
936
|
-
"name": "three_body_progress",
|
|
937
|
-
"replaceExistName": true
|
|
938
|
-
},
|
|
939
|
-
"namedNewAllocation": {
|
|
940
|
-
"name": "three_body_allocation",
|
|
941
|
-
"replaceExistName": true
|
|
942
1140
|
}
|
|
1141
|
+
},
|
|
1142
|
+
"env": {
|
|
1143
|
+
"account": "three_body_author",
|
|
1144
|
+
"network": "testnet"
|
|
943
1145
|
}
|
|
944
|
-
},
|
|
945
|
-
"env": {
|
|
946
|
-
"account": "three_body_author",
|
|
947
|
-
"network": "testnet"
|
|
948
1146
|
}
|
|
949
1147
|
}
|
|
950
1148
|
```
|
|
951
1149
|
|
|
952
1150
|
**Expected Result**:
|
|
953
1151
|
```json
|
|
954
|
-
|
|
955
|
-
{
|
|
956
|
-
"
|
|
957
|
-
"
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1152
|
+
{
|
|
1153
|
+
"result": {
|
|
1154
|
+
"status": "success",
|
|
1155
|
+
"data": {
|
|
1156
|
+
"result": {
|
|
1157
|
+
"type": "transaction",
|
|
1158
|
+
"objectChanges": [
|
|
1159
|
+
{
|
|
1160
|
+
"type": "Service",
|
|
1161
|
+
"type_raw": "0x2::service::Service<0x2::wow::WOW>",
|
|
1162
|
+
"object": "0x...",
|
|
1163
|
+
"version": "...",
|
|
1164
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
1165
|
+
"change": "mutated"
|
|
1166
|
+
},
|
|
1167
|
+
{
|
|
1168
|
+
"type": "TableItem_EntityLinker",
|
|
1169
|
+
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
1170
|
+
"object": "0x...",
|
|
1171
|
+
"version": "...",
|
|
1172
|
+
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
1173
|
+
"change": "mutated"
|
|
1174
|
+
},
|
|
1175
|
+
{
|
|
1176
|
+
"type": "TableItem_EntityLinker",
|
|
1177
|
+
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
1178
|
+
"object": "0x...",
|
|
1179
|
+
"version": "...",
|
|
1180
|
+
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
1181
|
+
"change": "mutated"
|
|
1182
|
+
},
|
|
1183
|
+
{
|
|
1184
|
+
"type": "TableItem_EntityLinker",
|
|
1185
|
+
"type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
|
|
1186
|
+
"object": "0x...",
|
|
1187
|
+
"version": "...",
|
|
1188
|
+
"owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
|
|
1189
|
+
"change": "created"
|
|
1190
|
+
},
|
|
1191
|
+
{
|
|
1192
|
+
"type": "Allocation",
|
|
1193
|
+
"type_raw": "0x2::allocation::Allocation<0x2::wow::WOW>",
|
|
1194
|
+
"object": "0x...",
|
|
1195
|
+
"version": "...",
|
|
1196
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
1197
|
+
"change": "created"
|
|
1198
|
+
},
|
|
1199
|
+
{
|
|
1200
|
+
"type": "Order",
|
|
1201
|
+
"type_raw": "0x2::order::Order",
|
|
1202
|
+
"object": "0x...",
|
|
1203
|
+
"version": "...",
|
|
1204
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
1205
|
+
"change": "created"
|
|
1206
|
+
},
|
|
1207
|
+
{
|
|
1208
|
+
"type": "Progress",
|
|
1209
|
+
"type_raw": "0x2::progress::Progress",
|
|
1210
|
+
"object": "0x...",
|
|
1211
|
+
"version": "...",
|
|
1212
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
1213
|
+
"change": "created"
|
|
1214
|
+
}
|
|
1215
|
+
]
|
|
1216
|
+
}
|
|
1217
|
+
}
|
|
1002
1218
|
},
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
"type_raw": "0x2::progress::Progress",
|
|
1006
|
-
"object": "0x...",
|
|
1007
|
-
"version": "...",
|
|
1008
|
-
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
1009
|
-
"change": "created"
|
|
1010
|
-
}
|
|
1011
|
-
]
|
|
1219
|
+
"schema": null
|
|
1220
|
+
}
|
|
1012
1221
|
```
|
|
1013
1222
|
|
|
1014
1223
|
> **Why So Many Objects? (Information Injection Design)**
|
|
@@ -1034,27 +1243,30 @@ Any other account attempting to purchase should fail with Buy Guard verification
|
|
|
1034
1243
|
**Request**:
|
|
1035
1244
|
```json
|
|
1036
1245
|
{
|
|
1037
|
-
"
|
|
1246
|
+
"tool": "onchain_operations",
|
|
1038
1247
|
"data": {
|
|
1039
|
-
"
|
|
1040
|
-
"
|
|
1041
|
-
"
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1248
|
+
"operation_type": "service",
|
|
1249
|
+
"data": {
|
|
1250
|
+
"object": "three_body_signature_service",
|
|
1251
|
+
"order_new": {
|
|
1252
|
+
"buy": {
|
|
1253
|
+
"items": [
|
|
1254
|
+
{
|
|
1255
|
+
"name": "Three-Body Book Signature",
|
|
1256
|
+
"stock": 1,
|
|
1257
|
+
"wip_hash": ""
|
|
1258
|
+
}
|
|
1259
|
+
],
|
|
1260
|
+
"total_pay": {
|
|
1261
|
+
"balance": 888
|
|
1047
1262
|
}
|
|
1048
|
-
],
|
|
1049
|
-
"total_pay": {
|
|
1050
|
-
"balance": 888
|
|
1051
1263
|
}
|
|
1052
1264
|
}
|
|
1265
|
+
},
|
|
1266
|
+
"env": {
|
|
1267
|
+
"account": "three_body_customer",
|
|
1268
|
+
"network": "testnet"
|
|
1053
1269
|
}
|
|
1054
|
-
},
|
|
1055
|
-
"env": {
|
|
1056
|
-
"account": "three_body_customer",
|
|
1057
|
-
"network": "testnet"
|
|
1058
1270
|
}
|
|
1059
1271
|
}
|
|
1060
1272
|
```
|
|
@@ -1091,20 +1303,23 @@ The author confirms the book has been delivered.
|
|
|
1091
1303
|
**Request**:
|
|
1092
1304
|
```json
|
|
1093
1305
|
{
|
|
1094
|
-
"
|
|
1306
|
+
"tool": "onchain_operations",
|
|
1095
1307
|
"data": {
|
|
1096
|
-
"
|
|
1097
|
-
"
|
|
1098
|
-
"
|
|
1099
|
-
|
|
1100
|
-
"
|
|
1308
|
+
"operation_type": "progress",
|
|
1309
|
+
"data": {
|
|
1310
|
+
"object": "three_body_progress",
|
|
1311
|
+
"operate": {
|
|
1312
|
+
"operation": {
|
|
1313
|
+
"next_node_name": "Book Delivered",
|
|
1314
|
+
"forward": "Confirm Delivery"
|
|
1315
|
+
}
|
|
1101
1316
|
}
|
|
1317
|
+
},
|
|
1318
|
+
"env": {
|
|
1319
|
+
"account": "three_body_author",
|
|
1320
|
+
"network": "testnet",
|
|
1321
|
+
"no_cache": true
|
|
1102
1322
|
}
|
|
1103
|
-
},
|
|
1104
|
-
"env": {
|
|
1105
|
-
"account": "three_body_author",
|
|
1106
|
-
"network": "testnet",
|
|
1107
|
-
"no_cache": true
|
|
1108
1323
|
}
|
|
1109
1324
|
}
|
|
1110
1325
|
```
|
|
@@ -1113,24 +1328,35 @@ The author confirms the book has been delivered.
|
|
|
1113
1328
|
|
|
1114
1329
|
**Expected Result**:
|
|
1115
1330
|
```json
|
|
1116
|
-
|
|
1117
|
-
{
|
|
1118
|
-
"
|
|
1119
|
-
"
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
1123
|
-
|
|
1331
|
+
{
|
|
1332
|
+
"result": {
|
|
1333
|
+
"status": "success",
|
|
1334
|
+
"data": {
|
|
1335
|
+
"result": {
|
|
1336
|
+
"type": "transaction",
|
|
1337
|
+
"objectChanges": [
|
|
1338
|
+
{
|
|
1339
|
+
"type": "Progress",
|
|
1340
|
+
"type_raw": "0x2::progress::Progress",
|
|
1341
|
+
"object": "0x...",
|
|
1342
|
+
"version": "...",
|
|
1343
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
1344
|
+
"change": "mutated"
|
|
1345
|
+
},
|
|
1346
|
+
{
|
|
1347
|
+
"type": "TableItem_ProgressHistory",
|
|
1348
|
+
"type_raw": "0x2::dynamic_field::Field<u64, 0x2::progress::History>",
|
|
1349
|
+
"object": "0x...",
|
|
1350
|
+
"version": "...",
|
|
1351
|
+
"owner": {"ObjectOwner": "0x..."},
|
|
1352
|
+
"change": "created"
|
|
1353
|
+
}
|
|
1354
|
+
]
|
|
1355
|
+
}
|
|
1356
|
+
}
|
|
1124
1357
|
},
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
"type_raw": "0x2::dynamic_field::Field<u64, 0x2::progress::History>",
|
|
1128
|
-
"object": "0x...",
|
|
1129
|
-
"version": "...",
|
|
1130
|
-
"owner": {"ObjectOwner": "0x..."},
|
|
1131
|
-
"change": "created"
|
|
1132
|
-
}
|
|
1133
|
-
]
|
|
1358
|
+
"schema": null
|
|
1359
|
+
}
|
|
1134
1360
|
```
|
|
1135
1361
|
|
|
1136
1362
|
### Node 2: Signature Completed
|
|
@@ -1142,44 +1368,58 @@ The author completes the signature.
|
|
|
1142
1368
|
**Request**:
|
|
1143
1369
|
```json
|
|
1144
1370
|
{
|
|
1145
|
-
"
|
|
1371
|
+
"tool": "onchain_operations",
|
|
1146
1372
|
"data": {
|
|
1147
|
-
"
|
|
1148
|
-
"
|
|
1149
|
-
"
|
|
1150
|
-
|
|
1151
|
-
"
|
|
1373
|
+
"operation_type": "progress",
|
|
1374
|
+
"data": {
|
|
1375
|
+
"object": "three_body_progress",
|
|
1376
|
+
"operate": {
|
|
1377
|
+
"operation": {
|
|
1378
|
+
"next_node_name": "Signature Completed",
|
|
1379
|
+
"forward": "Complete Signature"
|
|
1380
|
+
}
|
|
1152
1381
|
}
|
|
1382
|
+
},
|
|
1383
|
+
"env": {
|
|
1384
|
+
"account": "three_body_author",
|
|
1385
|
+
"network": "testnet",
|
|
1386
|
+
"no_cache": true
|
|
1153
1387
|
}
|
|
1154
|
-
},
|
|
1155
|
-
"env": {
|
|
1156
|
-
"account": "three_body_author",
|
|
1157
|
-
"network": "testnet",
|
|
1158
|
-
"no_cache": true
|
|
1159
1388
|
}
|
|
1160
1389
|
}
|
|
1161
1390
|
```
|
|
1162
1391
|
|
|
1163
1392
|
**Expected Result**:
|
|
1164
1393
|
```json
|
|
1165
|
-
|
|
1166
|
-
{
|
|
1167
|
-
"
|
|
1168
|
-
"
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1394
|
+
{
|
|
1395
|
+
"result": {
|
|
1396
|
+
"status": "success",
|
|
1397
|
+
"data": {
|
|
1398
|
+
"result": {
|
|
1399
|
+
"type": "transaction",
|
|
1400
|
+
"objectChanges": [
|
|
1401
|
+
{
|
|
1402
|
+
"type": "Progress",
|
|
1403
|
+
"type_raw": "0x2::progress::Progress",
|
|
1404
|
+
"object": "0x...",
|
|
1405
|
+
"version": "...",
|
|
1406
|
+
"owner": {"Shared": {"initial_shared_version": "..."}},
|
|
1407
|
+
"change": "mutated"
|
|
1408
|
+
},
|
|
1409
|
+
{
|
|
1410
|
+
"type": "TableItem_ProgressHistory",
|
|
1411
|
+
"type_raw": "0x2::dynamic_field::Field<u64, 0x2::progress::History>",
|
|
1412
|
+
"object": "0x...",
|
|
1413
|
+
"version": "...",
|
|
1414
|
+
"owner": {"ObjectOwner": "0x..."},
|
|
1415
|
+
"change": "created"
|
|
1416
|
+
}
|
|
1417
|
+
]
|
|
1418
|
+
}
|
|
1419
|
+
}
|
|
1173
1420
|
},
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
"type_raw": "0x2::dynamic_field::Field<u64, 0x2::progress::History>",
|
|
1177
|
-
"object": "0x...",
|
|
1178
|
-
"version": "...",
|
|
1179
|
-
"owner": {"ObjectOwner": "0x..."},
|
|
1180
|
-
"change": "created"
|
|
1181
|
-
}
|
|
1182
|
-
]
|
|
1421
|
+
"schema": null
|
|
1422
|
+
}
|
|
1183
1423
|
```
|
|
1184
1424
|
|
|
1185
1425
|
---
|