@wowok/agent-mcp 3.3.7 → 3.3.8
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/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/communication/message-cursors.d.ts +35 -0
- package/dist/communication/message-cursors.js +1 -0
- package/dist/communication/wts-attestation.d.ts +5 -0
- package/dist/communication/wts-attestation.js +1 -1
- package/dist/composition/audit.js +1 -1
- package/dist/composition/compile.d.ts +2 -2
- package/dist/composition/compile.js +1 -1
- package/dist/composition/inflight.d.ts +7 -0
- package/dist/composition/inflight.js +1 -1
- package/dist/composition/materialize.d.ts +4 -1
- package/dist/composition/materialize.js +1 -1
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.js +1 -1
- package/dist/config/store-policy.d.ts +14 -0
- package/dist/config/store-policy.js +1 -0
- package/dist/config/store-policy.spec.d.ts +1 -0
- package/dist/config/store-policy.spec.js +1 -0
- package/dist/customer/industry-risks.js +1 -1
- package/dist/customer/user-preferences.js +1 -1
- package/dist/evaluation/builtins/graph-service.spec.js +1 -1
- package/dist/evaluation/engine.js +1 -1
- package/dist/experience/realtime-feedback.js +1 -1
- package/dist/extensions/business-modules.d.ts +1 -1
- package/dist/extensions/business-modules.js +1 -1
- package/dist/extensions/industry-pack.js +1 -1
- package/dist/extensions/modes.js +1 -1
- package/dist/graph/onchain/analyze.js +1 -1
- package/dist/graph/onchain/expand.js +1 -1
- package/dist/graph/onchain/exposure.js +1 -1
- package/dist/graph/onchain/facts.d.ts +1 -0
- package/dist/graph/onchain/facts.js +1 -1
- package/dist/graph/onchain/facts.spec.js +1 -1
- package/dist/harness/recover.js +1 -1
- package/dist/knowledge/acquisition-flywheel.js +1 -1
- package/dist/knowledge/allocation-ledger.d.ts +1 -0
- package/dist/knowledge/allocation-ledger.js +1 -1
- package/dist/knowledge/allocator-rail-verifier.d.ts +6 -2
- package/dist/knowledge/allocator-rail-verifier.js +1 -1
- package/dist/knowledge/arbitration-ledger.js +1 -1
- package/dist/knowledge/audit-rules.d.ts +37 -0
- package/dist/knowledge/audit-rules.js +1 -1
- package/dist/knowledge/baselines/rules/plan.json +32 -2
- package/dist/knowledge/builtin-templates.d.ts +13 -1
- package/dist/knowledge/builtin-templates.js +1 -1
- package/dist/knowledge/commission-landing.d.ts +26 -0
- package/dist/knowledge/commission-landing.js +1 -0
- package/dist/knowledge/discount-threshold.js +1 -1
- package/dist/knowledge/fund-layer.d.ts +7 -0
- package/dist/knowledge/fund-layer.js +1 -1
- package/dist/knowledge/getting-started.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-puzzle.js +1 -1
- package/dist/knowledge/guard-render.d.ts +7 -0
- package/dist/knowledge/guard-render.js +1 -1
- package/dist/knowledge/guard-risk.js +1 -1
- package/dist/knowledge/guard-templates.d.ts +1 -1
- package/dist/knowledge/guard-templates.js +1 -1
- package/dist/knowledge/guard-translation.js +1 -1
- package/dist/knowledge/index.js +1 -1
- package/dist/knowledge/industry-generalizer.js +1 -1
- package/dist/knowledge/industry-registry.d.ts +1 -1
- package/dist/knowledge/industry-registry.js +1 -1
- package/dist/knowledge/industry-strategy.js +1 -1
- package/dist/knowledge/jsonrpc-enum.js +1 -1
- package/dist/knowledge/machine-fork-watch.d.ts +9 -0
- package/dist/knowledge/machine-fork-watch.js +1 -0
- package/dist/knowledge/migration-preflight.js +1 -1
- package/dist/knowledge/projection.spec.js +1 -1
- package/dist/knowledge/scenario-modes.d.ts +8 -2
- package/dist/knowledge/scenario-modes.js +1 -1
- package/dist/knowledge/semantic-ir.d.ts +24 -5
- package/dist/knowledge/semantic-ir.js +1 -1
- package/dist/knowledge/service-ledger.js +1 -1
- package/dist/knowledge/strategy-manuals.js +1 -1
- package/dist/knowledge/template-index.js +1 -1
- package/dist/knowledge/template-loader.d.ts +11 -0
- package/dist/knowledge/template-loader.js +1 -1
- package/dist/knowledge/template-registry.js +1 -1
- package/dist/knowledge/template-scanner.d.ts +4 -2
- package/dist/knowledge/template-scanner.js +1 -1
- package/dist/knowledge/template-validation.js +1 -1
- package/dist/knowledge/tools-reference.js +1 -1
- package/dist/monitor/MonitorLoop.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 +12 -6
- package/dist/playbooks/service-build/merchant-guide.js +1 -1
- package/dist/playbooks/service-build/migration-planner.d.ts +10 -2
- package/dist/playbooks/service-build/migration-planner.js +1 -1
- package/dist/playbooks/service-build/mode-actions.d.ts +1 -0
- package/dist/playbooks/service-build/mode-actions.js +1 -1
- 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/playbooks/service-build/service-quote.spec.js +1 -1
- package/dist/review/index.js +1 -1
- package/dist/safety/confirm-gate.js +1 -1
- package/dist/schema/benchmark-migration/index.d.ts +72 -1
- package/dist/schema/benchmark-migration/index.js +1 -1
- package/dist/schema/call/allocation.d.ts +3 -0
- package/dist/schema/call/allocation.js +1 -1
- package/dist/schema/call/base.d.ts +24 -0
- package/dist/schema/call/bridge.d.ts +6 -0
- package/dist/schema/call/error-codes.d.ts +1 -1
- package/dist/schema/call/error-codes.js +1 -1
- package/dist/schema/call/order.js +1 -1
- package/dist/schema/call/semantic.js +1 -1
- package/dist/schema/call/service.js +1 -1
- package/dist/schema/common/index.js +1 -1
- package/dist/schema/config/index.d.ts +24 -0
- package/dist/schema/config/index.js +1 -1
- package/dist/schema/goal/index.d.ts +14 -0
- package/dist/schema/goal/planning.d.ts +26 -0
- package/dist/schema/goal/planning.js +1 -1
- package/dist/schema/industry-pack/index.d.ts +9 -1
- package/dist/schema/industry-pack/modes.d.ts +9 -1
- package/dist/schema/industry-pack/modes.js +1 -1
- package/dist/schema/local/index.d.ts +60 -0
- package/dist/schema/local/index.js +1 -1
- package/dist/schema/messenger/index.d.ts +278 -1
- package/dist/schema/messenger/index.js +1 -1
- package/dist/schema/operations.d.ts +1 -0
- package/dist/schema/query/bi.d.ts +38 -0
- package/dist/schema/query/bi.js +1 -1
- package/dist/schema/query/index.d.ts +3 -0
- package/dist/schema/query/index.js +1 -1
- package/dist/schema/schema-version.js +1 -1
- package/dist/schema/service-clone/index.d.ts +17 -0
- package/dist/schema/service-clone/index.js +1 -1
- package/dist/schema-query-impl/index.js +1 -1
- package/dist/schemas/account_operation.output.json +6 -0
- package/dist/schemas/benchmark_migration_operation.output.json +254 -2
- package/dist/schemas/benchmark_migration_operation.schema.json +87 -5
- package/dist/schemas/bridge_operation.output.json +6 -0
- package/dist/schemas/config_operation.output.json +95 -0
- package/dist/schemas/config_operation.schema.json +16 -1
- package/dist/schemas/goal_operation.schema.json +22 -0
- package/dist/schemas/index.json +1 -1
- package/dist/schemas/industry_pack_operation.output.json +4 -0
- package/dist/schemas/industry_pack_operation.schema.json +40 -3
- package/dist/schemas/local_cache_operation.output.json +6 -0
- package/dist/schemas/local_history_operation.output.json +6 -0
- package/dist/schemas/local_info_operation.output.json +6 -0
- package/dist/schemas/local_mark_operation.output.json +6 -0
- package/dist/schemas/messenger_operation.output.json +609 -1
- package/dist/schemas/messenger_operation.schema.json +96 -1
- package/dist/schemas/onchain_operations.output.json +6 -0
- package/dist/schemas/onchain_operations.schema.json +334 -7
- package/dist/schemas/onchain_operations_allocation.schema.json +10 -1
- package/dist/schemas/onchain_operations_guard.schema.json +318 -0
- package/dist/schemas/onchain_operations_order.schema.json +1 -1
- package/dist/schemas/onchain_operations_service.schema.json +5 -5
- package/dist/schemas/query_toolkit.output.json +271 -8
- package/dist/schemas/service_clone_operation.output.json +79 -0
- package/dist/tools/handlers/benchmark-migration.d.ts +14 -0
- package/dist/tools/handlers/benchmark-migration.js +1 -1
- package/dist/tools/handlers/config.js +1 -1
- package/dist/tools/handlers/messenger.js +1 -1
- package/dist/tools/handlers/onchain.d.ts +19 -1
- package/dist/tools/handlers/onchain.js +1 -1
- package/dist/tools/handlers/query.d.ts +1 -0
- package/dist/tools/handlers/query.js +1 -1
- package/dist/tools/handlers/service-clone.d.ts +18 -0
- package/dist/tools/handlers/service-clone.js +1 -1
- package/dist/tools/registry/business.js +1 -1
- package/dist/tools/wrap.js +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from'zod';import{TypedPermissionObjectSchema,CoinParamSchema,NamedObjectSchema,ObjectsSchema,CallEnvSchema,SubmissionCallSchema}from'./base.js';import{AllocatorsSchema,DiscountTypeSchema,ServiceSaleSchema,PaymentInfoSchema}from'../query/index.js';import{AccountOrMark_AddressSchema,DescriptionSchema,LongNameSchema,ManyAccountOrMark_AddressSchema,NameOrAddressSchema,NotEmptyNameSchema,ReceivedBalanceOrRecentlySchema,ReceivedObjectsOrRecentlySchema,RECEIVE_FORMAT_BLOCK_OBJECTS,RECEIVE_FORMAT_BLOCK_BALANCE}from'../common/index.js';import{BalanceTypeSchema}from'../common/index.js';export const ServiceBuyItemSchema=z['preprocess'](a=>{if(a&&typeof a==='object'&&'stock'in a&&!('quantity'in a)){const {stock:b,...c}=a;return{...c,'quantity':b};}return a;},z['object']({'name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20or\x20service\x20to\x20purchase'),'quantity':BalanceTypeSchema['describe']('⚠️\x20PURCHASE\x20QUANTITY,\x20NOT\x20inventory.\x20This\x20is\x20the\x20number\x20of\x20units\x20you\x20are\x20'+'buying;\x20the\x20on-chain\x20order\x20total\x20=\x20sale.price\x20x\x20this\x20value.\x20Do\x20NOT\x20put\x20the\x20'+'product\x27s\x20available\x20stock\x20here\x20—\x20inventory\x20is\x20the\x20separate\x20`stock`\x20field\x20on\x20'+'the\x20Service\x27s\x20sales\x20list.\x20To\x20buy\x20one\x20unit,\x20set\x20quantity:\x201.\x20'+'(Legacy\x20callers\x20may\x20still\x20send\x20this\x20as\x20`stock`;\x20it\x20is\x20accepted\x20and\x20treated\x20'+'identically\x20as\x20the\x20purchase\x20quantity.)'),'wip_hash':z['string']()['default']('')['describe']('WIP\x20file\x20hash\x20of\x20the\x20item.\x20OMIT\x20this\x20field\x20(or\x20pass\x20empty\x20string\x20\x22\x22)\x20to\x20AUTO-FILL\x20it\x20from\x20the\x20'+'bound\x20Service\x20sale\x27s\x20wip_hash\x20—\x20the\x20on-chain\x20quote\x20then\x20verifies\x20the\x20WIP\x20file\x20matches\x20that\x20hash\x20'+'(E_WIP_HASH_NOT_MATCH\x20on\x20mismatch),\x20so\x20buyers\x20do\x20NOT\x20need\x20to\x20copy\x20any\x20hash\x20value.\x20Only\x20pass\x20an\x20'+'explicit\x20hash\x20when\x20pinning\x20a\x20value\x20seen\x20earlier:\x20that\x20protects\x20against\x20a\x20legitimate\x20merchant\x20WIP\x20'+'update\x20between\x20viewing\x20the\x20product\x20and\x20placing\x20the\x20order.')})['strict']());export const BuySchema=z['object']({'items':z['array'](ServiceBuyItemSchema)['describe']('List\x20of\x20products\x20or\x20services\x20to\x20purchase'),'total_pay':CoinParamSchema['optional']()['describe']('Actual\x20payment\x20amount.\x20FORMAT:\x20{balance:\x20<amount_in_smallest_unit>}\x20or\x20{coin:\x20<coin_object_id>}.\x20'+'The\x20token\x20type\x20and\x20precision\x20are\x20determined\x20by\x20the\x20Service\x20object\x27s\x20type_parameter\x20(the\x20generic\x20type\x20set\x20when\x20the\x20Service\x20was\x20created).\x20'+'For\x20WOW\x20(9\x20decimals):\x20{balance:\x201000000000}\x20=\x201\x20WOW.\x20'+'OPTIONAL\x20without\x20a\x20discount\x20(M-K17):\x20omit\x20it\x20and\x20the\x20handler\x20derives\x20the\x20EXACT\x20total\x20Σ(sale\x20price\x20×\x20quantity)\x20'+'from\x20the\x20Service\x27s\x20on-chain\x20sales\x20list\x20and\x20discloses\x20the\x20derived\x20value\x20—\x20no\x20transcription,\x20no\x20drift.\x20'+'REQUIRED\x20when\x20\x27discount\x27\x20is\x20set\x20(the\x20discounted\x20total\x20depends\x20on\x20the\x20coupon\x27s\x20live\x20value:\x20run\x20'+'query_toolkit\x20query_type=\x27service_quote\x27\x20and\x20pass\x20total_pay.balance\x20=\x20the\x20quoted\x20final_total).\x20'+'An\x20explicit\x20value\x20is\x20always\x20honored\x20as-is.\x20'+'AMOUNT\x20GATE\x20(M-K11-a):\x20a\x20total\x20that\x20EXACTLY\x20equals\x20Σ\x20published\x20sale\x20price\x20×\x20quantity\x20(catalog-priced\x20buy,\x20'+'in\x20the\x20Service\x27s\x20own\x20payment\x20coin\x20—\x20WOW\x20or\x20bridged\x20USDT/USDC/ETH/BTC)\x20bypasses\x20the\x20harness\x20pre-sign\x20amount\x20gate;\x20'+'any\x20other\x20amount\x20above\x20the\x20threshold\x20is\x20blocked\x20until\x20WOWOK_AMOUNT_THRESHOLD\x20is\x20raised\x20after\x20explicit\x20user\x20confirmation.'),'discount':z['string']()['optional']()['describe']('Discount\x20object\x20ID\x20or\x20name'),'payment_remark':z['string']()['optional']()['describe']('Payment\x20remark'),'payment_index':z['number']()['optional']()['describe']('Payment\x20index')})['strict']();export const DiscountSchema=z['object']({'name':z['string']()['describe']('Discount\x20name'),'discount_type':DiscountTypeSchema,'discount_value':BalanceTypeSchema['describe']('Discount\x20magnitude,\x20meaning\x20depends\x20on\x20discount_type.\x20'+'RATES\x20(0):\x20per-10000\x20off\x20rate\x20—\x2010\x20=\x200.1%\x20off,\x201000\x20=\x2010%\x20off,\x2010000\x20=\x20100%\x20off;\x20values\x20above\x2010000\x20are\x20rejected.\x20'+'FIXED\x20(1):\x20fixed\x20deduction\x20from\x20the\x20order\x20total\x20in\x20the\x20Service\x20token\x27s\x20smallest\x20units\x20(e.g.\x201000000000\x20=\x201\x20WOW\x20at\x209\x20decimals).'),'benchmark':z['union']([z['number'](),z['string']()])['optional']()['describe']('Minimum\x20order\x20total\x20(in\x20the\x20Service\x20token\x27s\x20smallest\x20units)\x20for\x20the\x20discount\x20to\x20apply\x20—\x20'+'when\x20set,\x20the\x20discount\x20is\x20applied\x20only\x20if\x20the\x20PRE-discount\x20order\x20total\x20is\x20GREATER\x20THAN\x20OR\x20EQUAL\x20TO\x20this\x20value.\x20'+'✅\x20OMITTING\x20this\x20field\x20(or\x20passing\x20null,\x20or\x200)\x20means\x20NO\x20threshold\x20—\x20the\x20discount\x20applies\x20UNCONDITIONALLY,\x20and\x20that\x20is\x20the\x20common,\x20correct\x20case.\x20'+'This\x20is\x20the\x20on-chain\x20behaviour:\x20benchmark_met\x20=\x20if\x20(option::is_some(&discount.benchmark))\x20'+'{\x20total\x20>=\x20benchmark\x20}\x20else\x20{\x20true\x20}\x20(wow-framework\x20sources/w/service.move:274-278,\x20inside\x20the\x20discount-application\x20step).\x20'+'⚠️\x20SHARP\x20EDGE\x20when\x20you\x20DO\x20set\x20a\x20threshold:\x20an\x20order\x20below\x20the\x20threshold\x20CANNOT\x20use\x20the\x20coupon\x20—\x20'+'attaching\x20it\x20at\x20buy\x20aborts\x20(error\x2038:\x20the\x20transaction\x20rolls\x20back,\x20nothing\x20is\x20paid,\x20and\x20the\x20coupon\x20is\x20preserved);\x20'+'dropping\x20it\x20means\x20the\x20buyer\x20pays\x20FULL\x20price\x20and\x20keeps\x20the\x20coupon\x20for\x20a\x20future\x20order.\x20'+'Keep\x20thresholds\x20low\x20enough\x20that\x20your\x20typical\x20basket\x20clears\x20them.\x20'+'If\x20the\x20order\x20total\x20is\x20below\x20the\x20discounted\x20price\x20the\x20payment\x20aborts\x20—\x20pay\x20the\x20list\x20price;\x20the\x20excess\x20is\x20returned\x20as\x20a\x20new\x20Coin.'),'time_ms_start':z['number']()['optional']()['describe']('Discount\x20start\x20time\x20(milliseconds).\x20⚠️\x20A\x20FUTURE\x20start\x20mints\x20a\x20coupon\x20that\x20is\x20listed\x20as\x20usable\x20but\x20'+'CANNOT\x20be\x20spent\x20until\x20the\x20window\x20opens\x20(every\x20spend\x20aborts\x20E_DISCOUNT_TIME_INVALID\x20/\x20buy\x20code\x2035).\x20'+'Legitimate\x20for\x20scheduled\x20campaigns\x20—\x20the\x20mint\x20carries\x20a\x20loud\x20warning;\x20do\x20not\x20distribute\x20the\x20coupon\x20'+'to\x20recipients\x20before\x20the\x20window\x20opens.'),'allow_zero_total':z['boolean']()['optional']()['describe']('DISCLOSURE-ONLY\x20FLAG\x20—\x20it\x20has\x20NO\x20on-chain\x20effect\x20(F-BS-74:\x20the\x20on-chain\x20Discount\x20struct\x20has\x20no\x20such\x20'+'field;\x20a\x20coupon\x20minted\x20with\x20it\x20is\x20byte-identical\x20to\x20one\x20without,\x20and\x20zero-total\x20BUYS\x20are\x20refused\x20by\x20the\x20'+'chain\x27s\x20zero-total\x20gate\x20regardless\x20—\x20order_new_zero_total_dead_order\x20client-side,\x20abort\x2042\x20on-chain).\x20'+'Setting\x20true\x20only\x20downgrades\x20the\x20MCP\x20issuance\x20BLOCK\x20for\x20a\x20coupon\x20that\x20zeroes\x20the\x20cheapest\x20SKU\x20into\x20a\x20'+'warning.\x20There\x20is\x20NO\x20free-product\x20escape\x20hatch\x20today:\x20price\x20a\x20deliberate\x20free\x20tier\x20at\x201\x20smallest\x20unit\x20'+'(or\x20deliver\x20it\x20outside\x20the\x20sales\x20rails).\x20Omit\x20(default)\x20for\x20normal\x20discounts.'),'time_ms_end':z['number']()['describe']('Discount\x20end\x20time\x20(milliseconds)'),'count':z['number']()['describe']('Number\x20of\x20SEPARATE\x20Discount\x20(coupon)\x20objects\x20minted\x20—\x20total\x20delivered\x20=\x20count\x20×\x20number\x20of\x20recipients.\x20'+'Each\x20coupon\x20object\x20is\x20SINGLE-USE\x20(consumed\x20on\x20first\x20use).\x20This\x20is\x20NOT\x20a\x20per-coupon\x20reuse\x20count:\x20'+'count:2\x20creates\x202\x20independent\x20one-time\x20coupons,\x20not\x201\x20coupon\x20usable\x20twice.'),'recipient':ManyAccountOrMark_AddressSchema['describe']('Discount\x20recipient.\x20OBJECT\x20FORM\x20REQUIRED\x20(T9\x20az3-mn-261013):\x20a\x20bare\x20string\x20is\x20REJECTED\x20here\x20—\x20'+'pass\x20{entities:\x20[{name_or_address:\x20\x27<account_name_or_0x_address>\x27}]}\x20'+'(example:\x20{entities:\x20[{name_or_address:\x20\x27buyer1\x27}]}).\x20'+'Total\x20coupons\x20delivered\x20=\x20count\x20×\x20number\x20of\x20recipients.'),'transferable':z['boolean']()['describe']('Whether\x20the\x20discount\x20object\x20recipient\x20can\x20transfer\x20the\x20discount\x20object')})['strict']();export const OrderNewSchema=z['object']({'buy':BuySchema,'agents':ManyAccountOrMark_AddressSchema['optional']()['describe']('Order\x20agents.\x20Agents\x20can\x20operate\x20the\x20order,\x20such\x20as\x20canceling\x20the\x20order,\x20modifying\x20the\x20order\x20status,\x20etc.;\x20but\x20cannot\x20receive\x20the\x20funds\x20received\x20by\x20the\x20order.'),'order_required_info':z['string']()['optional']()['describe']('Contact\x20object\x20ID\x20or\x20WTS\x20Proof\x20object,\x20RECORDED\x20on\x20the\x20Order\x20as\x20evidence\x20that\x20the\x20order\x20holder\x20'+'delivered\x20the\x20private\x20information\x20the\x20Service\x20declares\x20in\x20customer_required\x20(e.g.\x20phone/email/shipping_address).\x20'+'ACCEPTED\x20FORMS\x20(upwc-cat-261017\x20T10\x20live\x20probe):\x20an\x20on-chain\x20object\x20ADDRESS\x20(0x…),\x20a\x20REGISTERED\x20mark\x20name,\x20'+'or\x20the\x20Contact/Proof\x20object\x20itself\x20—\x20a\x20bare\x20account\x20name\x20is\x20NOT\x20an\x20object\x20reference\x20and\x20fails\x20with\x20\x27not\x20found\x27;\x20'+'RECORD-ONLY,\x20NOT\x20ENFORCED:\x20nothing\x20on-chain\x20reads\x20this\x20field\x20—\x20the\x20purchase\x20entry\x20never\x20requires\x20it,\x20and\x20an\x20order\x20'+'supplying\x20none\x20of\x20the\x20declared\x20fields\x20is\x20still\x20created.\x20FLOW:\x20the\x20order\x20holder\x20sends\x20the\x20information\x20to\x20the\x20'+'Service\x27s\x20Contact\x20(um)\x20via\x20end-to-end\x20encrypted\x20Messenger,\x20then\x20passes\x20the\x20Contact\x20object\x20ID\x20or\x20the\x20generated\x20'+'WTS\x20Proof\x20here.\x20To\x20ENFORCE\x20delivery\x20on-chain,\x20mount\x20the\x20pattern.required_info_evidence_gate\x20Guard\x20on\x20the\x20forward\x20'+'that\x20hands\x20over\x20goods\x20or\x20funds,\x20asserting\x20order.required_info\x20is\x20some\x20(presence-only\x20—\x20the\x20recorded\x20address\x20value\x20'+'is\x20never\x20a\x20guard\x20condition;\x20accepting\x20the\x20delivered\x20information\x20is\x20the\x20merchant\x27s\x20confirming\x20forward).\x20'+'ATTESTATION-ONLY:\x20the\x20recorded\x20value\x20is\x20self-attested,\x20has\x20no\x20on-chain\x20readback,\x20and\x20MUST\x20NOT\x20be\x20used\x20as\x20a\x20gate\x20condition.\x20'+'PER-ORDER\x20BINDING:\x20when\x20the\x20listing\x20genuinely\x20promises\x20a\x20per-order\x20credential,\x20use\x20the\x20dedicated\x20controlled\x20bind\x20'+'operation\x20(order_required_info_bind)\x20with\x20a\x20Proof\x20whose\x20about\x20is\x20THIS\x20order\x20and\x20whose\x20creator\x20is\x20the\x20order\x20holder\x20—\x20'+'the\x20chain\x20verifies\x20both\x20at\x20write\x20time\x20and\x20rejects\x20a\x20mismatch\x20without\x20writing\x20anything.\x20The\x20reuse\x20model\x20(one\x20Contact\x20'+'Proof\x20across\x20orders)\x20stays\x20the\x20default\x20for\x20this\x20plain\x20record\x20field;\x20pick\x20per\x20listing\x20promise,\x20not\x20per\x20habit.\x20'+'BOUNDARY:\x20that\x20binding\x20proves\x20the\x20credential\x20AUTHOR\x20only,\x20never\x20its\x20content\x20or\x20any\x20rating\x20—\x20do\x20not\x20mirror\x20it\x20onto\x20'+'review/reward\x20claims;\x20public\x20reviews\x20are\x20Repository\x20rows\x20whose\x20values\x20are\x20enforced\x20guard-side\x20via\x20data-value\x20probes,\x20'+'not\x20through\x20Proof\x20objects.'),'transfer':AccountOrMark_AddressSchema['optional']()['describe']('Set\x20the\x20new\x20owner\x20of\x20the\x20order.\x20Requires\x20order\x20owner\x20permission\x20to\x20set.'),'namedNewOrder':NamedObjectSchema['optional']()['describe']('RECOMMENDED:\x20Set\x20a\x20local\x20name\x20for\x20the\x20newly\x20created\x20Order\x20object.\x20'+'Without\x20this,\x20the\x20Order\x20is\x20only\x20referenceable\x20by\x20its\x20on-chain\x20address.\x20'+'Example:\x20{name:\x20\x27my_order_v1\x27}\x20allows\x20subsequent\x20operations\x20to\x20use\x20\x27my_order_v1\x27\x20instead\x20of\x20the\x20address.\x20'+'PLACEMENT:\x20this\x20field\x20MUST\x20be\x20inside\x20data.order_new\x20(it\x20is\x20an\x20OrderNew\x20field)\x20—\x20putting\x20namedNewOrder\x20at\x20'+'the\x20data\x20root\x20fails\x20schema\x20validation\x20with\x20\x27Unrecognized\x20key\x27.\x20'+'MIGRATION\x20TIP:\x20for\x20batch/migration\x20order\x20creation,\x20always\x20auto-generate\x20readable\x20names\x20'+'(e.g.\x20\x27<source>_<service>_<seq>\x27\x20like\x20\x27my_shop_svc_v1_0001\x27)\x20—\x20unnamed\x20orders\x20(head.name\x20=\x20null)\x20are\x20'+'only\x20address-referenceable,\x20which\x20breaks\x20downstream\x20queries,\x20displays\x20and\x20audits\x20(E-8).'),'namedNewAllocation':NamedObjectSchema['optional']()['describe']('RECOMMENDED:\x20Set\x20a\x20local\x20name\x20for\x20the\x20order\x27s\x20Allocation\x20object.\x20'+'Without\x20this,\x20the\x20Allocation\x20is\x20only\x20referenceable\x20by\x20its\x20address.\x20'+'Example:\x20{name:\x20\x27my_allocation_v1\x27}\x20allows\x20alloc_by_guard\x20to\x20reference\x20\x27my_allocation_v1\x27.'),'namedNewProgress':NamedObjectSchema['optional']()['describe']('RECOMMENDED:\x20Set\x20a\x20local\x20name\x20for\x20the\x20order\x27s\x20Progress\x20object.\x20'+'Without\x20this,\x20the\x20Progress\x20is\x20only\x20referenceable\x20by\x20its\x20address.\x20'+'Example:\x20{name:\x20\x27my_progress_v1\x27}\x20allows\x20progress\x20operations\x20to\x20use\x20\x27my_progress_v1\x27.')})['strict']();export const SalesSchema=z['discriminatedUnion']('op',[z['object']({'op':z['literal']('add'),'sales':z['array'](ServiceSaleSchema)})['strict']()['describe']('Add\x20new\x20sales\x20products\x20or\x20services.'),z['object']({'op':z['literal']('set'),'sales':z['array'](ServiceSaleSchema)})['strict']()['describe']('Replaces\x20the\x20ENTIRE\x20sales\x20list:\x20every\x20product\x20NOT\x20included\x20is\x20REMOVED\x20from\x20the\x20Service\x20'+'(its\x20stock\x20and\x20wip\x20binding\x20go\x20with\x20it).\x20To\x20change\x20ONE\x20product,\x20prefer\x20the\x20per-item\x20ops\x20'+'(price_add\x20/\x20price_reduce\x20/\x20stock_add\x20/\x20stock_reduce\x20/\x20sale_suspension)\x20over\x20re-sending\x20'+'the\x20full\x20list;\x20with\x20op:set\x20you\x20MUST\x20resend\x20ALL\x20unchanged\x20products\x20too.\x20'+'Removal\x20is\x20immediate\x20and\x20cannot\x20be\x20undone.'),z['object']({'op':z['literal']('remove'),'sales_name':z['array'](LongNameSchema['describe']('Sales\x20name'))})['strict']()['describe']('Remove\x20existing\x20sales\x20products\x20or\x20services.'),z['object']({'op':z['literal']('clear')})['strict']()['describe']('Clear\x20all\x20sales\x20products\x20or\x20services.'),z['object']({'op':z['literal']('price_add'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20update'),'value':BalanceTypeSchema['describe']('Price\x20INCREASE\x20delta\x20in\x20the\x20Service\x20token\x27s\x20smallest\x20units\x20(e.g.\x20100000000\x20=\x20+0.1\x20WOW).\x20'+'Added\x20to\x20the\x20current\x20price\x20(on-chain\x20saturating\x20add).\x20NOT\x20the\x20new\x20absolute\x20price.')})['strict']()['describe']('Raise\x20one\x20product\x27s\x20price\x20by\x20a\x20delta.\x20Only\x20the\x20named\x20product\x20is\x20touched;\x20'+'an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20the\x20MCP\x20pre-gate\x20resolves\x20the\x20name\x20against\x20'+'the\x20live\x20sales\x20list\x20and\x20refuses\x20the\x20call\x20before\x20send,\x20and\x20the\x20response\x20carries\x20a\x20'+'{field,\x20before,\x20after}\x20read-back\x20delta.'),z['object']({'op':z['literal']('price_reduce'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20update'),'value':BalanceTypeSchema['describe']('Price\x20DECREASE\x20delta\x20in\x20the\x20Service\x20token\x27s\x20smallest\x20units\x20(e.g.\x20100000000\x20=\x20-0.1\x20WOW).\x20'+'Must\x20not\x20exceed\x20the\x20current\x20price:\x20an\x20oversized\x20reduce\x20ABORTS\x20on\x20chain\x20(code\x2041)\x20and\x20does\x20NOT\x20clamp.\x20'+'NOT\x20the\x20new\x20absolute\x20price.')})['strict']()['describe']('Lower\x20one\x20product\x27s\x20price\x20by\x20a\x20delta.\x20Only\x20the\x20named\x20product\x20is\x20touched;\x20'+'an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20the\x20MCP\x20pre-gate\x20refuses\x20unknown\x20names\x20before\x20send;\x20'+'an\x20oversized\x20delta\x20is\x20refused\x20by\x20the\x20chain\x20(code\x2041)\x20instead\x20of\x20clamping;\x20'+'the\x20response\x20carries\x20a\x20{field,\x20before,\x20after}\x20read-back\x20delta.'),z['object']({'op':z['literal']('stock_add'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20update'),'value':BalanceTypeSchema['describe']('Stock\x20INCREASE\x20delta\x20(a\x20unit\x20COUNT,\x20not\x20money),\x20e.g.\x2050\x20=\x20+50\x20units.')})['strict']()['describe']('Restock\x20one\x20product\x20by\x20a\x20delta.\x20Only\x20the\x20named\x20product\x20is\x20touched;\x20'+'an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20the\x20MCP\x20pre-gate\x20refuses\x20unknown\x20names\x20before\x20send;\x20'+'the\x20response\x20carries\x20a\x20{field,\x20before,\x20after}\x20read-back\x20delta.'),z['object']({'op':z['literal']('stock_reduce'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20update'),'value':BalanceTypeSchema['describe']('Stock\x20DECREASE\x20delta\x20(a\x20unit\x20COUNT,\x20not\x20money),\x20e.g.\x2010\x20=\x20-10\x20units.\x20'+'If\x20the\x20delta\x20exceeds\x20current\x20stock,\x20the\x20stock\x20clamps\x20to\x200\x20(product\x20becomes\x20unsellable).')})['strict']()['describe']('Reduce\x20one\x20product\x27s\x20stock\x20by\x20a\x20delta\x20(e.g.\x20write-off\x20damaged\x20units).\x20'+'Only\x20the\x20named\x20product\x20is\x20touched;\x20an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20'+'the\x20MCP\x20pre-gate\x20refuses\x20unknown\x20names\x20before\x20send.'),z['object']({'op':z['literal']('sale_suspension'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20suspend\x20or\x20resume'),'suspension':z['boolean']()['describe']('true\x20=\x20suspend\x20the\x20product\x20(buy/quote\x20abort\x20with\x20E_SALE_SUSPENDED);\x20false\x20=\x20resume\x20selling.')})['strict']()['describe']('Suspend\x20or\x20resume\x20ONE\x20product\x20without\x20removing\x20it\x20(keeps\x20price/stock/WIP\x20binding).\x20'+'The\x20retail-style\x20\x27out\x20of\x20stock\x20/\x20listing\x20inactive\x27\x20state.\x20Only\x20the\x20named\x20product\x20is\x20touched;\x20'+'an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20the\x20MCP\x20pre-gate\x20refuses\x20unknown\x20names\x20before\x20send;\x20'+'the\x20response\x20carries\x20a\x20{field,\x20before,\x20after}\x20read-back\x20delta.')]);export const RestockSchema=z['discriminatedUnion']('op',[z['object']({'op':z['literal']('flag'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20LIVE\x20product\x20whose\x20restock-on-refund\x20flag\x20is\x20set'),'flagged':z['boolean']()['describe']('true\x20=\x20refunded\x20orders\x20of\x20this\x20SKU\x20put\x20their\x20purchased\x20units\x20back\x20on\x20shelf;\x20false\x20=\x20opt\x20out.')})['strict']()['describe']('Opt\x20ONE\x20live\x20product\x20in/out\x20of\x20restock-on-refund.\x20An\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032);\x20'+'delisting\x20the\x20product\x20is\x20the\x20kill\x20switch.\x20Without\x20the\x20flag,\x20the\x20order-level\x20restock\x20op\x20refuses\x20that\x20line\x20(code\x2046).\x20'+'Flagging\x20a\x20SKU\x20does\x20not\x20itself\x20touch\x20stock\x20—\x20the\x20order-level\x20op\x20below\x20does\x20the\x20restoration,\x20and\x20it\x20is\x20'+'once-per-order\x20per\x20order\x20(code\x2049)\x20and\x20bound\x20to\x20orders\x20of\x20THIS\x20service\x20(foreign\x20orders\x20abort\x20code\x2026).'),z['object']({'op':z['literal']('order'),'order':z['string']()['min'](0x1)['describe']('Address\x20or\x20local\x20name\x20of\x20the\x20REFUNDED\x20order\x20whose\x20purchased\x20units\x20go\x20back\x20on\x20shelf.\x20'+'Must\x20be\x20an\x20order\x20of\x20THIS\x20service\x20(a\x20foreign\x20order\x20aborts\x20code\x2026),\x20and\x20each\x20order\x20can\x20be\x20'+'restocked\x20exactly\x20once\x20—\x20a\x20second\x20call\x20for\x20the\x20same\x20order\x20aborts\x20code\x2049\x20(no\x20retry\x20succeeds;\x20'+'the\x20restoration\x20is\x20already\x20complete).')})['strict']()['describe']('Put\x20back\x20the\x20units\x20one\x20refunded\x20order\x20purchased,\x20read\x20from\x20the\x20order\x27s\x20own\x20purchase\x20lines\x20'+'(the\x20caller\x20cannot\x20add\x20extra\x20units).\x20Two-pass\x20all-or-nothing\x20on\x20chain:\x20every\x20line\x20must\x20be\x20'+'restock-flagged\x20and\x20still\x20live\x20before\x20the\x20first\x20unit\x20moves\x20(unflagged\x20→\x20code\x2046,\x20delisted\x20→\x20code\x2032),\x20'+'so\x20a\x20partial\x20restock\x20is\x20impossible.\x20Once-per-order\x20(code\x2049\x20on\x20replay)\x20and\x20ownership-bound\x20'+'(a\x20foreign\x20order\x20aborts\x20code\x2026);\x20the\x20applied\x20state\x20is\x20queryable\x20via\x20the\x20restock_applied\x20read.\x20'+'Emits\x20one\x20stock-restocked\x20event\x20per\x20line.')]);export const CallService_DataSchema=z['object']({'object':TypedPermissionObjectSchema,'order_new':OrderNewSchema['optional']()['describe']('Create\x20new\x20order.\x20RETRY\x20DISCIPLINE:\x20the\x20order\x20creation\x20is\x20atomic\x20on-chain\x20but\x20NOT\x20in\x20'+'observability\x20—\x20a\x20transport\x20drop\x20after\x20submit\x20leaves\x20the\x20commit\x20state\x20UNKNOWN,\x20and\x20a\x20blind\x20'+'resubmit\x20creates\x20a\x20second\x20order\x20with\x20a\x20second\x20full\x20escrow\x20(live\x20mainnet\x20incident).\x20On\x20any\x20'+'failure/timeout,\x20verify\x20whether\x20an\x20order\x20with\x20this\x20exact\x20signature\x20(service\x20+\x20buyer\x20+\x20items)\x20'+'already\x20landed\x20—\x20via\x20the\x20in-flight\x20marker\x20in\x20the\x20failure\x20envelope,\x20the\x20sender\x27s\x20recent\x20'+'on-chain\x20objects,\x20or\x20onchain_events\x20—\x20and\x20adopt\x20it\x20if\x20present;\x20resubmit\x20only\x20if\x20confirmed\x20absent.'),'description':DescriptionSchema['optional'](),'location':LongNameSchema['optional']()['describe']('The\x20service\x20area\x20and\x20scope\x20as\x20stated\x20by\x20the\x20merchant.\x20'+'IMPORTANT:\x20If\x20the\x20service\x20has\x20a\x20geographic\x20scope,\x20ALWAYS\x20specify\x20this\x20field.\x20'+'Use\x20a\x20complete\x20hierarchical\x20address\x20'+'(e.g.\x20\x27US\x20→\x20California\x20→\x20Los\x20Angeles\x20→\x20Koreatown\x27).\x20'+'If\x20only\x20a\x20partial\x20location\x20is\x20known,\x20EXPAND\x20it\x20to\x20the\x20full\x20standardized\x20form\x20'+'(country\x20→\x20province/state\x20→\x20city\x20→\x20district,\x20worldwide)\x20—\x20when\x20ambiguous,\x20offer\x202-4\x20candidate\x20completions\x20and\x20let\x20the\x20user\x20pick.'),'sales':SalesSchema['optional']()['describe']('Service\x20sales\x20products\x20or\x20services\x20list.\x20'+'⚠️\x20WIP\x20(PRODUCT-DETAIL\x20FILE)\x20—\x20HOW\x20TO\x20PROVIDE\x20IT:\x20'+'(1)\x20EASIEST\x20—\x20official\x20free\x20hosting:\x20upload\x20the\x20detail\x20file\x20with\x20the\x20wip_file\x20tool;\x20the\x20default\x20endpoint\x20is\x20'+'https://wip.store.wowok.net\x20(free:\x2010\x20files\x20per\x20account,\x20180-day\x20retention,\x2012MB\x20per\x20file,\x20rate-limited;\x20files\x20'+'stay\x20until\x20you\x20purge\x20them).\x20Put\x20the\x20returned\x20URL\x20into\x20sale.wip.\x20'+'(2)\x20Your\x20own\x20hosting:\x20any\x20publicly\x20reachable\x20URL\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20your\x20own\x20website)\x20—\x20pass\x20customBaseUrl\x20'+'to\x20wip_file\x20when\x20uploading\x20to\x20a\x20non-default\x20endpoint,\x20or\x20host\x20the\x20file\x20yourself\x20and\x20put\x20that\x20URL\x20into\x20sale.wip.\x20'+'For\x20long-lived\x20MAINNET\x20listings\x20prefer\x20your\x20own\x20endpoint\x20so\x20the\x20detail\x20page\x20outlives\x20the\x20free\x20retention\x20window.\x20'+'⚠️\x20REACHABILITY\x20RULE:\x20a\x20non-empty\x20sale.wip\x20MUST\x20be\x20a\x20publicly\x20reachable\x20URL.\x20The\x20URL\x20is\x20stored\x20ON-CHAIN\x20and\x20'+'every\x20customer\x20fetches\x20it\x20at\x20order\x20time\x20—\x20a\x20local\x20file\x20path,\x20localhost/loopback\x20URL,\x20or\x20LAN\x20private-IP\x20URL\x20is\x20'+'unreachable\x20by\x20customers\x20on\x20other\x20machines\x20and\x20aborts\x20order_new\x20100%.\x20Local-network\x20URLs\x20are\x20INTERNAL\x20TEST\x20USE\x20'+'ONLY\x20(env.network\x20=\x20localnet).\x20'+'⚠️\x20SCORING:\x20on\x20mainnet,\x20a\x20sale\x20item\x20without\x20a\x20product-detail\x20file\x20is\x20an\x20incomplete\x20listing\x20—\x20it\x20hurts\x20the\x20'+'service\x27s\x20market\x20completeness\x20score.\x20Leave\x20sale.wip\x20empty\x20(\x22\x22)\x20only\x20for\x20quick\x20local\x20testing.'),'restock':RestockSchema['optional']()['describe']('Refund\x20restocking\x20(permission\x20305\x20SERVICE_SALES).\x20'+'op:\x27flag\x27\x20opts\x20ONE\x20live\x20product\x20into\x20restock-on-refund;\x20op:\x27order\x27\x20puts\x20the\x20units\x20a\x20REFUNDED\x20order\x20'+'purchased\x20back\x20on\x20shelf.\x20The\x20order\x20path\x20is\x20all-or-nothing:\x20every\x20purchased\x20line\x20must\x20be\x20flagged\x20and\x20still\x20'+'live\x20before\x20any\x20unit\x20moves\x20(otherwise\x20the\x20chain\x20aborts\x2046/32),\x20so\x20half\x20a\x20restock\x20is\x20impossible.\x20'+'The\x20order\x20path\x20is\x20once-per-order\x20(replay\x20aborts\x2049)\x20and\x20bound\x20to\x20THIS\x20service\x20(foreign\x20order\x20aborts\x2026).\x20'+'Do\x20NOT\x20fake\x20a\x20restock\x20with\x20stock_add\x20when\x20the\x20order\x20carries\x20several\x20lines\x20—\x20use\x20op:\x27order\x27\x20so\x20quantities\x20'+'come\x20from\x20the\x20order\x20itself.\x20DISCLOSURE:\x20restock\x20reopens\x20sales\x20—\x20if\x20the\x20machine\x20(or\x20its\x20template)\x20has\x20no\x20'+'refund-terminal\x20gate,\x20orders\x20inside\x20their\x20refund\x20window\x20may\x20lose\x20refund\x20eligibility\x20or\x20create\x20'+'fund-accounting\x20ambiguity\x20once\x20restocked\x20units\x20are\x20resold;\x20confirm\x20the\x20machine\x27s\x20refund\x20rail\x20remains\x20'+'reachable\x20after\x20restocking.'),'repositories':ObjectsSchema['optional']()['describe']('Service\x20Repository\x20object\x20list.'),'rewards':ObjectsSchema['optional']()['describe']('Service\x20Reward\x20object\x20list.\x20'+'May\x20share\x20the\x20Service\x27s\x20Permission\x20(no\x20conflict\x20check\x20—\x20intentional:\x20rewards\x20are\x20the\x20provider\x27s\x20own\x20'+'incentive\x20tool;\x20only\x20Arbitration\x20requires\x20a\x20different\x20Permission\x20for\x20neutrality).\x20'+'⚠️\x20OP\x20SEMANTICS\x20(SDK\x20translation,\x20etm-mn-261013\x20E-06):\x20op:\x27set\x27\x20executes\x20as\x20clear\x20+\x20add\x20—\x20and\x20'+'reward\x20clear\x20is\x20TIME-LOCKED\x20after\x20publish\x20(E_LOCKED_TIME_NOT_ENOUGH\x20=\x20abort\x2024:\x20requires\x20pause\x20+\x20'+'setting_lock_duration\x20elapsed,\x20default\x2030\x20days).\x20BEFORE\x20publish\x20op:\x27set\x27\x20is\x20fine;\x20AFTER\x20publish\x20'+'attach\x20rewards\x20with\x20op:\x27add\x27\x20ONLY\x20(add\x20has\x20no\x20lock).'),'arbitrations':ObjectsSchema['optional']()['describe']('Service\x20Arbitration\x20object\x20list.\x20'+'FORMAT:\x20same\x20as\x20repositories\x20—\x20use\x20the\x20`objects`\x20field\x20name\x20inside\x20the\x20operation\x20data.\x20'+'Example:\x20{arbitrations:\x20{op:\x20\x27add\x27,\x20objects:\x20[{name:\x20\x27my_arb_1\x27}]}}.\x20'+'Each\x20item\x20is\x20a\x20NameOrAddress\x20(object\x20ID\x20or\x20local\x20mark\x20name).\x20'+'⚠️\x20OP\x20SEMANTICS\x20(SDK\x20translation,\x20etm-mn-261013\x20E-06\x20+\x20crs\x20P3-1):\x20op:\x27add\x27\x20appends\x20and\x20is\x20the\x20ONLY\x20'+'\x20unlocked\x20path\x20after\x20publish\x20(add\x20has\x20no\x20publish\x20assert,\x20service.move).\x20op:\x27set\x27\x20executes\x20as\x20'+'clear\x20+\x20add\x20and\x20REPLACES\x20the\x20entire\x20allowlist\x20(pass\x20EVERY\x20Arbitration\x20that\x20must\x20remain\x20bound)\x20—\x20'+'clear\x20is\x20TIME-LOCKED\x20after\x20publish\x20(E_LOCKED_TIME_NOT_ENOUGH\x20=\x20abort\x2024:\x20requires\x20pause\x20+\x20'+'setting_lock_duration\x20elapsed,\x20default\x2030\x20days),\x20so\x20use\x20op:\x27set\x27\x20BEFORE\x20publish\x20only.\x20'+'(The\x202026-10-08\x20op:\x27add\x27\x20disable\x20was\x20lifted:\x20the\x20unparseable-success-response\x20SDK\x20bug\x20it\x20responded\x20'+'to\x20is\x20fixed\x20—\x20safeTextJson\x20+\x20big-int\x20conversion.)\x20'+'⚠️\x20PERMISSION\x20RULE\x20(contract-enforced):\x20every\x20Arbitration\x20bound\x20here\x20'+'MUST\x20use\x20a\x20Permission\x20object\x20DIFFERENT\x20from\x20THIS\x20Service\x27s\x20permission\x20—\x20binding\x20an\x20Arbitration\x20that\x20shares\x20'+'the\x20Service\x27s\x20Permission\x20aborts\x20with\x20E_ARBITRATION_PERMISSION_CONFLICT\x20(error\x2033).\x20'+'Create\x20a\x20dedicated\x20Permission\x20for\x20each\x20Arbitration\x20BEFORE\x20binding.\x20'+'DESIGN\x20RATIONALE\x20(confirmed\x20intentional):\x20dispute\x20resolution\x20requires\x20NEUTRALITY\x20—\x20an\x20Arbitration\x20controlled\x20'+'by\x20the\x20same\x20Permission\x20admins\x20as\x20the\x20Service\x20it\x20judges\x20would\x20be\x20a\x20conflict\x20of\x20interest.\x20ONLY\x20Arbitration\x20has\x20'+'this\x20check:\x20Reward\x20and\x20Treasury\x20objects\x20MAY\x20share\x20the\x20Service\x27s\x20Permission\x20(they\x20are\x20the\x20provider\x27s\x20own\x20tools).'),'machine':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Service\x20Machine\x20object\x20ID\x20or\x20name.\x20The\x20Machine\x20object\x20must\x20be\x20in\x20published\x20state.'),'discount':DiscountSchema['optional']()['describe']('Issue\x20discount.'),'discount_destroy':z['array'](NameOrAddressSchema)['optional']()['describe']('Destroy\x20existing\x20discount\x20object\x20ID\x20list.'),'discount_send':z['object']({'discounts':z['array'](NameOrAddressSchema)['min'](0x1)['describe']('Coupon\x20object\x20IDs\x20or\x20local\x20names\x20to\x20transfer.\x20You\x20MUST\x20own\x20these\x20Discount\x20objects.\x20'+'Each\x20coupon\x20must\x20have\x20been\x20minted\x20with\x20transferable:true\x20—\x20otherwise\x20the\x20chain\x20aborts\x20with\x20'+'E_DISCOUNT_NOT_TRANSFERABLE\x20(semantic\x20code\x20service:10).\x20Coupons\x20stay\x20single-use;\x20'+'the\x20transfer\x20does\x20not\x20change\x20that.\x20There\x20is\x20NO\x20batch\x20entry\x20on-chain\x20—\x20each\x20coupon\x20is\x20'+'delivered\x20by\x20its\x20own\x20singleton\x20call\x20(fanned\x20out\x20automatically);\x20prefer\x20ONE\x20coupon\x20per\x20'+'transaction\x20for\x20coupon\x20migrations\x20(SDK\x20cap\x20MAX_DISCOUNT_COUNT_ONCE\x20still\x20applies).'),'recipient':AccountOrMark_AddressSchema['describe']('Destination\x20address\x20(or\x20account/local\x20mark\x20resolvable\x20to\x20one).\x20ALL\x20listed\x20coupons\x20'+'are\x20moved\x20to\x20this\x20single\x20address\x20in\x20one\x20call.')})['strict']()['optional']()['describe']('Transfer\x20ALREADY-MINTED\x20coupons\x20you\x20own\x20to\x20another\x20address,\x20instead\x20of\x20destroying\x20them\x20'+'(discount_destroy)\x20or\x20minting\x20new\x20ones\x20(discount).\x20This\x20is\x20a\x20pure\x20ownership\x20handover:\x20'+'the\x20on-chain\x20entry\x20points\x20are\x20public\x20funs\x20with\x20NO\x20Service\x20permission\x20requirement\x20—\x20'+'the\x20only\x20preconditions\x20are\x20that\x20the\x20sender\x20owns\x20each\x20coupon\x20and\x20each\x20was\x20minted\x20'+'transferable:true.\x20Typical\x20use:\x20hand\x20out\x20pre-minted\x20campaign\x20coupons,\x20or\x20move\x20coupons\x20'+'between\x20your\x20own\x20accounts.'),'customer_required':z['array'](NotEmptyNameSchema)['optional']()['describe']('Customer\x20required\x20information\x20labels.\x20Such\x20as\x20phone,\x20email,\x20shipping_address,\x20etc.\x20'+'DECLARATIVE\x20ONLY:\x20nothing\x20on-chain\x20or\x20in\x20the\x20SDK\x20reads\x20this\x20field\x20—\x20it\x20is\x20a\x20pure\x20'+'listing\x20declaration\x20of\x20what\x20the\x20customer\x20will\x20be\x20asked\x20to\x20provide.\x20It\x20is\x20NOT\x20enforced\x20against\x20'+'order_new\x20and\x20NOT\x20linked\x20to\x20any\x20delivery\x20path\x20by\x20the\x20SDK.\x20'+'OPERATIONAL\x20PAIRING\x20(convention,\x20not\x20enforcement):\x20deliver\x20the\x20actual\x20private\x20information\x20via\x20'+'end-to-end\x20encrypted\x20Messenger\x20to\x20the\x20Service\x27s\x20Contact\x20bound\x20as\x20`um`\x20—\x20bind\x20`um`\x20when\x20you\x20use\x20'+'customer_required,\x20or\x20the\x20customer\x20has\x20no\x20encrypted\x20channel\x20to\x20send\x20it\x20through.\x20To\x20ENFORCE\x20delivery\x20'+'on-chain,\x20mount\x20the\x20pattern.required_info_evidence_gate\x20Guard\x20on\x20the\x20goods/funds\x20forward\x20(see\x20'+'order_new.order_required_info).'),'order_allocators':z['union']([AllocatorsSchema,z['null']()])['optional']()['describe']('Order\x20fund\x20allocator.\x20Max\x20100\x20allocators\x20(MAX_ALLOCATOR_COUNT).\x20'+'✅\x20EACH\x20allocator\x20has\x20a\x20guard,\x20and\x20EVERY\x20allocator\x20whose\x20guard\x20address\x20matches\x20the\x20supplied\x20guard\x20RUNS\x20—\x20'+'they\x20are\x20NOT\x20mutually\x20exclusive\x20and\x20NOT\x20first-match-wins.\x20'+'One\x20guard\x20may\x20legitimately\x20authorize\x20several\x20distribution\x20rules\x20(different\x20fix\x20/\x20rate\x20/\x20cap);\x20each\x20contributes\x20'+'its\x20own\x20Payment\x20and\x20consumes\x20its\x20own\x20once-slot\x20(keyed\x20by\x20the\x20allocator\x20index).\x20Allocators\x20are\x20evaluated\x20in\x20vector\x20'+'order\x20against\x20the\x20SHRINKING\x20pool,\x20so\x20a\x20later\x20allocator\x20only\x20sees\x20the\x20balance\x20left\x20by\x20the\x20earlier\x20ones\x20—\x20which\x20is\x20'+'exactly\x20how\x20a\x20waterfall\x20(e.g.\x20Amount\x20fee\x20+\x20net\x20Rate\x20split)\x20is\x20built.\x20'+'On-chain\x20truth:\x20wow::allocation\x20(allocation.move:507-509,\x20`while`\x20loop\x20over\x20all\x20allocators,\x20`if\x20(guard\x20address\x20==\x20alloc.guard)`).\x20'+'⚠️\x20If\x20you\x20WANT\x20mutual\x20exclusion\x20you\x20must\x20express\x20it\x20inside\x20the\x20Guard\x20itself\x20(make\x20the\x20conditions\x20logically\x20exclusive).\x20'+'Set\x20to\x20null\x20to\x20clear.\x20'+'⚠️\x20IMMUTABLE\x20after\x20publish\x20except\x20APPEND:\x20order_allocators\x20full\x20replacement\x20can\x20ONLY\x20be\x20done\x20BEFORE\x20publish=true\x20'+'(on-chain\x20check\x20rejects\x20after\x20publish\x20—\x20E_ALREADY_PUBLISHED).\x20'+'After\x20publish,\x20the\x20ONLY\x20mutation\x20is\x20order_allocators_append\x20(prefix-frozen\x20extension\x20—\x20see\x20that\x20field).\x20'+'There\x20is\x20NO\x20pause+lock\x20exception\x20for\x20order_allocators\x20(unlike\x20arbitrations/rewards\x20which\x20have\x20time-lock\x20removal).\x20'+'PRE-PUBLISH\x20CHECKLIST:\x20verify\x20all\x20guard\x20names\x20resolve,\x20all\x20sharing\x20amounts\x20are\x20correct,\x20'+'threshold\x20is\x20set,\x20and\x20recipient\x20types\x20(Entity/Signer/GuardIdentifier)\x20are\x20intended\x20before\x20calling\x20publish=true.\x20'+'GuardIdentifier\x20sharing\x20mode:\x20{who:\x20{GuardIdentifier:\x20<u8>},\x20sharing:\x20<rate>,\x20mode:\x20\x27Rate\x27}\x20—\x20'+'resolves\x20recipient\x20from\x20the\x20Guard\x20table\x20submission\x20at\x20allocation\x20time.\x20BINDING\x20SEMANTICS\x20(contract-enforced,\x20abort\x20code\x2015):\x20'+'in\x20a\x20Service-created\x20Allocation\x20EVERY\x20GuardIdentifier\x20submission\x20must\x20equal\x20the\x20PAYING\x20order\x20—\x20it\x20is\x20always\x20\x27the\x20order\x27,\x20'+'never\x20a\x20third\x20party\x20whose\x20address\x20is\x20supplied\x20at\x20trigger\x20time;\x20use\x20{who:{Entity:...}}\x20for\x20named\x20parties.\x20'+'Canonical\x20order\x20pattern:\x20the\x20recipient\x20slot\x20is\x20the\x20single\x20'+'submitted\x20Order\x20(constrained\x20by\x20the\x20Guard\x20—\x20service\x20binding,\x20qualifying\x20node,\x20signer==order.owner);\x20funds\x20land\x20at\x20that\x20order\x20object\x20and\x20'+'are\x20receivable\x20only\x20by\x20its\x20owner\x20(object\x20receipt\x20=\x20owner\x20receipt).\x20Safety\x20is\x20determined\x20by\x20constraint\x20sufficiency\x20—\x20run\x20the\x20recipient\x20'+'constraint\x20audit\x20before\x20publish.\x20Fixed\x20recipients\x20should\x20use\x20{who:{Entity:...}};\x20unbound\x20Signer\x20recipients\x20are\x20a\x20CRITICAL\x20theft\x20risk.\x20'+'MULTI-CALL\x20ALLOCATION:\x20an\x20allocation\x20can\x20be\x20executed\x20MULTIPLE\x20times\x20(no\x20consumed\x20flag\x20in\x20contract).\x20'+'Use\x20Amount\x20mode\x20(not\x20Surplus)\x20for\x20recurring\x20allocations\x20—\x20an\x20uncapped\x20Surplus\x20sweeps\x20the\x20entire\x20remaining\x20balance\x20on\x20first\x20run.\x20'+'For\x20monthly\x20payment\x20scenarios,\x20create\x20multiple\x20Allocators\x20with\x20time-based\x20Guards\x20+\x20Amount\x20mode\x20sharing\x20items.'),'order_allocators_append':AllocatorsSchema['optional']()['describe']('Append-only\x20correction\x20window\x20for\x20order_allocators\x20—\x20the\x20ONLY\x20allocator\x20mutation\x20allowed\x20AFTER\x20publish\x20(J1).\x20'+'REQUIREMENTS\x20(chain-enforced,\x20allocation\x20abort\x20code\x2020\x20EALLOCATORS_NOT_EXTENSION):\x20the\x20supplied\x20Allocators\x20must\x20be\x20a\x20pure\x20'+'EXTENSION\x20of\x20the\x20current\x20on-chain\x20plan\x20—\x20every\x20existing\x20allocator\x20appears\x20VERBATIM\x20as\x20a\x20prefix\x20(same\x20guard,\x20same\x20sharing,\x20'+'same\x20fix/max),\x20threshold\x20must\x20be\x20UNCHANGED;\x20only\x20description\x20may\x20change\x20freely.\x20New\x20allocators\x20are\x20appended\x20after\x20the\x20prefix.\x20'+'WHY:\x20rewriting\x20an\x20existing\x20allocator\x20or\x20changing\x20the\x20threshold\x20would\x20retroactively\x20alter\x20payout\x20rules\x20for\x20orders\x20already\x20'+'escrowed\x20against\x20the\x20old\x20plan.\x20Clearing\x20the\x20plan\x20(null)\x20is\x20NOT\x20possible\x20here\x20—\x20that\x20would\x20strand\x20in-flight\x20orders.\x20'+'Permission:\x20same\x20index\x20313\x20as\x20order_allocators.\x20'+'USE\x20CASE:\x20you\x20forgot\x20one\x20allocator\x20guard\x20(e.g.\x20the\x20refund\x20exit\x20for\x20a\x20review\x20node)\x20and\x20the\x20Service\x20is\x20already\x20published\x20—\x20'+'instead\x20of\x20abandoning\x20the\x20Service,\x20append\x20the\x20missing\x20allocator.\x20'+'⚠️\x20SCOPE\x20—\x20NEW\x20ORDERS\x20ONLY:\x20each\x20order\x20instantiates\x20its\x20own\x20Allocation\x20from\x20this\x20plan\x20AT\x20BUY\x20TIME,\x20so\x20appending\x20'+'changes\x20the\x20template\x20for\x20FUTURE\x20orders\x20only.\x20Orders\x20already\x20escrowed\x20under\x20the\x20previous\x20plan\x20do\x20NOT\x20gain\x20the\x20'+'appended\x20allocator\x20—\x20their\x20Allocation\x20(and\x20its\x20fund\x20exits)\x20is\x20frozen\x20as\x20originally\x20instantiated;\x20if\x20in-flight\x20orders\x20'+'are\x20already\x20stranded,\x20this\x20append\x20does\x20NOT\x20rescue\x20them.\x20'+'⚠️\x20Appended\x20allocators\x20are\x20evaluated\x20AFTER\x20the\x20existing\x20ones\x20against\x20the\x20shrinking\x20pool\x20(vector\x20order),\x20so\x20they\x20see\x20the\x20'+'balance\x20left\x20by\x20earlier\x20allocators\x20—\x20design\x20appended\x20waterfall\x20tails\x20accordingly.\x20'+'⚠️\x20Once\x20appended,\x20an\x20allocator\x20can\x20NEVER\x20be\x20edited\x20or\x20removed\x20—\x20same\x20permanence\x20as\x20the\x20original\x20plan.'),'buy_guard':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Buy\x20guard\x20object\x20ID\x20or\x20name.'),'compensation_fund_add':CoinParamSchema['optional']()['describe']('Deposit\x20funds\x20into\x20the\x20Service\x20compensation_fund.\x20Used\x20to\x20pay\x20indemnity\x20when\x20arbitration\x20resolves\x20in\x20customer\x27s\x20favor.\x20'+'FORMAT:\x20{balance:\x20<amount_in_smallest_unit>}\x20—\x20the\x20field\x20name\x20is\x20\x27balance\x27\x20(NOT\x20\x27amount\x27).\x20'+'The\x20token\x20type\x20and\x20precision\x20are\x20determined\x20by\x20the\x20Service\x20object\x27s\x20type_parameter\x20(the\x20generic\x20type\x20set\x20when\x20the\x20Service\x20was\x20created).\x20'+'For\x20WOW\x20(9\x20decimals):\x20{balance:\x201000000000}\x20=\x201\x20WOW.\x20'+'For\x20tokens\x20with\x20different\x20decimals,\x20adjust\x20accordingly\x20(e.g.\x20USDC\x20has\x206\x20decimals,\x20so\x20{balance:\x201000000}\x20=\x201\x20USDC).\x20'+'REQUIRES:\x20Permission\x20index\x20315\x20(SERVICE_COMPENSATION_FUND_DEPOSIT)\x20for\x20NON-ADMIN\x20callers.\x20The\x20Permission\x20owner\x20and\x20admin\x20short-circuit\x20every\x20builtin\x20index\x20check\x20(no\x20grant\x20needed);\x20only\x20non-admin\x20callers\x20must\x20be\x20granted\x20315\x20first.\x20'+'COMMON\x20MISTAKE:\x20using\x20{amount:\x20...}\x20or\x20{amount:\x20...,\x20type:\x20\x27WOW\x27}\x20—\x20these\x20will\x20fail.\x20The\x20correct\x20field\x20is\x20\x27balance\x27.'),'compensation_fund_withdraw':z['object']({'receipt':AccountOrMark_AddressSchema['describe']('Receipt\x20address\x20that\x20will\x20receive\x20the\x20withdrawn\x20funds\x20(as\x20a\x20new\x20Payment\x20object)'),'payment_info':PaymentInfoSchema['describe']('Payment\x20info\x20for\x20the\x20new\x20Payment\x20object\x20created\x20to\x20hold\x20the\x20withdrawn\x20funds')})['strict']()['optional']()['describe']('Withdraw\x20ALL\x20funds\x20from\x20the\x20compensation_fund\x20to\x20a\x20new\x20Payment\x20object\x20owned\x20by\x20`receipt`.\x20'+'REQUIRES:\x20Service\x20must\x20be\x20paused\x20AND\x20setting_lock_duration\x20must\x20have\x20elapsed\x20since\x20pause\x20(the\x20unpublished-state\x20check).\x20'+'Withdraws\x20the\x20ENTIRE\x20compensation_fund\x20balance\x20via\x20balance::withdraw_all.\x20'+'DIFFERENT\x20from\x20the\x20order-side\x20compensation\x20claim\x20(for\x20arbitration-winning\x20users,\x20no\x20pause+lock\x20required).'),'setting_lock_duration_add':z['number']()['optional']()['describe']('Additional\x20lock\x20duration\x20to\x20ADD\x20to\x20\x27setting_lock_duration\x27\x20(Move\x20field\x20name).\x20'+'UNIT:\x20milliseconds\x20(ms).\x20Example:\x202592000000\x20=\x2030\x20days,\x207776000000\x20=\x2090\x20days,\x2086400000\x20=\x201\x20day.\x20'+'DEFAULT:\x202592000000\x20(30\x20days,\x20DEFAULT_LOCK_DURATION).\x20This\x20is\x20the\x20initial\x20value\x20when\x20a\x20Service\x20is\x20created.\x20'+'Behavior:\x20additive\x20(safe_add)\x20—\x20only\x20increases,\x20never\x20decreases.\x20'+'Can\x20be\x20called\x20BEFORE\x20or\x20AFTER\x20publish\x20(no\x20publish\x20check).\x20'+'Affects\x20the\x20waiting\x20time\x20required\x20by:\x20compensation_fund_withdraw,\x20arbitrations\x20remove/clear,\x20rewards\x20remove/clear\x20'+'(all\x20require\x20pause\x20+\x20setting_lock_duration\x20elapsed\x20since\x20pause).'),'compensation_fund_receive':ReceivedBalanceOrRecentlySchema['optional']()['describe']('Receive\x20order\x20compensation\x20funds\x20from\x20this\x20Service\x20object.'+RECEIVE_FORMAT_BLOCK_BALANCE),'owner_receive':ReceivedObjectsOrRecentlySchema['optional']()['describe']('Unwrap\x20CoinWrapper\x20objects\x20and\x20other\x20objects\x20received\x20by\x20this\x20Service\x20object\x20and\x20send\x20them\x20to\x20the\x20owner\x20of\x20its\x20Permission\x20object.'+RECEIVE_FORMAT_BLOCK_OBJECTS),'um':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Contact\x20object\x20ID\x20or\x20name\x20—\x20the\x20Service\x27s\x20customer-service\x20channel.\x20'+'This\x20is\x20the\x20object\x20that\x20Messenger\x20routes\x20encrypted\x20messages\x20to\x20for\x20pre-order\x20negotiation,\x20'+'private-info\x20delivery\x20(see\x20customer_required),\x20and\x20post-sale\x20support.\x20'+'⚠️\x20REQUIRED\x20whenever\x20customer_required\x20is\x20set:\x20without\x20um,\x20the\x20customer\x27s\x20private\x20information\x20'+'has\x20no\x20channel\x20to\x20reach\x20the\x20merchant.'),'arb_statement':z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20(case)\x20to\x20attach\x20the\x20statement\x20to.'),'order':NameOrAddressSchema['describe']('The\x20order\x20the\x20case\x20was\x20opened\x20against\x20—\x20must\x20belong\x20to\x20this\x20Service.'),'statement':z['string']()['max'](0xfa0)['describe']('Seller\x27s\x20text\x20statement\x20appended\x20to\x20the\x20case\x20record\x20(ArbStatementEvent).\x20'+'Event-only:\x20nothing\x20on\x20the\x20Arb\x20object\x20is\x20mutated;\x20the\x20record\x20cannot\x20be\x20rewritten\x20or\x20deleted.\x20'+'Use\x20to\x20declare\x20facts\x20or\x20report\x20the\x20customer\x27s\x20behavior\x20(e.g.\x20absence,\x20non-cooperation).\x20'+'PRIMARY\x20evidence\x20channel\x20is\x20Messenger\x20(encrypted\x20WTS\x20records\x20with\x20the\x20customer);\x20'+'this\x20is\x20the\x20SECONDARY\x20on-chain\x20declare/report\x20channel.')})['optional']()['describe']('Service\x20(defendant-side)\x20statement\x20on\x20an\x20arbitration\x20case\x20—\x20permission\x20index\x20321.\x20'+'Lets\x20the\x20Service\x20permission\x20holder\x20put\x20a\x20bounded\x20text\x20on\x20the\x20record\x20for\x20any\x20case\x20against\x20'+'an\x20order\x20of\x20this\x20service\x20WITHOUT\x20holding\x20the\x20order.\x20Callable\x20in\x20ANY\x20case\x20status.\x20'+'The\x20Arb\x27s\x20coin\x20type\x20is\x20derived\x20automatically\x20from\x20the\x20arb\x20object\x20on-chain.'),'pause':z['boolean']()['optional']()['describe']('Whether\x20to\x20pause\x20accepting\x20new\x20orders.'),'publish':z['boolean']()['optional']()['describe']('Whether\x20to\x20publish\x20the\x20Service.\x20After\x20publishing,\x20customers\x20can\x20place\x20orders.\x20'+'⚠️\x20PRE-PUBLISH\x20EVALUATION\x20(mandatory,\x20stop-node\x20fund-exit\x20coverage):\x20service.allocators\x20MUST\x20cover\x20EVERY\x20stop\x20node\x20of\x20the\x20bound\x20Machine\x20—\x20every\x20node\x20where\x20an\x20order\x20can\x20rest\x20(terminal\x20nodes\x20AND\x20waiting\x20states:\x20review\x20windows,\x20handovers,\x20open\x20disputes)\x20needs\x20BOTH\x20a\x20withdrawal\x20(release)\x20AND\x20a\x20refund\x20allocation\x20rule,\x20and\x20each\x20mapping\x20guard\x20must\x20be\x20satisfiable\x20in\x20BOTH\x20directions.\x20An\x20uncovered\x20stop\x20node\x20strands\x20escrowed\x20funds\x20permanently\x20(order_allocators\x20is\x20L1-immutable).\x20Review-gated\x20release\x20is\x20a\x20TIME\x20VARIANT\x20inside\x20ONE\x20exit\x20guard\x20(\x27reviewed\x20OR\x20unreviewed\x20after\x20T\x27),\x20never\x20parallel\x20outgoing\x20edges\x20(race\x20deadlock).\x20See\x20pattern.fund_flow_stop_node_coverage\x20+\x20rules\x20R-M5-03\x20/\x20R-M5-09.\x20'+'VERIFIED\x20against\x20Move\x20source\x20+\x20SDK\x20(4-level\x20immutability\x20matrix):\x0a'+'\x20\x20L1\x20—\x20PERMANENTLY\x20LOCKED\x20after\x20publish\x20(assert!(!bPublished),\x20no\x20pause+lock\x20exception):\x0a'+'\x20\x20\x20\x20•\x20machine\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(workflow\x20template)\x0a'+'\x20\x20\x20\x20•\x20order_allocators\x20(fund\x20distribution\x20rules\x20—\x20full\x20replacement\x20locked;\x20APPEND-ONLY\x20additions\x20'+'remain\x20possible\x20via\x20order_allocators_append,\x20prefix/threshold\x20frozen)\x0a'+'\x20\x20L2\x20—\x20TIME-LOCKED\x20after\x20publish\x20(unpublished-state\x20check\x20—\x20requires\x20pause\x20+\x20setting_lock_duration\x20elapsed):\x0a'+'\x20\x20\x20\x20•\x20arbitrations\x20remove/clear\x20(dispute\x20resolution\x20objects)\x0a'+'\x20\x20\x20\x20•\x20rewards\x20remove/clear\x20\x20\x20\x20\x20\x20\x20(reward\x20objects)\x0a'+'\x20\x20\x20\x20•\x20compensation_fund_withdraw\x20(withdraw\x20ALL\x20funds)\x0a'+'\x20\x20\x20\x20RATIONALE\x20(deliberate\x20design,\x20NOT\x20a\x20defect):\x20these\x20three\x20REVOKE\x20buyer-facing\x20guarantees\x20that\x20placed\x20orders\x20already\x20rely\x20on\x20—\x20the\x20lock\x20protects\x20buyer\x20expectations.\x20Daily\x20operations\x20(sales\x20add/remove,\x20price,\x20stock,\x20description)\x20are\x20NEVER\x20gated\x20by\x20this\x20lock.\x0a'+'\x20\x20L3\x20—\x20REMAIN\x20MUTABLE\x20after\x20publish\x20(no\x20SDK\x20check,\x20no\x20Move\x20check):\x0a'+'\x20\x20\x20\x20•\x20arbitrations\x20add,\x20rewards\x20add\x20(no\x20assert\x20—\x20can\x20add\x20after\x20publish)\x0a'+'\x20\x20\x20\x20•\x20buy_guard,\x20sales,\x20discount,\x20description,\x20location,\x20pause,\x20repositories,\x0a'+'\x20\x20\x20\x20•\x20compensation_fund_add,\x20setting_lock_duration_add,\x20customer_required,\x20um\x20(Contact)\x0a'+'These\x202\x20L1-LOCKED\x20fields\x20(machine/order_allocators)\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.\x0a'+'arbitrations/rewards\x20can\x20be\x20ADDED\x20after\x20publish\x20but\x20remove/clear\x20requires\x20pause+lock.\x0a'+'\x0a'+'⚠️\x20COMPENSATION_FUND\x20+\x20ARBITRATION\x20LINKAGE:\x0a'+'\x20\x20At\x20publish\x20time,\x20if\x20compensation_fund\x20>\x200,\x20Arbitration\x20MUST\x20be\x20bound:\x0a'+'\x20\x20\x20\x20if\x20(balance::value(&self.compensation_fund)\x20>\x200)\x20{\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20assert!(arbitration_count\x20>\x200,\x20E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND);\x0a'+'\x20\x20\x20\x20}\x0a'+'\x20\x20The\x20MCP\x20handler\x20enforces\x20this\x20as\x20a\x20HARD\x20PRE-CHECK:\x20if\x20publish=true\x20AND\x20compensation_fund_add\x20'+'\x20\x20is\x20set\x20in\x20the\x20same\x20call\x20AND\x20arbitrations\x20is\x20empty,\x20the\x20call\x20is\x20REJECTED\x20before\x20submission.\x20'+'\x20\x20If\x20compensation_fund\x20was\x20deposited\x20in\x20a\x20prior\x20call,\x20a\x20SOFT\x20WARNING\x20is\x20issued.\x0a'+'\x0a'+'SCHEMA-03\x20/\x20P0-01\x20fix\x20—\x20DEPLOYMENT\x20WORKFLOW\x20(two-phase,\x20avoids\x20circular\x20dependency):\x0a'+'\x20\x20Phase\x201\x20—\x20CREATE\x20(no\x20publish):\x20object={name:\x27my-service\x27,\x20type_parameter,\x20permission}\x20+\x20machine\x20+\x20order_allocators\x20+\x20arbitrations.\x0a'+'\x20\x20\x20\x20NOTE:\x20buy_guard\x20can\x20use\x20a\x20LocalMark\x20NAME\x20(not\x20address)\x20to\x20break\x20the\x20Guard→Service\x20circular\x20dependency.\x0a'+'\x20\x20\x20\x20The\x20name\x20is\x20resolved\x20to\x20an\x20address\x20at\x20transaction\x20build\x20time.\x0a'+'\x20\x20Phase\x202\x20—\x20PUBLISH:\x20object=\x27my-service\x27\x20(string\x20ref)\x20+\x20publish=true.\x0a'+'\x20\x20\x20\x20All\x20L1-LOCKED\x20fields\x20must\x20be\x20set\x20in\x20Phase\x201;\x20Phase\x202\x20only\x20flips\x20the\x20publish\x20flag.\x0a'+'\x20\x20Post-publish\x20updates:\x20buy_guard,\x20sales,\x20description,\x20repositories\x20(add),\x20rewards\x20(add),\x20arbitrations\x20(add),\x20etc.'),'creation_plan':z['any']()['optional']()['describe']('WIZARD\x20CONTRACT:\x20the\x20Plan\x20JSON\x20that\x20merchant_guide\x20delivered\x20(its\x20creation_plan\x20/\x20plan\x20field),\x20'+'passed\x20back\x20VERBATIM\x20on\x20the\x20Service\x20publish\x20call\x20(data.publish=true).\x20The\x20publish\x20gate\x20replays\x20the\x20'+'plan\x27s\x20freeze\x20matrix\x20(preflight)\x20right\x20before\x20submission\x20and\x20REJECTS\x20the\x20publish\x20when\x20any\x20gate\x20fails\x20'+'(structural\x20issues,\x20critical\x20audit\x20findings,\x20or\x20a\x20failed\x20rule\x20check)\x20—\x20this\x20closes\x20the\x20preflight\x20bypass\x20'+'where\x20a\x20plan\x20that\x20failed\x20merchant_guide\x27s\x20audit\x20could\x20still\x20be\x20materialized\x20manually.\x20'+'OMIT\x20this\x20field\x20on\x20every\x20NON-publish\x20call\x20and\x20on\x20fully\x20manual\x20(non-wizard)\x20builds\x20—\x20the\x20manual\x20path\x20is\x20'+'unchanged\x20and\x20never\x20gated\x20by\x20this\x20field.\x20Do\x20NOT\x20edit,\x20trim,\x20or\x20\x27improve\x27\x20the\x20plan\x20in\x20transit:\x20a\x20mutated\x20'+'plan\x20is\x20rejected\x20(target\x20cross-check)\x20and\x20the\x20publish\x20must\x20be\x20redone\x20from\x20merchant_guide.'),'reentry_kind':z['enum'](['none','review-loop','paid-cycle'])['optional']()['describe']('AP-3\x20loop-semantics\x20declaration\x20for\x20the\x20publish\x20audit\x20(ctra\x20F-06\x20root\x20cure):\x20overrides\x20the\x20'+'word-stem\x20loop\x20classifier\x20when\x20the\x20machine\x20graph\x20contains\x20a\x20cycle.\x20'+'\x27none\x27\x20=\x20default\x20(word-stem\x20classification)\x20/\x20\x27review-loop\x27\x20=\x20same-order\x20no-charge\x20revisits\x20/\x20'+'\x27paid-cycle\x27\x20=\x20per-revisit\x20fee,\x20fund\x20gate\x20required.\x20'+'MCP-side\x20audit\x20declaration\x20ONLY\x20(pre_publish\x20harness\x20hook)\x20—\x20never\x20sent\x20on-chain;\x20the\x20handler\x20strips\x20it\x20'+'before\x20the\x20SDK\x20call.\x20Mirror\x20of\x20the\x20template\x20frontmatter\x20twin\x20(template-loader).')})['strict']()['describe']('On-chain\x20Service\x20operations.\x20USAGE:\x20(1)\x20CREATE\x20NEW:\x20Set\x20\x27object\x27\x20field\x20with\x20OBJECT\x20format\x20{name,\x20type_parameter,\x20permission,\x20...}\x20to\x20create\x20a\x20Service.\x20NOTE:\x20\x27name\x27\x20goes\x20INSIDE\x20\x27object\x27,\x20NOT\x20at\x20the\x20data\x20root\x20level.\x20\x27permission\x27\x20can\x20be\x20a\x20new\x20Permission\x20object\x20or\x20reference\x20an\x20existing\x20one\x20-\x20check\x20\x27object\x27\x20field\x20description\x20for\x20details.\x20(2)\x20OPERATE\x20EXISTING:\x20Set\x20\x27object\x27\x20field\x20with\x20STRING\x20format\x20(object\x20ID\x20or\x20name).\x20The\x20\x27object\x27\x20field\x20is\x20CRITICAL\x20and\x20REQUIRED\x20in\x20both\x20cases.\x20STRING\x20for\x20existing,\x20OBJECT\x20for\x20new\x20creation.');export const CallService_InputSchema=z['object']({'data':CallService_DataSchema,'env':CallEnvSchema['optional'](),'submission':SubmissionCallSchema['optional']()})['strict']();
|
|
1
|
+
import{z}from'zod';import{TypedPermissionObjectSchema,CoinParamSchema,NamedObjectSchema,ObjectsSchema,CallEnvSchema,SubmissionCallSchema}from'./base.js';import{AllocatorsSchema,DiscountTypeSchema,ServiceSaleSchema,PaymentInfoSchema}from'../query/index.js';import{AccountOrMark_AddressSchema,DescriptionSchema,LongNameSchema,ManyAccountOrMark_AddressSchema,NameOrAddressSchema,NotEmptyNameSchema,ReceivedBalanceOrRecentlySchema,ReceivedObjectsOrRecentlySchema,RECEIVE_FORMAT_BLOCK_OBJECTS,RECEIVE_FORMAT_BLOCK_BALANCE}from'../common/index.js';import{BalanceTypeSchema}from'../common/index.js';export const ServiceBuyItemSchema=z['preprocess'](a=>{if(a&&typeof a==='object'&&'stock'in a&&!('quantity'in a)){const {stock:b,...c}=a;return{...c,'quantity':b};}return a;},z['object']({'name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20or\x20service\x20to\x20purchase'),'quantity':BalanceTypeSchema['describe']('⚠️\x20PURCHASE\x20QUANTITY,\x20NOT\x20inventory.\x20This\x20is\x20the\x20number\x20of\x20units\x20you\x20are\x20'+'buying;\x20the\x20on-chain\x20order\x20total\x20=\x20sale.price\x20x\x20this\x20value.\x20Do\x20NOT\x20put\x20the\x20'+'product\x27s\x20available\x20stock\x20here\x20—\x20inventory\x20is\x20the\x20separate\x20`stock`\x20field\x20on\x20'+'the\x20Service\x27s\x20sales\x20list.\x20To\x20buy\x20one\x20unit,\x20set\x20quantity:\x201.\x20'+'(Legacy\x20callers\x20may\x20still\x20send\x20this\x20as\x20`stock`;\x20it\x20is\x20accepted\x20and\x20treated\x20'+'identically\x20as\x20the\x20purchase\x20quantity.)'),'wip_hash':z['string']()['default']('')['describe']('WIP\x20file\x20hash\x20of\x20the\x20item.\x20OMIT\x20this\x20field\x20(or\x20pass\x20empty\x20string\x20\x22\x22)\x20to\x20AUTO-FILL\x20it\x20from\x20the\x20'+'bound\x20Service\x20sale\x27s\x20wip_hash\x20—\x20the\x20on-chain\x20quote\x20then\x20verifies\x20the\x20WIP\x20file\x20matches\x20that\x20hash\x20'+'(E_WIP_HASH_NOT_MATCH\x20on\x20mismatch),\x20so\x20buyers\x20do\x20NOT\x20need\x20to\x20copy\x20any\x20hash\x20value.\x20Only\x20pass\x20an\x20'+'explicit\x20hash\x20when\x20pinning\x20a\x20value\x20seen\x20earlier:\x20that\x20protects\x20against\x20a\x20legitimate\x20merchant\x20WIP\x20'+'update\x20between\x20viewing\x20the\x20product\x20and\x20placing\x20the\x20order.')})['strict']());export const BuySchema=z['object']({'items':z['array'](ServiceBuyItemSchema)['describe']('List\x20of\x20products\x20or\x20services\x20to\x20purchase'),'total_pay':CoinParamSchema['optional']()['describe']('Actual\x20payment\x20amount.\x20FORMAT:\x20{balance:\x20<amount_in_smallest_unit>}\x20or\x20{coin:\x20<coin_object_id>}.\x20'+'The\x20token\x20type\x20and\x20precision\x20are\x20determined\x20by\x20the\x20Service\x20object\x27s\x20type_parameter\x20(the\x20generic\x20type\x20set\x20when\x20the\x20Service\x20was\x20created).\x20'+'For\x20WOW\x20(9\x20decimals):\x20{balance:\x201000000000}\x20=\x201\x20WOW.\x20'+'OPTIONAL\x20without\x20a\x20discount\x20(M-K17):\x20omit\x20it\x20and\x20the\x20handler\x20derives\x20the\x20EXACT\x20total\x20Σ(sale\x20price\x20×\x20quantity)\x20'+'from\x20the\x20Service\x27s\x20on-chain\x20sales\x20list\x20and\x20discloses\x20the\x20derived\x20value\x20—\x20no\x20transcription,\x20no\x20drift.\x20'+'REQUIRED\x20when\x20\x27discount\x27\x20is\x20set\x20(the\x20discounted\x20total\x20depends\x20on\x20the\x20coupon\x27s\x20live\x20value:\x20run\x20'+'query_toolkit\x20query_type=\x27service_quote\x27\x20and\x20pass\x20total_pay.balance\x20=\x20the\x20quoted\x20final_total).\x20'+'An\x20explicit\x20value\x20is\x20always\x20honored\x20as-is.\x20'+'AMOUNT\x20GATE\x20(M-K11-a):\x20a\x20total\x20that\x20EXACTLY\x20equals\x20Σ\x20published\x20sale\x20price\x20×\x20quantity\x20(catalog-priced\x20buy,\x20'+'in\x20the\x20Service\x27s\x20own\x20payment\x20coin\x20—\x20WOW\x20or\x20bridged\x20USDT/USDC/ETH/BTC)\x20bypasses\x20the\x20harness\x20pre-sign\x20amount\x20gate;\x20'+'any\x20other\x20amount\x20above\x20the\x20threshold\x20is\x20blocked\x20until\x20WOWOK_AMOUNT_THRESHOLD\x20is\x20raised\x20after\x20explicit\x20user\x20confirmation.'),'discount':z['string']()['optional']()['describe']('Discount\x20object\x20ID\x20or\x20name.\x20'+'⚠️\x20COUPON\x20OWNERSHIP\x20RULE\x20(KB-02,\x20disclose\x20BEFORE\x20checkout):\x20a\x20coupon\x20held\x20by\x20another\x20address\x20'+'cannot\x20be\x20applied\x20to\x20your\x20order\x20—\x20only\x20the\x20coupon\x27s\x20current\x20holder\x20can\x20redeem\x20it,\x20and\x20the\x20buy\x20'+'is\x20signed\x20by\x20the\x20buyer,\x20so\x20have\x20the\x20owner\x20transfer\x20the\x20coupon\x20to\x20the\x20buyer\x20first\x20'+'(call\x20service\x20discount_send),\x20then\x20attach\x20it\x20here.\x20Attaching\x20the\x20coupon\x20BURNS\x20it\x20'+'(every\x20coupon\x20is\x20single-use),\x20and\x20any\x20later\x20refund\x20settles\x20the\x20POST-coupon\x20amount\x20only\x20'+'(the\x20escrowed\x20discounted\x20total)\x20—\x20the\x20coupon\x27s\x20face\x20value\x20is\x20never\x20restored.'),'payment_remark':z['string']()['optional']()['describe']('Payment\x20remark'),'payment_index':z['number']()['optional']()['describe']('Payment\x20index')})['strict']();export const DiscountSchema=z['object']({'name':z['string']()['describe']('Discount\x20name'),'discount_type':DiscountTypeSchema,'discount_value':BalanceTypeSchema['describe']('Discount\x20magnitude,\x20meaning\x20depends\x20on\x20discount_type.\x20'+'RATES\x20(0):\x20per-10000\x20off\x20rate\x20—\x2010\x20=\x200.1%\x20off,\x201000\x20=\x2010%\x20off,\x2010000\x20=\x20100%\x20off;\x20values\x20above\x2010000\x20are\x20rejected.\x20'+'FIXED\x20(1):\x20fixed\x20deduction\x20from\x20the\x20order\x20total\x20in\x20the\x20Service\x20token\x27s\x20smallest\x20units\x20(e.g.\x201000000000\x20=\x201\x20WOW\x20at\x209\x20decimals).'),'benchmark':z['union']([z['number'](),z['string']()])['optional']()['describe']('Minimum\x20order\x20total\x20(in\x20the\x20Service\x20token\x27s\x20smallest\x20units)\x20for\x20the\x20discount\x20to\x20apply\x20—\x20'+'when\x20set,\x20the\x20discount\x20is\x20applied\x20only\x20if\x20the\x20PRE-discount\x20order\x20total\x20is\x20GREATER\x20THAN\x20OR\x20EQUAL\x20TO\x20this\x20value.\x20'+'✅\x20OMITTING\x20this\x20field\x20(or\x20passing\x20null,\x20or\x200)\x20means\x20NO\x20threshold\x20—\x20the\x20discount\x20applies\x20UNCONDITIONALLY,\x20and\x20that\x20is\x20the\x20common,\x20correct\x20case.\x20'+'This\x20is\x20the\x20on-chain\x20behaviour:\x20benchmark_met\x20=\x20if\x20(option::is_some(&discount.benchmark))\x20'+'{\x20total\x20>=\x20benchmark\x20}\x20else\x20{\x20true\x20}\x20(wow-framework\x20sources/w/service.move:274-278,\x20inside\x20the\x20discount-application\x20step).\x20'+'⚠️\x20SHARP\x20EDGE\x20when\x20you\x20DO\x20set\x20a\x20threshold:\x20an\x20order\x20below\x20the\x20threshold\x20CANNOT\x20use\x20the\x20coupon\x20—\x20'+'attaching\x20it\x20at\x20buy\x20aborts\x20(error\x2038:\x20the\x20transaction\x20rolls\x20back,\x20nothing\x20is\x20paid,\x20and\x20the\x20coupon\x20is\x20preserved);\x20'+'dropping\x20it\x20means\x20the\x20buyer\x20pays\x20FULL\x20price\x20and\x20keeps\x20the\x20coupon\x20for\x20a\x20future\x20order.\x20'+'Keep\x20thresholds\x20low\x20enough\x20that\x20your\x20typical\x20basket\x20clears\x20them.\x20'+'If\x20the\x20order\x20total\x20is\x20below\x20the\x20discounted\x20price\x20the\x20payment\x20aborts\x20—\x20pay\x20the\x20list\x20price;\x20the\x20excess\x20is\x20returned\x20as\x20a\x20new\x20Coin.'),'time_ms_start':z['number']()['optional']()['describe']('Discount\x20start\x20time\x20(milliseconds).\x20⚠️\x20A\x20FUTURE\x20start\x20mints\x20a\x20coupon\x20that\x20is\x20listed\x20as\x20usable\x20but\x20'+'CANNOT\x20be\x20spent\x20until\x20the\x20window\x20opens\x20(every\x20spend\x20aborts\x20E_DISCOUNT_TIME_INVALID\x20/\x20buy\x20code\x2035).\x20'+'Legitimate\x20for\x20scheduled\x20campaigns\x20—\x20the\x20mint\x20carries\x20a\x20loud\x20warning;\x20do\x20not\x20distribute\x20the\x20coupon\x20'+'to\x20recipients\x20before\x20the\x20window\x20opens.'),'allow_zero_total':z['boolean']()['optional']()['describe']('NO\x20EFFECT\x20—\x20DO\x20NOT\x20SET\x20(BSX-F07:\x20the\x20former\x20escape\x20hatch\x20is\x20removed).\x20This\x20flag\x20has\x20no\x20on-chain\x20field\x20'+'(the\x20on-chain\x20Discount\x20struct\x20never\x20carried\x20it;\x20a\x20coupon\x20minted\x20with\x20it\x20is\x20byte-identical\x20to\x20one\x20without),\x20'+'and\x20it\x20NO\x20LONGER\x20downgrades\x20the\x20MCP\x20issuance\x20block\x20for\x20a\x20coupon\x20that\x20zeroes\x20the\x20cheapest\x20SKU\x20—\x20the\x20block\x20'+'is\x20unconditional:\x20a\x20zeroing\x20coupon\x20can\x20only\x20dead-end\x20at\x20the\x20buyer\x27s\x20checkout\x20(order_new_zero_total_dead_order\x20'+'client-side,\x20abort\x2042\x20on-chain).\x20For\x20a\x20deliberate\x20free\x20tier:\x20price\x20the\x20SKU\x20at\x201\x20smallest\x20unit\x20(never\x200\x20—\x20'+'a\x20zero-priced\x20sale\x20is\x20permanently\x20unbuyable)\x20or\x20deliver\x20it\x20outside\x20the\x20sales\x20rails\x20(e.g.\x20a\x20Demand\x20with\x20'+'Signature\x20fulfillment).\x20Omit\x20this\x20field.'),'time_ms_end':z['number']()['describe']('Discount\x20end\x20time\x20(milliseconds)'),'count':z['number']()['describe']('Number\x20of\x20SEPARATE\x20Discount\x20(coupon)\x20objects\x20minted\x20—\x20total\x20delivered\x20=\x20count\x20×\x20number\x20of\x20recipients.\x20'+'Each\x20coupon\x20object\x20is\x20SINGLE-USE\x20(consumed\x20on\x20first\x20use).\x20This\x20is\x20NOT\x20a\x20per-coupon\x20reuse\x20count:\x20'+'count:2\x20creates\x202\x20independent\x20one-time\x20coupons,\x20not\x201\x20coupon\x20usable\x20twice.'),'recipient':ManyAccountOrMark_AddressSchema['describe']('Discount\x20recipient.\x20OBJECT\x20FORM\x20REQUIRED\x20(T9\x20az3-mn-261013):\x20a\x20bare\x20string\x20is\x20REJECTED\x20here\x20—\x20'+'pass\x20{entities:\x20[{name_or_address:\x20\x27<account_name_or_0x_address>\x27}]}\x20'+'(example:\x20{entities:\x20[{name_or_address:\x20\x27buyer1\x27}]}).\x20'+'Total\x20coupons\x20delivered\x20=\x20count\x20×\x20number\x20of\x20recipients.'),'transferable':z['boolean']()['describe']('Whether\x20the\x20discount\x20object\x20recipient\x20can\x20transfer\x20the\x20discount\x20object')})['strict']();export const OrderNewSchema=z['object']({'buy':BuySchema,'agents':ManyAccountOrMark_AddressSchema['optional']()['describe']('Order\x20agents.\x20Agents\x20can\x20operate\x20the\x20order,\x20such\x20as\x20canceling\x20the\x20order,\x20modifying\x20the\x20order\x20status,\x20etc.;\x20but\x20cannot\x20receive\x20the\x20funds\x20received\x20by\x20the\x20order.'),'order_required_info':z['string']()['optional']()['describe']('Contact\x20object\x20ID\x20or\x20WTS\x20Proof\x20object,\x20RECORDED\x20on\x20the\x20Order\x20as\x20evidence\x20that\x20the\x20order\x20holder\x20'+'delivered\x20the\x20private\x20information\x20the\x20Service\x20declares\x20in\x20customer_required\x20(e.g.\x20phone/email/shipping_address).\x20'+'ACCEPTED\x20FORMS\x20(upwc-cat-261017\x20T10\x20live\x20probe):\x20an\x20on-chain\x20object\x20ADDRESS\x20(0x…),\x20a\x20REGISTERED\x20mark\x20name,\x20'+'or\x20the\x20Contact/Proof\x20object\x20itself\x20—\x20a\x20bare\x20account\x20name\x20is\x20NOT\x20an\x20object\x20reference\x20and\x20fails\x20with\x20\x27not\x20found\x27;\x20'+'RECORD-ONLY,\x20NOT\x20ENFORCED:\x20nothing\x20on-chain\x20reads\x20this\x20field\x20—\x20the\x20purchase\x20entry\x20never\x20requires\x20it,\x20and\x20an\x20order\x20'+'supplying\x20none\x20of\x20the\x20declared\x20fields\x20is\x20still\x20created.\x20FLOW:\x20the\x20order\x20holder\x20sends\x20the\x20information\x20to\x20the\x20'+'Service\x27s\x20Contact\x20(um)\x20via\x20end-to-end\x20encrypted\x20Messenger,\x20then\x20passes\x20the\x20Contact\x20object\x20ID\x20or\x20the\x20generated\x20'+'WTS\x20Proof\x20here.\x20To\x20ENFORCE\x20delivery\x20on-chain,\x20mount\x20the\x20pattern.required_info_evidence_gate\x20Guard\x20on\x20the\x20forward\x20'+'that\x20hands\x20over\x20goods\x20or\x20funds,\x20asserting\x20order.required_info\x20is\x20some\x20(presence-only\x20—\x20the\x20recorded\x20address\x20value\x20'+'is\x20never\x20a\x20guard\x20condition;\x20accepting\x20the\x20delivered\x20information\x20is\x20the\x20merchant\x27s\x20confirming\x20forward).\x20'+'ATTESTATION-ONLY:\x20the\x20recorded\x20value\x20is\x20self-attested,\x20has\x20no\x20on-chain\x20readback,\x20and\x20MUST\x20NOT\x20be\x20used\x20as\x20a\x20gate\x20condition.\x20'+'PER-ORDER\x20BINDING:\x20when\x20the\x20listing\x20genuinely\x20promises\x20a\x20per-order\x20credential,\x20use\x20the\x20dedicated\x20controlled\x20bind\x20'+'operation\x20(order_required_info_bind)\x20with\x20a\x20Proof\x20whose\x20about\x20is\x20THIS\x20order\x20and\x20whose\x20creator\x20is\x20the\x20order\x20holder\x20—\x20'+'the\x20chain\x20verifies\x20both\x20at\x20write\x20time\x20and\x20rejects\x20a\x20mismatch\x20without\x20writing\x20anything.\x20The\x20reuse\x20model\x20(one\x20Contact\x20'+'Proof\x20across\x20orders)\x20stays\x20the\x20default\x20for\x20this\x20plain\x20record\x20field;\x20pick\x20per\x20listing\x20promise,\x20not\x20per\x20habit.\x20'+'BOUNDARY:\x20that\x20binding\x20proves\x20the\x20credential\x20AUTHOR\x20only,\x20never\x20its\x20content\x20or\x20any\x20rating\x20—\x20do\x20not\x20mirror\x20it\x20onto\x20'+'review/reward\x20claims;\x20public\x20reviews\x20are\x20Repository\x20rows\x20whose\x20values\x20are\x20enforced\x20guard-side\x20via\x20data-value\x20probes,\x20'+'not\x20through\x20Proof\x20objects.'),'transfer':AccountOrMark_AddressSchema['optional']()['describe']('Set\x20the\x20new\x20owner\x20of\x20the\x20order.\x20Requires\x20order\x20owner\x20permission\x20to\x20set.'),'namedNewOrder':NamedObjectSchema['optional']()['describe']('RECOMMENDED:\x20Set\x20a\x20local\x20name\x20for\x20the\x20newly\x20created\x20Order\x20object.\x20'+'Without\x20this,\x20the\x20Order\x20is\x20only\x20referenceable\x20by\x20its\x20on-chain\x20address.\x20'+'Example:\x20{name:\x20\x27my_order_v1\x27}\x20allows\x20subsequent\x20operations\x20to\x20use\x20\x27my_order_v1\x27\x20instead\x20of\x20the\x20address.\x20'+'PLACEMENT:\x20this\x20field\x20MUST\x20be\x20inside\x20data.order_new\x20(it\x20is\x20an\x20OrderNew\x20field)\x20—\x20putting\x20namedNewOrder\x20at\x20'+'the\x20data\x20root\x20fails\x20schema\x20validation\x20with\x20\x27Unrecognized\x20key\x27.\x20'+'MIGRATION\x20TIP:\x20for\x20batch/migration\x20order\x20creation,\x20always\x20auto-generate\x20readable\x20names\x20'+'(e.g.\x20\x27<source>_<service>_<seq>\x27\x20like\x20\x27my_shop_svc_v1_0001\x27)\x20—\x20unnamed\x20orders\x20(head.name\x20=\x20null)\x20are\x20'+'only\x20address-referenceable,\x20which\x20breaks\x20downstream\x20queries,\x20displays\x20and\x20audits\x20(E-8).'),'namedNewAllocation':NamedObjectSchema['optional']()['describe']('RECOMMENDED:\x20Set\x20a\x20local\x20name\x20for\x20the\x20order\x27s\x20Allocation\x20object.\x20'+'Without\x20this,\x20the\x20Allocation\x20is\x20only\x20referenceable\x20by\x20its\x20address.\x20'+'Example:\x20{name:\x20\x27my_allocation_v1\x27}\x20allows\x20alloc_by_guard\x20to\x20reference\x20\x27my_allocation_v1\x27.'),'namedNewProgress':NamedObjectSchema['optional']()['describe']('RECOMMENDED:\x20Set\x20a\x20local\x20name\x20for\x20the\x20order\x27s\x20Progress\x20object.\x20'+'Without\x20this,\x20the\x20Progress\x20is\x20only\x20referenceable\x20by\x20its\x20address.\x20'+'Example:\x20{name:\x20\x27my_progress_v1\x27}\x20allows\x20progress\x20operations\x20to\x20use\x20\x27my_progress_v1\x27.')})['strict']();export const SalesSchema=z['discriminatedUnion']('op',[z['object']({'op':z['literal']('add'),'sales':z['array'](ServiceSaleSchema)})['strict']()['describe']('Add\x20new\x20sales\x20products\x20or\x20services.'),z['object']({'op':z['literal']('set'),'sales':z['array'](ServiceSaleSchema)})['strict']()['describe']('Replaces\x20the\x20ENTIRE\x20sales\x20list:\x20every\x20product\x20NOT\x20included\x20is\x20REMOVED\x20from\x20the\x20Service\x20'+'(its\x20stock\x20and\x20wip\x20binding\x20go\x20with\x20it).\x20To\x20change\x20ONE\x20product,\x20prefer\x20the\x20per-item\x20ops\x20'+'(price_add\x20/\x20price_reduce\x20/\x20stock_add\x20/\x20stock_reduce\x20/\x20sale_suspension)\x20over\x20re-sending\x20'+'the\x20full\x20list;\x20with\x20op:set\x20you\x20MUST\x20resend\x20ALL\x20unchanged\x20products\x20too.\x20'+'Removal\x20is\x20immediate\x20and\x20cannot\x20be\x20undone.'),z['object']({'op':z['literal']('remove'),'sales_name':z['array'](LongNameSchema['describe']('Sales\x20name'))})['strict']()['describe']('Remove\x20existing\x20sales\x20products\x20or\x20services.'),z['object']({'op':z['literal']('clear')})['strict']()['describe']('Clear\x20all\x20sales\x20products\x20or\x20services.'),z['object']({'op':z['literal']('price_add'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20update'),'value':BalanceTypeSchema['describe']('Price\x20INCREASE\x20delta\x20in\x20the\x20Service\x20token\x27s\x20smallest\x20units\x20(e.g.\x20100000000\x20=\x20+0.1\x20WOW).\x20'+'Added\x20to\x20the\x20current\x20price\x20(on-chain\x20saturating\x20add).\x20NOT\x20the\x20new\x20absolute\x20price.')})['strict']()['describe']('Raise\x20one\x20product\x27s\x20price\x20by\x20a\x20delta.\x20Only\x20the\x20named\x20product\x20is\x20touched;\x20'+'an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20the\x20MCP\x20pre-gate\x20resolves\x20the\x20name\x20against\x20'+'the\x20live\x20sales\x20list\x20and\x20refuses\x20the\x20call\x20before\x20send,\x20and\x20the\x20response\x20carries\x20a\x20'+'{field,\x20before,\x20after}\x20read-back\x20delta.'),z['object']({'op':z['literal']('price_reduce'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20update'),'value':BalanceTypeSchema['describe']('Price\x20DECREASE\x20delta\x20in\x20the\x20Service\x20token\x27s\x20smallest\x20units\x20(e.g.\x20100000000\x20=\x20-0.1\x20WOW).\x20'+'Must\x20not\x20exceed\x20the\x20current\x20price:\x20an\x20oversized\x20reduce\x20ABORTS\x20on\x20chain\x20(code\x2041)\x20and\x20does\x20NOT\x20clamp.\x20'+'NOT\x20the\x20new\x20absolute\x20price.')})['strict']()['describe']('Lower\x20one\x20product\x27s\x20price\x20by\x20a\x20delta.\x20Only\x20the\x20named\x20product\x20is\x20touched;\x20'+'an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20the\x20MCP\x20pre-gate\x20refuses\x20unknown\x20names\x20before\x20send;\x20'+'an\x20oversized\x20delta\x20is\x20refused\x20by\x20the\x20chain\x20(code\x2041)\x20instead\x20of\x20clamping;\x20'+'the\x20response\x20carries\x20a\x20{field,\x20before,\x20after}\x20read-back\x20delta.'),z['object']({'op':z['literal']('stock_add'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20update'),'value':BalanceTypeSchema['describe']('Stock\x20INCREASE\x20delta\x20(a\x20unit\x20COUNT,\x20not\x20money),\x20e.g.\x2050\x20=\x20+50\x20units.')})['strict']()['describe']('Restock\x20one\x20product\x20by\x20a\x20delta.\x20Only\x20the\x20named\x20product\x20is\x20touched;\x20'+'an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20the\x20MCP\x20pre-gate\x20refuses\x20unknown\x20names\x20before\x20send;\x20'+'the\x20response\x20carries\x20a\x20{field,\x20before,\x20after}\x20read-back\x20delta.'),z['object']({'op':z['literal']('stock_reduce'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20update'),'value':BalanceTypeSchema['describe']('Stock\x20DECREASE\x20delta\x20(a\x20unit\x20COUNT,\x20not\x20money),\x20e.g.\x2010\x20=\x20-10\x20units.\x20'+'If\x20the\x20delta\x20exceeds\x20current\x20stock,\x20the\x20stock\x20clamps\x20to\x200\x20(product\x20becomes\x20unsellable).')})['strict']()['describe']('Reduce\x20one\x20product\x27s\x20stock\x20by\x20a\x20delta\x20(e.g.\x20write-off\x20damaged\x20units).\x20'+'Only\x20the\x20named\x20product\x20is\x20touched;\x20an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20'+'the\x20MCP\x20pre-gate\x20refuses\x20unknown\x20names\x20before\x20send.'),z['object']({'op':z['literal']('sale_suspension'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20product\x20to\x20suspend\x20or\x20resume'),'suspension':z['boolean']()['describe']('true\x20=\x20suspend\x20the\x20product\x20(buy/quote\x20abort\x20with\x20E_SALE_SUSPENDED);\x20false\x20=\x20resume\x20selling.')})['strict']()['describe']('Suspend\x20or\x20resume\x20ONE\x20product\x20without\x20removing\x20it\x20(keeps\x20price/stock/WIP\x20binding).\x20'+'The\x20retail-style\x20\x27out\x20of\x20stock\x20/\x20listing\x20inactive\x27\x20state.\x20Only\x20the\x20named\x20product\x20is\x20touched;\x20'+'an\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032)\x20—\x20the\x20MCP\x20pre-gate\x20refuses\x20unknown\x20names\x20before\x20send;\x20'+'the\x20response\x20carries\x20a\x20{field,\x20before,\x20after}\x20read-back\x20delta.')]);export const RestockSchema=z['discriminatedUnion']('op',[z['object']({'op':z['literal']('flag'),'sale_name':LongNameSchema['describe']('Name\x20of\x20the\x20LIVE\x20product\x20whose\x20restock-on-refund\x20flag\x20is\x20set'),'flagged':z['boolean']()['describe']('true\x20=\x20refunded\x20orders\x20of\x20this\x20SKU\x20put\x20their\x20purchased\x20units\x20back\x20on\x20shelf;\x20false\x20=\x20opt\x20out.')})['strict']()['describe']('Opt\x20ONE\x20live\x20product\x20in/out\x20of\x20restock-on-refund.\x20An\x20unknown\x20sale_name\x20aborts\x20on\x20chain\x20(code\x2032);\x20'+'delisting\x20the\x20product\x20is\x20the\x20kill\x20switch.\x20Without\x20the\x20flag,\x20the\x20order-level\x20restock\x20op\x20refuses\x20that\x20line\x20(code\x2046).\x20'+'Flagging\x20a\x20SKU\x20does\x20not\x20itself\x20touch\x20stock\x20—\x20the\x20order-level\x20op\x20below\x20does\x20the\x20restoration,\x20and\x20it\x20is\x20'+'once-per-order\x20per\x20order\x20(code\x2049)\x20and\x20bound\x20to\x20orders\x20of\x20THIS\x20service\x20(foreign\x20orders\x20abort\x20code\x2026).'),z['object']({'op':z['literal']('order'),'order':z['string']()['min'](0x1)['describe']('Address\x20or\x20local\x20name\x20of\x20the\x20REFUNDED\x20order\x20whose\x20purchased\x20units\x20go\x20back\x20on\x20shelf.\x20'+'Must\x20be\x20an\x20order\x20of\x20THIS\x20service\x20(a\x20foreign\x20order\x20aborts\x20code\x2026),\x20and\x20each\x20order\x20can\x20be\x20'+'restocked\x20exactly\x20once\x20—\x20a\x20second\x20call\x20for\x20the\x20same\x20order\x20aborts\x20code\x2049\x20(no\x20retry\x20succeeds;\x20'+'the\x20restoration\x20is\x20already\x20complete).')})['strict']()['describe']('Put\x20back\x20the\x20units\x20one\x20refunded\x20order\x20purchased,\x20read\x20from\x20the\x20order\x27s\x20own\x20purchase\x20lines\x20'+'(the\x20caller\x20cannot\x20add\x20extra\x20units).\x20Two-pass\x20all-or-nothing\x20on\x20chain:\x20every\x20line\x20must\x20be\x20'+'restock-flagged\x20and\x20still\x20live\x20before\x20the\x20first\x20unit\x20moves\x20(unflagged\x20→\x20code\x2046,\x20delisted\x20→\x20code\x2032),\x20'+'so\x20a\x20partial\x20restock\x20is\x20impossible.\x20Once-per-order\x20(code\x2049\x20on\x20replay)\x20and\x20ownership-bound\x20'+'(a\x20foreign\x20order\x20aborts\x20code\x2026);\x20the\x20applied\x20state\x20is\x20queryable\x20via\x20the\x20restock_applied\x20read.\x20'+'Emits\x20one\x20stock-restocked\x20event\x20per\x20line.')]);export const CallService_DataSchema=z['object']({'object':TypedPermissionObjectSchema,'order_new':OrderNewSchema['optional']()['describe']('Create\x20new\x20order.\x20RETRY\x20DISCIPLINE:\x20the\x20order\x20creation\x20is\x20atomic\x20on-chain\x20but\x20NOT\x20in\x20'+'observability\x20—\x20a\x20transport\x20drop\x20after\x20submit\x20leaves\x20the\x20commit\x20state\x20UNKNOWN,\x20and\x20a\x20blind\x20'+'resubmit\x20creates\x20a\x20second\x20order\x20with\x20a\x20second\x20full\x20escrow\x20(live\x20mainnet\x20incident).\x20On\x20any\x20'+'failure/timeout,\x20verify\x20whether\x20an\x20order\x20with\x20this\x20exact\x20signature\x20(service\x20+\x20buyer\x20+\x20items)\x20'+'already\x20landed\x20—\x20via\x20the\x20in-flight\x20marker\x20in\x20the\x20failure\x20envelope,\x20the\x20sender\x27s\x20recent\x20'+'on-chain\x20objects,\x20or\x20onchain_events\x20—\x20and\x20adopt\x20it\x20if\x20present;\x20resubmit\x20only\x20if\x20confirmed\x20absent.'),'description':DescriptionSchema['optional'](),'location':LongNameSchema['optional']()['describe']('The\x20service\x20area\x20and\x20scope\x20as\x20stated\x20by\x20the\x20merchant.\x20'+'IMPORTANT:\x20If\x20the\x20service\x20has\x20a\x20geographic\x20scope,\x20ALWAYS\x20specify\x20this\x20field.\x20'+'Use\x20a\x20complete\x20hierarchical\x20address\x20'+'(e.g.\x20\x27US\x20→\x20California\x20→\x20Los\x20Angeles\x20→\x20Koreatown\x27).\x20'+'If\x20only\x20a\x20partial\x20location\x20is\x20known,\x20EXPAND\x20it\x20to\x20the\x20full\x20standardized\x20form\x20'+'(country\x20→\x20province/state\x20→\x20city\x20→\x20district,\x20worldwide)\x20—\x20when\x20ambiguous,\x20offer\x202-4\x20candidate\x20completions\x20and\x20let\x20the\x20user\x20pick.'),'sales':SalesSchema['optional']()['describe']('Service\x20sales\x20products\x20or\x20services\x20list.\x20'+'⚠️\x20WIP\x20(PRODUCT-DETAIL\x20FILE)\x20—\x20HOW\x20TO\x20PROVIDE\x20IT:\x20'+'(1)\x20EASIEST\x20—\x20official\x20free\x20hosting:\x20upload\x20the\x20detail\x20file\x20with\x20the\x20wip_file\x20tool;\x20the\x20default\x20endpoint\x20is\x20'+'https://wip.store.wowok.net\x20(free:\x2010\x20files\x20per\x20account,\x20180-day\x20retention,\x2012MB\x20per\x20file,\x20rate-limited;\x20files\x20'+'stay\x20until\x20you\x20purge\x20them).\x20Put\x20the\x20returned\x20URL\x20into\x20sale.wip.\x20'+'(2)\x20Your\x20own\x20hosting:\x20any\x20publicly\x20reachable\x20URL\x20(GitHub\x20Pages\x20/\x20IPFS\x20/\x20your\x20own\x20website)\x20—\x20pass\x20customBaseUrl\x20'+'to\x20wip_file\x20when\x20uploading\x20to\x20a\x20non-default\x20endpoint,\x20or\x20host\x20the\x20file\x20yourself\x20and\x20put\x20that\x20URL\x20into\x20sale.wip.\x20'+'For\x20long-lived\x20MAINNET\x20listings\x20prefer\x20your\x20own\x20endpoint\x20so\x20the\x20detail\x20page\x20outlives\x20the\x20free\x20retention\x20window.\x20'+'⚠️\x20REACHABILITY\x20RULE:\x20a\x20non-empty\x20sale.wip\x20MUST\x20be\x20a\x20publicly\x20reachable\x20URL.\x20The\x20URL\x20is\x20stored\x20ON-CHAIN\x20and\x20'+'every\x20customer\x20fetches\x20it\x20at\x20order\x20time\x20—\x20a\x20local\x20file\x20path,\x20localhost/loopback\x20URL,\x20or\x20LAN\x20private-IP\x20URL\x20is\x20'+'unreachable\x20by\x20customers\x20on\x20other\x20machines\x20and\x20aborts\x20order_new\x20100%.\x20Local-network\x20URLs\x20are\x20INTERNAL\x20TEST\x20USE\x20'+'ONLY\x20(env.network\x20=\x20localnet).\x20'+'⚠️\x20SCORING:\x20on\x20mainnet,\x20a\x20sale\x20item\x20without\x20a\x20product-detail\x20file\x20is\x20an\x20incomplete\x20listing\x20—\x20it\x20hurts\x20the\x20'+'service\x27s\x20market\x20completeness\x20score.\x20Leave\x20sale.wip\x20empty\x20(\x22\x22)\x20only\x20for\x20quick\x20local\x20testing.'),'restock':RestockSchema['optional']()['describe']('Refund\x20restocking\x20(permission\x20305\x20SERVICE_SALES).\x20'+'op:\x27flag\x27\x20opts\x20ONE\x20live\x20product\x20into\x20restock-on-refund;\x20op:\x27order\x27\x20puts\x20the\x20units\x20a\x20REFUNDED\x20order\x20'+'purchased\x20back\x20on\x20shelf.\x20The\x20order\x20path\x20is\x20all-or-nothing:\x20every\x20purchased\x20line\x20must\x20be\x20flagged\x20and\x20still\x20'+'live\x20before\x20any\x20unit\x20moves\x20(otherwise\x20the\x20chain\x20aborts\x2046/32),\x20so\x20half\x20a\x20restock\x20is\x20impossible.\x20'+'The\x20order\x20path\x20is\x20once-per-order\x20(replay\x20aborts\x2049)\x20and\x20bound\x20to\x20THIS\x20service\x20(foreign\x20order\x20aborts\x2026).\x20'+'Do\x20NOT\x20fake\x20a\x20restock\x20with\x20stock_add\x20when\x20the\x20order\x20carries\x20several\x20lines\x20—\x20use\x20op:\x27order\x27\x20so\x20quantities\x20'+'come\x20from\x20the\x20order\x20itself.\x20DISCLOSURE:\x20restock\x20reopens\x20sales\x20—\x20if\x20the\x20machine\x20(or\x20its\x20template)\x20has\x20no\x20'+'refund-terminal\x20gate,\x20orders\x20inside\x20their\x20refund\x20window\x20may\x20lose\x20refund\x20eligibility\x20or\x20create\x20'+'fund-accounting\x20ambiguity\x20once\x20restocked\x20units\x20are\x20resold;\x20confirm\x20the\x20machine\x27s\x20refund\x20rail\x20remains\x20'+'reachable\x20after\x20restocking.'),'repositories':ObjectsSchema['optional']()['describe']('Service\x20Repository\x20object\x20list.'),'rewards':ObjectsSchema['optional']()['describe']('Service\x20Reward\x20object\x20list.\x20'+'May\x20share\x20the\x20Service\x27s\x20Permission\x20(no\x20conflict\x20check\x20—\x20intentional:\x20rewards\x20are\x20the\x20provider\x27s\x20own\x20'+'incentive\x20tool;\x20only\x20Arbitration\x20requires\x20a\x20different\x20Permission\x20for\x20neutrality).\x20'+'⚠️\x20OP\x20SEMANTICS\x20(SDK\x20translation,\x20etm-mn-261013\x20E-06):\x20op:\x27set\x27\x20executes\x20as\x20clear\x20+\x20add\x20—\x20and\x20'+'reward\x20clear\x20is\x20TIME-LOCKED\x20after\x20publish\x20(E_LOCKED_TIME_NOT_ENOUGH\x20=\x20abort\x2024:\x20requires\x20pause\x20+\x20'+'setting_lock_duration\x20elapsed,\x20default\x2030\x20days).\x20BEFORE\x20publish\x20op:\x27set\x27\x20is\x20fine;\x20AFTER\x20publish\x20'+'attach\x20rewards\x20with\x20op:\x27add\x27\x20ONLY\x20(add\x20has\x20no\x20lock).'),'arbitrations':ObjectsSchema['optional']()['describe']('Service\x20Arbitration\x20object\x20list.\x20'+'FORMAT:\x20same\x20as\x20repositories\x20—\x20use\x20the\x20`objects`\x20field\x20name\x20inside\x20the\x20operation\x20data.\x20'+'Example:\x20{arbitrations:\x20{op:\x20\x27add\x27,\x20objects:\x20[{name:\x20\x27my_arb_1\x27}]}}.\x20'+'Each\x20item\x20is\x20a\x20NameOrAddress\x20(object\x20ID\x20or\x20local\x20mark\x20name).\x20'+'⚠️\x20OP\x20SEMANTICS\x20(SDK\x20translation,\x20etm-mn-261013\x20E-06\x20+\x20crs\x20P3-1):\x20op:\x27add\x27\x20appends\x20and\x20is\x20the\x20ONLY\x20'+'\x20unlocked\x20path\x20after\x20publish\x20(add\x20has\x20no\x20publish\x20assert,\x20service.move).\x20op:\x27set\x27\x20executes\x20as\x20'+'clear\x20+\x20add\x20and\x20REPLACES\x20the\x20entire\x20allowlist\x20(pass\x20EVERY\x20Arbitration\x20that\x20must\x20remain\x20bound)\x20—\x20'+'clear\x20is\x20TIME-LOCKED\x20after\x20publish\x20(E_LOCKED_TIME_NOT_ENOUGH\x20=\x20abort\x2024:\x20requires\x20pause\x20+\x20'+'setting_lock_duration\x20elapsed,\x20default\x2030\x20days),\x20so\x20use\x20op:\x27set\x27\x20BEFORE\x20publish\x20only.\x20'+'(The\x202026-10-08\x20op:\x27add\x27\x20disable\x20was\x20lifted:\x20the\x20unparseable-success-response\x20SDK\x20bug\x20it\x20responded\x20'+'to\x20is\x20fixed\x20—\x20safeTextJson\x20+\x20big-int\x20conversion.)\x20'+'⚠️\x20PERMISSION\x20RULE\x20(contract-enforced):\x20every\x20Arbitration\x20bound\x20here\x20'+'MUST\x20use\x20a\x20Permission\x20object\x20DIFFERENT\x20from\x20THIS\x20Service\x27s\x20permission\x20—\x20binding\x20an\x20Arbitration\x20that\x20shares\x20'+'the\x20Service\x27s\x20Permission\x20aborts\x20with\x20E_ARBITRATION_PERMISSION_CONFLICT\x20(error\x2033).\x20'+'Create\x20a\x20dedicated\x20Permission\x20for\x20each\x20Arbitration\x20BEFORE\x20binding.\x20'+'DESIGN\x20RATIONALE\x20(confirmed\x20intentional):\x20dispute\x20resolution\x20requires\x20NEUTRALITY\x20—\x20an\x20Arbitration\x20controlled\x20'+'by\x20the\x20same\x20Permission\x20admins\x20as\x20the\x20Service\x20it\x20judges\x20would\x20be\x20a\x20conflict\x20of\x20interest.\x20ONLY\x20Arbitration\x20has\x20'+'this\x20check:\x20Reward\x20and\x20Treasury\x20objects\x20MAY\x20share\x20the\x20Service\x27s\x20Permission\x20(they\x20are\x20the\x20provider\x27s\x20own\x20tools).'),'machine':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Service\x20Machine\x20object\x20ID\x20or\x20name.\x20The\x20Machine\x20object\x20must\x20be\x20in\x20published\x20state.'),'discount':DiscountSchema['optional']()['describe']('Issue\x20discount\x20(mint\x20coupons\x20bound\x20to\x20this\x20Service).\x20'+'⚠️\x20ISSUANCE\x20PRESCRIPTION\x20(KB-02):\x20issuing\x20=\x20MINT\x20then\x20TRANSFER.\x20This\x20field\x20mints\x20the\x20coupon\x20'+'objects\x20under\x20THIS\x20account\x20—\x20its\x20`recipient`\x20field\x20delivers\x20them\x20directly\x20when\x20you\x20know\x20the\x20'+'recipients;\x20for\x20pre-minted\x20campaign\x20coupons\x20held\x20for\x20later\x20handout,\x20the\x20handout\x20itself\x20is\x20'+'discount_send\x20(mint\x20first,\x20transfer\x20to\x20the\x20recipient\x20at\x20distribution\x20time).\x20'+'COUPON\x20SEMANTICS\x20to\x20disclose:\x20HOLDING\x20IS\x20THE\x20CREDENTIAL\x20—\x20the\x20coupon\x20belongs\x20to\x20whoever\x20HOLDS\x20'+'it,\x20only\x20the\x20holder\x27s\x20own\x20signature\x20can\x20spend\x20it,\x20and\x20sharing\x20the\x20coupon\x27s\x20object\x20ID\x20confers\x20'+'nothing;\x20ONE\x20COUPON,\x20ONE\x20BURN\x20—\x20every\x20coupon\x20is\x20single-use\x20and\x20is\x20destroyed\x20on\x20first\x20spend;\x20'+'REFUNDS\x20SETTLE\x20THE\x20POST-COUPON\x20AMOUNT\x20—\x20refund\x20rails\x20pay\x20back\x20the\x20escrowed\x20discounted\x20total\x20'+'only,\x20a\x20cancelled\x20order\x20never\x20restores\x20the\x20coupon\x27s\x20face\x20value.\x20A\x20coupon\x20held\x20by\x20another\x20'+'address\x20cannot\x20be\x20applied\x20to\x20a\x20buyer\x27s\x20order\x20—\x20the\x20owner\x20must\x20discount_send\x20it\x20to\x20the\x20buyer\x20first.'),'discount_destroy':z['array'](NameOrAddressSchema)['optional']()['describe']('Destroy\x20existing\x20discount\x20object\x20ID\x20list.'),'discount_send':z['object']({'discounts':z['array'](NameOrAddressSchema)['min'](0x1)['describe']('Coupon\x20object\x20IDs\x20or\x20local\x20names\x20to\x20transfer.\x20You\x20MUST\x20own\x20these\x20Discount\x20objects.\x20'+'Each\x20coupon\x20must\x20have\x20been\x20minted\x20with\x20transferable:true\x20—\x20otherwise\x20the\x20chain\x20aborts\x20with\x20'+'E_DISCOUNT_NOT_TRANSFERABLE\x20(semantic\x20code\x20service:10).\x20Coupons\x20stay\x20single-use;\x20'+'the\x20transfer\x20does\x20not\x20change\x20that.\x20There\x20is\x20NO\x20batch\x20entry\x20on-chain\x20—\x20each\x20coupon\x20is\x20'+'delivered\x20by\x20its\x20own\x20singleton\x20call\x20(fanned\x20out\x20automatically);\x20prefer\x20ONE\x20coupon\x20per\x20'+'transaction\x20for\x20coupon\x20migrations\x20(SDK\x20cap\x20MAX_DISCOUNT_COUNT_ONCE\x20still\x20applies).'),'recipient':AccountOrMark_AddressSchema['describe']('Destination\x20address\x20(or\x20account/local\x20mark\x20resolvable\x20to\x20one).\x20ALL\x20listed\x20coupons\x20'+'are\x20moved\x20to\x20this\x20single\x20address\x20in\x20one\x20call.')})['strict']()['optional']()['describe']('Transfer\x20ALREADY-MINTED\x20coupons\x20you\x20own\x20to\x20another\x20address,\x20instead\x20of\x20destroying\x20them\x20'+'(discount_destroy)\x20or\x20minting\x20new\x20ones\x20(discount).\x20This\x20is\x20a\x20pure\x20ownership\x20handover:\x20'+'the\x20on-chain\x20entry\x20points\x20are\x20public\x20funs\x20with\x20NO\x20Service\x20permission\x20requirement\x20—\x20'+'the\x20only\x20preconditions\x20are\x20that\x20the\x20sender\x20owns\x20each\x20coupon\x20and\x20each\x20was\x20minted\x20'+'transferable:true.\x20Typical\x20use:\x20hand\x20out\x20pre-minted\x20campaign\x20coupons,\x20or\x20move\x20coupons\x20'+'between\x20your\x20own\x20accounts.\x20'+'KB-02\x20COUPON\x20SEMANTICS:\x20this\x20transfer\x20is\x20the\x20second\x20half\x20of\x20coupon\x20ISSUANCE\x20'+'(mint\x20via\x20`discount`,\x20then\x20transfer\x20here\x20at\x20distribution\x20time).\x20HOLDING\x20IS\x20THE\x20CREDENTIAL:\x20'+'the\x20coupon\x20belongs\x20to\x20whoever\x20HOLDS\x20it\x20—\x20only\x20the\x20holder\x27s\x20own\x20signature\x20can\x20spend\x20it,\x20and\x20'+'sharing\x20the\x20object\x20ID\x20confers\x20nothing.\x20ONE\x20COUPON,\x20ONE\x20BURN:\x20each\x20coupon\x20stays\x20single-use\x20and\x20'+'is\x20destroyed\x20on\x20first\x20spend\x20—\x20transfer\x20does\x20not\x20reset\x20that.\x20REFUNDS\x20SETTLE\x20THE\x20POST-COUPON\x20'+'AMOUNT:\x20refund\x20rails\x20pay\x20the\x20escrowed\x20discounted\x20total\x20only,\x20never\x20the\x20coupon\x27s\x20face\x20value.\x20'+'Until\x20you\x20transfer\x20a\x20gifted\x20coupon,\x20the\x20recipient\x20CANNOT\x20use\x20it\x20on\x20their\x20own\x20orders\x20—\x20'+'a\x20coupon\x20held\x20by\x20another\x20address\x20cannot\x20be\x20applied\x20to\x20their\x20buy.'),'customer_required':z['array'](NotEmptyNameSchema)['optional']()['describe']('Customer\x20required\x20information\x20labels.\x20Such\x20as\x20phone,\x20email,\x20shipping_address,\x20etc.\x20'+'DECLARATIVE\x20ONLY:\x20nothing\x20on-chain\x20or\x20in\x20the\x20SDK\x20reads\x20this\x20field\x20—\x20it\x20is\x20a\x20pure\x20'+'listing\x20declaration\x20of\x20what\x20the\x20customer\x20will\x20be\x20asked\x20to\x20provide.\x20It\x20is\x20NOT\x20enforced\x20against\x20'+'order_new\x20and\x20NOT\x20linked\x20to\x20any\x20delivery\x20path\x20by\x20the\x20SDK.\x20'+'OPERATIONAL\x20PAIRING\x20(convention,\x20not\x20enforcement):\x20deliver\x20the\x20actual\x20private\x20information\x20via\x20'+'end-to-end\x20encrypted\x20Messenger\x20to\x20the\x20Service\x27s\x20Contact\x20bound\x20as\x20`um`\x20—\x20bind\x20`um`\x20when\x20you\x20use\x20'+'customer_required,\x20or\x20the\x20customer\x20has\x20no\x20encrypted\x20channel\x20to\x20send\x20it\x20through.\x20To\x20ENFORCE\x20delivery\x20'+'on-chain,\x20mount\x20the\x20pattern.required_info_evidence_gate\x20Guard\x20on\x20the\x20goods/funds\x20forward\x20(see\x20'+'order_new.order_required_info).'),'order_allocators':z['union']([AllocatorsSchema,z['null']()])['optional']()['describe']('Order\x20fund\x20allocator.\x20Max\x20100\x20allocators\x20(MAX_ALLOCATOR_COUNT).\x20'+'✅\x20EACH\x20allocator\x20has\x20a\x20guard,\x20and\x20EVERY\x20allocator\x20whose\x20guard\x20address\x20matches\x20the\x20supplied\x20guard\x20RUNS\x20—\x20'+'they\x20are\x20NOT\x20mutually\x20exclusive\x20and\x20NOT\x20first-match-wins.\x20'+'One\x20guard\x20may\x20legitimately\x20authorize\x20several\x20distribution\x20rules\x20(different\x20fix\x20/\x20rate\x20/\x20cap);\x20each\x20contributes\x20'+'its\x20own\x20Payment\x20and\x20consumes\x20its\x20own\x20once-slot\x20(keyed\x20by\x20the\x20allocator\x20index).\x20Allocators\x20are\x20evaluated\x20in\x20vector\x20'+'order\x20against\x20the\x20SHRINKING\x20pool,\x20so\x20a\x20later\x20allocator\x20only\x20sees\x20the\x20balance\x20left\x20by\x20the\x20earlier\x20ones\x20—\x20which\x20is\x20'+'exactly\x20how\x20a\x20waterfall\x20(e.g.\x20Amount\x20fee\x20+\x20net\x20Rate\x20split)\x20is\x20built.\x20'+'On-chain\x20truth:\x20wow::allocation\x20(allocation.move:507-509,\x20`while`\x20loop\x20over\x20all\x20allocators,\x20`if\x20(guard\x20address\x20==\x20alloc.guard)`).\x20'+'⚠️\x20If\x20you\x20WANT\x20mutual\x20exclusion\x20you\x20must\x20express\x20it\x20inside\x20the\x20Guard\x20itself\x20(make\x20the\x20conditions\x20logically\x20exclusive).\x20'+'Set\x20to\x20null\x20to\x20clear.\x20'+'⚠️\x20IMMUTABLE\x20after\x20publish\x20except\x20APPEND:\x20order_allocators\x20full\x20replacement\x20can\x20ONLY\x20be\x20done\x20BEFORE\x20publish=true\x20'+'(on-chain\x20check\x20rejects\x20after\x20publish\x20—\x20E_ALREADY_PUBLISHED).\x20'+'After\x20publish,\x20the\x20ONLY\x20mutation\x20is\x20order_allocators_append\x20(prefix-frozen\x20extension\x20—\x20see\x20that\x20field).\x20'+'There\x20is\x20NO\x20pause+lock\x20exception\x20for\x20order_allocators\x20(unlike\x20arbitrations/rewards\x20which\x20have\x20time-lock\x20removal).\x20'+'PRE-PUBLISH\x20CHECKLIST:\x20verify\x20all\x20guard\x20names\x20resolve,\x20all\x20sharing\x20amounts\x20are\x20correct,\x20'+'threshold\x20is\x20set,\x20and\x20recipient\x20types\x20(Entity/Signer/GuardIdentifier)\x20are\x20intended\x20before\x20calling\x20publish=true.\x20'+'GuardIdentifier\x20sharing\x20mode:\x20{who:\x20{GuardIdentifier:\x20<u8>},\x20sharing:\x20<rate>,\x20mode:\x20\x27Rate\x27}\x20—\x20'+'resolves\x20recipient\x20from\x20the\x20Guard\x20table\x20submission\x20at\x20allocation\x20time.\x20BINDING\x20SEMANTICS\x20(contract-enforced,\x20abort\x20code\x2015):\x20'+'in\x20a\x20Service-created\x20Allocation\x20EVERY\x20GuardIdentifier\x20submission\x20must\x20equal\x20the\x20PAYING\x20order\x20—\x20it\x20is\x20always\x20\x27the\x20order\x27,\x20'+'never\x20a\x20third\x20party\x20whose\x20address\x20is\x20supplied\x20at\x20trigger\x20time;\x20use\x20{who:{Entity:...}}\x20for\x20named\x20parties.\x20'+'Canonical\x20order\x20pattern:\x20the\x20recipient\x20slot\x20is\x20the\x20single\x20'+'submitted\x20Order\x20(constrained\x20by\x20the\x20Guard\x20—\x20service\x20binding,\x20qualifying\x20node,\x20signer==order.owner);\x20funds\x20land\x20at\x20that\x20order\x20object\x20and\x20'+'are\x20receivable\x20only\x20by\x20its\x20owner\x20(object\x20receipt\x20=\x20owner\x20receipt).\x20Safety\x20is\x20determined\x20by\x20constraint\x20sufficiency\x20—\x20run\x20the\x20recipient\x20'+'constraint\x20audit\x20before\x20publish.\x20Fixed\x20recipients\x20should\x20use\x20{who:{Entity:...}};\x20unbound\x20Signer\x20recipients\x20are\x20a\x20CRITICAL\x20theft\x20risk.\x20'+'MULTI-CALL\x20ALLOCATION:\x20an\x20allocation\x20can\x20be\x20executed\x20MULTIPLE\x20times\x20(no\x20consumed\x20flag\x20in\x20contract).\x20'+'Use\x20Amount\x20mode\x20(not\x20Surplus)\x20for\x20recurring\x20allocations\x20—\x20an\x20uncapped\x20Surplus\x20sweeps\x20the\x20entire\x20remaining\x20balance\x20on\x20first\x20run.\x20'+'For\x20monthly\x20payment\x20scenarios,\x20create\x20multiple\x20Allocators\x20with\x20time-based\x20Guards\x20+\x20Amount\x20mode\x20sharing\x20items.'),'order_allocators_append':AllocatorsSchema['optional']()['describe']('Append-only\x20correction\x20window\x20for\x20order_allocators\x20—\x20the\x20ONLY\x20allocator\x20mutation\x20allowed\x20AFTER\x20publish\x20(J1).\x20'+'REQUIREMENTS\x20(chain-enforced,\x20allocation\x20abort\x20code\x2020\x20EALLOCATORS_NOT_EXTENSION):\x20the\x20supplied\x20Allocators\x20must\x20be\x20a\x20pure\x20'+'EXTENSION\x20of\x20the\x20current\x20on-chain\x20plan\x20—\x20every\x20existing\x20allocator\x20appears\x20VERBATIM\x20as\x20a\x20prefix\x20(same\x20guard,\x20same\x20sharing,\x20'+'same\x20fix/max),\x20threshold\x20must\x20be\x20UNCHANGED;\x20only\x20description\x20may\x20change\x20freely.\x20New\x20allocators\x20are\x20appended\x20after\x20the\x20prefix.\x20'+'WHY:\x20rewriting\x20an\x20existing\x20allocator\x20or\x20changing\x20the\x20threshold\x20would\x20retroactively\x20alter\x20payout\x20rules\x20for\x20orders\x20already\x20'+'escrowed\x20against\x20the\x20old\x20plan.\x20Clearing\x20the\x20plan\x20(null)\x20is\x20NOT\x20possible\x20here\x20—\x20that\x20would\x20strand\x20in-flight\x20orders.\x20'+'Permission:\x20same\x20index\x20313\x20as\x20order_allocators.\x20'+'USE\x20CASE:\x20you\x20forgot\x20one\x20allocator\x20guard\x20(e.g.\x20the\x20refund\x20exit\x20for\x20a\x20review\x20node)\x20and\x20the\x20Service\x20is\x20already\x20published\x20—\x20'+'instead\x20of\x20abandoning\x20the\x20Service,\x20append\x20the\x20missing\x20allocator.\x20'+'⚠️\x20SCOPE\x20—\x20NEW\x20ORDERS\x20ONLY:\x20each\x20order\x20instantiates\x20its\x20own\x20Allocation\x20from\x20this\x20plan\x20AT\x20BUY\x20TIME,\x20so\x20appending\x20'+'changes\x20the\x20template\x20for\x20FUTURE\x20orders\x20only.\x20Orders\x20already\x20escrowed\x20under\x20the\x20previous\x20plan\x20do\x20NOT\x20gain\x20the\x20'+'appended\x20allocator\x20—\x20their\x20Allocation\x20(and\x20its\x20fund\x20exits)\x20is\x20frozen\x20as\x20originally\x20instantiated;\x20if\x20in-flight\x20orders\x20'+'are\x20already\x20stranded,\x20this\x20append\x20does\x20NOT\x20rescue\x20them.\x20'+'⚠️\x20Appended\x20allocators\x20are\x20evaluated\x20AFTER\x20the\x20existing\x20ones\x20against\x20the\x20shrinking\x20pool\x20(vector\x20order),\x20so\x20they\x20see\x20the\x20'+'balance\x20left\x20by\x20earlier\x20allocators\x20—\x20design\x20appended\x20waterfall\x20tails\x20accordingly.\x20'+'⚠️\x20Once\x20appended,\x20an\x20allocator\x20can\x20NEVER\x20be\x20edited\x20or\x20removed\x20—\x20same\x20permanence\x20as\x20the\x20original\x20plan.'),'buy_guard':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Buy\x20guard\x20object\x20ID\x20or\x20name\x20(null\x20CLEARS\x20the\x20mount).\x20RUNTIME\x20SWITCH\x20(permission\x20307\x20SERVICE_BUY_GUARD\x20—\x20the\x20guard\x20OBJECT\x20is\x20immutable\x20but\x20its\x20MOUNT\x20on\x20the\x20Service\x20is\x20mutable\x20at\x20any\x20time).\x20'+'ROUND-ROTATION\x20DUTY\x20(拍板②\x20dm-mtw-261027):\x20for\x20daily/group\x20rounds\x20whose\x20cutoff\x20is\x20an\x20absolute\x20timestamp,\x20the\x20precise\x20batch\x20boundary\x20is\x20THIS\x20mount,\x20not\x20the\x20time\x20guard\x20—\x20at\x20the\x20cutoff\x20instant\x20the\x20keeper\x20cron\x20SETS\x20the\x20buy_guard\x20(new\x20entrants\x20refused\x20at\x20BUY\x20time)\x20and\x20CLEARs/re-arms\x20it\x20when\x20the\x20next\x20round\x20opens;\x20the\x20on-chain\x20Clock\x20>=\x20cutoff\x20comparison\x20stays\x20the\x20settlement/advance\x20authority.\x20Disclose\x20the\x20publisher\x27s\x20time\x20source\x20the\x20cron\x20fires\x20on.\x20Full\x20Machine\x20reuse\x20across\x20rounds\x20(advance\x20gate\x20re-reading\x20a\x20repository\x20cutoff\x20row)\x20is\x20filed\x20for\x20a\x20protocol\x20window.'),'compensation_fund_add':CoinParamSchema['optional']()['describe']('Deposit\x20funds\x20into\x20the\x20Service\x20compensation_fund.\x20Used\x20to\x20pay\x20indemnity\x20when\x20arbitration\x20resolves\x20in\x20customer\x27s\x20favor.\x20'+'FORMAT:\x20{balance:\x20<amount_in_smallest_unit>}\x20—\x20the\x20field\x20name\x20is\x20\x27balance\x27\x20(NOT\x20\x27amount\x27).\x20'+'The\x20token\x20type\x20and\x20precision\x20are\x20determined\x20by\x20the\x20Service\x20object\x27s\x20type_parameter\x20(the\x20generic\x20type\x20set\x20when\x20the\x20Service\x20was\x20created).\x20'+'For\x20WOW\x20(9\x20decimals):\x20{balance:\x201000000000}\x20=\x201\x20WOW.\x20'+'For\x20tokens\x20with\x20different\x20decimals,\x20adjust\x20accordingly\x20(e.g.\x20USDC\x20has\x206\x20decimals,\x20so\x20{balance:\x201000000}\x20=\x201\x20USDC).\x20'+'REQUIRES:\x20Permission\x20index\x20315\x20(SERVICE_COMPENSATION_FUND_DEPOSIT)\x20for\x20NON-ADMIN\x20callers.\x20The\x20Permission\x20owner\x20and\x20admin\x20short-circuit\x20every\x20builtin\x20index\x20check\x20(no\x20grant\x20needed);\x20only\x20non-admin\x20callers\x20must\x20be\x20granted\x20315\x20first.\x20'+'COMMON\x20MISTAKE:\x20using\x20{amount:\x20...}\x20or\x20{amount:\x20...,\x20type:\x20\x27WOW\x27}\x20—\x20these\x20will\x20fail.\x20The\x20correct\x20field\x20is\x20\x27balance\x27.'),'compensation_fund_withdraw':z['object']({'receipt':AccountOrMark_AddressSchema['describe']('Receipt\x20address\x20that\x20will\x20receive\x20the\x20withdrawn\x20funds\x20(as\x20a\x20new\x20Payment\x20object)'),'payment_info':PaymentInfoSchema['describe']('Payment\x20info\x20for\x20the\x20new\x20Payment\x20object\x20created\x20to\x20hold\x20the\x20withdrawn\x20funds')})['strict']()['optional']()['describe']('Withdraw\x20ALL\x20funds\x20from\x20the\x20compensation_fund\x20to\x20a\x20new\x20Payment\x20object\x20owned\x20by\x20`receipt`.\x20'+'REQUIRES:\x20Service\x20must\x20be\x20paused\x20AND\x20setting_lock_duration\x20must\x20have\x20elapsed\x20since\x20pause\x20(the\x20unpublished-state\x20check).\x20'+'Withdraws\x20the\x20ENTIRE\x20compensation_fund\x20balance\x20via\x20balance::withdraw_all.\x20'+'DIFFERENT\x20from\x20the\x20order-side\x20compensation\x20claim\x20(for\x20arbitration-winning\x20users,\x20no\x20pause+lock\x20required).'),'setting_lock_duration_add':z['number']()['optional']()['describe']('Additional\x20lock\x20duration\x20to\x20ADD\x20to\x20\x27setting_lock_duration\x27\x20(Move\x20field\x20name).\x20'+'UNIT:\x20milliseconds\x20(ms).\x20Example:\x202592000000\x20=\x2030\x20days,\x207776000000\x20=\x2090\x20days,\x2086400000\x20=\x201\x20day.\x20'+'DEFAULT:\x202592000000\x20(30\x20days,\x20DEFAULT_LOCK_DURATION).\x20This\x20is\x20the\x20initial\x20value\x20when\x20a\x20Service\x20is\x20created.\x20'+'Behavior:\x20additive\x20(safe_add)\x20—\x20only\x20increases,\x20never\x20decreases.\x20'+'Can\x20be\x20called\x20BEFORE\x20or\x20AFTER\x20publish\x20(no\x20publish\x20check).\x20'+'Affects\x20the\x20waiting\x20time\x20required\x20by:\x20compensation_fund_withdraw,\x20arbitrations\x20remove/clear,\x20rewards\x20remove/clear\x20'+'(all\x20require\x20pause\x20+\x20setting_lock_duration\x20elapsed\x20since\x20pause).'),'compensation_fund_receive':ReceivedBalanceOrRecentlySchema['optional']()['describe']('Receive\x20order\x20compensation\x20funds\x20from\x20this\x20Service\x20object.'+RECEIVE_FORMAT_BLOCK_BALANCE),'owner_receive':ReceivedObjectsOrRecentlySchema['optional']()['describe']('Unwrap\x20CoinWrapper\x20objects\x20and\x20other\x20objects\x20received\x20by\x20this\x20Service\x20object\x20and\x20send\x20them\x20to\x20the\x20owner\x20of\x20its\x20Permission\x20object.'+RECEIVE_FORMAT_BLOCK_OBJECTS),'um':z['union']([NameOrAddressSchema,z['null']()])['optional']()['describe']('Contact\x20object\x20ID\x20or\x20name\x20—\x20the\x20Service\x27s\x20customer-service\x20channel.\x20'+'This\x20is\x20the\x20object\x20that\x20Messenger\x20routes\x20encrypted\x20messages\x20to\x20for\x20pre-order\x20negotiation,\x20'+'private-info\x20delivery\x20(see\x20customer_required),\x20and\x20post-sale\x20support.\x20'+'⚠️\x20REQUIRED\x20whenever\x20customer_required\x20is\x20set:\x20without\x20um,\x20the\x20customer\x27s\x20private\x20information\x20'+'has\x20no\x20channel\x20to\x20reach\x20the\x20merchant.'),'arb_statement':z['object']({'arb':NameOrAddressSchema['describe']('Arb\x20object\x20(case)\x20to\x20attach\x20the\x20statement\x20to.'),'order':NameOrAddressSchema['describe']('The\x20order\x20the\x20case\x20was\x20opened\x20against\x20—\x20must\x20belong\x20to\x20this\x20Service.'),'statement':z['string']()['max'](0xfa0)['describe']('Seller\x27s\x20text\x20statement\x20appended\x20to\x20the\x20case\x20record\x20(ArbStatementEvent).\x20'+'Event-only:\x20nothing\x20on\x20the\x20Arb\x20object\x20is\x20mutated;\x20the\x20record\x20cannot\x20be\x20rewritten\x20or\x20deleted.\x20'+'Use\x20to\x20declare\x20facts\x20or\x20report\x20the\x20customer\x27s\x20behavior\x20(e.g.\x20absence,\x20non-cooperation).\x20'+'PRIMARY\x20evidence\x20channel\x20is\x20Messenger\x20(encrypted\x20WTS\x20records\x20with\x20the\x20customer);\x20'+'this\x20is\x20the\x20SECONDARY\x20on-chain\x20declare/report\x20channel.')})['optional']()['describe']('Service\x20(defendant-side)\x20statement\x20on\x20an\x20arbitration\x20case\x20—\x20permission\x20index\x20321.\x20'+'Lets\x20the\x20Service\x20permission\x20holder\x20put\x20a\x20bounded\x20text\x20on\x20the\x20record\x20for\x20any\x20case\x20against\x20'+'an\x20order\x20of\x20this\x20service\x20WITHOUT\x20holding\x20the\x20order.\x20Callable\x20in\x20ANY\x20case\x20status.\x20'+'The\x20Arb\x27s\x20coin\x20type\x20is\x20derived\x20automatically\x20from\x20the\x20arb\x20object\x20on-chain.'),'pause':z['boolean']()['optional']()['describe']('Whether\x20to\x20pause\x20accepting\x20new\x20orders.'),'publish':z['boolean']()['optional']()['describe']('Whether\x20to\x20publish\x20the\x20Service.\x20After\x20publishing,\x20customers\x20can\x20place\x20orders.\x20'+'⚠️\x20PRE-PUBLISH\x20EVALUATION\x20(mandatory,\x20stop-node\x20fund-exit\x20coverage):\x20service.allocators\x20MUST\x20cover\x20EVERY\x20stop\x20node\x20of\x20the\x20bound\x20Machine\x20—\x20every\x20node\x20where\x20an\x20order\x20can\x20rest\x20(terminal\x20nodes\x20AND\x20waiting\x20states:\x20review\x20windows,\x20handovers,\x20open\x20disputes)\x20needs\x20BOTH\x20a\x20withdrawal\x20(release)\x20AND\x20a\x20refund\x20allocation\x20rule,\x20and\x20each\x20mapping\x20guard\x20must\x20be\x20satisfiable\x20in\x20BOTH\x20directions.\x20An\x20uncovered\x20stop\x20node\x20strands\x20escrowed\x20funds\x20permanently\x20(order_allocators\x20is\x20L1-immutable).\x20Review-gated\x20release\x20is\x20a\x20TIME\x20VARIANT\x20inside\x20ONE\x20exit\x20guard\x20(\x27reviewed\x20OR\x20unreviewed\x20after\x20T\x27),\x20never\x20parallel\x20outgoing\x20edges\x20(race\x20deadlock).\x20See\x20pattern.fund_flow_stop_node_coverage\x20+\x20rules\x20R-M5-03\x20/\x20R-M5-09.\x20'+'VERIFIED\x20against\x20Move\x20source\x20+\x20SDK\x20(4-level\x20immutability\x20matrix):\x0a'+'\x20\x20L1\x20—\x20PERMANENTLY\x20LOCKED\x20after\x20publish\x20(assert!(!bPublished),\x20no\x20pause+lock\x20exception):\x0a'+'\x20\x20\x20\x20•\x20machine\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20(workflow\x20template)\x0a'+'\x20\x20\x20\x20•\x20order_allocators\x20(fund\x20distribution\x20rules\x20—\x20full\x20replacement\x20locked;\x20APPEND-ONLY\x20additions\x20'+'remain\x20possible\x20via\x20order_allocators_append,\x20prefix/threshold\x20frozen)\x0a'+'\x20\x20L2\x20—\x20TIME-LOCKED\x20after\x20publish\x20(unpublished-state\x20check\x20—\x20requires\x20pause\x20+\x20setting_lock_duration\x20elapsed):\x0a'+'\x20\x20\x20\x20•\x20arbitrations\x20remove/clear\x20(dispute\x20resolution\x20objects)\x0a'+'\x20\x20\x20\x20•\x20rewards\x20remove/clear\x20\x20\x20\x20\x20\x20\x20(reward\x20objects)\x0a'+'\x20\x20\x20\x20•\x20compensation_fund_withdraw\x20(withdraw\x20ALL\x20funds)\x0a'+'\x20\x20\x20\x20RATIONALE\x20(deliberate\x20design,\x20NOT\x20a\x20defect):\x20these\x20three\x20REVOKE\x20buyer-facing\x20guarantees\x20that\x20placed\x20orders\x20already\x20rely\x20on\x20—\x20the\x20lock\x20protects\x20buyer\x20expectations.\x20Daily\x20operations\x20(sales\x20add/remove,\x20price,\x20stock,\x20description)\x20are\x20NEVER\x20gated\x20by\x20this\x20lock.\x0a'+'\x20\x20L3\x20—\x20REMAIN\x20MUTABLE\x20after\x20publish\x20(no\x20SDK\x20check,\x20no\x20Move\x20check):\x0a'+'\x20\x20\x20\x20•\x20arbitrations\x20add,\x20rewards\x20add\x20(no\x20assert\x20—\x20can\x20add\x20after\x20publish)\x0a'+'\x20\x20\x20\x20•\x20buy_guard,\x20sales,\x20discount,\x20description,\x20location,\x20pause,\x20repositories,\x0a'+'\x20\x20\x20\x20•\x20compensation_fund_add,\x20setting_lock_duration_add,\x20customer_required,\x20um\x20(Contact)\x0a'+'These\x202\x20L1-LOCKED\x20fields\x20(machine/order_allocators)\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.\x0a'+'arbitrations/rewards\x20can\x20be\x20ADDED\x20after\x20publish\x20but\x20remove/clear\x20requires\x20pause+lock.\x0a'+'\x0a'+'⚠️\x20COMPENSATION_FUND\x20+\x20ARBITRATION\x20LINKAGE:\x0a'+'\x20\x20At\x20publish\x20time,\x20if\x20compensation_fund\x20>\x200,\x20Arbitration\x20MUST\x20be\x20bound:\x0a'+'\x20\x20\x20\x20if\x20(balance::value(&self.compensation_fund)\x20>\x200)\x20{\x0a'+'\x20\x20\x20\x20\x20\x20\x20\x20assert!(arbitration_count\x20>\x200,\x20E_ARBITRATION_NOT_SET_WITH_COMPENSATION_FUND);\x0a'+'\x20\x20\x20\x20}\x0a'+'\x20\x20The\x20MCP\x20handler\x20enforces\x20this\x20as\x20a\x20HARD\x20PRE-CHECK:\x20if\x20publish=true\x20AND\x20compensation_fund_add\x20'+'\x20\x20is\x20set\x20in\x20the\x20same\x20call\x20AND\x20arbitrations\x20is\x20empty,\x20the\x20call\x20is\x20REJECTED\x20before\x20submission.\x20'+'\x20\x20If\x20compensation_fund\x20was\x20deposited\x20in\x20a\x20prior\x20call,\x20a\x20SOFT\x20WARNING\x20is\x20issued.\x0a'+'\x0a'+'SCHEMA-03\x20/\x20P0-01\x20fix\x20—\x20DEPLOYMENT\x20WORKFLOW\x20(two-phase,\x20avoids\x20circular\x20dependency):\x0a'+'\x20\x20Phase\x201\x20—\x20CREATE\x20(no\x20publish):\x20object={name:\x27my-service\x27,\x20type_parameter,\x20permission}\x20+\x20machine\x20+\x20order_allocators\x20+\x20arbitrations.\x0a'+'\x20\x20\x20\x20NOTE:\x20buy_guard\x20can\x20use\x20a\x20LocalMark\x20NAME\x20(not\x20address)\x20to\x20break\x20the\x20Guard→Service\x20circular\x20dependency.\x0a'+'\x20\x20\x20\x20The\x20name\x20is\x20resolved\x20to\x20an\x20address\x20at\x20transaction\x20build\x20time.\x0a'+'\x20\x20Phase\x202\x20—\x20PUBLISH:\x20object=\x27my-service\x27\x20(string\x20ref)\x20+\x20publish=true.\x0a'+'\x20\x20\x20\x20All\x20L1-LOCKED\x20fields\x20must\x20be\x20set\x20in\x20Phase\x201;\x20Phase\x202\x20only\x20flips\x20the\x20publish\x20flag.\x0a'+'\x20\x20Post-publish\x20updates:\x20buy_guard,\x20sales,\x20description,\x20repositories\x20(add),\x20rewards\x20(add),\x20arbitrations\x20(add),\x20etc.'),'creation_plan':z['any']()['optional']()['describe']('WIZARD\x20CONTRACT:\x20the\x20Plan\x20JSON\x20that\x20merchant_guide\x20delivered\x20(its\x20creation_plan\x20/\x20plan\x20field),\x20'+'passed\x20back\x20VERBATIM\x20on\x20the\x20Service\x20publish\x20call\x20(data.publish=true).\x20The\x20publish\x20gate\x20replays\x20the\x20'+'plan\x27s\x20freeze\x20matrix\x20(preflight)\x20right\x20before\x20submission\x20and\x20REJECTS\x20the\x20publish\x20when\x20any\x20gate\x20fails\x20'+'(structural\x20issues,\x20critical\x20audit\x20findings,\x20or\x20a\x20failed\x20rule\x20check)\x20—\x20this\x20closes\x20the\x20preflight\x20bypass\x20'+'where\x20a\x20plan\x20that\x20failed\x20merchant_guide\x27s\x20audit\x20could\x20still\x20be\x20materialized\x20manually.\x20'+'OMIT\x20this\x20field\x20on\x20every\x20NON-publish\x20call\x20and\x20on\x20fully\x20manual\x20(non-wizard)\x20builds\x20—\x20the\x20manual\x20path\x20is\x20'+'unchanged\x20and\x20never\x20gated\x20by\x20this\x20field.\x20Do\x20NOT\x20edit,\x20trim,\x20or\x20\x27improve\x27\x20the\x20plan\x20in\x20transit:\x20a\x20mutated\x20'+'plan\x20is\x20rejected\x20(target\x20cross-check)\x20and\x20the\x20publish\x20must\x20be\x20redone\x20from\x20merchant_guide.'),'reentry_kind':z['enum'](['none','review-loop','paid-cycle'])['optional']()['describe']('AP-3\x20loop-semantics\x20declaration\x20for\x20the\x20publish\x20audit\x20(ctra\x20F-06\x20root\x20cure):\x20overrides\x20the\x20'+'word-stem\x20loop\x20classifier\x20when\x20the\x20machine\x20graph\x20contains\x20a\x20cycle.\x20'+'\x27none\x27\x20=\x20default\x20(word-stem\x20classification)\x20/\x20\x27review-loop\x27\x20=\x20same-order\x20no-charge\x20revisits\x20/\x20'+'\x27paid-cycle\x27\x20=\x20per-revisit\x20fee,\x20fund\x20gate\x20required.\x20'+'MCP-side\x20audit\x20declaration\x20ONLY\x20(pre_publish\x20harness\x20hook)\x20—\x20never\x20sent\x20on-chain;\x20the\x20handler\x20strips\x20it\x20'+'before\x20the\x20SDK\x20call.\x20Mirror\x20of\x20the\x20template\x20frontmatter\x20twin\x20(template-loader).')})['strict']()['describe']('On-chain\x20Service\x20operations.\x20USAGE:\x20(1)\x20CREATE\x20NEW:\x20Set\x20\x27object\x27\x20field\x20with\x20OBJECT\x20format\x20{name,\x20type_parameter,\x20permission,\x20...}\x20to\x20create\x20a\x20Service.\x20NOTE:\x20\x27name\x27\x20goes\x20INSIDE\x20\x27object\x27,\x20NOT\x20at\x20the\x20data\x20root\x20level.\x20\x27permission\x27\x20can\x20be\x20a\x20new\x20Permission\x20object\x20or\x20reference\x20an\x20existing\x20one\x20-\x20check\x20\x27object\x27\x20field\x20description\x20for\x20details.\x20(2)\x20OPERATE\x20EXISTING:\x20Set\x20\x27object\x27\x20field\x20with\x20STRING\x20format\x20(object\x20ID\x20or\x20name).\x20The\x20\x27object\x27\x20field\x20is\x20CRITICAL\x20and\x20REQUIRED\x20in\x20both\x20cases.\x20STRING\x20for\x20existing,\x20OBJECT\x20for\x20new\x20creation.');export const CallService_InputSchema=z['object']({'data':CallService_DataSchema,'env':CallEnvSchema['optional'](),'submission':SubmissionCallSchema['optional']()})['strict']();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{z}from'zod';import{isValidAddress,ValueType as a448a,ObjectType as a448b,ENTRYPOINT,isValidWowAddress,isValidName,isValidDescription,MAX_DESCRIPTION_LENGTH,isValidLongName,MAX_LONG_NAME_LENGTH,MAX_NAME_LENGTH,MAX_USER_IDENTIFIER}from'@wowok/wowok';const isValidMoveIdentifier=a=>{if(a['length']===0x0)return![];const b=a[0x0];if(b==='_')return a['length']>0x1&&/^[a-zA-Z0-9_]+$/['test'](a['slice'](0x1));if(/^[a-zA-Z]$/['test'](b))return/^[a-zA-Z0-9_]*$/['test'](a['slice'](0x1));return![];};export const DescriptionSchema=z['string']()['trim']()['refine'](isValidDescription,{'message':'Description\x20string\x20(max\x20'+MAX_DESCRIPTION_LENGTH+'\x20bcs\x20characters)'})['describe']('Description\x20string\x20(max\x20'+MAX_DESCRIPTION_LENGTH+'\x20bcs\x20characters)');export const LongNameSchema=z['string']()['refine'](isValidLongName,{'message':'Name\x20exceeds\x20the\x20'+MAX_LONG_NAME_LENGTH+'-byte\x20on-chain\x20limit\x20(UTF-8\x20bytes;\x20a\x20CJK\x20character\x20costs\x20~3\x20bytes\x20—\x20keep\x20CJK\x20names\x20under\x20~21\x20characters).\x20Use\x20a\x20short\x20identifier\x20for\x20the\x20name;\x20the\x20full\x20human-readable\x20title\x20belongs\x20in\x20description/WIP\x20content\x20fields'});export const WowAddressSchema=z['string']()['refine'](isValidAddress,{'message':'Invalid\x20ID\x20format:\x20must\x20be\x20\x270x\x27\x20prefix\x20followed\x20by\x2064\x20hex\x20characters'})['describe']('Valid\x20ID:\x200x\x20prefix\x20+\x2064\x20hex\x20characters,\x20or\x20builtin\x20ID\x20(0x5-0x9,\x200xa,\x200xc,\x200xd,\x200x403,\x200xaaa,\x200xaab,\x200xacc)');const WOW_TOKEN_TYPE='0x2::wow::WOW',isValidTokenTypeAddress=a=>{if(!/^0x[0-9a-fA-F]{1,64}$/['test'](a))return![];return isValidWowAddress('0x'+a['slice'](0x2)['toLowerCase']()['padStart'](0x40,'0'));};export const TokenTypeSchema=z['string']()['refine'](a=>{const b=a['split']('::');if(b['length']!==0x3)return![];const [c,d,e]=b;if(!isValidTokenTypeAddress(c))return![];if(!isValidMoveIdentifier(d))return![];if(!isValidMoveIdentifier(e))return![];return!![];},{'message':'Invalid\x20token\x20type\x20format.\x20Expected:\x20{address}::{module}::{struct}\x20where\x20address\x20is\x20a\x20hex\x20ID\x20(short\x20builtin\x20like\x200x2/0xaaa\x20or\x20full\x200x+64hex),\x20module/struct\x20are\x20valid\x20Move\x20identifiers.\x20e.g.\x20\x270x2::wow::WOW\x27'})['describe']('Token\x20type\x20in\x20format:\x20{address}::{module}::{struct}.\x20e.g.\x20\x270x2::wow::WOW\x27\x20(WOW),\x20\x270x...::usdt::USDT\x27\x20(USDT),\x20\x270x...::eth::ETH\x27\x20(ETH).\x20To\x20discover\x20all\x20available\x20tokens\x20and\x20their\x20type\x20tags,\x20query\x20\x27mainnet\x20bridge\x20tokens\x27\x20via\x20wowok_buildin_info\x20and\x20use\x20the\x20returned\x20`wowTypeTag`\x20here.\x20NOTE:\x20testnet\x20has\x20ONLY\x20WOW\x20(no\x20stablecoins\x20are\x20bridged)\x20—\x20non-WOW\x20tokens\x20are\x20a\x20mainnet\x20capability;\x20the\x20token\x20is\x20fixed\x20at\x20object\x20creation\x20and\x20prices/orders\x20settle\x20in\x20it.');export const TokenTypeWithDefaultSchema=TokenTypeSchema['default'](WOW_TOKEN_TYPE)['describe']('Token\x20type\x20in\x20format:\x20{address}::{module}::{struct}.\x20Default:\x20\x270x2::wow::WOW\x27.\x20Other\x20examples:\x20\x270x...::usdt::USDT\x27\x20(USDT),\x20\x270x...::eth::ETH\x27\x20(ETH).\x20To\x20discover\x20all\x20available\x20tokens\x20and\x20their\x20type\x20tags,\x20query\x20\x27mainnet\x20bridge\x20tokens\x27\x20via\x20wowok_buildin_info\x20and\x20use\x20the\x20returned\x20`wowTypeTag`\x20here.\x20NOTE:\x20testnet\x20has\x20ONLY\x20WOW\x20(no\x20stablecoins\x20are\x20bridged)\x20—\x20non-WOW\x20tokens\x20are\x20a\x20mainnet\x20capability;\x20the\x20token\x20is\x20fixed\x20at\x20object\x20creation\x20and\x20prices/orders\x20settle\x20in\x20it.');export const NameSchema=z['string']()['refine'](isValidName,'Name\x20string\x20(max\x2064\x20bcs\x20characters,\x20must\x20not\x20start\x20with\x20\x270x\x27)');export const NotEmptyNameSchema=z['string']()['nonempty']()['refine'](isValidName,'Name\x20string\x20(at\x20least\x201\x20character,\x20max\x20length\x2064\x20bcs\x20characters)');export const NameOrAddressSchema=z['string']()['refine'](a=>{if(isValidAddress(a))return!![];if(isValidName(a))return!![];return![];},{'message':'Invalid\x20ID\x20format:\x20must\x20be\x20\x270x\x27\x20prefix,\x20or\x20a\x20builtin\x20ID\x20(0x5-0x9,\x200xa,\x200xc,\x200xd,\x200x403,\x200xaaa,\x200xaab,\x200xacc)'})['describe']('Account/Object\x20name\x20or\x20ID.\x20If\x20specifying\x20an\x20account,\x20use\x20empty\x20string\x20\x27\x27\x20for\x20the\x20default\x20account.\x20'+'If\x20it\x20starts\x20with\x20\x270x\x27,\x20it\x20will\x20be\x20treated\x20as\x20an\x20ID.\x20'+'Otherwise,\x20it\x20will\x20be\x20treated\x20as\x20a\x20name\x20(max\x2064\x20bcs\x20characters).');export const AccountOrMark_AddressSchema=z['object']({'name_or_address':NameOrAddressSchema['optional'](),'local_mark_first':z['boolean']()['optional']()['describe']('Whether\x20to\x20prioritize\x20local\x20marks,\x20if\x20true,\x20prioritize\x20local\x20marks,\x20otherwise\x20prioritize\x20global\x20marks')})['strict']()['describe']('Account\x20or\x20address\x20lookup\x20object.\x20Use\x20this\x20to\x20specify\x20which\x20account\x20to\x20use\x20for\x20an\x20operation.\x20'+'EXAMPLE:\x20{\x20name_or_address:\x20\x27testor2\x27\x20}\x20-\x20looks\x20up\x20account\x20by\x20name;\x20'+'EXAMPLE:\x20{\x20name_or_address:\x20\x270x1234...\x27\x20}\x20-\x20uses\x20address\x20directly;\x20'+'If\x20name_or_address\x20is\x20empty\x20string\x20\x27\x27,\x20uses\x20the\x20default\x20local\x20account.');export const ManyAccountOrMark_AddressSchema=z['object']({'entities':z['array'](AccountOrMark_AddressSchema),'check_all_founded':z['boolean']()['default'](!![])['describe']('Whether\x20to\x20check\x20all\x20entities\x20are\x20found.\x20Defaults\x20to\x20true:\x20abort\x20and\x20throw\x20if\x20ANY\x20entity\x20cannot\x20be\x20resolved.\x20Set\x20false\x20only\x20when\x20partial\x20resolution\x20is\x20explicitly\x20intended\x20(only\x20found\x20IDs\x20are\x20returned)')})['strict']()['describe']('Used\x20to\x20batch\x20find\x20account\x20or\x20object\x20IDs\x20by\x20name');export const AccountOrMark_AddressAISchema=z['union']([NameOrAddressSchema['transform'](a=>({'name_or_address':a,'local_mark_first':!![]}))['describe']('Account\x20name,\x20address\x20(0x...),\x20or\x20mark\x20name.\x20'+'When\x20using\x20string\x20format,\x20local\x20marks\x20are\x20searched\x20first.\x20'+'EXAMPLE:\x20\x27alice\x27\x20-\x20searches\x20local\x20marks\x20first,\x20then\x20global;\x20'+'EXAMPLE:\x20\x270x2...\x27\x20(64\x20hex\x20chars)\x20-\x20uses\x20address\x20directly;\x20'+'EXAMPLE:\x20\x27\x27\x20-\x20uses\x20the\x20default\x20local\x20account'),AccountOrMark_AddressSchema])['describe']('Account\x20or\x20address\x20lookup.\x20Can\x20be\x20a\x20simple\x20string\x20(recommended\x20for\x20AI)\x20'+'or\x20full\x20object\x20with\x20explicit\x20local_mark_first\x20control.\x20'+'String\x20form\x20auto-converts\x20to\x20{\x20name_or_address:\x20<string>,\x20local_mark_first:\x20true\x20}.');export const ManyAccountOrMark_AddressAISchema=z['union']([z['array'](NameOrAddressSchema)['transform'](a=>({'entities':a['map'](b=>({'name_or_address':b,'local_mark_first':!![]})),'check_all_founded':!![]}))['describe']('Array\x20of\x20account\x20names,\x20addresses,\x20or\x20mark\x20names.\x20'+'Local\x20marks\x20are\x20searched\x20first\x20for\x20each\x20entry.\x20'+'EXAMPLE:\x20[\x27alice\x27,\x20\x270x2...\x27,\x20\x27bob\x27]'),ManyAccountOrMark_AddressSchema])['describe']('Batch\x20account\x20or\x20address\x20lookup.\x20Can\x20be\x20an\x20array\x20of\x20strings\x20(recommended\x20for\x20AI)\x20'+'or\x20full\x20object\x20with\x20explicit\x20control.\x20'+'Array\x20form\x20auto-converts\x20to\x20{\x20entities:\x20[...],\x20check_all_founded:\x20true\x20}.');export const ObjectOwnerSchema=z['union']([z['object']({'AddressOwner':z['string']()['describe']('Address\x20owner')})['strict'](),z['object']({'ObjectOwner':z['string']()['describe']('Object\x20owner')})['strict'](),z['object']({'Shared':z['object']({'initial_shared_version':z['union']([z['string'](),z['number']()])['describe']('Version\x20when\x20object\x20became\x20shared')})['strict']()['describe']('Shared\x20object')})['strict'](),z['literal']('Immutable'),z['object']({'ConsensusAddressOwner':z['object']({'owner':z['string']()['describe']('Consensus\x20ID\x20owner'),'start_version':z['union']([z['string'](),z['number']()])['describe']('Version\x20when\x20object\x20recently\x20became\x20consensus\x20object')})['strict']()['describe']('Consensus\x20ID\x20owner')})['strict']()])['describe']('Object\x20owner');export const ValueTypeUserSchema=z['preprocess'](a=>{if(typeof a==='string'&&/^\d+$/['test'](a['trim']())){const b=Number(a['trim']());if(Number['isInteger'](b)&&b>=0x0&&b<=0x12)return b;}return a;},z['union']([z['literal'](a448a['Bool'])['describe']('Bool\x20(0)'),z['literal'](a448a['Address'])['describe']('Address\x20(1)'),z['literal'](a448a['String'])['describe']('String\x20(2)'),z['literal'](a448a['U8'])['describe']('U8\x20(3)'),z['literal'](a448a['U16'])['describe']('U16\x20(4)'),z['literal'](a448a['U32'])['describe']('U32\x20(5)'),z['literal'](a448a['U64'])['describe']('U64\x20(6)'),z['literal'](a448a['U128'])['describe']('U128\x20(7)'),z['literal'](a448a['U256'])['describe']('U256\x20(8)'),z['literal'](a448a['VecBool'])['describe']('VecBool\x20(9)'),z['literal'](a448a['VecAddress'])['describe']('VecAddress\x20(10)'),z['literal'](a448a['VecString'])['describe']('VecString\x20(11)'),z['literal'](a448a['VecU8'])['describe']('VecU8\x20(12)'),z['literal'](a448a['VecU16'])['describe']('VecU16\x20(13)'),z['literal'](a448a['VecU32'])['describe']('VecU32\x20(14)'),z['literal'](a448a['VecU64'])['describe']('VecU64\x20(15)'),z['literal'](a448a['VecU128'])['describe']('VecU128\x20(16)'),z['literal'](a448a['VecU256'])['describe']('VecU256\x20(17)'),z['literal'](a448a['VecVecU8'])['describe']('VecVecU8\x20(18)'),z['literal']('Bool')['describe']('Bool'),z['literal']('Address')['describe']('Address'),z['literal']('String')['describe']('String'),z['literal']('U8')['describe']('U8'),z['literal']('U16')['describe']('U16'),z['literal']('U32')['describe']('U32'),z['literal']('U64')['describe']('U64'),z['literal']('U128')['describe']('U128'),z['literal']('U256')['describe']('U256'),z['literal']('VecBool')['describe']('VecBool'),z['literal']('VecAddress')['describe']('VecAddress'),z['literal']('VecString')['describe']('VecString'),z['literal']('VecU8')['describe']('VecU8'),z['literal']('VecU16')['describe']('VecU16'),z['literal']('VecU32')['describe']('VecU32'),z['literal']('VecU64')['describe']('VecU64'),z['literal']('VecU128')['describe']('VecU128'),z['literal']('VecU256')['describe']('VecU256'),z['literal']('VecVecU8')['describe']('VecVecU8'),z['literal']('bool')['describe']('bool'),z['literal']('address')['describe']('address'),z['literal']('string')['describe']('string'),z['literal']('u8')['describe']('u8'),z['literal']('u16')['describe']('u16'),z['literal']('u32')['describe']('u32'),z['literal']('u64')['describe']('u64'),z['literal']('u128')['describe']('u128'),z['literal']('u256')['describe']('u256'),z['literal']('vecbool')['describe']('vecbool'),z['literal']('vecaddress')['describe']('vecaddress'),z['literal']('vecstring')['describe']('vecstring'),z['literal']('vecu8')['describe']('vecu8'),z['literal']('vecu16')['describe']('vecu16'),z['literal']('vecu32')['describe']('vecu32'),z['literal']('vecu64')['describe']('vecu64'),z['literal']('vecu128')['describe']('vecu128'),z['literal']('vecu256')['describe']('vecu256'),z['literal']('vecvecu8')['describe']('vecvecu8')])['describe']('User\x20available\x20value\x20type\x20(number,\x20numeric\x20string,\x20or\x20name\x20—\x20e.g.,\x206,\x20\x276\x27,\x20\x27U64\x27,\x20\x27u64\x27)'));export const ValueTypeSchema=ValueTypeUserSchema['or'](z['literal'](a448a['Value'])['describe']('Value\x20(19)'))['or'](z['literal']('Value')['describe']('Value'))['describe']('Value\x20type\x20(number\x20or\x20string,\x20e.g.,\x206\x20or\x20\x27U64\x27)');export const ObjectTypeSchema=z['enum']([a448b['Permission'],a448b['Repository'],a448b['Arb'],a448b['Arbitration'],a448b['Service'],a448b['Machine'],a448b['Order'],a448b['Progress'],a448b['Payment'],a448b['Treasury'],a448b['Guard'],a448b['Demand'],a448b['Passport'],a448b['Allocation'],a448b['Resource'],a448b['Reward'],a448b['Discount'],a448b['EntityRegistrar'],a448b['EntityLinker'],a448b['Proof'],a448b['WReceivedObject'],a448b['Contact'],a448b['TableItem_ProgressHistory'],a448b['TableItem_PermissionPerm'],a448b['TableItem_DemandPresenter'],a448b['TableItem_MachineNode'],a448b['TableItem_TreasuryHistory'],a448b['TableItem_RepositoryData'],a448b['TableItem_RewardRecord'],a448b['TableItem_EntityLinker'],a448b['TableItem_AddressMark'],a448b['TableItem_EntityRegistrar']])['describe']('Wowok\x20object\x20type');export const BalanceTypeSchema=z['union']([z['number'](),z['string']()])['refine'](a=>{if(typeof a==='number')return Number['isSafeInteger'](a)&&a>=0x0;const b=a['trim']();if(/^\d+$/['test'](b))return!![];return/^(\d+(?:\.\d+)?)\s*([A-Za-z][A-Za-z0-9]*)$/['test'](b);},'Invalid\x20amount:\x20bare\x20decimal\x20values\x20without\x20a\x20token\x20symbol\x20(e.g.\x20\x222.5\x22,\x20\x220.1\x22)\x20are\x20rejected.\x20'+'Use\x20a\x20smallest-unit\x20non-negative\x20integer\x20string\x20(e.g.\x20\x222500000000\x22),\x20a\x20non-negative\x20safe-integer\x20number,\x20'+'or\x20a\x20display\x20string\x20with\x20the\x20token\x20symbol\x20(e.g.\x20\x222.5WOW\x22)\x20so\x20the\x20Fund\x20Processing\x20Layer\x20can\x20convert\x20it.')['describe']('A\x20coin/balance\x20amount.\x20Accepts\x20three\x20formats:\x20'+'(1)\x20DISPLAY\x20FORMAT\x20with\x20token\x20symbol:\x20\x222.5WOW\x22,\x20\x2210USDC\x22,\x20\x220.05WOW\x22\x20—\x20'+'auto-converted\x20to\x20smallest\x20units\x20via\x20the\x20Fund\x20Processing\x20Layer\x20(token\x20precision\x20resolved\x20'+'from\x20official\x20registry\x20→\x20cache\x20→\x20on-chain).\x20The\x20symbol\x20MUST\x20match\x20the\x20token\x27s\x20type_parameter.\x20'+'(2)\x20SMALLEST\x20UNIT\x20(numeric\x20string):\x20\x2210000000000\x22\x20—\x20used\x20as-is,\x20no\x20conversion.\x20'+'(3)\x20SMALLEST\x20UNIT\x20(number):\x2010000000000\x20—\x20used\x20as-is\x20only\x20within\x20the\x20safe\x20integer\x20range\x20(±2^53);\x20numbers\x20outside\x20it\x20are\x20REJECTED,\x20use\x20a\x20numeric\x20string\x20instead.\x20'+'PRECISION\x20RULE:\x20for\x20values\x20exceeding\x202^53\x20(9007199254740991),\x20ALWAYS\x20use\x20format\x20(1)\x20or\x20(2)\x20—\x20JS\x20numbers\x20lose\x20integer\x20precision\x20silently\x20and\x20such\x20inputs\x20are\x20blocked.\x20'+'Raw\x20amounts\x20must\x20be\x20plain\x20non-negative\x20integers;\x20a\x20decimal\x20value\x20without\x20a\x20token\x20symbol\x20(e.g.\x20\x222.5\x22)\x20is\x20rejected\x20—\x20append\x20the\x20symbol\x20(\x222.5WOW\x22)\x20so\x20the\x20Fund\x20Processing\x20Layer\x20converts\x20it.\x20'+'WARNING\x20—\x20BARE\x20INTEGER\x20MEANS\x20SMALLEST\x20UNIT,\x20NOT\x20TOKENS:\x20formats\x20(2)/(3)\x20are\x20NEVER\x20interpreted\x20as\x20display\x20tokens.\x20'+'For\x20example\x20amount=\x225\x22\x20or\x205\x20means\x205\x20raw\x20units\x20=\x200.000000005\x20WOW\x20(9\x20decimals)\x20—\x20NOT\x205\x20WOW.\x20'+'When\x20the\x20user\x20asks\x20for\x20a\x20token\x20amount,\x20you\x20MUST\x20use\x20display\x20format\x20(\x225WOW\x22,\x20\x222USDC\x22);\x20a\x20bare\x20integer\x20is\x20only\x20correct\x20for\x20unitless\x20counts\x20(e.g.\x20stock\x20quantity)\x20or\x20when\x20you\x20computed\x20exact\x20raw\x20units\x20yourself.\x20'+'Default\x20token:\x20WOW\x20(9\x20decimals,\x201\x20WOW\x20=\x2010^9\x20MIST).\x20'+'For\x20custom\x20tokens:\x20use\x20display\x20format\x20with\x20the\x20token\x27s\x20symbol,\x20or\x20pass\x20smallest\x20units\x20directly.\x20'+'MONEY\x20CONFIRMATION:\x20all\x20monetary\x20fields\x20trigger\x20user\x20confirmation\x20via\x20the\x20Fund\x20Processing\x20Layer,\x20where\x20the\x20token\x27s\x20FULL\x20type,\x20decimals\x20and\x20raw\x20amount\x20are\x20always\x20visible.\x20'+'MULTIPLE\x20ISSUERS:\x20several\x20on-chain\x20tokens\x20may\x20legally\x20share\x20the\x20same\x20symbol\x20(e.g.\x20multiple\x20\x22USDT\x22\x20coins).\x20When\x20a\x20bare\x20symbol\x20matches\x20more\x20than\x20one\x20token,\x20the\x20operation\x20is\x20BLOCKED\x20and\x20every\x20candidate\x20is\x20listed\x20with\x20full\x20details\x20(type,\x20name,\x20decimals,\x20verified\x20tag)\x20—\x20present\x20the\x20list\x20to\x20the\x20USER\x20and\x20let\x20them\x20choose\x20(they\x20may\x20answer\x20by\x20number),\x20then\x20re-issue\x20with\x20the\x20chosen\x20token\x27s\x20FULL\x20type\x20string\x20in\x20type_parameter;\x20never\x20guess\x20an\x20issuer\x20from\x20the\x20bare\x20symbol.\x20'+'MISSING\x20TOKEN\x20INFO:\x20when\x20a\x20token\x27s\x20precision\x20cannot\x20be\x20resolved,\x20the\x20operation\x20is\x20REFUSED\x20(raw\x20u64\x20included\x20—\x20amount\x20magnitude\x20could\x20not\x20be\x20verified).\x20Recovery:\x20provide\x20the\x20token\x27s\x20FULL\x20type\x20in\x20package::module::Name\x20form\x20in\x20type_parameter\x20(a\x20bare\x20symbol\x20like\x20\x22USDT\x22\x20cannot\x20be\x20resolved),\x20and\x20verify\x20the\x20WOW\x20network\x20is\x20correct.\x20'+'Examples:\x20\x222.5WOW\x22\x20(display\x20→\x202500000000),\x2010000000000\x20(number,\x20smallest\x20unit),\x20\x2250000000000\x22\x20(string,\x20smallest\x20unit).\x20'+'Used\x20for:\x20service\x20sale\x20prices,\x20compensation\x20fund\x20balances,\x20Treasury\x20deposits,\x20arbitration\x20fees,\x20reward\x20amounts,\x20stock\x20quantities.');export const QueryIdSchema=z['number']()['int']()['min'](0x0)['describe']('Query\x20ID');export const CacheExpireTypeSchema=z['union']([z['number'](),z['literal']('INFINITE')])['describe']('Cache\x20expiration\x20time\x20type');export const ValueContainerSchema=z['lazy'](()=>z['object']({'valueType':ValueTypeSchema['describe']('Value\x20type'),'value':SupportedValueSchema['describe']('Value')})['strict']()['describe']('Value\x20container\x20with\x20type\x20and\x20value'));export const SupportedValueUserSchema=z['union']([z['boolean'](),z['union']([AccountOrMark_AddressSchema,z['string']()]),z['string'](),z['number'](),z['array'](z['boolean']()),z['union']([ManyAccountOrMark_AddressSchema,z['array'](z['string']())]),z['array'](z['string']()),z['array'](z['number']()),z['array'](z['array'](z['number']()))])['describe']('User\x20available\x20supported\x20value\x20type');export const SupportedValueSchema=SupportedValueUserSchema['or'](ValueContainerSchema)['describe']('Supported\x20value\x20type');export const GuardIdentifierSchema=z['number']()['int']()['min'](0x0)['max'](0xff)['describe']('Identifier\x20(0-255)\x20for\x20data\x20lookup\x20in\x20Guard\x20table.\x20Slot\x20consensus\x20(enforced\x20on-chain\x20at\x20guard\x20table\x20construction):\x20'+('0-'+MAX_USER_IDENTIFIER+'\x20=\x20user\x20slots\x20(free\x20for\x20business\x20guards);\x20')+'221-253\x20=\x20PROTOCOL-RESERVED\x20(rejected\x20on-chain\x20—\x20reserved\x20so\x20future\x20protocol\x20features\x20get\x20fixed\x20slots\x20without\x20colliding\x20with\x20published\x20guards);\x20'+'255\x20=\x20ONCE\x20replay-protection\x20slot\x20on\x20Allocation\x20(byte-keyed,\x20the\x20submitted\x20bytes\x20are\x20the\x20once-key\x20—\x20use\x20for\x20per-period\x20keys\x20like\x20period-<N>);\x20'+'254\x20=\x20ONCE-FOR-OBJECT\x20slot\x20on\x20Allocation\x20(chain-derived\x20key\x20=\x20bcs(the\x20Allocation\x27s\x20payment_info.for_object);\x20the\x20submitted\x20bytes\x20are\x20ignored\x20and\x20the\x20submission\x20only\x20arms\x20the\x20slot\x20—\x20use\x20for\x20one-shot\x20per-order\x20rails\x20such\x20as\x20full\x20refunds).\x20'+'SLOT\x200\x20SEMANTICS:\x20slot\x200\x20carries\x20the\x20transacted\x20Order\x20address\x20by\x20convention.\x20As\x20a\x20submission\x20slot\x20it\x20is\x20legal\x20on\x20order/allocation/machine\x20rails\x20(the\x20order\x20exists\x20when\x20those\x20verify),\x20but\x20FORBIDDEN\x20on\x20a\x20Service\x20buy_guard\x20—\x20the\x20order\x20does\x20not\x20exist\x20when\x20the\x20buy-time\x20passport\x20is\x20verified,\x20so\x20the\x20mount\x20is\x20refused\x20(service\x20abort\x2043).');export const GuardTableItemBaseSchema=z['object']({'identifier':GuardIdentifierSchema['refine'](a=>a<=MAX_USER_IDENTIFIER||a>=0xfe,{'message':'Identifier\x20is\x20in\x20the\x20protocol-reserved\x20range\x20221-253\x20—\x20business\x20guard\x20tables\x20may\x20only\x20use\x200-'+MAX_USER_IDENTIFIER+';\x20'+'254/255\x20are\x20the\x20protocol-owned\x20once\x20slots\x20consumed\x20by\x20allocation\x20replay\x20protection.\x20'+'The\x20chain\x20rejects\x20reserved\x20identifiers\x20at\x20guard\x20table\x20construction\x20(E_IDENTIFIER_RESERVED).'}),'b_submission':z['boolean']()['describe']('Whether\x20this\x20table\x20item\x27s\x20value\x20is\x20submitted\x20dynamically\x20at\x20Guard\x20trigger\x20time\x20(alloc_by_guard\x20call).\x20'+'\x0a\x0a'+'true\x20=\x20value\x20is\x20submitted\x20by\x20the\x20caller\x20when\x20triggering\x20the\x20Guard.\x20'+'Use\x20for\x20runtime-context-dependent\x20values\x20like\x20order\x20address,\x20user\x20address.\x20'+'The\x20\x27value\x27\x20field\x20is\x20ignored\x20when\x20b_submission=true;\x20the\x20caller\x20must\x20provide\x20it\x20via\x20submissions[].\x20'+'\x0a\x0a'+'false\x20=\x20value\x20is\x20static,\x20set\x20at\x20Guard\x20creation\x20time.\x20'+'Use\x20for\x20values\x20known\x20when\x20the\x20Guard\x20is\x20created:\x20expected\x20node\x20names,\x20expected\x20merchant\x20address,\x20expected\x20service\x20address.\x20'+'The\x20\x27value\x27\x20field\x20must\x20be\x20populated\x20and\x20will\x20be\x20stored\x20on-chain\x20permanently.\x20'+'\x0a\x0a'+'Rule\x20of\x20thumb:\x20if\x20the\x20value\x20is\x20the\x20SAME\x20for\x20all\x20future\x20Guard\x20triggers,\x20use\x20false.\x20'+'If\x20the\x20value\x20DIFFERS\x20per\x20trigger\x20(e.g.,\x20which\x20order\x20to\x20release\x20funds\x20for),\x20use\x20true.'),'value_type':ValueTypeUserSchema['describe']('Type\x20of\x20the\x20value\x20stored\x20in\x20`value`.\x20One\x20of:\x20Bool(0),\x20Address(1),\x20String(2),\x20U8(3),\x20U16(4),\x20U32(5),\x20U64(6),\x20U128(7),\x20U256(8),\x20VecBool(9),\x20VecAddress(10),\x20VecString(11),\x20VecU8(12),\x20VecU16(13),\x20VecU32(14),\x20VecU64(15),\x20VecU128(16),\x20VecU256(17),\x20VecVecU8(18).\x20'+'When\x20value_type=Address\x20(1),\x20the\x20`value`\x20field\x20accepts\x20a\x20hex\x20address\x20string,\x20a\x20LocalMark\x20name,\x20or\x20an\x20AccountOrMark_Address\x20object\x20—\x20see\x20`value`\x20field\x20description\x20for\x20details.'),'value':SupportedValueUserSchema['optional']()['describe']('The\x20actual\x20value\x20data.\x20Format\x20depends\x20on\x20`value_type`:\x0a'+'TYPE-CLASS\x20SPLIT\x20(F03):\x20scalar\x20value_types\x20(Bool/Address/String/U8..U256)\x20take\x20ONE\x20scalar\x20value\x20(boolean/address\x20string/name/string/number);\x20'+'Vec*\x20value_types\x20(VecBool/VecAddress/VecString/VecU8..VecU256)\x20take\x20a\x20REAL\x20JSON\x20ARRAY\x20of\x20elements\x20—\x20a\x20string\x20(even\x20a\x20Python-repr-looking\x20\x22[a,\x20b]\x22)\x20fails\x20serialization\x20with\x20\x27value_type=10\x20(array)\x20requires\x20a\x20array\x20value\x27.\x20The\x20historical\x20\x27static\x20values\x20must\x20be\x20strings\x27\x20rule\x20applied\x20to\x20SCALARS\x20only.\x0a'+'•\x20Bool:\x20true/false\x20(boolean)\x0a'+'•\x20Address\x20(CRITICAL\x20—\x20string\x20\x27Address\x27\x20is\x20NOT\x20a\x20placeholder):\x20a\x20hex\x20address\x20(e.g.\x20\x270x1234...\x27),\x20a\x20LocalMark\x20name\x20(e.g.\x20\x27my-service\x27\x20—\x20resolved\x20to\x20address\x20at\x20evaluation\x20time),\x20an\x20AccountOrMark_Address\x20object\x20(e.g.\x20{name_or_address:\x27my-service\x27}),\x20or\x20system\x20shorthand\x20(\x270xaaa\x27\x20=\x20EntityLinker,\x20\x270xaab\x27\x20=\x20EntityRegistrar).\x20The\x20literal\x20string\x20\x27Address\x27\x20itself\x20is\x20INVALID\x20—\x20it\x20would\x20be\x20treated\x20as\x20a\x20non-existent\x20LocalMark\x20name\x20and\x20fail.\x20Example:\x20value=\x270x2::wow::WOW<address>\x27\x20or\x20value=\x27my-permission\x27.\x0a'+'•\x20String:\x20any\x20string\x0a'+'•\x20U8/U16/U32/U64/U128/U256:\x20number\x20or\x20numeric\x20string\x20(e.g.\x2042\x20or\x20\x2742\x27)\x0a'+'•\x20Vec*\x20types:\x20arrays\x20of\x20the\x20corresponding\x20element\x20type\x0a'+'PROTOCOL\x20SLOT\x20254\x20(once,\x20b_submission\x20Address):\x20the\x20submitted\x20value\x20MUST\x20be\x20the\x20ORDER\x20address\x20bound\x20to\x20the\x20operation\x20(payment_info.for_object)\x20—\x20NEVER\x20the\x20Progress/Machine/Arb\x20object\x20the\x20call\x20is\x20advancing.\x20The\x20chain\x20asserts\x20submission(254)\x20==\x20the\x20order\x20address;\x20a\x20Progress\x20address\x20fails\x20the\x20task\x20binding\x20and\x20the\x20forward\x20aborts.\x0a'+'REQUIRED\x20when\x20b_submission=false.\x20OPTIONAL\x20when\x20b_submission=true\x20(value\x20is\x20supplied\x20at\x20evaluation\x20time\x20by\x20user\x20submission).'),'name':z['string']()['default']('')['refine'](a=>{if(a['length']===0x0)return!![];if(new TextEncoder()['encode'](a)['length']>MAX_NAME_LENGTH)return![];return!a['toLowerCase']()['startsWith']('0x');},{'message':'Name\x20must\x20be\x20at\x20most\x20'+MAX_NAME_LENGTH+'\x20BCS\x20characters\x20(UTF-8\x20bytes)\x20and\x20must\x20not\x20start\x20with\x20\x270x\x27.\x20Use\x20a\x20short\x20identifier\x20(e.g.\x20\x27order_id\x27,\x20\x27delivery_node\x27);\x20put\x20longer\x20explanations\x20in\x20the\x20Guard\x27s\x20\x27description\x27\x20field'})['describe']('Data\x20name\x20identifier.\x20MAX\x2064\x20BCS\x20characters\x20(Chinese\x20chars\x20count\x20as\x203-4\x20BCS\x20bytes\x20each).\x20'+'Use\x20short\x20identifiers\x20like\x20\x27order_id\x27,\x20\x27delivery_node\x27.\x20'+'Put\x20longer\x20descriptions\x20in\x20the\x20Guard\x27s\x20\x27description\x27\x20field,\x20NOT\x20here.')})['strict']()['describe']('Guard\x20table\x20item\x20(INPUT/CREATION\x20form).\x20DO\x20NOT\x20include\x20`object_type`\x20field\x20—\x20it\x20is\x20query-output\x20only\x20and\x20will\x20be\x20rejected\x20here.');export const GuardTableItemSchema=GuardTableItemBaseSchema['extend']({'object_type':ObjectTypeSchema['optional']()['describe']('OUTPUT-ONLY\x20(query\x20side):\x20Object\x20type\x20when\x20value_type\x20is\x20Address\x20and\x20represents\x20a\x20specific\x20object.\x20Auto-derived\x20by\x20the\x20system\x20—\x20DO\x20NOT\x20set\x20this\x20field\x20at\x20Guard\x20creation.')})['strict']()['describe']('Guard\x20table\x20item\x20(QUERY/OUTPUT\x20form\x20—\x20includes\x20auto-derived\x20object_type\x20field)');export const EntrypointSchema=z['enum']([ENTRYPOINT['Localnet'],ENTRYPOINT['Testnet'],ENTRYPOINT['Mainnet']])['describe']('Network\x20entrypoint:\x20Specifies\x20which\x20network\x20the\x20operation\x20occurs\x20on.\x20'+'FIX-010\x20cross-network\x20note:\x20LocalMark\x20names\x20are\x20scoped\x20per\x20network\x20(testnet\x20marks\x20are\x20invisible\x20on\x20mainnet\x20and\x20vice\x20versa).\x20'+'When\x20migrating\x20from\x20testnet\x20to\x20mainnet,\x20recreate\x20all\x20objects\x20on\x20mainnet\x20and\x20re-register\x20LocalMark\x20names\x20with\x20the\x20SAME\x20names\x20'+'to\x20keep\x20name-based\x20references\x20working\x20across\x20networks.\x20Recreate\x20all\x20objects\x20on\x20the\x20target\x20network\x20'+'via\x20onchain_operations\x20with\x20env.network=target_network,\x20then\x20re-register\x20the\x20LocalMark\x20names.');export const FaucetNetworkSchema=z['enum']([ENTRYPOINT['Localnet'],ENTRYPOINT['Testnet']])['describe']('Network\x20entrypoint\x20for\x20Faucet:\x20Specifies\x20which\x20network\x20the\x20operation\x20occurs\x20on');export const ObjectBaseSchema=z['object']({'object':z['string']()['describe']('Object\x20ID'),'type':ObjectTypeSchema['optional']()['describe']('Object\x20type'),'type_raw':z['string']()['optional']()['describe']('Raw\x20object\x20type'),'owner':z['union']([ObjectOwnerSchema,z['null']()])['optional']()['describe']('Object\x20owner'),'version':z['union']([z['string'](),z['number']()])['optional']()['describe']('Object\x20version'),'previousTransaction':z['string']()['optional']()['describe']('Previous\x20transaction\x20ID'),'cache_expire':CacheExpireTypeSchema['optional']()['describe']('Cache\x20expiration\x20time'),'query_name':z['string']()['optional']()['describe']('Original\x20query\x20name\x20or\x20address\x20used\x20to\x20retrieve\x20this\x20object'),'content_raw':z['any']()['optional']()['describe']('Raw\x20content\x20data\x20for\x20unknown\x20object\x20types'),'_guard_node_comments':z['array'](z['object']({'type':z['string'](),'description':z['string']()}))['optional']()['describe']('Additional\x20comments\x20for\x20Guard\x20node\x20instructions')})['passthrough']()['describe']('Object\x20base\x20information');export const QueryEnvSchema=z['object']({'no_cache':z['boolean']()['optional']()['describe']('Whether\x20to\x20disable\x20cache'),'network':EntrypointSchema['optional']()})['strict']()['describe']('Query\x20environment\x20parameters');export const ReceivedBalanceObjectSchema=z['object']({'id':z['string']()['describe']('Received\x20CoinWrapper\x20object\x20ID'),'balance':BalanceTypeSchema,'payment':z['string']()['describe']('Payment\x20object\x20ID'),'type':z['string']()['optional']()['describe']('Type\x20of\x20the\x20received\x20object\x20(or\x20inner\x20coin\x20type);\x20used\x20for\x20token_type\x20detection'),'version':z['string']()['optional']()['describe']('Object\x20version,\x20required\x20to\x20build\x20a\x20Receiving<T>\x20argument\x20for\x20owner_receive'),'digest':z['string']()['optional']()['describe']('Object\x20digest,\x20required\x20to\x20build\x20a\x20Receiving<T>\x20argument\x20for\x20owner_receive')})['strict']()['describe']('Received\x20CoinWrapper\x20object\x20record');export const CoinWrapperTokenTypeSchema=z['string']()['refine'](a=>{const b=a['match'](/^CoinWrapper<(.+)>$/),c=b?b[0x1]:a,d=c['split']('::');if(d['length']!==0x3)return![];const [e,f,g]=d;if(!isValidTokenTypeAddress(e))return![];if(!isValidMoveIdentifier(f))return![];if(!isValidMoveIdentifier(g))return![];return!![];},{'message':'Invalid\x20token\x20type\x20format.\x20Expected:\x20CoinWrapper<{address}::{module}::{struct}>\x20or\x20{address}::{module}::{struct}.\x20Example:\x20CoinWrapper<0x2::wow::WOW>\x20or\x200x2::wow::WOW'})['describe']('Token\x20type\x20in\x20format:\x20CoinWrapper<{address}::{module}::{struct}>\x20or\x20{address}::{module}::{struct}.\x20Example:\x20CoinWrapper<0x2::wow::WOW>');export const ReceivedBalanceSchema=z['object']({'balance':BalanceTypeSchema,'token_type':CoinWrapperTokenTypeSchema['describe']('Asset\x20type\x20of\x20Coin\x20objects.\x20Supports\x20CoinWrapper<...>\x20format\x20for\x20order\x20receive\x20operations.'),'received':z['array'](ReceivedBalanceObjectSchema)['describe']('Received\x20records\x20of\x20Coin\x20objects')})['strict']()['describe']('Received\x20record\x20of\x20Coin\x20objects');export const ReceivedBalanceOrRecentlySchema=z['union']([ReceivedBalanceSchema,z['literal']('recently')])['describe']('Specified\x20received\x20balance\x20record\x20or\x20all\x20recently\x20received\x20balance\x20record');export const ReceivedNormalSchema=z['object']({'id':z['string']()['nonempty']()['describe']('Received\x20object\x20ID'),'type':z['string']()['nonempty']()['describe']('Object\x20type'),'content_raw':z['any']()['optional']()['describe']('Raw\x20content\x20data'),'version':z['string']()['optional']()['describe']('Object\x20version,\x20required\x20to\x20build\x20a\x20Receiving<T>\x20argument\x20for\x20owner_receive'),'digest':z['string']()['optional']()['describe']('Object\x20digest,\x20required\x20to\x20build\x20a\x20Receiving<T>\x20argument\x20for\x20owner_receive')})['strict']()['describe']('Received\x20normal\x20object\x20record');export const ReceivedObjectsOrRecentlySchema=z['union']([z['literal']('recently'),z['string']()['regex'](/^0x[0-9a-fA-F]{8,}$/,{'message':'receive:\x20a\x20bare-object-id\x20form\x20must\x20be\x20a\x200x-prefixed\x20hex\x20object\x20id.\x20'+'Accepted\x20forms:\x20\x27recently\x27\x20(sweep\x20everything\x20received)\x20|\x20a\x20bare\x20object\x20id\x20'+'(one-object\x20form,\x20auto-expanded)\x20|\x20[{id,\x20type,\x20version,\x20digest}]\x20records.'}),z['array'](ReceivedNormalSchema)['min'](0x1,{'message':'receive:\x20\x27recently\x27\x20sweeps\x20everything\x20the\x20object\x20has\x20received\x20(the\x20usual\x20form).\x20'+'Otherwise\x20pass\x20the\x20received\x20object\x20records\x20(id/type/version/digest),\x20a\x20bare\x20object\x20'+'id\x20(one-object\x20form),\x20or\x20a\x20ReceivedBalance\x20record.\x20An\x20EMPTY\x20list\x20is\x20rejected\x20—\x20it\x20'+'would\x20execute\x20nothing\x20yet\x20read\x20as\x20success\x20(M-K3).'}),ReceivedBalanceSchema['refine'](a=>a['received']['length']>0x0,{'message':'receive:\x20\x27recently\x27\x20sweeps\x20everything\x20the\x20object\x20has\x20received\x20(the\x20usual\x20form).\x20'+'Otherwise\x20pass\x20non-empty\x20received\x20records\x20or\x20a\x20bare\x20object\x20id\x20(one-object\x20form).\x20'+'An\x20EMPTY\x20received\x20list\x20is\x20rejected\x20—\x20it\x20would\x20execute\x20nothing\x20yet\x20read\x20as\x20'+'success\x20(M-K3).'})])['describe']('\x27recently\x27\x20(sweep\x20all\x20received),\x20a\x20bare\x20object\x20id\x20(one-object\x20form),\x20or\x20the\x20'+'explicit\x20received\x20object\x20records');export const RECEIVE_FORMAT_BLOCK_OBJECTS='\x0a\x0aACCEPTED\x20FORMATS\x20(F-06\x20unified\x20receive\x20operation\x20block):\x0a'+'•\x20\x27recently\x27\x20(string\x20literal)\x20—\x20auto-query\x20and\x20receive\x20ALL\x20recently\x20received\x20objects.\x0a'+'\x20\x20Use\x20this\x20for\x20the\x20common\x20case:\x20\x22withdraw\x20everything\x20the\x20object\x20has\x20received\x22\x20—\x20for\x0a'+'\x20\x20order.receive\x20this\x20is\x20the\x20correct\x20default\x20for\x20\x22the\x20buyer\x20got\x20their\x20refund\x22.\x0a'+'\x20\x20Example:\x20receive:\x20\x27recently\x27\x0a'+'•\x20bare\x20object\x20id\x20(string,\x200x-prefixed)\x20—\x20one-object\x20form,\x20auto-expanded\x20(F-15):\x0a'+'\x20\x20pass\x20the\x20id\x20of\x20the\x20single\x20received\x20object\x20you\x20want\x20to\x20unwrap\x20(e.g.\x20a\x20CoinWrapper\x20id).\x0a'+'\x20\x20Example:\x20receive:\x20\x270xabc...\x27\x0a'+'•\x20ReceivedNormal[]\x20(array)\x20—\x20explicit\x20list\x20of\x20received\x20objects\x20to\x20unwrap.\x0a'+'\x20\x20Use\x20this\x20when\x20you\x20want\x20to\x20receive\x20specific\x20objects\x20only\x20(not\x20all).\x0a'+'\x20\x20Example:\x20receive:\x20[{id:\x20\x270xobj1\x27,\x20type:\x20\x270x2::coin::Coin<0x2::wow::WOW>\x27}]\x0a'+'•\x20ReceivedBalance\x20({token_type,\x20balance,\x20received:\x20[{id,\x20balance,\x20payment}]})\x20—\x0a'+'\x20\x20receive\x20a\x20balance\x20record\x20from\x20a\x20specific\x20Payment/payer.\x0a'+'\x20\x20Use\x20this\x20for\x20precise\x20balance\x20targeting\x20(advanced\x20—\x20usually\x20after\x20querying\x0a'+'\x20\x20the\x20object\x27s\x20received\x20history\x20via\x20query_received).\x0a'+'\x20\x20Example:\x20receive:\x20{token_type:\x20\x270x2::wow::WOW\x27,\x20balance:\x201000000,\x20received:\x20[{id:\x20\x270xrec1\x27,\x20balance:\x201000000,\x20payment:\x20\x270xpay1\x27}]}\x0a'+'ANTI-PATTERN:\x20do\x20NOT\x20wrap\x20in\x20{result:\x20...}\x20—\x20pass\x20the\x20value\x20directly.';export const RECEIVE_FORMAT_BLOCK_BALANCE='\x0a\x0aACCEPTED\x20FORMATS\x20(F-06\x20unified\x20receive\x20operation\x20block):\x0a'+'•\x20\x27recently\x27\x20(string\x20literal)\x20—\x20auto-query\x20and\x20receive\x20ALL\x20recently\x20received\x20balance.\x0a'+'\x20\x20Use\x20this\x20for\x20the\x20common\x20case:\x20\x22deposit\x20all\x20recently\x20received\x20coins\x20into\x20pending\x20balance.\x22\x0a'+'\x20\x20Example:\x20receive:\x20\x27recently\x27\x0a'+'•\x20ReceivedBalance\x20({token_type,\x20balance,\x20received:\x20[{id,\x20balance,\x20payment}]})\x20—\x0a'+'\x20\x20receive\x20a\x20specific\x20balance\x20record\x20from\x20a\x20Payment/payer.\x0a'+'\x20\x20Use\x20this\x20when\x20targeting\x20a\x20specific\x20received\x20balance\x20(advanced).\x0a'+'\x20\x20Example:\x20receive:\x20{token_type:\x20\x270x2::wow::WOW\x27,\x20balance:\x201000000,\x20received:\x20[{id:\x20\x270xrec1\x27,\x20balance:\x201000000,\x20payment:\x20\x270xpay1\x27}]}\x0a'+'ANTI-PATTERN:\x20do\x20NOT\x20wrap\x20in\x20{result:\x20...}\x20—\x20pass\x20the\x20value\x20directly.';export const QueryReceivedResultSchema=z['object']({'result':z['union']([ReceivedBalanceSchema,z['array'](ReceivedNormalSchema)])['describe']('Received\x20CoinWrapper\x20object\x20record\x20or\x20received\x20other\x20objects\x20array')})['strict']()['describe']('Query\x20received\x20result');
|
|
1
|
+
import{z}from'zod';import{isValidAddress,ValueType as a453a,ObjectType as a453b,ENTRYPOINT,isValidWowAddress,isValidName,isValidDescription,MAX_DESCRIPTION_LENGTH,isValidLongName,MAX_LONG_NAME_LENGTH,MAX_NAME_LENGTH,MAX_USER_IDENTIFIER}from'@wowok/wowok';const isValidMoveIdentifier=a=>{if(a['length']===0x0)return![];const b=a[0x0];if(b==='_')return a['length']>0x1&&/^[a-zA-Z0-9_]+$/['test'](a['slice'](0x1));if(/^[a-zA-Z]$/['test'](b))return/^[a-zA-Z0-9_]*$/['test'](a['slice'](0x1));return![];};export const DescriptionSchema=z['string']()['trim']()['refine'](isValidDescription,{'message':'Description\x20string\x20(max\x20'+MAX_DESCRIPTION_LENGTH+'\x20bcs\x20characters)'})['describe']('Description\x20string\x20(max\x20'+MAX_DESCRIPTION_LENGTH+'\x20bcs\x20characters)');export const LongNameSchema=z['string']()['refine'](isValidLongName,{'message':'Name\x20exceeds\x20the\x20'+MAX_LONG_NAME_LENGTH+'-byte\x20on-chain\x20limit\x20(UTF-8\x20bytes;\x20a\x20CJK\x20character\x20costs\x20~3\x20bytes\x20—\x20keep\x20CJK\x20names\x20under\x20~21\x20characters).\x20Use\x20a\x20short\x20identifier\x20for\x20the\x20name;\x20the\x20full\x20human-readable\x20title\x20belongs\x20in\x20description/WIP\x20content\x20fields'});export const WowAddressSchema=z['string']()['refine'](isValidAddress,{'message':'Invalid\x20ID\x20format:\x20must\x20be\x20\x270x\x27\x20prefix\x20followed\x20by\x2064\x20hex\x20characters'})['describe']('Valid\x20ID:\x200x\x20prefix\x20+\x2064\x20hex\x20characters,\x20or\x20builtin\x20ID\x20(0x5-0x9,\x200xa,\x200xc,\x200xd,\x200x403,\x200xaaa,\x200xaab,\x200xacc)');const WOW_TOKEN_TYPE='0x2::wow::WOW',isValidTokenTypeAddress=a=>{if(!/^0x[0-9a-fA-F]{1,64}$/['test'](a))return![];return isValidWowAddress('0x'+a['slice'](0x2)['toLowerCase']()['padStart'](0x40,'0'));};export const TokenTypeSchema=z['string']()['refine'](a=>{const b=a['split']('::');if(b['length']!==0x3)return![];const [c,d,e]=b;if(!isValidTokenTypeAddress(c))return![];if(!isValidMoveIdentifier(d))return![];if(!isValidMoveIdentifier(e))return![];return!![];},{'message':'Invalid\x20token\x20type\x20format.\x20Expected:\x20{address}::{module}::{struct}\x20where\x20address\x20is\x20a\x20hex\x20ID\x20(short\x20builtin\x20like\x200x2/0xaaa\x20or\x20full\x200x+64hex),\x20module/struct\x20are\x20valid\x20Move\x20identifiers.\x20e.g.\x20\x270x2::wow::WOW\x27'})['describe']('Token\x20type\x20in\x20format:\x20{address}::{module}::{struct}.\x20e.g.\x20\x270x2::wow::WOW\x27\x20(WOW),\x20\x270x...::usdt::USDT\x27\x20(USDT),\x20\x270x...::eth::ETH\x27\x20(ETH).\x20To\x20discover\x20all\x20available\x20tokens\x20and\x20their\x20type\x20tags,\x20query\x20\x27mainnet\x20bridge\x20tokens\x27\x20via\x20wowok_buildin_info\x20and\x20use\x20the\x20returned\x20`wowTypeTag`\x20here.\x20NOTE:\x20testnet\x20has\x20ONLY\x20WOW\x20(no\x20stablecoins\x20are\x20bridged)\x20—\x20non-WOW\x20tokens\x20are\x20a\x20mainnet\x20capability;\x20the\x20token\x20is\x20fixed\x20at\x20object\x20creation\x20and\x20prices/orders\x20settle\x20in\x20it.');export const TokenTypeWithDefaultSchema=TokenTypeSchema['default'](WOW_TOKEN_TYPE)['describe']('Token\x20type\x20in\x20format:\x20{address}::{module}::{struct}.\x20Default:\x20\x270x2::wow::WOW\x27.\x20Other\x20examples:\x20\x270x...::usdt::USDT\x27\x20(USDT),\x20\x270x...::eth::ETH\x27\x20(ETH).\x20To\x20discover\x20all\x20available\x20tokens\x20and\x20their\x20type\x20tags,\x20query\x20\x27mainnet\x20bridge\x20tokens\x27\x20via\x20wowok_buildin_info\x20and\x20use\x20the\x20returned\x20`wowTypeTag`\x20here.\x20NOTE:\x20testnet\x20has\x20ONLY\x20WOW\x20(no\x20stablecoins\x20are\x20bridged)\x20—\x20non-WOW\x20tokens\x20are\x20a\x20mainnet\x20capability;\x20the\x20token\x20is\x20fixed\x20at\x20object\x20creation\x20and\x20prices/orders\x20settle\x20in\x20it.');export const NameSchema=z['string']()['refine'](isValidName,'Name\x20string\x20(max\x2064\x20bcs\x20characters,\x20must\x20not\x20start\x20with\x20\x270x\x27)');export const NotEmptyNameSchema=z['string']()['nonempty']()['refine'](isValidName,'Name\x20string\x20(at\x20least\x201\x20character,\x20max\x20length\x2064\x20bcs\x20characters)');export const NameOrAddressSchema=z['string']()['refine'](a=>{if(isValidAddress(a))return!![];if(isValidName(a))return!![];return![];},{'message':'Invalid\x20ID\x20format:\x20must\x20be\x20\x270x\x27\x20prefix,\x20or\x20a\x20builtin\x20ID\x20(0x5-0x9,\x200xa,\x200xc,\x200xd,\x200x403,\x200xaaa,\x200xaab,\x200xacc)'})['describe']('Account/Object\x20name\x20or\x20ID.\x20If\x20specifying\x20an\x20account,\x20use\x20empty\x20string\x20\x27\x27\x20for\x20the\x20default\x20account.\x20'+'If\x20it\x20starts\x20with\x20\x270x\x27,\x20it\x20will\x20be\x20treated\x20as\x20an\x20ID.\x20'+'Otherwise,\x20it\x20will\x20be\x20treated\x20as\x20a\x20name\x20(max\x2064\x20bcs\x20characters).');export const AccountOrMark_AddressSchema=z['object']({'name_or_address':NameOrAddressSchema['optional'](),'local_mark_first':z['boolean']()['optional']()['describe']('Whether\x20to\x20prioritize\x20local\x20marks,\x20if\x20true,\x20prioritize\x20local\x20marks,\x20otherwise\x20prioritize\x20global\x20marks')})['strict']()['describe']('Account\x20or\x20address\x20lookup\x20object.\x20Use\x20this\x20to\x20specify\x20which\x20account\x20to\x20use\x20for\x20an\x20operation.\x20'+'EXAMPLE:\x20{\x20name_or_address:\x20\x27testor2\x27\x20}\x20-\x20looks\x20up\x20account\x20by\x20name;\x20'+'EXAMPLE:\x20{\x20name_or_address:\x20\x270x1234...\x27\x20}\x20-\x20uses\x20address\x20directly;\x20'+'If\x20name_or_address\x20is\x20empty\x20string\x20\x27\x27,\x20uses\x20the\x20default\x20local\x20account.');export const ManyAccountOrMark_AddressSchema=z['object']({'entities':z['array'](AccountOrMark_AddressSchema),'check_all_founded':z['boolean']()['default'](!![])['describe']('Whether\x20to\x20check\x20all\x20entities\x20are\x20found.\x20Defaults\x20to\x20true:\x20abort\x20and\x20throw\x20if\x20ANY\x20entity\x20cannot\x20be\x20resolved.\x20Set\x20false\x20only\x20when\x20partial\x20resolution\x20is\x20explicitly\x20intended\x20(only\x20found\x20IDs\x20are\x20returned)')})['strict']()['describe']('Used\x20to\x20batch\x20find\x20account\x20or\x20object\x20IDs\x20by\x20name');export const AccountOrMark_AddressAISchema=z['union']([NameOrAddressSchema['transform'](a=>({'name_or_address':a,'local_mark_first':!![]}))['describe']('Account\x20name,\x20address\x20(0x...),\x20or\x20mark\x20name.\x20'+'When\x20using\x20string\x20format,\x20local\x20marks\x20are\x20searched\x20first.\x20'+'EXAMPLE:\x20\x27alice\x27\x20-\x20searches\x20local\x20marks\x20first,\x20then\x20global;\x20'+'EXAMPLE:\x20\x270x2...\x27\x20(64\x20hex\x20chars)\x20-\x20uses\x20address\x20directly;\x20'+'EXAMPLE:\x20\x27\x27\x20-\x20uses\x20the\x20default\x20local\x20account'),AccountOrMark_AddressSchema])['describe']('Account\x20or\x20address\x20lookup.\x20Can\x20be\x20a\x20simple\x20string\x20(recommended\x20for\x20AI)\x20'+'or\x20full\x20object\x20with\x20explicit\x20local_mark_first\x20control.\x20'+'String\x20form\x20auto-converts\x20to\x20{\x20name_or_address:\x20<string>,\x20local_mark_first:\x20true\x20}.');export const ManyAccountOrMark_AddressAISchema=z['union']([z['array'](NameOrAddressSchema)['transform'](a=>({'entities':a['map'](b=>({'name_or_address':b,'local_mark_first':!![]})),'check_all_founded':!![]}))['describe']('Array\x20of\x20account\x20names,\x20addresses,\x20or\x20mark\x20names.\x20'+'Local\x20marks\x20are\x20searched\x20first\x20for\x20each\x20entry.\x20'+'EXAMPLE:\x20[\x27alice\x27,\x20\x270x2...\x27,\x20\x27bob\x27]'),ManyAccountOrMark_AddressSchema])['describe']('Batch\x20account\x20or\x20address\x20lookup.\x20Can\x20be\x20an\x20array\x20of\x20strings\x20(recommended\x20for\x20AI)\x20'+'or\x20full\x20object\x20with\x20explicit\x20control.\x20'+'Array\x20form\x20auto-converts\x20to\x20{\x20entities:\x20[...],\x20check_all_founded:\x20true\x20}.');export const ObjectOwnerSchema=z['union']([z['object']({'AddressOwner':z['string']()['describe']('Address\x20owner')})['strict'](),z['object']({'ObjectOwner':z['string']()['describe']('Object\x20owner')})['strict'](),z['object']({'Shared':z['object']({'initial_shared_version':z['union']([z['string'](),z['number']()])['describe']('Version\x20when\x20object\x20became\x20shared')})['strict']()['describe']('Shared\x20object')})['strict'](),z['literal']('Immutable'),z['object']({'ConsensusAddressOwner':z['object']({'owner':z['string']()['describe']('Consensus\x20ID\x20owner'),'start_version':z['union']([z['string'](),z['number']()])['describe']('Version\x20when\x20object\x20recently\x20became\x20consensus\x20object')})['strict']()['describe']('Consensus\x20ID\x20owner')})['strict']()])['describe']('Object\x20owner');export const ValueTypeUserSchema=z['preprocess'](a=>{if(typeof a==='string'&&/^\d+$/['test'](a['trim']())){const b=Number(a['trim']());if(Number['isInteger'](b)&&b>=0x0&&b<=0x12)return b;}return a;},z['union']([z['literal'](a453a['Bool'])['describe']('Bool\x20(0)'),z['literal'](a453a['Address'])['describe']('Address\x20(1)'),z['literal'](a453a['String'])['describe']('String\x20(2)'),z['literal'](a453a['U8'])['describe']('U8\x20(3)'),z['literal'](a453a['U16'])['describe']('U16\x20(4)'),z['literal'](a453a['U32'])['describe']('U32\x20(5)'),z['literal'](a453a['U64'])['describe']('U64\x20(6)'),z['literal'](a453a['U128'])['describe']('U128\x20(7)'),z['literal'](a453a['U256'])['describe']('U256\x20(8)'),z['literal'](a453a['VecBool'])['describe']('VecBool\x20(9)'),z['literal'](a453a['VecAddress'])['describe']('VecAddress\x20(10)'),z['literal'](a453a['VecString'])['describe']('VecString\x20(11)'),z['literal'](a453a['VecU8'])['describe']('VecU8\x20(12)'),z['literal'](a453a['VecU16'])['describe']('VecU16\x20(13)'),z['literal'](a453a['VecU32'])['describe']('VecU32\x20(14)'),z['literal'](a453a['VecU64'])['describe']('VecU64\x20(15)'),z['literal'](a453a['VecU128'])['describe']('VecU128\x20(16)'),z['literal'](a453a['VecU256'])['describe']('VecU256\x20(17)'),z['literal'](a453a['VecVecU8'])['describe']('VecVecU8\x20(18)'),z['literal']('Bool')['describe']('Bool'),z['literal']('Address')['describe']('Address'),z['literal']('String')['describe']('String'),z['literal']('U8')['describe']('U8'),z['literal']('U16')['describe']('U16'),z['literal']('U32')['describe']('U32'),z['literal']('U64')['describe']('U64'),z['literal']('U128')['describe']('U128'),z['literal']('U256')['describe']('U256'),z['literal']('VecBool')['describe']('VecBool'),z['literal']('VecAddress')['describe']('VecAddress'),z['literal']('VecString')['describe']('VecString'),z['literal']('VecU8')['describe']('VecU8'),z['literal']('VecU16')['describe']('VecU16'),z['literal']('VecU32')['describe']('VecU32'),z['literal']('VecU64')['describe']('VecU64'),z['literal']('VecU128')['describe']('VecU128'),z['literal']('VecU256')['describe']('VecU256'),z['literal']('VecVecU8')['describe']('VecVecU8'),z['literal']('bool')['describe']('bool'),z['literal']('address')['describe']('address'),z['literal']('string')['describe']('string'),z['literal']('u8')['describe']('u8'),z['literal']('u16')['describe']('u16'),z['literal']('u32')['describe']('u32'),z['literal']('u64')['describe']('u64'),z['literal']('u128')['describe']('u128'),z['literal']('u256')['describe']('u256'),z['literal']('vecbool')['describe']('vecbool'),z['literal']('vecaddress')['describe']('vecaddress'),z['literal']('vecstring')['describe']('vecstring'),z['literal']('vecu8')['describe']('vecu8'),z['literal']('vecu16')['describe']('vecu16'),z['literal']('vecu32')['describe']('vecu32'),z['literal']('vecu64')['describe']('vecu64'),z['literal']('vecu128')['describe']('vecu128'),z['literal']('vecu256')['describe']('vecu256'),z['literal']('vecvecu8')['describe']('vecvecu8')])['describe']('User\x20available\x20value\x20type\x20(number,\x20numeric\x20string,\x20or\x20name\x20—\x20e.g.,\x206,\x20\x276\x27,\x20\x27U64\x27,\x20\x27u64\x27)'));export const ValueTypeSchema=ValueTypeUserSchema['or'](z['literal'](a453a['Value'])['describe']('Value\x20(19)'))['or'](z['literal']('Value')['describe']('Value'))['describe']('Value\x20type\x20(number\x20or\x20string,\x20e.g.,\x206\x20or\x20\x27U64\x27)');export const ObjectTypeSchema=z['enum']([a453b['Permission'],a453b['Repository'],a453b['Arb'],a453b['Arbitration'],a453b['Service'],a453b['Machine'],a453b['Order'],a453b['Progress'],a453b['Payment'],a453b['Treasury'],a453b['Guard'],a453b['Demand'],a453b['Passport'],a453b['Allocation'],a453b['Resource'],a453b['Reward'],a453b['Discount'],a453b['EntityRegistrar'],a453b['EntityLinker'],a453b['Proof'],a453b['WReceivedObject'],a453b['Contact'],a453b['TableItem_ProgressHistory'],a453b['TableItem_PermissionPerm'],a453b['TableItem_DemandPresenter'],a453b['TableItem_MachineNode'],a453b['TableItem_TreasuryHistory'],a453b['TableItem_RepositoryData'],a453b['TableItem_RewardRecord'],a453b['TableItem_EntityLinker'],a453b['TableItem_AddressMark'],a453b['TableItem_EntityRegistrar']])['describe']('Wowok\x20object\x20type');export const BalanceTypeSchema=z['union']([z['number'](),z['string']()])['refine'](a=>{if(typeof a==='number')return Number['isSafeInteger'](a)&&a>=0x0;const b=a['trim']();if(/^\d+$/['test'](b))return!![];return/^(\d+(?:\.\d+)?)\s*([A-Za-z][A-Za-z0-9]*)$/['test'](b);},'Invalid\x20amount:\x20bare\x20decimal\x20values\x20without\x20a\x20token\x20symbol\x20(e.g.\x20\x222.5\x22,\x20\x220.1\x22)\x20are\x20rejected.\x20'+'Use\x20a\x20smallest-unit\x20non-negative\x20integer\x20string\x20(e.g.\x20\x222500000000\x22),\x20a\x20non-negative\x20safe-integer\x20number,\x20'+'or\x20a\x20display\x20string\x20with\x20the\x20token\x20symbol\x20(e.g.\x20\x222.5WOW\x22)\x20so\x20the\x20Fund\x20Processing\x20Layer\x20can\x20convert\x20it.')['describe']('A\x20coin/balance\x20amount.\x20Accepts\x20three\x20formats:\x20'+'(1)\x20DISPLAY\x20FORMAT\x20with\x20token\x20symbol:\x20\x222.5WOW\x22,\x20\x2210USDC\x22,\x20\x220.05WOW\x22\x20—\x20'+'auto-converted\x20to\x20smallest\x20units\x20via\x20the\x20Fund\x20Processing\x20Layer\x20(token\x20precision\x20resolved\x20'+'from\x20official\x20registry\x20→\x20cache\x20→\x20on-chain).\x20The\x20symbol\x20MUST\x20match\x20the\x20token\x27s\x20type_parameter.\x20'+'(2)\x20SMALLEST\x20UNIT\x20(numeric\x20string):\x20\x2210000000000\x22\x20—\x20used\x20as-is,\x20no\x20conversion.\x20'+'(3)\x20SMALLEST\x20UNIT\x20(number):\x2010000000000\x20—\x20used\x20as-is\x20only\x20within\x20the\x20safe\x20integer\x20range\x20(±2^53);\x20numbers\x20outside\x20it\x20are\x20REJECTED,\x20use\x20a\x20numeric\x20string\x20instead.\x20'+'PRECISION\x20RULE:\x20for\x20values\x20exceeding\x202^53\x20(9007199254740991),\x20ALWAYS\x20use\x20format\x20(1)\x20or\x20(2)\x20—\x20JS\x20numbers\x20lose\x20integer\x20precision\x20silently\x20and\x20such\x20inputs\x20are\x20blocked.\x20'+'Raw\x20amounts\x20must\x20be\x20plain\x20non-negative\x20integers;\x20a\x20decimal\x20value\x20without\x20a\x20token\x20symbol\x20(e.g.\x20\x222.5\x22)\x20is\x20rejected\x20—\x20append\x20the\x20symbol\x20(\x222.5WOW\x22)\x20so\x20the\x20Fund\x20Processing\x20Layer\x20converts\x20it.\x20'+'WARNING\x20—\x20BARE\x20INTEGER\x20MEANS\x20SMALLEST\x20UNIT,\x20NOT\x20TOKENS:\x20formats\x20(2)/(3)\x20are\x20NEVER\x20interpreted\x20as\x20display\x20tokens.\x20'+'For\x20example\x20amount=\x225\x22\x20or\x205\x20means\x205\x20raw\x20units\x20=\x200.000000005\x20WOW\x20(9\x20decimals)\x20—\x20NOT\x205\x20WOW.\x20'+'When\x20the\x20user\x20asks\x20for\x20a\x20token\x20amount,\x20you\x20MUST\x20use\x20display\x20format\x20(\x225WOW\x22,\x20\x222USDC\x22);\x20a\x20bare\x20integer\x20is\x20only\x20correct\x20for\x20unitless\x20counts\x20(e.g.\x20stock\x20quantity)\x20or\x20when\x20you\x20computed\x20exact\x20raw\x20units\x20yourself.\x20'+'Default\x20token:\x20WOW\x20(9\x20decimals,\x201\x20WOW\x20=\x2010^9\x20MIST).\x20'+'For\x20custom\x20tokens:\x20use\x20display\x20format\x20with\x20the\x20token\x27s\x20symbol,\x20or\x20pass\x20smallest\x20units\x20directly.\x20'+'MONEY\x20CONFIRMATION:\x20all\x20monetary\x20fields\x20trigger\x20user\x20confirmation\x20via\x20the\x20Fund\x20Processing\x20Layer,\x20where\x20the\x20token\x27s\x20FULL\x20type,\x20decimals\x20and\x20raw\x20amount\x20are\x20always\x20visible.\x20'+'MULTIPLE\x20ISSUERS:\x20several\x20on-chain\x20tokens\x20may\x20legally\x20share\x20the\x20same\x20symbol\x20(e.g.\x20multiple\x20\x22USDT\x22\x20coins).\x20When\x20a\x20bare\x20symbol\x20matches\x20more\x20than\x20one\x20token,\x20the\x20operation\x20is\x20BLOCKED\x20and\x20every\x20candidate\x20is\x20listed\x20with\x20full\x20details\x20(type,\x20name,\x20decimals,\x20verified\x20tag)\x20—\x20present\x20the\x20list\x20to\x20the\x20USER\x20and\x20let\x20them\x20choose\x20(they\x20may\x20answer\x20by\x20number),\x20then\x20re-issue\x20with\x20the\x20chosen\x20token\x27s\x20FULL\x20type\x20string\x20in\x20type_parameter;\x20never\x20guess\x20an\x20issuer\x20from\x20the\x20bare\x20symbol.\x20'+'MISSING\x20TOKEN\x20INFO:\x20when\x20a\x20token\x27s\x20precision\x20cannot\x20be\x20resolved,\x20the\x20operation\x20is\x20REFUSED\x20(raw\x20u64\x20included\x20—\x20amount\x20magnitude\x20could\x20not\x20be\x20verified).\x20Recovery:\x20provide\x20the\x20token\x27s\x20FULL\x20type\x20in\x20package::module::Name\x20form\x20in\x20type_parameter\x20(a\x20bare\x20symbol\x20like\x20\x22USDT\x22\x20cannot\x20be\x20resolved),\x20and\x20verify\x20the\x20WOW\x20network\x20is\x20correct.\x20'+'Examples:\x20\x222.5WOW\x22\x20(display\x20→\x202500000000),\x2010000000000\x20(number,\x20smallest\x20unit),\x20\x2250000000000\x22\x20(string,\x20smallest\x20unit).\x20'+'Used\x20for:\x20service\x20sale\x20prices,\x20compensation\x20fund\x20balances,\x20Treasury\x20deposits,\x20arbitration\x20fees,\x20reward\x20amounts,\x20stock\x20quantities.');export const QueryIdSchema=z['number']()['int']()['min'](0x0)['describe']('Query\x20ID');export const CacheExpireTypeSchema=z['union']([z['number'](),z['literal']('INFINITE')])['describe']('Cache\x20expiration\x20time\x20type');export const ValueContainerSchema=z['lazy'](()=>z['object']({'valueType':ValueTypeSchema['describe']('Value\x20type'),'value':SupportedValueSchema['describe']('Value')})['strict']()['describe']('Value\x20container\x20with\x20type\x20and\x20value'));export const SupportedValueUserSchema=z['union']([z['boolean'](),z['union']([AccountOrMark_AddressSchema,z['string']()]),z['string'](),z['number'](),z['array'](z['boolean']()),z['union']([ManyAccountOrMark_AddressSchema,z['array'](z['string']())]),z['array'](z['string']()),z['array'](z['number']()),z['array'](z['array'](z['number']()))])['describe']('User\x20available\x20supported\x20value\x20type');export const SupportedValueSchema=SupportedValueUserSchema['or'](ValueContainerSchema)['describe']('Supported\x20value\x20type');export const GuardIdentifierSchema=z['number']()['int']()['min'](0x0)['max'](0xff)['describe']('Identifier\x20(0-255)\x20for\x20data\x20lookup\x20in\x20Guard\x20table.\x20Slot\x20consensus\x20(enforced\x20on-chain\x20at\x20guard\x20table\x20construction):\x20'+('0-'+MAX_USER_IDENTIFIER+'\x20=\x20user\x20slots\x20(free\x20for\x20business\x20guards);\x20')+'221-253\x20=\x20PROTOCOL-RESERVED\x20(rejected\x20on-chain\x20—\x20reserved\x20so\x20future\x20protocol\x20features\x20get\x20fixed\x20slots\x20without\x20colliding\x20with\x20published\x20guards);\x20'+'255\x20=\x20ONCE\x20replay-protection\x20slot\x20on\x20Allocation\x20(byte-keyed,\x20the\x20submitted\x20bytes\x20are\x20the\x20once-key\x20—\x20use\x20for\x20per-period\x20keys\x20like\x20period-<N>);\x20'+'254\x20=\x20ONCE-FOR-OBJECT\x20slot\x20on\x20Allocation\x20(chain-derived\x20key\x20=\x20bcs(the\x20Allocation\x27s\x20payment_info.for_object);\x20the\x20submitted\x20bytes\x20are\x20ignored\x20and\x20the\x20submission\x20only\x20arms\x20the\x20slot\x20—\x20use\x20for\x20one-shot\x20per-order\x20rails\x20such\x20as\x20full\x20refunds).\x20'+'SLOT\x200\x20SEMANTICS:\x20slot\x200\x20carries\x20the\x20transacted\x20Order\x20address\x20by\x20convention.\x20As\x20a\x20submission\x20slot\x20it\x20is\x20legal\x20on\x20order/allocation/machine\x20rails\x20(the\x20order\x20exists\x20when\x20those\x20verify),\x20but\x20FORBIDDEN\x20on\x20a\x20Service\x20buy_guard\x20—\x20the\x20order\x20does\x20not\x20exist\x20when\x20the\x20buy-time\x20passport\x20is\x20verified,\x20so\x20the\x20mount\x20is\x20refused\x20(service\x20abort\x2043).');export const GuardTableItemBaseSchema=z['object']({'identifier':GuardIdentifierSchema['refine'](a=>a<=MAX_USER_IDENTIFIER||a>=0xfe,{'message':'Identifier\x20is\x20in\x20the\x20protocol-reserved\x20range\x20221-253\x20—\x20business\x20guard\x20tables\x20may\x20only\x20use\x200-'+MAX_USER_IDENTIFIER+';\x20'+'254/255\x20are\x20the\x20protocol-owned\x20once\x20slots\x20consumed\x20by\x20allocation\x20replay\x20protection.\x20'+'The\x20chain\x20rejects\x20reserved\x20identifiers\x20at\x20guard\x20table\x20construction\x20(E_IDENTIFIER_RESERVED).'}),'b_submission':z['boolean']()['describe']('Whether\x20this\x20table\x20item\x27s\x20value\x20is\x20submitted\x20dynamically\x20at\x20Guard\x20trigger\x20time\x20(alloc_by_guard\x20call).\x20'+'\x0a\x0a'+'true\x20=\x20value\x20is\x20submitted\x20by\x20the\x20caller\x20when\x20triggering\x20the\x20Guard.\x20'+'Use\x20for\x20runtime-context-dependent\x20values\x20like\x20order\x20address,\x20user\x20address.\x20'+'The\x20\x27value\x27\x20field\x20is\x20ignored\x20when\x20b_submission=true;\x20the\x20caller\x20must\x20provide\x20it\x20via\x20submissions[].\x20'+'\x0a\x0a'+'false\x20=\x20value\x20is\x20static,\x20set\x20at\x20Guard\x20creation\x20time.\x20'+'Use\x20for\x20values\x20known\x20when\x20the\x20Guard\x20is\x20created:\x20expected\x20node\x20names,\x20expected\x20merchant\x20address,\x20expected\x20service\x20address.\x20'+'The\x20\x27value\x27\x20field\x20must\x20be\x20populated\x20and\x20will\x20be\x20stored\x20on-chain\x20permanently.\x20'+'\x0a\x0a'+'Rule\x20of\x20thumb:\x20if\x20the\x20value\x20is\x20the\x20SAME\x20for\x20all\x20future\x20Guard\x20triggers,\x20use\x20false.\x20'+'If\x20the\x20value\x20DIFFERS\x20per\x20trigger\x20(e.g.,\x20which\x20order\x20to\x20release\x20funds\x20for),\x20use\x20true.'),'value_type':ValueTypeUserSchema['describe']('Type\x20of\x20the\x20value\x20stored\x20in\x20`value`.\x20One\x20of:\x20Bool(0),\x20Address(1),\x20String(2),\x20U8(3),\x20U16(4),\x20U32(5),\x20U64(6),\x20U128(7),\x20U256(8),\x20VecBool(9),\x20VecAddress(10),\x20VecString(11),\x20VecU8(12),\x20VecU16(13),\x20VecU32(14),\x20VecU64(15),\x20VecU128(16),\x20VecU256(17),\x20VecVecU8(18).\x20'+'When\x20value_type=Address\x20(1),\x20the\x20`value`\x20field\x20accepts\x20a\x20hex\x20address\x20string,\x20a\x20LocalMark\x20name,\x20or\x20an\x20AccountOrMark_Address\x20object\x20—\x20see\x20`value`\x20field\x20description\x20for\x20details.'),'value':SupportedValueUserSchema['optional']()['describe']('The\x20actual\x20value\x20data.\x20Format\x20depends\x20on\x20`value_type`:\x0a'+'TYPE-CLASS\x20SPLIT\x20(F03):\x20scalar\x20value_types\x20(Bool/Address/String/U8..U256)\x20take\x20ONE\x20scalar\x20value\x20(boolean/address\x20string/name/string/number);\x20'+'Vec*\x20value_types\x20(VecBool/VecAddress/VecString/VecU8..VecU256)\x20take\x20a\x20REAL\x20JSON\x20ARRAY\x20of\x20elements\x20—\x20a\x20string\x20(even\x20a\x20Python-repr-looking\x20\x22[a,\x20b]\x22)\x20fails\x20serialization\x20with\x20\x27value_type=10\x20(array)\x20requires\x20a\x20array\x20value\x27.\x20The\x20historical\x20\x27static\x20values\x20must\x20be\x20strings\x27\x20rule\x20applied\x20to\x20SCALARS\x20only.\x0a'+'•\x20Bool:\x20true/false\x20(boolean)\x0a'+'•\x20Address\x20(CRITICAL\x20—\x20string\x20\x27Address\x27\x20is\x20NOT\x20a\x20placeholder):\x20a\x20hex\x20address\x20(e.g.\x20\x270x1234...\x27),\x20a\x20LocalMark\x20name\x20(e.g.\x20\x27my-service\x27\x20—\x20resolved\x20to\x20address\x20at\x20evaluation\x20time),\x20an\x20AccountOrMark_Address\x20object\x20(e.g.\x20{name_or_address:\x27my-service\x27}),\x20or\x20system\x20shorthand\x20(\x270xaaa\x27\x20=\x20EntityLinker,\x20\x270xaab\x27\x20=\x20EntityRegistrar).\x20The\x20literal\x20string\x20\x27Address\x27\x20itself\x20is\x20INVALID\x20—\x20it\x20would\x20be\x20treated\x20as\x20a\x20non-existent\x20LocalMark\x20name\x20and\x20fail.\x20Example:\x20value=\x270x2::wow::WOW<address>\x27\x20or\x20value=\x27my-permission\x27.\x0a'+'•\x20String:\x20any\x20string\x0a'+'•\x20U8/U16/U32/U64/U128/U256:\x20number\x20or\x20numeric\x20string\x20(e.g.\x2042\x20or\x20\x2742\x27)\x0a'+'•\x20Vec*\x20types:\x20arrays\x20of\x20the\x20corresponding\x20element\x20type\x0a'+'PROTOCOL\x20SLOT\x20254\x20(once,\x20b_submission\x20Address):\x20the\x20submitted\x20value\x20MUST\x20be\x20the\x20ORDER\x20address\x20bound\x20to\x20the\x20operation\x20(payment_info.for_object)\x20—\x20NEVER\x20the\x20Progress/Machine/Arb\x20object\x20the\x20call\x20is\x20advancing.\x20The\x20chain\x20asserts\x20submission(254)\x20==\x20the\x20order\x20address;\x20a\x20Progress\x20address\x20fails\x20the\x20task\x20binding\x20and\x20the\x20forward\x20aborts.\x0a'+'REQUIRED\x20when\x20b_submission=false.\x20OPTIONAL\x20when\x20b_submission=true\x20(value\x20is\x20supplied\x20at\x20evaluation\x20time\x20by\x20user\x20submission).'),'name':z['string']()['default']('')['refine'](a=>{if(a['length']===0x0)return!![];if(new TextEncoder()['encode'](a)['length']>MAX_NAME_LENGTH)return![];return!a['toLowerCase']()['startsWith']('0x');},{'message':'Name\x20must\x20be\x20at\x20most\x20'+MAX_NAME_LENGTH+'\x20BCS\x20characters\x20(UTF-8\x20bytes)\x20and\x20must\x20not\x20start\x20with\x20\x270x\x27.\x20Use\x20a\x20short\x20identifier\x20(e.g.\x20\x27order_id\x27,\x20\x27delivery_node\x27);\x20put\x20longer\x20explanations\x20in\x20the\x20Guard\x27s\x20\x27description\x27\x20field'})['describe']('Data\x20name\x20identifier.\x20MAX\x2064\x20BCS\x20characters\x20(Chinese\x20chars\x20count\x20as\x203-4\x20BCS\x20bytes\x20each).\x20'+'Use\x20short\x20identifiers\x20like\x20\x27order_id\x27,\x20\x27delivery_node\x27.\x20'+'Put\x20longer\x20descriptions\x20in\x20the\x20Guard\x27s\x20\x27description\x27\x20field,\x20NOT\x20here.')})['strict']()['describe']('Guard\x20table\x20item\x20(INPUT/CREATION\x20form).\x20DO\x20NOT\x20include\x20`object_type`\x20field\x20—\x20it\x20is\x20query-output\x20only\x20and\x20will\x20be\x20rejected\x20here.');export const GuardTableItemSchema=GuardTableItemBaseSchema['extend']({'object_type':ObjectTypeSchema['optional']()['describe']('OUTPUT-ONLY\x20(query\x20side):\x20Object\x20type\x20when\x20value_type\x20is\x20Address\x20and\x20represents\x20a\x20specific\x20object.\x20Auto-derived\x20by\x20the\x20system\x20—\x20DO\x20NOT\x20set\x20this\x20field\x20at\x20Guard\x20creation.')})['strict']()['describe']('Guard\x20table\x20item\x20(QUERY/OUTPUT\x20form\x20—\x20includes\x20auto-derived\x20object_type\x20field)');export const EntrypointSchema=z['enum']([ENTRYPOINT['Localnet'],ENTRYPOINT['Testnet'],ENTRYPOINT['Mainnet']])['describe']('Network\x20entrypoint:\x20Specifies\x20which\x20network\x20the\x20operation\x20occurs\x20on.\x20'+'FIX-010\x20cross-network\x20note:\x20LocalMark\x20names\x20are\x20scoped\x20per\x20network\x20(testnet\x20marks\x20are\x20invisible\x20on\x20mainnet\x20and\x20vice\x20versa).\x20'+'When\x20migrating\x20from\x20testnet\x20to\x20mainnet,\x20recreate\x20all\x20objects\x20on\x20mainnet\x20and\x20re-register\x20LocalMark\x20names\x20with\x20the\x20SAME\x20names\x20'+'to\x20keep\x20name-based\x20references\x20working\x20across\x20networks.\x20Recreate\x20all\x20objects\x20on\x20the\x20target\x20network\x20'+'via\x20onchain_operations\x20with\x20env.network=target_network,\x20then\x20re-register\x20the\x20LocalMark\x20names.');export const FaucetNetworkSchema=z['enum']([ENTRYPOINT['Localnet'],ENTRYPOINT['Testnet']])['describe']('Network\x20entrypoint\x20for\x20Faucet:\x20Specifies\x20which\x20network\x20the\x20operation\x20occurs\x20on');export const ObjectBaseSchema=z['object']({'object':z['string']()['describe']('Object\x20ID'),'type':ObjectTypeSchema['optional']()['describe']('Object\x20type'),'type_raw':z['string']()['optional']()['describe']('Raw\x20object\x20type'),'owner':z['union']([ObjectOwnerSchema,z['null']()])['optional']()['describe']('Object\x20owner'),'version':z['union']([z['string'](),z['number']()])['optional']()['describe']('Object\x20version'),'previousTransaction':z['string']()['optional']()['describe']('Previous\x20transaction\x20ID'),'cache_expire':CacheExpireTypeSchema['optional']()['describe']('Cache\x20expiration\x20time'),'query_name':z['string']()['optional']()['describe']('Original\x20query\x20name\x20or\x20address\x20used\x20to\x20retrieve\x20this\x20object'),'content_raw':z['any']()['optional']()['describe']('Raw\x20content\x20data\x20for\x20unknown\x20object\x20types'),'_guard_node_comments':z['array'](z['object']({'type':z['string'](),'description':z['string']()}))['optional']()['describe']('Additional\x20comments\x20for\x20Guard\x20node\x20instructions')})['passthrough']()['describe']('Object\x20base\x20information');export const QueryEnvSchema=z['object']({'no_cache':z['boolean']()['optional']()['describe']('Whether\x20to\x20disable\x20cache'),'network':EntrypointSchema['optional']()})['strict']()['describe']('Query\x20environment\x20parameters');export const ReceivedBalanceObjectSchema=z['object']({'id':z['string']()['describe']('Received\x20CoinWrapper\x20object\x20ID'),'balance':BalanceTypeSchema,'payment':z['string']()['describe']('Payment\x20object\x20ID'),'type':z['string']()['optional']()['describe']('Type\x20of\x20the\x20received\x20object\x20(or\x20inner\x20coin\x20type);\x20used\x20for\x20token_type\x20detection'),'version':z['string']()['optional']()['describe']('Object\x20version,\x20required\x20to\x20build\x20a\x20Receiving<T>\x20argument\x20for\x20owner_receive'),'digest':z['string']()['optional']()['describe']('Object\x20digest,\x20required\x20to\x20build\x20a\x20Receiving<T>\x20argument\x20for\x20owner_receive')})['strict']()['describe']('Received\x20CoinWrapper\x20object\x20record');export const CoinWrapperTokenTypeSchema=z['string']()['refine'](a=>{const b=a['match'](/^CoinWrapper<(.+)>$/),c=b?b[0x1]:a,d=c['split']('::');if(d['length']!==0x3)return![];const [e,f,g]=d;if(!isValidTokenTypeAddress(e))return![];if(!isValidMoveIdentifier(f))return![];if(!isValidMoveIdentifier(g))return![];return!![];},{'message':'Invalid\x20token\x20type\x20format.\x20Expected:\x20CoinWrapper<{address}::{module}::{struct}>\x20or\x20{address}::{module}::{struct}.\x20Example:\x20CoinWrapper<0x2::wow::WOW>\x20or\x200x2::wow::WOW'})['describe']('Token\x20type\x20in\x20format:\x20CoinWrapper<{address}::{module}::{struct}>\x20or\x20{address}::{module}::{struct}.\x20Example:\x20CoinWrapper<0x2::wow::WOW>');export const ReceivedBalanceSchema=z['object']({'balance':BalanceTypeSchema,'token_type':CoinWrapperTokenTypeSchema['describe']('Asset\x20type\x20of\x20Coin\x20objects.\x20Supports\x20CoinWrapper<...>\x20format\x20for\x20order\x20receive\x20operations.'),'received':z['array'](ReceivedBalanceObjectSchema)['describe']('Received\x20records\x20of\x20Coin\x20objects')})['strict']()['describe']('Received\x20record\x20of\x20Coin\x20objects');export const ReceivedBalanceOrRecentlySchema=z['union']([ReceivedBalanceSchema,z['literal']('recently')])['describe']('Specified\x20received\x20balance\x20record\x20or\x20all\x20recently\x20received\x20balance\x20record');export const ReceivedNormalSchema=z['object']({'id':z['string']()['nonempty']()['describe']('Received\x20object\x20ID'),'type':z['string']()['nonempty']()['describe']('Object\x20type'),'content_raw':z['any']()['optional']()['describe']('Raw\x20content\x20data'),'version':z['string']()['optional']()['describe']('Object\x20version,\x20required\x20to\x20build\x20a\x20Receiving<T>\x20argument\x20for\x20owner_receive'),'digest':z['string']()['optional']()['describe']('Object\x20digest,\x20required\x20to\x20build\x20a\x20Receiving<T>\x20argument\x20for\x20owner_receive')})['strict']()['describe']('Received\x20normal\x20object\x20record');export const ReceivedObjectsOrRecentlySchema=z['union']([z['literal']('recently'),z['string']()['regex'](/^0x[0-9a-fA-F]{8,}$/,{'message':'receive:\x20a\x20bare-object-id\x20form\x20must\x20be\x20a\x200x-prefixed\x20hex\x20object\x20id.\x20'+'Accepted\x20forms:\x20\x27recently\x27\x20(sweep\x20everything\x20received)\x20|\x20a\x20bare\x20object\x20id\x20'+'(one-object\x20form,\x20auto-expanded)\x20|\x20[{id,\x20type,\x20version,\x20digest}]\x20records.'}),z['array'](ReceivedNormalSchema)['min'](0x1,{'message':'receive:\x20\x27recently\x27\x20sweeps\x20everything\x20the\x20object\x20has\x20received\x20(the\x20usual\x20form).\x20'+'Otherwise\x20pass\x20the\x20received\x20object\x20records\x20(id/type/version/digest),\x20a\x20bare\x20object\x20'+'id\x20(one-object\x20form),\x20or\x20a\x20ReceivedBalance\x20record.\x20An\x20EMPTY\x20list\x20is\x20rejected\x20—\x20it\x20'+'would\x20execute\x20nothing\x20yet\x20read\x20as\x20success\x20(M-K3).'}),ReceivedBalanceSchema['refine'](a=>a['received']['length']>0x0,{'message':'receive:\x20\x27recently\x27\x20sweeps\x20everything\x20the\x20object\x20has\x20received\x20(the\x20usual\x20form).\x20'+'Otherwise\x20pass\x20non-empty\x20received\x20records\x20or\x20a\x20bare\x20object\x20id\x20(one-object\x20form).\x20'+'An\x20EMPTY\x20received\x20list\x20is\x20rejected\x20—\x20it\x20would\x20execute\x20nothing\x20yet\x20read\x20as\x20'+'success\x20(M-K3).'})])['describe']('\x27recently\x27\x20(sweep\x20all\x20received),\x20a\x20bare\x20object\x20id\x20(one-object\x20form),\x20or\x20the\x20'+'explicit\x20received\x20object\x20records');export const RECEIVE_FORMAT_BLOCK_OBJECTS='\x0a\x0aACCEPTED\x20FORMATS\x20(F-06\x20unified\x20receive\x20operation\x20block):\x0a'+'•\x20\x27recently\x27\x20(string\x20literal)\x20—\x20auto-query\x20and\x20receive\x20ALL\x20recently\x20received\x20objects.\x0a'+'\x20\x20Use\x20this\x20for\x20the\x20common\x20case:\x20\x22withdraw\x20everything\x20the\x20object\x20has\x20received\x22\x20—\x20for\x0a'+'\x20\x20order.receive\x20this\x20is\x20the\x20correct\x20default\x20for\x20\x22the\x20buyer\x20got\x20their\x20refund\x22.\x0a'+'\x20\x20Example:\x20receive:\x20\x27recently\x27\x0a'+'•\x20bare\x20object\x20id\x20(string,\x200x-prefixed)\x20—\x20one-object\x20form,\x20auto-expanded\x20(F-15):\x0a'+'\x20\x20pass\x20the\x20id\x20of\x20the\x20single\x20received\x20object\x20you\x20want\x20to\x20unwrap\x20(e.g.\x20a\x20CoinWrapper\x20id).\x0a'+'\x20\x20Example:\x20receive:\x20\x270xabc...\x27\x0a'+'•\x20ReceivedNormal[]\x20(array)\x20—\x20explicit\x20list\x20of\x20received\x20objects\x20to\x20unwrap.\x0a'+'\x20\x20Use\x20this\x20when\x20you\x20want\x20to\x20receive\x20specific\x20objects\x20only\x20(not\x20all).\x0a'+'\x20\x20Example:\x20receive:\x20[{id:\x20\x270xobj1\x27,\x20type:\x20\x270x2::coin::Coin<0x2::wow::WOW>\x27}]\x0a'+'•\x20ReceivedBalance\x20({token_type,\x20balance,\x20received:\x20[{id,\x20balance,\x20payment}]})\x20—\x0a'+'\x20\x20receive\x20a\x20balance\x20record\x20from\x20a\x20specific\x20Payment/payer.\x0a'+'\x20\x20Use\x20this\x20for\x20precise\x20balance\x20targeting\x20(advanced\x20—\x20usually\x20after\x20querying\x0a'+'\x20\x20the\x20object\x27s\x20received\x20history\x20via\x20query_received).\x0a'+'\x20\x20Example:\x20receive:\x20{token_type:\x20\x270x2::wow::WOW\x27,\x20balance:\x201000000,\x20received:\x20[{id:\x20\x270xrec1\x27,\x20balance:\x201000000,\x20payment:\x20\x270xpay1\x27}]}\x0a'+'ANTI-PATTERN:\x20do\x20NOT\x20wrap\x20in\x20{result:\x20...}\x20—\x20pass\x20the\x20value\x20directly.';export const RECEIVE_FORMAT_BLOCK_BALANCE='\x0a\x0aACCEPTED\x20FORMATS\x20(F-06\x20unified\x20receive\x20operation\x20block):\x0a'+'•\x20\x27recently\x27\x20(string\x20literal)\x20—\x20auto-query\x20and\x20receive\x20ALL\x20recently\x20received\x20balance.\x0a'+'\x20\x20Use\x20this\x20for\x20the\x20common\x20case:\x20\x22deposit\x20all\x20recently\x20received\x20coins\x20into\x20pending\x20balance.\x22\x0a'+'\x20\x20Example:\x20receive:\x20\x27recently\x27\x0a'+'•\x20ReceivedBalance\x20({token_type,\x20balance,\x20received:\x20[{id,\x20balance,\x20payment}]})\x20—\x0a'+'\x20\x20receive\x20a\x20specific\x20balance\x20record\x20from\x20a\x20Payment/payer.\x0a'+'\x20\x20Use\x20this\x20when\x20targeting\x20a\x20specific\x20received\x20balance\x20(advanced).\x0a'+'\x20\x20Example:\x20receive:\x20{token_type:\x20\x270x2::wow::WOW\x27,\x20balance:\x201000000,\x20received:\x20[{id:\x20\x270xrec1\x27,\x20balance:\x201000000,\x20payment:\x20\x270xpay1\x27}]}\x0a'+'ANTI-PATTERN:\x20do\x20NOT\x20wrap\x20in\x20{result:\x20...}\x20—\x20pass\x20the\x20value\x20directly.';export const QueryReceivedResultSchema=z['object']({'result':z['union']([ReceivedBalanceSchema,z['array'](ReceivedNormalSchema)])['describe']('Received\x20CoinWrapper\x20object\x20record\x20or\x20received\x20other\x20objects\x20array')})['strict']()['describe']('Query\x20received\x20result');
|
|
@@ -7,6 +7,9 @@ export declare const ConfigOperationInputSchema: z.ZodObject<{
|
|
|
7
7
|
enable: "enable";
|
|
8
8
|
toggle: "toggle";
|
|
9
9
|
disable: "disable";
|
|
10
|
+
store_dual_payout_get: "store_dual_payout_get";
|
|
11
|
+
store_dual_payout_set: "store_dual_payout_set";
|
|
12
|
+
store_dual_payout_clear: "store_dual_payout_clear";
|
|
10
13
|
judgment_list: "judgment_list";
|
|
11
14
|
judgment_set: "judgment_set";
|
|
12
15
|
judgment_reset: "judgment_reset";
|
|
@@ -14,6 +17,9 @@ export declare const ConfigOperationInputSchema: z.ZodObject<{
|
|
|
14
17
|
judgment_doc_patch: "judgment_doc_patch";
|
|
15
18
|
}>;
|
|
16
19
|
service: z.ZodOptional<z.ZodString>;
|
|
20
|
+
account: z.ZodOptional<z.ZodString>;
|
|
21
|
+
confirm: z.ZodOptional<z.ZodBoolean>;
|
|
22
|
+
note: z.ZodOptional<z.ZodString>;
|
|
17
23
|
path: z.ZodOptional<z.ZodString>;
|
|
18
24
|
value: z.ZodOptional<z.ZodUnknown>;
|
|
19
25
|
patch: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
|
|
@@ -93,5 +99,23 @@ export declare const ConfigOperationOutputSchema: z.ZodObject<{
|
|
|
93
99
|
new: z.ZodUnknown;
|
|
94
100
|
}, z.core.$strip>>;
|
|
95
101
|
reload_error: z.ZodNullable<z.ZodString>;
|
|
102
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
103
|
+
action: z.ZodLiteral<"store_dual_payout_get">;
|
|
104
|
+
account: z.ZodString;
|
|
105
|
+
preauthorized: z.ZodBoolean;
|
|
106
|
+
authorized_at: z.ZodOptional<z.ZodString>;
|
|
107
|
+
note: z.ZodOptional<z.ZodString>;
|
|
108
|
+
network: z.ZodOptional<z.ZodString>;
|
|
109
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
110
|
+
action: z.ZodLiteral<"store_dual_payout_set">;
|
|
111
|
+
account: z.ZodString;
|
|
112
|
+
preauthorized: z.ZodLiteral<true>;
|
|
113
|
+
authorized_at: z.ZodString;
|
|
114
|
+
note: z.ZodOptional<z.ZodString>;
|
|
115
|
+
reminder: z.ZodOptional<z.ZodString>;
|
|
116
|
+
}, z.core.$strip>, z.ZodObject<{
|
|
117
|
+
action: z.ZodLiteral<"store_dual_payout_clear">;
|
|
118
|
+
account: z.ZodString;
|
|
119
|
+
cleared: z.ZodBoolean;
|
|
96
120
|
}, z.core.$strip>], "action">;
|
|
97
121
|
}, z.core.$strict>;
|