@wowok/wowok 3.0.5 → 3.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/Transaction-CrzrFqPW.mjs +1 -0
- package/dist/esm/arb-CXTekz6P.mjs +1 -0
- package/dist/esm/call-c56KBPmQ.mjs +1 -0
- package/dist/esm/client/index.d.mts +2 -2
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/client-BYIflYp_.mjs +1 -0
- package/dist/esm/common-DhtZTgkX.mjs +1 -0
- package/dist/esm/{config-BQzrNhZ8.d.mts → config-AuT9_n2K.d.mts} +6 -6
- package/dist/esm/constants-BGKNJZYa.mjs +1 -0
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/cryptography/index.mjs +1 -1
- package/dist/esm/ed25519-Cjw5WOqY.mjs +1 -1
- package/dist/esm/falcon512-CnEZ-g-L.mjs +1 -1
- package/dist/esm/faucet/index.mjs +1 -1
- package/dist/esm/fund-approval-Cee3vmP8.mjs +1 -0
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/graphql-DDWKR2yj.mjs +1 -0
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/grpc-D9wyZZs1.mjs +1 -0
- package/dist/esm/{index-rkqH73U5.d.mts → index-BQOp8Peb.d.mts} +2363 -1887
- package/dist/esm/{index-B7GX5gzh.d.mts → index-Bs4A3nTL.d.mts} +2 -1
- package/dist/esm/index.d.mts +5 -5
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/jsonRpc/index.d.mts +1 -1
- package/dist/esm/jsonRpc/index.mjs +1 -1
- package/dist/esm/keypair-IIyGelNr.mjs +1 -1
- package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
- package/dist/esm/keypairs/ed25519/index.mjs +1 -1
- package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
- package/dist/esm/keypairs/falcon512/index.mjs +1 -1
- package/dist/esm/keypairs/passkey/index.d.mts +1 -1
- package/dist/esm/keypairs/passkey/index.mjs +1 -1
- package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256k1/index.mjs +1 -1
- package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256r1/index.mjs +1 -1
- package/dist/esm/messenger-D9cIgjVB.mjs +1 -0
- package/dist/esm/messenger-api-BkZ1Urhv.mjs +1 -0
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/multisig/index.mjs +1 -1
- package/dist/esm/{network-CBo-AsLD.mjs → network-UpRYD8EM.mjs} +1 -1
- package/dist/esm/{networks-ByH0We-G.d.mts → networks-DgObqYrB.d.mts} +16 -1
- package/dist/esm/proof-DN-LYZHK.mjs +1 -0
- package/dist/esm/received-BeCU01U-.mjs +1 -0
- package/dist/esm/service-JWjnxOnc.mjs +1 -0
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/{transactions-B0rmtDin.mjs → transactions-HEsbZ5tl.mjs} +1 -1
- package/dist/esm/util-CQi8j1Df.mjs +1 -0
- package/dist/esm/util-DtomxQB5.mjs +1 -0
- package/dist/esm/utils/index.d.mts +2 -2
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/utils-CFfdvJ-L.mjs +1 -0
- package/dist/esm/verify/index.d.mts +1 -1
- package/dist/esm/verify/index.mjs +1 -1
- package/dist/esm/w/call/allocation.d.mts +1 -1
- package/dist/esm/w/call/allocation.mjs +1 -1
- package/dist/esm/w/call/arbitration.d.mts +1 -1
- package/dist/esm/w/call/arbitration.mjs +1 -1
- package/dist/esm/w/call/base.d.mts +1 -1
- package/dist/esm/w/call/base.mjs +1 -1
- package/dist/esm/w/call/demand.d.mts +1 -1
- package/dist/esm/w/call/demand.mjs +1 -1
- package/dist/esm/w/call/guard.d.mts +1 -1
- package/dist/esm/w/call/guard.mjs +1 -1
- package/dist/esm/w/call/index.d.mts +1 -1
- package/dist/esm/w/call/index.mjs +1 -1
- package/dist/esm/w/call/machine.d.mts +1 -1
- package/dist/esm/w/call/machine.mjs +1 -1
- package/dist/esm/w/call/passport.d.mts +1 -1
- package/dist/esm/w/call/passport.mjs +1 -1
- package/dist/esm/w/call/payment.d.mts +1 -1
- package/dist/esm/w/call/payment.mjs +1 -1
- package/dist/esm/w/call/permission.d.mts +1 -1
- package/dist/esm/w/call/permission.mjs +1 -1
- package/dist/esm/w/call/progress.d.mts +1 -1
- package/dist/esm/w/call/progress.mjs +1 -1
- package/dist/esm/w/call/repository.d.mts +1 -1
- package/dist/esm/w/call/repository.mjs +1 -1
- package/dist/esm/w/call/reward.d.mts +1 -1
- package/dist/esm/w/call/reward.mjs +1 -1
- package/dist/esm/w/call/service.d.mts +1 -1
- package/dist/esm/w/call/service.mjs +1 -1
- package/dist/esm/w/call/treasury.d.mts +1 -1
- package/dist/esm/w/call/treasury.mjs +1 -1
- package/dist/esm/w/common.d.mts +2 -2
- package/dist/esm/w/common.mjs +1 -1
- package/dist/esm/w/index.d.mts +4 -4
- package/dist/esm/w/index.mjs +1 -1
- package/dist/esm/w/local/account.d.mts +2 -2
- package/dist/esm/w/local/account.mjs +1 -1
- package/dist/esm/w/local/cache.mjs +1 -1
- package/dist/esm/w/local/config.d.mts +1 -1
- package/dist/esm/w/local/config.mjs +1 -1
- package/dist/esm/w/local/evm/networks.d.mts +1 -1
- package/dist/esm/w/local/evm/networks.mjs +1 -1
- package/dist/esm/w/local/evm-account.mjs +1 -1
- package/dist/esm/w/local/fund-approval.mjs +1 -1
- package/dist/esm/w/local/index.d.mts +4 -4
- package/dist/esm/w/local/index.mjs +1 -1
- package/dist/esm/w/local/local.mjs +1 -1
- package/dist/esm/w/local/secure-storage.mjs +1 -1
- package/dist/esm/w/local/storage.mjs +1 -1
- package/dist/esm/w/local/token.d.mts +1 -1
- package/dist/esm/w/local/token.mjs +1 -1
- package/dist/esm/w/local/util.mjs +1 -1
- package/dist/esm/w/local/wip.mjs +1 -1
- package/dist/esm/w/messenger/attachment.d.mts +2 -0
- package/dist/esm/w/messenger/attachment.mjs +1 -0
- package/dist/esm/w/messenger/index.d.mts +2 -2
- package/dist/esm/w/messenger/index.mjs +1 -1
- package/dist/esm/w/messenger/messenger-api.d.mts +2 -2
- package/dist/esm/w/messenger/messenger-api.mjs +1 -1
- package/dist/esm/w/messenger/messenger.d.mts +1 -1
- package/dist/esm/w/messenger/messenger.mjs +1 -1
- package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
- package/dist/esm/w/messenger/reply.d.mts +1 -1
- package/dist/esm/w/messenger/storage.d.mts +14 -1
- package/dist/esm/w/messenger/storage.mjs +1 -1
- package/dist/esm/w/messenger/types.d.mts +2 -2
- package/dist/esm/w/messenger/types.mjs +1 -1
- package/dist/esm/w/messenger/utils.d.mts +31 -0
- package/dist/esm/w/messenger/utils.mjs +1 -0
- package/dist/esm/w/query/index.d.mts +2 -2
- package/dist/esm/w/query/index.mjs +1 -1
- package/dist/esm/w/query/object.d.mts +2 -2
- package/dist/esm/w/query/object.mjs +1 -1
- package/dist/esm/{w-Dy0Ppp83.mjs → w-C4MkpJSy.mjs} +1 -1
- package/package.json +10 -2
- package/dist/esm/Transaction-DY5xZw9i.mjs +0 -1
- package/dist/esm/arb-BqAtS7Pe.mjs +0 -1
- package/dist/esm/call-DxE2SCFZ.mjs +0 -1
- package/dist/esm/client-DQVGu_Cf.mjs +0 -1
- package/dist/esm/common-vAC0KZQY.mjs +0 -1
- package/dist/esm/fund-approval-Cp3ON1v1.mjs +0 -1
- package/dist/esm/graphql-CIIj4T15.mjs +0 -1
- package/dist/esm/grpc-DaxgGfSP.mjs +0 -1
- package/dist/esm/messenger-BUHGIRHr.mjs +0 -1
- package/dist/esm/messenger-api-BEQ8fXaK.mjs +0 -1
- package/dist/esm/object-CC_ukGim.mjs +0 -1
- package/dist/esm/proof-CuRa15Mj.mjs +0 -1
- package/dist/esm/received-CABySB6M.mjs +0 -1
- package/dist/esm/service-Dp5U4zH1.mjs +0 -1
- package/dist/esm/util-C1S-xatf.mjs +0 -1
- package/dist/esm/utils-DL1Wk3E9.mjs +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{o as a49a}from'./wow-types-DctQuD2J.mjs';import{o as a49b}from'./exception-o3XVk35a.mjs';import{$ as a49c,Dt as a49d,Et as a49e,St as a49f,Tt as a49g,at as a49h,ct as a49i,d as a49j,et as a49k,f as a49l,h as a49m,nt as a49n,p as a49o,rt as a49p,tt as a49q,y as a49r}from'./common-DhtZTgkX.mjs';import{LocalMark}from'./w/local/local.mjs';import{Br as a49s,Et as a49t,Nr as a49u,Qn as a49v,Rr as a49w,Vr as a49x,Xn as a49y,Zn as a49z,a as a49A,cn as a49B,cr as a49C,d as a49D,dn as a49E,h as a49F,i as a49G,lr as a49H,p as a49I,pn as a49J,rr as a49K,sr as a49L,tr as a49M,un as a49N,zr as a49O}from'./util-CQi8j1Df.mjs';import{WIP,verify_wip}from'./w/local/wip.mjs';import{t as a49P}from'./received-BeCU01U-.mjs';import{paymentInfo,resolvePaymentInfoContext}from'./w/call/payment.mjs';import{allocators,resolveAllocators}from'./w/call/allocation.mjs';import{create as a49Q,newPermission}from'./w/call/permission.mjs';import{a as a49R,i as a49S,n as a49T,r as a49U}from'./arb-CXTekz6P.mjs';import{n as a49V}from'./util-DtomxQB5.mjs';import{accomplish,adminUnhold,create as a49W,getMachineNodeForward,hold}from'./w/call/progress.mjs';var CallOrder=class extends a49B{constructor(a){super(),this['object_address']=void 0x0,this['service']=void 0x0,this['_resolved_arb_cache']=new Map(),this['data']=a;}async['prepare'](a){await super['prepare'](a);if(!this['object_address'])this['object_address']=await a49o(this['data']?.['object']);if(this['object_address']){this['content']=void 0x0,await this['update_content'](a,'Order',this['object_address']);if(!this['content'])a49b('invalid\x20parameter','CallOrder_Data.data.object:'+this['object_address']);}else a49b('invalid\x20parameter','CallOrder_Data.data.object:'+this['data']?.['object']);const b=this['content'];if(this['data']['progress']!=null){if(!b['machine'])a49b('invalid\x20parameter','CallOrder_Data.data.progress\x20error\x20on\x20machine\x20not\x20set');const d=await a49t({'objects':[b['machine']],'no_cache':a['no_cache'],'network':a['network']});if(d['objects']&&d['objects']['length']===0x1&&d['objects'][0x0]['type']==='Machine')this['_resolved_progress_machine']=d['objects'][0x0];else a49b('invalid\x20parameter','CallOrder_Data.data.progress\x20fail\x20with\x20machine\x20invalid\x20for\x20this\x20order');}const c=new Set();if(this['data']['arb_confirm']?.['arb'])c['add'](this['data']['arb_confirm']['arb']);if(this['data']['arb_objection']?.['arb'])c['add'](this['data']['arb_objection']['arb']);if(this['data']['arb_claim_compensation']?.['arb'])c['add'](this['data']['arb_claim_compensation']['arb']);for(const e of c){const f=await this['get_arb'](a,e);this['_resolved_arb_cache']['set'](e,f);}if(this['data']['arb_claim_compensation'])await this['get_service'](a);if(this['data']['receive']==='recently'&&this['object_address'])this['_resolved_receive']=await a49P({'name_or_address':{'name_or_address':this['object_address'],'local_mark_first':!![]},'no_cache':a['no_cache'],'network':a['network']});await this['preResolveReceivedItems'](this['_resolved_receive']!==void 0x0?this['_resolved_receive']:this['data']['receive']);if(this['data']['agent']!=null)this['_resolved_agents']=await a49F(this['data']['agent']);if(this['data']['transfer_to']!=null){const g=await a49I(this['data']['transfer_to']);if(!g)a49b('invalid\x20parameter','CallOrder_Data.data.transfer_to:'+this['data']['transfer_to']+'\x20not\x20found');this['data']['transfer_to']=g;}if(this['data']['required_info']!==void 0x0){if(this['data']['required_info']===null)this['_resolved_required_info']=null;else{if(a49a(this['data']['required_info']))this['_resolved_required_info']=this['data']['required_info'];else{const h=await LocalMark['Instance']()['get_address'](this['data']['required_info']);if(!h||!a49a(h))a49b('invalid\x20parameter','CallOrder_Data.data.required_info\x20'+this['data']['required_info']+'\x20not\x20found\x20(address,\x20account\x20or\x20mark)');this['_resolved_required_info']=h;}}}}async['call'](a){await this['prepare'](a);const b=[],c=e=>{if(!b['includes'](e))b['push'](e);},d=this['content'];if(this['data']['progress']!=null){if(!d['machine']||!d['progress'])a49b('invalid\x20parameter','CallOrder_Data.data.progress\x20error\x20on\x20progress\x20not\x20set');const e=await a49t({'objects':[d['progress']],'no_cache':a['no_cache'],'network':a['network']});if(!e['objects']||e['objects']['length']!==0x1||e['objects'][0x0]['type']!=='Progress')a49b('invalid\x20parameter','CallOrder_Data.data.progress\x20fetch\x20error');const f=e['objects'][0x0],g=await getMachineNodeForward(a,f['machine'],f['current'],this['data']['progress']['operation']['next_node_name'],this['data']['progress']['operation']['forward']);if(g['error'])a49b('invalid\x20parameter','CallOrder_Data.data.progress.operation.forward:'+this['data']?.['progress']['operation']['forward']+'\x20validation\x20failed.\x20'+g['error']);if(g['forward']?.['guard'])c(g['forward']['guard']['guard']);}if(b['length']>0x0)return await this['check_guard_and_call'](a,b);return await this['exec'](a);}async['get_service'](a){if(!this['service']&&this['content']){const b=await a49t({'objects':[this['content']['service']],'no_cache':a['no_cache'],'network':a['network']});if(b['objects']&&b['objects']['length']===0x1){const c=b['objects'][0x0];if(!c['type']||c['type']!=='Service')a49b('invalid\x20argument\x20type','object\x20'+this['content']['service']+'\x20type\x20'+c['type']+'\x20is\x20not\x20Service');const d=a49A(c['type_raw'],'service::Service');if(!d)a49b('invalid\x20argument\x20type','Service\x20'+this['content']['service']+'\x20type\x20'+c['type_raw']+'\x20is\x20not\x20valid');this['service']={'object':c,'type':d};}}if(!this['service'])a49b('invalid\x20parameter','CallOrder_Data.data.order_required_info\x20error\x20on\x20service\x20'+this['content']['service']);return this['service'];}async['operate'](a,b,c,d){const e=this['content'];if(this['data']['agent']!=null){const g=this['_resolved_agents']??[];if(g['length']>a49M)a49b('invalid\x20parameter','CallOrder_Data.data.agent\x20count\x20'+g['length']+'\x20exceeds\x20maximum\x20'+a49M);agent_set(b,{'order':a49g(b,this['object_address']),'agents':g});}if(this['data']['required_info']!==void 0x0)order_required_info_update(b,a49g(b,this['object_address']),this['_resolved_required_info']??null);if(this['data']['progress']!=null){if(!e['machine']||!e['progress'])a49b('invalid\x20parameter','CallOrder_Data.data.progress\x20fail\x20with\x20machine\x20or\x20progress\x20invalid\x20for\x20this\x20order');const h=this['_resolved_progress_machine'];if(!h)a49b('invalid\x20parameter','CallOrder_Data.data.progress\x20pre-resolution\x20missing\x20—\x20internal\x20invariant\x20violation');const i=this['data']['progress']['op'];if(i==='adminUnhold')adminUnhold(b,e['progress'],h['object'],h['permission'],this['data']['progress']['operation']['next_node_name'],this['data']['progress']['operation']['forward'],this['data']['progress']['message']??'',c);else{if(i==='hold'||i==='unhold')hold(b,e['progress'],h['object'],h['permission'],this['data']['progress']['operation']['next_node_name'],this['data']['progress']['operation']['forward'],this['data']['progress']['message']??'',i==='hold',this['object_address'],c);else accomplish(b,e['progress'],h['object'],h['permission'],this['data']['progress']['operation']['next_node_name'],this['data']['progress']['operation']['forward'],this['data']['progress']['message']??'',this['object_address'],c);}}const f=j=>{const k=this['_resolved_arb_cache']['get'](j);if(!k)a49b('invalid\x20parameter','Arb\x20'+j+'\x20was\x20not\x20pre-resolved\x20—\x20internal\x20invariant\x20violation');return k;};if(this['data']['arb_confirm']!=null){const j=f(this['data']['arb_confirm']['arb']);this['check_arb'](e,j,0x0);if(this['data']['arb_confirm']['proposition']!==void 0x0){if(this['data']['arb_confirm']['proposition']['length']>a49u)a49b('invalid\x20parameter','CallOrder_Data.data.arb_confirm.proposition\x20length\x20must\x20be\x20less\x20than\x20or\x20equal\x20to\x20'+a49u);a49R(b,j['object']['object'],j['type'],a49g(b,this['object_address']),this['data']['arb_confirm']['proposition'],this['data']['arb_confirm']['description'],this['data']['arb_confirm']['confirm']);}else{if(this['data']['arb_confirm']['description']!==void 0x0)a49T(b,j['object']['object'],j['type'],a49g(b,this['object_address']),this['data']['arb_confirm']['description'],this['data']['arb_confirm']['confirm']);else a49S(b,j['object']['object'],j['type'],a49g(b,this['object_address']),this['data']['arb_confirm']['confirm']);}}if(this['data']['arb_objection']!=null){const k=f(this['data']['arb_objection']['arb']);this['check_arb'](e,k,0x3),a49U(b,k['object']['object'],k['type'],a49g(b,this['object_address']),this['data']['arb_objection']['objection']);}if(this['data']['arb_claim_compensation']){const l=f(this['data']['arb_claim_compensation']['arb']);this['check_arb'](e,l,0x3);const m=await this['get_service'](a);compensation_claim(b,{'service':m['object']['object'],'service_type':m['type'],'arbitration_object':l['object']['arbitration'],'arbitration_type':l['type'],'order':a49g(b,this['object_address']),'arb':l['object']['object']});}if(this['data']['receive']!=null&&this['object_address']){const n=this['_resolved_receive']!==void 0x0?this['_resolved_receive']:this['data']['receive'];if(n==='recently')a49b('invalid\x20parameter','CallOrder.data.receive\x20internal\x20invariant\x20—\x20\x27recently\x27\x20not\x20pre-resolved');await owner_receive(b,a49g(b,this['object_address']),n);}if(this['data']['transfer_to']!=null)await owner_change(b,{'order':a49g(b,this['object_address']),'new_owner':this['data']['transfer_to']});}async['get_arb'](a,b){const c=await a49t({'objects':[b],'no_cache':a['no_cache'],'network':a['network']});if(!c['objects']||c['objects']['length']!==0x1)a49b('invalid\x20parameter','Arb\x20'+b+'\x20not\x20found');const d=c['objects'][0x0];if(!d['type']||d['type']!=='Arb')a49b('invalid\x20argument\x20type','object\x20'+b+'\x20type\x20'+d['type']+'\x20is\x20not\x20Arb');const e=a49A(d['type_raw'],'arb::Arb');if(!e)a49b('invalid\x20argument\x20type','Arb\x20'+b+'\x20type\x20'+d['type_raw']+'\x20is\x20not\x20valid');return{'object':d,'type':e};}['check_arb'](a,b,c){if(b['object']['status']!==c)a49b('invalid\x20parameter','arb\x20'+b['object']['object']+'\x20status\x20'+b['object']['status']+'\x20not\x20'+c);if(b['object']['order']!==this['object_address'])a49b('invalid\x20parameter','arb\x20'+b['object']['object']+'\x20order\x20'+b['object']['order']+'\x20not\x20'+this['object_address']);if(a['claimed_by'])a49b('invalid\x20parameter','arb\x20'+b['object']['object']+'\x20error\x20on\x20order\x20'+this['object_address']+'\x20already\x20disputed\x20by\x20'+a['claimed_by']);}};function orderFn(a){return'0x2::order::'+a;}function create$1(a,b){return a49D([b]),a['moveCall']({'target':orderFn('create'),'arguments':[a49g(a,b)]});}async function owner_change(a,b){const c=await a49I(b['new_owner']);if(!c)a49b('invalid\x20parameter','CallOrder_Data.data.new_owner:'+b['new_owner']);a49D([b['order']]),a['moveCall']({'target':orderFn('owner_change'),'arguments':[a49g(a,b['order']),a['pure']['address'](c),a['object']['mutEntityOrder'](),a['object']['clock']()]});}function agent_set(a,b){a49D([b['order'],...b['agents']]),a['moveCall']({'target':orderFn('agent_set'),'arguments':[a49g(a,b['order']),a['pure']['vector']('address',b['agents']),a['object']['mutEntityOrder'](),a['object']['clock']()]});}async function owner_receive(a,b,c){a49D([b]);if(Array['isArray'](c))for(const d of c){if(!d['type']||!a49m(d['type']))a49b('invalid\x20argument\x20type','type\x20'+d['type']+'\x20is\x20invalid');a49D([d['id']]);const e=d['type']['match'](/CoinWrapper<([^>]+)>/);if(e){const f=e[0x1],g=d['content_raw']?.['payment'];if(!g)a49b('invalid\x20argument\x20type','CoinWrapper\x20'+d['id']+'\x20is\x20missing\x20payment\x20info;\x20query\x20with\x20type=\x27CoinWrapper\x27\x20(ReceivedBalance)\x20or\x20provide\x20content_raw.payment');const [h,i]=await Promise['all']([LocalMark['Instance']()['get_address'](d['id']),LocalMark['Instance']()['get_address'](g)]);if(!h||!i)a49b('invalid\x20argument\x20type','Received\x20'+d['id']+'\x20or\x20Payment\x20'+g+'\x20is\x20invalid');a['moveCall']({'target':orderFn('owner_receive'),'arguments':[a49g(a,b),a49e(a,h,d['version'],d['digest']),a49g(a,i)],'typeArguments':[f]});continue;}a['moveCall']({'target':orderFn('owner_receive_object'),'arguments':[a49g(a,b),a49e(a,d['id'],d['version'],d['digest'])],'typeArguments':[d['type']]});}else{const j=c['token_type']['match'](/CoinWrapper<([^>]+)>/);if(!j)a49b('invalid\x20argument\x20type','Invalid\x20CoinWrapper\x20type:\x20'+c['token_type']);const k=j[0x1];if(!a49m(k))a49b('invalid\x20argument\x20type','Invalid\x20CoinWrapper\x20type:\x20'+k);for(const l of c['received']){const [m,n]=await Promise['all']([LocalMark['Instance']()['get_address'](l['id']),LocalMark['Instance']()['get_address'](l['payment'])]);if(!m||!n)a49b('invalid\x20argument\x20type','Received\x20'+l['id']+'\x20or\x20Payment\x20'+l['payment']+'\x20is\x20invalid');a['moveCall']({'target':orderFn('owner_receive'),'arguments':[a49g(a,b),a49e(a,m,l['version'],l['digest']),a49g(a,n)],'typeArguments':[k]});}}}function order_required_info_update(a,b,c){if(c!=null&&!a49a(c))a49b('invalid\x20address','order_required_info_update\x20im_or_proof\x20must\x20be\x20a\x20pre-resolved\x200x\x20address\x20or\x20null\x20(clear)\x20—\x20got:\x20'+c);a49D([b]),a['moveCall']({'target':orderFn('required_info_update'),'arguments':[a49g(a,b),a['pure']['option']('address',c)]});}function compensation_claim(a,b){if(!a49m(b['service_type']))a49b('invalid\x20parameter','Compensation\x20claim\x20service\x20type\x20'+b['service_type']+'\x20is\x20not\x20valid');if(!a49m(b['arbitration_type']))a49b('invalid\x20parameter','Compensation\x20claim\x20arbitration\x20type\x20'+b['arbitration_type']+'\x20is\x20not\x20valid');a49D([b['service'],b['arbitration_object'],b['order'],b['arb']]),a['moveCall']({'target':a49f('compensation_claim'),'arguments':[a49g(a,b['service']),a49g(a,b['arbitration_object']),a49g(a,b['order']),a49g(a,b['arb']),a['object']['clock']()],'typeArguments':[b['service_type'],b['arbitration_type']]});}const NAMED_OPERATOR_ORDER_PAYER='';var CallService=class extends a49B{constructor(a){super(),this['object_address']=void 0x0,this['permission_address']=void 0x0,this['new_permission_description']=void 0x0,this['parameter_type']=void 0x0,this['checkPublished']=b=>{if(this['content']&&!this['content']['bPublished'])a49b('fail','Service\x20object\x20has\x20not\x20been\x20published\x20yet,\x20so\x20the\x20operation\x20('+b+')\x20cannot\x20proceed.');},this['checkNotPublishedAbsolute']=b=>{if(this['content']&&this['content']['bPublished'])a49b('fail','Service\x20is\x20published.\x20Operation\x20('+b+')\x20is\x20PERMANENTLY\x20BLOCKED\x20(Move\x20layer:\x20assert!(!bPublished)\x20at\x20service.move\x20L633/L653/L503).\x20Must\x20create\x20a\x20new\x20Service.');},this['checkNotPublishedConditional']=b=>{if(this['content']&&this['content']['bPublished']){const c=this['content'];if(c['paused_time']!=null&&c['setting_lock_duration']!=null){const d=Number(c['paused_time']),e=Number(c['setting_lock_duration']),f=Date['now'](),g=d+e;if(f>=g)return;a49b('fail','Service\x20is\x20published\x20and\x20locked.\x20Operation\x20('+b+')\x20requires\x20pause\x20+\x20setting_lock_duration\x20wait\x20(Move\x20layer:\x20assert_not_published\x20at\x20service.move\x20L303-308).\x20Paused\x20at:\x20'+d+',\x20lock_duration:\x20'+e+'ms,\x20unlock\x20at:\x20'+g+',\x20current:\x20'+f+',\x20remaining:\x20'+(g-f)+'ms.');}a49b('fail','Service\x20is\x20published.\x20Operation\x20('+b+')\x20requires\x20pause\x20+\x20setting_lock_duration\x20wait\x20(Move\x20layer:\x20assert_not_published\x20at\x20service.move\x20L303-308).\x20Please\x20pause\x20the\x20Service\x20first\x20(pause:\x20true)\x20and\x20wait\x20for\x20setting_lock_duration\x20to\x20pass.');}},this['checkNotPaused']=b=>{if(this['content']&&this['content']['bPaused'])a49b('fail','Service\x20object\x20has\x20been\x20paused\x20and\x20operation\x20('+b+')\x20cannot\x20proceed.');},this['data']=a;}async['prepare'](a){await super['prepare'](a);if(!this['object_address'])this['object_address']=await a49o(this['data']?.['object']);if(this['object_address']){this['content']=void 0x0,await this['update_content'](a,'Service',this['object_address']);if(!this['content'])a49b('invalid\x20parameter','CallService_Data.data.object:'+this['object_address']);this['permission_address']=this['content']['permission'],this['parameter_type']=a49A(this['content']['type_raw'],'service::Service');if(!this['permission_address'])a49b('invalid\x20parameter','CallService_Data.data.object.permission\x20is\x20empty');if(!a49m(this['parameter_type']))a49b('invalid\x20argument\x20type','CallService_Data.data.object.type_parameter\x20is\x20empty');}else{const c=a49j(this['data']['object']);this['permission_address']=await a49o(c?.['permission']),this['new_permission_description']=a49l(c?.['permission']),this['parameter_type']=c?.['type_parameter'];if(!a49m(this['parameter_type']))a49b('invalid\x20argument\x20type','CallService_Data.data.object.type_parameter\x20invalid');}if(this['data']['buy_guard']!=null&&!a49a(this['data']['buy_guard'])){const d=await LocalMark['Instance']()['get_address'](this['data']['buy_guard']);if(!d||!a49a(d))a49b('invalid\x20address','buy_guard:\x20'+this['data']['buy_guard']);this['data']['buy_guard']=d;}if(this['data']['rewards']?.['op']==='add'||this['data']['rewards']?.['op']==='set')this['_resolved_rewards_add']=await a49V(a,this['data']['rewards']['objects'],'Reward','reward::Reward',!![]);if(this['data']['arbitrations']?.['op']==='add'||this['data']['arbitrations']?.['op']==='set')this['_resolved_arbitrations_add']=await a49V(a,this['data']['arbitrations']['objects'],'Arbitration','arbitration::Arbitration',!![]);if(this['data']['compensation_fund_receive']==='recently'&&this['object_address']){const e=await a49P({'name_or_address':{'name_or_address':this['object_address'],'local_mark_first':!![]},'type':'CoinWrapper','network':a['network'],'no_cache':a['no_cache']});if(Array['isArray'](e))a49b('invalid\x20parameter','CallService_Data.data.compensation_fund_receive:\x20received\x20is\x20ReceivedNormal[]\x20(expected\x20ReceivedBalance)');this['_resolved_comp_fund_receive']=e;}{const f=this['_resolved_comp_fund_receive']!==void 0x0?this['_resolved_comp_fund_receive']:this['data']['compensation_fund_receive'];if(f!=null&&typeof f==='object'&&!Array['isArray'](f)&&'received'in f&&Array['isArray'](f['received'])){const h=f['received'],i=[];for(const j of h){let k;if(j['id']!=null&&a49a(j['id']))k=j['id'];else{if(j['id']!=null)k=await LocalMark['Instance']()['get_address'](j['id'])||void 0x0;}let l;if(j['payment']!=null&&a49a(j['payment']))l=j['payment'];else{if(j['payment']!=null)l=await LocalMark['Instance']()['get_address'](j['payment'])||void 0x0;}i['push']({'id':k,'payment':l});}this['_resolved_comp_items']=i;}}if(this['data']['owner_receive']==='recently'&&this['object_address'])this['_resolved_owner_receive']=await a49P({'name_or_address':{'name_or_address':this['object_address'],'local_mark_first':!![]},'network':a['network'],'no_cache':a['no_cache']});if(this['data']['repositories']?.['op']==='add'||this['data']['repositories']?.['op']==='set')this['_resolved_repos_add']=await LocalMark['Instance']()['get_many_address_availables'](this['data']['repositories']['objects']);else{if(this['data']['repositories']?.['op']==='remove')this['_resolved_repos_remove']=await LocalMark['Instance']()['get_many_address_availables'](this['data']['repositories']['objects']);}if(this['data']['rewards']?.['op']==='remove')this['_resolved_rewards_remove']=await LocalMark['Instance']()['get_many_address_availables'](this['data']['rewards']['objects']);if(this['data']['arbitrations']?.['op']==='remove')this['_resolved_arbitrations_remove']=await LocalMark['Instance']()['get_many_address_availables'](this['data']['arbitrations']['objects']);if(this['data']['discount_destroy']!=null)this['_resolved_discount_destroy']=await LocalMark['Instance']()['get_many_address_availables'](this['data']['discount_destroy']);const b=this['data']['order_new']?.['buy']?.['discount'];if(b!=null&&b!==void 0x0){if(a49a(String(b)))this['_resolved_buy_discount']=String(b);else{const o=await LocalMark['Instance']()['get_address'](b);if(!o||!a49a(o))a49b('invalid\x20address','order_new.buy.discount\x20not\x20found:\x20'+b);this['_resolved_buy_discount']=o;}}if(this['data']['order_new']?.['agents']!=null)this['_resolved_buy_agents']=await a49F(this['data']['order_new']['agents']);{const p=this['data']['order_new']?.['order_required_info'];if(typeof p==='string'&&p['length']>0x0){const q=await LocalMark['Instance']()['get_address'](p);if(!q||!a49a(q))a49b('invalid\x20parameter','order_required_info\x20'+p+'\x20not\x20found\x20(address,\x20account\x20or\x20mark)');this['_resolved_buy_required_info']=q;}}if(this['data']['discount']!=null)this['_resolved_discount_recipient']=Array['isArray'](this['data']['discount']['recipient'])?this['data']['discount']['recipient']:await a49F(this['data']['discount']['recipient']);if(this['data']['machine']!==void 0x0&&this['data']['machine']!==null&&this['data']['machine']!==''){if(a49a(this['data']['machine']))this['_resolved_machine']=this['data']['machine'];else{const s=await LocalMark['Instance']()['get_address'](this['data']['machine']);if(s)this['_resolved_machine']=s;else a49b('invalid\x20argument\x20type','Machine\x20not\x20found\x20'+this['data']['machine']);}}else{if(this['data']['machine']===null||this['data']['machine']==='')this['_resolved_machine']=null;}if(this['data']['um']!==void 0x0){if(this['data']['um']===null||this['data']['um']==='')this['_resolved_um']=null;else{if(a49a(this['data']['um']))this['_resolved_um']=this['data']['um'];else{const t=await LocalMark['Instance']()['get_address'](this['data']['um']);if(t)this['_resolved_um']=t;else a49b('invalid\x20parameter','CallService_Data.data.um:'+this['data']['um']);}}}if(this['data']['compensation_fund_withdraw']!=null){this['_resolved_comp_withdraw_pi']=await resolvePaymentInfoContext(a,this['data']['compensation_fund_withdraw']['payment_info']);const v=await a49I(this['data']['compensation_fund_withdraw']['receipt']);if(!v||!a49a(v))a49b('invalid\x20address','compensation_fund_withdraw\x20receipt:\x20'+JSON['stringify'](this['data']['compensation_fund_withdraw']['receipt']));this['_resolved_comp_withdraw_receipt']=v;}if(this['data']['order_new']!=null&&this['content']){const w=this['content']['sales'],x=new Set();for(const y of this['data']['order_new']['buy']['items']){const z=w['find'](B=>B['name']===y['name']);if(!z)a49b('invalid\x20parameter','Product\x20\x22'+y['name']+'\x22\x20not\x20found\x20in\x20Service\x20sales');if(y['wip_hash']===''&&z['wip_hash']!=='')y['wip_hash']=z['wip_hash'];if(x['has'](z['wip']))continue;if(z['wip']==='')continue;const A=await verify_wip(z['wip'],y['wip_hash']!==''?y['wip_hash']:void 0x0);if(!A['valid'])a49b('invalid\x20parameter','WIP\x20file\x20verification\x20failed\x20for\x20product\x20\x22'+y['name']+'\x22\x20at\x20'+z['wip']+':\x20'+A['error']);x['add'](z['wip']);}this['_resolved_buy_total_pay']=await a49J(a,this['data']['order_new']['buy']['total_pay'],this['parameter_type']);}if(this['data']['order_new']?.['transfer']!=null){const B=await a49I(this['data']['order_new']['transfer']);if(!B||!a49a(B))a49b('invalid\x20address','order_new.transfer\x20not\x20found:\x20'+JSON['stringify'](this['data']['order_new']['transfer']));this['_resolved_buy_transfer']=B;}if(this['data']['sales']?.['op']==='add'||this['data']['sales']?.['op']==='set'){for(const C of this['data']['sales']['sales'])if(C['wip']!==''){const D=await verify_wip(C['wip'],C['wip_hash']!==''?C['wip_hash']:void 0x0);if(!D['valid'])a49b('invalid\x20parameter','WIP\x20file\x20verification\x20failed\x20for\x20product\x20\x22'+C['name']+'\x22\x20at\x20'+C['wip']+':\x20'+D['error']);const E=new WIP(),F=await E['load'](C['wip']);C['wip_hash']=E['getHash'](F);}}if(this['data']['order_allocators']!=null)this['_resolved_order_allocators']=await resolveAllocators(this['data']['order_allocators']);if(this['data']['compensation_fund_add']!=null)this['_resolved_comp_fund_add_coin']=await a49J(a,this['data']['compensation_fund_add'],this['parameter_type']);await this['preResolveReceivedItems'](this['_resolved_owner_receive']!==void 0x0?this['_resolved_owner_receive']:this['data']['owner_receive']);}async['call'](a){await this['prepare'](a);const b=[],c=[],d=f=>{if(!b['includes'](f))b['push'](f);},e=f=>{if(this['permission_address']&&!c['includes'](f))c['push'](f);};if(this['permission_address']&&!this['object_address'])e(0x12c);if(this['data']?.['order_new']){if(!this['content'])a49b('invalid\x20parameter','CallService_Data.data.order_new\x20fail\x20because\x20the\x20Service\x20'+JSON['stringify'](this['data']['object'])+'\x20content\x20not\x20ready');this['order_allowed']();if(this['content']['buy_guard']!=null)d(this['content']['buy_guard']);}if(this['permission_address']&&this['data']?.['description']!=null&&this['object_address'])e(0x12d);if(this['permission_address']&&this['data']?.['location']!=null)e(0x12f);if(this['permission_address']&&this['data']?.['repositories']!=null)e(0x130);if(this['permission_address']&&this['data']?.['sales']!=null)e(0x131);this['permission_address']&&this['data']?.['machine']!==void 0x0&&(this['checkNotPublishedAbsolute']('machine'),e(0x132));if(this['permission_address']&&this['data']?.['discount']!=null)e(0x138);if(this['permission_address']&&this['data']?.['arbitrations']!=null){if(this['data']['arbitrations']['op']==='remove'||this['data']['arbitrations']['op']==='clear')this['checkNotPublishedConditional']('arbitrations');e(0x134);}this['permission_address']&&this['data']?.['customer_required']!=null&&(this['checkCustomerRequiredNeedsUm'](),e(0x135));if(this['permission_address']&&this['data']?.['pause']!==void 0x0)e(0x136);this['permission_address']&&this['data']?.['publish']&&(this['checkCustomerRequiredNeedsUm'](),e(0x137));this['permission_address']&&this['data']?.['order_allocators']!==void 0x0&&(this['checkNotPublishedAbsolute']('order_allocators'),e(0x139));if(this['permission_address']&&this['data']?.['buy_guard']!=null)e(0x133);if(this['permission_address']&&this['data']?.['compensation_fund_add']!=null)e(0x13b);this['permission_address']&&this['data']?.['compensation_fund_withdraw']!=null&&(this['checkNotPublishedConditional']('compensation_fund_withdraw'),e(0x13a));if(this['permission_address']&&this['data']?.['setting_lock_duration_add']!==void 0x0)e(0x13d);if(this['permission_address']&&this['data']?.['rewards']!=null){if(this['data']['rewards']['op']==='remove'||this['data']['rewards']['op']==='clear')this['checkNotPublishedConditional']('rewards');e(0x13e);}if(this['permission_address']&&this['data']?.['compensation_fund_receive']!=null)e(0x13c);if(this['permission_address']&&this['data']?.['owner_receive']!=null)e(0x13f);if(this['permission_address']&&this['data']?.['um']!==void 0x0)e(0x140);if(this['permission_address']||b['length']>0x0)return await this['check_permission_and_call'](a,this['permission_address'],c,b);return await this['exec'](a);}async['operate'](a,b,c,d){let e=this['permission_address'],f=this['object_address'];if(!this['object_address']){if(!e)e=newPermission(b,this['new_permission_description']??'');if(e&&this['parameter_type'])f=newService(b,this['parameter_type'],e,this['data']?.['description']??'',c);}if(!f||!e)a49b('invalid\x20parameter','CallService_Data.data.object:'+this['object_address']);let g;if(this['data']?.['order_new']!=null&&this['content']){this['order_allowed']();const h=this['data']?.['order_new'];if(this['_resolved_buy_discount']!==void 0x0)h['buy']['discount']=this['_resolved_buy_discount'];g=await buy(a,b,f,this['parameter_type'],this['content']['machine'],h['buy'],c,this['_resolved_buy_total_pay']);if(!g)a49b('fail','Buy\x20failed,\x20no\x20order\x20created');if(h?.['agents']!=null)agent_set(b,{'order':g['order'],'agents':this['_resolved_buy_agents']??[]});if(this['_resolved_buy_required_info']!=null)order_required_info_update(b,g['order'],this['_resolved_buy_required_info']);if(h?.['transfer']!=null){const j=this['_resolved_buy_transfer'];if(!j)a49b('invalid\x20parameter','order_new.transfer\x20internal\x20invariant\x20—\x20not\x20pre-resolved');await owner_change(b,{'order':g['order'],'new_owner':j});}if(h?.['namedNewAllocation']!=null&&g?.['allocation'])await this['new_with_mark'](a,b,'Allocation',g?.['allocation'],a49j(h['namedNewAllocation']));if(g?.['progress']){if(h?.['namedNewProgress']!=null)await this['new_with_mark'](a,b,'Progress',a49W(b,g?.['progress']),a49j(h['namedNewProgress']));else a49W(b,g?.['progress']);}if(g?.['order']){const k=create$1(b,g?.['order']);if(h?.['namedNewOrder']!=null)await this['new_with_mark'](a,b,'Order',k,a49j(h['namedNewOrder']));}}if(this['object_address']&&this['data']['description']!=null)description_set(b,f,this['parameter_type'],e,this['data']['description'],c);if(this['data']['location']!=null)location_set(b,f,this['parameter_type'],e,this['data']['location'],c);if(this['data']['sales']!=null)switch(this['data']['sales']['op']){case'add':case'set':if(this['data']['sales']['op']==='add')sales_add(b,f,this['parameter_type'],e,this['data']['sales']['sales'],c);else sales_set(b,f,this['parameter_type'],e,this['data']['sales']['sales'],c);break;case'remove':sales_remove(b,f,this['parameter_type'],e,this['data']['sales']['sales_name'],c);break;case'clear':sales_clear(b,f,this['parameter_type'],e,c);break;}if(this['data']['repositories']!=null)switch(this['data']['repositories']['op']){case'add':case'set':if(this['data']['repositories']['objects']['length']>MAX_REPOSITORY_COUNT)a49b('invalid\x20parameter','CallService_Data.data.repositories.objects:'+this['data']['repositories']['objects']);if(this['data']['repositories']['op']==='set')repository_clear(b,f,this['parameter_type'],e,c);(this['_resolved_repos_add']??[])['forEach'](l=>{repository_add(b,f,this['parameter_type'],e,l,c);});break;case'remove':{if(this['data']['repositories']['objects']['length']>MAX_REPOSITORY_COUNT)a49b('invalid\x20parameter','CallService_Data.data.repositories.objects:'+this['data']['repositories']['objects']);const l=this['_resolved_repos_remove']??[];repository_remove(b,f,this['parameter_type'],e,l,c);break;}case'clear':repository_clear(b,f,this['parameter_type'],e,c);break;}if(this['data']['rewards']!=null)switch(this['data']['rewards']['op']){case'add':case'set':if(this['data']['rewards']['objects']['length']>MAX_REWARD_COUNT)a49b('invalid\x20parameter','rewards\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_REWARD_COUNT);if(this['data']['rewards']['op']==='set')reward_clear(b,f,this['parameter_type'],e,c);(this['_resolved_rewards_add']??[])['forEach'](o=>{reward_add(b,f,this['parameter_type'],e,o['object'],o['type'],c);});break;case'remove':{if(this['data']['rewards']['objects']['length']>MAX_REWARD_COUNT)a49b('invalid\x20parameter','rewards\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_REWARD_COUNT);const o=this['_resolved_rewards_remove']??[];reward_remove(b,f,this['parameter_type'],e,o,c);break;}case'clear':reward_clear(b,f,this['parameter_type'],e,c);break;}if(this['data']['arbitrations']!=null)switch(this['data']['arbitrations']['op']){case'add':case'set':if(this['data']['arbitrations']['objects']['length']>MAX_ARBITRATION_COUNT)a49b('invalid\x20parameter','arbitrations\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_ARBITRATION_COUNT);if(this['data']['arbitrations']['op']==='set')arbitration_clear(b,f,this['parameter_type'],e,c);(this['_resolved_arbitrations_add']??[])['forEach'](q=>{arbitrations_add(b,f,this['parameter_type'],e,q['object'],q['type'],c);});break;case'remove':{if(this['data']['arbitrations']['objects']['length']>MAX_ARBITRATION_COUNT)a49b('invalid\x20parameter','arbitrations\x20count\x20exceeds\x20maximum\x20limit\x20'+MAX_ARBITRATION_COUNT);const q=this['_resolved_arbitrations_remove']??[];arbitrations_remove(b,f,this['parameter_type'],e,q,c);break;}case'clear':arbitration_clear(b,f,this['parameter_type'],e,c);break;}if(this['data']['discount']!=null)discount(b,f,this['parameter_type'],e,this['data']['discount'],this['_resolved_discount_recipient'],c);if(this['data']['discount_destroy']!=null)discount_destroy(b,this['_resolved_discount_destroy']??[]);if(this['data']['machine']!==void 0x0){const r=this['_resolved_machine'];if(this['data']['machine']&&!r)a49b('invalid\x20argument\x20type','Machine\x20not\x20found\x20'+this['data']['machine']);this['data']['machine']=r??(this['data']['machine']||null),machine_set(b,f,this['parameter_type'],e,this['data']['machine'],c);}if(this['data']['customer_required']!=null)customer_required_set(b,f,this['parameter_type'],e,this['data']['customer_required'],c);if(this['data']['order_allocators']!==void 0x0)order_allocators_set(b,f,this['parameter_type'],e,this['data']['order_allocators']?await allocators(b,this['data']['order_allocators'],this['_resolved_order_allocators']):null,c);if(this['data']['buy_guard']!==void 0x0)buy_guard_set(b,f,this['parameter_type'],e,this['data']['buy_guard'],c);if(this['data']['compensation_fund_add']!=null)await compensation_fund_add(a,b,f,this['parameter_type'],e,this['data']['compensation_fund_add'],c,this['_resolved_comp_fund_add_coin']);if(this['data']['compensation_fund_withdraw']!=null){const s=this['_resolved_comp_withdraw_receipt'];if(!s||!a49a(s))a49b('invalid\x20address','compensation_fund_withdraw\x20receipt\x20internal\x20invariant\x20—\x20not\x20pre-resolved:\x20'+JSON['stringify'](this['data']['compensation_fund_withdraw']['receipt']));const t=await paymentInfo(a,b,this['data']['compensation_fund_withdraw']['payment_info'],this['_resolved_comp_withdraw_pi']);compensation_fund_withdraw(b,f,this['parameter_type'],t,s,e,c);}if(this['data']['setting_lock_duration_add']!==void 0x0)setting_lock_duration_add(b,f,this['parameter_type'],e,this['data']['setting_lock_duration_add'],c);if(this['data']['compensation_fund_receive']!=null&&this['object_address']){const u=this['_resolved_comp_fund_receive']!==void 0x0?this['_resolved_comp_fund_receive']:this['data']['compensation_fund_receive'];if(typeof u==='object'&&!Array['isArray'](u)&&'received'in u){if(u['token_type']!==this['parameter_type'])a49b('invalid\x20parameter','token_type\x20'+u['token_type']+'\x20is\x20not\x20equal\x20to\x20parameter_type\x20'+this['parameter_type']);const v=u['received'],w=this['_resolved_comp_items'];if(v?.['length']>0x0){if(!w||w['length']!==v['length'])a49b('invalid\x20parameter','CallService.compensation_fund_receive\x20internal\x20invariant\x20—\x20pre-resolved\x20count\x20mismatch\x20('+(w?.['length']??0x0)+'\x20vs\x20'+v['length']+')');for(let x=0x0;x<v['length'];x++){const y=v[x],z=w[x],A=z?.['id'],B=z?.['payment'];if(!A||!B)a49b('invalid\x20argument\x20type','Compensation\x20fund\x20receive\x20object\x20'+y['id']+'\x20or\x20payment\x20object\x20'+y['payment']+'\x20not\x20found');compensation_fund_receive(b,f,this['parameter_type'],e,A,B,c);}}}else{if(Array['isArray'](u))a49b('invalid\x20parameter','CallService_Data.data.compensation_fund_receive:\x20received\x20is\x20ReceivedNormal[]\x20(expected\x20ReceivedBalance)');}}if(this['data']['owner_receive']!=null&&this['object_address']){const C=this['_resolved_owner_receive']!==void 0x0?this['_resolved_owner_receive']:this['data']['owner_receive'];if(C==='recently')a49b('invalid\x20parameter','CallService.data.owner_receive\x20internal\x20invariant\x20—\x20\x27recently\x27\x20not\x20pre-resolved');await a49G(b,f,e,C,this['parameter_type'],D=>'0x2::service::'+D,c);}if(this['data']['um']!==void 0x0){const D=this['_resolved_um']??null;if(this['data']['um']&&!D)a49b('invalid\x20parameter','CallService_Data.data.um:'+this['data']['um']);um_set(b,f,this['parameter_type'],e,D,c);}if(this['data']['pause']!=null)pause(b,f,this['parameter_type'],e,this['data']['pause'],c);if(this['data']['publish'])publish(b,f,this['parameter_type'],e,c);if(!this['permission_address']){const E=a49j(this['data']?.['object']);await this['new_with_mark'](a,b,'Permission',a49Q(b,e),a49j(E['permission']));}if(!this['object_address'])await this['new_with_mark'](a,b,'Service',create(b,f,this['parameter_type']),a49j(this['data']?.['object']));}['order_allowed'](){if(this['content']?.['bPaused'])return a49b('invalid\x20parameter','Service\x20is\x20paused'),![];if(this['content']?.['bPublished']!==!![])return a49b('invalid\x20parameter','Service\x20is\x20not\x20published'),![];return!![];}['checkCustomerRequiredNeedsUm'](){const a=this['content'],b=Array['isArray'](this['data']['customer_required'])?this['data']['customer_required']:a?.['customer_required']??[];if(b['length']===0x0)return;if(!(this['data']['um']!==void 0x0?this['data']['um']:a?.['um']??null))a49b('invalid\x20parameter','customer_required\x20is\x20set\x20to\x20['+b['join'](',\x20')+']\x20but\x20no\x20Contact\x20(um)\x20is\x20configured.\x20The\x20customer\x27s\x20private\x20information\x20is\x20delivered\x20via\x20end-to-end\x20encrypted\x20Messenger,\x20which\x20routes\x20to\x20the\x20Contact\x20object\x20bound\x20as\x20um.\x20Without\x20um\x20there\x20is\x20no\x20channel\x20to\x20receive\x20it.\x20Set\x20um\x20(Contact)\x20together\x20with\x20customer_required.');}};const MAX_SALE_COUNT=a49x,MAX_REPOSITORY_COUNT=a49w,MAX_ARBITRATION_COUNT=a49K,MAX_REWARD_COUNT=a49s,MAX_CUSTOMER_REQUIRED_INFO_COUNT=a49O,MAX_DISCOUNT_COUNT_ONCE=a49L,MAX_DISCOUNT_RECEIVER_ONCE=a49C,MAX_DISCOUNT_TOTAL_COUNT=a49H,MAX_REQUIRED_INFO_SIZE=a49O,DEFAULT_SETTING_LOCK_DURATION=a49y,DEFAULT_LOCK_DURATION=a49y,DISCOUNT_TYPE_RATES=a49v,DISCOUNT_TYPE_MINUS=a49z,MAX_WIP_LENGTH=0x400,MAX_WIP_HASH_LENGTH=0x40;function sale(a,b){if(typeof b['name']==='string'&&!a49n(b['name']))a49b('invalid\x20parameter','Name\x20'+b['name']+'\x20exceeds\x20maximum\x20length\x20256');if(b['wip']['length']>MAX_WIP_LENGTH)a49b('invalid\x20parameter','WIP\x20'+b['wip']+'\x20exceeds\x20maximum\x20length\x20'+MAX_WIP_LENGTH);const c=b['wip'];if(b['wip']['length']>0x0&&!a49q(b['wip']))a49b('invalid\x20url','WIP\x20'+b['wip']+'\x20is\x20not\x20a\x20valid\x20HTTP/HTTPS\x20URL');const d=b['wip_hash']['includes'](':')?b['wip_hash']['split'](':')[0x1]:b['wip_hash'];if(d['length']>MAX_WIP_HASH_LENGTH)a49b('invalid\x20parameter','WIP\x20hash\x20'+d+'\x20exceeds\x20maximum\x20length\x20'+MAX_WIP_HASH_LENGTH);return a['moveCall']({'target':a49f('sale'),'arguments':[a49d(a,b['name']),a['pure']['u64'](b['price']),a['pure']['u64'](b['stock']),a['pure']['bool'](b['suspension']),a49d(a,c),a49d(a,d)]});}function quote_item(a,b){if(!a49n(b['name']))a49b('invalid\x20parameter','Quote\x20item\x20name\x20'+b['name']+'\x20is\x20not\x20valid');if(!a49i(b['stock']))a49b('invalid\x20u64','Quote\x20item\x20stock\x20'+b['stock']+'\x20is\x20not\x20valid');const c=b['wip_hash']['includes'](':')?b['wip_hash']['split'](':')[0x1]:b['wip_hash'];if(c['length']>MAX_WIP_HASH_LENGTH)a49b('invalid\x20parameter','Quote\x20item\x20wip_hash\x20'+c+'\x20exceeds\x20maximum\x20length\x20'+MAX_WIP_HASH_LENGTH);return a['moveCall']({'target':a49f('quote_item'),'arguments':[a49d(a,b['name']),a['pure']['u64'](b['stock']),a49d(a,c)]});}function discount_send(a,b,c){if(b['length']===0x0)return;a49D([...b,c]);if(b['length']>MAX_DISCOUNT_COUNT_ONCE)a49b('invalid\x20parameter','Discount\x20count\x20'+b['length']+'\x20exceeds\x20maximum\x20limit\x20'+MAX_DISCOUNT_COUNT_ONCE);if(b['length']===0x1){a['moveCall']({'target':a49f('discount_send_singleton'),'arguments':[a49g(a,b[0x0]),a['pure']['address'](c)]});return;}else a['moveCall']({'target':a49f('discount_send'),'arguments':[a['makeMoveVec']({'elements':b,'type':'0x2::service::Discount'}),a['pure']['address'](c)]});}function discount_destroy(a,b){a49D([...b]),b['forEach'](c=>{a['moveCall']({'target':a49f('discount_destroy'),'arguments':[a49g(a,c)]});});}const buy=async(a,b,c,d,e,f,g,h)=>{if(f['items']['length']===0x0)return;a49D([c,f['discount'],e,g]);if(!a49m(d))a49b('invalid\x20parameter','Buy\x20service\x20type\x20'+d+'\x20is\x20not\x20valid');if(!a49c(f['items'],m=>{if(!a49n(m['name']))a49b('invalid\x20parameter','Buy\x20item\x20name\x20'+m['name']+'\x20is\x20not\x20valid');if(!a49i(m['stock']))a49b('invalid\x20u64','Buy\x20item\x20stock\x20'+m['stock']+'\x20is\x20not\x20valid');return!![];}))a49b('invalid\x20parameter','Buy\x20items\x20is\x20not\x20valid');if(typeof f['payment_remark']==='string'&&!a49p(f['payment_remark']))a49b('invalid\x20parameter','Buy\x20payment\x20remark\x20'+f['payment_remark']+'\x20is\x20not\x20valid');f['payment_remark']=f['payment_remark']||'';if(f['payment_index']!=null&&!a49i(f['payment_index']))a49b('invalid\x20u64','Buy\x20payment\x20index\x20'+f['payment_index']+'\x20is\x20not\x20valid');const i=h?a49N(b,h):await a49E(a,b,f['total_pay'],d);f['discount']=await LocalMark['Instance']()['get_address'](f['discount']);let j=void 0x0;if(f['discount'])j=b['moveCall']({'target':a49f('quote_with_discount'),'arguments':[a49g(b,c),b['makeMoveVec']({'elements':f['items']['map'](m=>quote_item(b,m)),'type':'0x2::service::QuoteItem'}),a49g(b,f['discount']),b['object']['clock']()],'typeArguments':[d]});else j=b['moveCall']({'target':a49f('quote'),'arguments':[a49g(b,c),b['makeMoveVec']({'elements':f['items']['map'](m=>quote_item(b,m)),'type':'0x2::service::QuoteItem'})],'typeArguments':[d]});let k;if(g)k=b['moveCall']({'target':a49f('buy_with_passport'),'arguments':[a49g(b,c),a49g(b,g),j,b['object']['mutEntityOrder'](),b['object']['mutObjectLinkerTx'](),b['object']['clock']()],'typeArguments':[d]});else k=b['moveCall']({'target':a49f('buy'),'arguments':[a49g(b,c),j,b['object']['mutEntityOrder'](),b['object']['mutObjectLinkerTx'](),b['object']['clock']()],'typeArguments':[d]});const l={'order':k};l['allocation']=b['moveCall']({'target':a49f('order_allocation'),'arguments':[a49g(b,c),a49g(b,k),i,b['pure']['string'](f['payment_remark']??''),b['pure']['u64'](f['payment_index']||0x0),b['object']['mutObjectLinkerTx'](),b['object']['clock']()],'typeArguments':[d]});if(e)l['progress']=b['moveCall']({'target':a49f('order_progress'),'arguments':[a49g(b,c),a49g(b,k),a49g(b,e),b['object']['mutObjectLinkerTx'](),b['object']['clock']()],'typeArguments':[d]});return l;};function newService(a,b,c,d,e){a49D([c,e]);if(typeof d==='string'&&!a49k(d))a49b('invalid\x20description','Description\x20exceeds\x20maximum\x20length\x20'+a49r);if(!a49m(b))a49b('invalid\x20parameter','New\x20service\x20type\x20'+b+'\x20is\x20not\x20valid');if(e)return a['moveCall']({'target':a49f('new_with_passport'),'arguments':[a49g(a,c),a49g(a,e),a49d(a,d),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[b]});else return a['moveCall']({'target':a49f('new'),'arguments':[a49g(a,c),a49d(a,d),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[b]});}function description_set(a,b,c,d,e,f){a49D([b,d,f]);if(typeof e==='string'&&!a49k(e))a49b('invalid\x20description','Description\x20exceeds\x20maximum\x20length\x20'+a49r);if(!a49m(c))a49b('invalid\x20parameter','Description\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('description_set_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a49d(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49f('description_set'),'arguments':[a49g(a,b),a49g(a,d),a49d(a,e)],'typeArguments':[c]});}function um_set(a,b,c,d,e,f){a49D([b,d]);if(!a49m(c))a49b('invalid\x20parameter','Service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e){if(f)a['moveCall']({'target':a49f('um_set_with_passport'),'arguments':[a49g(a,b),a49g(a,d),f,a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('um_set'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}else{if(f)a['moveCall']({'target':a49f('um_none_with_passport'),'arguments':[a49g(a,b),a49g(a,d),f,a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('um_none'),'arguments':[a49g(a,b),a49g(a,d),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}}function location_set(a,b,c,d,e,f){a49D([b,d,f]);if(typeof e==='string'&&!a49n(e))a49b('invalid\x20parameter','Location\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49m(c))a49b('invalid\x20parameter','Location\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('location_set_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a49d(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49f('location_set'),'arguments':[a49g(a,b),a49g(a,d),a49d(a,e)],'typeArguments':[c]});}function create(a,b,c){a49D([b]);if(!a49m(c))a49b('invalid\x20parameter','Create\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');return a['moveCall']({'target':a49f('create'),'arguments':[a49g(a,b)],'typeArguments':[c]});}function sales_add(a,b,c,d,e,f){if(e['length']===0x0)return;a49D([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Sales\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('sales_add_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});else a['moveCall']({'target':a49f('sales_add'),'arguments':[a49g(a,b),a49g(a,d),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});}function sales_remove(a,b,c,d,e,f){if(e['length']===0x0)return;a49D([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Sales\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('sales_remove_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['pure']['vector']('string',e)],'typeArguments':[c]});else a['moveCall']({'target':a49f('sales_remove'),'arguments':[a49g(a,b),a49g(a,d),a['pure']['vector']('string',e)],'typeArguments':[c]});}function sales_clear(a,b,c,d,e){a49D([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Sales\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49f('sales_clear_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49f('sales_clear'),'arguments':[a49g(a,b),a49g(a,d)],'typeArguments':[c]});}function sales_set(a,b,c,d,e,f){if(e['length']===0x0)return;a49D([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Sales\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('sales_set_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});else a['moveCall']({'target':a49f('sales_set'),'arguments':[a49g(a,b),a49g(a,d),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});}function price_add(a,b,c,d,e,f,g){a49D([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Price\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49n(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49i(f))a49b('invalid\x20u64','Price\x20add\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49f('price_add_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,g),a49d(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49f('price_add'),'arguments':[a49g(a,b),a49g(a,d),a49d(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function price_reduce(a,b,c,d,e,f,g){a49D([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Price\x20reduce\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49n(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49i(f))a49b('invalid\x20u64','Price\x20reduce\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49f('price_reduce_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,g),a49d(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49f('price_reduce'),'arguments':[a49g(a,b),a49g(a,d),a49d(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function stock_add(a,b,c,d,e,f,g){a49D([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Stock\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49n(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49i(f))a49b('invalid\x20u64','Stock\x20add\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49f('stock_add_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,g),a49d(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49f('stock_add'),'arguments':[a49g(a,b),a49g(a,d),a49d(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function stock_reduce(a,b,c,d,e,f,g){a49D([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Stock\x20reduce\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49n(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49i(f))a49b('invalid\x20u64','Stock\x20reduce\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49f('stock_reduce_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,g),a49d(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49f('stock_reduce'),'arguments':[a49g(a,b),a49g(a,d),a49d(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function sale_suspension(a,b,c,d,e,f,g){a49D([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Sale\x20suspension\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49n(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(g)a['moveCall']({'target':a49f('sale_suspension_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,g),a49d(a,e),a['pure']['bool'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49f('sale_suspension'),'arguments':[a49g(a,b),a49g(a,d),a49d(a,e),a['pure']['bool'](f)],'typeArguments':[c]});}function repository_add(a,b,c,d,e,f){a49D([b,d,e,f]);if(!a49m(c))a49b('invalid\x20parameter','Repository\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('repository_add_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('repository_add'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}function repository_remove(a,b,c,d,e,f){if(e['length']===0x0)return;a49D([b,d,f,...e]);if(!a49m(c))a49b('invalid\x20parameter','Repository\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('repository_remove_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('repository_remove'),'arguments':[a49g(a,b),a49g(a,d),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}function repository_clear(a,b,c,d,e){a49D([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Repository\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49f('repository_clear_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('repository_clear'),'arguments':[a49g(a,b),a49g(a,d),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}function buy_guard_set(a,b,c,d,e,f){a49D([b,d,e,f]);if(!a49m(c))a49b('invalid\x20parameter','Buy\x20guard\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f){if(e)a['moveCall']({'target':a49f('buy_guard_set_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('buy_guard_none_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}else{if(e)a['moveCall']({'target':a49f('buy_guard_set'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('buy_guard_none'),'arguments':[a49g(a,b),a49g(a,d),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}}function machine_set(a,b,c,d,e,f){a49D([b,d,e,f]);if(!a49m(c))a49b('invalid\x20parameter','Machine\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f){if(e)a['moveCall']({'target':a49f('machine_set_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('machine_none_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}else{if(e)a['moveCall']({'target':a49f('machine_set'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('machine_none'),'arguments':[a49g(a,b),a49g(a,d),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}}function publish(a,b,c,d,e){a49D([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Publish\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49f('publish_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49f('publish'),'arguments':[a49g(a,b),a49g(a,d)],'typeArguments':[c]});}function pause(a,b,c,d,e,f){a49D([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Pause\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('pause_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['pure']['bool'](e),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('pause'),'arguments':[a49g(a,b),a49g(a,d),a['pure']['bool'](e),a['object']['clock']()],'typeArguments':[c]});}function customer_required_set(a,b,c,d,e,f){if(e['length']>MAX_REQUIRED_INFO_SIZE)a49b('invalid\x20parameter','Customer\x20required\x20set\x20size\x20'+e['length']+'\x20is\x20exceed\x20maximum\x20size\x20'+MAX_REQUIRED_INFO_SIZE);a49D([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Customer\x20required\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');e['forEach'](g=>{if(!a49p(g))a49b('invalid\x20parameter','Customer\x20required\x20info\x20'+g+'\x20is\x20exceed\x20maximum\x20length\x2064\x20or\x20start\x20with\x20\x220x\x22');});if(f)a['moveCall']({'target':a49f('custom_required_info_set_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['pure']['vector']('string',e)],'typeArguments':[c]});else a['moveCall']({'target':a49f('custom_required_info_set'),'arguments':[a49g(a,b),a49g(a,d),a['pure']['vector']('string',e)],'typeArguments':[c]});}function arbitrations_add(a,b,c,d,e,f,g){a49D([b,d,e,g]);if(!a49m(c))a49b('invalid\x20parameter','Arbitrations\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(!a49m(f))a49b('invalid\x20parameter','Arbitrations\x20add\x20arbitration\x20type\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49f('arbitration_add_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,g),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c,f]});else a['moveCall']({'target':a49f('arbitration_add'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c,f]});}function arbitrations_remove(a,b,c,d,e,f){if(e['length']===0x0)return;a49D([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Arbitrations\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('arbitration_remove_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('arbitration_remove'),'arguments':[a49g(a,b),a49g(a,d),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}function arbitration_clear(a,b,c,d,e){a49D([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Arbitrations\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49f('arbitration_clear_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('arbitration_clear'),'arguments':[a49g(a,b),a49g(a,d),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}async function compensation_fund_add(a,b,c,d,e,f,g,h){a49D([c,e,g]);if(!a49m(d))a49b('invalid\x20parameter','Compensation\x20fund\x20add\x20service\x20type\x20'+d+'\x20is\x20not\x20valid');const i=h?a49N(b,h):await a49E(a,b,f,d);if(g)b['moveCall']({'target':a49f('compensation_fund_add_with_passport'),'arguments':[a49g(b,c),a49g(b,e),a49g(b,g),i],'typeArguments':[d]});else b['moveCall']({'target':a49f('compensation_fund_add'),'arguments':[a49g(b,c),a49g(b,e),i],'typeArguments':[d]});}function setting_lock_duration_add(a,b,c,d,e,f){if(!a49i(e)||BigInt(e)===0x0n)a49b('invalid\x20parameter','setting_lock_duration_add\x20duration_ms\x20'+e+'\x20is\x20invalid\x20—\x20must\x20be\x20a\x20positive\x20u64\x20in\x20milliseconds;\x20omit\x20the\x20field\x20to\x20leave\x20the\x20duration\x20unchanged');a49D([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','setting_lock_duration_add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('setting_lock_duration_add_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['pure']['u64'](e)],'typeArguments':[c]});else a['moveCall']({'target':a49f('setting_lock_duration_add'),'arguments':[a49g(a,b),a49g(a,d),a['pure']['u64'](e)],'typeArguments':[c]});}function order_allocators_set(a,b,c,d,e,f){a49D([b,d,e,f]);if(!a49m(c))a49b('invalid\x20parameter','Order\x20allocators\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('order_allocators_set_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['object']['option']({'type':'0x2::allocation::Allocators','value':e??null})],'typeArguments':[c]});else a['moveCall']({'target':a49f('order_allocators_set'),'arguments':[a49g(a,b),a49g(a,d),a['object']['option']({'type':'0x2::allocation::Allocators','value':e??null})],'typeArguments':[c]});}function reward_add(a,b,c,d,e,f,g){a49D([b,d,e,g]);if(!a49m(c))a49b('invalid\x20parameter','Rewards\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(!a49m(f))a49b('invalid\x20parameter','Rewards\x20add\x20reward\x20type\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49f('reward_add_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,g),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c,f]});else a['moveCall']({'target':a49f('reward_add'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c,f]});}function reward_remove(a,b,c,d,e,f){if(e['length']===0x0)return;a49D([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Rewards\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49f('reward_remove_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,f),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('reward_remove'),'arguments':[a49g(a,b),a49g(a,d),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}function reward_clear(a,b,c,d,e){a49D([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Rewards\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49f('reward_clear_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('reward_clear'),'arguments':[a49g(a,b),a49g(a,d),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}function compensation_fund_receive(a,b,c,d,e,f,g){if(!f)a49b('invalid\x20parameter','Compensation\x20fund\x20receive\x20payment\x20is\x20required');a49D([b,d,e,f,g]);if(!a49m(c))a49b('invalid\x20parameter','Compensation\x20fund\x20receive\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49f('compensation_fund_receive_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,g),a49g(a,e),a49g(a,f)],'typeArguments':[c]});else a['moveCall']({'target':a49f('compensation_fund_receive'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,e),a49g(a,f)],'typeArguments':[c]});}function compensation_fund_withdraw(a,b,c,d,e,f,g){a49D([b,f,e,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Compensation\x20fund\x20withdraw\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49f('compensation_fund_withdraw_with_passport'),'arguments':[a49g(a,b),a49g(a,f),a49g(a,g),a['pure']['address'](e),a49g(a,d),a['object']['mutObjectLinkerTx'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('compensation_fund_withdraw'),'arguments':[a49g(a,b),a49g(a,f),a['pure']['address'](e),a49g(a,d),a['object']['mutObjectLinkerTx'](),a['object']['clock']()],'typeArguments':[c]});}function discount(a,b,c,d,e,f,g){if(f['length']===0x0)a49b('invalid\x20parameter','Discount\x20recipient\x20is\x20empty\x20(Move:\x20E_DISCOUNT_RECEIVER_EMPTY=11).\x20Provide\x20at\x20least\x20one\x20recipient.');if(f['length']>MAX_DISCOUNT_RECEIVER_ONCE)a49b('invalid\x20parameter','Discount\x20recipient\x20length\x20'+f['length']+'\x20is\x20exceed\x20max\x20'+MAX_DISCOUNT_RECEIVER_ONCE);if(!a49p(e['name']))a49b('invalid\x20parameter','Discount\x20name\x20'+e['name']+'\x20is\x20not\x20valid');if(!a49h(e['count'])||e['count']===0x0||e['count']>MAX_DISCOUNT_COUNT_ONCE)a49b('invalid\x20parameter','Discount\x20count\x20'+e['count']+'\x20is\x20invalid\x20—\x20must\x20be\x20a\x20positive\x20u16\x20≤\x20'+MAX_DISCOUNT_COUNT_ONCE+'\x20(Move:\x20E_DISCOUNT_COUNT_EMPTY=12)');if(f['length']*e['count']>MAX_DISCOUNT_TOTAL_COUNT)a49b('invalid\x20parameter','Discount\x20total\x20count\x20'+f['length']*e['count']+'\x20is\x20exceed\x20max\x20'+MAX_DISCOUNT_TOTAL_COUNT);if(e['discount_type']!==0x0&&e['discount_type']!==0x1)a49b('invalid\x20parameter','Discount\x20discount_type\x20'+e['discount_type']+'\x20is\x20invalid\x20—\x20must\x20be\x20DiscountType.RATES(0)\x20or\x20DiscountType.FIXED(1)\x20(Move:\x20E_INVALID_DISCOUNT_TYPE=9)');if(e['benchmark']!=null&&!a49i(e['benchmark']))a49b('invalid\x20parameter','Discount\x20benchmark\x20'+e['benchmark']+'\x20is\x20not\x20valid');if(!a49i(e['discount_value']))a49b('invalid\x20parameter','Discount\x20discount_value\x20'+e['discount_value']+'\x20is\x20not\x20valid');if(e['discount_type']===0x0&&BigInt(e['discount_value'])>0x2710n)a49b('invalid\x20parameter','Discount\x20discount_value\x20'+e['discount_value']+'\x20exceeds\x2010000\x20for\x20RATES\x20type\x20(off\x20is\x20per-10000:\x2010000\x20=\x20100%\x20off)\x20(Move:\x20E_INVALID_OFF_ON_DISCOUNT_RATES)');const h=e['time_ms_start']??Date['now']();if(e['time_ms_end']<h)a49b('invalid\x20parameter','Discount\x20time_ms_end\x20'+e['time_ms_end']+'\x20is\x20not\x20valid');a49D([b,d,g,...f]);if(!a49m(c))a49b('invalid\x20parameter','Discount\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49f('discount_with_passport'),'arguments':[a49g(a,b),a49g(a,d),a49g(a,g),a['pure']['string'](e['name']),a['pure']['u8'](e['discount_type']),a['pure']['u64'](e['discount_value']),a['pure']['option']('u64',e['benchmark']??null),a['pure']['bool'](e['transferable']),a['pure']['option']('u64',e['time_ms_start']??null),a['pure']['u64'](e['time_ms_end']),a['pure']['u16'](e['count']),a['pure']['vector']('address',f),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49f('discount'),'arguments':[a49g(a,b),a49g(a,d),a['pure']['string'](e['name']),a['pure']['u8'](e['discount_type']),a['pure']['u64'](e['discount_value']),a['pure']['option']('u64',e['benchmark']??null),a['pure']['bool'](e['transferable']),a['pure']['option']('u64',e['time_ms_start']??null),a['pure']['u64'](e['time_ms_end']),a['pure']['u16'](e['count']),a['pure']['vector']('address',f),a['object']['clock']()],'typeArguments':[c]});}export{CallOrder as $,location_set as A,repository_remove as B,compensation_fund_withdraw as C,discount as D,description_set as E,price_add as F,sales_add as G,reward_clear as H,price_reduce as I,sales_set as J,sales_clear as K,publish as L,newService as M,order_allocators_set as N,discount_destroy as O,pause as P,um_set as Q,repository_add as R,compensation_fund_receive as S,customer_required_set as T,reward_remove as U,reward_add as V,sale_suspension as W,stock_add as X,setting_lock_duration_add as Y,stock_reduce as Z,arbitrations_add as _,DISCOUNT_TYPE_RATES as a,buy_guard_set as b,MAX_DISCOUNT_COUNT_ONCE as c,MAX_REPOSITORY_COUNT as d,MAX_REQUIRED_INFO_SIZE as f,arbitration_clear as g,NAMED_OPERATOR_ORDER_PAYER as h,DISCOUNT_TYPE_MINUS as i,machine_set as j,discount_send as k,MAX_DISCOUNT_RECEIVER_ONCE as l,MAX_SALE_COUNT as m,DEFAULT_LOCK_DURATION as n,MAX_ARBITRATION_COUNT as o,MAX_REWARD_COUNT as p,sales_remove as q,DEFAULT_SETTING_LOCK_DURATION as r,MAX_CUSTOMER_REQUIRED_INFO_COUNT as s,CallService as t,MAX_DISCOUNT_TOTAL_COUNT as u,arbitrations_remove as v,create as w,compensation_fund_add as x,buy as y,repository_clear as z};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $ as TransactionObjectInput,
|
|
1
|
+
import { $ as TransactionObjectInput, AC as GasData, DC as Argument, EC as SerializedTransactionDataV1, MC as TransactionData, OC as CallArg, Q as TransactionObjectArgument, TC as SerializedTransactionDataV2, Z as Transaction, _ as SerialTransactionExecutor, at as Inputs, b as getPureBcsSchema, ct as TransactionInput, et as TransactionResult, f as isArgument, g as ParallelTransactionExecutorOptions, h as ParallelTransactionExecutor, it as TransactionPlugin, jC as ObjectRef, kC as Command, lt as UpgradePolicy, m as coinWithBalance, nt as BuildTransactionOptions, ot as TransactionArgument, p as Arguments, rt as SerializeTransactionOptions, st as TransactionCommands, tt as isTransaction, v as AsyncCache, wC as TransactionDataBuilder, x as normalizedTypeToMoveTypeSignature, y as ObjectCache } from "../index-BQOp8Peb.mjs";
|
|
2
2
|
export { type Argument, Arguments, AsyncCache, type BuildTransactionOptions, type CallArg, type Command, type GasData, Inputs, ObjectCache, type ObjectRef, ParallelTransactionExecutor, type ParallelTransactionExecutorOptions, SerialTransactionExecutor, type SerializeTransactionOptions, type SerializedTransactionDataV1, type SerializedTransactionDataV2, Transaction, type TransactionArgument, TransactionCommands, type TransactionData, TransactionDataBuilder, type TransactionInput, type TransactionObjectArgument, type TransactionObjectInput, type TransactionPlugin, type TransactionResult, UpgradePolicy, coinWithBalance, getPureBcsSchema, isArgument, isTransaction, normalizedTypeToMoveTypeSignature };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as a51a,c as a51b,d as a51c,f as a51d,g as a51e,l as a51f,n as a51g,r as a51h,t as a51i,u as a51j}from'../Transaction-
|
|
1
|
+
import{_ as a51a,c as a51b,d as a51c,f as a51d,g as a51e,l as a51f,n as a51g,r as a51h,t as a51i,u as a51j}from'../Transaction-CrzrFqPW.mjs';import{a as a51k,i as a51l,n as a51m,r as a51n,t as a51o}from'../transactions-HEsbZ5tl.mjs';export{a51o as Arguments,a51l as AsyncCache,a51j as Inputs,a51k as ObjectCache,a51m as ParallelTransactionExecutor,a51n as SerialTransactionExecutor,a51i as Transaction,a51c as TransactionCommands,a51e as TransactionDataBuilder,a51d as UpgradePolicy,a51h as coinWithBalance,a51b as getPureBcsSchema,a51a as isArgument,a51g as isTransaction,a51f as normalizedTypeToMoveTypeSignature};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{l as a52a}from'./wow-types-DctQuD2J.mjs';import{o as a52b}from'./bcs-Cjvfeyqf.mjs';import{a as a52c,g as a52d,i as a52e,n as a52f,s as a52g,t as a52h}from'./Transaction-DY5xZw9i.mjs';import{promiseWithResolvers}from'@mysten/utils';var AsyncCache=class{async['getObject'](a){const [b,c]=await Promise['all']([this['get']('OwnedObject',a),this['get']('SharedOrImmutableObject',a)]);return b??c??null;}async['getObjects'](a){return Promise['all'](a['map'](b=>this['getObject'](b)));}async['addObject'](a){if(a['owner'])await this['set']('OwnedObject',a['objectId'],a);else await this['set']('SharedOrImmutableObject',a['objectId'],a);return a;}async['addObjects'](a){await Promise['all'](a['map'](async b=>this['addObject'](b)));}async['deleteObject'](a){await Promise['all']([this['delete']('OwnedObject',a),this['delete']('SharedOrImmutableObject',a)]);}async['deleteObjects'](a){await Promise['all'](a['map'](b=>this['deleteObject'](b)));}async['getMoveFunctionDefinition'](a){const b=a52a(a['package'])+'::'+a['module']+'::'+a['function'];return this['get']('MoveFunction',b);}async['addMoveFunctionDefinition'](a){const b=a52a(a['package']),c=b+'::'+a['module']+'::'+a['function'],d={...a,'package':b};return await this['set']('MoveFunction',c,d),d;}async['deleteMoveFunctionDefinition'](a){const b=a52a(a['package'])+'::'+a['module']+'::'+a['function'];await this['delete']('MoveFunction',b);}async['getCustom'](a){return this['get']('Custom',a);}async['setCustom'](a,b){return this['set']('Custom',a,b);}async['deleteCustom'](a){return this['delete']('Custom',a);}},InMemoryCache=class extends AsyncCache{#caches={'OwnedObject':new Map(),'SharedOrImmutableObject':new Map(),'MoveFunction':new Map(),'Custom':new Map()};async['get'](a,b){return this.#caches[a]['get'](b)??null;}async['set'](a,b,c){this.#caches[a]['set'](b,c);}async['delete'](a,b){this.#caches[a]['delete'](b);}async['clear'](a){if(a)this.#caches[a]['clear']();else{for(const b of Object['values'](this.#caches))b['clear']();}}},ObjectCache=class{#cache;#onEffects;constructor({cache:cache=new InMemoryCache(),onEffects:a}){this.#cache=cache,this.#onEffects=a;}['asPlugin'](){return async(a,b,c)=>{const d=a['inputs']['filter'](g=>g['UnresolvedObject'])['map'](g=>g['UnresolvedObject']['objectId']),e=(await this.#cache['getObjects'](d))['filter'](g=>g!==null),f=new Map(e['map'](g=>[g['objectId'],g]));for(const g of a['inputs']){if(!g['UnresolvedObject'])continue;const h=f['get'](g['UnresolvedObject']['objectId']);if(!h)continue;if(h['initialSharedVersion']&&!g['UnresolvedObject']['initialSharedVersion'])g['UnresolvedObject']['initialSharedVersion']=h['initialSharedVersion'];else{if(h['version']&&!g['UnresolvedObject']['version'])g['UnresolvedObject']['version']=h['version'];if(h['digest']&&!g['UnresolvedObject']['digest'])g['UnresolvedObject']['digest']=h['digest'];}}await Promise['all'](a['commands']['map'](async i=>{if(i['MoveCall']){const j=await this['getMoveFunctionDefinition']({'package':i['MoveCall']['package'],'module':i['MoveCall']['module'],'function':i['MoveCall']['function']});if(j)i['MoveCall']['_argumentTypes']=j['parameters'];}})),await c(),await Promise['all'](a['commands']['map'](async i=>{if(i['MoveCall']?.['_argumentTypes'])await this.#cache['addMoveFunctionDefinition']({'package':i['MoveCall']['package'],'module':i['MoveCall']['module'],'function':i['MoveCall']['function'],'parameters':i['MoveCall']['_argumentTypes']});}));};}async['clear'](){await this.#cache['clear']();}async['getMoveFunctionDefinition'](a){return this.#cache['getMoveFunctionDefinition'](a);}async['getObjects'](a){return this.#cache['getObjects'](a);}async['deleteObjects'](a){return this.#cache['deleteObjects'](a);}async['clearOwnedObjects'](){await this.#cache['clear']('OwnedObject');}async['clearCustom'](){await this.#cache['clear']('Custom');}async['getCustom'](a){return this.#cache['getCustom'](a);}async['setCustom'](a,b){return this.#cache['setCustom'](a,b);}async['deleteCustom'](a){return this.#cache['deleteCustom'](a);}async['applyEffects'](a){if(!a['V2'])throw new Error('Unsupported\x20transaction\x20effects\x20version\x20'+a['$kind']);const {lamportVersion:b,changedObjects:c}=a['V2'],d=[],e=[];c['forEach'](([f,g])=>{if(g['outputState']['NotExist'])d['push'](f);else{if(g['outputState']['ObjectWrite']){const [h,i]=g['outputState']['ObjectWrite'];e['push']({'objectId':f,'digest':h,'version':b,'owner':i['AddressOwner']??i['ObjectOwner']??null,'initialSharedVersion':i['Shared']?.['initialSharedVersion']??null});}}}),await Promise['all']([this.#cache['addObjects'](e),this.#cache['deleteObjects'](d),this.#onEffects?.(a)]);}},CachingTransactionExecutor=class{#client;#lastDigest=null;constructor({client:a,...b}){this.#client=a,this['cache']=new ObjectCache(b);}async['reset'](){await Promise['all']([this['cache']['clearOwnedObjects'](),this['cache']['clearCustom'](),this['waitForLastTransaction']()]);}async['buildTransaction']({transaction:a,...b}){return a['addBuildPlugin'](this['cache']['asPlugin']()),a['addBuildPlugin'](a52g),a['build']({'client':this.#client,...b});}async['executeTransaction']({transaction:a,signatures:b,include:c}){const d=a52f(a)?await this['buildTransaction']({'transaction':a}):a,e=await this.#client['core']['executeTransaction']({'transaction':d,'signatures':b,'include':{...c,'effects':!![]}}),f=e['$kind']==='Transaction'?e['Transaction']:e['FailedTransaction'];if(f['effects']?.['bcs']){const g=a52b['TransactionEffects']['parse'](f['effects']['bcs']);await this['applyEffects'](g);}return e;}async['signAndExecuteTransaction']({include:a,transaction:b,signer:c}){b['setSenderIfNotSet'](c['toWowAddress']());const d=await this['buildTransaction']({'transaction':b}),{signature:e}=await c['signTransaction'](d);return this['executeTransaction']({'transaction':d,'signatures':[e],'include':a});}async['applyEffects'](a){this.#lastDigest=a['V2']?.['transactionDigest']??null,await this['cache']['applyEffects'](a);}async['waitForLastTransaction'](){this.#lastDigest&&(await this.#client['core']['waitForTransaction']({'digest':this.#lastDigest}),this.#lastDigest=null);}},SerialQueue=class{#queue=[];async['runTask'](a){return new Promise((b,c)=>{this.#queue['push'](()=>{a()['finally'](()=>{this.#queue['shift']();if(this.#queue['length']>0x0)this.#queue[0x0]();})['then'](b,c);});if(this.#queue['length']===0x1)this.#queue[0x0]();});}},ParallelQueue=class{#queue;constructor(a){this.#queue=[],this['activeTasks']=0x0,this['maxTasks']=a;}['runTask'](a){return new Promise((b,c)=>{if(this['activeTasks']<this['maxTasks'])this['activeTasks']++,a()['finally'](()=>{if(this.#queue['length']>0x0)this.#queue['shift']()();else this['activeTasks']--;})['then'](b,c);else this.#queue['push'](()=>{a()['finally'](()=>{if(this.#queue['length']>0x0)this.#queue['shift']()();else this['activeTasks']--;})['then'](b,c);});});}};const EPOCH_BOUNDARY_WINDOW$1=0xea60;var SerialTransactionExecutor=class{#queue=new SerialQueue();#signer;#client;#cache;#defaultGasBudget;#gasMode;#epochInfo=null;#epochInfoPromise=null;constructor(a){const {signer:b,defaultGasBudget:defaultGasBudget=0x2faf080n,client:c,cache:d}=a;this.#signer=b,this.#client=c,this.#defaultGasBudget=defaultGasBudget,this.#gasMode=a['gasMode']??'coins',this.#cache=new CachingTransactionExecutor({'client':c,'cache':d,'onEffects':e=>this.#cacheGasCoin(e)});}async['applyEffects'](a){return this.#cache['applyEffects'](a);}#cacheGasCoin=async a=>{if(this.#gasMode==='addressBalance'||!a['V2'])return;const b=getGasCoinFromEffects(a)['ref'];if(b)this.#cache['cache']['setCustom']('gasCoin',b);else this.#cache['cache']['deleteCustom']('gasCoin');};async['buildTransaction'](a){return this.#queue['runTask'](()=>this.#buildTransaction(a));}#buildTransaction=async a=>{await a['prepareForSerialization']({'client':this.#client,'supportedIntents':['CoinWithBalance']});const b=a52h['from'](a);if(this.#gasMode==='addressBalance')b['setGasPayment']([]),b['setExpiration'](await this.#getValidDuringExpiration());else{const c=await this.#cache['cache']['getCustom']('gasCoin');if(c)b['setGasPayment']([c]);}return b['setGasBudgetIfNotSet'](this.#defaultGasBudget),b['setSenderIfNotSet'](this.#signer['toWowAddress']()),this.#cache['buildTransaction']({'transaction':b});};async #getValidDuringExpiration(){await this.#ensureEpochInfo();const a=BigInt(this.#epochInfo['epoch']);return{'ValidDuring':{'minEpoch':String(a),'maxEpoch':String(a+0x1n),'minTimestamp':null,'maxTimestamp':null,'chain':this.#epochInfo['chainIdentifier'],'nonce':Math['random']()*0x100000000>>>0x0}};}async #ensureEpochInfo(){if(this.#epochInfo&&this.#epochInfo['expiration']-EPOCH_BOUNDARY_WINDOW$1-Date['now']()>0x0)return;if(this.#epochInfoPromise){await this.#epochInfoPromise;return;}this.#epochInfoPromise=this.#fetchEpochInfo();try{await this.#epochInfoPromise;}finally{this.#epochInfoPromise=null;}}async #fetchEpochInfo(){const [{systemState:a},{chainIdentifier:b}]=await Promise['all']([this.#client['core']['getCurrentSystemState'](),this.#client['core']['getChainIdentifier']()]);this.#epochInfo={'epoch':a['epoch'],'expiration':Number(a['epochStartTimestampMs'])+Number(a['parameters']['epochDurationMs']),'chainIdentifier':b};}['resetCache'](){return this.#cache['reset']();}['waitForLastTransaction'](){return this.#cache['waitForLastTransaction']();}['executeTransaction'](a,b,c=[]){return this.#queue['runTask'](async()=>{const d=a52f(a)?await this.#buildTransaction(a):a,{signature:e}=await this.#signer['signTransaction'](d);return this.#cache['executeTransaction']({'signatures':[e,...c],'transaction':d,'include':b})['catch'](async f=>{await this['resetCache']();throw f;});});}};function getGasCoinFromEffects(a){if(!a['V2'])throw new Error('Unexpected\x20effects\x20version');const b=a['V2']['changedObjects'][a['V2']['gasObjectIndex']];if(!b)throw new Error('Gas\x20object\x20not\x20found\x20in\x20effects');const [c,{outputState:d}]=b;if(!d['ObjectWrite'])throw new Error('Unexpected\x20gas\x20object\x20state');const [e,f]=d['ObjectWrite'];return{'ref':{'objectId':c,'digest':e,'version':a['V2']['lamportVersion']},'owner':f['AddressOwner']||f['ObjectOwner']};}const PARALLEL_EXECUTOR_DEFAULTS={'coinBatchSize':0x14,'initialCoinBalance':0xbebc200n,'minimumCoinBalance':0x2faf080n,'maxPoolSize':0x32},EPOCH_BOUNDARY_WINDOW=0xea60;var ParallelTransactionExecutor=class{#signer;#client;#gasMode;#coinBatchSize;#initialCoinBalance;#minimumCoinBalance;#defaultGasBudget;#maxPoolSize;#sourceCoins;#coinPool=[];#cache;#objectIdQueues=new Map();#buildQueue=new SerialQueue();#executeQueue;#lastDigest=null;#cacheLock=null;#pendingTransactions=0x0;#epochInfo=null;#epochInfoPromise=null;constructor(a){this.#signer=a['signer'],this.#client=a['client'],this.#gasMode=a['gasMode']??'coins';if(this.#gasMode==='coins'){const b=a;this.#coinBatchSize=b['coinBatchSize']??PARALLEL_EXECUTOR_DEFAULTS['coinBatchSize'],this.#initialCoinBalance=b['initialCoinBalance']??PARALLEL_EXECUTOR_DEFAULTS['initialCoinBalance'],this.#minimumCoinBalance=b['minimumCoinBalance']??PARALLEL_EXECUTOR_DEFAULTS['minimumCoinBalance'],this.#sourceCoins=b['sourceCoins']?new Map(b['sourceCoins']['map'](c=>[c,null])):null;}else this.#coinBatchSize=0x0,this.#initialCoinBalance=0x0n,this.#minimumCoinBalance=PARALLEL_EXECUTOR_DEFAULTS['minimumCoinBalance'],this.#sourceCoins=null;this.#defaultGasBudget=a['defaultGasBudget']??this.#minimumCoinBalance,this.#maxPoolSize=a['maxPoolSize']??PARALLEL_EXECUTOR_DEFAULTS['maxPoolSize'],this.#cache=new CachingTransactionExecutor({'client':a['client'],'cache':a['cache']}),this.#executeQueue=new ParallelQueue(this.#maxPoolSize);}['resetCache'](){return this.#epochInfo=null,this.#updateCache(()=>this.#cache['reset']());}async['waitForLastTransaction'](){await this.#updateCache(()=>this.#waitForLastDigest());}async['executeTransaction'](a,b,c=[]){const {promise:d,resolve:e,reject:f}=promiseWithResolvers(),g=await this.#getUsedObjects(a),h=()=>{this.#executeQueue['runTask'](()=>{return this.#execute(a,g,b,c)['then'](e,f);});},i=new Set();g['forEach'](j=>{if(this.#objectIdQueues['get'](j))i['add'](j),this.#objectIdQueues['get'](j)['push'](()=>{i['delete'](j);if(i['size']===0x0)h();});else this.#objectIdQueues['set'](j,[]);});if(i['size']===0x0)h();return d;}async #getUsedObjects(a){const b=new Set();let c=![];return a['addSerializationPlugin'](async(d,e,f)=>{await f();if(c)return;c=!![],d['inputs']['forEach'](g=>{if(g['Object']?.['ImmOrOwnedObject']?.['objectId'])b['add'](g['Object']['ImmOrOwnedObject']['objectId']);else{if(g['Object']?.['Receiving']?.['objectId'])b['add'](g['Object']['Receiving']['objectId']);else{if(g['UnresolvedObject']?.['objectId']&&!g['UnresolvedObject']['initialSharedVersion'])b['add'](g['UnresolvedObject']['objectId']);}}});}),await a['prepareForSerialization']({'client':this.#client}),b;}async #execute(a,b,c,d=[]){let e=null;try{a['setSenderIfNotSet'](this.#signer['toWowAddress']()),await this.#buildQueue['runTask'](async()=>{if(!a['getData']()['gasData']['price'])a['setGasPrice'](await this.#getGasPrice());a['setGasBudgetIfNotSet'](this.#defaultGasBudget),await this.#updateCache(),this.#pendingTransactions++,this.#gasMode==='addressBalance'?(a['setGasPayment']([]),a['setExpiration'](await this.#getValidDuringExpiration())):(e=await this.#getGasCoin(),a['setGasPayment']([{'objectId':e['id'],'version':e['version'],'digest':e['digest']}])),await this.#cache['buildTransaction']({'transaction':a,'onlyTransactionKind':!![]});});const f=await a['build']({'client':this.#client}),{signature:g}=await this.#signer['signTransaction'](f),h=await this.#cache['executeTransaction']({'transaction':f,'signatures':[g,...d],'include':c}),i=h['$kind']==='Transaction'?h['Transaction']:h['FailedTransaction'],j=i['effects'],k=j['gasObject'],l=j['gasUsed'];if(e&&l&&k){const m=e;if((k['outputOwner']?.['AddressOwner']??k['outputOwner']?.['ObjectOwner'])===this.#signer['toWowAddress']()){const n=BigInt(l['computationCost'])+BigInt(l['storageCost'])-BigInt(l['storageRebate']),o=m['balance']-n;let p=![];new a52d(a['getData']())['mapArguments'](r=>{if(r['$kind']==='GasCoin')p=!![];return r;});const q={'objectId':k['objectId'],'version':k['outputVersion'],'digest':k['outputDigest']};if(!p&&o>=this.#minimumCoinBalance)this.#coinPool['push']({'id':q['objectId'],'version':q['version'],'digest':q['digest'],'balance':o});else{if(!this.#sourceCoins)this.#sourceCoins=new Map();this.#sourceCoins['set'](q['objectId'],q);}}}return this.#lastDigest=i['digest'],h;}catch(r){if(e){if(!this.#sourceCoins)this.#sourceCoins=new Map();this.#sourceCoins['set'](e['id'],null);}await this.#updateCache(async()=>{await Promise['all']([this.#cache['cache']['deleteObjects']([...b]),this.#waitForLastDigest()]);});throw r;}finally{b['forEach'](s=>{const t=this.#objectIdQueues['get'](s);if(t&&t['length']>0x0)t['shift']()();else{if(t)this.#objectIdQueues['delete'](s);}}),this.#pendingTransactions--;}}async #updateCache(a){if(this.#cacheLock)await this.#cacheLock;this.#cacheLock=a?.()['then'](()=>{this.#cacheLock=null;},()=>{})??null;}async #waitForLastDigest(){const a=this.#lastDigest;a&&(this.#lastDigest=null,await this.#client['core']['waitForTransaction']({'digest':a}));}async #getGasCoin(){if(this.#coinPool['length']===0x0&&this.#pendingTransactions<=this.#maxPoolSize)await this.#refillCoinPool();if(this.#coinPool['length']===0x0)throw new Error('No\x20coins\x20available');return this.#coinPool['shift']();}async #getGasPrice(){return await this.#ensureEpochInfo(),this.#epochInfo['price'];}async #getValidDuringExpiration(){await this.#ensureEpochInfo();const a=BigInt(this.#epochInfo['epoch']);return{'ValidDuring':{'minEpoch':String(a),'maxEpoch':String(a+0x1n),'minTimestamp':null,'maxTimestamp':null,'chain':this.#epochInfo['chainIdentifier'],'nonce':Math['random']()*0x100000000>>>0x0}};}async #ensureEpochInfo(){if(this.#epochInfo&&this.#epochInfo['expiration']-EPOCH_BOUNDARY_WINDOW-Date['now']()>0x0)return;if(this.#epochInfoPromise){await this.#epochInfoPromise;return;}this.#epochInfoPromise=this.#fetchEpochInfo();try{await this.#epochInfoPromise;}finally{this.#epochInfoPromise=null;}}async #fetchEpochInfo(){const [{systemState:a},{chainIdentifier:b}]=await Promise['all']([this.#client['core']['getCurrentSystemState'](),this.#client['core']['getChainIdentifier']()]);this.#epochInfo={'epoch':a['epoch'],'price':BigInt(a['referenceGasPrice']),'expiration':Number(a['epochStartTimestampMs'])+Number(a['parameters']['epochDurationMs']),'chainIdentifier':b};}async #refillCoinPool(){const a=Math['min'](this.#coinBatchSize,this.#maxPoolSize-(this.#coinPool['length']+this.#pendingTransactions)+0x1);if(a===0x0)return;const b=new a52h(),c=this.#signer['toWowAddress']();b['setSender'](c);if(this.#sourceCoins){const n=[],o=[];for(const [p,q]of this.#sourceCoins)if(q)n['push'](q);else o['push'](p);if(o['length']>0x0){const {objects:r}=await this.#client['core']['getObjects']({'objectIds':o});n['push'](...r['filter'](s=>!(s instanceof Error))['map'](s=>({'objectId':s['objectId'],'version':s['version'],'digest':s['digest']})));}b['setGasPayment'](n),this.#sourceCoins=new Map();}const d=new Array(a)['fill'](this.#initialCoinBalance),e=b['splitCoins'](b['gas'],d),f=[];for(let s=0x0;s<d['length'];s++)f['push'](e[s]);b['transferObjects'](f,c),await this['waitForLastTransaction'](),b['addBuildPlugin'](a52g);const g=await b['build']({'client':this.#client}),{signature:h}=await this.#signer['signTransaction'](g),j=await this.#client['core']['executeTransaction']({'transaction':g,'signatures':[h],'include':{'effects':!![]}}),k=j['$kind']==='Transaction'?j['Transaction']:j['FailedTransaction'],l=k['effects'];l['changedObjects']['forEach'](t=>{if(t['objectId']===l['gasObject']?.['objectId']||t['outputState']!=='ObjectWrite')return;this.#coinPool['push']({'id':t['objectId'],'version':t['outputVersion'],'digest':t['outputDigest'],'balance':BigInt(this.#initialCoinBalance)});});if(!this.#sourceCoins)this.#sourceCoins=new Map();const m=l['gasObject'];this.#sourceCoins['set'](m['objectId'],{'objectId':m['objectId'],'version':m['outputVersion'],'digest':m['outputDigest']}),await this.#client['core']['waitForTransaction']({'digest':k['digest']});}};const Arguments={'pure':a52e(a=>b=>b['pure'](a)),'object':a52c(a=>b=>b['object'](a)),'sharedObjectRef':(...a)=>b=>b['sharedObjectRef'](...a),'objectRef':(...a)=>b=>b['objectRef'](...a),'receivingRef':(...a)=>b=>b['receivingRef'](...a)};export{ObjectCache as a,AsyncCache as i,ParallelTransactionExecutor as n,SerialTransactionExecutor as r,Arguments as t};
|
|
1
|
+
import{l as a52a}from'./wow-types-DctQuD2J.mjs';import{o as a52b}from'./bcs-Cjvfeyqf.mjs';import{a as a52c,g as a52d,i as a52e,n as a52f,s as a52g,t as a52h}from'./Transaction-CrzrFqPW.mjs';import{promiseWithResolvers}from'@mysten/utils';var AsyncCache=class{async['getObject'](a){const [b,c]=await Promise['all']([this['get']('OwnedObject',a),this['get']('SharedOrImmutableObject',a)]);return b??c??null;}async['getObjects'](a){return Promise['all'](a['map'](b=>this['getObject'](b)));}async['addObject'](a){if(a['owner'])await this['set']('OwnedObject',a['objectId'],a);else await this['set']('SharedOrImmutableObject',a['objectId'],a);return a;}async['addObjects'](a){await Promise['all'](a['map'](async b=>this['addObject'](b)));}async['deleteObject'](a){await Promise['all']([this['delete']('OwnedObject',a),this['delete']('SharedOrImmutableObject',a)]);}async['deleteObjects'](a){await Promise['all'](a['map'](b=>this['deleteObject'](b)));}async['getMoveFunctionDefinition'](a){const b=a52a(a['package'])+'::'+a['module']+'::'+a['function'];return this['get']('MoveFunction',b);}async['addMoveFunctionDefinition'](a){const b=a52a(a['package']),c=b+'::'+a['module']+'::'+a['function'],d={...a,'package':b};return await this['set']('MoveFunction',c,d),d;}async['deleteMoveFunctionDefinition'](a){const b=a52a(a['package'])+'::'+a['module']+'::'+a['function'];await this['delete']('MoveFunction',b);}async['getCustom'](a){return this['get']('Custom',a);}async['setCustom'](a,b){return this['set']('Custom',a,b);}async['deleteCustom'](a){return this['delete']('Custom',a);}},InMemoryCache=class extends AsyncCache{#caches={'OwnedObject':new Map(),'SharedOrImmutableObject':new Map(),'MoveFunction':new Map(),'Custom':new Map()};async['get'](a,b){return this.#caches[a]['get'](b)??null;}async['set'](a,b,c){this.#caches[a]['set'](b,c);}async['delete'](a,b){this.#caches[a]['delete'](b);}async['clear'](a){if(a)this.#caches[a]['clear']();else{for(const b of Object['values'](this.#caches))b['clear']();}}},ObjectCache=class{#cache;#onEffects;constructor({cache:cache=new InMemoryCache(),onEffects:a}){this.#cache=cache,this.#onEffects=a;}['asPlugin'](){return async(a,b,c)=>{const d=a['inputs']['filter'](g=>g['UnresolvedObject'])['map'](g=>g['UnresolvedObject']['objectId']),e=(await this.#cache['getObjects'](d))['filter'](g=>g!==null),f=new Map(e['map'](g=>[g['objectId'],g]));for(const g of a['inputs']){if(!g['UnresolvedObject'])continue;const h=f['get'](g['UnresolvedObject']['objectId']);if(!h)continue;if(h['initialSharedVersion']&&!g['UnresolvedObject']['initialSharedVersion'])g['UnresolvedObject']['initialSharedVersion']=h['initialSharedVersion'];else{if(h['version']&&!g['UnresolvedObject']['version'])g['UnresolvedObject']['version']=h['version'];if(h['digest']&&!g['UnresolvedObject']['digest'])g['UnresolvedObject']['digest']=h['digest'];}}await Promise['all'](a['commands']['map'](async i=>{if(i['MoveCall']){const j=await this['getMoveFunctionDefinition']({'package':i['MoveCall']['package'],'module':i['MoveCall']['module'],'function':i['MoveCall']['function']});if(j)i['MoveCall']['_argumentTypes']=j['parameters'];}})),await c(),await Promise['all'](a['commands']['map'](async i=>{if(i['MoveCall']?.['_argumentTypes'])await this.#cache['addMoveFunctionDefinition']({'package':i['MoveCall']['package'],'module':i['MoveCall']['module'],'function':i['MoveCall']['function'],'parameters':i['MoveCall']['_argumentTypes']});}));};}async['clear'](){await this.#cache['clear']();}async['getMoveFunctionDefinition'](a){return this.#cache['getMoveFunctionDefinition'](a);}async['getObjects'](a){return this.#cache['getObjects'](a);}async['deleteObjects'](a){return this.#cache['deleteObjects'](a);}async['clearOwnedObjects'](){await this.#cache['clear']('OwnedObject');}async['clearCustom'](){await this.#cache['clear']('Custom');}async['getCustom'](a){return this.#cache['getCustom'](a);}async['setCustom'](a,b){return this.#cache['setCustom'](a,b);}async['deleteCustom'](a){return this.#cache['deleteCustom'](a);}async['applyEffects'](a){if(!a['V2'])throw new Error('Unsupported\x20transaction\x20effects\x20version\x20'+a['$kind']);const {lamportVersion:b,changedObjects:c}=a['V2'],d=[],e=[];c['forEach'](([f,g])=>{if(g['outputState']['NotExist'])d['push'](f);else{if(g['outputState']['ObjectWrite']){const [h,i]=g['outputState']['ObjectWrite'];e['push']({'objectId':f,'digest':h,'version':b,'owner':i['AddressOwner']??i['ObjectOwner']??null,'initialSharedVersion':i['Shared']?.['initialSharedVersion']??null});}}}),await Promise['all']([this.#cache['addObjects'](e),this.#cache['deleteObjects'](d),this.#onEffects?.(a)]);}},CachingTransactionExecutor=class{#client;#lastDigest=null;constructor({client:a,...b}){this.#client=a,this['cache']=new ObjectCache(b);}async['reset'](){await Promise['all']([this['cache']['clearOwnedObjects'](),this['cache']['clearCustom'](),this['waitForLastTransaction']()]);}async['buildTransaction']({transaction:a,...b}){return a['addBuildPlugin'](this['cache']['asPlugin']()),a['addBuildPlugin'](a52g),a['build']({'client':this.#client,...b});}async['executeTransaction']({transaction:a,signatures:b,include:c}){const d=a52f(a)?await this['buildTransaction']({'transaction':a}):a,e=await this.#client['core']['executeTransaction']({'transaction':d,'signatures':b,'include':{...c,'effects':!![]}}),f=e['$kind']==='Transaction'?e['Transaction']:e['FailedTransaction'];if(f['effects']?.['bcs']){const g=a52b['TransactionEffects']['parse'](f['effects']['bcs']);await this['applyEffects'](g);}return e;}async['signAndExecuteTransaction']({include:a,transaction:b,signer:c}){b['setSenderIfNotSet'](c['toWowAddress']());const d=await this['buildTransaction']({'transaction':b}),{signature:e}=await c['signTransaction'](d);return this['executeTransaction']({'transaction':d,'signatures':[e],'include':a});}async['applyEffects'](a){this.#lastDigest=a['V2']?.['transactionDigest']??null,await this['cache']['applyEffects'](a);}async['waitForLastTransaction'](){this.#lastDigest&&(await this.#client['core']['waitForTransaction']({'digest':this.#lastDigest}),this.#lastDigest=null);}},SerialQueue=class{#queue=[];async['runTask'](a){return new Promise((b,c)=>{this.#queue['push'](()=>{a()['finally'](()=>{this.#queue['shift']();if(this.#queue['length']>0x0)this.#queue[0x0]();})['then'](b,c);});if(this.#queue['length']===0x1)this.#queue[0x0]();});}},ParallelQueue=class{#queue;constructor(a){this.#queue=[],this['activeTasks']=0x0,this['maxTasks']=a;}['runTask'](a){return new Promise((b,c)=>{if(this['activeTasks']<this['maxTasks'])this['activeTasks']++,a()['finally'](()=>{if(this.#queue['length']>0x0)this.#queue['shift']()();else this['activeTasks']--;})['then'](b,c);else this.#queue['push'](()=>{a()['finally'](()=>{if(this.#queue['length']>0x0)this.#queue['shift']()();else this['activeTasks']--;})['then'](b,c);});});}};const EPOCH_BOUNDARY_WINDOW$1=0xea60;var SerialTransactionExecutor=class{#queue=new SerialQueue();#signer;#client;#cache;#defaultGasBudget;#gasMode;#epochInfo=null;#epochInfoPromise=null;constructor(a){const {signer:b,defaultGasBudget:defaultGasBudget=0x2faf080n,client:c,cache:d}=a;this.#signer=b,this.#client=c,this.#defaultGasBudget=defaultGasBudget,this.#gasMode=a['gasMode']??'coins',this.#cache=new CachingTransactionExecutor({'client':c,'cache':d,'onEffects':e=>this.#cacheGasCoin(e)});}async['applyEffects'](a){return this.#cache['applyEffects'](a);}#cacheGasCoin=async a=>{if(this.#gasMode==='addressBalance'||!a['V2'])return;const b=getGasCoinFromEffects(a)['ref'];if(b)this.#cache['cache']['setCustom']('gasCoin',b);else this.#cache['cache']['deleteCustom']('gasCoin');};async['buildTransaction'](a){return this.#queue['runTask'](()=>this.#buildTransaction(a));}#buildTransaction=async a=>{await a['prepareForSerialization']({'client':this.#client,'supportedIntents':['CoinWithBalance']});const b=a52h['from'](a);if(this.#gasMode==='addressBalance')b['setGasPayment']([]),b['setExpiration'](await this.#getValidDuringExpiration());else{const c=await this.#cache['cache']['getCustom']('gasCoin');if(c)b['setGasPayment']([c]);}return b['setGasBudgetIfNotSet'](this.#defaultGasBudget),b['setSenderIfNotSet'](this.#signer['toWowAddress']()),this.#cache['buildTransaction']({'transaction':b});};async #getValidDuringExpiration(){await this.#ensureEpochInfo();const a=BigInt(this.#epochInfo['epoch']);return{'ValidDuring':{'minEpoch':String(a),'maxEpoch':String(a+0x1n),'minTimestamp':null,'maxTimestamp':null,'chain':this.#epochInfo['chainIdentifier'],'nonce':Math['random']()*0x100000000>>>0x0}};}async #ensureEpochInfo(){if(this.#epochInfo&&this.#epochInfo['expiration']-EPOCH_BOUNDARY_WINDOW$1-Date['now']()>0x0)return;if(this.#epochInfoPromise){await this.#epochInfoPromise;return;}this.#epochInfoPromise=this.#fetchEpochInfo();try{await this.#epochInfoPromise;}finally{this.#epochInfoPromise=null;}}async #fetchEpochInfo(){const [{systemState:a},{chainIdentifier:b}]=await Promise['all']([this.#client['core']['getCurrentSystemState'](),this.#client['core']['getChainIdentifier']()]);this.#epochInfo={'epoch':a['epoch'],'expiration':Number(a['epochStartTimestampMs'])+Number(a['parameters']['epochDurationMs']),'chainIdentifier':b};}['resetCache'](){return this.#cache['reset']();}['waitForLastTransaction'](){return this.#cache['waitForLastTransaction']();}['executeTransaction'](a,b,c=[]){return this.#queue['runTask'](async()=>{const d=a52f(a)?await this.#buildTransaction(a):a,{signature:e}=await this.#signer['signTransaction'](d);return this.#cache['executeTransaction']({'signatures':[e,...c],'transaction':d,'include':b})['catch'](async f=>{await this['resetCache']();throw f;});});}};function getGasCoinFromEffects(a){if(!a['V2'])throw new Error('Unexpected\x20effects\x20version');const b=a['V2']['changedObjects'][a['V2']['gasObjectIndex']];if(!b)throw new Error('Gas\x20object\x20not\x20found\x20in\x20effects');const [c,{outputState:d}]=b;if(!d['ObjectWrite'])throw new Error('Unexpected\x20gas\x20object\x20state');const [e,f]=d['ObjectWrite'];return{'ref':{'objectId':c,'digest':e,'version':a['V2']['lamportVersion']},'owner':f['AddressOwner']||f['ObjectOwner']};}const PARALLEL_EXECUTOR_DEFAULTS={'coinBatchSize':0x14,'initialCoinBalance':0xbebc200n,'minimumCoinBalance':0x2faf080n,'maxPoolSize':0x32},EPOCH_BOUNDARY_WINDOW=0xea60;var ParallelTransactionExecutor=class{#signer;#client;#gasMode;#coinBatchSize;#initialCoinBalance;#minimumCoinBalance;#defaultGasBudget;#maxPoolSize;#sourceCoins;#coinPool=[];#cache;#objectIdQueues=new Map();#buildQueue=new SerialQueue();#executeQueue;#lastDigest=null;#cacheLock=null;#pendingTransactions=0x0;#epochInfo=null;#epochInfoPromise=null;constructor(a){this.#signer=a['signer'],this.#client=a['client'],this.#gasMode=a['gasMode']??'coins';if(this.#gasMode==='coins'){const b=a;this.#coinBatchSize=b['coinBatchSize']??PARALLEL_EXECUTOR_DEFAULTS['coinBatchSize'],this.#initialCoinBalance=b['initialCoinBalance']??PARALLEL_EXECUTOR_DEFAULTS['initialCoinBalance'],this.#minimumCoinBalance=b['minimumCoinBalance']??PARALLEL_EXECUTOR_DEFAULTS['minimumCoinBalance'],this.#sourceCoins=b['sourceCoins']?new Map(b['sourceCoins']['map'](c=>[c,null])):null;}else this.#coinBatchSize=0x0,this.#initialCoinBalance=0x0n,this.#minimumCoinBalance=PARALLEL_EXECUTOR_DEFAULTS['minimumCoinBalance'],this.#sourceCoins=null;this.#defaultGasBudget=a['defaultGasBudget']??this.#minimumCoinBalance,this.#maxPoolSize=a['maxPoolSize']??PARALLEL_EXECUTOR_DEFAULTS['maxPoolSize'],this.#cache=new CachingTransactionExecutor({'client':a['client'],'cache':a['cache']}),this.#executeQueue=new ParallelQueue(this.#maxPoolSize);}['resetCache'](){return this.#epochInfo=null,this.#updateCache(()=>this.#cache['reset']());}async['waitForLastTransaction'](){await this.#updateCache(()=>this.#waitForLastDigest());}async['executeTransaction'](a,b,c=[]){const {promise:d,resolve:e,reject:f}=promiseWithResolvers(),g=await this.#getUsedObjects(a),h=()=>{this.#executeQueue['runTask'](()=>{return this.#execute(a,g,b,c)['then'](e,f);});},i=new Set();g['forEach'](j=>{if(this.#objectIdQueues['get'](j))i['add'](j),this.#objectIdQueues['get'](j)['push'](()=>{i['delete'](j);if(i['size']===0x0)h();});else this.#objectIdQueues['set'](j,[]);});if(i['size']===0x0)h();return d;}async #getUsedObjects(a){const b=new Set();let c=![];return a['addSerializationPlugin'](async(d,e,f)=>{await f();if(c)return;c=!![],d['inputs']['forEach'](g=>{if(g['Object']?.['ImmOrOwnedObject']?.['objectId'])b['add'](g['Object']['ImmOrOwnedObject']['objectId']);else{if(g['Object']?.['Receiving']?.['objectId'])b['add'](g['Object']['Receiving']['objectId']);else{if(g['UnresolvedObject']?.['objectId']&&!g['UnresolvedObject']['initialSharedVersion'])b['add'](g['UnresolvedObject']['objectId']);}}});}),await a['prepareForSerialization']({'client':this.#client}),b;}async #execute(a,b,c,d=[]){let e=null;try{a['setSenderIfNotSet'](this.#signer['toWowAddress']()),await this.#buildQueue['runTask'](async()=>{if(!a['getData']()['gasData']['price'])a['setGasPrice'](await this.#getGasPrice());a['setGasBudgetIfNotSet'](this.#defaultGasBudget),await this.#updateCache(),this.#pendingTransactions++,this.#gasMode==='addressBalance'?(a['setGasPayment']([]),a['setExpiration'](await this.#getValidDuringExpiration())):(e=await this.#getGasCoin(),a['setGasPayment']([{'objectId':e['id'],'version':e['version'],'digest':e['digest']}])),await this.#cache['buildTransaction']({'transaction':a,'onlyTransactionKind':!![]});});const f=await a['build']({'client':this.#client}),{signature:g}=await this.#signer['signTransaction'](f),h=await this.#cache['executeTransaction']({'transaction':f,'signatures':[g,...d],'include':c}),i=h['$kind']==='Transaction'?h['Transaction']:h['FailedTransaction'],j=i['effects'],k=j['gasObject'],l=j['gasUsed'];if(e&&l&&k){const m=e;if((k['outputOwner']?.['AddressOwner']??k['outputOwner']?.['ObjectOwner'])===this.#signer['toWowAddress']()){const n=BigInt(l['computationCost'])+BigInt(l['storageCost'])-BigInt(l['storageRebate']),o=m['balance']-n;let p=![];new a52d(a['getData']())['mapArguments'](r=>{if(r['$kind']==='GasCoin')p=!![];return r;});const q={'objectId':k['objectId'],'version':k['outputVersion'],'digest':k['outputDigest']};if(!p&&o>=this.#minimumCoinBalance)this.#coinPool['push']({'id':q['objectId'],'version':q['version'],'digest':q['digest'],'balance':o});else{if(!this.#sourceCoins)this.#sourceCoins=new Map();this.#sourceCoins['set'](q['objectId'],q);}}}return this.#lastDigest=i['digest'],h;}catch(r){if(e){if(!this.#sourceCoins)this.#sourceCoins=new Map();this.#sourceCoins['set'](e['id'],null);}await this.#updateCache(async()=>{await Promise['all']([this.#cache['cache']['deleteObjects']([...b]),this.#waitForLastDigest()]);});throw r;}finally{b['forEach'](s=>{const t=this.#objectIdQueues['get'](s);if(t&&t['length']>0x0)t['shift']()();else{if(t)this.#objectIdQueues['delete'](s);}}),this.#pendingTransactions--;}}async #updateCache(a){if(this.#cacheLock)await this.#cacheLock;this.#cacheLock=a?.()['then'](()=>{this.#cacheLock=null;},()=>{})??null;}async #waitForLastDigest(){const a=this.#lastDigest;a&&(this.#lastDigest=null,await this.#client['core']['waitForTransaction']({'digest':a}));}async #getGasCoin(){if(this.#coinPool['length']===0x0&&this.#pendingTransactions<=this.#maxPoolSize)await this.#refillCoinPool();if(this.#coinPool['length']===0x0)throw new Error('No\x20coins\x20available');return this.#coinPool['shift']();}async #getGasPrice(){return await this.#ensureEpochInfo(),this.#epochInfo['price'];}async #getValidDuringExpiration(){await this.#ensureEpochInfo();const a=BigInt(this.#epochInfo['epoch']);return{'ValidDuring':{'minEpoch':String(a),'maxEpoch':String(a+0x1n),'minTimestamp':null,'maxTimestamp':null,'chain':this.#epochInfo['chainIdentifier'],'nonce':Math['random']()*0x100000000>>>0x0}};}async #ensureEpochInfo(){if(this.#epochInfo&&this.#epochInfo['expiration']-EPOCH_BOUNDARY_WINDOW-Date['now']()>0x0)return;if(this.#epochInfoPromise){await this.#epochInfoPromise;return;}this.#epochInfoPromise=this.#fetchEpochInfo();try{await this.#epochInfoPromise;}finally{this.#epochInfoPromise=null;}}async #fetchEpochInfo(){const [{systemState:a},{chainIdentifier:b}]=await Promise['all']([this.#client['core']['getCurrentSystemState'](),this.#client['core']['getChainIdentifier']()]);this.#epochInfo={'epoch':a['epoch'],'price':BigInt(a['referenceGasPrice']),'expiration':Number(a['epochStartTimestampMs'])+Number(a['parameters']['epochDurationMs']),'chainIdentifier':b};}async #refillCoinPool(){const a=Math['min'](this.#coinBatchSize,this.#maxPoolSize-(this.#coinPool['length']+this.#pendingTransactions)+0x1);if(a===0x0)return;const b=new a52h(),c=this.#signer['toWowAddress']();b['setSender'](c);if(this.#sourceCoins){const n=[],o=[];for(const [p,q]of this.#sourceCoins)if(q)n['push'](q);else o['push'](p);if(o['length']>0x0){const {objects:r}=await this.#client['core']['getObjects']({'objectIds':o});n['push'](...r['filter'](s=>!(s instanceof Error))['map'](s=>({'objectId':s['objectId'],'version':s['version'],'digest':s['digest']})));}b['setGasPayment'](n),this.#sourceCoins=new Map();}const d=new Array(a)['fill'](this.#initialCoinBalance),e=b['splitCoins'](b['gas'],d),f=[];for(let s=0x0;s<d['length'];s++)f['push'](e[s]);b['transferObjects'](f,c),await this['waitForLastTransaction'](),b['addBuildPlugin'](a52g);const g=await b['build']({'client':this.#client}),{signature:h}=await this.#signer['signTransaction'](g),j=await this.#client['core']['executeTransaction']({'transaction':g,'signatures':[h],'include':{'effects':!![]}}),k=j['$kind']==='Transaction'?j['Transaction']:j['FailedTransaction'],l=k['effects'];l['changedObjects']['forEach'](t=>{if(t['objectId']===l['gasObject']?.['objectId']||t['outputState']!=='ObjectWrite')return;this.#coinPool['push']({'id':t['objectId'],'version':t['outputVersion'],'digest':t['outputDigest'],'balance':BigInt(this.#initialCoinBalance)});});if(!this.#sourceCoins)this.#sourceCoins=new Map();const m=l['gasObject'];this.#sourceCoins['set'](m['objectId'],{'objectId':m['objectId'],'version':m['outputVersion'],'digest':m['outputDigest']}),await this.#client['core']['waitForTransaction']({'digest':k['digest']});}};const Arguments={'pure':a52e(a=>b=>b['pure'](a)),'object':a52c(a=>b=>b['object'](a)),'sharedObjectRef':(...a)=>b=>b['sharedObjectRef'](...a),'objectRef':(...a)=>b=>b['objectRef'](...a),'receivingRef':(...a)=>b=>b['receivingRef'](...a)};export{ObjectCache as a,AsyncCache as i,ParallelTransactionExecutor as n,SerialTransactionExecutor as r,Arguments as t};
|