@wowok/agent-mcp 3.0.5 → 3.1.0
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 +25 -20
- package/dist/customer/account-events.js +1 -1
- package/dist/graph/onchain/dataplane.d.ts +2 -2
- package/dist/graph/onchain/edge-schema.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/onchain.spec.js +1 -1
- package/dist/graph/onchain/sdk-batch.d.ts +7 -1
- package/dist/graph/onchain/sdk-batch.js +1 -1
- package/dist/graph/onchain/sdk-dataplane.d.ts +6 -3
- package/dist/graph/onchain/sdk-dataplane.js +1 -1
- package/dist/graph/onchain/types.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/knowledge/account-marks.js +1 -1
- package/dist/knowledge/allocation-risk.js +1 -1
- package/dist/knowledge/allocation-templates.js +1 -1
- package/dist/knowledge/goal-completion.d.ts +12 -0
- package/dist/knowledge/goal-completion.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/index.d.ts +4 -0
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/migration-preflight.js +1 -1
- package/dist/knowledge/payment-tracker.d.ts +63 -0
- package/dist/knowledge/payment-tracker.js +1 -0
- package/dist/knowledge/recipient-constraint.d.ts +160 -0
- package/dist/knowledge/recipient-constraint.js +1 -0
- package/dist/knowledge/safety-rules.d.ts +1 -1
- package/dist/knowledge/safety-rules.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/knowledge/workspace-lists.d.ts +4 -0
- package/dist/knowledge/workspace-lists.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/participation/arbitrator-interest.d.ts +2 -0
- package/dist/participation/arbitrator-interest.js +1 -1
- package/dist/participation/collaborator-interest.d.ts +2 -0
- package/dist/participation/collaborator-interest.js +1 -1
- package/dist/participation/customer-interest.d.ts +2 -0
- package/dist/participation/customer-interest.js +1 -1
- package/dist/participation/merchant-interest.d.ts +2 -0
- package/dist/participation/merchant-interest.js +1 -1
- package/dist/participation/supplier-interest.d.ts +2 -0
- package/dist/participation/supplier-interest.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/context-assembly.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.d.ts +7 -0
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/pipeline-actions.d.ts +2 -2
- package/dist/playbooks/service-build/pipeline-actions.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/risk-aggregator.js +1 -1
- package/dist/playbooks/service-build/topology-query.js +1 -1
- package/dist/relationship/derivation.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/call/allocation.js +1 -1
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +6 -6
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/evaluation/index.d.ts +4 -4
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/goal/index.d.ts +21 -21
- package/dist/schema/goal/planning.d.ts +6 -6
- package/dist/schema/industry-pack/index.d.ts +6 -6
- package/dist/schema/industry-pack/modes.d.ts +6 -6
- package/dist/schema/intent-radar/index.d.ts +16 -16
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +110 -8
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +37 -29
- package/dist/schema/operations.js +1 -1
- package/dist/schema/persona/index.d.ts +155 -155
- package/dist/schema/query/bi.d.ts +26 -26
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +15 -12
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-query/index.d.ts +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/strategy-review/index.d.ts +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/bridge_operation.schema.json +14 -14
- package/dist/schemas/evaluation_operation.schema.json +7 -7
- package/dist/schemas/guard2file.schema.json +3 -3
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/local_history_operation.schema.json +1 -1
- package/dist/schemas/machineNode2file.schema.json +3 -3
- package/dist/schemas/messenger_operation.output.json +266 -38
- package/dist/schemas/messenger_operation.schema.json +27 -3
- package/dist/schemas/onchain_events.schema.json +1 -1
- package/dist/schemas/onchain_operations.schema.json +75 -77
- package/dist/schemas/onchain_operations_allocation.schema.json +6 -6
- package/dist/schemas/onchain_operations_arbitration.schema.json +3 -3
- package/dist/schemas/onchain_operations_contact.schema.json +3 -3
- package/dist/schemas/onchain_operations_demand.schema.json +3 -3
- package/dist/schemas/onchain_operations_gen_passport.schema.json +3 -3
- package/dist/schemas/onchain_operations_gen_proof.schema.json +3 -3
- package/dist/schemas/onchain_operations_guard.schema.json +4 -4
- package/dist/schemas/onchain_operations_machine.schema.json +11 -11
- package/dist/schemas/onchain_operations_order.schema.json +3 -3
- package/dist/schemas/onchain_operations_payment.schema.json +4 -4
- package/dist/schemas/onchain_operations_permission.schema.json +3 -3
- package/dist/schemas/onchain_operations_personal.schema.json +3 -3
- package/dist/schemas/onchain_operations_progress.schema.json +3 -3
- package/dist/schemas/onchain_operations_proof.schema.json +3 -3
- package/dist/schemas/onchain_operations_repository.schema.json +3 -3
- package/dist/schemas/onchain_operations_reward.schema.json +3 -3
- package/dist/schemas/onchain_operations_service.schema.json +9 -11
- package/dist/schemas/onchain_operations_treasury.schema.json +5 -5
- package/dist/schemas/onchain_table_data.output.json +14 -14
- package/dist/schemas/query_toolkit.output.json +38 -13
- package/dist/schemas/query_toolkit.schema.json +39 -11
- package/dist/strategy/collectors.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/evaluation.js +1 -1
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/permission.js +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/strategy-review.js +1 -1
- package/dist/tools/handlers/workflow.js +1 -1
- package/dist/tools/index.js +1 -1
- package/dist/tools/registry/onchain.js +1 -1
- package/dist/tools/registry/query.js +1 -1
- package/dist/tools/rules-hook.d.ts +2 -0
- package/dist/tools/rules-hook.js +1 -1
- package/dist/tools/shared.js +1 -1
- package/package.json +2 -2
|
@@ -754,11 +754,9 @@
|
|
|
754
754
|
"discount_type": {
|
|
755
755
|
"anyOf": [
|
|
756
756
|
{
|
|
757
|
-
"type": "
|
|
758
|
-
"
|
|
759
|
-
|
|
760
|
-
"FIXED"
|
|
761
|
-
]
|
|
757
|
+
"type": "integer",
|
|
758
|
+
"minimum": 0,
|
|
759
|
+
"maximum": 1
|
|
762
760
|
},
|
|
763
761
|
{}
|
|
764
762
|
],
|
|
@@ -863,7 +861,7 @@
|
|
|
863
861
|
}
|
|
864
862
|
},
|
|
865
863
|
"order_allocators": {
|
|
866
|
-
"description": "Order fund allocator. Max 100 allocators (MAX_ALLOCATOR_COUNT). Each allocator has a guard (first matching guard wins) and a sharing list. Set to null to clear. ⚠️ PERMANENTLY IMMUTABLE after publish: order_allocators can ONLY be set BEFORE publish=true (Move service.move:503: assert!(!self.bPublished, E_ALREADY_PUBLISHED)). After publish, the ONLY way to change allocation rules is to create a NEW Service object. There is NO pause+lock exception for order_allocators (unlike arbitrations/rewards which have time-lock removal). PRE-PUBLISH CHECKLIST: verify all guard names resolve, all sharing amounts are correct, threshold is set, and recipient types (Entity/Signer/GuardIdentifier) are intended before calling publish=true. GuardIdentifier sharing mode: {who: {GuardIdentifier: <u8>}, sharing: <rate>, mode: 'Rate'} — resolves recipient from Guard table submission at allocation time (
|
|
864
|
+
"description": "Order fund allocator. Max 100 allocators (MAX_ALLOCATOR_COUNT). Each allocator has a guard (first matching guard wins) and a sharing list. Set to null to clear. ⚠️ PERMANENTLY IMMUTABLE after publish: order_allocators can ONLY be set BEFORE publish=true (Move service.move:503: assert!(!self.bPublished, E_ALREADY_PUBLISHED)). After publish, the ONLY way to change allocation rules is to create a NEW Service object. There is NO pause+lock exception for order_allocators (unlike arbitrations/rewards which have time-lock removal). PRE-PUBLISH CHECKLIST: verify all guard names resolve, all sharing amounts are correct, threshold is set, and recipient types (Entity/Signer/GuardIdentifier) are intended before calling publish=true. GuardIdentifier sharing mode: {who: {GuardIdentifier: <u8>}, sharing: <rate>, mode: 'Rate'} — resolves recipient from the Guard table submission at allocation time. Canonical order pattern: the recipient slot is the single submitted Order (constrained by the Guard — service binding, qualifying node, signer==order.owner); funds land at that order object and are receivable only by its owner (object receipt = owner receipt). Safety is determined by constraint sufficiency — run the recipient constraint audit before publish. Fixed recipients should use {who:{Entity:...}}; unbound Signer recipients are a CRITICAL theft risk. MULTI-CALL ALLOCATION: Allocation.alloc() can be called MULTIPLE times (no consumed flag in contract). Use Amount mode (not Surplus) for recurring allocations — Surplus calls balance::withdraw_all which drains the balance. For monthly payment scenarios, create multiple Allocators with time-based Guards + Amount mode sharing items.",
|
|
867
865
|
"anyOf": [
|
|
868
866
|
{
|
|
869
867
|
"type": "object",
|
|
@@ -992,7 +990,7 @@
|
|
|
992
990
|
"additionalProperties": false,
|
|
993
991
|
"description": "Fund allocation item — one recipient's share of the Allocation balance. The `sharing` value's meaning depends on `mode` (see AllocationModeSchema). Multiple items in the same Allocator are evaluated together: Amount items first, Rate items second, Surplus last."
|
|
994
992
|
},
|
|
995
|
-
"description": "Fund allocation item list. Each item specifies a recipient (who), a value (sharing), and a mode. Items can mix modes (Amount + Rate + Surplus) within the same Allocator. ALLOCATION ORDER: Amount items first (cached as fix) → Rate items (proportional to balance - fix) → Surplus item (remaining). CONSTRAINTS: max ONE Surplus item per Allocator; Rate sum must == 10000 (no Surplus) or <= 10000 (with Surplus); Amount sum must >= threshold (no Rate and no Surplus) and <= max (if max set)."
|
|
993
|
+
"description": "Fund allocation item list. Each item specifies a recipient (who), a value (sharing), and a mode. Items can mix modes (Amount + Rate + Surplus) within the same Allocator. RECIPIENT SEMANTICS: the Guard constrains what each submission slot may be; a recipient's safety follows from the sufficiency of those constraints (run the recipient constraint audit). Canonical order pattern: recipient = the single submitted Order — funds land at that object and are receivable only by its owner. ALLOCATION ORDER: Amount items first (cached as fix) → Rate items (proportional to balance - fix) → Surplus item (remaining). CONSTRAINTS: max ONE Surplus item per Allocator; Rate sum must == 10000 (no Surplus) or <= 10000 (with Surplus); Amount sum must >= threshold (no Rate and no Surplus) and <= max (if max set)."
|
|
996
994
|
},
|
|
997
995
|
"fix": {
|
|
998
996
|
"description": "OUTPUT-ONLY (query result). Cached sum of all Amount-mode `sharing` values in this Allocator. Computed by the contract during `allocator_add` — DO NOT set this field at creation. Used internally to compute `total_rates = balance - fix` for Rate allocation.",
|
|
@@ -1122,7 +1120,7 @@
|
|
|
1122
1120
|
"type": "object",
|
|
1123
1121
|
"properties": {
|
|
1124
1122
|
"for_object": {
|
|
1125
|
-
"description": "
|
|
1123
|
+
"description": "Object this distribution belongs to (e.g. the order for a per-order allocation, recorded at creation). Auditors can query it to see the distribution's business context.",
|
|
1126
1124
|
"anyOf": [
|
|
1127
1125
|
{
|
|
1128
1126
|
"type": "string"
|
|
@@ -1425,13 +1423,13 @@
|
|
|
1425
1423
|
"type": "boolean"
|
|
1426
1424
|
},
|
|
1427
1425
|
"network": {
|
|
1426
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
1428
1427
|
"type": "string",
|
|
1429
1428
|
"enum": [
|
|
1430
1429
|
"localnet",
|
|
1431
1430
|
"testnet",
|
|
1432
1431
|
"mainnet"
|
|
1433
|
-
]
|
|
1434
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
1432
|
+
]
|
|
1435
1433
|
},
|
|
1436
1434
|
"referrer": {
|
|
1437
1435
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -1484,7 +1482,7 @@
|
|
|
1484
1482
|
"schema_strict_mode"
|
|
1485
1483
|
],
|
|
1486
1484
|
"additionalProperties": false,
|
|
1487
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
1485
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
1488
1486
|
},
|
|
1489
1487
|
"submission": {
|
|
1490
1488
|
"type": "object",
|
|
@@ -2374,7 +2372,7 @@
|
|
|
2374
2372
|
"properties": {
|
|
2375
2373
|
"name": {
|
|
2376
2374
|
"type": "string",
|
|
2377
|
-
"description": "Node name. ⚠️ T1 LOSSY POINT (B-1): do NOT name a node 'refund'/'refunded'/'disputed'/'cancelled' to model fund return or dispute — funds MUST move through the Allocation waterfall (order_allocators), NOT through Machine terminal nodes (R-M1-11). A node named 'refund' is a semantic lie: reaching it does not move funds by itself. Model refund as a refund-to-Order Allocator slot (a { Signer } or Order-owner recipient), and model dispute as the bound Arbitration, not a Machine node."
|
|
2375
|
+
"description": "Node name. ⚠️ T1 LOSSY POINT (B-1): do NOT name a node 'refund'/'refunded'/'deposit_refunded'/'deposit_deducted'/'disputed'/'cancelled' to model fund return or dispute — funds MUST move through the Allocation waterfall (order_allocators), NOT through Machine terminal nodes (R-M1-11). A node named 'refund' is a semantic lie: reaching it does not move funds by itself. Model refund as a refund-to-Order Allocator slot (a { Signer } or Order-owner recipient), and model dispute as the bound Arbitration, not a Machine node."
|
|
2378
2376
|
},
|
|
2379
2377
|
"pairs": {
|
|
2380
2378
|
"type": "array",
|
|
@@ -2443,7 +2441,7 @@
|
|
|
2443
2441
|
"description": "Forward weight — the contribution this forward makes toward its Pair's threshold. ⚠️ SINGLE-OPERATOR LOCK: a forward contributes its weight AT MOST ONCE. It is locked by the first operator that accomplishes it (progress.move session_accomplish_imp); a second operator re-executing the same accomplished forward aborts E_NOT_THE_HOLDER. Therefore multi-operator cooperation (threshold > 1) needs one DISTINCT forward per contributing operator (e.g. threshold 2 → begin_a + begin_b, each weight 1) — never reuse one forward."
|
|
2444
2442
|
},
|
|
2445
2443
|
"guard": {
|
|
2446
|
-
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.",
|
|
2444
|
+
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.\nRETAINED_SUBMISSION: a non-empty retained_submission does NOT relax Guard verification — the forward's Guard is always validated first. The list only selects which of the caller's already-verified submissions are persisted into the Progress history (see the guard field above).",
|
|
2447
2445
|
"anyOf": [
|
|
2448
2446
|
{
|
|
2449
2447
|
"anyOf": [
|
|
@@ -2455,7 +2453,7 @@
|
|
|
2455
2453
|
"description": "Guard object name or address (string). Example: 'my_attendance_guard' or '0x1234...'"
|
|
2456
2454
|
},
|
|
2457
2455
|
"retained_submission": {
|
|
2458
|
-
"description": "
|
|
2456
|
+
"description": "Guard table identifiers whose verified values are persisted into the Progress history when the forward is accomplished. The Guard is ALWAYS fully verified first (regardless of this list): the forward cannot complete unless the Passport carries a passing result for it. After verification, exactly the caller's submissions for the listed identifiers are copied into history (passport::submissions_get) as Guard-verified facts; empty array (default) records nothing. Use it for audit and downstream queries, never as a way to relax Guard conditions.",
|
|
2459
2457
|
"anyOf": [
|
|
2460
2458
|
{
|
|
2461
2459
|
"type": "array",
|
|
@@ -2550,7 +2548,7 @@
|
|
|
2550
2548
|
"properties": {
|
|
2551
2549
|
"name": {
|
|
2552
2550
|
"type": "string",
|
|
2553
|
-
"description": "Node name. ⚠️ T1 LOSSY POINT (B-1): do NOT name a node 'refund'/'refunded'/'disputed'/'cancelled' to model fund return or dispute — funds MUST move through the Allocation waterfall (order_allocators), NOT through Machine terminal nodes (R-M1-11). A node named 'refund' is a semantic lie: reaching it does not move funds by itself. Model refund as a refund-to-Order Allocator slot (a { Signer } or Order-owner recipient), and model dispute as the bound Arbitration, not a Machine node."
|
|
2551
|
+
"description": "Node name. ⚠️ T1 LOSSY POINT (B-1): do NOT name a node 'refund'/'refunded'/'deposit_refunded'/'deposit_deducted'/'disputed'/'cancelled' to model fund return or dispute — funds MUST move through the Allocation waterfall (order_allocators), NOT through Machine terminal nodes (R-M1-11). A node named 'refund' is a semantic lie: reaching it does not move funds by itself. Model refund as a refund-to-Order Allocator slot (a { Signer } or Order-owner recipient), and model dispute as the bound Arbitration, not a Machine node."
|
|
2554
2552
|
},
|
|
2555
2553
|
"pairs": {
|
|
2556
2554
|
"type": "array",
|
|
@@ -2619,7 +2617,7 @@
|
|
|
2619
2617
|
"description": "Forward weight — the contribution this forward makes toward its Pair's threshold. ⚠️ SINGLE-OPERATOR LOCK: a forward contributes its weight AT MOST ONCE. It is locked by the first operator that accomplishes it (progress.move session_accomplish_imp); a second operator re-executing the same accomplished forward aborts E_NOT_THE_HOLDER. Therefore multi-operator cooperation (threshold > 1) needs one DISTINCT forward per contributing operator (e.g. threshold 2 → begin_a + begin_b, each weight 1) — never reuse one forward."
|
|
2620
2618
|
},
|
|
2621
2619
|
"guard": {
|
|
2622
|
-
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.",
|
|
2620
|
+
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.\nRETAINED_SUBMISSION: a non-empty retained_submission does NOT relax Guard verification — the forward's Guard is always validated first. The list only selects which of the caller's already-verified submissions are persisted into the Progress history (see the guard field above).",
|
|
2623
2621
|
"anyOf": [
|
|
2624
2622
|
{
|
|
2625
2623
|
"anyOf": [
|
|
@@ -2631,7 +2629,7 @@
|
|
|
2631
2629
|
"description": "Guard object name or address (string). Example: 'my_attendance_guard' or '0x1234...'"
|
|
2632
2630
|
},
|
|
2633
2631
|
"retained_submission": {
|
|
2634
|
-
"description": "
|
|
2632
|
+
"description": "Guard table identifiers whose verified values are persisted into the Progress history when the forward is accomplished. The Guard is ALWAYS fully verified first (regardless of this list): the forward cannot complete unless the Passport carries a passing result for it. After verification, exactly the caller's submissions for the listed identifiers are copied into history (passport::submissions_get) as Guard-verified facts; empty array (default) records nothing. Use it for audit and downstream queries, never as a way to relax Guard conditions.",
|
|
2635
2633
|
"anyOf": [
|
|
2636
2634
|
{
|
|
2637
2635
|
"type": "array",
|
|
@@ -2902,7 +2900,7 @@
|
|
|
2902
2900
|
"description": "Forward weight — the contribution this forward makes toward its Pair's threshold. ⚠️ SINGLE-OPERATOR LOCK: a forward contributes its weight AT MOST ONCE. It is locked by the first operator that accomplishes it (progress.move session_accomplish_imp); a second operator re-executing the same accomplished forward aborts E_NOT_THE_HOLDER. Therefore multi-operator cooperation (threshold > 1) needs one DISTINCT forward per contributing operator (e.g. threshold 2 → begin_a + begin_b, each weight 1) — never reuse one forward."
|
|
2903
2901
|
},
|
|
2904
2902
|
"guard": {
|
|
2905
|
-
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.",
|
|
2903
|
+
"description": "Guard reference for this forward. Accepts TWO formats:\n• STRING (preferred): \"my_guard_name\" — the Guard's name or address as a plain string.\n• OBJECT (only when retained_submission is needed): {guard: \"my_guard_name\", retained_submission: [1,2,3]}.\nFOLLOW THE SCHEMA FIELD STRUCTURE: A Guard reference is fundamentally a STRING (the Guard object's name or address). Provide a string when you only need to reference a Guard — do NOT wrap a bare string in an object structure. The OBJECT form {guard: \"...\", retained_submission: [...]} exists ONLY to carry additional `retained_submission` data alongside the string reference; inside the object, the `guard` field is STILL a string. In short: string-in for a string reference, object-in only when you need to pass extra data.\nCOGNITIVE PRINCIPLE: Guard validation ALWAYS occurs BEFORE the forward operation. A Guard that queries state of the SAME Progress object this forward operates on (e.g. progress.current) will see the PRE-transition value (source node), NOT the target node. If the Guard checks progress.current == target_node, it will ALWAYS FAIL. Querying a DIFFERENT Progress object (cross-machine) is safe and reasonable — that progress is not modified by this forward. For target-node verification after transition, bind the Guard to the Allocator instead (allocation.alloc runs AFTER the state transition completes).\n⚠️ T1 LOSSY POINT (B-3): WoWok has NO on-chain cron. A business phrase like 'after N days, auto-X' is NOT an automatic trigger — it decomposes into (1) a time_guard that checks elapsed time, and (2) an OFF-CHAIN keeper that must submit the forward when the guard passes. Configuring a time_guard WITHOUT a keeper means nothing ever fires.\nRETAINED_SUBMISSION: a non-empty retained_submission does NOT relax Guard verification — the forward's Guard is always validated first. The list only selects which of the caller's already-verified submissions are persisted into the Progress history (see the guard field above).",
|
|
2906
2904
|
"anyOf": [
|
|
2907
2905
|
{
|
|
2908
2906
|
"anyOf": [
|
|
@@ -2914,7 +2912,7 @@
|
|
|
2914
2912
|
"description": "Guard object name or address (string). Example: 'my_attendance_guard' or '0x1234...'"
|
|
2915
2913
|
},
|
|
2916
2914
|
"retained_submission": {
|
|
2917
|
-
"description": "
|
|
2915
|
+
"description": "Guard table identifiers whose verified values are persisted into the Progress history when the forward is accomplished. The Guard is ALWAYS fully verified first (regardless of this list): the forward cannot complete unless the Passport carries a passing result for it. After verification, exactly the caller's submissions for the listed identifiers are copied into history (passport::submissions_get) as Guard-verified facts; empty array (default) records nothing. Use it for audit and downstream queries, never as a way to relax Guard conditions.",
|
|
2918
2916
|
"anyOf": [
|
|
2919
2917
|
{
|
|
2920
2918
|
"type": "array",
|
|
@@ -3220,13 +3218,13 @@
|
|
|
3220
3218
|
"type": "boolean"
|
|
3221
3219
|
},
|
|
3222
3220
|
"network": {
|
|
3221
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
3223
3222
|
"type": "string",
|
|
3224
3223
|
"enum": [
|
|
3225
3224
|
"localnet",
|
|
3226
3225
|
"testnet",
|
|
3227
3226
|
"mainnet"
|
|
3228
|
-
]
|
|
3229
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
3227
|
+
]
|
|
3230
3228
|
},
|
|
3231
3229
|
"referrer": {
|
|
3232
3230
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -3279,7 +3277,7 @@
|
|
|
3279
3277
|
"schema_strict_mode"
|
|
3280
3278
|
],
|
|
3281
3279
|
"additionalProperties": false,
|
|
3282
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
3280
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
3283
3281
|
},
|
|
3284
3282
|
"submission": {
|
|
3285
3283
|
"type": "object",
|
|
@@ -4155,13 +4153,13 @@
|
|
|
4155
4153
|
"type": "boolean"
|
|
4156
4154
|
},
|
|
4157
4155
|
"network": {
|
|
4156
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
4158
4157
|
"type": "string",
|
|
4159
4158
|
"enum": [
|
|
4160
4159
|
"localnet",
|
|
4161
4160
|
"testnet",
|
|
4162
4161
|
"mainnet"
|
|
4163
|
-
]
|
|
4164
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
4162
|
+
]
|
|
4165
4163
|
},
|
|
4166
4164
|
"referrer": {
|
|
4167
4165
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -4214,7 +4212,7 @@
|
|
|
4214
4212
|
"schema_strict_mode"
|
|
4215
4213
|
],
|
|
4216
4214
|
"additionalProperties": false,
|
|
4217
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
4215
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
4218
4216
|
},
|
|
4219
4217
|
"submission": {
|
|
4220
4218
|
"type": "object",
|
|
@@ -5717,13 +5715,13 @@
|
|
|
5717
5715
|
"type": "boolean"
|
|
5718
5716
|
},
|
|
5719
5717
|
"network": {
|
|
5718
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
5720
5719
|
"type": "string",
|
|
5721
5720
|
"enum": [
|
|
5722
5721
|
"localnet",
|
|
5723
5722
|
"testnet",
|
|
5724
5723
|
"mainnet"
|
|
5725
|
-
]
|
|
5726
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
5724
|
+
]
|
|
5727
5725
|
},
|
|
5728
5726
|
"referrer": {
|
|
5729
5727
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -5776,7 +5774,7 @@
|
|
|
5776
5774
|
"schema_strict_mode"
|
|
5777
5775
|
],
|
|
5778
5776
|
"additionalProperties": false,
|
|
5779
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
5777
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
5780
5778
|
},
|
|
5781
5779
|
"submission": {
|
|
5782
5780
|
"type": "object",
|
|
@@ -7036,13 +7034,13 @@
|
|
|
7036
7034
|
"type": "boolean"
|
|
7037
7035
|
},
|
|
7038
7036
|
"network": {
|
|
7037
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
7039
7038
|
"type": "string",
|
|
7040
7039
|
"enum": [
|
|
7041
7040
|
"localnet",
|
|
7042
7041
|
"testnet",
|
|
7043
7042
|
"mainnet"
|
|
7044
|
-
]
|
|
7045
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
7043
|
+
]
|
|
7046
7044
|
},
|
|
7047
7045
|
"referrer": {
|
|
7048
7046
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -7095,7 +7093,7 @@
|
|
|
7095
7093
|
"schema_strict_mode"
|
|
7096
7094
|
],
|
|
7097
7095
|
"additionalProperties": false,
|
|
7098
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
7096
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
7099
7097
|
},
|
|
7100
7098
|
"submission": {
|
|
7101
7099
|
"type": "object",
|
|
@@ -7990,13 +7988,13 @@
|
|
|
7990
7988
|
"type": "boolean"
|
|
7991
7989
|
},
|
|
7992
7990
|
"network": {
|
|
7991
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
7993
7992
|
"type": "string",
|
|
7994
7993
|
"enum": [
|
|
7995
7994
|
"localnet",
|
|
7996
7995
|
"testnet",
|
|
7997
7996
|
"mainnet"
|
|
7998
|
-
]
|
|
7999
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
7997
|
+
]
|
|
8000
7998
|
},
|
|
8001
7999
|
"referrer": {
|
|
8002
8000
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -8049,7 +8047,7 @@
|
|
|
8049
8047
|
"schema_strict_mode"
|
|
8050
8048
|
],
|
|
8051
8049
|
"additionalProperties": false,
|
|
8052
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
8050
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
8053
8051
|
},
|
|
8054
8052
|
"submission": {
|
|
8055
8053
|
"type": "object",
|
|
@@ -8813,7 +8811,7 @@
|
|
|
8813
8811
|
"type": "object",
|
|
8814
8812
|
"properties": {
|
|
8815
8813
|
"for_object": {
|
|
8816
|
-
"description": "
|
|
8814
|
+
"description": "Object this distribution belongs to (e.g. the order for a per-order allocation, recorded at creation). Auditors can query it to see the distribution's business context.",
|
|
8817
8815
|
"anyOf": [
|
|
8818
8816
|
{
|
|
8819
8817
|
"type": "string"
|
|
@@ -8952,7 +8950,7 @@
|
|
|
8952
8950
|
"type": "object",
|
|
8953
8951
|
"properties": {
|
|
8954
8952
|
"for_object": {
|
|
8955
|
-
"description": "
|
|
8953
|
+
"description": "Object this distribution belongs to (e.g. the order for a per-order allocation, recorded at creation). Auditors can query it to see the distribution's business context.",
|
|
8956
8954
|
"anyOf": [
|
|
8957
8955
|
{
|
|
8958
8956
|
"type": "string"
|
|
@@ -9485,13 +9483,13 @@
|
|
|
9485
9483
|
"type": "boolean"
|
|
9486
9484
|
},
|
|
9487
9485
|
"network": {
|
|
9486
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
9488
9487
|
"type": "string",
|
|
9489
9488
|
"enum": [
|
|
9490
9489
|
"localnet",
|
|
9491
9490
|
"testnet",
|
|
9492
9491
|
"mainnet"
|
|
9493
|
-
]
|
|
9494
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
9492
|
+
]
|
|
9495
9493
|
},
|
|
9496
9494
|
"referrer": {
|
|
9497
9495
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -9544,7 +9542,7 @@
|
|
|
9544
9542
|
"schema_strict_mode"
|
|
9545
9543
|
],
|
|
9546
9544
|
"additionalProperties": false,
|
|
9547
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
9545
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
9548
9546
|
},
|
|
9549
9547
|
"submission": {
|
|
9550
9548
|
"type": "object",
|
|
@@ -10624,13 +10622,13 @@
|
|
|
10624
10622
|
"type": "boolean"
|
|
10625
10623
|
},
|
|
10626
10624
|
"network": {
|
|
10625
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
10627
10626
|
"type": "string",
|
|
10628
10627
|
"enum": [
|
|
10629
10628
|
"localnet",
|
|
10630
10629
|
"testnet",
|
|
10631
10630
|
"mainnet"
|
|
10632
|
-
]
|
|
10633
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
10631
|
+
]
|
|
10634
10632
|
},
|
|
10635
10633
|
"referrer": {
|
|
10636
10634
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -10683,7 +10681,7 @@
|
|
|
10683
10681
|
"schema_strict_mode"
|
|
10684
10682
|
],
|
|
10685
10683
|
"additionalProperties": false,
|
|
10686
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
10684
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
10687
10685
|
},
|
|
10688
10686
|
"submission": {
|
|
10689
10687
|
"type": "object",
|
|
@@ -11390,7 +11388,7 @@
|
|
|
11390
11388
|
"additionalProperties": false,
|
|
11391
11389
|
"description": "Fund allocation item — one recipient's share of the Allocation balance. The `sharing` value's meaning depends on `mode` (see AllocationModeSchema). Multiple items in the same Allocator are evaluated together: Amount items first, Rate items second, Surplus last."
|
|
11392
11390
|
},
|
|
11393
|
-
"description": "Fund allocation item list. Each item specifies a recipient (who), a value (sharing), and a mode. Items can mix modes (Amount + Rate + Surplus) within the same Allocator. ALLOCATION ORDER: Amount items first (cached as fix) → Rate items (proportional to balance - fix) → Surplus item (remaining). CONSTRAINTS: max ONE Surplus item per Allocator; Rate sum must == 10000 (no Surplus) or <= 10000 (with Surplus); Amount sum must >= threshold (no Rate and no Surplus) and <= max (if max set)."
|
|
11391
|
+
"description": "Fund allocation item list. Each item specifies a recipient (who), a value (sharing), and a mode. Items can mix modes (Amount + Rate + Surplus) within the same Allocator. RECIPIENT SEMANTICS: the Guard constrains what each submission slot may be; a recipient's safety follows from the sufficiency of those constraints (run the recipient constraint audit). Canonical order pattern: recipient = the single submitted Order — funds land at that object and are receivable only by its owner. ALLOCATION ORDER: Amount items first (cached as fix) → Rate items (proportional to balance - fix) → Surplus item (remaining). CONSTRAINTS: max ONE Surplus item per Allocator; Rate sum must == 10000 (no Surplus) or <= 10000 (with Surplus); Amount sum must >= threshold (no Rate and no Surplus) and <= max (if max set)."
|
|
11394
11392
|
},
|
|
11395
11393
|
"fix": {
|
|
11396
11394
|
"description": "OUTPUT-ONLY (query result). Cached sum of all Amount-mode `sharing` values in this Allocator. Computed by the contract during `allocator_add` — DO NOT set this field at creation. Used internally to compute `total_rates = balance - fix` for Rate allocation.",
|
|
@@ -11484,7 +11482,7 @@
|
|
|
11484
11482
|
"type": "object",
|
|
11485
11483
|
"properties": {
|
|
11486
11484
|
"for_object": {
|
|
11487
|
-
"description": "
|
|
11485
|
+
"description": "Object this distribution belongs to (e.g. the order for a per-order allocation, recorded at creation). Auditors can query it to see the distribution's business context.",
|
|
11488
11486
|
"anyOf": [
|
|
11489
11487
|
{
|
|
11490
11488
|
"type": "string"
|
|
@@ -11629,7 +11627,7 @@
|
|
|
11629
11627
|
]
|
|
11630
11628
|
},
|
|
11631
11629
|
"alloc_by_guard": {
|
|
11632
|
-
"description": "Verify the specified Guard and execute the corresponding fund
|
|
11630
|
+
"description": "Verify the specified Guard and execute the corresponding fund distribution. GENERIC SEMANTICS: an Allocation distributes whatever balance it holds — order funds, payroll, dividends, bounties. It defines no scenario-specific rule: eligibility (including issuer identity for standalone use, e.g. an org admin) and differentiation inputs are expressed as Guard constraints, all public and auditable. RECIPIENT RESOLUTION (allocation.move Recipient enum): Entity → fixed address; Signer → transaction sender; GuardIdentifier n → the address submitted for identifier n (passport::submission_get). ORDER PATTERN (canonical): the Guard table needs ONE submitted Order, constrained by the Guard (e.g. order.service == host service, progress at a qualifying node, signer == order.owner); that order submission IS the recipient slot. Whoever calls alloc, funds necessarily land at an Order OBJECT; delivered CoinWrappers are owned by the order and can be extracted only via order::owner_receive (&mut Order input, Sui ownership) — the coins then go to the order's current owner. Object receipt = owner receipt. POST-DISTRIBUTION CLAIM (required step): each recipient gets a CoinWrapper (not spendable coins) — EOA wallet → operation_type='payment' RECEIVE mode {object:'<coinwrapper_id>', receive:true}; Order object → operation_type='order' {object:'<order_id>', receive:'recently'}; Treasury object → treasury receive. Find pending CoinWrappers via query_toolkit query_type='onchain_received'; verify via the immutable Payment object (allocation.payment array). RISK: safety follows from the sufficiency of the Guard constraints, not the recipient form — analyze the recipient constraint audit before publish; structural residuals (unavoidable): permissionless alloc allows forced settlement timing, the submitted order is not bound to the settled allocation, and allocators/guards are immutable after publish.",
|
|
11633
11631
|
"type": "string"
|
|
11634
11632
|
}
|
|
11635
11633
|
},
|
|
@@ -11662,13 +11660,13 @@
|
|
|
11662
11660
|
"type": "boolean"
|
|
11663
11661
|
},
|
|
11664
11662
|
"network": {
|
|
11663
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
11665
11664
|
"type": "string",
|
|
11666
11665
|
"enum": [
|
|
11667
11666
|
"localnet",
|
|
11668
11667
|
"testnet",
|
|
11669
11668
|
"mainnet"
|
|
11670
|
-
]
|
|
11671
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
11669
|
+
]
|
|
11672
11670
|
},
|
|
11673
11671
|
"referrer": {
|
|
11674
11672
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -11721,7 +11719,7 @@
|
|
|
11721
11719
|
"schema_strict_mode"
|
|
11722
11720
|
],
|
|
11723
11721
|
"additionalProperties": false,
|
|
11724
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
11722
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
11725
11723
|
},
|
|
11726
11724
|
"submission": {
|
|
11727
11725
|
"type": "object",
|
|
@@ -13059,13 +13057,13 @@
|
|
|
13059
13057
|
"type": "boolean"
|
|
13060
13058
|
},
|
|
13061
13059
|
"network": {
|
|
13060
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
13062
13061
|
"type": "string",
|
|
13063
13062
|
"enum": [
|
|
13064
13063
|
"localnet",
|
|
13065
13064
|
"testnet",
|
|
13066
13065
|
"mainnet"
|
|
13067
|
-
]
|
|
13068
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
13066
|
+
]
|
|
13069
13067
|
},
|
|
13070
13068
|
"referrer": {
|
|
13071
13069
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -13118,7 +13116,7 @@
|
|
|
13118
13116
|
"schema_strict_mode"
|
|
13119
13117
|
],
|
|
13120
13118
|
"additionalProperties": false,
|
|
13121
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
13119
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
13122
13120
|
}
|
|
13123
13121
|
},
|
|
13124
13122
|
"required": [
|
|
@@ -15515,13 +15513,13 @@
|
|
|
15515
15513
|
"type": "boolean"
|
|
15516
15514
|
},
|
|
15517
15515
|
"network": {
|
|
15516
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
15518
15517
|
"type": "string",
|
|
15519
15518
|
"enum": [
|
|
15520
15519
|
"localnet",
|
|
15521
15520
|
"testnet",
|
|
15522
15521
|
"mainnet"
|
|
15523
|
-
]
|
|
15524
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
15522
|
+
]
|
|
15525
15523
|
},
|
|
15526
15524
|
"referrer": {
|
|
15527
15525
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -15574,7 +15572,7 @@
|
|
|
15574
15572
|
"schema_strict_mode"
|
|
15575
15573
|
],
|
|
15576
15574
|
"additionalProperties": false,
|
|
15577
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
15575
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
15578
15576
|
}
|
|
15579
15577
|
},
|
|
15580
15578
|
"required": [
|
|
@@ -15582,7 +15580,7 @@
|
|
|
15582
15580
|
"data"
|
|
15583
15581
|
],
|
|
15584
15582
|
"additionalProperties": false,
|
|
15585
|
-
"description": "🛡️ Guard Object: Create immutable programmable validation rules that return boolean results. Set 'namedNew' to name the new Guard (you may also use 'object' as an alias — both work).
|
|
15583
|
+
"description": "🛡️ Guard Object: Create immutable programmable validation rules that return boolean results. Set 'namedNew' to name the new Guard (you may also use 'object' as an alias — both work). Provide the GuardNode directly as 'root' (the node's own 'type' field selects the node kind; do NOT wrap it in {type:'node'}), or use root.type='file' to load from file. Use 'wowok_buildin_info' tool with query='guard instructions' for all available operations. NOTE for EntityLinker/EntityRegistrar queries: Add system addresses to the Guard table - ENTITY_LINKER_ADDRESS (0xaaa) for EntityLinker, ENTITY_REGISTRAR_ADDRESS (0xaab) for EntityRegistrar."
|
|
15586
15584
|
},
|
|
15587
15585
|
{
|
|
15588
15586
|
"type": "object",
|
|
@@ -16398,13 +16396,13 @@
|
|
|
16398
16396
|
"type": "boolean"
|
|
16399
16397
|
},
|
|
16400
16398
|
"network": {
|
|
16399
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
16401
16400
|
"type": "string",
|
|
16402
16401
|
"enum": [
|
|
16403
16402
|
"localnet",
|
|
16404
16403
|
"testnet",
|
|
16405
16404
|
"mainnet"
|
|
16406
|
-
]
|
|
16407
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
16405
|
+
]
|
|
16408
16406
|
},
|
|
16409
16407
|
"referrer": {
|
|
16410
16408
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -16457,7 +16455,7 @@
|
|
|
16457
16455
|
"schema_strict_mode"
|
|
16458
16456
|
],
|
|
16459
16457
|
"additionalProperties": false,
|
|
16460
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
16458
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
16461
16459
|
}
|
|
16462
16460
|
},
|
|
16463
16461
|
"required": [
|
|
@@ -16586,7 +16584,7 @@
|
|
|
16586
16584
|
"type": "object",
|
|
16587
16585
|
"properties": {
|
|
16588
16586
|
"for_object": {
|
|
16589
|
-
"description": "
|
|
16587
|
+
"description": "Object this distribution belongs to (e.g. the order for a per-order allocation, recorded at creation). Auditors can query it to see the distribution's business context.",
|
|
16590
16588
|
"anyOf": [
|
|
16591
16589
|
{
|
|
16592
16590
|
"type": "string"
|
|
@@ -16685,13 +16683,13 @@
|
|
|
16685
16683
|
"type": "boolean"
|
|
16686
16684
|
},
|
|
16687
16685
|
"network": {
|
|
16686
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
16688
16687
|
"type": "string",
|
|
16689
16688
|
"enum": [
|
|
16690
16689
|
"localnet",
|
|
16691
16690
|
"testnet",
|
|
16692
16691
|
"mainnet"
|
|
16693
|
-
]
|
|
16694
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
16692
|
+
]
|
|
16695
16693
|
},
|
|
16696
16694
|
"referrer": {
|
|
16697
16695
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -16744,7 +16742,7 @@
|
|
|
16744
16742
|
"schema_strict_mode"
|
|
16745
16743
|
],
|
|
16746
16744
|
"additionalProperties": false,
|
|
16747
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
16745
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
16748
16746
|
}
|
|
16749
16747
|
},
|
|
16750
16748
|
"required": [
|
|
@@ -17265,13 +17263,13 @@
|
|
|
17265
17263
|
"type": "boolean"
|
|
17266
17264
|
},
|
|
17267
17265
|
"network": {
|
|
17266
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
17268
17267
|
"type": "string",
|
|
17269
17268
|
"enum": [
|
|
17270
17269
|
"localnet",
|
|
17271
17270
|
"testnet",
|
|
17272
17271
|
"mainnet"
|
|
17273
|
-
]
|
|
17274
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
17272
|
+
]
|
|
17275
17273
|
},
|
|
17276
17274
|
"referrer": {
|
|
17277
17275
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -17324,7 +17322,7 @@
|
|
|
17324
17322
|
"schema_strict_mode"
|
|
17325
17323
|
],
|
|
17326
17324
|
"additionalProperties": false,
|
|
17327
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
17325
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
17328
17326
|
},
|
|
17329
17327
|
"submission": {
|
|
17330
17328
|
"type": "object",
|
|
@@ -18184,13 +18182,13 @@
|
|
|
18184
18182
|
"type": "boolean"
|
|
18185
18183
|
},
|
|
18186
18184
|
"network": {
|
|
18185
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
18187
18186
|
"type": "string",
|
|
18188
18187
|
"enum": [
|
|
18189
18188
|
"localnet",
|
|
18190
18189
|
"testnet",
|
|
18191
18190
|
"mainnet"
|
|
18192
|
-
]
|
|
18193
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
18191
|
+
]
|
|
18194
18192
|
},
|
|
18195
18193
|
"referrer": {
|
|
18196
18194
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -18243,7 +18241,7 @@
|
|
|
18243
18241
|
"schema_strict_mode"
|
|
18244
18242
|
],
|
|
18245
18243
|
"additionalProperties": false,
|
|
18246
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
18244
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
18247
18245
|
},
|
|
18248
18246
|
"submission": {
|
|
18249
18247
|
"type": "object",
|
|
@@ -19342,13 +19340,13 @@
|
|
|
19342
19340
|
"type": "boolean"
|
|
19343
19341
|
},
|
|
19344
19342
|
"network": {
|
|
19343
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
19345
19344
|
"type": "string",
|
|
19346
19345
|
"enum": [
|
|
19347
19346
|
"localnet",
|
|
19348
19347
|
"testnet",
|
|
19349
19348
|
"mainnet"
|
|
19350
|
-
]
|
|
19351
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
19349
|
+
]
|
|
19352
19350
|
},
|
|
19353
19351
|
"referrer": {
|
|
19354
19352
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -19401,7 +19399,7 @@
|
|
|
19401
19399
|
"schema_strict_mode"
|
|
19402
19400
|
],
|
|
19403
19401
|
"additionalProperties": false,
|
|
19404
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
19402
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
19405
19403
|
}
|
|
19406
19404
|
},
|
|
19407
19405
|
"required": [
|
|
@@ -19539,13 +19537,13 @@
|
|
|
19539
19537
|
"type": "boolean"
|
|
19540
19538
|
},
|
|
19541
19539
|
"network": {
|
|
19540
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
19542
19541
|
"type": "string",
|
|
19543
19542
|
"enum": [
|
|
19544
19543
|
"localnet",
|
|
19545
19544
|
"testnet",
|
|
19546
19545
|
"mainnet"
|
|
19547
|
-
]
|
|
19548
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
19546
|
+
]
|
|
19549
19547
|
},
|
|
19550
19548
|
"referrer": {
|
|
19551
19549
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -19598,7 +19596,7 @@
|
|
|
19598
19596
|
"schema_strict_mode"
|
|
19599
19597
|
],
|
|
19600
19598
|
"additionalProperties": false,
|
|
19601
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
19599
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
19602
19600
|
},
|
|
19603
19601
|
"submission": {
|
|
19604
19602
|
"type": "object",
|
|
@@ -20216,13 +20214,13 @@
|
|
|
20216
20214
|
"type": "boolean"
|
|
20217
20215
|
},
|
|
20218
20216
|
"network": {
|
|
20217
|
+
"description": "Omit in client/chat contexts — the runtime stamps the user's CURRENT network (the client's UI selection). Standalone MCP/CLI: omit to use the current network; set ONLY when the user explicitly names a different network (a mismatch pauses for user confirmation). Never guess or hardcode a network.",
|
|
20219
20218
|
"type": "string",
|
|
20220
20219
|
"enum": [
|
|
20221
20220
|
"localnet",
|
|
20222
20221
|
"testnet",
|
|
20223
20222
|
"mainnet"
|
|
20224
|
-
]
|
|
20225
|
-
"description": "Network entrypoint: Specifies which network the operation occurs on. FIX-010 cross-network note: LocalMark names are scoped per network (testnet marks are invisible on mainnet and vice versa). When migrating from testnet to mainnet, recreate all objects on mainnet and re-register LocalMark names with the SAME names to keep name-based references working across networks. Recreate all objects on the target network via onchain_operations with env.network=target_network, then re-register the LocalMark names."
|
|
20223
|
+
]
|
|
20226
20224
|
},
|
|
20227
20225
|
"referrer": {
|
|
20228
20226
|
"description": "Referrer ID. If the user is using the network for the first time, the referrer ID will be recorded (also applied when the SDK auto-registers the sender in the global Entity table).",
|
|
@@ -20275,7 +20273,7 @@
|
|
|
20275
20273
|
"schema_strict_mode"
|
|
20276
20274
|
],
|
|
20277
20275
|
"additionalProperties": false,
|
|
20278
|
-
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (
|
|
20276
|
+
"description": "IMPORTANT: Execution environment includes: account for signing operations, network selection (testnet | localnet | mainnet), additional Guard permissions, and more. Used to specify context information during the call. If account is not specified, the default account (\"\") will be used. NOTE: by default the SDK auto-registers the sender in the global Entity table when absent (first business transaction; the account receives an owned Resource object). Set no_auto_register=true only on explicit user request."
|
|
20279
20277
|
},
|
|
20280
20278
|
"operation_type": {
|
|
20281
20279
|
"type": "string",
|