@wowok/skills 1.2.4 → 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.
Files changed (53) hide show
  1. package/README.md +34 -16
  2. package/dist/cli.js +6 -2
  3. package/dist/cli.js.map +1 -1
  4. package/dist/skills.d.ts +32 -1
  5. package/dist/skills.d.ts.map +1 -1
  6. package/dist/skills.js +63 -0
  7. package/dist/skills.js.map +1 -1
  8. package/dist/types.d.ts +8 -0
  9. package/dist/types.d.ts.map +1 -1
  10. package/examples/Insurance/Insurance.md +543 -475
  11. package/examples/MyShop/MyShop.md +865 -746
  12. package/examples/MyShop_Advanced/MyShop_Advanced.md +1520 -1376
  13. package/examples/ThreeBody_Signature/ThreeBody_Signature.md +891 -651
  14. package/examples/Travel/Travel.md +952 -848
  15. package/package.json +2 -2
  16. package/scripts/install.js +3 -17
  17. package/wowok-arbitrator/SKILL.md +18 -57
  18. package/wowok-auditor/SKILL.md +16 -12
  19. package/wowok-distill/SKILL.md +237 -0
  20. package/wowok-guard/SKILL.md +40 -354
  21. package/wowok-machine/SKILL.md +21 -127
  22. package/wowok-messenger/SKILL.md +14 -59
  23. package/wowok-onboard/SKILL.md +42 -12
  24. package/wowok-order/SKILL.md +20 -169
  25. package/wowok-output/SKILL.md +0 -10
  26. package/wowok-planner/SKILL.md +28 -9
  27. package/wowok-provider/SKILL.md +72 -32
  28. package/wowok-safety/SKILL.md +8 -80
  29. package/wowok-scenario/SKILL.md +63 -98
  30. package/wowok-tools/SKILL.md +68 -107
  31. package/references/glossary.ts +0 -297
  32. package/references/guard-scenario-ledger.md +0 -353
  33. package/references/guard-template-library.md +0 -481
  34. package/references/machine-design-reference.md +0 -398
  35. package/references/machine-scenario-ledger.md +0 -227
  36. package/references/machine-template-library.md +0 -522
  37. package/references/merchant-scenario-coordination.md +0 -383
  38. package/references/object-collaboration.md +0 -362
  39. package/references/onchain-constants.md +0 -81
  40. package/wowok-arbitrator/APPENDIX.md +0 -545
  41. package/wowok-auditor/APPENDIX.md +0 -487
  42. package/wowok-guard/APPENDIX.md +0 -430
  43. package/wowok-machine/APPENDIX.md +0 -407
  44. package/wowok-messenger/APPENDIX.md +0 -550
  45. package/wowok-onboard/APPENDIX.md +0 -502
  46. package/wowok-order/APPENDIX.md +0 -777
  47. package/wowok-output/APPENDIX.md +0 -575
  48. package/wowok-planner/APPENDIX.md +0 -726
  49. package/wowok-provider/APPENDIX.md +0 -455
  50. package/wowok-safety/APPENDIX.md +0 -565
  51. package/wowok-scenario/APPENDIX.md +0 -97
  52. package/wowok-scenario/MODE-DETAILS.md +0 -275
  53. package/wowok-tools/APPENDIX.md +0 -394
