@wowok/wowok 3.0.8 → 3.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/dist/esm/{arb-S5T4M9_4.mjs → arb-6a6XEwFi.mjs} +1 -1
  2. package/dist/esm/{call-CLTpE7NH.mjs → call-x_OEGx2m.mjs} +1 -1
  3. package/dist/esm/client/index.mjs +1 -1
  4. package/dist/esm/{client-DYIgIItb.mjs → client-DpD6Md8O.mjs} +1 -1
  5. package/dist/esm/graphql/index.mjs +1 -1
  6. package/dist/esm/{graphql-DyLuCJhh.mjs → graphql-BGS-yYpe.mjs} +1 -1
  7. package/dist/esm/grpc/index.mjs +1 -1
  8. package/dist/esm/{grpc-DyL19pdw.mjs → grpc-Npzn4v5o.mjs} +1 -1
  9. package/dist/esm/index.mjs +1 -1
  10. package/dist/esm/jsonRpc/index.mjs +1 -1
  11. package/dist/esm/messenger-Dx0mQtna.mjs +1 -0
  12. package/dist/esm/{messenger-api-BHzaiB8Z.mjs → messenger-api-BtpZ7KKM.mjs} +1 -1
  13. package/dist/esm/{proof-e283A6LF.mjs → proof-vtnk0ygQ.mjs} +1 -1
  14. package/dist/esm/{received-BP2jW99o.mjs → received-DSdkGRml.mjs} +1 -1
  15. package/dist/esm/{service-CF9YMK_P.mjs → service-BmU5BmF3.mjs} +1 -1
  16. package/dist/esm/util-CPxv4eLl.mjs +1 -0
  17. package/dist/esm/util-DY1mf03_.mjs +1 -0
  18. package/dist/esm/w/call/allocation.mjs +1 -1
  19. package/dist/esm/w/call/arbitration.mjs +1 -1
  20. package/dist/esm/w/call/base.mjs +1 -1
  21. package/dist/esm/w/call/demand.mjs +1 -1
  22. package/dist/esm/w/call/guard.mjs +1 -1
  23. package/dist/esm/w/call/index.mjs +1 -1
  24. package/dist/esm/w/call/machine.mjs +1 -1
  25. package/dist/esm/w/call/passport.mjs +1 -1
  26. package/dist/esm/w/call/payment.mjs +1 -1
  27. package/dist/esm/w/call/permission.mjs +1 -1
  28. package/dist/esm/w/call/progress.mjs +1 -1
  29. package/dist/esm/w/call/repository.mjs +1 -1
  30. package/dist/esm/w/call/reward.mjs +1 -1
  31. package/dist/esm/w/call/service.mjs +1 -1
  32. package/dist/esm/w/call/treasury.mjs +1 -1
  33. package/dist/esm/w/index.mjs +1 -1
  34. package/dist/esm/w/local/account.mjs +1 -1
  35. package/dist/esm/w/local/index.mjs +1 -1
  36. package/dist/esm/w/local/token.mjs +1 -1
  37. package/dist/esm/w/messenger/index.mjs +1 -1
  38. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  39. package/dist/esm/w/messenger/messenger.mjs +1 -1
  40. package/dist/esm/w/query/index.mjs +1 -1
  41. package/dist/esm/w/query/object.mjs +1 -1
  42. package/dist/esm/{w-BqZNIgJB.mjs → w-BGmDN3-w.mjs} +1 -1
  43. package/package.json +1 -1
  44. package/dist/esm/messenger-CsUbfW03.mjs +0 -1
  45. package/dist/esm/util-2Fli5dww.mjs +0 -1
  46. package/dist/esm/util-DGq_oxSf.mjs +0 -1
