@wowok/agent-mcp 3.4.1 → 3.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.build-stamp.json +5 -0
- package/dist/chain-semantics/composition-truth.js +1 -1
- package/dist/chain-semantics/eval-order.js +1 -1
- package/dist/chain-semantics/field-capability.js +1 -1
- package/dist/chain-semantics/freeze-map.js +1 -1
- package/dist/chain-semantics/fund-flow.js +1 -1
- package/dist/chain-semantics/guard-verbs.js +1 -1
- package/dist/chain-semantics/object-graph.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/compile.d.ts +10 -3
- package/dist/composition/compile.js +1 -1
- package/dist/composition/emit-phases.d.ts +30 -2
- package/dist/composition/emit-phases.js +1 -1
- package/dist/composition/guard-fill.d.ts +8 -0
- package/dist/composition/guard-fill.js +1 -1
- package/dist/composition/inflight.js +1 -1
- package/dist/composition/input-normalize.js +1 -1
- package/dist/composition/materialize.d.ts +2 -0
- package/dist/composition/materialize.js +1 -1
- package/dist/composition/mode-gates.js +1 -1
- package/dist/composition/param-disclosure.js +1 -1
- package/dist/composition/plan-retry-ledger.d.ts +16 -0
- package/dist/composition/plan-retry-ledger.js +1 -1
- package/dist/composition/plan.d.ts +15 -1
- package/dist/composition/plan.js +1 -1
- package/dist/config/config-audit.spec.js +1 -1
- package/dist/config/judgment.d.ts +5 -0
- package/dist/config/judgment.js +1 -1
- package/dist/evaluation/builtins/arbitration-score.d.ts +1 -0
- package/dist/evaluation/builtins/arbitration-score.js +1 -1
- package/dist/evaluation/builtins/demand-match.js +1 -1
- package/dist/evaluation/builtins/graph-service.d.ts +8 -0
- package/dist/evaluation/builtins/graph-service.js +1 -1
- package/dist/evaluation/capability.d.ts +9 -0
- package/dist/evaluation/engine.js +1 -1
- package/dist/evaluation/extract.d.ts +9 -1
- package/dist/evaluation/extract.js +1 -1
- package/dist/evaluation/match-operation.js +1 -1
- package/dist/evaluation/match-policy.d.ts +5 -3
- package/dist/evaluation/match-policy.js +1 -1
- package/dist/evaluation/standards.d.ts +1 -0
- package/dist/evaluation/standards.js +1 -1
- package/dist/evaluation/structured-lines.js +1 -1
- package/dist/evaluation/types.d.ts +1 -0
- package/dist/extensions/capability.js +1 -1
- package/dist/extensions/industry-pack.js +1 -1
- package/dist/extensions/modes.js +1 -1
- package/dist/harness/recover.js +1 -1
- package/dist/index.js +1 -1
- package/dist/intent/types.d.ts +1 -1
- package/dist/intent/types.js +1 -1
- package/dist/knowledge/allocation-ledger.js +1 -1
- package/dist/knowledge/allocator-rail-verifier.d.ts +17 -1
- package/dist/knowledge/allocator-rail-verifier.js +1 -1
- package/dist/knowledge/arb-fund-facts.d.ts +7 -0
- package/dist/knowledge/arb-fund-facts.js +1 -1
- package/dist/knowledge/arbitration-rail-verifier.d.ts +35 -0
- package/dist/knowledge/arbitration-rail-verifier.js +1 -0
- package/dist/knowledge/arbitration-templates.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +13 -1
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/judgment-baselines.json +1 -0
- package/dist/knowledge/baselines/rules/guard.json +7 -6
- package/dist/knowledge/baselines/rules/progress.json +4 -4
- package/dist/knowledge/baselines/rules/reward.json +118 -3
- package/dist/knowledge/builtin-templates.d.ts +19 -2
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/chain-query-registry.d.ts +14 -0
- package/dist/knowledge/chain-query-registry.js +1 -0
- package/dist/knowledge/event-semantics.js +1 -1
- package/dist/knowledge/fee-param-bindings.d.ts +2 -0
- package/dist/knowledge/fee-param-bindings.js +1 -1
- package/dist/knowledge/getting-started.js +1 -1
- package/dist/knowledge/guard-binding-table.js +1 -1
- package/dist/knowledge/guard-binding-verifier.d.ts +7 -0
- package/dist/knowledge/guard-binding-verifier.js +1 -1
- package/dist/knowledge/guard-bindings.js +1 -1
- package/dist/knowledge/guard-design-patterns.d.ts +1 -1
- package/dist/knowledge/guard-design-patterns.js +1 -1
- package/dist/knowledge/guard-field-cognition.js +1 -1
- package/dist/knowledge/guard-host-context.js +1 -1
- package/dist/knowledge/guard-lint.js +1 -1
- package/dist/knowledge/guard-node-gates.d.ts +3 -1
- package/dist/knowledge/guard-node-gates.js +1 -1
- package/dist/knowledge/guard-puzzle.js +1 -1
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +2 -1
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/guard-translation.js +1 -1
- package/dist/knowledge/index.d.ts +2 -0
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/knob-docs.js +1 -1
- package/dist/knowledge/param-schema.d.ts +1 -1
- package/dist/knowledge/param-schema.js +1 -1
- package/dist/knowledge/param-tiers.d.ts +2 -0
- package/dist/knowledge/param-tiers.js +1 -1
- package/dist/knowledge/path-oracle/products/food-delivery.js +1 -1
- package/dist/knowledge/pattern-resolutions.d.ts +2 -0
- package/dist/knowledge/pattern-resolutions.js +1 -1
- package/dist/knowledge/product-detail-source.d.ts +37 -0
- package/dist/knowledge/product-detail-source.js +1 -0
- package/dist/knowledge/product-doc-b5.d.ts +16 -0
- package/dist/knowledge/product-doc-b5.js +1 -0
- package/dist/knowledge/progress-ledger.js +1 -1
- package/dist/knowledge/projection.spec.js +1 -1
- package/dist/knowledge/publish-gate.d.ts +20 -0
- package/dist/knowledge/publish-gate.js +1 -0
- package/dist/knowledge/publish-readiness.d.ts +25 -0
- package/dist/knowledge/publish-readiness.js +1 -0
- package/dist/knowledge/publish-surface-contract.d.ts +16 -0
- package/dist/knowledge/publish-surface-contract.js +1 -0
- package/dist/knowledge/rail-exit-satisfiability.d.ts +25 -0
- package/dist/knowledge/rail-exit-satisfiability.js +1 -0
- package/dist/knowledge/reward-ledger.d.ts +1 -1
- package/dist/knowledge/reward-ledger.js +1 -1
- package/dist/knowledge/reward-risk.d.ts +1 -1
- package/dist/knowledge/reward-risk.js +1 -1
- package/dist/knowledge/scenario-modes.js +1 -1
- package/dist/knowledge/service-ledger.d.ts +3 -1
- package/dist/knowledge/service-ledger.js +1 -1
- package/dist/knowledge/template-loader.d.ts +41 -2
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.d.ts +17 -0
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/template-test-profiles.js +1 -1
- package/dist/knowledge/workflow-guidance.d.ts +4 -0
- package/dist/knowledge/workflow-guidance.js +1 -1
- package/dist/monitor/MonitorLoop.js +1 -1
- package/dist/monitor/normalize.d.ts +1 -1
- package/dist/monitor/normalize.js +1 -1
- package/dist/monitor/types.js +1 -1
- package/dist/participation/customer-interest.d.ts +4 -0
- package/dist/participation/customer-interest.js +1 -1
- package/dist/participation/game-context.js +1 -1
- package/dist/participation/node-action-advisor.d.ts +4 -0
- package/dist/participation/node-action-advisor.js +1 -1
- package/dist/participation/radar-core.js +1 -1
- package/dist/participation/time-window.d.ts +11 -0
- package/dist/participation/time-window.js +1 -1
- package/dist/playbooks/service-build/business-puzzle.js +1 -1
- package/dist/playbooks/service-build/machine-panorama.js +1 -1
- package/dist/playbooks/service-build/merchant-guide.d.ts +28 -3
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/object-panorama.d.ts +4 -0
- package/dist/playbooks/service-build/object-panorama.js +1 -1
- package/dist/playbooks/service-build/participation-radar.js +1 -1
- package/dist/playbooks/service-build/relationship-profile.js +1 -1
- package/dist/playbooks/service-build/service-panorama.js +1 -1
- package/dist/playbooks/service-build/service-quote.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/review/order.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +24 -0
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/allocation.d.ts +11 -7
- package/dist/schema/call/allocation.js +1 -1
- package/dist/schema/call/arbitration.d.ts +4 -0
- package/dist/schema/call/arbitration.js +1 -1
- package/dist/schema/call/base.d.ts +28 -0
- package/dist/schema/call/base.js +1 -1
- package/dist/schema/call/bridge.d.ts +21 -0
- package/dist/schema/call/contact.d.ts +4 -0
- package/dist/schema/call/demand.d.ts +4 -0
- package/dist/schema/call/guard.d.ts +12 -0
- package/dist/schema/call/handler.d.ts +1 -0
- package/dist/schema/call/handler.js +1 -1
- package/dist/schema/call/machine.d.ts +16 -8
- package/dist/schema/call/normalize-error.d.ts +1 -0
- package/dist/schema/call/normalize-error.js +1 -0
- package/dist/schema/call/order.d.ts +7 -3
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/payment.d.ts +7 -3
- package/dist/schema/call/permission.d.ts +4 -0
- package/dist/schema/call/personal.d.ts +4 -0
- package/dist/schema/call/progress.d.ts +4 -0
- package/dist/schema/call/progress.js +1 -1
- package/dist/schema/call/proof.d.ts +8 -0
- package/dist/schema/call/proof.js +1 -1
- package/dist/schema/call/receipt.js +1 -1
- package/dist/schema/call/repository.d.ts +4 -0
- package/dist/schema/call/reward.d.ts +6 -2
- package/dist/schema/call/reward.js +1 -1
- package/dist/schema/call/semantic.d.ts +2 -2
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.d.ts +21 -7
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/call/treasury.d.ts +10 -6
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/envelope-unify.d.ts +1 -0
- package/dist/schema/envelope-unify.js +1 -1
- package/dist/schema/evaluation/index.d.ts +43 -0
- package/dist/schema/evaluation/index.js +1 -1
- package/dist/schema/goal/index.d.ts +14 -2
- package/dist/schema/goal/planning.d.ts +18 -0
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/intent-radar/index.d.ts +12 -0
- package/dist/schema/intent-radar/index.js +1 -1
- package/dist/schema/keeper/index.d.ts +1 -0
- package/dist/schema/local/index.d.ts +10 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/local/wip.js +1 -1
- package/dist/schema/messenger/index.d.ts +1 -0
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +98 -13
- package/dist/schema/operations.js +1 -1
- package/dist/schema/persona/index.d.ts +22 -0
- package/dist/schema/query/bi.d.ts +28 -2
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +67 -61
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/workflow/index.js +1 -1
- package/dist/schema-query-impl/index.d.ts +1 -0
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +2 -1
- package/dist/schemas/benchmark_migration_operation.output.json +74 -0
- package/dist/schemas/benchmark_migration_operation.schema.json +33 -1
- package/dist/schemas/bridge_operation.output.json +2 -1
- package/dist/schemas/bridge_operation.schema.json +40 -0
- package/dist/schemas/evaluation_operation.output.json +96 -0
- package/dist/schemas/evaluation_operation.schema.json +39 -0
- package/dist/schemas/goal_operation.schema.json +32 -0
- package/dist/schemas/guard2file.schema.json +8 -0
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/intent_radar.output.json +10 -2
- package/dist/schemas/intent_radar.schema.json +5 -1
- package/dist/schemas/keeper_operation.output.json +2 -1
- package/dist/schemas/local_cache_operation.output.json +2 -1
- package/dist/schemas/local_history_operation.output.json +2 -1
- package/dist/schemas/local_info_operation.output.json +2 -1
- package/dist/schemas/local_mark_operation.output.json +2 -1
- package/dist/schemas/local_mark_operation.schema.json +10 -1
- package/dist/schemas/machineNode2file.schema.json +8 -0
- package/dist/schemas/messenger_operation.output.json +2 -1
- package/dist/schemas/messenger_operation.schema.json +2 -1
- package/dist/schemas/monitor_events.output.json +2 -1
- package/dist/schemas/monitor_subscription.output.json +2 -1
- package/dist/schemas/onchain_events.output.json +206 -13
- package/dist/schemas/onchain_events.schema.json +16 -0
- package/dist/schemas/onchain_operations.output.json +22 -3
- package/dist/schemas/onchain_operations.schema.json +982 -327
- package/dist/schemas/onchain_operations_allocation.schema.json +20 -13
- package/dist/schemas/onchain_operations_arbitration.schema.json +9 -1
- package/dist/schemas/onchain_operations_contact.schema.json +8 -0
- package/dist/schemas/onchain_operations_demand.schema.json +8 -0
- package/dist/schemas/onchain_operations_gen_passport.schema.json +8 -0
- package/dist/schemas/onchain_operations_gen_proof.schema.json +8 -0
- package/dist/schemas/onchain_operations_guard.schema.json +655 -115
- package/dist/schemas/onchain_operations_machine.schema.json +11 -3
- package/dist/schemas/onchain_operations_order.schema.json +14 -11
- package/dist/schemas/onchain_operations_payment.schema.json +12 -9
- package/dist/schemas/onchain_operations_permission.schema.json +8 -0
- package/dist/schemas/onchain_operations_personal.schema.json +8 -0
- package/dist/schemas/onchain_operations_progress.schema.json +9 -1
- package/dist/schemas/onchain_operations_proof.schema.json +9 -1
- package/dist/schemas/onchain_operations_repository.schema.json +8 -0
- package/dist/schemas/onchain_operations_reward.schema.json +14 -11
- package/dist/schemas/onchain_operations_service.schema.json +25 -12
- package/dist/schemas/onchain_operations_treasury.schema.json +17 -19
- package/dist/schemas/onchain_table_data.output.json +52 -10
- package/dist/schemas/persona_operation.output.json +57 -0
- package/dist/schemas/persona_operation.schema.json +9 -0
- package/dist/schemas/query_toolkit.output.json +326 -23
- package/dist/schemas/query_toolkit.schema.json +18 -5
- package/dist/schemas/wip_file.output.json +2 -2
- package/dist/schemas/wip_file.schema.json +2 -2
- package/dist/schemas/workflow_operation.schema.json +1 -1
- package/dist/tools/error-catalog.d.ts +17 -0
- package/dist/tools/error-catalog.js +1 -0
- package/dist/tools/handlers/benchmark-migration.d.ts +29 -8
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/entry-edge-recipe.d.ts +101 -0
- package/dist/tools/handlers/entry-edge-recipe.js +1 -0
- package/dist/tools/handlers/escrow-deficit.d.ts +10 -0
- package/dist/tools/handlers/escrow-deficit.js +1 -0
- package/dist/tools/handlers/evaluation.js +1 -1
- package/dist/tools/handlers/fund-rail-recipe.d.ts +10 -0
- package/dist/tools/handlers/fund-rail-recipe.js +1 -0
- package/dist/tools/handlers/intent-radar.js +1 -1
- package/dist/tools/handlers/local.js +1 -1
- package/dist/tools/handlers/mark-namespace.d.ts +30 -0
- package/dist/tools/handlers/mark-namespace.js +1 -0
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/onchain-name-registration.d.ts +1 -0
- package/dist/tools/handlers/onchain-name-registration.js +1 -1
- package/dist/tools/handlers/onchain-name-registration.spec.js +1 -1
- package/dist/tools/handlers/onchain.d.ts +40 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/publish-binding-echo.d.ts +22 -0
- package/dist/tools/handlers/publish-binding-echo.js +1 -0
- package/dist/tools/handlers/query.d.ts +1 -1
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/review-chain.d.ts +1 -0
- package/dist/tools/handlers/review-chain.js +1 -1
- package/dist/tools/handlers/schema-query.js +1 -1
- package/dist/tools/handlers/stale-build-check.d.ts +9 -0
- package/dist/tools/handlers/stale-build-check.js +1 -0
- package/dist/tools/handlers/submission-assembly.d.ts +55 -0
- package/dist/tools/handlers/submission-assembly.js +1 -0
- package/dist/tools/handlers/wip.js +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.js +1 -1
- package/dist/tools/move-fn-index.gen.js +1 -1
- package/dist/tools/publish-gate-state.d.ts +5 -0
- package/dist/tools/publish-gate-state.js +1 -0
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/registry/onchain.js +1 -1
- package/dist/tools/registry/query.js +1 -1
- package/dist/tools/retry.js +1 -1
- package/dist/tools/runtime-health.js +1 -1
- package/dist/tools/shared.js +1 -1
- package/dist/tools/upgrade-check.d.ts +1 -0
- package/dist/tools/upgrade-check.js +1 -1
- package/dist/tools/wip-verify-ledger.d.ts +2 -0
- package/dist/tools/wip-verify-ledger.js +1 -1
- package/dist/tools/wrap.d.ts +15 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +5 -3
|
@@ -109,8 +109,19 @@
|
|
|
109
109
|
"type": "object",
|
|
110
110
|
"properties": {
|
|
111
111
|
"name": {
|
|
112
|
+
"description": "Name of the product or service to purchase. Must match a listed sale name EXACTLY (the buy path resolves each item by exact name match) and MUST be ≤ 64 bytes (UTF-8): the on-chain buy path caps buyer-sent item names at 64 bytes even though the merchant side lists names up to 256 bytes — a longer name aborts E_NAME_LENGTH_EXCEEDED (abort 1) before anything else runs (F-RQ-01). When the exact name is impractical (long/CJK names that risk transport corruption), OMIT it and use sale_id or sale_name instead — the handler resolves the reference against the Service's LIVE sales list and fills this name for you (CHAN-P1-16).",
|
|
113
|
+
"type": "string"
|
|
114
|
+
},
|
|
115
|
+
"sale_id": {
|
|
116
|
+
"description": "CHAN-P1-16: buy by the SKU's 0-based INDEX in the Service's live sales list (the order the service_quote / query lists them). The handler resolves the index to the live sale (name + price), rewrites item.name on your behalf, and echoes `sale_index + sale_name + price` in the response — the exact name never crosses the wire. Out-of-range index → refused with the full live index table (index + name + price) so one retry lands. Consumed by the MCP gate, never reaches the chain.",
|
|
117
|
+
"type": "integer",
|
|
118
|
+
"minimum": 0,
|
|
119
|
+
"maximum": 9007199254740991
|
|
120
|
+
},
|
|
121
|
+
"sale_name": {
|
|
122
|
+
"description": "CHAN-P1-16: buy by SKU NAME matched against the Service's LIVE sales list (exact match first; whitespace/case-tolerant, then containment when the name was corrupted in transport). Exactly one live match → the handler fills item.name and echoes `sale_index + sale_name + price`; several candidates → refused with every candidate's index; none → refused with the full live index table. Consumed by the MCP gate, never reaches the chain.",
|
|
112
123
|
"type": "string",
|
|
113
|
-
"
|
|
124
|
+
"minLength": 1
|
|
114
125
|
},
|
|
115
126
|
"quantity": {
|
|
116
127
|
"anyOf": [
|
|
@@ -130,7 +141,6 @@
|
|
|
130
141
|
}
|
|
131
142
|
},
|
|
132
143
|
"required": [
|
|
133
|
-
"name",
|
|
134
144
|
"quantity",
|
|
135
145
|
"wip_hash"
|
|
136
146
|
],
|
|
@@ -1660,15 +1670,10 @@
|
|
|
1660
1670
|
"description": "Payment record remark"
|
|
1661
1671
|
},
|
|
1662
1672
|
"index": {
|
|
1663
|
-
"
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
{
|
|
1668
|
-
"type": "string"
|
|
1669
|
-
}
|
|
1670
|
-
],
|
|
1671
|
-
"description": "Payment record index"
|
|
1673
|
+
"type": "integer",
|
|
1674
|
+
"minimum": 0,
|
|
1675
|
+
"maximum": 9007199254740991,
|
|
1676
|
+
"description": "Payment record index (non-negative integer)"
|
|
1672
1677
|
}
|
|
1673
1678
|
},
|
|
1674
1679
|
"required": [
|
|
@@ -1690,7 +1695,7 @@
|
|
|
1690
1695
|
"type": "number"
|
|
1691
1696
|
},
|
|
1692
1697
|
"compensation_fund_receive": {
|
|
1693
|
-
"description": "Receive order compensation funds from this Service object.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received balance.\n Use this for the common case: \"deposit all recently received coins into pending balance.\"\n Example: receive: 'recently'\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a specific balance record from a Payment/payer.\n Use this when targeting a specific received balance (advanced).\n Example: receive: {token_type: '0x2::wow::WOW', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly.",
|
|
1698
|
+
"description": "Receive order compensation funds from this Service object.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received balance.\n Use this for the common case: \"deposit all recently received coins into pending balance.\"\n Example: receive: 'recently'\n REWARD-OBJECT TRAP (F55 gf32-mn-261103): on a REWARD object, 'recently' resolves through\n the Payment-derived ReceivedBalance primitive — a Reward that holds plain CoinWrapper\n sweeps (query_received answers ReceivedNormal[]) aborts with 'received is ReceivedNormal[]\n (expected ReceivedBalance)'. For a plain coin sweep on a Reward use owner_receive:'recently'\n (same call — it unwraps received objects to the Permission owner) instead of receive.\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a specific balance record from a Payment/payer.\n Use this when targeting a specific received balance (advanced).\n Example: receive: {token_type: '0x2::wow::WOW', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly.",
|
|
1694
1699
|
"anyOf": [
|
|
1695
1700
|
{
|
|
1696
1701
|
"type": "object",
|
|
@@ -2030,6 +2035,14 @@
|
|
|
2030
2035
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
2031
2036
|
"type": "boolean"
|
|
2032
2037
|
},
|
|
2038
|
+
"window_profile": {
|
|
2039
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
2040
|
+
"type": "string",
|
|
2041
|
+
"enum": [
|
|
2042
|
+
"production",
|
|
2043
|
+
"test"
|
|
2044
|
+
]
|
|
2045
|
+
},
|
|
2033
2046
|
"response_level": {
|
|
2034
2047
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
2035
2048
|
"type": "string",
|
|
@@ -3012,7 +3025,7 @@
|
|
|
3012
3025
|
]
|
|
3013
3026
|
},
|
|
3014
3027
|
"permissionIndex": {
|
|
3015
|
-
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders). RANGE: use a USER_DEFINED index ≥1000 (0–999 are builtin/reserved) — a USER_DEFINED index works for the Permission's admin immediately without any grant; a builtin index (<1000)
|
|
3028
|
+
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders). RANGE: use a USER_DEFINED index ≥1000 (0–999 are builtin/reserved) — a USER_DEFINED index works for the Permission's admin immediately without any grant; a builtin index (<1000) is ALSO admin-usable immediately (the Permission's owner/admin short-circuits every builtin index check — the chain's admin-passthrough rule) and only NON-ADMIN operators must be granted it first (cour I4: pre-grant the state is 'admin-only', never 'unusable' — a non-admin caller without the grant aborts MoveAbort 7).",
|
|
3016
3029
|
"anyOf": [
|
|
3017
3030
|
{
|
|
3018
3031
|
"type": "number"
|
|
@@ -3203,7 +3216,7 @@
|
|
|
3203
3216
|
]
|
|
3204
3217
|
},
|
|
3205
3218
|
"permissionIndex": {
|
|
3206
|
-
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders). RANGE: use a USER_DEFINED index ≥1000 (0–999 are builtin/reserved) — a USER_DEFINED index works for the Permission's admin immediately without any grant; a builtin index (<1000)
|
|
3219
|
+
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders). RANGE: use a USER_DEFINED index ≥1000 (0–999 are builtin/reserved) — a USER_DEFINED index works for the Permission's admin immediately without any grant; a builtin index (<1000) is ALSO admin-usable immediately (the Permission's owner/admin short-circuits every builtin index check — the chain's admin-passthrough rule) and only NON-ADMIN operators must be granted it first (cour I4: pre-grant the state is 'admin-only', never 'unusable' — a non-admin caller without the grant aborts MoveAbort 7).",
|
|
3207
3220
|
"anyOf": [
|
|
3208
3221
|
{
|
|
3209
3222
|
"type": "number"
|
|
@@ -3490,7 +3503,7 @@
|
|
|
3490
3503
|
]
|
|
3491
3504
|
},
|
|
3492
3505
|
"permissionIndex": {
|
|
3493
|
-
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders). RANGE: use a USER_DEFINED index ≥1000 (0–999 are builtin/reserved) — a USER_DEFINED index works for the Permission's admin immediately without any grant; a builtin index (<1000)
|
|
3506
|
+
"description": "Forward operation permission 2: Permission index (one of the two must be specified); recommended if all Progress object operators are the same (e.g., same reward reviewers for all orders). RANGE: use a USER_DEFINED index ≥1000 (0–999 are builtin/reserved) — a USER_DEFINED index works for the Permission's admin immediately without any grant; a builtin index (<1000) is ALSO admin-usable immediately (the Permission's owner/admin short-circuits every builtin index check — the chain's admin-passthrough rule) and only NON-ADMIN operators must be granted it first (cour I4: pre-grant the state is 'admin-only', never 'unusable' — a non-admin caller without the grant aborts MoveAbort 7).",
|
|
3494
3507
|
"anyOf": [
|
|
3495
3508
|
{
|
|
3496
3509
|
"type": "number"
|
|
@@ -3898,6 +3911,14 @@
|
|
|
3898
3911
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
3899
3912
|
"type": "boolean"
|
|
3900
3913
|
},
|
|
3914
|
+
"window_profile": {
|
|
3915
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
3916
|
+
"type": "string",
|
|
3917
|
+
"enum": [
|
|
3918
|
+
"production",
|
|
3919
|
+
"test"
|
|
3920
|
+
]
|
|
3921
|
+
},
|
|
3901
3922
|
"response_level": {
|
|
3902
3923
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
3903
3924
|
"type": "string",
|
|
@@ -4807,7 +4828,7 @@
|
|
|
4807
4828
|
"like",
|
|
4808
4829
|
"dislike"
|
|
4809
4830
|
],
|
|
4810
|
-
"description": "Buyer rating. Ratings NEVER affect settlement (the settlement anchor is the delivered moment, not this review) — this is reputation only."
|
|
4831
|
+
"description": "Buyer rating. Ratings NEVER affect settlement (the settlement anchor is the delivered moment, not this review) — this is reputation only. F30 (gf32-mn-261103): when the target repository also declares a U64 star policy (the compile-emitted 'rating' policy read by reward-claim guards), the composite AUTO-writes the derived numeric star row too (like→5, dislike→1) in the same pre-forward phase — the documented flow alone satisfies review-incentive guards; no hand-built second data_add is needed."
|
|
4811
4832
|
},
|
|
4812
4833
|
"tags": {
|
|
4813
4834
|
"description": "Optional structured tags for statistics and market exposure (e.g. ['fast_delivery','good_quality']).",
|
|
@@ -4928,6 +4949,14 @@
|
|
|
4928
4949
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
4929
4950
|
"type": "boolean"
|
|
4930
4951
|
},
|
|
4952
|
+
"window_profile": {
|
|
4953
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
4954
|
+
"type": "string",
|
|
4955
|
+
"enum": [
|
|
4956
|
+
"production",
|
|
4957
|
+
"test"
|
|
4958
|
+
]
|
|
4959
|
+
},
|
|
4931
4960
|
"response_level": {
|
|
4932
4961
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
4933
4962
|
"type": "string",
|
|
@@ -6517,6 +6546,14 @@
|
|
|
6517
6546
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
6518
6547
|
"type": "boolean"
|
|
6519
6548
|
},
|
|
6549
|
+
"window_profile": {
|
|
6550
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
6551
|
+
"type": "string",
|
|
6552
|
+
"enum": [
|
|
6553
|
+
"production",
|
|
6554
|
+
"test"
|
|
6555
|
+
]
|
|
6556
|
+
},
|
|
6520
6557
|
"response_level": {
|
|
6521
6558
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
6522
6559
|
"type": "string",
|
|
@@ -7403,7 +7440,7 @@
|
|
|
7403
7440
|
"type": "integer",
|
|
7404
7441
|
"minimum": 0,
|
|
7405
7442
|
"maximum": 9007199254740991,
|
|
7406
|
-
"description": "Awarded compensation in integer smallest units (0 = a denial ruling that pays nothing). Hard-capped at 3x the disputed order amount on chain. Funded from the Service's merchant-prepaid compensation fund — an award larger than the fund balance aborts the later payout until the merchant tops up.
|
|
7443
|
+
"description": "Awarded compensation in integer smallest units (0 = a denial ruling that pays nothing). Hard-capped at 3x the disputed order amount on chain. Funded from the Service's merchant-prepaid compensation fund — an award larger than the fund balance aborts the later payout until the merchant tops up. TWO-RAIL INDEPENDENCE (decision 11): the award rides the arbitration track and does NOT gate, pair, or entitle any order fund rail — never build a 'merchant-recovery rail' on top of an award (that pairing was the historical double-payout root cause). Fund rails are NODE-GATED and must not read order.claimed_by; a node-gated fund rail and the award are independent commercial payouts, and double collection is LEGAL, disclosed at the MCP dual-payout confirmation gate. RULING DIRECTION (F-P6-04): a zero-award dismissal is STORED as indemnity = Some(0), NOT None — a guard leg that reads 'absence' to detect a dismissal is rejected on-chain; express the direction as amount == 0 (dismissal) vs amount > 0 (buyer-favored award), combined with the case being concluded (a live pre-ruling case also has no indemnity yet)."
|
|
7407
7444
|
}
|
|
7408
7445
|
},
|
|
7409
7446
|
"required": [
|
|
@@ -7861,6 +7898,14 @@
|
|
|
7861
7898
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
7862
7899
|
"type": "boolean"
|
|
7863
7900
|
},
|
|
7901
|
+
"window_profile": {
|
|
7902
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
7903
|
+
"type": "string",
|
|
7904
|
+
"enum": [
|
|
7905
|
+
"production",
|
|
7906
|
+
"test"
|
|
7907
|
+
]
|
|
7908
|
+
},
|
|
7864
7909
|
"response_level": {
|
|
7865
7910
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
7866
7911
|
"type": "string",
|
|
@@ -8838,6 +8883,14 @@
|
|
|
8838
8883
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
8839
8884
|
"type": "boolean"
|
|
8840
8885
|
},
|
|
8886
|
+
"window_profile": {
|
|
8887
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
8888
|
+
"type": "string",
|
|
8889
|
+
"enum": [
|
|
8890
|
+
"production",
|
|
8891
|
+
"test"
|
|
8892
|
+
]
|
|
8893
|
+
},
|
|
8841
8894
|
"response_level": {
|
|
8842
8895
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
8843
8896
|
"type": "string",
|
|
@@ -9495,7 +9548,7 @@
|
|
|
9495
9548
|
"description": "Description string (max 4000 bcs characters)"
|
|
9496
9549
|
},
|
|
9497
9550
|
"receive": {
|
|
9498
|
-
"description": "Receive CoinWrapper objects received by this Treasury object and deposit them into its balance.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received balance.\n Use this for the common case: \"deposit all recently received coins into pending balance.\"\n Example: receive: 'recently'\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a specific balance record from a Payment/payer.\n Use this when targeting a specific received balance (advanced).\n Example: receive: {token_type: '0x2::wow::WOW', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly.",
|
|
9551
|
+
"description": "Receive CoinWrapper objects received by this Treasury object and deposit them into its balance.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received balance.\n Use this for the common case: \"deposit all recently received coins into pending balance.\"\n Example: receive: 'recently'\n REWARD-OBJECT TRAP (F55 gf32-mn-261103): on a REWARD object, 'recently' resolves through\n the Payment-derived ReceivedBalance primitive — a Reward that holds plain CoinWrapper\n sweeps (query_received answers ReceivedNormal[]) aborts with 'received is ReceivedNormal[]\n (expected ReceivedBalance)'. For a plain coin sweep on a Reward use owner_receive:'recently'\n (same call — it unwraps received objects to the Permission owner) instead of receive.\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a specific balance record from a Payment/payer.\n Use this when targeting a specific received balance (advanced).\n Example: receive: {token_type: '0x2::wow::WOW', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly.",
|
|
9499
9552
|
"anyOf": [
|
|
9500
9553
|
{
|
|
9501
9554
|
"type": "object",
|
|
@@ -9654,15 +9707,10 @@
|
|
|
9654
9707
|
"description": "Payment record remark"
|
|
9655
9708
|
},
|
|
9656
9709
|
"index": {
|
|
9657
|
-
"
|
|
9658
|
-
|
|
9659
|
-
|
|
9660
|
-
|
|
9661
|
-
{
|
|
9662
|
-
"type": "string"
|
|
9663
|
-
}
|
|
9664
|
-
],
|
|
9665
|
-
"description": "Payment record index"
|
|
9710
|
+
"type": "integer",
|
|
9711
|
+
"minimum": 0,
|
|
9712
|
+
"maximum": 9007199254740991,
|
|
9713
|
+
"description": "Payment record index (non-negative integer)"
|
|
9666
9714
|
}
|
|
9667
9715
|
},
|
|
9668
9716
|
"required": [
|
|
@@ -9801,15 +9849,10 @@
|
|
|
9801
9849
|
"description": "Payment record remark"
|
|
9802
9850
|
},
|
|
9803
9851
|
"index": {
|
|
9804
|
-
"
|
|
9805
|
-
|
|
9806
|
-
|
|
9807
|
-
|
|
9808
|
-
{
|
|
9809
|
-
"type": "string"
|
|
9810
|
-
}
|
|
9811
|
-
],
|
|
9812
|
-
"description": "Payment record index"
|
|
9852
|
+
"type": "integer",
|
|
9853
|
+
"minimum": 0,
|
|
9854
|
+
"maximum": 9007199254740991,
|
|
9855
|
+
"description": "Payment record index (non-negative integer)"
|
|
9813
9856
|
}
|
|
9814
9857
|
},
|
|
9815
9858
|
"required": [
|
|
@@ -10364,6 +10407,14 @@
|
|
|
10364
10407
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
10365
10408
|
"type": "boolean"
|
|
10366
10409
|
},
|
|
10410
|
+
"window_profile": {
|
|
10411
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
10412
|
+
"type": "string",
|
|
10413
|
+
"enum": [
|
|
10414
|
+
"production",
|
|
10415
|
+
"test"
|
|
10416
|
+
]
|
|
10417
|
+
},
|
|
10367
10418
|
"response_level": {
|
|
10368
10419
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
10369
10420
|
"type": "string",
|
|
@@ -11064,7 +11115,7 @@
|
|
|
11064
11115
|
]
|
|
11065
11116
|
},
|
|
11066
11117
|
"receive": {
|
|
11067
|
-
"description": "Unwrap CoinWrapper objects received by Reward object and store them in pending balance.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received balance.\n Use this for the common case: \"deposit all recently received coins into pending balance.\"\n Example: receive: 'recently'\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a specific balance record from a Payment/payer.\n Use this when targeting a specific received balance (advanced).\n Example: receive: {token_type: '0x2::wow::WOW', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly.",
|
|
11118
|
+
"description": "Unwrap CoinWrapper objects received by Reward object and store them in pending balance.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received balance.\n Use this for the common case: \"deposit all recently received coins into pending balance.\"\n Example: receive: 'recently'\n REWARD-OBJECT TRAP (F55 gf32-mn-261103): on a REWARD object, 'recently' resolves through\n the Payment-derived ReceivedBalance primitive — a Reward that holds plain CoinWrapper\n sweeps (query_received answers ReceivedNormal[]) aborts with 'received is ReceivedNormal[]\n (expected ReceivedBalance)'. For a plain coin sweep on a Reward use owner_receive:'recently'\n (same call — it unwraps received objects to the Permission owner) instead of receive.\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a specific balance record from a Payment/payer.\n Use this when targeting a specific received balance (advanced).\n Example: receive: {token_type: '0x2::wow::WOW', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly. F55 (gf32-mn-261103): on a REWARD object holding a plain coin sweep, 'recently' aborts ('received is ReceivedNormal[] (expected ReceivedBalance)') — use owner_receive:'recently' for that shape; receive targets Payment-derived ReceivedBalance entries only.",
|
|
11068
11119
|
"anyOf": [
|
|
11069
11120
|
{
|
|
11070
11121
|
"type": "object",
|
|
@@ -11295,7 +11346,7 @@
|
|
|
11295
11346
|
]
|
|
11296
11347
|
},
|
|
11297
11348
|
"evidence": {
|
|
11298
|
-
"description": "ksk9d2-tn-261026 F-01 claim-time attestation pin
|
|
11349
|
+
"description": "ksk9d2-tn-261026 F-01 claim-time attestation pin. REQUIRES store_from_id on the SAME guard — the binding reads THE pinned store_from row, so the chain aborts 16 (E_EVIDENCE_NEEDS_STORE_FROM) at build time without it. At claim the chain counts repository rows under (repo, key) matching the predicate for the claim's OWN store_from value (the submitted order) via the native row-match count and aborts 15 (E_EVIDENCE_NOT_OWNED) when none — a borrowed foreign row can never pay.",
|
|
11299
11350
|
"type": "object",
|
|
11300
11351
|
"properties": {
|
|
11301
11352
|
"repo": {
|
|
@@ -11537,15 +11588,10 @@
|
|
|
11537
11588
|
"description": "Payment record remark"
|
|
11538
11589
|
},
|
|
11539
11590
|
"index": {
|
|
11540
|
-
"
|
|
11541
|
-
|
|
11542
|
-
|
|
11543
|
-
|
|
11544
|
-
{
|
|
11545
|
-
"type": "string"
|
|
11546
|
-
}
|
|
11547
|
-
],
|
|
11548
|
-
"description": "Payment record index"
|
|
11591
|
+
"type": "integer",
|
|
11592
|
+
"minimum": 0,
|
|
11593
|
+
"maximum": 9007199254740991,
|
|
11594
|
+
"description": "Payment record index (non-negative integer)"
|
|
11549
11595
|
}
|
|
11550
11596
|
},
|
|
11551
11597
|
"required": [
|
|
@@ -11644,6 +11690,14 @@
|
|
|
11644
11690
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
11645
11691
|
"type": "boolean"
|
|
11646
11692
|
},
|
|
11693
|
+
"window_profile": {
|
|
11694
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
11695
|
+
"type": "string",
|
|
11696
|
+
"enum": [
|
|
11697
|
+
"production",
|
|
11698
|
+
"test"
|
|
11699
|
+
]
|
|
11700
|
+
},
|
|
11647
11701
|
"response_level": {
|
|
11648
11702
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
11649
11703
|
"type": "string",
|
|
@@ -12507,15 +12561,10 @@
|
|
|
12507
12561
|
"description": "Payment record remark"
|
|
12508
12562
|
},
|
|
12509
12563
|
"index": {
|
|
12510
|
-
"
|
|
12511
|
-
|
|
12512
|
-
|
|
12513
|
-
|
|
12514
|
-
{
|
|
12515
|
-
"type": "string"
|
|
12516
|
-
}
|
|
12517
|
-
],
|
|
12518
|
-
"description": "Payment record index"
|
|
12564
|
+
"type": "integer",
|
|
12565
|
+
"minimum": 0,
|
|
12566
|
+
"maximum": 9007199254740991,
|
|
12567
|
+
"description": "Payment record index (non-negative integer)"
|
|
12519
12568
|
}
|
|
12520
12569
|
},
|
|
12521
12570
|
"required": [
|
|
@@ -12547,7 +12596,7 @@
|
|
|
12547
12596
|
"description": "REQUIRED for operating existing object. Provide the Allocation object ID or existing name to reference the target object."
|
|
12548
12597
|
},
|
|
12549
12598
|
"received_coins": {
|
|
12550
|
-
"description": "Unwrap the CoinWrapper objects received by the Allocation object and deposit them into the pending allocation balance.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received balance.\n Use this for the common case: \"deposit all recently received coins into pending balance.\"\n Example: receive: 'recently'\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a specific balance record from a Payment/payer.\n Use this when targeting a specific received balance (advanced).\n Example: receive: {token_type: '0x2::wow::WOW', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly.",
|
|
12599
|
+
"description": "Unwrap the CoinWrapper objects received by the Allocation object and deposit them into the pending allocation balance.\n\nACCEPTED FORMATS (F-06 unified receive operation block):\n• 'recently' (string literal) — auto-query and receive ALL recently received balance.\n Use this for the common case: \"deposit all recently received coins into pending balance.\"\n Example: receive: 'recently'\n REWARD-OBJECT TRAP (F55 gf32-mn-261103): on a REWARD object, 'recently' resolves through\n the Payment-derived ReceivedBalance primitive — a Reward that holds plain CoinWrapper\n sweeps (query_received answers ReceivedNormal[]) aborts with 'received is ReceivedNormal[]\n (expected ReceivedBalance)'. For a plain coin sweep on a Reward use owner_receive:'recently'\n (same call — it unwraps received objects to the Permission owner) instead of receive.\n• ReceivedBalance ({token_type, balance, received: [{id, balance, payment}]}) —\n receive a specific balance record from a Payment/payer.\n Use this when targeting a specific received balance (advanced).\n Example: receive: {token_type: '0x2::wow::WOW', balance: 1000000, received: [{id: '0xrec1', balance: 1000000, payment: '0xpay1'}]}\nANTI-PATTERN: do NOT wrap in {result: ...} — pass the value directly.",
|
|
12551
12600
|
"anyOf": [
|
|
12552
12601
|
{
|
|
12553
12602
|
"type": "object",
|
|
@@ -12634,7 +12683,7 @@
|
|
|
12634
12683
|
"type": "string"
|
|
12635
12684
|
},
|
|
12636
12685
|
"alloc_batch": {
|
|
12637
|
-
"description": "Q8-F01 AGGREGATE RELEASE — sweep SEVERAL pools in ONE transaction (
|
|
12686
|
+
"description": "Q8-F01 AGGREGATE RELEASE — sweep SEVERAL pools in ONE transaction (a single on-chain batch release). Provide the COMPLETE pool list INCLUDING 'object': the anchor Allocation addressed by this operation must appear in the list, and the SDK refuses a list that omits it. REQUIRES alloc_by_guard — that one Guard defines the release and is applied to every pool. WHY THIS EXISTS: a crowdfunding settlement holds each backer's escrow in its own Allocation under the SAME release/refund Guard; with single-pool calls a keeper needs N ordered transactions, and any keeper that stops at the first failure strands the remaining pools while the release reports done. ALL-OR-NOTHING: one pool aborting reverts the whole batch. PRE-FILTER drained pools before building the call — a zero-balance pool aborts the ENTIRE batch with EZERO_DISTRIBUTION (14) and nothing is released; an empty candidate set means there is genuinely nothing to release (an empty list is refused with EEMPTY_POOL_BATCH 26 instead of a fake success). EVERY pool must carry an allocator BOUND to alloc_by_guard: an unbound pool completes the sweep having distributed NOTHING, so the SDK verifies membership pool-by-pool and REFUSES the call before any gas is spent. Each recipient still receives a CoinWrapper and claims it through the normal POST-DISTRIBUTION CLAIM step — batching changes the release atomicity, not the claim path.",
|
|
12638
12687
|
"minItems": 1,
|
|
12639
12688
|
"type": "array",
|
|
12640
12689
|
"items": {
|
|
@@ -12682,9 +12731,13 @@
|
|
|
12682
12731
|
{
|
|
12683
12732
|
"type": "number",
|
|
12684
12733
|
"const": 1
|
|
12734
|
+
},
|
|
12735
|
+
{
|
|
12736
|
+
"type": "number",
|
|
12737
|
+
"const": 2
|
|
12685
12738
|
}
|
|
12686
12739
|
],
|
|
12687
|
-
"description": "Which aggregate produces the scalar: 0 = RECORD COUNT (u64 — how many candidate rows match the predicate), 1 = VALUE SUM (u256 — sum of the matching rows' numeric payloads, overflow-safe). Any other value is refused on-chain (EFORMULA_SPEC_INVALID=24)."
|
|
12740
|
+
"description": "Which aggregate produces the scalar: 0 = RECORD COUNT (u64 — how many candidate rows match the predicate), 1 = VALUE SUM (u256 — sum of the matching rows' numeric payloads, overflow-safe), 2 = ESCROW-BOUND VALUE SUM (u256 — like 1, but every row is first clamped to the escrow it points to: min(row_value, Order.amount of the Order that row's id names); a row whose id is not a real framework Order contributes 0, fail-closed). PREFER 2 whenever anyone other than the payer can write the candidate rows: an unbound SUM (1) lets a writer inflate the scalar simply by writing a large row, while 2 caps each row at the real order amount behind it (ksc-tn-261024 F-01 root cure). Any other value is refused on-chain (EFORMULA_SPEC_INVALID=24)."
|
|
12688
12741
|
},
|
|
12689
12742
|
"predicate": {
|
|
12690
12743
|
"oneOf": [
|
|
@@ -12908,7 +12961,7 @@
|
|
|
12908
12961
|
"items": {
|
|
12909
12962
|
"type": "string"
|
|
12910
12963
|
},
|
|
12911
|
-
"description": "EXPLICIT candidate object IDs (vector<address>) to scan. Duplicates are deduped; max 100 candidates; an EMPTY list matches no records (scalar 0) — there is no 'all objects' wildcard. S12-③ witness boundary (
|
|
12964
|
+
"description": "EXPLICIT candidate object IDs (vector<address>) to scan. Duplicates are deduped; max 100 candidates; an EMPTY list matches no records (scalar 0) — there is no 'all objects' wildcard. S12-③ witness boundary (v140): the 100-cap applies to THIS guard-table vector; the guard's inline WITNESS is separately capped at 4096 BCS bytes total (passport MAX_SUBMISSION_SIZE — a 100-address roster fits), so keep roster-style attestation here in the vector and reserve the witness for per-call attestation."
|
|
12912
12965
|
}
|
|
12913
12966
|
},
|
|
12914
12967
|
"required": [
|
|
@@ -13010,6 +13063,14 @@
|
|
|
13010
13063
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
13011
13064
|
"type": "boolean"
|
|
13012
13065
|
},
|
|
13066
|
+
"window_profile": {
|
|
13067
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
13068
|
+
"type": "string",
|
|
13069
|
+
"enum": [
|
|
13070
|
+
"production",
|
|
13071
|
+
"test"
|
|
13072
|
+
]
|
|
13073
|
+
},
|
|
13013
13074
|
"response_level": {
|
|
13014
13075
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
13015
13076
|
"type": "string",
|
|
@@ -14562,6 +14623,14 @@
|
|
|
14562
14623
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
14563
14624
|
"type": "boolean"
|
|
14564
14625
|
},
|
|
14626
|
+
"window_profile": {
|
|
14627
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
14628
|
+
"type": "string",
|
|
14629
|
+
"enum": [
|
|
14630
|
+
"production",
|
|
14631
|
+
"test"
|
|
14632
|
+
]
|
|
14633
|
+
},
|
|
14565
14634
|
"response_level": {
|
|
14566
14635
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
14567
14636
|
"type": "string",
|
|
@@ -17956,14 +18025,14 @@
|
|
|
17956
18025
|
"where"
|
|
17957
18026
|
],
|
|
17958
18027
|
"additionalProperties": false,
|
|
17959
|
-
"description": "Returns U256. ESCROW-BOUND sum (query 1179, live cap
|
|
18028
|
+
"description": "Returns U256. ESCROW-BOUND sum (query 1179, live cap v140): per-row min(row_value, order.amount, LIVE allocation.balance of the Order the row id names) — only funds still in escrow right now count, so a refunded or already-disbursed order contributes 0 naturally; a row whose Order has no allocation link also contributes 0, while an unreadable allocation object aborts the query (corruption is never a silent 0). A row keyed by anything that is not an Order contributes 0 (fail-closed). Unlike query_repository_data_sum_where (self-reported row values), a record cannot claim more than the escrow actually bound to it — the forgery-proof aggregate for threshold gates and Formula pricing. Use logic_as_u256_* to compare the sum."
|
|
17960
18029
|
},
|
|
17961
18030
|
{
|
|
17962
18031
|
"type": "object",
|
|
17963
18032
|
"properties": {
|
|
17964
18033
|
"type": {
|
|
17965
18034
|
"type": "string",
|
|
17966
|
-
"const": "
|
|
18035
|
+
"const": "query_repository_data_sum_where_bound_all"
|
|
17967
18036
|
},
|
|
17968
18037
|
"object": {
|
|
17969
18038
|
"type": "object",
|
|
@@ -17997,22 +18066,6 @@
|
|
|
17997
18066
|
"additionalProperties": false,
|
|
17998
18067
|
"description": "Reference to the policy key (String type table entry) whose data table is scanned."
|
|
17999
18068
|
},
|
|
18000
|
-
"ids": {
|
|
18001
|
-
"type": "object",
|
|
18002
|
-
"properties": {
|
|
18003
|
-
"identifier": {
|
|
18004
|
-
"type": "integer",
|
|
18005
|
-
"minimum": 0,
|
|
18006
|
-
"maximum": 255,
|
|
18007
|
-
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
18008
|
-
}
|
|
18009
|
-
},
|
|
18010
|
-
"required": [
|
|
18011
|
-
"identifier"
|
|
18012
|
-
],
|
|
18013
|
-
"additionalProperties": false,
|
|
18014
|
-
"description": "Reference to the candidate ID list (VecAddress type table entry). Duplicates are deduped; max 100 candidates."
|
|
18015
|
-
},
|
|
18016
18069
|
"where": {
|
|
18017
18070
|
"oneOf": [
|
|
18018
18071
|
{
|
|
@@ -18228,25 +18281,24 @@
|
|
|
18228
18281
|
"additionalProperties": false
|
|
18229
18282
|
}
|
|
18230
18283
|
],
|
|
18231
|
-
"description": "Predicate filter applied to each
|
|
18284
|
+
"description": "Predicate filter applied to each row's data value."
|
|
18232
18285
|
}
|
|
18233
18286
|
},
|
|
18234
18287
|
"required": [
|
|
18235
18288
|
"type",
|
|
18236
18289
|
"object",
|
|
18237
18290
|
"key",
|
|
18238
|
-
"ids",
|
|
18239
18291
|
"where"
|
|
18240
18292
|
],
|
|
18241
18293
|
"additionalProperties": false,
|
|
18242
|
-
"description": "Returns
|
|
18294
|
+
"description": "Returns U256. ALL-MODE escrow-bound sum (query 1181, flag enable_repository_data_sum_bound_all, protocol v141 — the query ABORTS while the flag is off): the 1179 per-row clamp min(row_value, order.amount, LIVE allocation.balance) over a DERIVED candidate set — the per-key RowRosterKey dynamic-field roster the framework maintains on every data write — instead of a caller-supplied ids list, so the aggregate no longer depends on the caller submitting an honest, complete candidate list (the ks13/HKS-04 ROSTER-01 face). No ids parameter. The roster is bounded by REPOSITORY_QUERY_MAX_CANDIDATES: a key with more rows aborts the query (fail-closed, never a silent truncation). Pre-flag rows (written before the roster was maintained, or under a disabled flag on an older binary) are NOT in the roster and contribute 0 — rebuild or re-touch rows after enabling. Use logic_as_u256_* to compare the sum."
|
|
18243
18295
|
},
|
|
18244
18296
|
{
|
|
18245
18297
|
"type": "object",
|
|
18246
18298
|
"properties": {
|
|
18247
18299
|
"type": {
|
|
18248
18300
|
"type": "string",
|
|
18249
|
-
"const": "
|
|
18301
|
+
"const": "query_repository_data_find_where"
|
|
18250
18302
|
},
|
|
18251
18303
|
"object": {
|
|
18252
18304
|
"type": "object",
|
|
@@ -18264,7 +18316,7 @@
|
|
|
18264
18316
|
"additionalProperties": false,
|
|
18265
18317
|
"description": "Reference to the Repository object in the Guard table (must be Address type)."
|
|
18266
18318
|
},
|
|
18267
|
-
"
|
|
18319
|
+
"key": {
|
|
18268
18320
|
"type": "object",
|
|
18269
18321
|
"properties": {
|
|
18270
18322
|
"identifier": {
|
|
@@ -18278,7 +18330,23 @@
|
|
|
18278
18330
|
"identifier"
|
|
18279
18331
|
],
|
|
18280
18332
|
"additionalProperties": false,
|
|
18281
|
-
"description": "Reference to the
|
|
18333
|
+
"description": "Reference to the policy key (String type table entry) whose data table is scanned."
|
|
18334
|
+
},
|
|
18335
|
+
"ids": {
|
|
18336
|
+
"type": "object",
|
|
18337
|
+
"properties": {
|
|
18338
|
+
"identifier": {
|
|
18339
|
+
"type": "integer",
|
|
18340
|
+
"minimum": 0,
|
|
18341
|
+
"maximum": 255,
|
|
18342
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
18343
|
+
}
|
|
18344
|
+
},
|
|
18345
|
+
"required": [
|
|
18346
|
+
"identifier"
|
|
18347
|
+
],
|
|
18348
|
+
"additionalProperties": false,
|
|
18349
|
+
"description": "Reference to the candidate ID list (VecAddress type table entry). Duplicates are deduped; max 100 candidates."
|
|
18282
18350
|
},
|
|
18283
18351
|
"where": {
|
|
18284
18352
|
"oneOf": [
|
|
@@ -18495,86 +18563,25 @@
|
|
|
18495
18563
|
"additionalProperties": false
|
|
18496
18564
|
}
|
|
18497
18565
|
],
|
|
18498
|
-
"description": "Predicate filter applied to
|
|
18566
|
+
"description": "Predicate filter applied to each candidate's data value."
|
|
18499
18567
|
}
|
|
18500
18568
|
},
|
|
18501
18569
|
"required": [
|
|
18502
18570
|
"type",
|
|
18503
18571
|
"object",
|
|
18504
|
-
"
|
|
18572
|
+
"key",
|
|
18573
|
+
"ids",
|
|
18505
18574
|
"where"
|
|
18506
18575
|
],
|
|
18507
18576
|
"additionalProperties": false,
|
|
18508
|
-
"description": "Returns
|
|
18509
|
-
},
|
|
18510
|
-
{
|
|
18511
|
-
"type": "object",
|
|
18512
|
-
"properties": {
|
|
18513
|
-
"type": {
|
|
18514
|
-
"type": "string",
|
|
18515
|
-
"const": "query_repository_policies_keys"
|
|
18516
|
-
},
|
|
18517
|
-
"object": {
|
|
18518
|
-
"type": "object",
|
|
18519
|
-
"properties": {
|
|
18520
|
-
"identifier": {
|
|
18521
|
-
"type": "integer",
|
|
18522
|
-
"minimum": 0,
|
|
18523
|
-
"maximum": 255,
|
|
18524
|
-
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
18525
|
-
}
|
|
18526
|
-
},
|
|
18527
|
-
"required": [
|
|
18528
|
-
"identifier"
|
|
18529
|
-
],
|
|
18530
|
-
"additionalProperties": false,
|
|
18531
|
-
"description": "Reference to the Repository object in the Guard table (must be Address type)."
|
|
18532
|
-
}
|
|
18533
|
-
},
|
|
18534
|
-
"required": [
|
|
18535
|
-
"type",
|
|
18536
|
-
"object"
|
|
18537
|
-
],
|
|
18538
|
-
"additionalProperties": false,
|
|
18539
|
-
"description": "Returns VecString. Lists ALL policy key names of the Repository (max 50). Use vec_length to bound per-key composite queries or vec_contains_string to assert a key exists."
|
|
18540
|
-
},
|
|
18541
|
-
{
|
|
18542
|
-
"type": "object",
|
|
18543
|
-
"properties": {
|
|
18544
|
-
"type": {
|
|
18545
|
-
"type": "string",
|
|
18546
|
-
"const": "query_order_named_operator_member"
|
|
18547
|
-
},
|
|
18548
|
-
"object": {
|
|
18549
|
-
"type": "object",
|
|
18550
|
-
"properties": {
|
|
18551
|
-
"identifier": {
|
|
18552
|
-
"type": "integer",
|
|
18553
|
-
"minimum": 0,
|
|
18554
|
-
"maximum": 255,
|
|
18555
|
-
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
18556
|
-
}
|
|
18557
|
-
},
|
|
18558
|
-
"required": [
|
|
18559
|
-
"identifier"
|
|
18560
|
-
],
|
|
18561
|
-
"additionalProperties": false,
|
|
18562
|
-
"description": "Reference to the Order object in the Guard table (must be Address type)."
|
|
18563
|
-
}
|
|
18564
|
-
},
|
|
18565
|
-
"required": [
|
|
18566
|
-
"type",
|
|
18567
|
-
"object"
|
|
18568
|
-
],
|
|
18569
|
-
"additionalProperties": false,
|
|
18570
|
-
"description": "Returns Bool. Whether the transaction signer is on the order's named-operator roster (DM-P1 rider-roster exclusive admission): reads the namedOperator roster of the order's Progress and checks tx-signer membership. Parameterless — the signer comes from the transaction context. Gated by protocol v138 (feature flag enable_order_named_operator_member); on a chain without the flag the guard evaluation aborts. Typical use: AND it into the forward-edge guard on courier handover edges (e.g. PickupOrder/DeliverOrder) so only roster members can advance — the on-chain namedOperator rail alone only AUTHORIZES, it never DENIES (R-19)."
|
|
18577
|
+
"description": "Returns VecAddress. Lists the IDs of ALL matching candidates in candidate order. Compose: vec_length + logic_as_u256_greater_than_or_equal (existence/threshold), vec_indexof_address (first/last position), vec_contains_address (membership)."
|
|
18571
18578
|
},
|
|
18572
18579
|
{
|
|
18573
18580
|
"type": "object",
|
|
18574
18581
|
"properties": {
|
|
18575
18582
|
"type": {
|
|
18576
18583
|
"type": "string",
|
|
18577
|
-
"const": "
|
|
18584
|
+
"const": "query_repository_data_keys_where"
|
|
18578
18585
|
},
|
|
18579
18586
|
"object": {
|
|
18580
18587
|
"type": "object",
|
|
@@ -18606,45 +18613,373 @@
|
|
|
18606
18613
|
"identifier"
|
|
18607
18614
|
],
|
|
18608
18615
|
"additionalProperties": false,
|
|
18609
|
-
"description": "Reference to the
|
|
18610
|
-
},
|
|
18611
|
-
"key": {
|
|
18612
|
-
"type": "string",
|
|
18613
|
-
"minLength": 1,
|
|
18614
|
-
"description": "Row name — the policy key string of the data row to probe."
|
|
18615
|
-
}
|
|
18616
|
-
},
|
|
18617
|
-
"required": [
|
|
18618
|
-
"type",
|
|
18619
|
-
"object",
|
|
18620
|
-
"id",
|
|
18621
|
-
"key"
|
|
18622
|
-
],
|
|
18623
|
-
"additionalProperties": false,
|
|
18624
|
-
"description": "Returns Bool. Whether the Repository holds a data row for (key, id) — single-row exact read by (key, id), the primitive for per-value mutual-consent attestation (e.g. a settlement keeper asserting the buyer acceptance row exists before executing a refund allocator). NOT protocol-gated (legacy query, works on every chain version)."
|
|
18625
|
-
},
|
|
18626
|
-
{
|
|
18627
|
-
"type": "object",
|
|
18628
|
-
"properties": {
|
|
18629
|
-
"type": {
|
|
18630
|
-
"type": "string",
|
|
18631
|
-
"const": "query_repository_data"
|
|
18616
|
+
"description": "Reference to the single candidate ID (Address type table entry) to probe across policies."
|
|
18632
18617
|
},
|
|
18633
|
-
"
|
|
18634
|
-
"
|
|
18635
|
-
|
|
18636
|
-
|
|
18637
|
-
"
|
|
18638
|
-
|
|
18639
|
-
|
|
18640
|
-
|
|
18641
|
-
|
|
18642
|
-
|
|
18643
|
-
|
|
18644
|
-
|
|
18645
|
-
|
|
18646
|
-
|
|
18647
|
-
|
|
18618
|
+
"where": {
|
|
18619
|
+
"oneOf": [
|
|
18620
|
+
{
|
|
18621
|
+
"type": "object",
|
|
18622
|
+
"properties": {
|
|
18623
|
+
"kind": {
|
|
18624
|
+
"type": "string",
|
|
18625
|
+
"const": "range"
|
|
18626
|
+
},
|
|
18627
|
+
"valueMin": {
|
|
18628
|
+
"description": "Optional lower bound (inclusive unless minInclusive=false). Plain number string (U256 semantics).",
|
|
18629
|
+
"type": "string"
|
|
18630
|
+
},
|
|
18631
|
+
"valueMax": {
|
|
18632
|
+
"description": "Optional upper bound (inclusive unless maxInclusive=false). Plain number string (U256 semantics).",
|
|
18633
|
+
"type": "string"
|
|
18634
|
+
},
|
|
18635
|
+
"minInclusive": {
|
|
18636
|
+
"description": "Default true. false makes the lower bound exclusive.",
|
|
18637
|
+
"type": "boolean"
|
|
18638
|
+
},
|
|
18639
|
+
"maxInclusive": {
|
|
18640
|
+
"description": "Default true. false makes the upper bound exclusive.",
|
|
18641
|
+
"type": "boolean"
|
|
18642
|
+
}
|
|
18643
|
+
},
|
|
18644
|
+
"required": [
|
|
18645
|
+
"kind"
|
|
18646
|
+
],
|
|
18647
|
+
"additionalProperties": false,
|
|
18648
|
+
"description": "Numeric closed/open range. min=max inclusive is an equality match. At least one bound required."
|
|
18649
|
+
},
|
|
18650
|
+
{
|
|
18651
|
+
"type": "object",
|
|
18652
|
+
"properties": {
|
|
18653
|
+
"kind": {
|
|
18654
|
+
"type": "string",
|
|
18655
|
+
"const": "numEq"
|
|
18656
|
+
},
|
|
18657
|
+
"value": {
|
|
18658
|
+
"type": "string",
|
|
18659
|
+
"description": "Exact numeric match. Plain number string (U256 semantics)."
|
|
18660
|
+
}
|
|
18661
|
+
},
|
|
18662
|
+
"required": [
|
|
18663
|
+
"kind",
|
|
18664
|
+
"value"
|
|
18665
|
+
],
|
|
18666
|
+
"additionalProperties": false
|
|
18667
|
+
},
|
|
18668
|
+
{
|
|
18669
|
+
"type": "object",
|
|
18670
|
+
"properties": {
|
|
18671
|
+
"kind": {
|
|
18672
|
+
"type": "string",
|
|
18673
|
+
"const": "gt"
|
|
18674
|
+
},
|
|
18675
|
+
"value": {
|
|
18676
|
+
"type": "string",
|
|
18677
|
+
"description": "Greater than. Plain number string (U256 semantics)."
|
|
18678
|
+
}
|
|
18679
|
+
},
|
|
18680
|
+
"required": [
|
|
18681
|
+
"kind",
|
|
18682
|
+
"value"
|
|
18683
|
+
],
|
|
18684
|
+
"additionalProperties": false
|
|
18685
|
+
},
|
|
18686
|
+
{
|
|
18687
|
+
"type": "object",
|
|
18688
|
+
"properties": {
|
|
18689
|
+
"kind": {
|
|
18690
|
+
"type": "string",
|
|
18691
|
+
"const": "gte"
|
|
18692
|
+
},
|
|
18693
|
+
"value": {
|
|
18694
|
+
"type": "string",
|
|
18695
|
+
"description": "Greater than or equal. Plain number string (U256 semantics)."
|
|
18696
|
+
}
|
|
18697
|
+
},
|
|
18698
|
+
"required": [
|
|
18699
|
+
"kind",
|
|
18700
|
+
"value"
|
|
18701
|
+
],
|
|
18702
|
+
"additionalProperties": false
|
|
18703
|
+
},
|
|
18704
|
+
{
|
|
18705
|
+
"type": "object",
|
|
18706
|
+
"properties": {
|
|
18707
|
+
"kind": {
|
|
18708
|
+
"type": "string",
|
|
18709
|
+
"const": "lt"
|
|
18710
|
+
},
|
|
18711
|
+
"value": {
|
|
18712
|
+
"type": "string",
|
|
18713
|
+
"description": "Less than. Plain number string (U256 semantics)."
|
|
18714
|
+
}
|
|
18715
|
+
},
|
|
18716
|
+
"required": [
|
|
18717
|
+
"kind",
|
|
18718
|
+
"value"
|
|
18719
|
+
],
|
|
18720
|
+
"additionalProperties": false
|
|
18721
|
+
},
|
|
18722
|
+
{
|
|
18723
|
+
"type": "object",
|
|
18724
|
+
"properties": {
|
|
18725
|
+
"kind": {
|
|
18726
|
+
"type": "string",
|
|
18727
|
+
"const": "lte"
|
|
18728
|
+
},
|
|
18729
|
+
"value": {
|
|
18730
|
+
"type": "string",
|
|
18731
|
+
"description": "Less than or equal. Plain number string (U256 semantics)."
|
|
18732
|
+
}
|
|
18733
|
+
},
|
|
18734
|
+
"required": [
|
|
18735
|
+
"kind",
|
|
18736
|
+
"value"
|
|
18737
|
+
],
|
|
18738
|
+
"additionalProperties": false
|
|
18739
|
+
},
|
|
18740
|
+
{
|
|
18741
|
+
"type": "object",
|
|
18742
|
+
"properties": {
|
|
18743
|
+
"kind": {
|
|
18744
|
+
"type": "string",
|
|
18745
|
+
"const": "addressEq"
|
|
18746
|
+
},
|
|
18747
|
+
"identifier": {
|
|
18748
|
+
"type": "integer",
|
|
18749
|
+
"minimum": 0,
|
|
18750
|
+
"maximum": 255,
|
|
18751
|
+
"description": "Identifier of the Address-type table entry to compare against."
|
|
18752
|
+
}
|
|
18753
|
+
},
|
|
18754
|
+
"required": [
|
|
18755
|
+
"kind",
|
|
18756
|
+
"identifier"
|
|
18757
|
+
],
|
|
18758
|
+
"additionalProperties": false
|
|
18759
|
+
},
|
|
18760
|
+
{
|
|
18761
|
+
"type": "object",
|
|
18762
|
+
"properties": {
|
|
18763
|
+
"kind": {
|
|
18764
|
+
"type": "string",
|
|
18765
|
+
"const": "stringEq"
|
|
18766
|
+
},
|
|
18767
|
+
"value": {
|
|
18768
|
+
"type": "string",
|
|
18769
|
+
"description": "Exact string match (byte equality, UTF-8)."
|
|
18770
|
+
}
|
|
18771
|
+
},
|
|
18772
|
+
"required": [
|
|
18773
|
+
"kind",
|
|
18774
|
+
"value"
|
|
18775
|
+
],
|
|
18776
|
+
"additionalProperties": false
|
|
18777
|
+
},
|
|
18778
|
+
{
|
|
18779
|
+
"type": "object",
|
|
18780
|
+
"properties": {
|
|
18781
|
+
"kind": {
|
|
18782
|
+
"type": "string",
|
|
18783
|
+
"const": "stringContains"
|
|
18784
|
+
},
|
|
18785
|
+
"value": {
|
|
18786
|
+
"type": "string",
|
|
18787
|
+
"description": "Substring match, case-sensitive."
|
|
18788
|
+
}
|
|
18789
|
+
},
|
|
18790
|
+
"required": [
|
|
18791
|
+
"kind",
|
|
18792
|
+
"value"
|
|
18793
|
+
],
|
|
18794
|
+
"additionalProperties": false
|
|
18795
|
+
},
|
|
18796
|
+
{
|
|
18797
|
+
"type": "object",
|
|
18798
|
+
"properties": {
|
|
18799
|
+
"kind": {
|
|
18800
|
+
"type": "string",
|
|
18801
|
+
"const": "stringNoCaseContains"
|
|
18802
|
+
},
|
|
18803
|
+
"value": {
|
|
18804
|
+
"type": "string",
|
|
18805
|
+
"description": "Substring match, case-insensitive."
|
|
18806
|
+
}
|
|
18807
|
+
},
|
|
18808
|
+
"required": [
|
|
18809
|
+
"kind",
|
|
18810
|
+
"value"
|
|
18811
|
+
],
|
|
18812
|
+
"additionalProperties": false
|
|
18813
|
+
},
|
|
18814
|
+
{
|
|
18815
|
+
"type": "object",
|
|
18816
|
+
"properties": {
|
|
18817
|
+
"kind": {
|
|
18818
|
+
"type": "string",
|
|
18819
|
+
"const": "boolEq"
|
|
18820
|
+
},
|
|
18821
|
+
"value": {
|
|
18822
|
+
"type": "boolean",
|
|
18823
|
+
"description": "Boolean equality."
|
|
18824
|
+
}
|
|
18825
|
+
},
|
|
18826
|
+
"required": [
|
|
18827
|
+
"kind",
|
|
18828
|
+
"value"
|
|
18829
|
+
],
|
|
18830
|
+
"additionalProperties": false
|
|
18831
|
+
}
|
|
18832
|
+
],
|
|
18833
|
+
"description": "Predicate filter applied to the value stored under each policy key for this ID."
|
|
18834
|
+
}
|
|
18835
|
+
},
|
|
18836
|
+
"required": [
|
|
18837
|
+
"type",
|
|
18838
|
+
"object",
|
|
18839
|
+
"id",
|
|
18840
|
+
"where"
|
|
18841
|
+
],
|
|
18842
|
+
"additionalProperties": false,
|
|
18843
|
+
"description": "Returns VecString. Reverse lookup: all policy keys whose stored value for the given ID matches the predicate (scans the policy schema and probes each key). Compose: vec_length (how many keys match), vec_indexof_string + logic_as_u256_equal (does a specific key match), vec_contains_string (specific key membership)."
|
|
18844
|
+
},
|
|
18845
|
+
{
|
|
18846
|
+
"type": "object",
|
|
18847
|
+
"properties": {
|
|
18848
|
+
"type": {
|
|
18849
|
+
"type": "string",
|
|
18850
|
+
"const": "query_repository_policies_keys"
|
|
18851
|
+
},
|
|
18852
|
+
"object": {
|
|
18853
|
+
"type": "object",
|
|
18854
|
+
"properties": {
|
|
18855
|
+
"identifier": {
|
|
18856
|
+
"type": "integer",
|
|
18857
|
+
"minimum": 0,
|
|
18858
|
+
"maximum": 255,
|
|
18859
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
18860
|
+
}
|
|
18861
|
+
},
|
|
18862
|
+
"required": [
|
|
18863
|
+
"identifier"
|
|
18864
|
+
],
|
|
18865
|
+
"additionalProperties": false,
|
|
18866
|
+
"description": "Reference to the Repository object in the Guard table (must be Address type)."
|
|
18867
|
+
}
|
|
18868
|
+
},
|
|
18869
|
+
"required": [
|
|
18870
|
+
"type",
|
|
18871
|
+
"object"
|
|
18872
|
+
],
|
|
18873
|
+
"additionalProperties": false,
|
|
18874
|
+
"description": "Returns VecString. Lists ALL policy key names of the Repository (max 50). Use vec_length to bound per-key composite queries or vec_contains_string to assert a key exists."
|
|
18875
|
+
},
|
|
18876
|
+
{
|
|
18877
|
+
"type": "object",
|
|
18878
|
+
"properties": {
|
|
18879
|
+
"type": {
|
|
18880
|
+
"type": "string",
|
|
18881
|
+
"const": "query_order_named_operator_member"
|
|
18882
|
+
},
|
|
18883
|
+
"object": {
|
|
18884
|
+
"type": "object",
|
|
18885
|
+
"properties": {
|
|
18886
|
+
"identifier": {
|
|
18887
|
+
"type": "integer",
|
|
18888
|
+
"minimum": 0,
|
|
18889
|
+
"maximum": 255,
|
|
18890
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
18891
|
+
}
|
|
18892
|
+
},
|
|
18893
|
+
"required": [
|
|
18894
|
+
"identifier"
|
|
18895
|
+
],
|
|
18896
|
+
"additionalProperties": false,
|
|
18897
|
+
"description": "Reference to the Order object in the Guard table (must be Address type)."
|
|
18898
|
+
}
|
|
18899
|
+
},
|
|
18900
|
+
"required": [
|
|
18901
|
+
"type",
|
|
18902
|
+
"object"
|
|
18903
|
+
],
|
|
18904
|
+
"additionalProperties": false,
|
|
18905
|
+
"description": "Returns Bool. Whether the transaction signer is on the order's named-operator roster (DM-P1 rider-roster exclusive admission): reads the namedOperator roster of the order's Progress and checks tx-signer membership. Parameterless — the signer comes from the transaction context. Gated by protocol v138 (feature flag enable_order_named_operator_member); on a chain without the flag the guard evaluation aborts. Typical use: AND it into the forward-edge guard on courier handover edges (e.g. PickupOrder/DeliverOrder) so only roster members can advance — the on-chain namedOperator rail alone only AUTHORIZES, it never DENIES (R-19)."
|
|
18906
|
+
},
|
|
18907
|
+
{
|
|
18908
|
+
"type": "object",
|
|
18909
|
+
"properties": {
|
|
18910
|
+
"type": {
|
|
18911
|
+
"type": "string",
|
|
18912
|
+
"const": "query_repository_data_has"
|
|
18913
|
+
},
|
|
18914
|
+
"object": {
|
|
18915
|
+
"type": "object",
|
|
18916
|
+
"properties": {
|
|
18917
|
+
"identifier": {
|
|
18918
|
+
"type": "integer",
|
|
18919
|
+
"minimum": 0,
|
|
18920
|
+
"maximum": 255,
|
|
18921
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
18922
|
+
}
|
|
18923
|
+
},
|
|
18924
|
+
"required": [
|
|
18925
|
+
"identifier"
|
|
18926
|
+
],
|
|
18927
|
+
"additionalProperties": false,
|
|
18928
|
+
"description": "Reference to the Repository object in the Guard table (must be Address type)."
|
|
18929
|
+
},
|
|
18930
|
+
"id": {
|
|
18931
|
+
"type": "object",
|
|
18932
|
+
"properties": {
|
|
18933
|
+
"identifier": {
|
|
18934
|
+
"type": "integer",
|
|
18935
|
+
"minimum": 0,
|
|
18936
|
+
"maximum": 255,
|
|
18937
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
18938
|
+
}
|
|
18939
|
+
},
|
|
18940
|
+
"required": [
|
|
18941
|
+
"identifier"
|
|
18942
|
+
],
|
|
18943
|
+
"additionalProperties": false,
|
|
18944
|
+
"description": "Reference to the row's principal address (Address type table entry) — the row id the data was written under."
|
|
18945
|
+
},
|
|
18946
|
+
"key": {
|
|
18947
|
+
"type": "string",
|
|
18948
|
+
"minLength": 1,
|
|
18949
|
+
"description": "Row name — the policy key string of the data row to probe."
|
|
18950
|
+
}
|
|
18951
|
+
},
|
|
18952
|
+
"required": [
|
|
18953
|
+
"type",
|
|
18954
|
+
"object",
|
|
18955
|
+
"id",
|
|
18956
|
+
"key"
|
|
18957
|
+
],
|
|
18958
|
+
"additionalProperties": false,
|
|
18959
|
+
"description": "Returns Bool. Whether the Repository holds a data row for (key, id) — single-row exact read by (key, id), the primitive for per-value mutual-consent attestation (e.g. a settlement keeper asserting the buyer acceptance row exists before executing a refund allocator). NOT protocol-gated (legacy query, works on every chain version)."
|
|
18960
|
+
},
|
|
18961
|
+
{
|
|
18962
|
+
"type": "object",
|
|
18963
|
+
"properties": {
|
|
18964
|
+
"type": {
|
|
18965
|
+
"type": "string",
|
|
18966
|
+
"const": "query_repository_data"
|
|
18967
|
+
},
|
|
18968
|
+
"object": {
|
|
18969
|
+
"type": "object",
|
|
18970
|
+
"properties": {
|
|
18971
|
+
"identifier": {
|
|
18972
|
+
"type": "integer",
|
|
18973
|
+
"minimum": 0,
|
|
18974
|
+
"maximum": 255,
|
|
18975
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
18976
|
+
}
|
|
18977
|
+
},
|
|
18978
|
+
"required": [
|
|
18979
|
+
"identifier"
|
|
18980
|
+
],
|
|
18981
|
+
"additionalProperties": false,
|
|
18982
|
+
"description": "Reference to the Repository object in the Guard table (must be Address type)."
|
|
18648
18983
|
},
|
|
18649
18984
|
"id": {
|
|
18650
18985
|
"type": "object",
|
|
@@ -18904,6 +19239,14 @@
|
|
|
18904
19239
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
18905
19240
|
"type": "boolean"
|
|
18906
19241
|
},
|
|
19242
|
+
"window_profile": {
|
|
19243
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
19244
|
+
"type": "string",
|
|
19245
|
+
"enum": [
|
|
19246
|
+
"production",
|
|
19247
|
+
"test"
|
|
19248
|
+
]
|
|
19249
|
+
},
|
|
18907
19250
|
"response_level": {
|
|
18908
19251
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
18909
19252
|
"type": "string",
|
|
@@ -19810,6 +20153,14 @@
|
|
|
19810
20153
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
19811
20154
|
"type": "boolean"
|
|
19812
20155
|
},
|
|
20156
|
+
"window_profile": {
|
|
20157
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
20158
|
+
"type": "string",
|
|
20159
|
+
"enum": [
|
|
20160
|
+
"production",
|
|
20161
|
+
"test"
|
|
20162
|
+
]
|
|
20163
|
+
},
|
|
19813
20164
|
"response_level": {
|
|
19814
20165
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
19815
20166
|
"type": "string",
|
|
@@ -19996,15 +20347,10 @@
|
|
|
19996
20347
|
"description": "Payment record remark"
|
|
19997
20348
|
},
|
|
19998
20349
|
"index": {
|
|
19999
|
-
"
|
|
20000
|
-
|
|
20001
|
-
|
|
20002
|
-
|
|
20003
|
-
{
|
|
20004
|
-
"type": "string"
|
|
20005
|
-
}
|
|
20006
|
-
],
|
|
20007
|
-
"description": "Payment record index"
|
|
20350
|
+
"type": "integer",
|
|
20351
|
+
"minimum": 0,
|
|
20352
|
+
"maximum": 9007199254740991,
|
|
20353
|
+
"description": "Payment record index (non-negative integer)"
|
|
20008
20354
|
}
|
|
20009
20355
|
},
|
|
20010
20356
|
"required": [
|
|
@@ -20120,6 +20466,14 @@
|
|
|
20120
20466
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
20121
20467
|
"type": "boolean"
|
|
20122
20468
|
},
|
|
20469
|
+
"window_profile": {
|
|
20470
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
20471
|
+
"type": "string",
|
|
20472
|
+
"enum": [
|
|
20473
|
+
"production",
|
|
20474
|
+
"test"
|
|
20475
|
+
]
|
|
20476
|
+
},
|
|
20123
20477
|
"response_level": {
|
|
20124
20478
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
20125
20479
|
"type": "string",
|
|
@@ -20728,6 +21082,14 @@
|
|
|
20728
21082
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
20729
21083
|
"type": "boolean"
|
|
20730
21084
|
},
|
|
21085
|
+
"window_profile": {
|
|
21086
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
21087
|
+
"type": "string",
|
|
21088
|
+
"enum": [
|
|
21089
|
+
"production",
|
|
21090
|
+
"test"
|
|
21091
|
+
]
|
|
21092
|
+
},
|
|
20731
21093
|
"response_level": {
|
|
20732
21094
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
20733
21095
|
"type": "string",
|
|
@@ -21456,7 +21818,7 @@
|
|
|
21456
21818
|
"additionalProperties": false
|
|
21457
21819
|
},
|
|
21458
21820
|
"arb_claim_compensation": {
|
|
21459
|
-
"description": "Specify the adjudicated Arb object to obtain order compensation. ZERO-INDEMNITY GATE (BF-14, chain abort 11): when the ruling's indemnity is 0 (a dismissal) the claim is REFUSED on-chain — the case stays open, the dispute fee stays escrowed (withdrawable by the arbitrator only after the 30-day window closes with no objection, or blocked while an objection is pending), and `order.claimed_by` is NOT written. A claim that DOES pay (indemnity > 0) closes the case (state 5), pays the claimant, writes `order.claimed_by`, and releases the fee path. DIRECTION
|
|
21821
|
+
"description": "Specify the adjudicated Arb object to obtain order compensation. ZERO-INDEMNITY GATE (BF-14, chain abort 11): when the ruling's indemnity is 0 (a dismissal) the claim is REFUSED on-chain — the case stays open, the dispute fee stays escrowed (withdrawable by the arbitrator only after the 30-day window closes with no objection, or blocked while an objection is pending), and `order.claimed_by` is NOT written. A claim that DOES pay (indemnity > 0) closes the case (state 5), pays the claimant, writes `order.claimed_by`, and releases the fee path. DIRECTION (decision 11, TWO-RAIL INDEPENDENCE): `claimed_by` records only that a claim PAID or a dismissal was stamped — never WHO won. Order fund rails are NODE-GATED and NEVER read `claimed_by`; read ruling DIRECTION from `arb.indemnity.amount` (query 1641), never from `claimed_by`. F05 REVERSE GATE (yfd-ln-261024): when this order's escrow is ALREADY fully released (allocation balance 0 of a positive order amount), the claim is REFUSED unless acknowledge_dual_payout is true — pairing a paid compensation with a completed escrow track is a netting decision the operator must state (see acknowledge_dual_payout).",
|
|
21460
21822
|
"type": "object",
|
|
21461
21823
|
"properties": {
|
|
21462
21824
|
"arb": {
|
|
@@ -21474,7 +21836,7 @@
|
|
|
21474
21836
|
"type": "boolean"
|
|
21475
21837
|
},
|
|
21476
21838
|
"arb_case_conclude": {
|
|
21477
|
-
"description": "DISMISSAL CONVERGER (F-BS-54/56, F-OF2-01): stamp a CONCLUDED
|
|
21839
|
+
"description": "DISMISSAL CONVERGER (F-BS-54/56, F-OF2-01): stamp a CONCLUDED ruling in the DISMISSAL direction onto this order through the service's case-conclusion entry so the case stops reading as open (dispute frozen, no later compensation claim can consume the zero award). PERMISSIONLESS: any keeper (merchant agent, watchdog, even the buyer) may drive it; it writes the claimed_by=case flag and MOVES NO FUNDS. DIRECTION FORK — the chain expresses a ruling direction ONLY as the indemnity it left behind. A case reads as DISMISSAL when its indemnity is none OR amount == 0 (defendant-favored): THIS is the only direction this call accepts — the chain refuses anything else (E_CASE_NOT_DISMISSAL_CONCLUSION, abort 48). A case whose ruling left indemnity > 0 = buyer-favored COMPENSATION: NEVER this call — that direction converges through the compensation claim (arb_claim_compensation) instead. Prerequisite: the arb case must already be CONCLUDED (status Arbitrated/Withdrawn — check arb_case_view first). On a LIVE case the dismissal reading deliberately reports true merely because no indemnity exists yet; that is NOT a ruling direction, so the concluded check always comes first. TYPICAL KEEPER LOOP after a 0-indemnity ruling: arb_claim_compensation aborts 11 (BF-14 zero-indemnity gate) → call THIS to stamp the dismissal → the escrow principal exits only through its node-gated fund rails (decision 11, TWO-RAIL INDEPENDENCE: fund rails read node state, never `claimed_by`).",
|
|
21478
21840
|
"type": "object",
|
|
21479
21841
|
"properties": {
|
|
21480
21842
|
"arb": {
|
|
@@ -21710,19 +22072,14 @@
|
|
|
21710
22072
|
]
|
|
21711
22073
|
},
|
|
21712
22074
|
"remark": {
|
|
21713
|
-
"type": "string",
|
|
21714
|
-
"description": "Payment record remark"
|
|
21715
|
-
},
|
|
21716
|
-
"index": {
|
|
21717
|
-
"
|
|
21718
|
-
|
|
21719
|
-
|
|
21720
|
-
|
|
21721
|
-
{
|
|
21722
|
-
"type": "string"
|
|
21723
|
-
}
|
|
21724
|
-
],
|
|
21725
|
-
"description": "Payment record index"
|
|
22075
|
+
"type": "string",
|
|
22076
|
+
"description": "Payment record remark"
|
|
22077
|
+
},
|
|
22078
|
+
"index": {
|
|
22079
|
+
"type": "integer",
|
|
22080
|
+
"minimum": 0,
|
|
22081
|
+
"maximum": 9007199254740991,
|
|
22082
|
+
"description": "Payment record index (non-negative integer)"
|
|
21726
22083
|
}
|
|
21727
22084
|
},
|
|
21728
22085
|
"required": [
|
|
@@ -21843,6 +22200,14 @@
|
|
|
21843
22200
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
21844
22201
|
"type": "boolean"
|
|
21845
22202
|
},
|
|
22203
|
+
"window_profile": {
|
|
22204
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
22205
|
+
"type": "string",
|
|
22206
|
+
"enum": [
|
|
22207
|
+
"production",
|
|
22208
|
+
"test"
|
|
22209
|
+
]
|
|
22210
|
+
},
|
|
21846
22211
|
"response_level": {
|
|
21847
22212
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
21848
22213
|
"type": "string",
|
|
@@ -23022,6 +23387,14 @@
|
|
|
23022
23387
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
23023
23388
|
"type": "boolean"
|
|
23024
23389
|
},
|
|
23390
|
+
"window_profile": {
|
|
23391
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
23392
|
+
"type": "string",
|
|
23393
|
+
"enum": [
|
|
23394
|
+
"production",
|
|
23395
|
+
"test"
|
|
23396
|
+
]
|
|
23397
|
+
},
|
|
23025
23398
|
"response_level": {
|
|
23026
23399
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
23027
23400
|
"type": "string",
|
|
@@ -23141,7 +23514,7 @@
|
|
|
23141
23514
|
]
|
|
23142
23515
|
},
|
|
23143
23516
|
"about_address": {
|
|
23144
|
-
"description": "About binding (K3 contract): ONLY the counterparty ACCOUNT address (address first byte = account type) or a Proof object address (first byte = Proof type) — a messenger contact record. NEVER a business object (Progress/
|
|
23517
|
+
"description": "About binding (K3 contract): ONLY the counterparty ACCOUNT address (address first byte = account type) or a Proof object address (first byte = Proof type) — a messenger contact record. NEVER a business object (Progress/Arb) and never a guard decision condition. ONE EXCEPTION (F-27, Move truth — the order's required_info_bind entry): a Proof intended for order.required_info_bind MUST carry about = the ORDER's own address, with the Proof creator = the order owner (E_REQUIRED_INFO_PROOF_NOT_BOUND, abort 11 — the messenger-contact restriction does not apply to that flow). Accepts null/undefined (→ Move Option::none). When provided, must be a raw 0x-prefixed address (NOT a name). e.g. the peer account being proved with.",
|
|
23145
23518
|
"anyOf": [
|
|
23146
23519
|
{
|
|
23147
23520
|
"type": "string",
|
|
@@ -23234,6 +23607,14 @@
|
|
|
23234
23607
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
23235
23608
|
"type": "boolean"
|
|
23236
23609
|
},
|
|
23610
|
+
"window_profile": {
|
|
23611
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
23612
|
+
"type": "string",
|
|
23613
|
+
"enum": [
|
|
23614
|
+
"production",
|
|
23615
|
+
"test"
|
|
23616
|
+
]
|
|
23617
|
+
},
|
|
23237
23618
|
"response_level": {
|
|
23238
23619
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
23239
23620
|
"type": "string",
|
|
@@ -23922,6 +24303,14 @@
|
|
|
23922
24303
|
"description": "Phase 1 dry_run: when true, SIMULATE the transaction without signing or submitting. Returns effects + events showing what WOULD happen — no on-chain state is modified, no gas is charged. Use this to verify that an operation will succeed before committing. The returned digest will be 'dry_run:<timestamp>' and objectChanges will be empty (simulation only).",
|
|
23923
24304
|
"type": "boolean"
|
|
23924
24305
|
},
|
|
24306
|
+
"window_profile": {
|
|
24307
|
+
"description": "Time-window profile for trial runs (N8 ktt6 F-14 re-carving of the 'business windows are never test-compressed' ruling, 2026-11-04). 'production' (default): compressed time-window violations BLOCK publish exactly as before. 'test': compressed windows are ADMITTED so a disposable trial store can run its full lifecycle fast — R-TIME-PROFILE violations degrade to loud named disclosures, and the publish itself is BLOCKED on a real network (testnet/mainnet); point the trial at a local/dev chain (env.network='localnet'). Trial discipline: test-profile stores are throwaway — a production store must re-issue WITHOUT this flag (guards freeze at publish, so compressed windows are unrepairable except by rebuilding the store).",
|
|
24308
|
+
"type": "string",
|
|
24309
|
+
"enum": [
|
|
24310
|
+
"production",
|
|
24311
|
+
"test"
|
|
24312
|
+
]
|
|
24313
|
+
},
|
|
23925
24314
|
"response_level": {
|
|
23926
24315
|
"description": "Write-success response size. 'compact' (default) trims the structured result to key fields (digest + created object references); 'full' includes the complete raw result. Default: compact.",
|
|
23927
24316
|
"type": "string",
|
|
@@ -26345,117 +26734,400 @@
|
|
|
26345
26734
|
"description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
|
|
26346
26735
|
"allOf": [
|
|
26347
26736
|
{
|
|
26348
|
-
"$ref": "#/definitions/__schema3"
|
|
26349
|
-
}
|
|
26350
|
-
],
|
|
26351
|
-
"$ref": "#/definitions/__schema2"
|
|
26352
|
-
},
|
|
26353
|
-
"sessionIdx": {
|
|
26354
|
-
"description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
|
|
26355
|
-
"allOf": [
|
|
26737
|
+
"$ref": "#/definitions/__schema3"
|
|
26738
|
+
}
|
|
26739
|
+
],
|
|
26740
|
+
"$ref": "#/definitions/__schema2"
|
|
26741
|
+
},
|
|
26742
|
+
"sessionIdx": {
|
|
26743
|
+
"description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
|
|
26744
|
+
"allOf": [
|
|
26745
|
+
{
|
|
26746
|
+
"$ref": "#/definitions/__schema3"
|
|
26747
|
+
}
|
|
26748
|
+
],
|
|
26749
|
+
"$ref": "#/definitions/__schema2"
|
|
26750
|
+
},
|
|
26751
|
+
"forwardIdx": {
|
|
26752
|
+
"description": "GuardNode that returns the forward operation index (U64 type) within the session. Typically an 'identifier' node referencing a U64 value from the Guard table.",
|
|
26753
|
+
"allOf": [
|
|
26754
|
+
{
|
|
26755
|
+
"$ref": "#/definitions/__schema3"
|
|
26756
|
+
}
|
|
26757
|
+
],
|
|
26758
|
+
"$ref": "#/definitions/__schema2"
|
|
26759
|
+
}
|
|
26760
|
+
},
|
|
26761
|
+
"required": [
|
|
26762
|
+
"type",
|
|
26763
|
+
"object",
|
|
26764
|
+
"historyIdx",
|
|
26765
|
+
"sessionIdx",
|
|
26766
|
+
"forwardIdx"
|
|
26767
|
+
],
|
|
26768
|
+
"additionalProperties": false,
|
|
26769
|
+
"description": "Returns U64. Counts the number of retained submissions within the specified forward operation."
|
|
26770
|
+
},
|
|
26771
|
+
{
|
|
26772
|
+
"type": "object",
|
|
26773
|
+
"properties": {
|
|
26774
|
+
"type": {
|
|
26775
|
+
"type": "string",
|
|
26776
|
+
"const": "query_progress_history_session_forward_retained_submission_value"
|
|
26777
|
+
},
|
|
26778
|
+
"object": {
|
|
26779
|
+
"type": "object",
|
|
26780
|
+
"properties": {
|
|
26781
|
+
"identifier": {
|
|
26782
|
+
"type": "integer",
|
|
26783
|
+
"minimum": 0,
|
|
26784
|
+
"maximum": 255,
|
|
26785
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
26786
|
+
}
|
|
26787
|
+
},
|
|
26788
|
+
"required": [
|
|
26789
|
+
"identifier"
|
|
26790
|
+
],
|
|
26791
|
+
"additionalProperties": false,
|
|
26792
|
+
"description": "Reference to the Progress object in the Guard table (must be Address type)."
|
|
26793
|
+
},
|
|
26794
|
+
"historyIdx": {
|
|
26795
|
+
"description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
|
|
26796
|
+
"allOf": [
|
|
26797
|
+
{
|
|
26798
|
+
"$ref": "#/definitions/__schema3"
|
|
26799
|
+
}
|
|
26800
|
+
],
|
|
26801
|
+
"$ref": "#/definitions/__schema2"
|
|
26802
|
+
},
|
|
26803
|
+
"sessionIdx": {
|
|
26804
|
+
"description": "GuardNode that returns the session index (U64 type) within the history entry. Typically an 'identifier' node referencing a U64 value from the Guard table.",
|
|
26805
|
+
"allOf": [
|
|
26806
|
+
{
|
|
26807
|
+
"$ref": "#/definitions/__schema3"
|
|
26808
|
+
}
|
|
26809
|
+
],
|
|
26810
|
+
"$ref": "#/definitions/__schema2"
|
|
26811
|
+
},
|
|
26812
|
+
"forwardIdx": {
|
|
26813
|
+
"description": "GuardNode that returns the forward operation index (U64 type) within the session. Typically an 'identifier' node referencing a U64 value from the Guard table.",
|
|
26814
|
+
"allOf": [
|
|
26815
|
+
{
|
|
26816
|
+
"$ref": "#/definitions/__schema3"
|
|
26817
|
+
}
|
|
26818
|
+
],
|
|
26819
|
+
"$ref": "#/definitions/__schema2"
|
|
26820
|
+
},
|
|
26821
|
+
"identifier": {
|
|
26822
|
+
"description": "GuardNode that returns the submission identifier (U8 type) — which retained submission of the forward to read. Typically an 'identifier' node referencing a U8 value from the Guard table.",
|
|
26823
|
+
"allOf": [
|
|
26824
|
+
{
|
|
26825
|
+
"$ref": "#/definitions/__schema3"
|
|
26826
|
+
}
|
|
26827
|
+
],
|
|
26828
|
+
"$ref": "#/definitions/__schema2"
|
|
26829
|
+
}
|
|
26830
|
+
},
|
|
26831
|
+
"required": [
|
|
26832
|
+
"type",
|
|
26833
|
+
"object",
|
|
26834
|
+
"historyIdx",
|
|
26835
|
+
"sessionIdx",
|
|
26836
|
+
"forwardIdx",
|
|
26837
|
+
"identifier"
|
|
26838
|
+
],
|
|
26839
|
+
"additionalProperties": false,
|
|
26840
|
+
"description": "Returns VecU8 (the ONLY history query that does not return U64). Value of the specified retained submission of a HISTORY record (query 1281) — the history-side counterpart of the ACTIVE-SESSION-ONLY 1268 read, which goes blind once the session migrates into history. Use 1274/1275 to discover the history/session/forward indexes first. Throws error when the record carries no submission for the identifier (Guard validation fails)."
|
|
26841
|
+
},
|
|
26842
|
+
{
|
|
26843
|
+
"type": "object",
|
|
26844
|
+
"properties": {
|
|
26845
|
+
"type": {
|
|
26846
|
+
"type": "string",
|
|
26847
|
+
"const": "query_repository_data_count_where"
|
|
26848
|
+
},
|
|
26849
|
+
"object": {
|
|
26850
|
+
"type": "object",
|
|
26851
|
+
"properties": {
|
|
26852
|
+
"identifier": {
|
|
26853
|
+
"type": "integer",
|
|
26854
|
+
"minimum": 0,
|
|
26855
|
+
"maximum": 255,
|
|
26856
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
26857
|
+
}
|
|
26858
|
+
},
|
|
26859
|
+
"required": [
|
|
26860
|
+
"identifier"
|
|
26861
|
+
],
|
|
26862
|
+
"additionalProperties": false,
|
|
26863
|
+
"description": "Reference to the Repository object in the Guard table (must be Address type)."
|
|
26864
|
+
},
|
|
26865
|
+
"key": {
|
|
26866
|
+
"type": "object",
|
|
26867
|
+
"properties": {
|
|
26868
|
+
"identifier": {
|
|
26869
|
+
"type": "integer",
|
|
26870
|
+
"minimum": 0,
|
|
26871
|
+
"maximum": 255,
|
|
26872
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
26873
|
+
}
|
|
26874
|
+
},
|
|
26875
|
+
"required": [
|
|
26876
|
+
"identifier"
|
|
26877
|
+
],
|
|
26878
|
+
"additionalProperties": false,
|
|
26879
|
+
"description": "Reference to the policy key (String type table entry) whose data table is scanned."
|
|
26880
|
+
},
|
|
26881
|
+
"ids": {
|
|
26882
|
+
"type": "object",
|
|
26883
|
+
"properties": {
|
|
26884
|
+
"identifier": {
|
|
26885
|
+
"type": "integer",
|
|
26886
|
+
"minimum": 0,
|
|
26887
|
+
"maximum": 255,
|
|
26888
|
+
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
26889
|
+
}
|
|
26890
|
+
},
|
|
26891
|
+
"required": [
|
|
26892
|
+
"identifier"
|
|
26893
|
+
],
|
|
26894
|
+
"additionalProperties": false,
|
|
26895
|
+
"description": "Reference to the candidate ID list (VecAddress type table entry). Duplicates are deduped; max 100 candidates."
|
|
26896
|
+
},
|
|
26897
|
+
"where": {
|
|
26898
|
+
"oneOf": [
|
|
26899
|
+
{
|
|
26900
|
+
"type": "object",
|
|
26901
|
+
"properties": {
|
|
26902
|
+
"kind": {
|
|
26903
|
+
"type": "string",
|
|
26904
|
+
"const": "range"
|
|
26905
|
+
},
|
|
26906
|
+
"valueMin": {
|
|
26907
|
+
"description": "Optional lower bound (inclusive unless minInclusive=false). Plain number string (U256 semantics).",
|
|
26908
|
+
"type": "string"
|
|
26909
|
+
},
|
|
26910
|
+
"valueMax": {
|
|
26911
|
+
"description": "Optional upper bound (inclusive unless maxInclusive=false). Plain number string (U256 semantics).",
|
|
26912
|
+
"type": "string"
|
|
26913
|
+
},
|
|
26914
|
+
"minInclusive": {
|
|
26915
|
+
"description": "Default true. false makes the lower bound exclusive.",
|
|
26916
|
+
"type": "boolean"
|
|
26917
|
+
},
|
|
26918
|
+
"maxInclusive": {
|
|
26919
|
+
"description": "Default true. false makes the upper bound exclusive.",
|
|
26920
|
+
"type": "boolean"
|
|
26921
|
+
}
|
|
26922
|
+
},
|
|
26923
|
+
"required": [
|
|
26924
|
+
"kind"
|
|
26925
|
+
],
|
|
26926
|
+
"additionalProperties": false,
|
|
26927
|
+
"description": "Numeric closed/open range. min=max inclusive is an equality match. At least one bound required."
|
|
26928
|
+
},
|
|
26929
|
+
{
|
|
26930
|
+
"type": "object",
|
|
26931
|
+
"properties": {
|
|
26932
|
+
"kind": {
|
|
26933
|
+
"type": "string",
|
|
26934
|
+
"const": "numEq"
|
|
26935
|
+
},
|
|
26936
|
+
"value": {
|
|
26937
|
+
"type": "string",
|
|
26938
|
+
"description": "Exact numeric match. Plain number string (U256 semantics)."
|
|
26939
|
+
}
|
|
26940
|
+
},
|
|
26941
|
+
"required": [
|
|
26942
|
+
"kind",
|
|
26943
|
+
"value"
|
|
26944
|
+
],
|
|
26945
|
+
"additionalProperties": false
|
|
26946
|
+
},
|
|
26947
|
+
{
|
|
26948
|
+
"type": "object",
|
|
26949
|
+
"properties": {
|
|
26950
|
+
"kind": {
|
|
26951
|
+
"type": "string",
|
|
26952
|
+
"const": "gt"
|
|
26953
|
+
},
|
|
26954
|
+
"value": {
|
|
26955
|
+
"type": "string",
|
|
26956
|
+
"description": "Greater than. Plain number string (U256 semantics)."
|
|
26957
|
+
}
|
|
26958
|
+
},
|
|
26959
|
+
"required": [
|
|
26960
|
+
"kind",
|
|
26961
|
+
"value"
|
|
26962
|
+
],
|
|
26963
|
+
"additionalProperties": false
|
|
26964
|
+
},
|
|
26965
|
+
{
|
|
26966
|
+
"type": "object",
|
|
26967
|
+
"properties": {
|
|
26968
|
+
"kind": {
|
|
26969
|
+
"type": "string",
|
|
26970
|
+
"const": "gte"
|
|
26971
|
+
},
|
|
26972
|
+
"value": {
|
|
26973
|
+
"type": "string",
|
|
26974
|
+
"description": "Greater than or equal. Plain number string (U256 semantics)."
|
|
26975
|
+
}
|
|
26976
|
+
},
|
|
26977
|
+
"required": [
|
|
26978
|
+
"kind",
|
|
26979
|
+
"value"
|
|
26980
|
+
],
|
|
26981
|
+
"additionalProperties": false
|
|
26982
|
+
},
|
|
26983
|
+
{
|
|
26984
|
+
"type": "object",
|
|
26985
|
+
"properties": {
|
|
26986
|
+
"kind": {
|
|
26987
|
+
"type": "string",
|
|
26988
|
+
"const": "lt"
|
|
26989
|
+
},
|
|
26990
|
+
"value": {
|
|
26991
|
+
"type": "string",
|
|
26992
|
+
"description": "Less than. Plain number string (U256 semantics)."
|
|
26993
|
+
}
|
|
26994
|
+
},
|
|
26995
|
+
"required": [
|
|
26996
|
+
"kind",
|
|
26997
|
+
"value"
|
|
26998
|
+
],
|
|
26999
|
+
"additionalProperties": false
|
|
27000
|
+
},
|
|
26356
27001
|
{
|
|
26357
|
-
"
|
|
26358
|
-
|
|
26359
|
-
|
|
26360
|
-
|
|
26361
|
-
|
|
26362
|
-
|
|
26363
|
-
|
|
26364
|
-
|
|
27002
|
+
"type": "object",
|
|
27003
|
+
"properties": {
|
|
27004
|
+
"kind": {
|
|
27005
|
+
"type": "string",
|
|
27006
|
+
"const": "lte"
|
|
27007
|
+
},
|
|
27008
|
+
"value": {
|
|
27009
|
+
"type": "string",
|
|
27010
|
+
"description": "Less than or equal. Plain number string (U256 semantics)."
|
|
27011
|
+
}
|
|
27012
|
+
},
|
|
27013
|
+
"required": [
|
|
27014
|
+
"kind",
|
|
27015
|
+
"value"
|
|
27016
|
+
],
|
|
27017
|
+
"additionalProperties": false
|
|
27018
|
+
},
|
|
26365
27019
|
{
|
|
26366
|
-
"
|
|
26367
|
-
|
|
26368
|
-
|
|
26369
|
-
|
|
26370
|
-
|
|
26371
|
-
|
|
26372
|
-
|
|
26373
|
-
|
|
26374
|
-
|
|
26375
|
-
|
|
26376
|
-
|
|
26377
|
-
|
|
26378
|
-
|
|
26379
|
-
|
|
26380
|
-
|
|
26381
|
-
|
|
26382
|
-
|
|
26383
|
-
|
|
26384
|
-
|
|
26385
|
-
"type": {
|
|
26386
|
-
"type": "string",
|
|
26387
|
-
"const": "query_progress_history_session_forward_retained_submission_value"
|
|
26388
|
-
},
|
|
26389
|
-
"object": {
|
|
26390
|
-
"type": "object",
|
|
26391
|
-
"properties": {
|
|
26392
|
-
"identifier": {
|
|
26393
|
-
"type": "integer",
|
|
26394
|
-
"minimum": 0,
|
|
26395
|
-
"maximum": 255,
|
|
26396
|
-
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
26397
|
-
}
|
|
26398
|
-
},
|
|
26399
|
-
"required": [
|
|
26400
|
-
"identifier"
|
|
26401
|
-
],
|
|
26402
|
-
"additionalProperties": false,
|
|
26403
|
-
"description": "Reference to the Progress object in the Guard table (must be Address type)."
|
|
26404
|
-
},
|
|
26405
|
-
"historyIdx": {
|
|
26406
|
-
"description": "GuardNode that returns the history index (U64 type). Typically an 'identifier' node referencing a U64 value from the Guard table.",
|
|
26407
|
-
"allOf": [
|
|
27020
|
+
"type": "object",
|
|
27021
|
+
"properties": {
|
|
27022
|
+
"kind": {
|
|
27023
|
+
"type": "string",
|
|
27024
|
+
"const": "addressEq"
|
|
27025
|
+
},
|
|
27026
|
+
"identifier": {
|
|
27027
|
+
"type": "integer",
|
|
27028
|
+
"minimum": 0,
|
|
27029
|
+
"maximum": 255,
|
|
27030
|
+
"description": "Identifier of the Address-type table entry to compare against."
|
|
27031
|
+
}
|
|
27032
|
+
},
|
|
27033
|
+
"required": [
|
|
27034
|
+
"kind",
|
|
27035
|
+
"identifier"
|
|
27036
|
+
],
|
|
27037
|
+
"additionalProperties": false
|
|
27038
|
+
},
|
|
26408
27039
|
{
|
|
26409
|
-
"
|
|
26410
|
-
|
|
26411
|
-
|
|
26412
|
-
|
|
26413
|
-
|
|
26414
|
-
|
|
26415
|
-
|
|
26416
|
-
|
|
27040
|
+
"type": "object",
|
|
27041
|
+
"properties": {
|
|
27042
|
+
"kind": {
|
|
27043
|
+
"type": "string",
|
|
27044
|
+
"const": "stringEq"
|
|
27045
|
+
},
|
|
27046
|
+
"value": {
|
|
27047
|
+
"type": "string",
|
|
27048
|
+
"description": "Exact string match (byte equality, UTF-8)."
|
|
27049
|
+
}
|
|
27050
|
+
},
|
|
27051
|
+
"required": [
|
|
27052
|
+
"kind",
|
|
27053
|
+
"value"
|
|
27054
|
+
],
|
|
27055
|
+
"additionalProperties": false
|
|
27056
|
+
},
|
|
26417
27057
|
{
|
|
26418
|
-
"
|
|
26419
|
-
|
|
26420
|
-
|
|
26421
|
-
|
|
26422
|
-
|
|
26423
|
-
|
|
26424
|
-
|
|
26425
|
-
|
|
27058
|
+
"type": "object",
|
|
27059
|
+
"properties": {
|
|
27060
|
+
"kind": {
|
|
27061
|
+
"type": "string",
|
|
27062
|
+
"const": "stringContains"
|
|
27063
|
+
},
|
|
27064
|
+
"value": {
|
|
27065
|
+
"type": "string",
|
|
27066
|
+
"description": "Substring match, case-sensitive."
|
|
27067
|
+
}
|
|
27068
|
+
},
|
|
27069
|
+
"required": [
|
|
27070
|
+
"kind",
|
|
27071
|
+
"value"
|
|
27072
|
+
],
|
|
27073
|
+
"additionalProperties": false
|
|
27074
|
+
},
|
|
26426
27075
|
{
|
|
26427
|
-
"
|
|
26428
|
-
|
|
26429
|
-
|
|
26430
|
-
|
|
26431
|
-
|
|
26432
|
-
|
|
26433
|
-
|
|
26434
|
-
|
|
27076
|
+
"type": "object",
|
|
27077
|
+
"properties": {
|
|
27078
|
+
"kind": {
|
|
27079
|
+
"type": "string",
|
|
27080
|
+
"const": "stringNoCaseContains"
|
|
27081
|
+
},
|
|
27082
|
+
"value": {
|
|
27083
|
+
"type": "string",
|
|
27084
|
+
"description": "Substring match, case-insensitive."
|
|
27085
|
+
}
|
|
27086
|
+
},
|
|
27087
|
+
"required": [
|
|
27088
|
+
"kind",
|
|
27089
|
+
"value"
|
|
27090
|
+
],
|
|
27091
|
+
"additionalProperties": false
|
|
27092
|
+
},
|
|
26435
27093
|
{
|
|
26436
|
-
"
|
|
27094
|
+
"type": "object",
|
|
27095
|
+
"properties": {
|
|
27096
|
+
"kind": {
|
|
27097
|
+
"type": "string",
|
|
27098
|
+
"const": "boolEq"
|
|
27099
|
+
},
|
|
27100
|
+
"value": {
|
|
27101
|
+
"type": "boolean",
|
|
27102
|
+
"description": "Boolean equality."
|
|
27103
|
+
}
|
|
27104
|
+
},
|
|
27105
|
+
"required": [
|
|
27106
|
+
"kind",
|
|
27107
|
+
"value"
|
|
27108
|
+
],
|
|
27109
|
+
"additionalProperties": false
|
|
26437
27110
|
}
|
|
26438
27111
|
],
|
|
26439
|
-
"
|
|
27112
|
+
"description": "Predicate filter applied to each candidate's data value."
|
|
26440
27113
|
}
|
|
26441
27114
|
},
|
|
26442
27115
|
"required": [
|
|
26443
27116
|
"type",
|
|
26444
27117
|
"object",
|
|
26445
|
-
"
|
|
26446
|
-
"
|
|
26447
|
-
"
|
|
26448
|
-
"identifier"
|
|
27118
|
+
"key",
|
|
27119
|
+
"ids",
|
|
27120
|
+
"where"
|
|
26449
27121
|
],
|
|
26450
27122
|
"additionalProperties": false,
|
|
26451
|
-
"description": "Returns
|
|
27123
|
+
"description": "Returns U64. Counts candidates whose stored value matches the predicate. Numeric predicates: U256 semantics (pass plain number strings). Range is closed interval per side (minInclusive/maxInclusive default true); a missing side is unbounded. numEq/gt/gte/lt/lte are sugar over range. Entries whose value type does not match the predicate kind are skipped (never error), so the count only reflects matching entries."
|
|
26452
27124
|
},
|
|
26453
27125
|
{
|
|
26454
27126
|
"type": "object",
|
|
26455
27127
|
"properties": {
|
|
26456
27128
|
"type": {
|
|
26457
27129
|
"type": "string",
|
|
26458
|
-
"const": "
|
|
27130
|
+
"const": "query_repository_data_sum_where"
|
|
26459
27131
|
},
|
|
26460
27132
|
"object": {
|
|
26461
27133
|
"type": "object",
|
|
@@ -26731,14 +27403,14 @@
|
|
|
26731
27403
|
"where"
|
|
26732
27404
|
],
|
|
26733
27405
|
"additionalProperties": false,
|
|
26734
|
-
"description": "Returns
|
|
27406
|
+
"description": "Returns U256. Sums the numeric payloads of candidates whose stored value matches the predicate (on-chain checked add, overflow aborts). Non-numeric or mismatching entries contribute 0. Use logic_as_u256_* to compare the sum."
|
|
26735
27407
|
},
|
|
26736
27408
|
{
|
|
26737
27409
|
"type": "object",
|
|
26738
27410
|
"properties": {
|
|
26739
27411
|
"type": {
|
|
26740
27412
|
"type": "string",
|
|
26741
|
-
"const": "
|
|
27413
|
+
"const": "query_repository_data_sum_where_bound"
|
|
26742
27414
|
},
|
|
26743
27415
|
"object": {
|
|
26744
27416
|
"type": "object",
|
|
@@ -26786,7 +27458,7 @@
|
|
|
26786
27458
|
"identifier"
|
|
26787
27459
|
],
|
|
26788
27460
|
"additionalProperties": false,
|
|
26789
|
-
"description": "Reference to the candidate ID list (VecAddress type table entry). Duplicates are deduped; max 100 candidates."
|
|
27461
|
+
"description": "Reference to the candidate ID list (VecAddress type table entry). Each id should be an ORDER address (e.g. order-keyed contribution rows). Duplicates are deduped; max 100 candidates."
|
|
26790
27462
|
},
|
|
26791
27463
|
"where": {
|
|
26792
27464
|
"oneOf": [
|
|
@@ -27014,14 +27686,14 @@
|
|
|
27014
27686
|
"where"
|
|
27015
27687
|
],
|
|
27016
27688
|
"additionalProperties": false,
|
|
27017
|
-
"description": "Returns U256.
|
|
27689
|
+
"description": "Returns U256. ESCROW-BOUND sum (query 1179, live cap v140): per-row min(row_value, order.amount, LIVE allocation.balance of the Order the row id names) — only funds still in escrow right now count, so a refunded or already-disbursed order contributes 0 naturally; a row whose Order has no allocation link also contributes 0, while an unreadable allocation object aborts the query (corruption is never a silent 0). A row keyed by anything that is not an Order contributes 0 (fail-closed). Unlike query_repository_data_sum_where (self-reported row values), a record cannot claim more than the escrow actually bound to it — the forgery-proof aggregate for threshold gates and Formula pricing. Use logic_as_u256_* to compare the sum."
|
|
27018
27690
|
},
|
|
27019
27691
|
{
|
|
27020
27692
|
"type": "object",
|
|
27021
27693
|
"properties": {
|
|
27022
27694
|
"type": {
|
|
27023
27695
|
"type": "string",
|
|
27024
|
-
"const": "
|
|
27696
|
+
"const": "query_repository_data_sum_where_bound_all"
|
|
27025
27697
|
},
|
|
27026
27698
|
"object": {
|
|
27027
27699
|
"type": "object",
|
|
@@ -27055,22 +27727,6 @@
|
|
|
27055
27727
|
"additionalProperties": false,
|
|
27056
27728
|
"description": "Reference to the policy key (String type table entry) whose data table is scanned."
|
|
27057
27729
|
},
|
|
27058
|
-
"ids": {
|
|
27059
|
-
"type": "object",
|
|
27060
|
-
"properties": {
|
|
27061
|
-
"identifier": {
|
|
27062
|
-
"type": "integer",
|
|
27063
|
-
"minimum": 0,
|
|
27064
|
-
"maximum": 255,
|
|
27065
|
-
"description": "Identifier (0-255) for data lookup in Guard table. Slot consensus (enforced on-chain at guard table construction): 0-220 = user slots (free for business guards); 221-253 = PROTOCOL-RESERVED (rejected on-chain — reserved so future protocol features get fixed slots without colliding with published guards); 255 = ONCE replay-protection slot on Allocation (byte-keyed, the submitted bytes are the once-key — use for per-period keys like period-<N>); 254 = ONCE-FOR-OBJECT slot on Allocation (chain-derived key = bcs(the Allocation's payment_info.for_object); the submitted bytes are ignored and the submission only arms the slot — use for one-shot per-order rails whose payee is NOT the order itself, such as settlement releases and incentive/bounty claims). NEVER arm 254 on a refund rail: a refund pays the submitted Order through user slot 0, and a refund leg re-entered in a later renewal period would abort E_ONCE_TRIGGERED (16) forever — refund once-ness comes from the terminal-node topology, never from a once slot. SLOT 0 SEMANTICS: slot 0 carries the transacted Order address by convention. As a submission slot it is legal on order/allocation/machine rails (the order exists when those verify), but FORBIDDEN on a Service buy_guard — the order does not exist when the buy-time passport is verified, so the mount is refused (service abort 43)."
|
|
27066
|
-
}
|
|
27067
|
-
},
|
|
27068
|
-
"required": [
|
|
27069
|
-
"identifier"
|
|
27070
|
-
],
|
|
27071
|
-
"additionalProperties": false,
|
|
27072
|
-
"description": "Reference to the candidate ID list (VecAddress type table entry). Each id should be an ORDER address (e.g. order-keyed contribution rows). Duplicates are deduped; max 100 candidates."
|
|
27073
|
-
},
|
|
27074
27730
|
"where": {
|
|
27075
27731
|
"oneOf": [
|
|
27076
27732
|
{
|
|
@@ -27286,18 +27942,17 @@
|
|
|
27286
27942
|
"additionalProperties": false
|
|
27287
27943
|
}
|
|
27288
27944
|
],
|
|
27289
|
-
"description": "Predicate filter applied to each
|
|
27945
|
+
"description": "Predicate filter applied to each row's data value."
|
|
27290
27946
|
}
|
|
27291
27947
|
},
|
|
27292
27948
|
"required": [
|
|
27293
27949
|
"type",
|
|
27294
27950
|
"object",
|
|
27295
27951
|
"key",
|
|
27296
|
-
"ids",
|
|
27297
27952
|
"where"
|
|
27298
27953
|
],
|
|
27299
27954
|
"additionalProperties": false,
|
|
27300
|
-
"description": "Returns U256.
|
|
27955
|
+
"description": "Returns U256. ALL-MODE escrow-bound sum (query 1181, flag enable_repository_data_sum_bound_all, protocol v141 — the query ABORTS while the flag is off): the 1179 per-row clamp min(row_value, order.amount, LIVE allocation.balance) over a DERIVED candidate set — the per-key RowRosterKey dynamic-field roster the framework maintains on every data write — instead of a caller-supplied ids list, so the aggregate no longer depends on the caller submitting an honest, complete candidate list (the ks13/HKS-04 ROSTER-01 face). No ids parameter. The roster is bounded by REPOSITORY_QUERY_MAX_CANDIDATES: a key with more rows aborts the query (fail-closed, never a silent truncation). Pre-flag rows (written before the roster was maintained, or under a disabled flag on an older binary) are NOT in the roster and contribute 0 — rebuild or re-touch rows after enabling. Use logic_as_u256_* to compare the sum."
|
|
27301
27956
|
},
|
|
27302
27957
|
{
|
|
27303
27958
|
"type": "object",
|