@wowok/agent-mcp 2.2.13 → 2.2.15
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 +19 -11
- package/dist/index.js +44 -100
- package/dist/schema/query/index.js +1 -1
- package/dist/schema-query/index.d.ts +29 -0
- package/dist/schema-query/index.js +149 -0
- package/dist/schemas/account_operation.schema.json +255 -0
- package/dist/schemas/guard2file.schema.json +71 -0
- package/dist/schemas/index.json +139 -0
- package/dist/schemas/local_info_operation.schema.json +142 -0
- package/dist/schemas/local_mark_operation.schema.json +119 -0
- package/dist/schemas/machineNode2file.schema.json +71 -0
- package/dist/schemas/messenger_operation.schema.json +1393 -0
- package/dist/schemas/onchain_events.schema.json +113 -0
- package/dist/schemas/onchain_operations.schema.json +376 -0
- package/dist/schemas/onchain_operations_allocation.schema.json +914 -0
- package/dist/schemas/onchain_operations_arbitration.schema.json +1166 -0
- package/dist/schemas/onchain_operations_contact.schema.json +853 -0
- package/dist/schemas/onchain_operations_demand.schema.json +984 -0
- package/dist/schemas/onchain_operations_gen_passport.schema.json +1141 -0
- package/dist/schemas/onchain_operations_guard.schema.json +713 -0
- package/dist/schemas/onchain_operations_machine.schema.json +1347 -0
- package/dist/schemas/onchain_operations_order.schema.json +830 -0
- package/dist/schemas/onchain_operations_payment.schema.json +717 -0
- package/dist/schemas/onchain_operations_permission.schema.json +1088 -0
- package/dist/schemas/onchain_operations_personal.schema.json +1282 -0
- package/dist/schemas/onchain_operations_progress.schema.json +751 -0
- package/dist/schemas/onchain_operations_repository.schema.json +1572 -0
- package/dist/schemas/onchain_operations_reward.schema.json +955 -0
- package/dist/schemas/onchain_operations_service.schema.json +1411 -0
- package/dist/schemas/onchain_operations_treasury.schema.json +1155 -0
- package/dist/schemas/onchain_table_data.schema.json +35 -0
- package/dist/schemas/query_toolkit.schema.json +32 -0
- package/dist/schemas/schema_query.schema.json +33 -0
- package/dist/schemas/wip_file.schema.json +27 -0
- package/dist/schemas/wowok_buildin_info.schema.json +487 -0
- package/package.json +7 -5
- package/dist/docs/index.d.ts +0 -3
- package/dist/docs/index.js +0 -2
- package/dist/docs/loader.d.ts +0 -12
- package/dist/docs/loader.js +0 -177
- package/dist/docs/search.d.ts +0 -17
- package/dist/docs/search.js +0 -325
- package/dist/docs/types.d.ts +0 -55
- package/dist/docs/types.js +0 -1
- package/docs/README.md +0 -249
- package/docs/WIP.md +0 -388
- package/docs/WTS.md +0 -536
- package/docs/docs/account.md +0 -914
- package/docs/docs/allocation.md +0 -635
- package/docs/docs/arbitration.md +0 -1804
- package/docs/docs/arbitration_state_machine.md +0 -270
- package/docs/docs/contact.md +0 -709
- package/docs/docs/demand.md +0 -948
- package/docs/docs/guard.md +0 -1465
- package/docs/docs/localinfo.md +0 -432
- package/docs/docs/localmark.md +0 -583
- package/docs/docs/machine.md +0 -2490
- package/docs/docs/messenger.md +0 -2098
- package/docs/docs/onchain_events.md +0 -267
- package/docs/docs/order.md +0 -1001
- package/docs/docs/payment.md +0 -512
- package/docs/docs/permission.md +0 -1438
- package/docs/docs/personal.md +0 -742
- package/docs/docs/progress.md +0 -1748
- package/docs/docs/query.md +0 -467
- package/docs/docs/repository.md +0 -1043
- package/docs/docs/reward.md +0 -833
- package/docs/docs/service.md +0 -2130
- package/docs/docs/stage-01-introduction.md +0 -243
- package/docs/docs/stage-02-trust.md +0 -302
- package/docs/docs/stage-03-collaboration.md +0 -337
- package/docs/docs/stage-04-transaction.md +0 -277
- package/docs/docs/stage-05-business.md +0 -151
- package/docs/docs/stage-06-personal.md +0 -203
- package/docs/docs/stage-07-query.md +0 -572
- package/docs/docs/stage-08-examples.md +0 -184
- package/docs/docs/treasury.md +0 -1149
- package/docs/docs/wowok_buildin_info.md +0 -740
- package/docs/examples/Insurance/Insurance.md +0 -594
- package/docs/examples/Insurance/Insurance_TestResults.md +0 -481
- package/docs/examples/Insurance/insurance_complete_guard_v1.json +0 -50
- package/docs/examples/MyShop/MyShop.md +0 -1353
- package/docs/examples/MyShop/MyShop_TestResults.md +0 -1003
- package/docs/examples/MyShop_Advanced/MyShop_Advanced.md +0 -1898
- package/docs/examples/MyShop_Advanced/MyShop_Advanced_MerchantSystem_TestResults.md +0 -1297
- package/docs/examples/MyShop_Advanced/MyShop_Advanced_OrderFlow_TestResults.md +0 -743
- package/docs/examples/MyShop_Advanced/machine_nodes.json +0 -222
- package/docs/examples/ThreeBody_Signature/ThreeBody_Signature.md +0 -776
- package/docs/examples/ThreeBody_Signature/ThreeBody_Signature_TestResults.md +0 -599
- package/docs/examples/Travel/Travel.md +0 -1157
- package/docs/examples/Travel/Travel_TestResults.md +0 -743
- package/docs/examples/Travel/calc-weather-timestamps.js +0 -8
- package/docs/examples/Travel/travel_machine_v2_export.json +0 -104
- package/docs/examples/Travel/weather_check_guard_v1.json +0 -51
- package/docs/skills/WOWOK.md +0 -650
- package/docs/skills/onchain_operations/_common.md +0 -406
- package/docs/skills/onchain_operations/_index.md +0 -196
- package/docs/skills/onchain_operations/allocation.md +0 -28
- package/docs/skills/onchain_operations/arbitration.md +0 -106
- package/docs/skills/onchain_operations/contact.md +0 -40
- package/docs/skills/onchain_operations/demand.md +0 -53
- package/docs/skills/onchain_operations/gen_passport.md +0 -23
- package/docs/skills/onchain_operations/guard.md +0 -56
- package/docs/skills/onchain_operations/machine.md +0 -89
- package/docs/skills/onchain_operations/order.md +0 -56
- package/docs/skills/onchain_operations/payment.md +0 -24
- package/docs/skills/onchain_operations/permission.md +0 -68
- package/docs/skills/onchain_operations/personal.md +0 -58
- package/docs/skills/onchain_operations/progress.md +0 -38
- package/docs/skills/onchain_operations/repository.md +0 -70
- package/docs/skills/onchain_operations/reward.md +0 -38
- package/docs/skills/onchain_operations/service.md +0 -78
- package/docs/skills/onchain_operations/treasury.md +0 -68
- package/docs/skills/schema-account_operation.md +0 -402
- package/docs/skills/schema-guard2file.md +0 -153
- package/docs/skills/schema-local_info_operation.md +0 -160
- package/docs/skills/schema-local_mark_operation.md +0 -148
- package/docs/skills/schema-machineNode2file.md +0 -155
- package/docs/skills/schema-messenger_operation.md +0 -547
- package/docs/skills/schema-onchain_events.md +0 -201
- package/docs/skills/schema-onchain_table_data.md +0 -334
- package/docs/skills/schema-query_toolkit.md +0 -395
- package/docs/skills/schema-wip_file.md +0 -240
- package/docs/skills/schema-wowok_buildin_info.md +0 -296
- package/docs/wip-examples/three_body.html +0 -57
- package/docs/wip-examples/three_body.wip +0 -30
package/docs/docs/demand.md
DELETED
|
@@ -1,948 +0,0 @@
|
|
|
1
|
-
# Demand Component (🎯 Service Requests)
|
|
2
|
-
|
|
3
|
-
---
|
|
4
|
-
|
|
5
|
-
## Component Overview
|
|
6
|
-
|
|
7
|
-
The Demand component is used to post service requests with reward pools on-chain.
|
|
8
|
-
|
|
9
|
-
---
|
|
10
|
-
|
|
11
|
-
## Function List
|
|
12
|
-
|
|
13
|
-
| Function Name | Purpose | Usage Scenario | Significance |
|
|
14
|
-
|---------------|---------|----------------|-------------|
|
|
15
|
-
| **Create Demand** | Post service requests | Request specific services with requirements | Initiates service discovery process |
|
|
16
|
-
| **Recommend Service** | Suggest services to fulfill demand | Match demand with suitable providers | Facilitates service-provider matching |
|
|
17
|
-
| **Manage Guards** | Configure validation rules | Ensure recommended services meet criteria | Quality control for service recommendations |
|
|
18
|
-
| **Bind Components** | Attach rewards, contacts, etc. | Set up incentive pools and communication | Enhances demand with additional features |
|
|
19
|
-
| **Provide Feedback** | Give feedback on recommendations | Rate and comment on suggested services | Improves matching quality over time |
|
|
20
|
-
| **Owner Receive** | Unwrap and receive objects | Collect rewards, payments for fulfilled demands | Enables value transfer to demand owners |
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Schema Tree (4-Level Structure)
|
|
25
|
-
|
|
26
|
-
```
|
|
27
|
-
Demand Component
|
|
28
|
-
├── operation_type: "demand"
|
|
29
|
-
├── data
|
|
30
|
-
│ ├── object
|
|
31
|
-
│ │ ├── Option 1: Name or Address (string)
|
|
32
|
-
│ │ │ └── [demand_name or demand_id]
|
|
33
|
-
│ │ └── Option 2: Named Object with Permission
|
|
34
|
-
│ │ ├── name (string, optional)
|
|
35
|
-
│ │ ├── tags (array of strings, optional)
|
|
36
|
-
│ │ ├── onChain (boolean, optional)
|
|
37
|
-
│ │ ├── replaceExistName (boolean, optional)
|
|
38
|
-
│ │ └── permission
|
|
39
|
-
│ │ ├── Option 1: Name or Address (string)
|
|
40
|
-
│ │ │ └── [permission_name or permission_id]
|
|
41
|
-
│ │ └── Option 2: Named Object with Description
|
|
42
|
-
│ │ ├── name (string, optional)
|
|
43
|
-
│ │ ├── tags (array of strings, optional)
|
|
44
|
-
│ │ ├── onChain (boolean, optional)
|
|
45
|
-
│ │ ├── replaceExistName (boolean, optional)
|
|
46
|
-
│ │ └── description (string, optional)
|
|
47
|
-
│ ├── present (optional)
|
|
48
|
-
│ │ ├── recommend (string) - max 4000 bcs characters
|
|
49
|
-
│ │ ├── by_guard (string, optional)
|
|
50
|
-
│ │ └── service (string, optional)
|
|
51
|
-
│ ├── description (string, optional)
|
|
52
|
-
│ ├── location (string, optional)
|
|
53
|
-
│ ├── rewards (optional)
|
|
54
|
-
│ │ ├── op: "add"
|
|
55
|
-
│ │ │ └── objects (array of strings)
|
|
56
|
-
│ │ ├── op: "set"
|
|
57
|
-
│ │ │ └── objects (array of strings)
|
|
58
|
-
│ │ ├── op: "remove"
|
|
59
|
-
│ │ │ └── objects (array of strings)
|
|
60
|
-
│ │ └── op: "clear"
|
|
61
|
-
│ ├── feedback (optional, array)
|
|
62
|
-
│ │ └── [feedback_item]
|
|
63
|
-
│ │ ├── who (object)
|
|
64
|
-
│ │ │ ├── name_or_address (string, optional)
|
|
65
|
-
│ │ │ └── local_mark_first (boolean, optional)
|
|
66
|
-
│ │ ├── acceptance_score (number, optional, 0-255)
|
|
67
|
-
│ │ └── feedback (string, optional) - max 4000 bcs characters
|
|
68
|
-
│ ├── guards (optional)
|
|
69
|
-
│ │ ├── op: "add"
|
|
70
|
-
│ │ │ └── guard (array)
|
|
71
|
-
│ │ │ └── [service_guard]
|
|
72
|
-
│ │ │ ├── guard (string)
|
|
73
|
-
│ │ │ └── service_identifier (number or null, optional, 0-255)
|
|
74
|
-
│ │ ├── op: "set"
|
|
75
|
-
│ │ │ └── guard (array)
|
|
76
|
-
│ │ │ └── [service_guard]
|
|
77
|
-
│ │ │ ├── guard (string)
|
|
78
|
-
│ │ │ └── service_identifier (number or null, optional, 0-255)
|
|
79
|
-
│ │ ├── op: "remove"
|
|
80
|
-
│ │ │ └── guard (array of strings)
|
|
81
|
-
│ │ └── op: "clear"
|
|
82
|
-
│ ├── owner_receive (transfer received coins or NFT objects to owner, optional)
|
|
83
|
-
│ │ ├── Option 1: "recently" (string) - receive all recent objects
|
|
84
|
-
│ │ ├── Option 2: Array of received objects
|
|
85
|
-
│ │ │ └── [{ id: "object_id", type: "object_type" }]
|
|
86
|
-
│ │ └── Option 3: Received balance object
|
|
87
|
-
│ │ ├── balance (number or string)
|
|
88
|
-
│ │ ├── token_type (string)
|
|
89
|
-
│ │ └── received (array of received items)
|
|
90
|
-
│ └── um (Contact object, optional)
|
|
91
|
-
│ ├── Option 1: Contact object name or ID (string)
|
|
92
|
-
│ └── Option 2: null (to unbind contact)
|
|
93
|
-
├── env (optional, execution environment)
|
|
94
|
-
│ ├── account (string, optional) - account name or address, empty string for default
|
|
95
|
-
│ ├── network (string, optional) - "testnet" or "localnet"
|
|
96
|
-
│ ├── permission_guard (array, optional) - list of permission guard IDs
|
|
97
|
-
│ ├── no_cache (boolean, optional) - disable caching
|
|
98
|
-
│ └── referrer (string, optional) - referrer ID
|
|
99
|
-
└── submission (optional, submission data)
|
|
100
|
-
├── type (string) - fixed value "submission"
|
|
101
|
-
├── guard (array) - list of guards to verify
|
|
102
|
-
│ └── [{ object: "guard_id", impack: boolean }]
|
|
103
|
-
└── submission (array) - submission data for guards
|
|
104
|
-
└── [{ guard: "guard_id", submission: [guard_submission_items] }]
|
|
105
|
-
└── guard_submission_items
|
|
106
|
-
├── identifier (number, 0-255) - Guard table item identifier
|
|
107
|
-
├── b_submission (boolean) - whether this item requires submission
|
|
108
|
-
├── value_type (number | string) - value type (e.g., 6 or "U64" for U64 type)
|
|
109
|
-
├── **value (any) - submitted value**
|
|
110
|
-
└── name (string, optional) - item name
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
---
|
|
114
|
-
|
|
115
|
-
### ⚠️ Important Note About Submission
|
|
116
|
-
|
|
117
|
-
If the execution returns a `submission` field in the response, it indicates that additional Guard verification data is required. You must:
|
|
118
|
-
|
|
119
|
-
1. Complete all required submission data within the `submission` structure
|
|
120
|
-
2. Resubmit the operation with the completed submission data
|
|
121
|
-
3. **Do not modify any other parts of the structure** - only fill in the required submission values
|
|
122
|
-
|
|
123
|
-
The submission structure will specify which Guard objects need verification and what data needs to be provided for each Guard table item.
|
|
124
|
-
|
|
125
|
-
**Query Value Types**: Use the `wowok_buildin_info` tool with `{ "info": "value types" }` to query all supported value types with their numeric and string representations. This helps you understand what `value_type` values are valid for submission data.
|
|
126
|
-
|
|
127
|
-
---
|
|
128
|
-
|
|
129
|
-
## Sub-function 1: Create New Demand
|
|
130
|
-
|
|
131
|
-
### Function Description
|
|
132
|
-
|
|
133
|
-
Create a new Demand object for posting service requests.
|
|
134
|
-
|
|
135
|
-
### Parameter Description
|
|
136
|
-
|
|
137
|
-
| Parameter | Type | Required | Description | Constraints |
|
|
138
|
-
|-----------|------|----------|-------------|-------------|
|
|
139
|
-
| `object` | string/object | Yes | Object name/ID or object definition | Required in all cases |
|
|
140
|
-
| `object.name` | string | No | Local mark name | Max 64 BCS characters |
|
|
141
|
-
| `object.permission` | string/object | No | Permission object | Can be existing permission ID/name, or new permission object |
|
|
142
|
-
| `description` | string | No | Demand description | Max 4000 BCS characters |
|
|
143
|
-
| `location` | string | No | Service location | Max 256 BCS characters |
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
### Examples
|
|
147
|
-
|
|
148
|
-
#### Example 1.1: Create Simple Demand
|
|
149
|
-
|
|
150
|
-
**Prompt:** Create a new demand object named "logo_design_demand" with description "Need a professional corporate LOGO design" and location "Online service".
|
|
151
|
-
|
|
152
|
-
```json
|
|
153
|
-
{
|
|
154
|
-
"operation_type": "demand",
|
|
155
|
-
"data": {
|
|
156
|
-
"object": {
|
|
157
|
-
"name": "logo_design_demand"
|
|
158
|
-
},
|
|
159
|
-
"description": "Need a professional corporate LOGO design",
|
|
160
|
-
"location": "Online service"
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
**Execution Result**:
|
|
166
|
-
```json
|
|
167
|
-
{
|
|
168
|
-
"status": "success",
|
|
169
|
-
"object": "0x2d49...f414",
|
|
170
|
-
"type": "Demand",
|
|
171
|
-
"version": "33729",
|
|
172
|
-
"change": "created",
|
|
173
|
-
"objects": [
|
|
174
|
-
{
|
|
175
|
-
"type": "Demand",
|
|
176
|
-
"object": "0x2d49...f414",
|
|
177
|
-
"change": "created"
|
|
178
|
-
},
|
|
179
|
-
{
|
|
180
|
-
"type": "Permission",
|
|
181
|
-
"object": "0xfe50...c914",
|
|
182
|
-
"change": "created"
|
|
183
|
-
}
|
|
184
|
-
]
|
|
185
|
-
}
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
#### Example 1.2: Create Demand with Existing Permission
|
|
189
|
-
|
|
190
|
-
**Prompt:** Create a new demand named "website_design_demand", bind to existing permission "existing_permission", set description to "Need a modern corporate website design", and location to "Online service".
|
|
191
|
-
|
|
192
|
-
```json
|
|
193
|
-
{
|
|
194
|
-
"operation_type": "demand",
|
|
195
|
-
"data": {
|
|
196
|
-
"object": {
|
|
197
|
-
"name": "website_design_demand",
|
|
198
|
-
"permission": "existing_permission"
|
|
199
|
-
},
|
|
200
|
-
"description": "Need a modern corporate website design",
|
|
201
|
-
"location": "Online service"
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
```
|
|
205
|
-
|
|
206
|
-
**Execution Result**:
|
|
207
|
-
```json
|
|
208
|
-
{
|
|
209
|
-
"status": "success",
|
|
210
|
-
"object": "0xfe82...45d9",
|
|
211
|
-
"type": "Demand",
|
|
212
|
-
"version": "33940",
|
|
213
|
-
"change": "created",
|
|
214
|
-
"objects": [
|
|
215
|
-
{
|
|
216
|
-
"type": "Demand",
|
|
217
|
-
"object": "0xfe82...45d9",
|
|
218
|
-
"change": "created"
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
"type": "Permission",
|
|
222
|
-
"object": "0x32f1...52e6",
|
|
223
|
-
"change": "created"
|
|
224
|
-
}
|
|
225
|
-
]
|
|
226
|
-
}
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
#### Example 1.3: Create Demand with New Permission
|
|
230
|
-
|
|
231
|
-
**Prompt:** Create a new demand named "app_development_demand", create a new permission object named "demand_permission", set description to "Need a mobile app development service", and location to "Online service".
|
|
232
|
-
|
|
233
|
-
```json
|
|
234
|
-
{
|
|
235
|
-
"operation_type": "demand",
|
|
236
|
-
"data": {
|
|
237
|
-
"object": {
|
|
238
|
-
"name": "app_development_demand",
|
|
239
|
-
"permission": {
|
|
240
|
-
"name": "demand_permission"
|
|
241
|
-
}
|
|
242
|
-
},
|
|
243
|
-
"description": "Need a mobile app development service",
|
|
244
|
-
"location": "Online service"
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
```
|
|
248
|
-
|
|
249
|
-
**Execution Result**:
|
|
250
|
-
```json
|
|
251
|
-
{
|
|
252
|
-
"status": "success",
|
|
253
|
-
"object": "0xa8b4...107e",
|
|
254
|
-
"type": "Demand",
|
|
255
|
-
"version": "34144",
|
|
256
|
-
"change": "created",
|
|
257
|
-
"objects": [
|
|
258
|
-
{
|
|
259
|
-
"type": "Demand",
|
|
260
|
-
"object": "0xa8b4...107e",
|
|
261
|
-
"change": "created"
|
|
262
|
-
},
|
|
263
|
-
{
|
|
264
|
-
"type": "Permission",
|
|
265
|
-
"object": "0xece8...601b",
|
|
266
|
-
"change": "created"
|
|
267
|
-
}
|
|
268
|
-
]
|
|
269
|
-
}
|
|
270
|
-
```
|
|
271
|
-
|
|
272
|
-
#### Example 1.4: Operate Existing Demand
|
|
273
|
-
|
|
274
|
-
**Prompt:** Use the existing demand "logo_design_demand" and update its description to "Updated description for the demand".
|
|
275
|
-
|
|
276
|
-
```json
|
|
277
|
-
{
|
|
278
|
-
"operation_type": "demand",
|
|
279
|
-
"data": {
|
|
280
|
-
"object": "logo_design_demand",
|
|
281
|
-
"description": "Updated description for the demand"
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
```
|
|
285
|
-
|
|
286
|
-
**Execution Result**:
|
|
287
|
-
```json
|
|
288
|
-
{
|
|
289
|
-
"status": "success",
|
|
290
|
-
"object": "0x2d49...f414",
|
|
291
|
-
"type": "Demand",
|
|
292
|
-
"version": "34145",
|
|
293
|
-
"change": "mutated"
|
|
294
|
-
}
|
|
295
|
-
```
|
|
296
|
-
|
|
297
|
-
---
|
|
298
|
-
|
|
299
|
-
## Sub-function 2: Recommend Service (present)
|
|
300
|
-
|
|
301
|
-
### Function Description
|
|
302
|
-
|
|
303
|
-
Recommend a Service to the Demand object.
|
|
304
|
-
|
|
305
|
-
### Parameter Description
|
|
306
|
-
|
|
307
|
-
| Parameter | Type | Required | Description |
|
|
308
|
-
|-----------|------|----------|-------------|
|
|
309
|
-
| `present.recommend` | string | Yes | Recommendation description | Max 4000 bcs characters |
|
|
310
|
-
| `present.by_guard` | string | No | Guard ID or name, used to select which Guard's verification to pass through |
|
|
311
|
-
| `present.service` | string | No | Service ID or name to present |
|
|
312
|
-
|
|
313
|
-
### Example
|
|
314
|
-
|
|
315
|
-
**Prompt:** Use the existing demand "logo_design_demand" and present the service "design_service" with recommendation "This design service is very suitable for your needs".
|
|
316
|
-
|
|
317
|
-
```json
|
|
318
|
-
{
|
|
319
|
-
"operation_type": "demand",
|
|
320
|
-
"data": {
|
|
321
|
-
"object": "logo_design_demand",
|
|
322
|
-
"present": {
|
|
323
|
-
"recommend": "This design service is very suitable for your needs",
|
|
324
|
-
"service": "design_service"
|
|
325
|
-
}
|
|
326
|
-
}
|
|
327
|
-
}
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
**Execution Result**:
|
|
331
|
-
```json
|
|
332
|
-
{
|
|
333
|
-
"status": "error",
|
|
334
|
-
"error": "Dry run failed: MoveAbort in command 0"
|
|
335
|
-
}
|
|
336
|
-
```
|
|
337
|
-
|
|
338
|
-
**⚠️ Important Prerequisites**: Before using `present`, you must:
|
|
339
|
-
|
|
340
|
-
1. **Add a Guard to the Demand object first** (see Example 3.1 below)
|
|
341
|
-
2. **Use the same Guard** in the `by_guard` parameter when calling `present`
|
|
342
|
-
3. **Ensure the Guard validation passes** (use `always_true_guard_v4` for testing)
|
|
343
|
-
|
|
344
|
-
**Complete workflow**:
|
|
345
|
-
```json
|
|
346
|
-
// Step 1: Add Guard to Demand
|
|
347
|
-
{
|
|
348
|
-
"operation_type": "demand",
|
|
349
|
-
"data": {
|
|
350
|
-
"object": "logo_design_demand",
|
|
351
|
-
"guards": {
|
|
352
|
-
"op": "add",
|
|
353
|
-
"guard": [{"guard": "always_true_guard_v4"}]
|
|
354
|
-
}
|
|
355
|
-
}
|
|
356
|
-
}
|
|
357
|
-
|
|
358
|
-
// Step 2: Present service with the same Guard
|
|
359
|
-
{
|
|
360
|
-
"operation_type": "demand",
|
|
361
|
-
"data": {
|
|
362
|
-
"object": "logo_design_demand",
|
|
363
|
-
"present": {
|
|
364
|
-
"recommend": "This design service is very suitable for your needs",
|
|
365
|
-
"by_guard": "always_true_guard_v4",
|
|
366
|
-
"service": "design_service"
|
|
367
|
-
}
|
|
368
|
-
}
|
|
369
|
-
}
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
**Execution Result (Complete workflow)**:
|
|
373
|
-
```json
|
|
374
|
-
{
|
|
375
|
-
"status": "success",
|
|
376
|
-
"object": "0xbf55...02b9",
|
|
377
|
-
"type": "Demand",
|
|
378
|
-
"version": "63619",
|
|
379
|
-
"change": "mutated",
|
|
380
|
-
"objects": [
|
|
381
|
-
{
|
|
382
|
-
"type": "Demand",
|
|
383
|
-
"object": "0xbf55...02b9",
|
|
384
|
-
"change": "mutated"
|
|
385
|
-
},
|
|
386
|
-
{
|
|
387
|
-
"type": "TableItem_DemandPresenter",
|
|
388
|
-
"object": "0x9eda...2665",
|
|
389
|
-
"change": "created"
|
|
390
|
-
}
|
|
391
|
-
]
|
|
392
|
-
}
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
---
|
|
396
|
-
|
|
397
|
-
## Sub-function 3: Manage Validation Guard List (guards)
|
|
398
|
-
|
|
399
|
-
### Function Description
|
|
400
|
-
|
|
401
|
-
Manage the Demand object's validation Guard list, used to verify whether the service recommended by the user meets the requirements.
|
|
402
|
-
|
|
403
|
-
### Parameter Description
|
|
404
|
-
|
|
405
|
-
| Parameter | Type | Required | Description |
|
|
406
|
-
|-----------|------|----------|-------------|
|
|
407
|
-
| `guards.op` | string | Yes | Operation type: add/set/remove/clear |
|
|
408
|
-
| `guards.guard` | array | Required for add/set | List of Guard object IDs/names |
|
|
409
|
-
|
|
410
|
-
### Operation Type Description
|
|
411
|
-
|
|
412
|
-
| Operation Type | Description |
|
|
413
|
-
|----------------|-------------|
|
|
414
|
-
| `add` | Add new Guards to existing list |
|
|
415
|
-
| `set` | Replace entire Guard list |
|
|
416
|
-
| `remove` | Remove specified Guards (use ID or name) |
|
|
417
|
-
| `clear` | Clear all Guards |
|
|
418
|
-
|
|
419
|
-
### Examples
|
|
420
|
-
|
|
421
|
-
#### Example 3.1: Add Guard
|
|
422
|
-
|
|
423
|
-
**Prompt:** Use the existing demand "logo_design_demand" and add two guards: "service_qualification_check" and "price_check".
|
|
424
|
-
|
|
425
|
-
```json
|
|
426
|
-
{
|
|
427
|
-
"operation_type": "demand",
|
|
428
|
-
"data": {
|
|
429
|
-
"object": "logo_design_demand",
|
|
430
|
-
"guards": {
|
|
431
|
-
"op": "add",
|
|
432
|
-
"guard": [
|
|
433
|
-
{
|
|
434
|
-
"guard": "service_qualification_check"
|
|
435
|
-
},
|
|
436
|
-
{
|
|
437
|
-
"guard": "price_check"
|
|
438
|
-
}
|
|
439
|
-
]
|
|
440
|
-
}
|
|
441
|
-
}
|
|
442
|
-
}
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
**Execution Result**:
|
|
446
|
-
```json
|
|
447
|
-
{
|
|
448
|
-
"status": "success",
|
|
449
|
-
"object": "0x2d49...f414",
|
|
450
|
-
"type": "Demand",
|
|
451
|
-
"version": "34485",
|
|
452
|
-
"change": "mutated"
|
|
453
|
-
}
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
#### Example 3.2: Set Guard List (Replace)
|
|
457
|
-
|
|
458
|
-
**Prompt:** Use the existing demand "logo_design_demand" and replace the entire guard list with "service_qualification_check".
|
|
459
|
-
|
|
460
|
-
```json
|
|
461
|
-
{
|
|
462
|
-
"operation_type": "demand",
|
|
463
|
-
"data": {
|
|
464
|
-
"object": "logo_design_demand",
|
|
465
|
-
"guards": {
|
|
466
|
-
"op": "set",
|
|
467
|
-
"guard": [
|
|
468
|
-
{
|
|
469
|
-
"guard": "service_qualification_check"
|
|
470
|
-
}
|
|
471
|
-
]
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
}
|
|
475
|
-
```
|
|
476
|
-
|
|
477
|
-
#### Example 3.3: Remove Guard
|
|
478
|
-
|
|
479
|
-
**Prompt:** Use the existing demand "logo_design_demand" and remove the guard "old_guard".
|
|
480
|
-
|
|
481
|
-
```json
|
|
482
|
-
{
|
|
483
|
-
"operation_type": "demand",
|
|
484
|
-
"data": {
|
|
485
|
-
"object": "logo_design_demand",
|
|
486
|
-
"guards": {
|
|
487
|
-
"op": "remove",
|
|
488
|
-
"guard": ["old_guard"]
|
|
489
|
-
}
|
|
490
|
-
}
|
|
491
|
-
}
|
|
492
|
-
```
|
|
493
|
-
|
|
494
|
-
**Execution Result**:
|
|
495
|
-
```json
|
|
496
|
-
{
|
|
497
|
-
"status": "success",
|
|
498
|
-
"object": "0x2d49...f414",
|
|
499
|
-
"type": "Demand",
|
|
500
|
-
"version": "...",
|
|
501
|
-
"change": "mutated"
|
|
502
|
-
}
|
|
503
|
-
```
|
|
504
|
-
|
|
505
|
-
#### Example 3.4: Clear Guards
|
|
506
|
-
|
|
507
|
-
**Prompt:** Use the existing demand "logo_design_demand" and clear all guards.
|
|
508
|
-
|
|
509
|
-
```json
|
|
510
|
-
{
|
|
511
|
-
"operation_type": "demand",
|
|
512
|
-
"data": {
|
|
513
|
-
"object": "logo_design_demand",
|
|
514
|
-
"guards": {
|
|
515
|
-
"op": "clear"
|
|
516
|
-
}
|
|
517
|
-
}
|
|
518
|
-
}
|
|
519
|
-
```
|
|
520
|
-
|
|
521
|
-
**Execution Result**:
|
|
522
|
-
```json
|
|
523
|
-
{
|
|
524
|
-
"status": "success",
|
|
525
|
-
"object": "0x2d49...f414",
|
|
526
|
-
"type": "Demand",
|
|
527
|
-
"version": "...",
|
|
528
|
-
"change": "mutated"
|
|
529
|
-
}
|
|
530
|
-
```
|
|
531
|
-
|
|
532
|
-
---
|
|
533
|
-
|
|
534
|
-
## Sub-function 4: Bind Components
|
|
535
|
-
|
|
536
|
-
### Function Description
|
|
537
|
-
|
|
538
|
-
Bind Reward, Contact and other components to Demand.
|
|
539
|
-
|
|
540
|
-
### Parameter Description
|
|
541
|
-
|
|
542
|
-
| Parameter | Type | Required | Description |
|
|
543
|
-
|-----------|------|----------|-------------|
|
|
544
|
-
| `rewards` | object | No | Reward object list operation |
|
|
545
|
-
| `rewards.op` | string | Yes | Operation: add/set/remove/clear |
|
|
546
|
-
| `rewards.objects` | array | Required for add/set/remove | List of Reward object IDs/names |
|
|
547
|
-
| `um` | string/null | No | Contact object ID/name, or null to unbind |
|
|
548
|
-
|
|
549
|
-
### Examples
|
|
550
|
-
|
|
551
|
-
#### Example 4.1: Add Rewards
|
|
552
|
-
|
|
553
|
-
**Prompt:** Use the existing demand "logo_design_demand", add reward "demand_reward", and bind contact "demand_contact".
|
|
554
|
-
|
|
555
|
-
```json
|
|
556
|
-
{
|
|
557
|
-
"operation_type": "demand",
|
|
558
|
-
"data": {
|
|
559
|
-
"object": "logo_design_demand",
|
|
560
|
-
"rewards": {
|
|
561
|
-
"op": "add",
|
|
562
|
-
"objects": ["demand_reward"]
|
|
563
|
-
},
|
|
564
|
-
"um": "demand_contact"
|
|
565
|
-
}
|
|
566
|
-
}
|
|
567
|
-
```
|
|
568
|
-
|
|
569
|
-
**Execution Result**:
|
|
570
|
-
```json
|
|
571
|
-
{
|
|
572
|
-
"status": "success",
|
|
573
|
-
"object": "0x2d49...f414",
|
|
574
|
-
"type": "Demand",
|
|
575
|
-
"version": "34762",
|
|
576
|
-
"change": "mutated"
|
|
577
|
-
}
|
|
578
|
-
```
|
|
579
|
-
|
|
580
|
-
#### Example 4.2: Set Rewards (Replace)
|
|
581
|
-
|
|
582
|
-
**Prompt:** Use the existing demand "logo_design_demand" and replace the entire reward list with "reward_1" and "reward_2".
|
|
583
|
-
|
|
584
|
-
```json
|
|
585
|
-
{
|
|
586
|
-
"operation_type": "demand",
|
|
587
|
-
"data": {
|
|
588
|
-
"object": "logo_design_demand",
|
|
589
|
-
"rewards": {
|
|
590
|
-
"op": "set",
|
|
591
|
-
"objects": ["reward_1", "reward_2"]
|
|
592
|
-
}
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
```
|
|
596
|
-
|
|
597
|
-
#### Example 4.3: Remove Rewards
|
|
598
|
-
|
|
599
|
-
**Prompt:** Use the existing demand "logo_design_demand" and remove reward "old_reward".
|
|
600
|
-
|
|
601
|
-
```json
|
|
602
|
-
{
|
|
603
|
-
"operation_type": "demand",
|
|
604
|
-
"data": {
|
|
605
|
-
"object": "logo_design_demand",
|
|
606
|
-
"rewards": {
|
|
607
|
-
"op": "remove",
|
|
608
|
-
"objects": ["old_reward"]
|
|
609
|
-
}
|
|
610
|
-
}
|
|
611
|
-
}
|
|
612
|
-
```
|
|
613
|
-
|
|
614
|
-
**Execution Result**:
|
|
615
|
-
```json
|
|
616
|
-
{
|
|
617
|
-
"status": "success",
|
|
618
|
-
"object": "0x2d49...f414",
|
|
619
|
-
"type": "Demand",
|
|
620
|
-
"version": "...",
|
|
621
|
-
"change": "mutated"
|
|
622
|
-
}
|
|
623
|
-
```
|
|
624
|
-
|
|
625
|
-
#### Example 4.4: Clear Rewards
|
|
626
|
-
|
|
627
|
-
**Prompt:** Use the existing demand "logo_design_demand" and clear all rewards.
|
|
628
|
-
|
|
629
|
-
```json
|
|
630
|
-
{
|
|
631
|
-
"operation_type": "demand",
|
|
632
|
-
"data": {
|
|
633
|
-
"object": "logo_design_demand",
|
|
634
|
-
"rewards": {
|
|
635
|
-
"op": "clear"
|
|
636
|
-
}
|
|
637
|
-
}
|
|
638
|
-
}
|
|
639
|
-
```
|
|
640
|
-
|
|
641
|
-
#### Example 4.5: Bind Contact
|
|
642
|
-
|
|
643
|
-
**Prompt:** Use the existing demand "logo_design_demand" and bind contact "demand_contact".
|
|
644
|
-
|
|
645
|
-
```json
|
|
646
|
-
{
|
|
647
|
-
"operation_type": "demand",
|
|
648
|
-
"data": {
|
|
649
|
-
"object": "logo_design_demand",
|
|
650
|
-
"um": "demand_contact"
|
|
651
|
-
}
|
|
652
|
-
}
|
|
653
|
-
```
|
|
654
|
-
|
|
655
|
-
**Execution Result**:
|
|
656
|
-
```json
|
|
657
|
-
{
|
|
658
|
-
"status": "success",
|
|
659
|
-
"object": "0x2d49...f414",
|
|
660
|
-
"type": "Demand",
|
|
661
|
-
"version": "34762",
|
|
662
|
-
"change": "mutated"
|
|
663
|
-
}
|
|
664
|
-
```
|
|
665
|
-
|
|
666
|
-
#### Example 4.6: Unbind Contact
|
|
667
|
-
|
|
668
|
-
**Prompt:** Use the existing demand "logo_design_demand" and unbind the contact.
|
|
669
|
-
|
|
670
|
-
```json
|
|
671
|
-
{
|
|
672
|
-
"operation_type": "demand",
|
|
673
|
-
"data": {
|
|
674
|
-
"object": "logo_design_demand",
|
|
675
|
-
"um": null
|
|
676
|
-
}
|
|
677
|
-
}
|
|
678
|
-
```
|
|
679
|
-
|
|
680
|
-
**Execution Result**:
|
|
681
|
-
```json
|
|
682
|
-
{
|
|
683
|
-
"status": "success",
|
|
684
|
-
"object": "0x2d49...f414",
|
|
685
|
-
"type": "Demand",
|
|
686
|
-
"version": "...",
|
|
687
|
-
"change": "mutated"
|
|
688
|
-
}
|
|
689
|
-
```
|
|
690
|
-
|
|
691
|
-
---
|
|
692
|
-
|
|
693
|
-
## Sub-function 5: Provide User Feedback (feedback)
|
|
694
|
-
|
|
695
|
-
### Function Description
|
|
696
|
-
|
|
697
|
-
Provide user feedback information for the Demand object.
|
|
698
|
-
|
|
699
|
-
### Parameter Description
|
|
700
|
-
|
|
701
|
-
| Parameter | Type | Required | Description |
|
|
702
|
-
|-----------|------|----------|-------------|
|
|
703
|
-
| `feedback` | array | Yes | Feedback information list |
|
|
704
|
-
| `feedback[].who` | object | Yes | Account address or mark name, used to identify providing feedback to this user |
|
|
705
|
-
| `feedback[].who.name_or_address` | string | No | Account or object name or address |
|
|
706
|
-
| `feedback[].who.local_mark_first` | boolean | No | Whether to prioritize local marks |
|
|
707
|
-
| `feedback[].acceptance_score` | number | No | Acceptance score (0-255), used to evaluate the reception level of the service recommended by the user |
|
|
708
|
-
| `feedback[].feedback` | string | No | Feedback content for the user | Max 4000 bcs characters |
|
|
709
|
-
|
|
710
|
-
### Example
|
|
711
|
-
|
|
712
|
-
**Prompt:** Use the existing demand "logo_design_demand" and provide feedback to "service_provider" with acceptance score 200 and feedback "The recommended service meets the requirements very well".
|
|
713
|
-
|
|
714
|
-
```json
|
|
715
|
-
{
|
|
716
|
-
"operation_type": "demand",
|
|
717
|
-
"data": {
|
|
718
|
-
"object": "logo_design_demand",
|
|
719
|
-
"feedback": [
|
|
720
|
-
{
|
|
721
|
-
"who": {
|
|
722
|
-
"name_or_address": "service_provider"
|
|
723
|
-
},
|
|
724
|
-
"acceptance_score": 200,
|
|
725
|
-
"feedback": "The recommended service meets the requirements very well"
|
|
726
|
-
}
|
|
727
|
-
]
|
|
728
|
-
}
|
|
729
|
-
}
|
|
730
|
-
```
|
|
731
|
-
|
|
732
|
-
**Execution Result**:
|
|
733
|
-
```json
|
|
734
|
-
{
|
|
735
|
-
"status": "success",
|
|
736
|
-
"object": "0x2d49...f414",
|
|
737
|
-
"type": "Demand",
|
|
738
|
-
"version": "35008",
|
|
739
|
-
"change": "mutated"
|
|
740
|
-
}
|
|
741
|
-
```
|
|
742
|
-
|
|
743
|
-
---
|
|
744
|
-
|
|
745
|
-
## Sub-function 6: Receive Objects (owner_receive)
|
|
746
|
-
|
|
747
|
-
### Function Description
|
|
748
|
-
|
|
749
|
-
Receive objects sent to this Demand object and unwrap them to send to the owner of its Permission object.
|
|
750
|
-
|
|
751
|
-
### Parameter Description
|
|
752
|
-
|
|
753
|
-
| Parameter | Type | Required | Description |
|
|
754
|
-
|-----------|------|----------|-------------|
|
|
755
|
-
| `owner_receive` | array/object/string | No | Received objects configuration |
|
|
756
|
-
| `owner_receive` (array) | array | No | List of received object records |
|
|
757
|
-
| `owner_receive` (object) | object | No | Received balance information |
|
|
758
|
-
| `owner_receive` (string) | string | No | Use "recently" to receive all recent objects |
|
|
759
|
-
|
|
760
|
-
### Received Object Record Structure
|
|
761
|
-
|
|
762
|
-
When `owner_receive` is an array of received normal objects:
|
|
763
|
-
```json
|
|
764
|
-
[
|
|
765
|
-
{
|
|
766
|
-
"id": "object_id",
|
|
767
|
-
"type": "object_type"
|
|
768
|
-
}
|
|
769
|
-
]
|
|
770
|
-
```
|
|
771
|
-
|
|
772
|
-
When `owner_receive` is a balance object:
|
|
773
|
-
```json
|
|
774
|
-
{
|
|
775
|
-
"balance": "1000000000",
|
|
776
|
-
"token_type": "0x2::wow::WOW",
|
|
777
|
-
"received": [
|
|
778
|
-
{
|
|
779
|
-
"id": "coin_object_id",
|
|
780
|
-
"balance": "1000000000",
|
|
781
|
-
"payment": "payment_object_id"
|
|
782
|
-
}
|
|
783
|
-
]
|
|
784
|
-
}
|
|
785
|
-
```
|
|
786
|
-
|
|
787
|
-
### Examples
|
|
788
|
-
|
|
789
|
-
#### Example 6.1: Receive Recent Objects
|
|
790
|
-
|
|
791
|
-
**Prompt:** Use the existing demand "logo_design_demand" and receive all recently sent objects.
|
|
792
|
-
|
|
793
|
-
```json
|
|
794
|
-
{
|
|
795
|
-
"operation_type": "demand",
|
|
796
|
-
"data": {
|
|
797
|
-
"object": "logo_design_demand",
|
|
798
|
-
"owner_receive": "recently"
|
|
799
|
-
}
|
|
800
|
-
}
|
|
801
|
-
```
|
|
802
|
-
|
|
803
|
-
**Execution Result**:
|
|
804
|
-
```json
|
|
805
|
-
{
|
|
806
|
-
"status": "success"
|
|
807
|
-
}
|
|
808
|
-
```
|
|
809
|
-
|
|
810
|
-
#### Example 6.2: Receive Specific Objects
|
|
811
|
-
|
|
812
|
-
**Prompt:** Use the existing demand "logo_design_demand" and receive specific objects.
|
|
813
|
-
|
|
814
|
-
```json
|
|
815
|
-
{
|
|
816
|
-
"operation_type": "demand",
|
|
817
|
-
"data": {
|
|
818
|
-
"object": "logo_design_demand",
|
|
819
|
-
"owner_receive": [
|
|
820
|
-
{
|
|
821
|
-
"id": "0xabc123...def456",
|
|
822
|
-
"type": "0x2::object::Object"
|
|
823
|
-
},
|
|
824
|
-
{
|
|
825
|
-
"id": "0x5678...9abc",
|
|
826
|
-
"type": "0x2::object::Object"
|
|
827
|
-
}
|
|
828
|
-
]
|
|
829
|
-
}
|
|
830
|
-
}
|
|
831
|
-
```
|
|
832
|
-
|
|
833
|
-
#### Example 6.3: Receive Balance
|
|
834
|
-
|
|
835
|
-
**Prompt:** Use the existing demand "logo_design_demand" and receive balance.
|
|
836
|
-
|
|
837
|
-
```json
|
|
838
|
-
{
|
|
839
|
-
"operation_type": "demand",
|
|
840
|
-
"data": {
|
|
841
|
-
"object": "logo_design_demand",
|
|
842
|
-
"owner_receive": {
|
|
843
|
-
"balance": "1000000000",
|
|
844
|
-
"token_type": "0x2::wow::WOW",
|
|
845
|
-
"received": [
|
|
846
|
-
{
|
|
847
|
-
"id": "0xabc123...def456",
|
|
848
|
-
"balance": "1000000000",
|
|
849
|
-
"payment": "0xabcd...efgh"
|
|
850
|
-
}
|
|
851
|
-
]
|
|
852
|
-
}
|
|
853
|
-
}
|
|
854
|
-
}
|
|
855
|
-
```
|
|
856
|
-
|
|
857
|
-
---
|
|
858
|
-
|
|
859
|
-
## Sub-function 7: Combined Operations
|
|
860
|
-
|
|
861
|
-
### Function Description
|
|
862
|
-
|
|
863
|
-
Execute multiple operations in a single call.
|
|
864
|
-
|
|
865
|
-
### Example
|
|
866
|
-
|
|
867
|
-
#### Example 7.1: Create Demand and Configure Guards
|
|
868
|
-
|
|
869
|
-
**Prompt:** Create a new demand named "complete_demand" with existing permission "demand_permission", set description to "Complete demand example", set location to "Online service", add reward "demand_reward", add guard "service_check", and bind contact "demand_contact".
|
|
870
|
-
|
|
871
|
-
```json
|
|
872
|
-
{
|
|
873
|
-
"operation_type": "demand",
|
|
874
|
-
"data": {
|
|
875
|
-
"object": {
|
|
876
|
-
"name": "complete_demand",
|
|
877
|
-
"permission": "demand_permission"
|
|
878
|
-
},
|
|
879
|
-
"description": "Complete demand example",
|
|
880
|
-
"location": "Online service",
|
|
881
|
-
"rewards": {
|
|
882
|
-
"op": "add",
|
|
883
|
-
"objects": ["demand_reward"]
|
|
884
|
-
},
|
|
885
|
-
"guards": {
|
|
886
|
-
"op": "add",
|
|
887
|
-
"guard": [
|
|
888
|
-
{
|
|
889
|
-
"guard": "service_check"
|
|
890
|
-
}
|
|
891
|
-
]
|
|
892
|
-
},
|
|
893
|
-
"um": "demand_contact"
|
|
894
|
-
}
|
|
895
|
-
}
|
|
896
|
-
```
|
|
897
|
-
|
|
898
|
-
#### Example 7.2: Full Combined Operation
|
|
899
|
-
|
|
900
|
-
**Prompt:** Use the existing demand "logo_design_demand", update description to "Updated demand description", present service "premium_design_service" with recommendation "Highly recommended design service", provide feedback to "designer_1" with acceptance score 220 and feedback "Excellent service quality", and receive recent objects.
|
|
901
|
-
|
|
902
|
-
```json
|
|
903
|
-
{
|
|
904
|
-
"operation_type": "demand",
|
|
905
|
-
"data": {
|
|
906
|
-
"object": "logo_design_demand",
|
|
907
|
-
"description": "Updated demand description",
|
|
908
|
-
"present": {
|
|
909
|
-
"recommend": "Highly recommended design service",
|
|
910
|
-
"service": "premium_design_service"
|
|
911
|
-
},
|
|
912
|
-
"feedback": [
|
|
913
|
-
{
|
|
914
|
-
"who": {
|
|
915
|
-
"name_or_address": "designer_1"
|
|
916
|
-
},
|
|
917
|
-
"acceptance_score": 220,
|
|
918
|
-
"feedback": "Excellent service quality"
|
|
919
|
-
}
|
|
920
|
-
],
|
|
921
|
-
"owner_receive": "recently"
|
|
922
|
-
}
|
|
923
|
-
}
|
|
924
|
-
```
|
|
925
|
-
|
|
926
|
-
---
|
|
927
|
-
|
|
928
|
-
## Important Notes
|
|
929
|
-
|
|
930
|
-
⚠️ **Guards are used to verify whether the service recommended by the user meets the requirements.**
|
|
931
|
-
|
|
932
|
-
⚠️ **`owner_receive` can be:**
|
|
933
|
-
- `"recently"` - receive all recent objects
|
|
934
|
-
- Array of received normal objects
|
|
935
|
-
- Received balance object
|
|
936
|
-
|
|
937
|
-
---
|
|
938
|
-
|
|
939
|
-
## Related Components
|
|
940
|
-
|
|
941
|
-
| Component | Description |
|
|
942
|
-
|-----------|-------------|
|
|
943
|
-
| **[Service](service.md)** | WYSIWYG product trading |
|
|
944
|
-
| **[Reward](reward.md)** | Marketing incentives |
|
|
945
|
-
| **[Arbitration](arbitration.md)** | Dispute resolution |
|
|
946
|
-
| **[Payment](payment.md)** | Direct coin transfers |
|
|
947
|
-
| **[Guard](guard.md)** | Trust verification engine |
|
|
948
|
-
| **[Contact](contact.md)** | Public contact information |
|