@@ -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
- "gen": {
55
- "name": "three_body_author",
56
- "replaceExistName": true
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
- "gen": {
65
- "name": "three_body_customer",
66
- "replaceExistName": true
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
- "gen": {
75
- "address": "0x...",
76
- "name": "three_body_author"
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
- "query_type": "account_balance",
87
- "name_or_address": "three_body_author",
88
- "balance": true,
89
- "network": "testnet"
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
- "query_type": "account_balance",
98
- "result": {
99
- "address": "0x...",
100
- "name_or_address": "three_body_author",
101
- "balance": {
102
- "coinType": "0x2::wow::WOW",
103
- "coinObjectCount": 3,
104
- "totalBalance": "3000000000",
105
- "lockedBalance": {},
106
- "fundsInAddressBalance": "0"
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
- "faucet": {
119
- "network": "testnet",
120
- "name_or_address": "three_body_author"
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
- "faucet": {
129
- "name_or_address": "three_body_author",
130
- "result": [
131
- {
132
- "amount": 1000000000,
133
- "id": "0x...",
134
- "transferTxDigest": "..."
135
- },
136
- {
137
- "amount": 1000000000,
138
- "id": "0x...",
139
- "transferTxDigest": "..."
140
- },
141
- {
142
- "amount": 1000000000,
143
- "id": "0x...",
144
- "transferTxDigest": "..."
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
- "network": "testnet"
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
- "operation_type": "permission",
197
+ "tool": "onchain_operations",
166
198
  "data": {
167
- "object": {
168
- "name": "three_body_permission",
169
- "replaceExistName": true
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
- "description": "Permission for Three-Body Signature Service",
172
- "table": {
173
- "op": "add perm by entity",
174
- "entity": {"name_or_address": "three_body_author"},
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
- "type": "Permission",
199
- "type_raw": "0x2::permission::Permission",
200
- "object": "0x...",
201
- "version": "...",
202
- "owner": {"Shared": {"initial_shared_version": "..."}},
203
- "change": "created"
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
- "type": "TableItem_PermissionPerm",
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
- "operation_type": "guard",
271
+ "tool": "onchain_operations",
226
272
  "data": {
227
- "namedNew": {
228
- "name": "three_body_buy_guard",
229
- "tags": ["signature", "book", "buy-guard", "level1-strict"],
230
- "replaceExistName": true
231
- },
232
- "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.",
233
- "table": [
234
- {
235
- "identifier": 0,
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
- "type": "identifier",
251
- "identifier": 0
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
- "type": "Guard",
275
- "type_raw": "0x2::guard::Guard",
276
- "object": "0x...",
277
- "version": "...",
278
- "owner": "Immutable",
279
- "change": "created"
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
- "operation_type": "machine",
355
+ "tool": "onchain_operations",
296
356
  "data": {
297
- "object": {
298
- "name": "three_body_machine",
299
- "permission": "three_body_permission",
300
- "replaceExistName": true
301
- },
302
- "description": "Three-Body signature service workflow: Book Delivery -> Signature Completion",
303
- "node": {
304
- "op": "add",
305
- "nodes": [
306
- {
307
- "name": "Book Delivered",
308
- "pairs": [
309
- {
310
- "prev_node": "",
311
- "threshold": 0,
312
- "forwards": [
313
- {
314
- "name": "Confirm Delivery",
315
- "permissionIndex": 1000,
316
- "weight": 1
317
- }
318
- ]
319
- }
320
- ]
321
- },
322
- {
323
- "name": "Signature Completed",
324
- "pairs": [
325
- {
326
- "prev_node": "Book Delivered",
327
- "threshold": 1,
328
- "forwards": [
329
- {
330
- "name": "Complete Signature",
331
- "permissionIndex": 1001,
332
- "weight": 1
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
- "publish": true
341
- },
342
- "env": {
343
- "account": "three_body_author",
344
- "network": "testnet",
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
- "type": "TableItem_MachineNode",
357
- "type_raw": "0x2::dynamic_field::Field<0x1::string::String, 0x2::parent_linked_table::Node<0x1::string::String, vector<0x2::machine::NodePair>>>",
358
- "object": "0x...",
359
- "version": "...",
360
- "owner": {"ObjectOwner": "0x..."},
361
- "change": "created"
362
- },
363
- {
364
- "type": "TableItem_MachineNode",
365
- "type_raw": "0x2::dynamic_field::Field<0x1::string::String, 0x2::parent_linked_table::Node<0x1::string::String, vector<0x2::machine::NodePair>>>",
366
- "object": "0x...",
367
- "version": "...",
368
- "owner": {"ObjectOwner": "0x..."},
369
- "change": "created"
370
- },
371
- {
372
- "type": "Machine",
373
- "type_raw": "0x2::machine::Machine",
374
- "object": "0x...",
375
- "version": "...",
376
- "owner": {"Shared": {"initial_shared_version": "..."}},
377
- "change": "created"
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
- "type": "TableItem_EntityLinker",
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
- "operation_type": "service",
473
+ "tool": "onchain_operations",
400
474
  "data": {
401
- "object": {
402
- "name": "three_body_signature_service",
403
- "type_parameter": "0x2::wow::WOW",
404
- "permission": "three_body_permission",
405
- "replaceExistName": true
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
- "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.",
408
- "publish": false
409
- },
410
- "env": {
411
- "account": "three_body_author",
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
- "type": "TableItem_EntityLinker",
425
- "type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
426
- "object": "0x...",
427
- "version": "...",
428
- "owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
429
- "change": "mutated"
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
- "type": "Service",
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
- "operation_type": "service",
539
+ "tool": "onchain_operations",
452
540
  "data": {
453
- "object": "three_body_signature_service",
454
- "machine": "three_body_machine"
455
- },
456
- "env": {
457
- "account": "three_body_author",
458
- "network": "testnet"
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
- "type": "Service",
468
- "type_raw": "0x2::service::Service<0x2::wow::WOW>",
469
- "object": "0x...",
470
- "version": "...",
471
- "owner": {"Shared": {"initial_shared_version": "..."}},
472
- "change": "mutated"
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
- "type": "TableItem_EntityLinker",
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
- "operation_type": "service",
596
+ "tool": "onchain_operations",
495
597
  "data": {
496
- "object": "three_body_signature_service",
497
- "buy_guard": "three_body_buy_guard"
498
- },
499
- "env": {
500
- "account": "three_body_author",
501
- "network": "testnet"
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
- "type": "Service",
511
- "type_raw": "0x2::service::Service<0x2::wow::WOW>",
512
- "object": "0x...",
513
- "version": "...",
514
- "owner": {"Shared": {"initial_shared_version": "..."}},
515
- "change": "mutated"
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
- "type": "TableItem_EntityLinker",
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
- "operation_type": "treasury",
653
+ "tool": "onchain_operations",
538
654
  "data": {
539
- "object": {
540
- "name": "three_body_treasury",
541
- "type_parameter": "0x2::wow::WOW",
542
- "permission": "three_body_permission",
543
- "replaceExistName": true
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
- "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."
546
- },
547
- "env": {
548
- "account": "three_body_author",
549
- "network": "testnet",
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
- "type": "Treasury",
567
- "type_raw": "0x2::treasury::Treasury<0x2::wow::WOW>",
568
- "object": "0x...",
569
- "version": "...",
570
- "owner": {"Shared": {"initial_shared_version": "..."}},
571
- "change": "created"
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
- "type": "TableItem_EntityLinker",
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
- "operation_type": "guard",
728
+ "tool": "onchain_operations",
599
729
  "data": {
600
- "namedNew": {
601
- "name": "three_body_allocator_guard",
602
- "tags": ["signature", "book", "allocator", "level3-scene-combined"],
603
- "replaceExistName": true
604
- },
605
- "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).",
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
- "identifier": 1,
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
- "type": "query",
626
- "query": "order.service",
627
- "object": {"identifier": 0},
628
- "parameters": []
740
+ "identifier": 0,
741
+ "b_submission": true,
742
+ "value_type": "Address",
743
+ "name": "Order ID (submitted at runtime)"
629
744
  },
630
745
  {
631
- "type": "identifier",
632
- "identifier": 1
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
- "type": "Guard",
661
- "type_raw": "0x2::guard::Guard",
662
- "object": "0x...",
663
- "version": "...",
664
- "owner": "Immutable",
665
- "change": "created"
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
- "operation_type": "service",
823
+ "tool": "onchain_operations",
680
824
  "data": {
681
- "object": "three_body_signature_service",
682
- "order_allocators": {
683
- "description": "Three-Body signature service fund allocation - 100% to author Treasury",
684
- "threshold": 0,
685
- "allocators": [
686
- {
687
- "guard": "three_body_allocator_guard",
688
- "sharing": [
689
- {
690
- "who": {
691
- "Entity": {"name_or_address": "three_body_treasury"}
692
- },
693
- "sharing": 10000,
694
- "mode": "Rate"
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
- "customer_required": ["phone", "email", "shipping_address"]
701
- },
702
- "env": {
703
- "account": "three_body_author",
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
- "type": "Service",
719
- "type_raw": "0x2::service::Service<0x2::wow::WOW>",
720
- "object": "0x...",
721
- "version": "...",
722
- "owner": {"Shared": {"initial_shared_version": "..."}},
723
- "change": "mutated"
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
- "operation_type": "service",
895
+ "tool": "onchain_operations",
738
896
  "data": {
739
- "object": "three_body_signature_service",
740
- "sales": {
741
- "op": "add",
742
- "sales": [
743
- {
744
- "name": "Three-Body Book Signature",
745
- "price": 888,
746
- "stock": 100,
747
- "suspension": false,
748
- "wip": "",
749
- "wip_hash": ""
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
- "publish": true
754
- },
755
- "env": {
756
- "account": "three_body_author",
757
- "network": "testnet",
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
- "type": "Service",
770
- "type_raw": "0x2::service::Service<0x2::wow::WOW>",
771
- "object": "0x...",
772
- "version": "...",
773
- "owner": {"Shared": {"initial_shared_version": "..."}},
774
- "change": "mutated"
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
- "operation_type": "service",
960
+ "tool": "onchain_operations",
789
961
  "data": {
790
- "object": "three_body_signature_service",
791
- "pause": false
792
- },
793
- "env": {
794
- "account": "three_body_author",
795
- "network": "testnet"
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
- "type": "Service",
805
- "type_raw": "0x2::service::Service<0x2::wow::WOW>",
806
- "object": "0x...",
807
- "version": "...",
808
- "owner": {"Shared": {"initial_shared_version": "..."}},
809
- "change": "mutated"
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
- "query_type": "onchain_objects",
824
- "objects": ["three_body_signature_service"],
825
- "no_cache": true,
826
- "network": "testnet"
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
- "query_type": "onchain_objects",
835
- "result": {
836
- "objects": [
837
- {
838
- "object": "0x...",
839
- "type": "Service",
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
- "name": "Three-Body Book Signature",
849
- "stock": "100",
850
- "suspension": false,
851
- "price": "888",
852
- "wip": "",
853
- "wip_hash": ""
854
- }
855
- ],
856
- "repositories": [],
857
- "buy_guard": "0x...",
858
- "machine": "0x...",
859
- "bPublished": true,
860
- "bPaused": false,
861
- "customer_required": ["phone", "email", "shipping_address"],
862
- "arbitrations": [],
863
- "compensation_fund": "0",
864
- "paused_time": null,
865
- "setting_lock_duration": "2592000000",
866
- "order_allocators": {
867
- "description": "Three-Body signature service fund allocation - 100% to author Treasury",
868
- "threshold": "0",
869
- "allocators": [
870
- {
871
- "guard": "0x...",
872
- "sharing": [
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
- "who": {"Entity": "0x..."},
875
- "sharing": "10000",
876
- "mode": 1
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
- "fix": "0",
880
- "max": null
881
- }
882
- ]
883
- },
884
- "rewards": [],
885
- "um": null,
886
- "permission": "0x...",
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
- "operation_type": "service",
1110
+ "tool": "onchain_operations",
916
1111
  "data": {
917
- "object": "three_body_signature_service",
918
- "order_new": {
919
- "buy": {
920
- "items": [
921
- {
922
- "name": "Three-Body Book Signature",
923
- "stock": 1,
924
- "wip_hash": ""
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
- "total_pay": {
928
- "balance": 888
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
- "type": "Service",
957
- "type_raw": "0x2::service::Service<0x2::wow::WOW>",
958
- "object": "0x...",
959
- "version": "...",
960
- "owner": {"Shared": {"initial_shared_version": "..."}},
961
- "change": "mutated"
962
- },
963
- {
964
- "type": "TableItem_EntityLinker",
965
- "type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
966
- "object": "0x...",
967
- "version": "...",
968
- "owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
969
- "change": "mutated"
970
- },
971
- {
972
- "type": "TableItem_EntityLinker",
973
- "type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
974
- "object": "0x...",
975
- "version": "...",
976
- "owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
977
- "change": "mutated"
978
- },
979
- {
980
- "type": "TableItem_EntityLinker",
981
- "type_raw": "0x2::dynamic_field::Field<address, 0x2::registrar::Votes>",
982
- "object": "0x...",
983
- "version": "...",
984
- "owner": {"ObjectOwner": "0x0000000000000000000000000000000000000000000000000000000000000aaa"},
985
- "change": "created"
986
- },
987
- {
988
- "type": "Allocation",
989
- "type_raw": "0x2::allocation::Allocation<0x2::wow::WOW>",
990
- "object": "0x...",
991
- "version": "...",
992
- "owner": {"Shared": {"initial_shared_version": "..."}},
993
- "change": "created"
994
- },
995
- {
996
- "type": "Order",
997
- "type_raw": "0x2::order::Order",
998
- "object": "0x...",
999
- "version": "...",
1000
- "owner": {"Shared": {"initial_shared_version": "..."}},
1001
- "change": "created"
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
- "type": "Progress",
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
- "operation_type": "service",
1246
+ "tool": "onchain_operations",
1038
1247
  "data": {
1039
- "object": "three_body_signature_service",
1040
- "order_new": {
1041
- "buy": {
1042
- "items": [
1043
- {
1044
- "name": "Three-Body Book Signature",
1045
- "stock": 1,
1046
- "wip_hash": ""
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
- "operation_type": "progress",
1306
+ "tool": "onchain_operations",
1095
1307
  "data": {
1096
- "object": "three_body_progress",
1097
- "operate": {
1098
- "operation": {
1099
- "next_node_name": "Book Delivered",
1100
- "forward": "Confirm Delivery"
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
- "type": "Progress",
1119
- "type_raw": "0x2::progress::Progress",
1120
- "object": "0x...",
1121
- "version": "...",
1122
- "owner": {"Shared": {"initial_shared_version": "..."}},
1123
- "change": "mutated"
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
- "type": "TableItem_ProgressHistory",
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
- "operation_type": "progress",
1371
+ "tool": "onchain_operations",
1146
1372
  "data": {
1147
- "object": "three_body_progress",
1148
- "operate": {
1149
- "operation": {
1150
- "next_node_name": "Signature Completed",
1151
- "forward": "Complete Signature"
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
- "type": "Progress",
1168
- "type_raw": "0x2::progress::Progress",
1169
- "object": "0x...",
1170
- "version": "...",
1171
- "owner": {"Shared": {"initial_shared_version": "..."}},
1172
- "change": "mutated"
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
- "type": "TableItem_ProgressHistory",
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
  ---