@@ -1 +1 @@
1
- import{a as a108a,u as a108b}from'../../wow-types-DctQuD2J.mjs';import{t as a108c}from'../../client-DYIgIItb.mjs';import{o as a108d}from'../../exception-D2n4LV8F.mjs';import{f as a108e,l as a108f,m as a108g,p as a108h,s as a108i,u as a108j}from'../../constants-BGKNJZYa.mjs';import{a as a108k}from'../../network-UpRYD8EM.mjs';import{F as a108l,I as a108m,K as a108n,c as a108o,l as a108p,n as a108q,q as a108r,u as a108s,z as a108t}from'../../common-DC9BAaSg.mjs';import{Cache}from'../local/cache.mjs';import{Config}from'../local/config.mjs';import{LocalMark}from'../local/local.mjs';import{$ as a108u,A as a108v,At as a108w,B as a108x,Ct as a108y,Dt as a108z,Et as a108A,F as a108B,Ft as a108C,G as a108D,H as a108E,I as a108F,It as a108G,J as a108H,K as a108I,L as a108J,Lt as a108K,M as a108L,Mt as a108M,N as a108N,Nt as a108O,Ot as a108P,P as a108Q,Pt as a108R,Q as a108S,R as a108T,St as a108U,Tt as a108V,U as a108W,V as a108X,W as a108Y,Wn as a108Z,X as a108a0,Y as a108a1,Z as a108a2,_t as a108a3,at as a108a4,bt as a108a5,ct as a108a6,dt as a108a7,et as a108a8,ft as a108a9,gt as a108aa,ht as a108ab,it as a108ac,j as a108ad,jt as a108ae,k as a108af,kt as a108ag,li as a108ah,lt as a108ai,mt as a108aj,nt as a108ak,ot as a108al,p as a108am,pt as a108an,q as a108ao,rt as a108ap,st as a108aq,tt as a108ar,ui as a108as,ut as a108at,vt as a108au,wt as a108av,xt as a108aw,yt as a108ax,z as a108ay}from'../../util-2Fli5dww.mjs';import{o as a108az}from'../../fund-approval-D9vwQz49.mjs';import{t as a108aA}from'../../received-BP2jW99o.mjs';import{query_permissions}from'../call/permission.mjs';import{n as a108aB,t as a108aC}from'../../util-DGq_oxSf.mjs';const AFFILIATION_TABLE_META={'object_linker_core':{'address':'0xaae','retention':'lossless','note':'Fixed\x20bindings:\x20who\x20is\x20attached\x20to\x20this\x20target.'},'object_linker_tx':{'address':'0xaaf','retention':'fifo','note':'Recent\x20tx\x20touches:\x20orders/progress/payments/guards\x20that\x20targeted\x20this\x20object.'},'entity_order':{'address':'0xaa8','retention':'membership','note':'Orders\x20the\x20account\x20participates\x20in\x20(role\x20bitmask\x201=owner,\x202=agent).'},'entity_permission':{'address':'0xaad','retention':'membership','note':'Permissions\x20the\x20account\x20holds\x20a\x20role\x20in\x20(1=owner,\x202=admin,\x204=entity).'},'entity_contact':{'address':'0xaa9','retention':'membership','note':'Customer-service\x20Contacts\x20the\x20account\x20is\x20a\x20member\x20of.'},'registrar':{'address':'0xaaa','retention':'membership','note':'Like/dislike/favor\x20votes\x20the\x20account\x20received.'},'entity':{'address':'0xaab','retention':'membership','note':'Account\x20identity\x20records.'}},CORE_KEY_TYPES=new Set(['Permission','Contact','Reward','Arbitration','Repository','Machine','Guard']),AFFILIATION_TABLES_BY_TYPE=((()=>{const a={};for(const b of Object['values'](a108l))a[b]=['object_linker_tx'];for(const c of Object['values'](a108l))if(CORE_KEY_TYPES['has'](c))a[c]=['object_linker_core','object_linker_tx'];return a['user']=['object_linker_tx','entity_order','entity_permission','entity_contact','registrar','entity'],a;})()),query_affiliations=async a=>{const [b,c]=await Promise['all']([Config['Instance']()['network_get'](a['network']),a108am(typeof a['address']==='string'?{'name_or_address':a['address']}:a['address'])]);if(!c)a108d('invalid\x20parameter','query_affiliations.address\x20not\x20found');const d=a108ar(c),e=AFFILIATION_TABLES_BY_TYPE[d??'user']??[],f={'address':c,'no_cache':a['no_cache'],'network':b},[g,h,j,k,l,m,n]=await Promise['all']([e['includes']('object_linker_core')?a108an(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('object_linker_tx')?a108aj(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_order')?a108ai(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_permission')?a108at(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_contact')?a108aq(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('registrar')?a108a6(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity')?a108a7(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0)]),o=[];for(const p of g?.['items']??[])o['push']({'table':'object_linker_core','who':p['who'],'time':p['time']});for(const q of h?.['items']??[])o['push']({'table':'object_linker_tx','who':q['who'],'time':q['time']});for(const r of j?.['items']??[])o['push']({'table':'entity_order','who':r['order'],'time':r['time'],'role':r['role']});for(const s of k?.['items']??[])o['push']({'table':'entity_permission','who':s['permission'],'time':s['time'],'role':s['role']});for(const t of l?.['items']??[])o['push']({'table':'entity_contact','who':t['contact'],'time':t['time']});for(const u of m?.['votes']??[])o['push']({'table':'registrar','who':u['who'],'time':u['time']});return{'address':c,'object_type':d,'tables_queried':e,'entries':o,'raw':{'reverse_core':g,'reverse_tx':h,'order_membership':j,'permission_membership':k,'contact_membership':l,'registrar':m,'entity':n}};},isValidObjectAddr=a=>typeof a==='string'&&a['length']>0x2&&a!=='0x0',MAX_NODE_LIST_PAGES=0x5,query_serviceContext=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a108as(b)?'graphql':'json-rpc';let d;if(typeof a['service']==='string'){const j=(await a108A({'objects':[a['service']],'no_cache':a['no_cache'],'network':b}))['objects']?.['find'](k=>k['type']==='Service');if(!j)a108d('fail','query_serviceContext:\x20service\x20'+a['service']+'\x20not\x20found');d=j;}else d=a['service'];const e=new Map(),f=(k,l)=>{if(isValidObjectAddr(l))e['set'](k,l);};f('machine',d['machine']),f('buy_guard',d['buy_guard']),f('permission',d['permission']),f('um',d['um']);for(const k of d['arbitrations']??[])f('arbitrations:'+k,k);for(const l of d['rewards']??[])f('rewards:'+l,l);for(const m of d['repositories']??[])f('repositories:'+m,m);for(const n of d['order_allocators']?.['allocators']??[])f('allocator_guard:'+n['guard'],n['guard']);const g={};if(e['size']>0x0){const o=await a108A({'objects':[...e['values']()],'no_cache':a['no_cache'],'network':b});for(const p of o['objects']??[])if(p?.['object'])g[p['object']]=p;}const h=q=>q?g[q]:void 0x0;let i;if(a['include_machine_nodes']&&isValidObjectAddr(d['machine']))i=await fetchMachineNodes(d['machine'],a);return{'service':d,'machine':h(d['machine']),'buy_guard':h(d['buy_guard']),'permission':h(d['permission']),'allocator_guards':(d['order_allocators']?.['allocators']??[])['map'](q=>h(q['guard']))['filter'](q=>q?.['type']==='Guard'),'referenced':g,'machine_nodes':i,'transport':c};},fetchMachineNodes=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=[];let e;for(let f=0x0;f<MAX_NODE_LIST_PAGES;f++){let g;try{g=await a108M({'parent':a,'cursor':e,'limit':null,'no_cache':b['no_cache'],'network':c});}catch{break;}if(!g?.['items']?.['length'])break;for(const h of g['items'])if(h['object'])d['push'](h['object']);e=g['nextCursor'];if(!e||!g['hasNextPage'])break;}if(d['length']===0x0)return[];return((await a108A({'objects':d,'no_cache':b['no_cache'],'network':c}))['objects']??[])['filter'](i=>i?.['type']==='TableItem_MachineNode');},query_events_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_events(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_events=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['cursor']?a['cursor']['eventSeq']+':'+a['cursor']['txDigest']:'',e=a['limit']?.['toString']()??'',f=a['order']??'',g=await Cache['read'](['event',a['type'],c,e,f,b],async()=>{const h=await events(a['type'],a);return{'expire':Cache['DefaultExpireTime'](!!a['cursor']),'data':h};},a['no_cache']);if(g){const h=g['data'];return h['cache_expire']=g['expire'],h;}},events=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=new a108c({'url':a108k(c),'network':c}),e=a==='ArbEvent'||a==='NewOrderEvent'||a==='ProgressEvent'||a==='DemandPresentEvent'||a==='DemandFeedbackEvent'||a==='NewEntityEvent'||a==='ServiceEvent'||a==='ArbitrationEvent'||a==='DemandChangedEvent'||a==='VoteEvent'||a==='FeedbackEvent'||a==='AllocationEvent'||a==='TreasuryEvent'||a==='RewardClaimEvent'||a==='RewardFundEvent'||a==='NewPaymentEvent';let f;if(e)f='0x2'+{'ArbEvent':'::arb::ArbEvent','NewOrderEvent':'::order::NewOrderEvent','ProgressEvent':'::progress::ProgressEvent','DemandPresentEvent':'::demand::PresentEvent','DemandFeedbackEvent':'::demand::DemandEvent','NewEntityEvent':'::registrar::NewEntityEvent','ServiceEvent':'::service::ServiceEvent','ArbitrationEvent':'::arbitration::ArbitrationEvent','DemandChangedEvent':'::demand::DemandChangedEvent','VoteEvent':'::arb::VoteEvent','FeedbackEvent':'::arb::FeedbackEvent','AllocationEvent':'::allocation::AllocationEvent','TreasuryEvent':'::treasury::TreasuryEvent','RewardClaimEvent':'::reward::RewardClaimEvent','RewardFundEvent':'::reward::RewardFundEvent','NewPaymentEvent':'::payment::NewPaymentEvent'}[a];else f=a;const g=await d['queryEvents']({'query':{'MoveEventType':f},'cursor':b['cursor'],'limit':b['limit'],'order':b['order']==='descending'?'descending':'ascending'});return{'data':g?.['data']?.['map'](parseWowokEventItem),'hasNextPage':g?.['hasNextPage'],'nextCursor':g?.['nextCursor']};},parseWowokEventItem=a=>{if(a?.['packageId']!==void 0x0?a108ah(a['packageId'])==='0x2':a?.['type']?.['startsWith']('0x2::')){if(a?.['type']?.['includes']('::order::NewOrderEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewOrderEvent','order':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service'],'progress':a?.['parsedJson']?.['progress']?.['some']??null,'amount':a?.['parsedJson']?.['amount'],'discount':a?.['parsedJson']?.['discount']?.['some']??null,'allocation':a?.['parsedJson']?.['allocation']?.['some']??null};else{if(a?.['type']?.['includes']('::demand::PresentEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandPresentEvent','demand':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service']?.['some']??null,'recommend':a?.['parsedJson']?.['tips']};else{if(a?.['type']?.['includes']('::demand::DemandEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandFeedbackEvent','demand':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service']?.['some']??null,'feedback':a?.['parsedJson']?.['feedback'],'acceptance_score':a?.['parsedJson']?.['acceptance_score']?.['some']??null};else{if(a?.['type']?.['includes']('::progress::ProgressEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ProgressEvent','progress':a?.['parsedJson']?.['object'],'machine':a?.['parsedJson']?.['machine'],'task':a?.['parsedJson']?.['task'],'node':a?.['parsedJson']?.['node'],'forward':a?.['parsedJson']?.['forward'],'hold':a?.['parsedJson']?.['hold']};else{if(a?.['type']?.['includes']('::arb::ArbEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ArbEvent','arb':a?.['parsedJson']?.['object'],'arbitration':a?.['parsedJson']?.['arbitration'],'order':a?.['parsedJson']?.['order'],'status':a?.['parsedJson']?.['status'],'indemnity_amount':a?.['parsedJson']?.['indemnity_amount']?.['some']??null,'compensation_time':a?.['parsedJson']?.['compensation_time']?.['some']??null};else{if(a?.['type']?.['includes']('::service::ServiceEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ServiceEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description']};else{if(a?.['type']?.['includes']('::arbitration::ArbitrationEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ArbitrationEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description'],'fee':a?.['parsedJson']?.['fee'],'voting_guard_count':a?.['parsedJson']?.['voting_guard_count']};else{if(a?.['type']?.['includes']('::demand::DemandChangedEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandChangedEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description'],'rewards':a?.['parsedJson']?.['rewards']};else{if(a?.['type']?.['includes']('::arb::VoteEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'VoteEvent','object':a?.['parsedJson']?.['object'],'voter':a?.['parsedJson']?.['voter'],'agrees':a?.['parsedJson']?.['agrees'],'weight':a?.['parsedJson']?.['weight']};else{if(a?.['type']?.['includes']('::arb::FeedbackEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'FeedbackEvent','object':a?.['parsedJson']?.['object'],'feedback':a?.['parsedJson']?.['feedback']};else{if(a?.['type']?.['includes']('::registrar::NewEntityEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewEntityEvent','resource':a?.['parsedJson']?.['resource'],'address':a?.['sender'],'referrer':a?.['parsedJson']?.['referrer']?.['some']??null};else{if(a?.['type']?.['includes']('::allocation::AllocationEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'AllocationEvent','object':a?.['parsedJson']?.['object'],'payment':a?.['parsedJson']?.['payment'],'guard':a?.['parsedJson']?.['guard'],'amount':a?.['parsedJson']?.['amount']};else{if(a?.['type']?.['includes']('::treasury::TreasuryEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'TreasuryEvent','object':a?.['parsedJson']?.['object'],'op':a?.['parsedJson']?.['op'],'payment':a?.['parsedJson']?.['payment'],'amount':a?.['parsedJson']?.['amount'],'external_guard':a?.['parsedJson']?.['external_guard']?.['some']??null,'store_from_id':a?.['parsedJson']?.['store_from_id']?.['some']??null};else{if(a?.['type']?.['includes']('::reward::RewardClaimEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'RewardClaimEvent','object':a?.['parsedJson']?.['object'],'guard':a?.['parsedJson']?.['guard'],'recipient':a?.['parsedJson']?.['recipient'],'amount':a?.['parsedJson']?.['amount'],'total':a?.['parsedJson']?.['total'],'balance_left':a?.['parsedJson']?.['balance_left'],'store_from_id':a?.['parsedJson']?.['store_from_id']?.['some']??null};else{if(a?.['type']?.['includes']('::reward::RewardFundEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'RewardFundEvent','object':a?.['parsedJson']?.['object'],'amount':a?.['parsedJson']?.['amount'],'balance':a?.['parsedJson']?.['balance'],'from_payment':a?.['parsedJson']?.['from_payment']?.['some']??null};else{if(a?.['type']?.['includes']('::payment::NewPaymentEvent')){const b=a?.['parsedJson']??{};return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewPaymentEvent','object':b['object'],'amount':b['amount'],'from_object':b['from_object']?.['some']??null,'info':{'for_object':b['info']?.['for_object']?.['some']??null,'for_guard':b['info']?.['for_guard']?.['some']??null,'remark':b['info']?.['remark']??'','index':b['info']?.['index']??0x0},'record':(b['record']??[])['map'](c=>({'recipient':c?.['recipient'],'amount':c?.['amount']}))};}}}}}}}}}}}}}}}}}return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':a?.['type'],'parsedJson_raw':a?.['parsedJson']};},INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a108s,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a108p,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a108t,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a108o,'description':'Entity\x20registrar\x20ID'},{'name':'Entity\x20Contact\x20ID','value':a108i,'description':'Entity\x20contact\x20system\x20object\x20ID'},{'name':'Messenger\x20ID','value':a108e,'description':'Encrypted\x20messenger\x20system\x20object\x20ID'},{'name':'Entity\x20Permission\x20ID','value':a108j,'description':'Entity\x20permission\x20system\x20object\x20ID'},{'name':'Entity\x20Order\x20ID','value':a108f,'description':'Global\x20entity\x20->\x20orders\x20reverse\x20index\x20system\x20object\x20ID'},{'name':'Object\x20Linker\x20Core\x20ID','value':a108h,'description':'Object\x20linker\x20core\x20system\x20object\x20ID'},{'name':'Object\x20Linker\x20Tx\x20ID','value':a108g,'description':'Object\x20linker\x20tx\x20system\x20object\x20ID'}],'value_types':Object['entries'](a108n)['filter'](([a,b])=>isNaN(Number(a))&&a!=='Value')['map'](([a,b])=>({'name':a,'value':a,'description':'Value\x20type\x20'+a+'\x20=\x20'+b})),'object_types':Object['values'](a108l)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a108m)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a108q)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a108r)['map'](a=>({'name':a,'value':a,'description':'Guard\x20witness\x20'+a}))},COMMON_MISTAKES=[{'object_type':'Service','operation':'compensation_fund_add','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20or\x20{amount:\x20...,\x20type:\x20\x27WOW\x27}\x20instead\x20of\x20{balance:\x20...}.\x20The\x20correct\x20field\x20name\x20is\x20\x27balance\x27,\x20and\x20the\x20token\x20type\x20is\x20inferred\x20from\x20the\x20Service\x27s\x20type_parameter\x20(generic\x20type).','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Service\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals\x20(10^9\x20=\x201\x20token),\x20USDC\x20uses\x206\x20decimals\x20(10^6\x20=\x201\x20token).','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22amount\x22:\x201000000000,\x20\x22type\x22:\x20\x22WOW\x22}}','correct_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(1\x20WOW\x20or\x201\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Service','operation':'compensation_fund_add','category':'workflow','mistake':'Calling\x20compensation_fund_add\x20without\x20first\x20granting\x20permission\x20315\x20(SERVICE_COMPENSATION_FUND_DEPOSIT)\x20to\x20the\x20calling\x20account.\x20The\x20Move\x20layer\x20will\x20reject\x20with\x20\x27Missing\x20permissions\x20315\x27.','correct_usage':'Grant\x20permission\x20315\x20to\x20the\x20funder\x20account\x20via\x20permission.table\x20{op:\x20\x27add\x20perm\x20by\x20index\x27,\x20index:\x20315,\x20entity:\x20[funder_account]}\x20BEFORE\x20calling\x20compensation_fund_add.','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(without\x20permission\x20315\x20granted)','correct_example':'Step\x201:\x20permission.table\x20{op:\x20\x22add\x20perm\x20by\x20index\x22,\x20index:\x20315,\x20entity:\x20[\x22funder\x22]}\x20→\x20Step\x202:\x20{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20The\x20field\x20is\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Value\x20in\x20milliseconds.\x2086400000\x20=\x201\x20day,\x202592000000\x20=\x2030\x20days\x20(default),\x207776000000\x20=\x2090\x20days.','wrong_example':'{\x22setting_lock_duration_add\x22:\x202592000}\x20(30\x20days\x20in\x20SECONDS\x20—\x20actually\x20only\x2025.92\x20seconds!)','correct_example':'{\x22setting_lock_duration_add\x22:\x202592000000}\x20(30\x20days\x20in\x20milliseconds)'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'value_range','mistake':'Expecting\x20the\x20default\x20to\x20be\x2090\x20days.\x20The\x20actual\x20default\x20(DEFAULT_LOCK_DURATION)\x20is\x2030\x20days\x20(2592000000\x20ms).\x20This\x20is\x20the\x20value\x20set\x20when\x20a\x20Service\x20is\x20created\x20without\x20explicitly\x20setting\x20setting_lock_duration_add.','correct_usage':'If\x20you\x20need\x2090\x20days,\x20explicitly\x20set\x20setting_lock_duration_add\x20to\x207776000000\x20(90\x20days\x20in\x20ms).\x20Note:\x20setting_lock_duration_add\x20is\x20ADDITIVE\x20—\x20it\x20only\x20increases\x20the\x20duration.','wrong_example':'Creating\x20a\x20Service\x20and\x20expecting\x20setting_lock_duration\x20=\x207776000000\x20(90\x20days)\x20without\x20setting\x20setting_lock_duration_add.','correct_example':'{\x22setting_lock_duration_add\x22:\x207776000000}\x20(90\x20days\x20in\x20ms)\x20—\x20set\x20during\x20Service\x20creation.'},{'object_type':'Service','operation':'order_allocators','category':'workflow','mistake':'Setting\x20order_allocators\x20AFTER\x20publish.\x20order_allocators\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20order_allocators\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).\x20Phase\x202\x20(publish=true)\x20only\x20flips\x20the\x20publish\x20flag.','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20order_allocators\x20(FAILS:\x20assert!(!bPublished))','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20order_allocators\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Service','operation':'machine','category':'workflow','mistake':'Setting\x20machine\x20AFTER\x20publish.\x20machine\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20machine\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20machine\x20(FAILS)','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20machine\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Arbitration','operation':'voting_deadline','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20voting_deadline\x20is\x20a\x20Unix\x20timestamp\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Unix\x20timestamp\x20in\x20milliseconds.\x20Use\x20Date.now()\x20+\x20<duration_ms>\x20for\x20a\x20future\x20deadline.\x20Example:\x20Date.now()\x20+\x20259200000\x20for\x203\x20days.','wrong_example':'{\x22voting_deadline\x22:\x201785190000}\x20(seconds\x20—\x20this\x20is\x20in\x202026-05\x20but\x20in\x20seconds,\x20which\x20is\x20actually\x201970-01-21)','correct_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(milliseconds\x20—\x20correct\x20Unix\x20timestamp\x20in\x20ms)'},{'object_type':'Arbitration','operation':'voting_deadline','category':'timing','mistake':'Setting\x20voting_deadline\x20to\x20a\x20past\x20time.\x20The\x20deadline\x20MUST\x20be\x20in\x20the\x20future\x20(recommended:\x20now\x20+\x20at\x20least\x2086400000\x20ms\x20=\x2024\x20hours).\x20Past\x20deadlines\x20prevent\x20voting.','correct_usage':'Use\x20Date.now()\x20+\x20<duration_ms>.\x20Minimum\x20recommended:\x2086400000\x20ms\x20(24\x20hours).\x203\x20days\x20=\x20259200000\x20ms.','wrong_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(if\x20this\x20is\x20in\x20the\x20past,\x20voting\x20will\x20fail)','correct_example':'{\x22voting_deadline\x22:\x20Date.now()\x20+\x20259200000}\x20(3\x20days\x20from\x20now)'},{'object_type':'Arbitration','operation':'dispute','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20for\x20the\x20dispute\x20fee\x20instead\x20of\x20{balance:\x20...}.\x20The\x20fee\x20field\x20uses\x20CoinParamSchema\x20which\x20requires\x20\x27balance\x27,\x20not\x20\x27amount\x27.','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Arbitration\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals,\x20USDC\x20uses\x206\x20decimals.','wrong_example':'{\x22fee\x22:\x20{\x22amount\x22:\x2050000000}}','correct_example':'{\x22fee\x22:\x20{\x22balance\x22:\x2050000000}}\x20(0.05\x20WOW\x20or\x200.05\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Order','operation':'order_new','category':'workflow','mistake':'Not\x20setting\x20namedNewOrder/namedNewAllocation/namedNewProgress\x20when\x20creating\x20an\x20Order.\x20Without\x20names,\x20subsequent\x20operations\x20must\x20use\x20on-chain\x20addresses,\x20which\x20are\x20hard\x20to\x20reference.','correct_usage':'Set\x20namedNewOrder,\x20namedNewAllocation,\x20and\x20namedNewProgress\x20to\x20local\x20names\x20for\x20easy\x20reference\x20in\x20subsequent\x20operations.','wrong_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...}}}\x20(no\x20namedNewOrder\x20—\x20must\x20use\x20address\x20for\x20all\x20subsequent\x20operations)','correct_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...},\x20\x22namedNewOrder\x22:\x20{\x22name\x22:\x20\x22my_order\x22},\x20\x22namedNewAllocation\x22:\x20{\x22name\x22:\x20\x22my_alloc\x22},\x20\x22namedNewProgress\x22:\x20{\x22name\x22:\x20\x22my_progress\x22}}}'},{'object_type':'ALL','operation':'create_with_reference','category':'workflow','mistake':'Creating\x20an\x20object\x20that\x20references\x20another\x20object\x20by\x20name\x20(LocalMark)\x20when\x20the\x20referenced\x20object\x20does\x20not\x20exist\x20yet.\x20This\x20causes\x20BCS\x20serialization\x20error:\x20\x27failed\x20to\x20resolve\x20string:\x20<name>\x27.\x20The\x20general\x20pattern\x20is:\x20create\x20object\x20A\x20(no\x20publish,\x20establishes\x20LocalMark)\x20→\x20create\x20object\x20B\x20that\x20references\x20A\x20→\x20update\x20A\x20with\x20references\x20to\x20B\x20→\x20publish\x20A.','correct_usage':'GENERAL\x20DEPLOYMENT\x20ORDER\x20RULE:\x20(1)\x20Create\x20all\x20objects\x20with\x20basic\x20config,\x20no\x20publish\x20—\x20addresses\x20are\x20determined\x20and\x20LocalMark\x20names\x20are\x20registered.\x20(2)\x20Create\x20Guards\x20and\x20other\x20objects\x20that\x20reference\x20the\x20first\x20batch\x20—\x20LocalMark\x20names\x20now\x20resolve.\x20(3)\x20Update\x20objects\x20with\x20cross-references\x20(order_allocators,\x20buy_guard,\x20etc.).\x20(4)\x20Publish\x20objects.\x20This\x20avoids\x20all\x20circular\x20dependencies.','wrong_example':'Step\x201:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20(my_service\x20does\x20not\x20exist)\x20→\x20BCS\x20error','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish,\x20establishes\x20\x22my_service\x22\x20LocalMark)\x20→\x20Step\x202:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20→\x20Step\x203:\x20update\x20Service\x20with\x20order_allocators\x20referencing\x20Guard\x20→\x20Step\x204:\x20publish\x20Service'},{'object_type':'Machine','operation':'add|set','category':'architecture','mistake':'Including\x20arbitration/dispute\x20nodes\x20in\x20a\x20Machine\x20workflow.\x20CORE\x20PRINCIPLE:\x20A\x20merchant\x27s\x20business\x20flow\x20cannot\x20handle\x20disputes\x20fairly\x20because\x20the\x20merchant\x20would\x20be\x20\x27both\x20player\x20and\x20referee\x27\x20(既当球员又当裁判).\x20The\x20WoWok\x20smart\x20contract\x20design\x20enforces\x20this\x20by\x20making\x20Arbitration\x20a\x20completely\x20separate\x20object\x20—\x20it\x20has\x20its\x20own\x20Permission,\x20voting_guard,\x20usage_guard,\x20and\x20balance,\x20with\x20NO\x20reference\x20from\x20Machine/Progress\x20to\x20Arbitration.\x20The\x20Order\x20object\x20is\x20the\x20bridge:\x20it\x20has\x20both\x20`progress`\x20(Machine)\x20and\x20`dispute`\x20(list\x20of\x20Arb\x20addresses)\x20fields,\x20but\x20the\x20Arb\x20lifecycle\x20(7\x20states:\x20Principal_confirming\x20→\x20Arbitrator_confirming\x20→\x20Voting\x20→\x20Arbitrated\x20→\x20Objectionable\x20→\x20Finished\x20→\x20Withdrawn)\x20is\x20managed\x20entirely\x20by\x20the\x20Arbitration\x20object,\x20not\x20by\x20the\x20Machine.','correct_usage':'ARBITRATION\x20SEPARATION\x20RULE:\x20(1)\x20Machine\x20workflows\x20model\x20BUSINESS\x20states\x20only\x20(e.g.,\x20ordered\x20→\x20shipped\x20→\x20delivered\x20→\x20refunded\x20→\x20completed).\x20(2)\x20Arbitration\x20is\x20a\x20separate\x20object\x20with\x20its\x20own\x20Permission\x20—\x20create\x20it\x20independently.\x20(3)\x20When\x20a\x20dispute\x20arises,\x20an\x20Arb\x20instance\x20is\x20created\x20referencing\x20the\x20Order;\x20the\x20Arb\x20goes\x20through\x20its\x207-state\x20lifecycle\x20in\x20the\x20Arbitration\x20object.\x20(4)\x20If\x20the\x20Arb\x20rules\x20in\x20favor\x20of\x20the\x20customer,\x20`indemnity`\x20is\x20set\x20and\x20`order::compensate()`\x20is\x20called\x20—\x20this\x20is\x20the\x20ONLY\x20connection\x20between\x20Arb\x20and\x20Order.\x20(5)\x20The\x20Machine\x20can\x20have\x20\x27refunded\x27/\x27cancelled\x27\x20nodes\x20for\x20the\x20BUSINESS\x20OUTCOME\x20of\x20a\x20dispute,\x20but\x20the\x20dispute\x20PROCESS\x20is\x20entirely\x20in\x20Arb.\x20(6)\x20Arbitration\x27s\x20Permission\x20MUST\x20be\x20separate\x20from\x20Service\x27s\x20Permission\x20—\x20never\x20share.','wrong_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20disputed,\x20resolved,\x20completed]\x20—\x20\x22disputed\x22\x20and\x20\x22resolved\x22\x20are\x20Arb\x20lifecycle\x20states,\x20not\x20business\x20states.\x20The\x20merchant\x20would\x20control\x20the\x20dispute\x20process,\x20making\x20it\x20unfair.','correct_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20refunded,\x20completed]\x20(business\x20states\x20only)\x20+\x20separate\x20Arbitration\x20object\x20(with\x20own\x20Permission,\x20voting_guard)\x20+\x20Arb\x20instances\x20(7-state\x20lifecycle)\x20that\x20call\x20order::compensate()\x20when\x20ruled'},{'object_type':'ALL','operation':'multi_tier_allocation','category':'architecture','mistake':'Thinking\x20Allocation\x20cannot\x20support\x20multi-level\x20fund\x20distribution.\x20WoWok\x20supports\x20multi-tier\x20allocation\x20through\x20SUB-ORDERS:\x20each\x20tier\x20is\x20an\x20independent\x20Service\x20with\x20its\x20own\x20order_allocators.\x20The\x20main\x20Order\x20pays\x20the\x20Tier-1\x20Service;\x20the\x20Tier-1\x20Service\x27s\x20Allocation\x20distributes\x20funds\x20to\x20Tier-2\x20sub-orders\x20(each\x20a\x20separate\x20Service\x20with\x20its\x20own\x20Allocation).\x20Additionally,\x20Allocation\x20can\x20run\x20as\x20a\x20standalone\x20independent\x20object,\x20not\x20just\x20as\x20a\x20Service\x20field.','correct_usage':'MULTI-TIER\x20ALLOCATION\x20PATTERN:\x20(1)\x20Main\x20Service\x20has\x20order_allocators\x20that\x20distribute\x20to\x20Tier-1\x20recipients\x20(e.g.,\x20platform\x20+\x20agency).\x20(2)\x20Each\x20Tier-1\x20recipient\x20can\x20be\x20a\x20separate\x20Service\x20with\x20its\x20own\x20order_allocators\x20for\x20Tier-2\x20distribution\x20(e.g.,\x20agency\x20→\x20operators).\x20(3)\x20Each\x20tier\x27s\x20Order\x20is\x20independent\x20—\x20Tier-1\x20payment\x20triggers\x20Tier-2\x20order\x20creation.\x20(4)\x20For\x20standalone\x20allocation:\x20create\x20an\x20Allocation\x20object\x20independently\x20and\x20transfer\x20funds\x20to\x20it,\x20then\x20use\x20Guard-driven\x20allocation\x20to\x20distribute.\x20(5)\x20Do\x20NOT\x20try\x20to\x20put\x20all\x20tiers\x20in\x20a\x20single\x20Order\x27s\x20order_allocators\x20—\x20use\x20separate\x20Services/Orders\x20per\x20tier.','wrong_example':'Single\x20Service\x20with\x208\x20order_allocators\x20trying\x20to\x20handle\x203\x20tiers\x20of\x20distribution\x20in\x20one\x20Order','correct_example':'Tier-1\x20Service\x20(allocators:\x20platform\x2025%,\x20agency\x2075%)\x20→\x20agency\x20creates\x20Tier-2\x20Service\x20(allocators:\x20operator1\x2050%,\x20operator2\x2050%)\x20→\x20each\x20tier\x20is\x20independent'},{'object_type':'ALL','operation':'transfer','category':'fund_flow','mistake':'Not\x20understanding\x20that\x20the\x20signing\x20account\x20determines\x20whose\x20assets\x20are\x20used.\x20The\x20env.account\x20field\x20in\x20every\x20operation\x20specifies\x20the\x20signer\x20—\x20whoever\x20signs\x20the\x20transaction,\x20their\x20assets\x20are\x20used.\x20The\x20name_or_address_from\x20field\x20in\x20account_operation.transfer\x20is\x20OPTIONAL\x20—\x20if\x20omitted,\x20the\x20default\x20account\x20(env.account)\x20signs\x20and\x20its\x20assets\x20are\x20transferred.','correct_usage':'SIGNING\x20ACCOUNT\x20RULE:\x20(1)\x20Every\x20operation\x20has\x20env.account\x20—\x20this\x20is\x20the\x20signer.\x20(2)\x20For\x20transfers:\x20if\x20name_or_address_from\x20is\x20omitted,\x20the\x20env.account\x27s\x20assets\x20are\x20used.\x20(3)\x20To\x20transfer\x20from\x20a\x20DIFFERENT\x20account,\x20set\x20name_or_address_from\x20to\x20that\x20account\x27s\x20name/address.\x20(4)\x20The\x20signer\x20(env.account)\x20must\x20have\x20permission\x20to\x20spend\x20the\x20from\x20account\x27s\x20assets\x20(or\x20be\x20the\x20same\x20account).\x20(5)\x20This\x20is\x20NOT\x20a\x20limitation\x20—\x20it\x27s\x20how\x20blockchain\x20transactions\x20work:\x20the\x20signer\x20pays\x20gas\x20and\x20authorizes\x20asset\x20movement.','wrong_example':'Thinking\x20transfer\x20requires\x20a\x20special\x20source\x20account\x20field\x20separate\x20from\x20the\x20signing\x20account','correct_example':'env:\x20{account:\x20\x22my_account\x22}\x20→\x20transfer\x20{name_or_address_to:\x20\x22recipient\x22,\x20amount:\x20\x221000000000\x22}\x20→\x20my_account\x20signs\x20and\x20its\x20WOW\x20is\x20transferred'}];function query_common_mistakes(a){if(!a)return COMMON_MISTAKES;return COMMON_MISTAKES['filter'](b=>{if(a['object_type']&&b['object_type']!==a['object_type'])return![];if(a['operation']&&b['operation']!==a['operation'])return![];if(a['category']&&b['category']!==a['category'])return![];return!![];});}const FUNDING_GUIDANCE={'overview':'How\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens.\x20Testnet\x20uses\x20a\x20faucet;\x20mainnet\x20uses\x20the\x20ETH\x20mainnet\x20cross-chain\x20bridge;\x20for\x20the\x20WOW\x20airdrop,\x20go\x20to\x20airdrop.url\x20—\x20that\x20page\x20is\x20the\x20single\x20source\x20of\x20truth\x20for\x20the\x20current\x20round\x27s\x20status,\x20pool,\x20dates\x20and\x20eligibility\x20(details\x20change\x20between\x20rounds\x20and\x20are\x20intentionally\x20not\x20embedded\x20here).','testnet':{'token':'WOW','method':'faucet','faucet_url':'https://faucet.testnet.wowok.net','note':'Claim\x20WOW\x20from\x20the\x20testnet\x20faucet.\x20All\x20merchant\x20and\x20order\x20testing\x20can\x20use\x20WOW\x20as\x20the\x20payment\x20token.'},'mainnet':{'method':'eth_bridge','supported_tokens':['ETH','USDT','USDC','WBTC'],'steps':['Query\x20the\x20active\x20EVM\x20account\x20via\x20bridge_operation\x20(query_active_evm_account).\x20It\x20is\x20auto-generated\x20on\x20first\x20use.','From\x20an\x20external\x20wallet\x20(e.g.\x20MetaMask),\x20transfer\x20ETH\x20/\x20USDT\x20/\x20USDC\x20/\x20WBTC\x20to\x20the\x20active\x20EVM\x20account\x20address\x20on\x20Ethereum\x20mainnet.','Query\x20the\x20active\x20EVM\x20account\x20balance\x20to\x20confirm\x20the\x20funds\x20arrived.','Cross-chain\x20the\x20funds\x20to\x20the\x20WOW\x20mainnet\x20account\x20via\x20bridge_operation\x20(cross_chain_evm_to_wow).']},'airdrop':{'url':'https://wowok.net/airdrop.html','refer_url':'https://wowok.net/refer.html','note':'Open/fetch\x20airdrop.url\x20for\x20live\x20round\x20status,\x20pool\x20size,\x20snapshot\x20schedule\x20and\x20eligibility\x20rules;\x20these\x20change\x20between\x20rounds\x20and\x20are\x20not\x20hardcoded\x20in\x20the\x20SDK/MCP.\x20refer_url\x20is\x20the\x20referral-program\x20page.\x20If\x20the\x20user\x20needs\x20detail\x20beyond\x20the\x20link,\x20fetch\x20the\x20page\x20and\x20summarize\x20it\x20rather\x20than\x20quoting\x20an\x20embedded\x20constant.'},'payment_token':{'testnet_default':'WOW\x20(default\x20gas\x20+\x20payment\x20token)','mainnet_option':'USDT\x20and\x20other\x20stablecoins\x20via\x20the\x20ETH\x20mainnet\x20bridge','migration_note':'When\x20migrating\x20a\x20merchant\x20project\x20from\x20testnet\x20to\x20mainnet,\x20ask\x20whether\x20to\x20switch\x20the\x20payment\x20token\x20from\x20WOW\x20to\x20a\x20stablecoin\x20such\x20as\x20USDT.'}};async function queryProtocolInfo(a){switch(a['info']){case'constants':return{'info':'constants','result':INFO_CONSTANT['constants']};case'built-in\x20permissions':return{'info':'built-in\x20permissions','result':queryPermissions(a['filter']||{})};case'common\x20mistakes':return{'info':'common\x20mistakes','result':query_common_mistakes(a['filter'])};case'guard\x20instructions':return{'info':'guard\x20instructions','result':a108Z(a['filter']||{})};case'current\x20network':return{'info':'current\x20network','result':await Config['Instance']()['network_get']()};case'value\x20types':return{'info':'value\x20types','result':INFO_CONSTANT['value_types']};case'mainnet\x20bridge\x20tokens':return{'info':'mainnet\x20bridge\x20tokens','result':a108az['tokens']};case'funding\x20guidance':return{'info':'funding\x20guidance','result':FUNDING_GUIDANCE};default:throw new Error('Unsupported\x20info\x20type:\x20\x22'+a['info']+'\x22.\x20Valid\x20are:\x20\x22constants\x22,\x20\x22built-in\x20permissions\x22,\x20\x22common\x20mistakes\x22,\x20\x22guard\x20instructions\x22,\x20\x22current\x20network\x22,\x20\x22value\x20types\x22,\x20\x22mainnet\x20bridge\x20tokens\x22,\x20\x22funding\x20guidance\x22');}}function queryPermissions(a){return query_permissions(a);}const query_transaction_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_transaction(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},resolveObjectIdOrThrow=async a=>{const b=(await LocalMark['Instance']()['get_many_address']([a]))[0x0];if(!b)a108d('invalid\x20parameter','object\x20\x27'+a+'\x27\x20not\x20found\x20—\x20it\x20resolves\x20to\x20no\x20local\x20account,\x20LocalMark\x20name,\x20or\x20valid\x20object\x20id');if(a108G(a108b(b))==='unknown')a108d('invalid\x20address','object\x20\x27'+b+'\x27\x20first\x20byte\x20matches\x20no\x20on-chain\x20address\x20kind\x20(user\x200x00\x20/\x20object\x200x10..=0x24|0xf1)\x20—\x20it\x20cannot\x20exist\x20on-chain');return b;},query_transaction=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['digest'];if(!a108a(c))a108d('invalid\x20parameter','query_transaction.digest\x20\x27'+c+'\x27\x20is\x20not\x20a\x20valid\x20transaction\x20digest\x20(32-byte\x20base58)');const d=await Cache['read'](['tx','detail',c,b],async()=>{const e=parseTransactionBlock(await new a108c({'url':a108k(b),'network':b})['getTransactionBlock']({'digest':c,'options':{'showEffects':!![],'showEvents':!![],'showBalanceChanges':!![],'showInput':!![],'showObjectChanges':!![]}}));return{'expire':Cache['DefaultExpireTime']('long'),'data':e};},a['no_cache']);if(d)return d['data']['cache_expire']=d['expire'],d['data'];},query_object_history_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_object_history(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_object_history=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await resolveObjectIdOrThrow(a['object']),d=a['cursor']??'',e=(a['limit']??0x14)['toString'](),f=a['order']??'descending',g=await Cache['read'](['tx','obj_history_v2',c,d,e,f,b],async()=>{const h=await fetchObjectProvenanceHistory(b,c,a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g)return g['data']['cache_expire']=g['expire'],g['data'];},query_object_last_updated=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await resolveObjectIdOrThrow(a['object']);try{const f=new a108c({'url':a108k(b),'network':b});let g=a['previous_transaction']??null;if(!g){const h=await f['getObject']({'objectId':c,'options':{'showPreviousTransaction':!![]}});g=h?.['data']?.['previousTransaction']??h?.['previousTransaction']??null;}if(g){const i=(await Cache['read'](['tx','tx_ts',g],async()=>{const j=await f['getTransactionBlock']({'digest':g,'options':{'showInput':!![]}}),k=j?.['timestampMs']??j?.['data']?.['timestampMs'];if(!k)return void 0x0;return{'expire':Cache['DefaultExpireTime']('immutable'),'data':{'tx':{'object':c,'timestamp_ms':String(k),'digest':g,'sender':j?.['transaction']?.['data']?.['sender']??j?.['sender']??void 0x0}}};},a['no_cache']))?.['data']?.['tx'];if(i)return{...i,'object':c};}}catch(j){}const d=(await query_object_history({'object':c,'order':'descending','limit':0x1,'network':a['network'],'no_cache':a['no_cache']}))?.['transactions']?.[0x0];if(!d)return{'object':c};return{'object':c,'timestamp_ms':d['timestamp_ms'],'digest':d['digest'],'sender':d['sender']};},query_address_activity_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_address_activity(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_address_activity=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await a108am(a['name_or_address']);if(!c)a108d('invalid\x20parameter','address_activity.name_or_address\x20\x27'+a['name_or_address']+'\x27\x20not\x20found\x20—\x20no\x20local\x20account\x20or\x20LocalMark\x20name\x20resolves\x20to\x20it');const d=a['direction']??'sent';if(a108G(a108b(c))==='object')a108d('invalid\x20parameter','\x27'+a['name_or_address']+'\x27\x20('+c+')\x20is\x20an\x20OBJECT\x20address\x20—\x20objects\x20neither\x20send\x20transactions\x20nor\x20receive\x20address-owned\x20transfers,\x20so\x20'+d+'\x20activity\x20is\x20always\x20empty.\x20Use\x20query_object_history\x20for\x20the\x20object\x27s\x20tx\x20provenance\x20instead.');const e=a['cursor']??'',f=(a['limit']??0x14)['toString'](),g=a['order']??'descending',h=await Cache['read'](['tx','addr_activity',d,c,e,f,g,b],async()=>{const i=await fetchTransactionHistory(b,d==='received'?{'ToAddress':c}:{'FromAddress':c},a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':i};},a['no_cache']);if(h)return h['data']['cache_expire']=h['expire'],h['data'];},fetchTransactionHistory=async(a,b,c,d,e)=>{const f=await new a108c({'url':a108k(a),'network':a})['queryTransactionBlocks']({'filter':b,'options':{'showEffects':!![],'showInput':!![]},'cursor':c??void 0x0,'limit':Math['min'](d,0x32),'order':e});return{'transactions':(f?.['data']??[])['map'](g=>{const h=extractObjectsFromEffects(g?.['effects']);return{'digest':g?.['digest']??'','status':g?.['effects']?.['status']?.['status']==='success'?'success':'failed','timestamp_ms':g?.['timestampMs'],'checkpoint':g?.['checkpoint']!==void 0x0&&g?.['checkpoint']!==null?String(g['checkpoint']):void 0x0,'sender':g?.['transaction']?.['data']?.['sender'],'kind':g?.['transaction']?.['data']?.['transaction']?.['kind']?Object['keys'](g['transaction']['data']['transaction'])[0x0]:void 0x0,'gas_used':g?.['effects']?.['gasUsed']?.['computationCost']?''+g['effects']['gasUsed']['computationCost']:void 0x0,'objects_touched':h,'has_object_changes':h['length']>0x0};}),'next_cursor':f?.['nextCursor']??null,'has_next_page':f?.['hasNextPage']??![]};},mergeHistoryPages=(a,b,c)=>{const d=new Map();for(const i of a)for(const j of i['transactions'])if(j['digest']&&!d['has'](j['digest']))d['set'](j['digest'],j);const e=k=>{const l=k['checkpoint']??k['timestamp_ms'];if(l===void 0x0||l===null)return null;try{return BigInt(l);}catch{return null;}},f=[...d['values']()]['sort']((k,l)=>{const m=e(k),n=e(l);let o;if(m!==null&&n!==null)o=m<n?-0x1:m>n?0x1:0x0;else{if(m===null&&n===null)o=0x0;else o=m===null?0x1:-0x1;}if(o===0x0)o=k['digest']<l['digest']?-0x1:k['digest']>l['digest']?0x1:0x0;return b==='ascending'?o:-o;}),g=a['some'](k=>k['has_next_page'])||f['length']>c,h=f['slice'](0x0,c);return{'transactions':h,'next_cursor':g&&h['length']>0x0?h[h['length']-0x1]['digest']:null,'has_next_page':g};},fetchObjectProvenanceHistory=async(a,b,c,d,e)=>{const f=Math['min'](d,0x32),[g,h]=await Promise['all']([fetchTransactionHistory(a,{'ChangedObject':b},c,f,e),fetchTransactionHistory(a,{'InputObject':b},c,f,e)]);return mergeHistoryPages([g,h],e,f);},parseTransactionBlock=a=>{const b=a?.['effects'],c=b?.['status']?.['status']==='success'?'success':'failed',d=c==='failed'?b?.['status']?.['error']:void 0x0,e=(a?.['objectChanges']??[])['map'](j=>({'id':j?.['objectId']??'','type':j?.['type']??'mutated','object_type':j?.['objectType'],'sender':j?.['sender'],'version':j?.['version'],'previous_version':j?.['previousVersion'],'digest':j?.['digest']})),f=(a?.['balanceChanges']??[])['map'](j=>({'owner':typeof j?.['owner']==='string'?j['owner']:j?.['owner']?.['AddressOwner']??'','coin_type':j?.['coinType']??'','amount':j?.['amount']??'0'})),g=(a?.['events']??[])['map'](j=>({'type':j?.['type']??'','package_id':j?.['packageId'],'module':j?.['transactionModule'],'sender':j?.['sender'],'parsed_json':j?.['parsedJson'],'bcs':j?.['bcs']})),h=b?.['gasUsed'],i=h?''+(BigInt(h['computationCost']??0x0)+BigInt(h['storageCost']??0x0)-BigInt(h['storageRebate']??0x0)):void 0x0;return{'digest':a?.['digest']??'','status':c,'error':d,'timestamp_ms':a?.['timestampMs'],'sender':a?.['transaction']?.['data']?.['sender'],'gas_used':i,'gas_budget':a?.['transaction']?.['data']?.['gasData']?.['budget']?.['toString'](),'kind':a?.['transaction']?.['data']?.['transaction']?Object['keys'](a['transaction']['data']['transaction'])[0x0]:void 0x0,'object_changes':e,'balance_changes':f,'event_count':g['length'],'events':g,'epoch':b?.['epoch'],'is_system_tx':a?.['transaction']?.['data']?.['transaction']?.['kind']==='ConsensusCommitPrologue'};},extractObjectsFromEffects=a=>{if(!a)return[];const b=[],c=d=>{if(Array['isArray'](d)){for(const e of d)if(e?.['reference']?.['objectId'])b['push'](e['reference']['objectId']);else{if(e?.['objectId'])b['push'](e['objectId']);}}};return c(a['created']),c(a['mutated']),c(a['deleted']),c(a['wrapped']),c(a['unwrapped']),[...new Set(b)];},query_checkpoint_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_checkpoint(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_checkpoint=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=(''+(a['block']??''))['trim']();if(!c)return;const d=await Cache['read'](['tx','checkpoint',c,b],async()=>{const e=await new a108c({'url':a108k(b),'network':b})['getCheckpoint']({'id':c});return{'expire':Cache['DefaultExpireTime']('immutable'),'data':e};},a['no_cache']);return d?d['data']:void 0x0;};export{AFFILIATION_TABLES_BY_TYPE,AFFILIATION_TABLE_META,a108af as AllocationMode,a108v as AmountType,a108ad as ArbStatus,COMMON_MISTAKES,a108L as DiscountType,a108N as ENTITY_ORDER_ROLE_AGENT,a108Q as ENTITY_ORDER_ROLE_OWNER,FUNDING_GUIDANCE,INFO_CONSTANT,a108B as IdFrom,a108F as MAX_OBJECTS_PER_QUERY,a108J as OBJECT_TYPE_DEFINITIONS,a108l as ObjectType,a108T as TreasuryOp,a108ay as WitnessSourceType,a108x as WitnessTargetType,a108X as data2object,a108E as getMoveNameFromNumber,a108W as getMoveNameFromObjectType,a108Y as getNumberFromMoveName,a108D as getNumberFromObjectType,a108I as getNumbersFromObjectTypes,a108ao as getObjectTypeDefinition,a108H as getObjectTypeDefinitionFromNumber,a108a1 as getObjectTypeFromMoveName,a108a0 as getObjectTypeFromNumber,a108a2 as getObjectTypesFromNumbers,a108S as idFromToString,a108u as isValidIdFromInput,a108a8 as numberToObjectType,a108ar as objectTypeFromAddress,a108ak as objectTypeToNumber,a108ap as parseIdFrom,parseWowokEventItem,a108aC as queryObjectWithType,a108aB as queryObjectsWithType,a108ac as queryOrdersByUser,queryPermissions,queryProtocolInfo,a108a4 as queryTableItem_AddressMark,a108al as queryTableItem_DemandPresenter,a108aq as queryTableItem_EntityContact,a108a6 as queryTableItem_EntityLinker,a108ai as queryTableItem_EntityOrder,a108at as queryTableItem_EntityPermission,a108a7 as queryTableItem_EntityRegistrar,a108a9 as queryTableItem_MachineNode,a108an as queryTableItem_ObjectLinkerCore,a108aj as queryTableItem_ObjectLinkerTx,a108ab as queryTableItem_PermissionPerm,a108aa as queryTableItem_ProgressHistory,a108a3 as queryTableItem_RepositoryData,a108au as queryTableItem_RewardRecord,a108ax as queryTableItem_ServiceOrders,a108a5 as queryTableItem_TreasuryHistory,query_address_activity,query_address_activity_json,a108aw as query_address_profile,a108U as query_address_profiles,query_affiliations,a108y as query_arbs,query_checkpoint,query_checkpoint_json,query_common_mistakes,a108av as query_demands,query_events,query_events_json,query_object_history,query_object_history_json,query_object_last_updated,a108V as query_object_token_type,a108A as query_objects,a108z as query_objects_json,a108P as query_personal,a108aA as query_received,query_serviceContext,a108ag as query_services,a108w as query_shared_objects,a108ae as query_shared_objects_json,a108M as query_table,a108O as query_tableItem,a108R as query_table_json,query_transaction,query_transaction_json,a108C as raw2type,a108G as wowAddressKind,a108K as wowObjectTypeNameForAddress};
1
+ import{a as a108a,u as a108b}from'../../wow-types-DctQuD2J.mjs';import{t as a108c}from'../../client-DpD6Md8O.mjs';import{o as a108d}from'../../exception-D2n4LV8F.mjs';import{f as a108e,l as a108f,m as a108g,p as a108h,s as a108i,u as a108j}from'../../constants-BGKNJZYa.mjs';import{a as a108k}from'../../network-UpRYD8EM.mjs';import{F as a108l,I as a108m,K as a108n,c as a108o,l as a108p,n as a108q,q as a108r,u as a108s,z as a108t}from'../../common-DC9BAaSg.mjs';import{Cache}from'../local/cache.mjs';import{Config}from'../local/config.mjs';import{LocalMark}from'../local/local.mjs';import{$ as a108u,A as a108v,At as a108w,B as a108x,Ct as a108y,Dt as a108z,Et as a108A,F as a108B,Ft as a108C,G as a108D,H as a108E,I as a108F,It as a108G,J as a108H,K as a108I,L as a108J,Lt as a108K,M as a108L,Mt as a108M,N as a108N,Nt as a108O,Ot as a108P,P as a108Q,Pt as a108R,Q as a108S,R as a108T,St as a108U,Tt as a108V,U as a108W,V as a108X,W as a108Y,Wn as a108Z,X as a108a0,Y as a108a1,Z as a108a2,_t as a108a3,at as a108a4,bt as a108a5,ct as a108a6,dt as a108a7,et as a108a8,ft as a108a9,gt as a108aa,ht as a108ab,it as a108ac,j as a108ad,jt as a108ae,k as a108af,kt as a108ag,li as a108ah,lt as a108ai,mt as a108aj,nt as a108ak,ot as a108al,p as a108am,pt as a108an,q as a108ao,rt as a108ap,st as a108aq,tt as a108ar,ui as a108as,ut as a108at,vt as a108au,wt as a108av,xt as a108aw,yt as a108ax,z as a108ay}from'../../util-DY1mf03_.mjs';import{o as a108az}from'../../fund-approval-D9vwQz49.mjs';import{t as a108aA}from'../../received-DSdkGRml.mjs';import{query_permissions}from'../call/permission.mjs';import{n as a108aB,t as a108aC}from'../../util-CPxv4eLl.mjs';const AFFILIATION_TABLE_META={'object_linker_core':{'address':'0xaae','retention':'lossless','note':'Fixed\x20bindings:\x20who\x20is\x20attached\x20to\x20this\x20target.'},'object_linker_tx':{'address':'0xaaf','retention':'fifo','note':'Recent\x20tx\x20touches:\x20orders/progress/payments/guards\x20that\x20targeted\x20this\x20object.'},'entity_order':{'address':'0xaa8','retention':'membership','note':'Orders\x20the\x20account\x20participates\x20in\x20(role\x20bitmask\x201=owner,\x202=agent).'},'entity_permission':{'address':'0xaad','retention':'membership','note':'Permissions\x20the\x20account\x20holds\x20a\x20role\x20in\x20(1=owner,\x202=admin,\x204=entity).'},'entity_contact':{'address':'0xaa9','retention':'membership','note':'Customer-service\x20Contacts\x20the\x20account\x20is\x20a\x20member\x20of.'},'registrar':{'address':'0xaaa','retention':'membership','note':'Like/dislike/favor\x20votes\x20the\x20account\x20received.'},'entity':{'address':'0xaab','retention':'membership','note':'Account\x20identity\x20records.'}},CORE_KEY_TYPES=new Set(['Permission','Contact','Reward','Arbitration','Repository','Machine','Guard']),AFFILIATION_TABLES_BY_TYPE=((()=>{const a={};for(const b of Object['values'](a108l))a[b]=['object_linker_tx'];for(const c of Object['values'](a108l))if(CORE_KEY_TYPES['has'](c))a[c]=['object_linker_core','object_linker_tx'];return a['user']=['object_linker_tx','entity_order','entity_permission','entity_contact','registrar','entity'],a;})()),query_affiliations=async a=>{const [b,c]=await Promise['all']([Config['Instance']()['network_get'](a['network']),a108am(typeof a['address']==='string'?{'name_or_address':a['address']}:a['address'])]);if(!c)a108d('invalid\x20parameter','query_affiliations.address\x20not\x20found');const d=a108ar(c),e=AFFILIATION_TABLES_BY_TYPE[d??'user']??[],f={'address':c,'no_cache':a['no_cache'],'network':b},[g,h,j,k,l,m,n]=await Promise['all']([e['includes']('object_linker_core')?a108an(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('object_linker_tx')?a108aj(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_order')?a108ai(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_permission')?a108at(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity_contact')?a108aq(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('registrar')?a108a6(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0),e['includes']('entity')?a108a7(f)['catch'](()=>void 0x0):Promise['resolve'](void 0x0)]),o=[];for(const p of g?.['items']??[])o['push']({'table':'object_linker_core','who':p['who'],'time':p['time']});for(const q of h?.['items']??[])o['push']({'table':'object_linker_tx','who':q['who'],'time':q['time']});for(const r of j?.['items']??[])o['push']({'table':'entity_order','who':r['order'],'time':r['time'],'role':r['role']});for(const s of k?.['items']??[])o['push']({'table':'entity_permission','who':s['permission'],'time':s['time'],'role':s['role']});for(const t of l?.['items']??[])o['push']({'table':'entity_contact','who':t['contact'],'time':t['time']});for(const u of m?.['votes']??[])o['push']({'table':'registrar','who':u['who'],'time':u['time']});return{'address':c,'object_type':d,'tables_queried':e,'entries':o,'raw':{'reverse_core':g,'reverse_tx':h,'order_membership':j,'permission_membership':k,'contact_membership':l,'registrar':m,'entity':n}};},isValidObjectAddr=a=>typeof a==='string'&&a['length']>0x2&&a!=='0x0',MAX_NODE_LIST_PAGES=0x5,query_serviceContext=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a108as(b)?'graphql':'json-rpc';let d;if(typeof a['service']==='string'){const j=(await a108A({'objects':[a['service']],'no_cache':a['no_cache'],'network':b}))['objects']?.['find'](k=>k['type']==='Service');if(!j)a108d('fail','query_serviceContext:\x20service\x20'+a['service']+'\x20not\x20found');d=j;}else d=a['service'];const e=new Map(),f=(k,l)=>{if(isValidObjectAddr(l))e['set'](k,l);};f('machine',d['machine']),f('buy_guard',d['buy_guard']),f('permission',d['permission']),f('um',d['um']);for(const k of d['arbitrations']??[])f('arbitrations:'+k,k);for(const l of d['rewards']??[])f('rewards:'+l,l);for(const m of d['repositories']??[])f('repositories:'+m,m);for(const n of d['order_allocators']?.['allocators']??[])f('allocator_guard:'+n['guard'],n['guard']);const g={};if(e['size']>0x0){const o=await a108A({'objects':[...e['values']()],'no_cache':a['no_cache'],'network':b});for(const p of o['objects']??[])if(p?.['object'])g[p['object']]=p;}const h=q=>q?g[q]:void 0x0;let i;if(a['include_machine_nodes']&&isValidObjectAddr(d['machine']))i=await fetchMachineNodes(d['machine'],a);return{'service':d,'machine':h(d['machine']),'buy_guard':h(d['buy_guard']),'permission':h(d['permission']),'allocator_guards':(d['order_allocators']?.['allocators']??[])['map'](q=>h(q['guard']))['filter'](q=>q?.['type']==='Guard'),'referenced':g,'machine_nodes':i,'transport':c};},fetchMachineNodes=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=[];let e;for(let f=0x0;f<MAX_NODE_LIST_PAGES;f++){let g;try{g=await a108M({'parent':a,'cursor':e,'limit':null,'no_cache':b['no_cache'],'network':c});}catch{break;}if(!g?.['items']?.['length'])break;for(const h of g['items'])if(h['object'])d['push'](h['object']);e=g['nextCursor'];if(!e||!g['hasNextPage'])break;}if(d['length']===0x0)return[];return((await a108A({'objects':d,'no_cache':b['no_cache'],'network':c}))['objects']??[])['filter'](i=>i?.['type']==='TableItem_MachineNode');},query_events_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_events(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_events=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['cursor']?a['cursor']['eventSeq']+':'+a['cursor']['txDigest']:'',e=a['limit']?.['toString']()??'',f=a['order']??'',g=await Cache['read'](['event',a['type'],c,e,f,b],async()=>{const h=await events(a['type'],a);return{'expire':Cache['DefaultExpireTime'](!!a['cursor']),'data':h};},a['no_cache']);if(g){const h=g['data'];return h['cache_expire']=g['expire'],h;}},events=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=new a108c({'url':a108k(c),'network':c}),e=a==='ArbEvent'||a==='NewOrderEvent'||a==='ProgressEvent'||a==='DemandPresentEvent'||a==='DemandFeedbackEvent'||a==='NewEntityEvent'||a==='ServiceEvent'||a==='ArbitrationEvent'||a==='DemandChangedEvent'||a==='VoteEvent'||a==='FeedbackEvent'||a==='AllocationEvent'||a==='TreasuryEvent'||a==='RewardClaimEvent'||a==='RewardFundEvent'||a==='NewPaymentEvent';let f;if(e)f='0x2'+{'ArbEvent':'::arb::ArbEvent','NewOrderEvent':'::order::NewOrderEvent','ProgressEvent':'::progress::ProgressEvent','DemandPresentEvent':'::demand::PresentEvent','DemandFeedbackEvent':'::demand::DemandEvent','NewEntityEvent':'::registrar::NewEntityEvent','ServiceEvent':'::service::ServiceEvent','ArbitrationEvent':'::arbitration::ArbitrationEvent','DemandChangedEvent':'::demand::DemandChangedEvent','VoteEvent':'::arb::VoteEvent','FeedbackEvent':'::arb::FeedbackEvent','AllocationEvent':'::allocation::AllocationEvent','TreasuryEvent':'::treasury::TreasuryEvent','RewardClaimEvent':'::reward::RewardClaimEvent','RewardFundEvent':'::reward::RewardFundEvent','NewPaymentEvent':'::payment::NewPaymentEvent'}[a];else f=a;const g=await d['queryEvents']({'query':{'MoveEventType':f},'cursor':b['cursor'],'limit':b['limit'],'order':b['order']==='descending'?'descending':'ascending'});return{'data':g?.['data']?.['map'](parseWowokEventItem),'hasNextPage':g?.['hasNextPage'],'nextCursor':g?.['nextCursor']};},parseWowokEventItem=a=>{if(a?.['packageId']!==void 0x0?a108ah(a['packageId'])==='0x2':a?.['type']?.['startsWith']('0x2::')){if(a?.['type']?.['includes']('::order::NewOrderEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewOrderEvent','order':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service'],'progress':a?.['parsedJson']?.['progress']?.['some']??null,'amount':a?.['parsedJson']?.['amount'],'discount':a?.['parsedJson']?.['discount']?.['some']??null,'allocation':a?.['parsedJson']?.['allocation']?.['some']??null};else{if(a?.['type']?.['includes']('::demand::PresentEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandPresentEvent','demand':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service']?.['some']??null,'recommend':a?.['parsedJson']?.['tips']};else{if(a?.['type']?.['includes']('::demand::DemandEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandFeedbackEvent','demand':a?.['parsedJson']?.['object'],'service':a?.['parsedJson']?.['service']?.['some']??null,'feedback':a?.['parsedJson']?.['feedback'],'acceptance_score':a?.['parsedJson']?.['acceptance_score']?.['some']??null};else{if(a?.['type']?.['includes']('::progress::ProgressEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ProgressEvent','progress':a?.['parsedJson']?.['object'],'machine':a?.['parsedJson']?.['machine'],'task':a?.['parsedJson']?.['task'],'node':a?.['parsedJson']?.['node'],'forward':a?.['parsedJson']?.['forward'],'hold':a?.['parsedJson']?.['hold']};else{if(a?.['type']?.['includes']('::arb::ArbEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ArbEvent','arb':a?.['parsedJson']?.['object'],'arbitration':a?.['parsedJson']?.['arbitration'],'order':a?.['parsedJson']?.['order'],'status':a?.['parsedJson']?.['status'],'indemnity_amount':a?.['parsedJson']?.['indemnity_amount']?.['some']??null,'compensation_time':a?.['parsedJson']?.['compensation_time']?.['some']??null};else{if(a?.['type']?.['includes']('::service::ServiceEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ServiceEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description']};else{if(a?.['type']?.['includes']('::arbitration::ArbitrationEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'ArbitrationEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description'],'fee':a?.['parsedJson']?.['fee'],'voting_guard_count':a?.['parsedJson']?.['voting_guard_count']};else{if(a?.['type']?.['includes']('::demand::DemandChangedEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'DemandChangedEvent','object':a?.['parsedJson']?.['object'],'location':a?.['parsedJson']?.['location'],'description':a?.['parsedJson']?.['description'],'rewards':a?.['parsedJson']?.['rewards']};else{if(a?.['type']?.['includes']('::arb::VoteEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'VoteEvent','object':a?.['parsedJson']?.['object'],'voter':a?.['parsedJson']?.['voter'],'agrees':a?.['parsedJson']?.['agrees'],'weight':a?.['parsedJson']?.['weight']};else{if(a?.['type']?.['includes']('::arb::FeedbackEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'FeedbackEvent','object':a?.['parsedJson']?.['object'],'feedback':a?.['parsedJson']?.['feedback']};else{if(a?.['type']?.['includes']('::registrar::NewEntityEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewEntityEvent','resource':a?.['parsedJson']?.['resource'],'address':a?.['sender'],'referrer':a?.['parsedJson']?.['referrer']?.['some']??null};else{if(a?.['type']?.['includes']('::allocation::AllocationEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'AllocationEvent','object':a?.['parsedJson']?.['object'],'payment':a?.['parsedJson']?.['payment'],'guard':a?.['parsedJson']?.['guard'],'amount':a?.['parsedJson']?.['amount']};else{if(a?.['type']?.['includes']('::treasury::TreasuryEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'TreasuryEvent','object':a?.['parsedJson']?.['object'],'op':a?.['parsedJson']?.['op'],'payment':a?.['parsedJson']?.['payment'],'amount':a?.['parsedJson']?.['amount'],'external_guard':a?.['parsedJson']?.['external_guard']?.['some']??null,'store_from_id':a?.['parsedJson']?.['store_from_id']?.['some']??null};else{if(a?.['type']?.['includes']('::reward::RewardClaimEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'RewardClaimEvent','object':a?.['parsedJson']?.['object'],'guard':a?.['parsedJson']?.['guard'],'recipient':a?.['parsedJson']?.['recipient'],'amount':a?.['parsedJson']?.['amount'],'total':a?.['parsedJson']?.['total'],'balance_left':a?.['parsedJson']?.['balance_left'],'store_from_id':a?.['parsedJson']?.['store_from_id']?.['some']??null};else{if(a?.['type']?.['includes']('::reward::RewardFundEvent'))return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'RewardFundEvent','object':a?.['parsedJson']?.['object'],'amount':a?.['parsedJson']?.['amount'],'balance':a?.['parsedJson']?.['balance'],'from_payment':a?.['parsedJson']?.['from_payment']?.['some']??null};else{if(a?.['type']?.['includes']('::payment::NewPaymentEvent')){const b=a?.['parsedJson']??{};return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':'NewPaymentEvent','object':b['object'],'amount':b['amount'],'from_object':b['from_object']?.['some']??null,'info':{'for_object':b['info']?.['for_object']?.['some']??null,'for_guard':b['info']?.['for_guard']?.['some']??null,'remark':b['info']?.['remark']??'','index':b['info']?.['index']??0x0},'record':(b['record']??[])['map'](c=>({'recipient':c?.['recipient'],'amount':c?.['amount']}))};}}}}}}}}}}}}}}}}}return{'id':a?.['id'],'time':a?.['timestampMs'],'type_raw':a?.['type'],'sender':a?.['sender'],'type':a?.['type'],'parsedJson_raw':a?.['parsedJson']};},INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a108s,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a108p,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a108t,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a108o,'description':'Entity\x20registrar\x20ID'},{'name':'Entity\x20Contact\x20ID','value':a108i,'description':'Entity\x20contact\x20system\x20object\x20ID'},{'name':'Messenger\x20ID','value':a108e,'description':'Encrypted\x20messenger\x20system\x20object\x20ID'},{'name':'Entity\x20Permission\x20ID','value':a108j,'description':'Entity\x20permission\x20system\x20object\x20ID'},{'name':'Entity\x20Order\x20ID','value':a108f,'description':'Global\x20entity\x20->\x20orders\x20reverse\x20index\x20system\x20object\x20ID'},{'name':'Object\x20Linker\x20Core\x20ID','value':a108h,'description':'Object\x20linker\x20core\x20system\x20object\x20ID'},{'name':'Object\x20Linker\x20Tx\x20ID','value':a108g,'description':'Object\x20linker\x20tx\x20system\x20object\x20ID'}],'value_types':Object['entries'](a108n)['filter'](([a,b])=>isNaN(Number(a))&&a!=='Value')['map'](([a,b])=>({'name':a,'value':a,'description':'Value\x20type\x20'+a+'\x20=\x20'+b})),'object_types':Object['values'](a108l)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a108m)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a108q)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a108r)['map'](a=>({'name':a,'value':a,'description':'Guard\x20witness\x20'+a}))},COMMON_MISTAKES=[{'object_type':'Service','operation':'compensation_fund_add','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20or\x20{amount:\x20...,\x20type:\x20\x27WOW\x27}\x20instead\x20of\x20{balance:\x20...}.\x20The\x20correct\x20field\x20name\x20is\x20\x27balance\x27,\x20and\x20the\x20token\x20type\x20is\x20inferred\x20from\x20the\x20Service\x27s\x20type_parameter\x20(generic\x20type).','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Service\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals\x20(10^9\x20=\x201\x20token),\x20USDC\x20uses\x206\x20decimals\x20(10^6\x20=\x201\x20token).','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22amount\x22:\x201000000000,\x20\x22type\x22:\x20\x22WOW\x22}}','correct_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(1\x20WOW\x20or\x201\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Service','operation':'compensation_fund_add','category':'workflow','mistake':'Calling\x20compensation_fund_add\x20without\x20first\x20granting\x20permission\x20315\x20(SERVICE_COMPENSATION_FUND_DEPOSIT)\x20to\x20the\x20calling\x20account.\x20The\x20Move\x20layer\x20will\x20reject\x20with\x20\x27Missing\x20permissions\x20315\x27.','correct_usage':'Grant\x20permission\x20315\x20to\x20the\x20funder\x20account\x20via\x20permission.table\x20{op:\x20\x27add\x20perm\x20by\x20index\x27,\x20index:\x20315,\x20entity:\x20[funder_account]}\x20BEFORE\x20calling\x20compensation_fund_add.','wrong_example':'{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}\x20(without\x20permission\x20315\x20granted)','correct_example':'Step\x201:\x20permission.table\x20{op:\x20\x22add\x20perm\x20by\x20index\x22,\x20index:\x20315,\x20entity:\x20[\x22funder\x22]}\x20→\x20Step\x202:\x20{\x22compensation_fund_add\x22:\x20{\x22balance\x22:\x201000000000}}'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20The\x20field\x20is\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Value\x20in\x20milliseconds.\x2086400000\x20=\x201\x20day,\x202592000000\x20=\x2030\x20days\x20(default),\x207776000000\x20=\x2090\x20days.','wrong_example':'{\x22setting_lock_duration_add\x22:\x202592000}\x20(30\x20days\x20in\x20SECONDS\x20—\x20actually\x20only\x2025.92\x20seconds!)','correct_example':'{\x22setting_lock_duration_add\x22:\x202592000000}\x20(30\x20days\x20in\x20milliseconds)'},{'object_type':'Service','operation':'setting_lock_duration_add','category':'value_range','mistake':'Expecting\x20the\x20default\x20to\x20be\x2090\x20days.\x20The\x20actual\x20default\x20(DEFAULT_LOCK_DURATION)\x20is\x2030\x20days\x20(2592000000\x20ms).\x20This\x20is\x20the\x20value\x20set\x20when\x20a\x20Service\x20is\x20created\x20without\x20explicitly\x20setting\x20setting_lock_duration_add.','correct_usage':'If\x20you\x20need\x2090\x20days,\x20explicitly\x20set\x20setting_lock_duration_add\x20to\x207776000000\x20(90\x20days\x20in\x20ms).\x20Note:\x20setting_lock_duration_add\x20is\x20ADDITIVE\x20—\x20it\x20only\x20increases\x20the\x20duration.','wrong_example':'Creating\x20a\x20Service\x20and\x20expecting\x20setting_lock_duration\x20=\x207776000000\x20(90\x20days)\x20without\x20setting\x20setting_lock_duration_add.','correct_example':'{\x22setting_lock_duration_add\x22:\x207776000000}\x20(90\x20days\x20in\x20ms)\x20—\x20set\x20during\x20Service\x20creation.'},{'object_type':'Service','operation':'order_allocators','category':'workflow','mistake':'Setting\x20order_allocators\x20AFTER\x20publish.\x20order_allocators\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20order_allocators\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).\x20Phase\x202\x20(publish=true)\x20only\x20flips\x20the\x20publish\x20flag.','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20order_allocators\x20(FAILS:\x20assert!(!bPublished))','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20order_allocators\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Service','operation':'machine','category':'workflow','mistake':'Setting\x20machine\x20AFTER\x20publish.\x20machine\x20is\x20L1\x20immutable\x20after\x20publish\x20(Move:\x20assert!(!bPublished)).\x20It\x20MUST\x20be\x20set\x20BEFORE\x20publish=true.','correct_usage':'Set\x20machine\x20in\x20Phase\x201\x20(Service\x20creation,\x20before\x20publish).','wrong_example':'Step\x201:\x20create\x20+\x20publish\x20Service\x20→\x20Step\x202:\x20set\x20machine\x20(FAILS)','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish)\x20+\x20set\x20machine\x20→\x20Step\x202:\x20publish=true'},{'object_type':'Arbitration','operation':'voting_deadline','category':'unit','mistake':'Passing\x20seconds\x20instead\x20of\x20milliseconds.\x20voting_deadline\x20is\x20a\x20Unix\x20timestamp\x20in\x20MILLISECONDS,\x20not\x20seconds.\x20Multiply\x20seconds\x20by\x201000.','correct_usage':'Unix\x20timestamp\x20in\x20milliseconds.\x20Use\x20Date.now()\x20+\x20<duration_ms>\x20for\x20a\x20future\x20deadline.\x20Example:\x20Date.now()\x20+\x20259200000\x20for\x203\x20days.','wrong_example':'{\x22voting_deadline\x22:\x201785190000}\x20(seconds\x20—\x20this\x20is\x20in\x202026-05\x20but\x20in\x20seconds,\x20which\x20is\x20actually\x201970-01-21)','correct_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(milliseconds\x20—\x20correct\x20Unix\x20timestamp\x20in\x20ms)'},{'object_type':'Arbitration','operation':'voting_deadline','category':'timing','mistake':'Setting\x20voting_deadline\x20to\x20a\x20past\x20time.\x20The\x20deadline\x20MUST\x20be\x20in\x20the\x20future\x20(recommended:\x20now\x20+\x20at\x20least\x2086400000\x20ms\x20=\x2024\x20hours).\x20Past\x20deadlines\x20prevent\x20voting.','correct_usage':'Use\x20Date.now()\x20+\x20<duration_ms>.\x20Minimum\x20recommended:\x2086400000\x20ms\x20(24\x20hours).\x203\x20days\x20=\x20259200000\x20ms.','wrong_example':'{\x22voting_deadline\x22:\x201785190000000}\x20(if\x20this\x20is\x20in\x20the\x20past,\x20voting\x20will\x20fail)','correct_example':'{\x22voting_deadline\x22:\x20Date.now()\x20+\x20259200000}\x20(3\x20days\x20from\x20now)'},{'object_type':'Arbitration','operation':'dispute','category':'field_name','mistake':'Using\x20{amount:\x20...}\x20for\x20the\x20dispute\x20fee\x20instead\x20of\x20{balance:\x20...}.\x20The\x20fee\x20field\x20uses\x20CoinParamSchema\x20which\x20requires\x20\x27balance\x27,\x20not\x20\x27amount\x27.','correct_usage':'{balance:\x20<amount_in_smallest_unit>}.\x20The\x20smallest\x20unit\x20depends\x20on\x20the\x20Arbitration\x27s\x20type_parameter:\x20WOW/SUI\x20use\x209\x20decimals,\x20USDC\x20uses\x206\x20decimals.','wrong_example':'{\x22fee\x22:\x20{\x22amount\x22:\x2050000000}}','correct_example':'{\x22fee\x22:\x20{\x22balance\x22:\x2050000000}}\x20(0.05\x20WOW\x20or\x200.05\x20SUI,\x20assuming\x209-decimal\x20token\x20type)'},{'object_type':'Order','operation':'order_new','category':'workflow','mistake':'Not\x20setting\x20namedNewOrder/namedNewAllocation/namedNewProgress\x20when\x20creating\x20an\x20Order.\x20Without\x20names,\x20subsequent\x20operations\x20must\x20use\x20on-chain\x20addresses,\x20which\x20are\x20hard\x20to\x20reference.','correct_usage':'Set\x20namedNewOrder,\x20namedNewAllocation,\x20and\x20namedNewProgress\x20to\x20local\x20names\x20for\x20easy\x20reference\x20in\x20subsequent\x20operations.','wrong_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...}}}\x20(no\x20namedNewOrder\x20—\x20must\x20use\x20address\x20for\x20all\x20subsequent\x20operations)','correct_example':'{\x22order_new\x22:\x20{\x22buy\x22:\x20{...},\x20\x22namedNewOrder\x22:\x20{\x22name\x22:\x20\x22my_order\x22},\x20\x22namedNewAllocation\x22:\x20{\x22name\x22:\x20\x22my_alloc\x22},\x20\x22namedNewProgress\x22:\x20{\x22name\x22:\x20\x22my_progress\x22}}}'},{'object_type':'ALL','operation':'create_with_reference','category':'workflow','mistake':'Creating\x20an\x20object\x20that\x20references\x20another\x20object\x20by\x20name\x20(LocalMark)\x20when\x20the\x20referenced\x20object\x20does\x20not\x20exist\x20yet.\x20This\x20causes\x20BCS\x20serialization\x20error:\x20\x27failed\x20to\x20resolve\x20string:\x20<name>\x27.\x20The\x20general\x20pattern\x20is:\x20create\x20object\x20A\x20(no\x20publish,\x20establishes\x20LocalMark)\x20→\x20create\x20object\x20B\x20that\x20references\x20A\x20→\x20update\x20A\x20with\x20references\x20to\x20B\x20→\x20publish\x20A.','correct_usage':'GENERAL\x20DEPLOYMENT\x20ORDER\x20RULE:\x20(1)\x20Create\x20all\x20objects\x20with\x20basic\x20config,\x20no\x20publish\x20—\x20addresses\x20are\x20determined\x20and\x20LocalMark\x20names\x20are\x20registered.\x20(2)\x20Create\x20Guards\x20and\x20other\x20objects\x20that\x20reference\x20the\x20first\x20batch\x20—\x20LocalMark\x20names\x20now\x20resolve.\x20(3)\x20Update\x20objects\x20with\x20cross-references\x20(order_allocators,\x20buy_guard,\x20etc.).\x20(4)\x20Publish\x20objects.\x20This\x20avoids\x20all\x20circular\x20dependencies.','wrong_example':'Step\x201:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20(my_service\x20does\x20not\x20exist)\x20→\x20BCS\x20error','correct_example':'Step\x201:\x20create\x20Service\x20(no\x20publish,\x20establishes\x20\x22my_service\x22\x20LocalMark)\x20→\x20Step\x202:\x20create\x20Guard\x20referencing\x20\x22my_service\x22\x20→\x20Step\x203:\x20update\x20Service\x20with\x20order_allocators\x20referencing\x20Guard\x20→\x20Step\x204:\x20publish\x20Service'},{'object_type':'Machine','operation':'add|set','category':'architecture','mistake':'Including\x20arbitration/dispute\x20nodes\x20in\x20a\x20Machine\x20workflow.\x20CORE\x20PRINCIPLE:\x20A\x20merchant\x27s\x20business\x20flow\x20cannot\x20handle\x20disputes\x20fairly\x20because\x20the\x20merchant\x20would\x20be\x20\x27both\x20player\x20and\x20referee\x27\x20(既当球员又当裁判).\x20The\x20WoWok\x20smart\x20contract\x20design\x20enforces\x20this\x20by\x20making\x20Arbitration\x20a\x20completely\x20separate\x20object\x20—\x20it\x20has\x20its\x20own\x20Permission,\x20voting_guard,\x20usage_guard,\x20and\x20balance,\x20with\x20NO\x20reference\x20from\x20Machine/Progress\x20to\x20Arbitration.\x20The\x20Order\x20object\x20is\x20the\x20bridge:\x20it\x20has\x20both\x20`progress`\x20(Machine)\x20and\x20`dispute`\x20(list\x20of\x20Arb\x20addresses)\x20fields,\x20but\x20the\x20Arb\x20lifecycle\x20(7\x20states:\x20Principal_confirming\x20→\x20Arbitrator_confirming\x20→\x20Voting\x20→\x20Arbitrated\x20→\x20Objectionable\x20→\x20Finished\x20→\x20Withdrawn)\x20is\x20managed\x20entirely\x20by\x20the\x20Arbitration\x20object,\x20not\x20by\x20the\x20Machine.','correct_usage':'ARBITRATION\x20SEPARATION\x20RULE:\x20(1)\x20Machine\x20workflows\x20model\x20BUSINESS\x20states\x20only\x20(e.g.,\x20ordered\x20→\x20shipped\x20→\x20delivered\x20→\x20refunded\x20→\x20completed).\x20(2)\x20Arbitration\x20is\x20a\x20separate\x20object\x20with\x20its\x20own\x20Permission\x20—\x20create\x20it\x20independently.\x20(3)\x20When\x20a\x20dispute\x20arises,\x20an\x20Arb\x20instance\x20is\x20created\x20referencing\x20the\x20Order;\x20the\x20Arb\x20goes\x20through\x20its\x207-state\x20lifecycle\x20in\x20the\x20Arbitration\x20object.\x20(4)\x20If\x20the\x20Arb\x20rules\x20in\x20favor\x20of\x20the\x20customer,\x20`indemnity`\x20is\x20set\x20and\x20`order::compensate()`\x20is\x20called\x20—\x20this\x20is\x20the\x20ONLY\x20connection\x20between\x20Arb\x20and\x20Order.\x20(5)\x20The\x20Machine\x20can\x20have\x20\x27refunded\x27/\x27cancelled\x27\x20nodes\x20for\x20the\x20BUSINESS\x20OUTCOME\x20of\x20a\x20dispute,\x20but\x20the\x20dispute\x20PROCESS\x20is\x20entirely\x20in\x20Arb.\x20(6)\x20Arbitration\x27s\x20Permission\x20MUST\x20be\x20separate\x20from\x20Service\x27s\x20Permission\x20—\x20never\x20share.','wrong_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20disputed,\x20resolved,\x20completed]\x20—\x20\x22disputed\x22\x20and\x20\x22resolved\x22\x20are\x20Arb\x20lifecycle\x20states,\x20not\x20business\x20states.\x20The\x20merchant\x20would\x20control\x20the\x20dispute\x20process,\x20making\x20it\x20unfair.','correct_example':'Machine\x20nodes:\x20[ordered,\x20shipped,\x20delivered,\x20refunded,\x20completed]\x20(business\x20states\x20only)\x20+\x20separate\x20Arbitration\x20object\x20(with\x20own\x20Permission,\x20voting_guard)\x20+\x20Arb\x20instances\x20(7-state\x20lifecycle)\x20that\x20call\x20order::compensate()\x20when\x20ruled'},{'object_type':'ALL','operation':'multi_tier_allocation','category':'architecture','mistake':'Thinking\x20Allocation\x20cannot\x20support\x20multi-level\x20fund\x20distribution.\x20WoWok\x20supports\x20multi-tier\x20allocation\x20through\x20SUB-ORDERS:\x20each\x20tier\x20is\x20an\x20independent\x20Service\x20with\x20its\x20own\x20order_allocators.\x20The\x20main\x20Order\x20pays\x20the\x20Tier-1\x20Service;\x20the\x20Tier-1\x20Service\x27s\x20Allocation\x20distributes\x20funds\x20to\x20Tier-2\x20sub-orders\x20(each\x20a\x20separate\x20Service\x20with\x20its\x20own\x20Allocation).\x20Additionally,\x20Allocation\x20can\x20run\x20as\x20a\x20standalone\x20independent\x20object,\x20not\x20just\x20as\x20a\x20Service\x20field.','correct_usage':'MULTI-TIER\x20ALLOCATION\x20PATTERN:\x20(1)\x20Main\x20Service\x20has\x20order_allocators\x20that\x20distribute\x20to\x20Tier-1\x20recipients\x20(e.g.,\x20platform\x20+\x20agency).\x20(2)\x20Each\x20Tier-1\x20recipient\x20can\x20be\x20a\x20separate\x20Service\x20with\x20its\x20own\x20order_allocators\x20for\x20Tier-2\x20distribution\x20(e.g.,\x20agency\x20→\x20operators).\x20(3)\x20Each\x20tier\x27s\x20Order\x20is\x20independent\x20—\x20Tier-1\x20payment\x20triggers\x20Tier-2\x20order\x20creation.\x20(4)\x20For\x20standalone\x20allocation:\x20create\x20an\x20Allocation\x20object\x20independently\x20and\x20transfer\x20funds\x20to\x20it,\x20then\x20use\x20Guard-driven\x20allocation\x20to\x20distribute.\x20(5)\x20Do\x20NOT\x20try\x20to\x20put\x20all\x20tiers\x20in\x20a\x20single\x20Order\x27s\x20order_allocators\x20—\x20use\x20separate\x20Services/Orders\x20per\x20tier.','wrong_example':'Single\x20Service\x20with\x208\x20order_allocators\x20trying\x20to\x20handle\x203\x20tiers\x20of\x20distribution\x20in\x20one\x20Order','correct_example':'Tier-1\x20Service\x20(allocators:\x20platform\x2025%,\x20agency\x2075%)\x20→\x20agency\x20creates\x20Tier-2\x20Service\x20(allocators:\x20operator1\x2050%,\x20operator2\x2050%)\x20→\x20each\x20tier\x20is\x20independent'},{'object_type':'ALL','operation':'transfer','category':'fund_flow','mistake':'Not\x20understanding\x20that\x20the\x20signing\x20account\x20determines\x20whose\x20assets\x20are\x20used.\x20The\x20env.account\x20field\x20in\x20every\x20operation\x20specifies\x20the\x20signer\x20—\x20whoever\x20signs\x20the\x20transaction,\x20their\x20assets\x20are\x20used.\x20The\x20name_or_address_from\x20field\x20in\x20account_operation.transfer\x20is\x20OPTIONAL\x20—\x20if\x20omitted,\x20the\x20default\x20account\x20(env.account)\x20signs\x20and\x20its\x20assets\x20are\x20transferred.','correct_usage':'SIGNING\x20ACCOUNT\x20RULE:\x20(1)\x20Every\x20operation\x20has\x20env.account\x20—\x20this\x20is\x20the\x20signer.\x20(2)\x20For\x20transfers:\x20if\x20name_or_address_from\x20is\x20omitted,\x20the\x20env.account\x27s\x20assets\x20are\x20used.\x20(3)\x20To\x20transfer\x20from\x20a\x20DIFFERENT\x20account,\x20set\x20name_or_address_from\x20to\x20that\x20account\x27s\x20name/address.\x20(4)\x20The\x20signer\x20(env.account)\x20must\x20have\x20permission\x20to\x20spend\x20the\x20from\x20account\x27s\x20assets\x20(or\x20be\x20the\x20same\x20account).\x20(5)\x20This\x20is\x20NOT\x20a\x20limitation\x20—\x20it\x27s\x20how\x20blockchain\x20transactions\x20work:\x20the\x20signer\x20pays\x20gas\x20and\x20authorizes\x20asset\x20movement.','wrong_example':'Thinking\x20transfer\x20requires\x20a\x20special\x20source\x20account\x20field\x20separate\x20from\x20the\x20signing\x20account','correct_example':'env:\x20{account:\x20\x22my_account\x22}\x20→\x20transfer\x20{name_or_address_to:\x20\x22recipient\x22,\x20amount:\x20\x221000000000\x22}\x20→\x20my_account\x20signs\x20and\x20its\x20WOW\x20is\x20transferred'}];function query_common_mistakes(a){if(!a)return COMMON_MISTAKES;return COMMON_MISTAKES['filter'](b=>{if(a['object_type']&&b['object_type']!==a['object_type'])return![];if(a['operation']&&b['operation']!==a['operation'])return![];if(a['category']&&b['category']!==a['category'])return![];return!![];});}const FUNDING_GUIDANCE={'overview':'How\x20to\x20obtain\x20WOW\x20gas\x20and\x20payment\x20tokens.\x20Testnet\x20uses\x20a\x20faucet;\x20mainnet\x20uses\x20the\x20ETH\x20mainnet\x20cross-chain\x20bridge;\x20for\x20the\x20WOW\x20airdrop,\x20go\x20to\x20airdrop.url\x20—\x20that\x20page\x20is\x20the\x20single\x20source\x20of\x20truth\x20for\x20the\x20current\x20round\x27s\x20status,\x20pool,\x20dates\x20and\x20eligibility\x20(details\x20change\x20between\x20rounds\x20and\x20are\x20intentionally\x20not\x20embedded\x20here).','testnet':{'token':'WOW','method':'faucet','faucet_url':'https://faucet.testnet.wowok.net','note':'Claim\x20WOW\x20from\x20the\x20testnet\x20faucet.\x20All\x20merchant\x20and\x20order\x20testing\x20can\x20use\x20WOW\x20as\x20the\x20payment\x20token.'},'mainnet':{'method':'eth_bridge','supported_tokens':['ETH','USDT','USDC','WBTC'],'steps':['Query\x20the\x20active\x20EVM\x20account\x20via\x20bridge_operation\x20(query_active_evm_account).\x20It\x20is\x20auto-generated\x20on\x20first\x20use.','From\x20an\x20external\x20wallet\x20(e.g.\x20MetaMask),\x20transfer\x20ETH\x20/\x20USDT\x20/\x20USDC\x20/\x20WBTC\x20to\x20the\x20active\x20EVM\x20account\x20address\x20on\x20Ethereum\x20mainnet.','Query\x20the\x20active\x20EVM\x20account\x20balance\x20to\x20confirm\x20the\x20funds\x20arrived.','Cross-chain\x20the\x20funds\x20to\x20the\x20WOW\x20mainnet\x20account\x20via\x20bridge_operation\x20(cross_chain_evm_to_wow).']},'airdrop':{'url':'https://wowok.net/airdrop.html','refer_url':'https://wowok.net/refer.html','note':'Open/fetch\x20airdrop.url\x20for\x20live\x20round\x20status,\x20pool\x20size,\x20snapshot\x20schedule\x20and\x20eligibility\x20rules;\x20these\x20change\x20between\x20rounds\x20and\x20are\x20not\x20hardcoded\x20in\x20the\x20SDK/MCP.\x20refer_url\x20is\x20the\x20referral-program\x20page.\x20If\x20the\x20user\x20needs\x20detail\x20beyond\x20the\x20link,\x20fetch\x20the\x20page\x20and\x20summarize\x20it\x20rather\x20than\x20quoting\x20an\x20embedded\x20constant.'},'payment_token':{'testnet_default':'WOW\x20(default\x20gas\x20+\x20payment\x20token)','mainnet_option':'USDT\x20and\x20other\x20stablecoins\x20via\x20the\x20ETH\x20mainnet\x20bridge','migration_note':'When\x20migrating\x20a\x20merchant\x20project\x20from\x20testnet\x20to\x20mainnet,\x20ask\x20whether\x20to\x20switch\x20the\x20payment\x20token\x20from\x20WOW\x20to\x20a\x20stablecoin\x20such\x20as\x20USDT.'}};async function queryProtocolInfo(a){switch(a['info']){case'constants':return{'info':'constants','result':INFO_CONSTANT['constants']};case'built-in\x20permissions':return{'info':'built-in\x20permissions','result':queryPermissions(a['filter']||{})};case'common\x20mistakes':return{'info':'common\x20mistakes','result':query_common_mistakes(a['filter'])};case'guard\x20instructions':return{'info':'guard\x20instructions','result':a108Z(a['filter']||{})};case'current\x20network':return{'info':'current\x20network','result':await Config['Instance']()['network_get']()};case'value\x20types':return{'info':'value\x20types','result':INFO_CONSTANT['value_types']};case'mainnet\x20bridge\x20tokens':return{'info':'mainnet\x20bridge\x20tokens','result':a108az['tokens']};case'funding\x20guidance':return{'info':'funding\x20guidance','result':FUNDING_GUIDANCE};default:throw new Error('Unsupported\x20info\x20type:\x20\x22'+a['info']+'\x22.\x20Valid\x20are:\x20\x22constants\x22,\x20\x22built-in\x20permissions\x22,\x20\x22common\x20mistakes\x22,\x20\x22guard\x20instructions\x22,\x20\x22current\x20network\x22,\x20\x22value\x20types\x22,\x20\x22mainnet\x20bridge\x20tokens\x22,\x20\x22funding\x20guidance\x22');}}function queryPermissions(a){return query_permissions(a);}const query_transaction_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_transaction(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},resolveObjectIdOrThrow=async a=>{const b=(await LocalMark['Instance']()['get_many_address']([a]))[0x0];if(!b)a108d('invalid\x20parameter','object\x20\x27'+a+'\x27\x20not\x20found\x20—\x20it\x20resolves\x20to\x20no\x20local\x20account,\x20LocalMark\x20name,\x20or\x20valid\x20object\x20id');if(a108G(a108b(b))==='unknown')a108d('invalid\x20address','object\x20\x27'+b+'\x27\x20first\x20byte\x20matches\x20no\x20on-chain\x20address\x20kind\x20(user\x200x00\x20/\x20object\x200x10..=0x24|0xf1)\x20—\x20it\x20cannot\x20exist\x20on-chain');return b;},query_transaction=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['digest'];if(!a108a(c))a108d('invalid\x20parameter','query_transaction.digest\x20\x27'+c+'\x27\x20is\x20not\x20a\x20valid\x20transaction\x20digest\x20(32-byte\x20base58)');const d=await Cache['read'](['tx','detail',c,b],async()=>{const e=parseTransactionBlock(await new a108c({'url':a108k(b),'network':b})['getTransactionBlock']({'digest':c,'options':{'showEffects':!![],'showEvents':!![],'showBalanceChanges':!![],'showInput':!![],'showObjectChanges':!![]}}));return{'expire':Cache['DefaultExpireTime']('long'),'data':e};},a['no_cache']);if(d)return d['data']['cache_expire']=d['expire'],d['data'];},query_object_history_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_object_history(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_object_history=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await resolveObjectIdOrThrow(a['object']),d=a['cursor']??'',e=(a['limit']??0x14)['toString'](),f=a['order']??'descending',g=await Cache['read'](['tx','obj_history_v2',c,d,e,f,b],async()=>{const h=await fetchObjectProvenanceHistory(b,c,a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g)return g['data']['cache_expire']=g['expire'],g['data'];},query_object_last_updated=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await resolveObjectIdOrThrow(a['object']);try{const f=new a108c({'url':a108k(b),'network':b});let g=a['previous_transaction']??null;if(!g){const h=await f['getObject']({'objectId':c,'options':{'showPreviousTransaction':!![]}});g=h?.['data']?.['previousTransaction']??h?.['previousTransaction']??null;}if(g){const i=(await Cache['read'](['tx','tx_ts',g],async()=>{const j=await f['getTransactionBlock']({'digest':g,'options':{'showInput':!![]}}),k=j?.['timestampMs']??j?.['data']?.['timestampMs'];if(!k)return void 0x0;return{'expire':Cache['DefaultExpireTime']('immutable'),'data':{'tx':{'object':c,'timestamp_ms':String(k),'digest':g,'sender':j?.['transaction']?.['data']?.['sender']??j?.['sender']??void 0x0}}};},a['no_cache']))?.['data']?.['tx'];if(i)return{...i,'object':c};}}catch(j){}const d=(await query_object_history({'object':c,'order':'descending','limit':0x1,'network':a['network'],'no_cache':a['no_cache']}))?.['transactions']?.[0x0];if(!d)return{'object':c};return{'object':c,'timestamp_ms':d['timestamp_ms'],'digest':d['digest'],'sender':d['sender']};},query_address_activity_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_address_activity(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_address_activity=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=await a108am(a['name_or_address']);if(!c)a108d('invalid\x20parameter','address_activity.name_or_address\x20\x27'+a['name_or_address']+'\x27\x20not\x20found\x20—\x20no\x20local\x20account\x20or\x20LocalMark\x20name\x20resolves\x20to\x20it');const d=a['direction']??'sent';if(a108G(a108b(c))==='object')a108d('invalid\x20parameter','\x27'+a['name_or_address']+'\x27\x20('+c+')\x20is\x20an\x20OBJECT\x20address\x20—\x20objects\x20neither\x20send\x20transactions\x20nor\x20receive\x20address-owned\x20transfers,\x20so\x20'+d+'\x20activity\x20is\x20always\x20empty.\x20Use\x20query_object_history\x20for\x20the\x20object\x27s\x20tx\x20provenance\x20instead.');const e=a['cursor']??'',f=(a['limit']??0x14)['toString'](),g=a['order']??'descending',h=await Cache['read'](['tx','addr_activity',d,c,e,f,g,b],async()=>{const i=await fetchTransactionHistory(b,d==='received'?{'ToAddress':c}:{'FromAddress':c},a['cursor'],a['limit']??0x14,a['order']??'descending');return{'expire':Cache['DefaultExpireTime'](),'data':i};},a['no_cache']);if(h)return h['data']['cache_expire']=h['expire'],h['data'];},fetchTransactionHistory=async(a,b,c,d,e)=>{const f=await new a108c({'url':a108k(a),'network':a})['queryTransactionBlocks']({'filter':b,'options':{'showEffects':!![],'showInput':!![]},'cursor':c??void 0x0,'limit':Math['min'](d,0x32),'order':e});return{'transactions':(f?.['data']??[])['map'](g=>{const h=extractObjectsFromEffects(g?.['effects']);return{'digest':g?.['digest']??'','status':g?.['effects']?.['status']?.['status']==='success'?'success':'failed','timestamp_ms':g?.['timestampMs'],'checkpoint':g?.['checkpoint']!==void 0x0&&g?.['checkpoint']!==null?String(g['checkpoint']):void 0x0,'sender':g?.['transaction']?.['data']?.['sender'],'kind':g?.['transaction']?.['data']?.['transaction']?.['kind']?Object['keys'](g['transaction']['data']['transaction'])[0x0]:void 0x0,'gas_used':g?.['effects']?.['gasUsed']?.['computationCost']?''+g['effects']['gasUsed']['computationCost']:void 0x0,'objects_touched':h,'has_object_changes':h['length']>0x0};}),'next_cursor':f?.['nextCursor']??null,'has_next_page':f?.['hasNextPage']??![]};},mergeHistoryPages=(a,b,c)=>{const d=new Map();for(const i of a)for(const j of i['transactions'])if(j['digest']&&!d['has'](j['digest']))d['set'](j['digest'],j);const e=k=>{const l=k['checkpoint']??k['timestamp_ms'];if(l===void 0x0||l===null)return null;try{return BigInt(l);}catch{return null;}},f=[...d['values']()]['sort']((k,l)=>{const m=e(k),n=e(l);let o;if(m!==null&&n!==null)o=m<n?-0x1:m>n?0x1:0x0;else{if(m===null&&n===null)o=0x0;else o=m===null?0x1:-0x1;}if(o===0x0)o=k['digest']<l['digest']?-0x1:k['digest']>l['digest']?0x1:0x0;return b==='ascending'?o:-o;}),g=a['some'](k=>k['has_next_page'])||f['length']>c,h=f['slice'](0x0,c);return{'transactions':h,'next_cursor':g&&h['length']>0x0?h[h['length']-0x1]['digest']:null,'has_next_page':g};},fetchObjectProvenanceHistory=async(a,b,c,d,e)=>{const f=Math['min'](d,0x32),[g,h]=await Promise['all']([fetchTransactionHistory(a,{'ChangedObject':b},c,f,e),fetchTransactionHistory(a,{'InputObject':b},c,f,e)]);return mergeHistoryPages([g,h],e,f);},parseTransactionBlock=a=>{const b=a?.['effects'],c=b?.['status']?.['status']==='success'?'success':'failed',d=c==='failed'?b?.['status']?.['error']:void 0x0,e=(a?.['objectChanges']??[])['map'](j=>({'id':j?.['objectId']??'','type':j?.['type']??'mutated','object_type':j?.['objectType'],'sender':j?.['sender'],'version':j?.['version'],'previous_version':j?.['previousVersion'],'digest':j?.['digest']})),f=(a?.['balanceChanges']??[])['map'](j=>({'owner':typeof j?.['owner']==='string'?j['owner']:j?.['owner']?.['AddressOwner']??'','coin_type':j?.['coinType']??'','amount':j?.['amount']??'0'})),g=(a?.['events']??[])['map'](j=>({'type':j?.['type']??'','package_id':j?.['packageId'],'module':j?.['transactionModule'],'sender':j?.['sender'],'parsed_json':j?.['parsedJson'],'bcs':j?.['bcs']})),h=b?.['gasUsed'],i=h?''+(BigInt(h['computationCost']??0x0)+BigInt(h['storageCost']??0x0)-BigInt(h['storageRebate']??0x0)):void 0x0;return{'digest':a?.['digest']??'','status':c,'error':d,'timestamp_ms':a?.['timestampMs'],'sender':a?.['transaction']?.['data']?.['sender'],'gas_used':i,'gas_budget':a?.['transaction']?.['data']?.['gasData']?.['budget']?.['toString'](),'kind':a?.['transaction']?.['data']?.['transaction']?Object['keys'](a['transaction']['data']['transaction'])[0x0]:void 0x0,'object_changes':e,'balance_changes':f,'event_count':g['length'],'events':g,'epoch':b?.['epoch'],'is_system_tx':a?.['transaction']?.['data']?.['transaction']?.['kind']==='ConsensusCommitPrologue'};},extractObjectsFromEffects=a=>{if(!a)return[];const b=[],c=d=>{if(Array['isArray'](d)){for(const e of d)if(e?.['reference']?.['objectId'])b['push'](e['reference']['objectId']);else{if(e?.['objectId'])b['push'](e['objectId']);}}};return c(a['created']),c(a['mutated']),c(a['deleted']),c(a['wrapped']),c(a['unwrapped']),[...new Set(b)];},query_checkpoint_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_checkpoint(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_checkpoint=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=(''+(a['block']??''))['trim']();if(!c)return;const d=await Cache['read'](['tx','checkpoint',c,b],async()=>{const e=await new a108c({'url':a108k(b),'network':b})['getCheckpoint']({'id':c});return{'expire':Cache['DefaultExpireTime']('immutable'),'data':e};},a['no_cache']);return d?d['data']:void 0x0;};export{AFFILIATION_TABLES_BY_TYPE,AFFILIATION_TABLE_META,a108af as AllocationMode,a108v as AmountType,a108ad as ArbStatus,COMMON_MISTAKES,a108L as DiscountType,a108N as ENTITY_ORDER_ROLE_AGENT,a108Q as ENTITY_ORDER_ROLE_OWNER,FUNDING_GUIDANCE,INFO_CONSTANT,a108B as IdFrom,a108F as MAX_OBJECTS_PER_QUERY,a108J as OBJECT_TYPE_DEFINITIONS,a108l as ObjectType,a108T as TreasuryOp,a108ay as WitnessSourceType,a108x as WitnessTargetType,a108X as data2object,a108E as getMoveNameFromNumber,a108W as getMoveNameFromObjectType,a108Y as getNumberFromMoveName,a108D as getNumberFromObjectType,a108I as getNumbersFromObjectTypes,a108ao as getObjectTypeDefinition,a108H as getObjectTypeDefinitionFromNumber,a108a1 as getObjectTypeFromMoveName,a108a0 as getObjectTypeFromNumber,a108a2 as getObjectTypesFromNumbers,a108S as idFromToString,a108u as isValidIdFromInput,a108a8 as numberToObjectType,a108ar as objectTypeFromAddress,a108ak as objectTypeToNumber,a108ap as parseIdFrom,parseWowokEventItem,a108aC as queryObjectWithType,a108aB as queryObjectsWithType,a108ac as queryOrdersByUser,queryPermissions,queryProtocolInfo,a108a4 as queryTableItem_AddressMark,a108al as queryTableItem_DemandPresenter,a108aq as queryTableItem_EntityContact,a108a6 as queryTableItem_EntityLinker,a108ai as queryTableItem_EntityOrder,a108at as queryTableItem_EntityPermission,a108a7 as queryTableItem_EntityRegistrar,a108a9 as queryTableItem_MachineNode,a108an as queryTableItem_ObjectLinkerCore,a108aj as queryTableItem_ObjectLinkerTx,a108ab as queryTableItem_PermissionPerm,a108aa as queryTableItem_ProgressHistory,a108a3 as queryTableItem_RepositoryData,a108au as queryTableItem_RewardRecord,a108ax as queryTableItem_ServiceOrders,a108a5 as queryTableItem_TreasuryHistory,query_address_activity,query_address_activity_json,a108aw as query_address_profile,a108U as query_address_profiles,query_affiliations,a108y as query_arbs,query_checkpoint,query_checkpoint_json,query_common_mistakes,a108av as query_demands,query_events,query_events_json,query_object_history,query_object_history_json,query_object_last_updated,a108V as query_object_token_type,a108A as query_objects,a108z as query_objects_json,a108P as query_personal,a108aA as query_received,query_serviceContext,a108ag as query_services,a108w as query_shared_objects,a108ae as query_shared_objects_json,a108M as query_table,a108O as query_tableItem,a108R as query_table_json,query_transaction,query_transaction_json,a108C as raw2type,a108G as wowAddressKind,a108K as wowObjectTypeNameForAddress};
@@ -1 +1 @@
1
- import{F as a109a}from'../../common-DC9BAaSg.mjs';import{$ as a109b,A as a109c,At as a109d,B as a109e,Ct as a109f,Dt as a109g,Et as a109h,F as a109i,Ft as a109j,G as a109k,H as a109l,I as a109m,It as a109n,J as a109o,K as a109p,L as a109q,Lt as a109r,M as a109s,Mt as a109t,N as a109u,Nt as a109v,Ot as a109w,P as a109x,Pt as a109y,Q as a109z,R as a109A,St as a109B,Tt as a109C,U as a109D,V as a109E,W as a109F,X as a109G,Y as a109H,Z as a109I,_t as a109J,at as a109K,bt as a109L,ct as a109M,dt as a109N,et as a109O,ft as a109P,gt as a109Q,ht as a109R,it as a109S,j as a109T,jt as a109U,k as a109V,kt as a109W,lt as a109X,mt as a109Y,nt as a109Z,ot as a109a0,pt as a109a1,q as a109a2,rt as a109a3,st as a109a4,tt as a109a5,ut as a109a6,vt as a109a7,wt as a109a8,xt as a109a9,yt as a109aa,z as a109ab}from'../../util-2Fli5dww.mjs';export{a109V as AllocationMode,a109c as AmountType,a109T as ArbStatus,a109s as DiscountType,a109u as ENTITY_ORDER_ROLE_AGENT,a109x as ENTITY_ORDER_ROLE_OWNER,a109i as IdFrom,a109m as MAX_OBJECTS_PER_QUERY,a109q as OBJECT_TYPE_DEFINITIONS,a109a as ObjectType,a109A as TreasuryOp,a109ab as WitnessSourceType,a109e as WitnessTargetType,a109E as data2object,a109l as getMoveNameFromNumber,a109D as getMoveNameFromObjectType,a109F as getNumberFromMoveName,a109k as getNumberFromObjectType,a109p as getNumbersFromObjectTypes,a109a2 as getObjectTypeDefinition,a109o as getObjectTypeDefinitionFromNumber,a109H as getObjectTypeFromMoveName,a109G as getObjectTypeFromNumber,a109I as getObjectTypesFromNumbers,a109z as idFromToString,a109b as isValidIdFromInput,a109O as numberToObjectType,a109a5 as objectTypeFromAddress,a109Z as objectTypeToNumber,a109a3 as parseIdFrom,a109S as queryOrdersByUser,a109K as queryTableItem_AddressMark,a109a0 as queryTableItem_DemandPresenter,a109a4 as queryTableItem_EntityContact,a109M as queryTableItem_EntityLinker,a109X as queryTableItem_EntityOrder,a109a6 as queryTableItem_EntityPermission,a109N as queryTableItem_EntityRegistrar,a109P as queryTableItem_MachineNode,a109a1 as queryTableItem_ObjectLinkerCore,a109Y as queryTableItem_ObjectLinkerTx,a109R as queryTableItem_PermissionPerm,a109Q as queryTableItem_ProgressHistory,a109J as queryTableItem_RepositoryData,a109a7 as queryTableItem_RewardRecord,a109aa as queryTableItem_ServiceOrders,a109L as queryTableItem_TreasuryHistory,a109a9 as query_address_profile,a109B as query_address_profiles,a109f as query_arbs,a109a8 as query_demands,a109C as query_object_token_type,a109h as query_objects,a109g as query_objects_json,a109w as query_personal,a109W as query_services,a109d as query_shared_objects,a109U as query_shared_objects_json,a109t as query_table,a109v as query_tableItem,a109y as query_table_json,a109j as raw2type,a109n as wowAddressKind,a109r as wowObjectTypeNameForAddress};
1
+ import{F as a109a}from'../../common-DC9BAaSg.mjs';import{$ as a109b,A as a109c,At as a109d,B as a109e,Ct as a109f,Dt as a109g,Et as a109h,F as a109i,Ft as a109j,G as a109k,H as a109l,I as a109m,It as a109n,J as a109o,K as a109p,L as a109q,Lt as a109r,M as a109s,Mt as a109t,N as a109u,Nt as a109v,Ot as a109w,P as a109x,Pt as a109y,Q as a109z,R as a109A,St as a109B,Tt as a109C,U as a109D,V as a109E,W as a109F,X as a109G,Y as a109H,Z as a109I,_t as a109J,at as a109K,bt as a109L,ct as a109M,dt as a109N,et as a109O,ft as a109P,gt as a109Q,ht as a109R,it as a109S,j as a109T,jt as a109U,k as a109V,kt as a109W,lt as a109X,mt as a109Y,nt as a109Z,ot as a109a0,pt as a109a1,q as a109a2,rt as a109a3,st as a109a4,tt as a109a5,ut as a109a6,vt as a109a7,wt as a109a8,xt as a109a9,yt as a109aa,z as a109ab}from'../../util-DY1mf03_.mjs';export{a109V as AllocationMode,a109c as AmountType,a109T as ArbStatus,a109s as DiscountType,a109u as ENTITY_ORDER_ROLE_AGENT,a109x as ENTITY_ORDER_ROLE_OWNER,a109i as IdFrom,a109m as MAX_OBJECTS_PER_QUERY,a109q as OBJECT_TYPE_DEFINITIONS,a109a as ObjectType,a109A as TreasuryOp,a109ab as WitnessSourceType,a109e as WitnessTargetType,a109E as data2object,a109l as getMoveNameFromNumber,a109D as getMoveNameFromObjectType,a109F as getNumberFromMoveName,a109k as getNumberFromObjectType,a109p as getNumbersFromObjectTypes,a109a2 as getObjectTypeDefinition,a109o as getObjectTypeDefinitionFromNumber,a109H as getObjectTypeFromMoveName,a109G as getObjectTypeFromNumber,a109I as getObjectTypesFromNumbers,a109z as idFromToString,a109b as isValidIdFromInput,a109O as numberToObjectType,a109a5 as objectTypeFromAddress,a109Z as objectTypeToNumber,a109a3 as parseIdFrom,a109S as queryOrdersByUser,a109K as queryTableItem_AddressMark,a109a0 as queryTableItem_DemandPresenter,a109a4 as queryTableItem_EntityContact,a109M as queryTableItem_EntityLinker,a109X as queryTableItem_EntityOrder,a109a6 as queryTableItem_EntityPermission,a109N as queryTableItem_EntityRegistrar,a109P as queryTableItem_MachineNode,a109a1 as queryTableItem_ObjectLinkerCore,a109Y as queryTableItem_ObjectLinkerTx,a109R as queryTableItem_PermissionPerm,a109Q as queryTableItem_ProgressHistory,a109J as queryTableItem_RepositoryData,a109a7 as queryTableItem_RewardRecord,a109aa as queryTableItem_ServiceOrders,a109L as queryTableItem_TreasuryHistory,a109a9 as query_address_profile,a109B as query_address_profiles,a109f as query_arbs,a109a8 as query_demands,a109C as query_object_token_type,a109h as query_objects,a109g as query_objects_json,a109w as query_personal,a109W as query_services,a109d as query_shared_objects,a109U as query_shared_objects_json,a109t as query_table,a109v as query_tableItem,a109y as query_table_json,a109j as raw2type,a109n as wowAddressKind,a109r as wowObjectTypeNameForAddress};