@wowok/wowok 3.0.2 → 3.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (164) hide show
  1. package/dist/esm/Transaction-DY5xZw9i.mjs +1 -0
  2. package/dist/esm/arb-CUXq4EWJ.mjs +1 -0
  3. package/dist/esm/bcs/index.mjs +1 -1
  4. package/dist/esm/bcs-Cjvfeyqf.mjs +1 -1
  5. package/dist/esm/call-BQMw_Z9s.mjs +1 -0
  6. package/dist/esm/client/index.d.mts +3 -3
  7. package/dist/esm/client/index.mjs +1 -1
  8. package/dist/esm/{client-CYziyi68.mjs → client-cokX3t3P.mjs} +1 -1
  9. package/dist/esm/common-BLQJxJvT.mjs +1 -0
  10. package/dist/esm/config-Dwoyt1sO.d.mts +69 -0
  11. package/dist/esm/cryptography/index.d.mts +1 -1
  12. package/dist/esm/cryptography/index.mjs +1 -1
  13. package/dist/esm/{ed25519-CQkeZzxT.mjs → ed25519-Cjw5WOqY.mjs} +1 -1
  14. package/dist/esm/exception-CSxqQRN7.mjs +1 -0
  15. package/dist/esm/{falcon512-Dl5rncUq.mjs → falcon512-CnEZ-g-L.mjs} +1 -1
  16. package/dist/esm/fund-approval-Dy-heIpQ.mjs +1 -0
  17. package/dist/esm/fund-approval-EBi-SfjX.d.mts +53 -0
  18. package/dist/esm/graphql/index.d.mts +1 -1
  19. package/dist/esm/graphql/index.mjs +1 -1
  20. package/dist/esm/graphql/schema/index.d.mts +1 -1
  21. package/dist/esm/{graphql-CUsco9b3.mjs → graphql-Cv2Zjkh8.mjs} +1 -1
  22. package/dist/esm/grpc/index.d.mts +1 -1
  23. package/dist/esm/grpc/index.mjs +1 -1
  24. package/dist/esm/grpc-CUKHF1or.mjs +1 -0
  25. package/dist/esm/{index-DCFY4cxp.d.mts → index-Bss9JH4A.d.mts} +147 -27
  26. package/dist/esm/index.d.mts +4 -3
  27. package/dist/esm/index.mjs +1 -1
  28. package/dist/esm/jsonRpc/index.d.mts +1 -1
  29. package/dist/esm/jsonRpc/index.mjs +1 -1
  30. package/dist/esm/jsonRpc-BDzKq1WK.mjs +1 -0
  31. package/dist/esm/{keypair-Y6T-6uC9.mjs → keypair-IIyGelNr.mjs} +1 -1
  32. package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
  33. package/dist/esm/keypairs/ed25519/index.mjs +1 -1
  34. package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
  35. package/dist/esm/keypairs/falcon512/index.mjs +1 -1
  36. package/dist/esm/keypairs/passkey/index.d.mts +1 -1
  37. package/dist/esm/keypairs/passkey/index.mjs +1 -1
  38. package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
  39. package/dist/esm/keypairs/secp256k1/index.mjs +1 -1
  40. package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
  41. package/dist/esm/keypairs/secp256r1/index.mjs +1 -1
  42. package/dist/esm/{logger-Cs5Mf7Mf.mjs → logger-Da7dKX2V.mjs} +1 -1
  43. package/dist/esm/messenger-BxoZnri2.mjs +1 -0
  44. package/dist/esm/{messenger-api-D6aPgQqj.mjs → messenger-api-k2rGNPPD.mjs} +1 -1
  45. package/dist/esm/multisig/index.d.mts +1 -1
  46. package/dist/esm/multisig/index.mjs +1 -1
  47. package/dist/esm/network-CGWSsrLB.mjs +1 -0
  48. package/dist/esm/object-VP6MlaCJ.mjs +1 -0
  49. package/dist/esm/passkey-JT2Sem2D.mjs +1 -0
  50. package/dist/esm/proof-D9SjsE8n.mjs +1 -0
  51. package/dist/esm/{publickey-Kr58241y.mjs → publickey-BZ3tMxym.mjs} +1 -1
  52. package/dist/esm/{publickey-CZRptlhE.mjs → publickey-Bhgj2pBz.mjs} +1 -1
  53. package/dist/esm/{publickey-CQJKhU0a.mjs → publickey-CHe6yvVh.mjs} +1 -1
  54. package/dist/esm/publickey-CvXcTL6j.mjs +1 -0
  55. package/dist/esm/{publickey-CcBVAm0Y.mjs → publickey-DLn5vuqp.mjs} +1 -1
  56. package/dist/esm/{publickey-Co-74gWq.mjs → publickey-DkfqbEPz.mjs} +1 -1
  57. package/dist/esm/{received-Dldrb1fk.mjs → received-DGwKBzFf.mjs} +1 -1
  58. package/dist/esm/secp256k1-rxTNgrNr.mjs +1 -0
  59. package/dist/esm/secp256r1--MEt4hQe.mjs +1 -0
  60. package/dist/esm/service-o4c33u4H.mjs +1 -0
  61. package/dist/esm/storage-D1bEi2b7.mjs +1 -1
  62. package/dist/esm/transactions/index.d.mts +1 -1
  63. package/dist/esm/transactions/index.mjs +1 -1
  64. package/dist/esm/{transactions-_w64QTEl.mjs → transactions-B0rmtDin.mjs} +1 -1
  65. package/dist/esm/{types-D7yrbH5u.d.mts → types-C7yfY8U4.d.mts} +8 -8
  66. package/dist/esm/util-DUArS_ez.mjs +1 -0
  67. package/dist/esm/utils/index.mjs +1 -1
  68. package/dist/esm/{utils-CtyqDDA5.mjs → utils-DL1Wk3E9.mjs} +1 -1
  69. package/dist/esm/verify/index.d.mts +1 -1
  70. package/dist/esm/verify/index.mjs +1 -1
  71. package/dist/esm/w/call/allocation.d.mts +1 -1
  72. package/dist/esm/w/call/allocation.mjs +1 -1
  73. package/dist/esm/w/call/arbitration.d.mts +1 -1
  74. package/dist/esm/w/call/arbitration.mjs +1 -1
  75. package/dist/esm/w/call/base.d.mts +1 -1
  76. package/dist/esm/w/call/base.mjs +1 -1
  77. package/dist/esm/w/call/demand.d.mts +1 -1
  78. package/dist/esm/w/call/demand.mjs +1 -1
  79. package/dist/esm/w/call/guard.d.mts +2 -2
  80. package/dist/esm/w/call/guard.mjs +1 -1
  81. package/dist/esm/w/call/index.d.mts +1 -1
  82. package/dist/esm/w/call/index.mjs +1 -1
  83. package/dist/esm/w/call/machine.d.mts +1 -1
  84. package/dist/esm/w/call/machine.mjs +1 -1
  85. package/dist/esm/w/call/passport.d.mts +1 -1
  86. package/dist/esm/w/call/passport.mjs +1 -1
  87. package/dist/esm/w/call/payment.d.mts +1 -1
  88. package/dist/esm/w/call/payment.mjs +1 -1
  89. package/dist/esm/w/call/permission.d.mts +1 -1
  90. package/dist/esm/w/call/permission.mjs +1 -1
  91. package/dist/esm/w/call/progress.d.mts +1 -1
  92. package/dist/esm/w/call/progress.mjs +1 -1
  93. package/dist/esm/w/call/repository.d.mts +1 -1
  94. package/dist/esm/w/call/repository.mjs +1 -1
  95. package/dist/esm/w/call/reward.d.mts +1 -1
  96. package/dist/esm/w/call/reward.mjs +1 -1
  97. package/dist/esm/w/call/service.d.mts +1 -1
  98. package/dist/esm/w/call/service.mjs +1 -1
  99. package/dist/esm/w/call/treasury.d.mts +1 -1
  100. package/dist/esm/w/call/treasury.mjs +1 -1
  101. package/dist/esm/w/common.d.mts +2 -2
  102. package/dist/esm/w/common.mjs +1 -1
  103. package/dist/esm/w/index.d.mts +4 -3
  104. package/dist/esm/w/index.mjs +1 -1
  105. package/dist/esm/w/local/account.d.mts +1 -1
  106. package/dist/esm/w/local/account.mjs +1 -1
  107. package/dist/esm/w/local/cache.mjs +1 -1
  108. package/dist/esm/w/local/config.d.mts +1 -1
  109. package/dist/esm/w/local/config.mjs +1 -1
  110. package/dist/esm/w/local/evm/networks.mjs +1 -1
  111. package/dist/esm/w/local/evm-account.mjs +1 -1
  112. package/dist/esm/w/local/fund-approval.d.mts +2 -0
  113. package/dist/esm/w/local/fund-approval.mjs +1 -0
  114. package/dist/esm/w/local/index.d.mts +4 -3
  115. package/dist/esm/w/local/index.mjs +1 -1
  116. package/dist/esm/w/local/local.mjs +1 -1
  117. package/dist/esm/w/local/secure-storage.mjs +1 -1
  118. package/dist/esm/w/local/storage.mjs +1 -1
  119. package/dist/esm/w/local/token.d.mts +1 -1
  120. package/dist/esm/w/local/token.mjs +1 -1
  121. package/dist/esm/w/local/util.mjs +1 -1
  122. package/dist/esm/w/local/wip.mjs +1 -1
  123. package/dist/esm/w/messenger/index.d.mts +1 -1
  124. package/dist/esm/w/messenger/index.mjs +1 -1
  125. package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
  126. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  127. package/dist/esm/w/messenger/messenger.d.mts +1 -1
  128. package/dist/esm/w/messenger/messenger.mjs +1 -1
  129. package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
  130. package/dist/esm/w/messenger/pq/erasure.mjs +1 -1
  131. package/dist/esm/w/messenger/reply.d.mts +1 -1
  132. package/dist/esm/w/messenger/storage.d.mts +1 -1
  133. package/dist/esm/w/messenger/storage.mjs +1 -1
  134. package/dist/esm/w/messenger/types.d.mts +1 -1
  135. package/dist/esm/w/messenger/types.mjs +1 -1
  136. package/dist/esm/w/query/index.d.mts +2 -2
  137. package/dist/esm/w/query/index.mjs +1 -1
  138. package/dist/esm/w/query/object.d.mts +1 -1
  139. package/dist/esm/w/query/object.mjs +1 -1
  140. package/dist/esm/w-C77YSXfT.mjs +1 -0
  141. package/package.json +20 -10
  142. package/dist/esm/Transaction-D1AlW3t_.mjs +0 -1
  143. package/dist/esm/arb-D0c_1-0E.mjs +0 -1
  144. package/dist/esm/base-C-bmf-9P.mjs +0 -1
  145. package/dist/esm/call-B89EWeo5.mjs +0 -1
  146. package/dist/esm/common-BXJtePqk.mjs +0 -1
  147. package/dist/esm/config-DyKCZw0u.d.mts +0 -38
  148. package/dist/esm/exception-Xd2RFs2i.mjs +0 -1
  149. package/dist/esm/grpc-IoJ51B_A.mjs +0 -1
  150. package/dist/esm/jsonRpc-1qOo1zjv.mjs +0 -1
  151. package/dist/esm/messenger-CjfCX1gd.mjs +0 -1
  152. package/dist/esm/network-y8yMus5q.mjs +0 -1
  153. package/dist/esm/object-C5tKBfgP.mjs +0 -1
  154. package/dist/esm/passkey-C1gbCkoK.mjs +0 -1
  155. package/dist/esm/passport-CLMoL1-c.mjs +0 -1
  156. package/dist/esm/proof-BRpLwdbL.mjs +0 -1
  157. package/dist/esm/publickey-x1pzVVw_.mjs +0 -1
  158. package/dist/esm/query-Co2trHrE.mjs +0 -1
  159. package/dist/esm/secp256k1-Pg5TWkCH.mjs +0 -1
  160. package/dist/esm/secp256r1-VjWddrx1.mjs +0 -1
  161. package/dist/esm/service-78UXm0js.mjs +0 -1
  162. package/dist/esm/util-IEjKV3n4.mjs +0 -1
  163. package/dist/esm/w-BImJL-ey.mjs +0 -1
  164. /package/dist/esm/{rolldown-runtime-D7D4PA-g.mjs → chunk-D7D4PA-g.mjs} +0 -0
@@ -0,0 +1 @@
1
+ import{l as a38a}from'./bcs-Cjvfeyqf.mjs';import{a as a38b,s as a38c}from'./publickey-DLn5vuqp.mjs';import{a as a38d,m as a38e,p as a38f}from'./keypair-IIyGelNr.mjs';import{toBase64}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{p256}from'@noble/curves/nist.js';import{sha256}from'@noble/hashes/sha2.js';import{randomBytes}from'@noble/hashes/utils.js';var BrowserPasskeyProvider=class{#name;#options;constructor(a,b){this.#name=a,this.#options=b;}async['create'](){return await navigator['credentials']['create']({'publicKey':{'timeout':this.#options['timeout']??0xea60,...this.#options,'rp':{'name':this.#name,...this.#options['rp']},'user':{'name':this.#name,'displayName':this.#name,...this.#options['user'],'id':randomBytes(0xa)},'challenge':new TextEncoder()['encode']('Create\x20passkey\x20wallet\x20on\x20Wow'),'pubKeyCredParams':[{'alg':-0x7,'type':'public-key'}],'authenticatorSelection':{'authenticatorAttachment':'cross-platform','residentKey':'required','requireResidentKey':!![],'userVerification':'required',...this.#options['authenticatorSelection']}}});}async['get'](a,b){return await navigator['credentials']['get']({'publicKey':{'challenge':a,'userVerification':this.#options['authenticatorSelection']?.['userVerification']||'required','timeout':this.#options['timeout']??0xea60,...b&&{'allowCredentials':[{'type':'public-key','id':b}]}}});}},PasskeyKeypair=class PasskeyKeypair extends a38d{['getKeyScheme'](){return'Passkey';}constructor(a,b,c){super(),this['publicKey']=a,this['provider']=b,this['credentialId']=c;}['getCredentialId'](){return this['credentialId'];}static async['getPasskeyInstance'](a){const b=await a['create']();if(!b['response']['getPublicKey']())throw new Error('Invalid\x20credential\x20create\x20response');else{const c=b['response']['getPublicKey'](),d=a38e(new Uint8Array(c));return new PasskeyKeypair(p256['Point']['fromBytes'](d)['toBytes'](!![]),a,new Uint8Array(b['rawId']));}}['getPublicKey'](){return new a38f(this['publicKey']);}async['sign'](a){const b=await this['provider']['get'](a,this['credentialId']),c=new Uint8Array(b['response']['authenticatorData']),d=new Uint8Array(b['response']['clientDataJSON']),e=new TextDecoder()['decode'](d),f=p256['Signature']['fromBytes'](new Uint8Array(b['response']['signature']),'der'),g=(f['hasHighS']()?new p256['Signature'](f['r'],p256['Point']['Fn']['neg'](f['s'])):f)['toBytes']('compact');if(g['length']!==0x40||this['publicKey']['length']!==0x21)throw new Error('Invalid\x20signature\x20or\x20public\x20key\x20length');const h=new Uint8Array(0x1+g['length']+this['publicKey']['length']);return h['set']([a38b['Secp256r1']]),h['set'](g,0x1),h['set'](this['publicKey'],0x1+g['length']),a38a['serialize']({'authenticatorData':c,'clientDataJson':e,'userSignature':h})['toBytes']();}async['signWithIntent'](a,b){const c=blake2b(a38c(b,a),{'dkLen':0x20}),d=await this['sign'](c),e=new Uint8Array(0x1+d['length']);return e['set']([a38b[this['getKeyScheme']()]]),e['set'](d,0x1),{'signature':toBase64(e),'bytes':toBase64(a)};}static async['signAndRecover'](a,b){const c=await a['get'](b),d=messageFromAssertionResponse(c['response']),e=p256['Signature']['fromBytes'](new Uint8Array(c['response']['signature']),'der'),f=[],g=sha256(d);for(let h=0x0;h<0x4;h++){const j=e['addRecoveryBit'](h);try{const k=new a38f(j['recoverPublicKey'](g)['toBytes'](!![]));f['push'](k);}catch{continue;}}return f;}};function messageFromAssertionResponse(a){const b=new Uint8Array(a['authenticatorData']),c=sha256(new Uint8Array(a['clientDataJSON']));return new Uint8Array([...b,...c]);}export{PasskeyKeypair as n,BrowserPasskeyProvider as t};
@@ -0,0 +1 @@
1
+ import{t as a39a}from'./chunk-D7D4PA-g.mjs';import{o as a39b}from'./exception-CSxqQRN7.mjs';import{G as a39c,y as a39d}from'./common-BLQJxJvT.mjs';import{isValidAddress}from'./w/local/local.mjs';import{Mt as a39e,Xn as a39f,or as a39g,sr as a39h}from'./object-VP6MlaCJ.mjs';var proof_exports=a39a({'CallProof':()=>CallProof,'create':()=>create,'gen_proof':()=>gen_proof,'proofFn':()=>proofFn}),CallProof=class extends a39e{constructor(a){super(),this['data']=a;}async['call'](a){return await this['prepare'](a),await this['exec'](a);}async['operate'](a,b,c){await this['new_with_mark'](a,b,'Proof',create(b,this['data']?.['description'],this['data']?.['proof'],this['data']?.['server_pubkey'],this['data']?.['server_signature'],this['data']?.['proof_type'],this['data']?.['item_count'],this['data']?.['about_address']),this['data']?.['namedNew']);}};function proofFn(a){return'0x2::proof::'+a;}const gen_proof=async(a,b,c,d,e,f,g,h)=>{return await new CallProof({'proof':b,'server_pubkey':c,'server_signature':d,'proof_type':e,'description':f,'item_count':g,'about_address':h})['call'](a);};function create(a,b,c,d,e,f,g,h){if(!a39c(b))a39b('invalid\x20description','Description\x20length\x20exceeds\x20'+a39d);if(c['length']>a39f)a39b('invalid\x20parameter','Proof\x20length\x20exceeds\x20'+a39f);if(d['length']>a39g)a39b('invalid\x20parameter','Server\x20pubkey\x20length\x20exceeds\x20'+a39g);if(e['length']>a39h)a39b('invalid\x20parameter','Server\x20signature\x20length\x20exceeds\x20'+a39h);if(h&&!isValidAddress(h))a39b('invalid\x20address','About\x20address\x20'+h+'\x20is\x20not\x20valid');return a['moveCall']({'target':proofFn('create_wowok_proof_v2'),'arguments':[a['pure']['string'](c),a['pure']['option']('u64',g),a['pure']['string'](b),a['pure']['string'](d),a['pure']['string'](e),a['pure']['option']('address',h??null),a['pure']['u64'](f),a['object']['clock'](),a['object']['mutObjectLinkerTx']()]});}export{gen_proof as n,proof_exports as r,CallProof as t};
@@ -1 +1 @@
1
- import{l as a44a}from'./wow-types-DctQuD2J.mjs';import{o as a44b}from'./bcs-Cjvfeyqf.mjs';import{a as a44c,i as a44d,n as a44e,t as a44f}from'./publickey-CcBVAm0Y.mjs';import{a as a44g,d as a44h,p as a44i}from'./keypair-Y6T-6uC9.mjs';import{t as a44j}from'./publickey-CZRptlhE.mjs';import{t as a44k}from'./publickey-CQJKhU0a.mjs';import{t as a44l}from'./publickey-Co-74gWq.mjs';import{t as a44m}from'./publickey-x1pzVVw_.mjs';import{fromBase64,toBase64}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{bytesToHex}from'@noble/hashes/utils.js';var MultiSigSigner=class extends a44g{#pubkey;#signers;constructor(a,b=[]){super(),this.#pubkey=a,this.#signers=b;const c=new Set();let d=0x0;const e=a['getPublicKeys']()['map'](({weight:f,publicKey:g})=>({'weight':f,'address':g['toWowAddress']()}));for(const f of b){const g=f['toWowAddress']();if(c['has'](g))throw new Error('Can\x27t\x20create\x20MultiSigSigner\x20with\x20duplicate\x20signers');c['add'](g);const h=e['find'](i=>i['address']===g)?.['weight'];if(!h)throw new Error('Signer\x20'+g+'\x20is\x20not\x20part\x20of\x20the\x20MultiSig\x20public\x20key');d+=h;}if(d<a['getThreshold']())throw new Error('Combined\x20weight\x20of\x20signers\x20is\x20less\x20than\x20threshold');}['getKeyScheme'](){return'MultiSig';}['getPublicKey'](){return this.#pubkey;}['sign'](a){throw new Error('MultiSigSigner\x20does\x20not\x20support\x20signing\x20directly.\x20Use\x20signTransaction\x20or\x20signPersonalMessage\x20instead');}async['signTransaction'](a){return{'signature':this.#pubkey['combinePartialSignatures'](await Promise['all'](this.#signers['map'](async b=>(await b['signTransaction'](a))['signature']))),'bytes':toBase64(a)};}async['signPersonalMessage'](a){return{'signature':this.#pubkey['combinePartialSignatures'](await Promise['all'](this.#signers['map'](async b=>(await b['signPersonalMessage'](a))['signature']))),'bytes':toBase64(a)};}};async function verifySignature(a,b,c){const d=parseSignature(b);if(!await d['publicKey']['verify'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20data');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function verifyPersonalMessageSignature(a,b,c={}){const d=parseSignature(b,c);if(!await d['publicKey']['verifyPersonalMessage'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20message');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function verifyTransactionSignature(a,b,c={}){const d=parseSignature(b,c);if(!await d['publicKey']['verifyTransaction'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20Transaction');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}function parseSignature(a,b={}){const c=a44h(a);if(c['signatureScheme']==='MultiSig')return{...c,'publicKey':new MultiSigPublicKey(c['multisig']['multisig_pk'])};const d=publicKeyFromRawBytes(c['signatureScheme'],c['publicKey'],b);return{...c,'publicKey':d};}function publicKeyFromRawBytes(a,b,c={}){let d;switch(a){case'ED25519':d=new a44j(b);break;case'Secp256k1':d=new a44k(b);break;case'Secp256r1':d=new a44l(b);break;case'MultiSig':d=new MultiSigPublicKey(b);break;case'Passkey':d=new a44i(b);break;case'Falcon512':d=new a44m(b);break;default:throw new Error('Unsupported\x20signature\x20scheme\x20'+a);}if(c['address']&&d['toWowAddress']()!==c['address'])throw new Error('Public\x20key\x20bytes\x20do\x20not\x20match\x20the\x20provided\x20address');return d;}function publicKeyFromWowBytes(a,b={}){const c=typeof a==='string'?fromBase64(a):a,d=a44d[c[0x0]];return publicKeyFromRawBytes(d,c['slice'](0x1),b);}var MultiSigPublicKey=class MultiSigPublicKey extends a44f{constructor(a,b={}){super();if(typeof a==='string')this['rawBytes']=fromBase64(a),this['multisigPublicKey']=a44b['MultiSigPublicKey']['parse'](this['rawBytes']);else a instanceof Uint8Array?(this['rawBytes']=a,this['multisigPublicKey']=a44b['MultiSigPublicKey']['parse'](this['rawBytes'])):(this['multisigPublicKey']=a,this['rawBytes']=a44b['MultiSigPublicKey']['serialize'](a)['toBytes']());if(this['multisigPublicKey']['threshold']<0x1)throw new Error('Invalid\x20threshold');const c=new Set();this['publicKeys']=this['multisigPublicKey']['pk_map']['map'](({pubKey:e,weight:f})=>{const [g,h]=Object['entries'](e)['filter'](([j])=>j!=='$kind')[0x0],i=Uint8Array['from'](h)['toString']();if(c['has'](i))throw new Error('Multisig\x20does\x20not\x20support\x20duplicate\x20public\x20keys');c['add'](i);if(f<0x1)throw new Error('Invalid\x20weight');return{'publicKey':publicKeyFromRawBytes(g,Uint8Array['from'](h),b),'weight':f};});const d=this['publicKeys']['reduce']((e,{weight:f})=>e+f,0x0);if(this['multisigPublicKey']['threshold']>d)throw new Error('Unreachable\x20threshold');if(this['publicKeys']['length']>0xa)throw new Error('Max\x20number\x20of\x20signers\x20in\x20a\x20multisig\x20is\x2010');if(this['publicKeys']['length']<0x1)throw new Error('Min\x20number\x20of\x20signers\x20in\x20a\x20multisig\x20is\x201');}static['fromPublicKeys']({threshold:a,publicKeys:b}){return new MultiSigPublicKey({'pk_map':b['map'](({publicKey:c,weight:d})=>{return{'pubKey':{[a44d[c['flag']()]]:c['toRawBytes']()},'weight':d};}),'threshold':a});}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['rawBytes'];}['getPublicKeys'](){return this['publicKeys'];}['getThreshold'](){return this['multisigPublicKey']['threshold'];}['getSigner'](...a){return new MultiSigSigner(this,a);}['toWowAddress'](){const a=new Uint8Array(0x28d);a['set']([a44c['MultiSig']]),a['set'](a44b['u16']()['serialize'](this['multisigPublicKey']['threshold'])['toBytes'](),0x1);let b=0x3;for(const {publicKey:c,weight:d}of this['publicKeys']){const e=c['toWowBytes']();a['set'](e,b),b+=e['length'],a['set']([d],b++);}return a44a(bytesToHex(blake2b(a['slice'](0x0,b),{'dkLen':0x20})));}['flag'](){return a44c['MultiSig'];}async['verify'](a,b){const c=a44h(b);if(c['signatureScheme']!=='MultiSig')throw new Error('Invalid\x20signature\x20scheme');const {multisig:d}=c;let e=0x0;if(!a44e(a44b['MultiSigPublicKey']['serialize'](this['multisigPublicKey'])['toBytes'](),a44b['MultiSigPublicKey']['serialize'](d['multisig_pk'])['toBytes']()))return![];for(const {publicKey:f,weight:g,signature:h}of parsePartialSignatures(d)){if(!await f['verify'](a,h))return![];e+=g;}return e>=this['multisigPublicKey']['threshold'];}['combinePartialSignatures'](a){if(a['length']>0xa)throw new Error('Max\x20number\x20of\x20signatures\x20in\x20a\x20multisig\x20is\x2010');let b=0x0;const c=new Array(a['length']);for(let g=0x0;g<a['length'];g++){const h=a44h(a[g]);if(h['signatureScheme']==='MultiSig')throw new Error('MultiSig\x20is\x20not\x20supported\x20inside\x20MultiSig');let k=h['publicKey'];c[g]={[h['signatureScheme']]:h['signature']};let l;for(let m=0x0;m<this['publicKeys']['length'];m++)if(a44e(k,this['publicKeys'][m]['publicKey']['toRawBytes']())){if(b&0x1<<m)throw new Error('Received\x20multiple\x20signatures\x20from\x20the\x20same\x20public\x20key');l=m;break;}if(l===void 0x0)throw new Error('Received\x20signature\x20from\x20unknown\x20public\x20key');b|=0x1<<l;}const d={'sigs':c,'bitmap':b,'multisig_pk':this['multisigPublicKey']},e=a44b['MultiSig']['serialize'](d,{'maxSize':0x2000})['toBytes'](),f=new Uint8Array(e['length']+0x1);return f['set']([a44c['MultiSig']]),f['set'](e,0x1),toBase64(f);}};function parsePartialSignatures(a,b={}){const c=new Array(a['sigs']['length']);for(let d=0x0;d<a['sigs']['length'];d++){const [e,f]=Object['entries'](a['sigs'][d])['filter'](([l])=>l!=='$kind')[0x0],g=asIndices(a['bitmap'])['at'](d),h=a['multisig_pk']['pk_map'][g],j=Uint8Array['from'](Object['values'](h['pubKey'])[0x0]);if(e==='MultiSig')throw new Error('MultiSig\x20is\x20not\x20supported\x20inside\x20MultiSig');const k=publicKeyFromRawBytes(e,j,b);c[d]={'signatureScheme':e,'signature':Uint8Array['from'](f),'publicKey':k,'weight':h['weight']};}return c;}function asIndices(a){if(a<0x0||a>0x400)throw new Error('Invalid\x20bitmap');const b=[];for(let c=0x0;c<0xa;c++)if((a&0x1<<c)!==0x0)b['push'](c);return Uint8Array['from'](b);}export{verifyPersonalMessageSignature as a,MultiSigSigner as c,publicKeyFromWowBytes as i,parsePartialSignatures as n,verifySignature as o,publicKeyFromRawBytes as r,verifyTransactionSignature as s,MultiSigPublicKey as t};
1
+ import{l as a40a}from'./wow-types-DctQuD2J.mjs';import{o as a40b}from'./bcs-Cjvfeyqf.mjs';import{a as a40c,i as a40d,n as a40e,t as a40f}from'./publickey-DLn5vuqp.mjs';import{a as a40g,d as a40h,p as a40i}from'./keypair-IIyGelNr.mjs';import{t as a40j}from'./publickey-Bhgj2pBz.mjs';import{t as a40k}from'./publickey-CHe6yvVh.mjs';import{t as a40l}from'./publickey-DkfqbEPz.mjs';import{t as a40m}from'./publickey-CvXcTL6j.mjs';import{fromBase64,toBase64}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{bytesToHex}from'@noble/hashes/utils.js';var MultiSigSigner=class extends a40g{#pubkey;#signers;constructor(a,b=[]){super(),this.#pubkey=a,this.#signers=b;const c=new Set();let d=0x0;const e=a['getPublicKeys']()['map'](({weight:f,publicKey:g})=>({'weight':f,'address':g['toWowAddress']()}));for(const f of b){const g=f['toWowAddress']();if(c['has'](g))throw new Error('Can\x27t\x20create\x20MultiSigSigner\x20with\x20duplicate\x20signers');c['add'](g);const h=e['find'](i=>i['address']===g)?.['weight'];if(!h)throw new Error('Signer\x20'+g+'\x20is\x20not\x20part\x20of\x20the\x20MultiSig\x20public\x20key');d+=h;}if(d<a['getThreshold']())throw new Error('Combined\x20weight\x20of\x20signers\x20is\x20less\x20than\x20threshold');}['getKeyScheme'](){return'MultiSig';}['getPublicKey'](){return this.#pubkey;}['sign'](a){throw new Error('MultiSigSigner\x20does\x20not\x20support\x20signing\x20directly.\x20Use\x20signTransaction\x20or\x20signPersonalMessage\x20instead');}async['signTransaction'](a){return{'signature':this.#pubkey['combinePartialSignatures'](await Promise['all'](this.#signers['map'](async b=>(await b['signTransaction'](a))['signature']))),'bytes':toBase64(a)};}async['signPersonalMessage'](a){return{'signature':this.#pubkey['combinePartialSignatures'](await Promise['all'](this.#signers['map'](async b=>(await b['signPersonalMessage'](a))['signature']))),'bytes':toBase64(a)};}};async function verifySignature(a,b,c){const d=parseSignature(b);if(!await d['publicKey']['verify'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20data');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function verifyPersonalMessageSignature(a,b,c={}){const d=parseSignature(b,c);if(!await d['publicKey']['verifyPersonalMessage'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20message');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function verifyTransactionSignature(a,b,c={}){const d=parseSignature(b,c);if(!await d['publicKey']['verifyTransaction'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20Transaction');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}function parseSignature(a,b={}){const c=a40h(a);if(c['signatureScheme']==='MultiSig')return{...c,'publicKey':new MultiSigPublicKey(c['multisig']['multisig_pk'])};const d=publicKeyFromRawBytes(c['signatureScheme'],c['publicKey'],b);return{...c,'publicKey':d};}function publicKeyFromRawBytes(a,b,c={}){let d;switch(a){case'ED25519':d=new a40j(b);break;case'Secp256k1':d=new a40k(b);break;case'Secp256r1':d=new a40l(b);break;case'MultiSig':d=new MultiSigPublicKey(b);break;case'Passkey':d=new a40i(b);break;case'Falcon512':d=new a40m(b);break;default:throw new Error('Unsupported\x20signature\x20scheme\x20'+a);}if(c['address']&&d['toWowAddress']()!==c['address'])throw new Error('Public\x20key\x20bytes\x20do\x20not\x20match\x20the\x20provided\x20address');return d;}function publicKeyFromWowBytes(a,b={}){const c=typeof a==='string'?fromBase64(a):a,d=a40d[c[0x0]];return publicKeyFromRawBytes(d,c['slice'](0x1),b);}var MultiSigPublicKey=class MultiSigPublicKey extends a40f{constructor(a,b={}){super();if(typeof a==='string')this['rawBytes']=fromBase64(a),this['multisigPublicKey']=a40b['MultiSigPublicKey']['parse'](this['rawBytes']);else a instanceof Uint8Array?(this['rawBytes']=a,this['multisigPublicKey']=a40b['MultiSigPublicKey']['parse'](this['rawBytes'])):(this['multisigPublicKey']=a,this['rawBytes']=a40b['MultiSigPublicKey']['serialize'](a)['toBytes']());if(this['multisigPublicKey']['threshold']<0x1)throw new Error('Invalid\x20threshold');const c=new Set();this['publicKeys']=this['multisigPublicKey']['pk_map']['map'](({pubKey:e,weight:f})=>{const [g,h]=Object['entries'](e)['filter'](([j])=>j!=='$kind')[0x0],i=Uint8Array['from'](h)['toString']();if(c['has'](i))throw new Error('Multisig\x20does\x20not\x20support\x20duplicate\x20public\x20keys');c['add'](i);if(f<0x1)throw new Error('Invalid\x20weight');return{'publicKey':publicKeyFromRawBytes(g,Uint8Array['from'](h),b),'weight':f};});const d=this['publicKeys']['reduce']((e,{weight:f})=>e+f,0x0);if(this['multisigPublicKey']['threshold']>d)throw new Error('Unreachable\x20threshold');if(this['publicKeys']['length']>0xa)throw new Error('Max\x20number\x20of\x20signers\x20in\x20a\x20multisig\x20is\x2010');if(this['publicKeys']['length']<0x1)throw new Error('Min\x20number\x20of\x20signers\x20in\x20a\x20multisig\x20is\x201');}static['fromPublicKeys']({threshold:a,publicKeys:b}){return new MultiSigPublicKey({'pk_map':b['map'](({publicKey:c,weight:d})=>{return{'pubKey':{[a40d[c['flag']()]]:c['toRawBytes']()},'weight':d};}),'threshold':a});}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['rawBytes'];}['getPublicKeys'](){return this['publicKeys'];}['getThreshold'](){return this['multisigPublicKey']['threshold'];}['getSigner'](...a){return new MultiSigSigner(this,a);}['toWowAddress'](){const a=new Uint8Array(0x28d);a['set']([a40c['MultiSig']]),a['set'](a40b['u16']()['serialize'](this['multisigPublicKey']['threshold'])['toBytes'](),0x1);let b=0x3;for(const {publicKey:c,weight:d}of this['publicKeys']){const e=c['toWowBytes']();a['set'](e,b),b+=e['length'],a['set']([d],b++);}return a40a(bytesToHex(blake2b(a['slice'](0x0,b),{'dkLen':0x20})));}['flag'](){return a40c['MultiSig'];}async['verify'](a,b){const c=a40h(b);if(c['signatureScheme']!=='MultiSig')throw new Error('Invalid\x20signature\x20scheme');const {multisig:d}=c;let e=0x0;if(!a40e(a40b['MultiSigPublicKey']['serialize'](this['multisigPublicKey'])['toBytes'](),a40b['MultiSigPublicKey']['serialize'](d['multisig_pk'])['toBytes']()))return![];for(const {publicKey:f,weight:g,signature:h}of parsePartialSignatures(d)){if(!await f['verify'](a,h))return![];e+=g;}return e>=this['multisigPublicKey']['threshold'];}['combinePartialSignatures'](a){if(a['length']>0xa)throw new Error('Max\x20number\x20of\x20signatures\x20in\x20a\x20multisig\x20is\x2010');let b=0x0;const c=new Array(a['length']);for(let g=0x0;g<a['length'];g++){const h=a40h(a[g]);if(h['signatureScheme']==='MultiSig')throw new Error('MultiSig\x20is\x20not\x20supported\x20inside\x20MultiSig');let k=h['publicKey'];c[g]={[h['signatureScheme']]:h['signature']};let l;for(let m=0x0;m<this['publicKeys']['length'];m++)if(a40e(k,this['publicKeys'][m]['publicKey']['toRawBytes']())){if(b&0x1<<m)throw new Error('Received\x20multiple\x20signatures\x20from\x20the\x20same\x20public\x20key');l=m;break;}if(l===void 0x0)throw new Error('Received\x20signature\x20from\x20unknown\x20public\x20key');b|=0x1<<l;}const d={'sigs':c,'bitmap':b,'multisig_pk':this['multisigPublicKey']},e=a40b['MultiSig']['serialize'](d,{'maxSize':0x2000})['toBytes'](),f=new Uint8Array(e['length']+0x1);return f['set']([a40c['MultiSig']]),f['set'](e,0x1),toBase64(f);}};function parsePartialSignatures(a,b={}){const c=new Array(a['sigs']['length']);for(let d=0x0;d<a['sigs']['length'];d++){const [e,f]=Object['entries'](a['sigs'][d])['filter'](([l])=>l!=='$kind')[0x0],g=asIndices(a['bitmap'])['at'](d),h=a['multisig_pk']['pk_map'][g],j=Uint8Array['from'](Object['values'](h['pubKey'])[0x0]);if(e==='MultiSig')throw new Error('MultiSig\x20is\x20not\x20supported\x20inside\x20MultiSig');const k=publicKeyFromRawBytes(e,j,b);c[d]={'signatureScheme':e,'signature':Uint8Array['from'](f),'publicKey':k,'weight':h['weight']};}return c;}function asIndices(a){if(a<0x0||a>0x400)throw new Error('Invalid\x20bitmap');const b=[];for(let c=0x0;c<0xa;c++)if((a&0x1<<c)!==0x0)b['push'](c);return Uint8Array['from'](b);}export{verifyPersonalMessageSignature as a,MultiSigSigner as c,publicKeyFromWowBytes as i,parsePartialSignatures as n,verifySignature as o,publicKeyFromRawBytes as r,verifyTransactionSignature as s,MultiSigPublicKey as t};
@@ -1 +1 @@
1
- import{a as a41a,n as a41b,r as a41c,t as a41d}from'./publickey-CcBVAm0Y.mjs';import{fromBase64}from'@mysten/bcs';import{ed25519}from'@noble/curves/ed25519.js';const PUBLIC_KEY_SIZE=0x20;var Ed25519PublicKey=class extends a41d{static{this['SIZE']=PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a41a['ED25519'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a41c(b);if(d['signatureScheme']!=='ED25519')throw new Error('Invalid\x20signature\x20scheme');if(!a41b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return ed25519['verify'](c,a,this['toRawBytes']());}};export{Ed25519PublicKey as t};
1
+ import{a as a41a,n as a41b,r as a41c,t as a41d}from'./publickey-DLn5vuqp.mjs';import{fromBase64}from'@mysten/bcs';import{ed25519}from'@noble/curves/ed25519.js';const PUBLIC_KEY_SIZE=0x20;var Ed25519PublicKey=class extends a41d{static{this['SIZE']=PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a41a['ED25519'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a41c(b);if(d['signatureScheme']!=='ED25519')throw new Error('Invalid\x20signature\x20scheme');if(!a41b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return ed25519['verify'](c,a,this['toRawBytes']());}};export{Ed25519PublicKey as t};
@@ -1 +1 @@
1
- import{a as a40a,n as a40b,r as a40c,t as a40d}from'./publickey-CcBVAm0Y.mjs';import{fromBase64}from'@mysten/bcs';import{secp256k1}from'@noble/curves/secp256k1.js';const SECP256K1_PUBLIC_KEY_SIZE=0x21;var Secp256k1PublicKey=class extends a40d{static{this['SIZE']=SECP256K1_PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==SECP256K1_PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+SECP256K1_PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a40a['Secp256k1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a40c(b);if(d['signatureScheme']!=='Secp256k1')throw new Error('Invalid\x20signature\x20scheme');if(!a40b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return secp256k1['verify'](c,a,this['toRawBytes']());}};export{Secp256k1PublicKey as t};
1
+ import{a as a42a,n as a42b,r as a42c,t as a42d}from'./publickey-DLn5vuqp.mjs';import{fromBase64}from'@mysten/bcs';import{secp256k1}from'@noble/curves/secp256k1.js';const SECP256K1_PUBLIC_KEY_SIZE=0x21;var Secp256k1PublicKey=class extends a42d{static{this['SIZE']=SECP256K1_PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==SECP256K1_PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+SECP256K1_PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a42a['Secp256k1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a42c(b);if(d['signatureScheme']!=='Secp256k1')throw new Error('Invalid\x20signature\x20scheme');if(!a42b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return secp256k1['verify'](c,a,this['toRawBytes']());}};export{Secp256k1PublicKey as t};
@@ -0,0 +1 @@
1
+ import{t as a43a}from'./chunk-D7D4PA-g.mjs';import{a as a43b,n as a43c,r as a43d,t as a43e}from'./publickey-DLn5vuqp.mjs';import{fromBase64}from'@mysten/bcs';import{falcon512padded}from'@noble/post-quantum/falcon.js';var publickey_exports=a43a({'Falcon512PublicKey':()=>Falcon512PublicKey});const PUBLIC_KEY_SIZE=0x381;var Falcon512PublicKey=class extends a43e{static{this['SIZE']=PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a43b['Falcon512'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a43d(b);if(d['signatureScheme']!=='Falcon512')throw new Error('Invalid\x20signature\x20scheme');if(!a43c(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return falcon512padded['verify'](c,a,this['toRawBytes']());}};export{publickey_exports as n,Falcon512PublicKey as t};
@@ -1 +1 @@
1
- import{l as a42a}from'./wow-types-DctQuD2J.mjs';import{o as a42b}from'./bcs-Cjvfeyqf.mjs';import{fromBase64,toBase64}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{bytesToHex}from'@noble/hashes/utils.js';function messageWithIntent(a,b){return a42b['IntentMessage'](a42b['bytes'](b['length']))['serialize']({'intent':{'scope':{[a]:!![]},'version':{'V0':!![]},'appId':{'Wow':!![]}},'value':b})['toBytes']();}const SIGNATURE_SCHEME_TO_FLAG={'ED25519':0x0,'Secp256k1':0x1,'Secp256r1':0x2,'MultiSig':0x3,'Passkey':0x6,'Falcon512':0x7},SIGNATURE_SCHEME_TO_SIZE={'ED25519':0x20,'Secp256k1':0x21,'Secp256r1':0x21,'Passkey':0x21,'Falcon512':0x381},SIGNATURE_FLAG_TO_SCHEME={0x0:'ED25519',0x1:'Secp256k1',0x2:'Secp256r1',0x3:'MultiSig',0x6:'Passkey',0x7:'Falcon512'};function bytesEqual(c,d){if(c===d)return!![];if(c['length']!==d['length'])return![];for(let e=0x0;e<c['length'];e++)if(c[e]!==d[e])return![];return!![];}var PublicKey=class{['equals'](a){return bytesEqual(this['toRawBytes'](),a['toRawBytes']());}['toBase64'](){return toBase64(this['toRawBytes']());}['toString'](){throw new Error('`toString`\x20is\x20not\x20implemented\x20on\x20public\x20keys.\x20Use\x20`toBase64()`\x20or\x20`toRawBytes()`\x20instead.');}['toWowPublicKey'](){return toBase64(this['toWowBytes']());}['verifyWithIntent'](a,b,c){const d=blake2b(messageWithIntent(c,a),{'dkLen':0x20});return this['verify'](d,b);}['verifyPersonalMessage'](a,b){return this['verifyWithIntent'](a42b['byteVector']()['serialize'](a)['toBytes'](),b,'PersonalMessage');}['verifyTransaction'](a,b){return this['verifyWithIntent'](a,b,'TransactionData');}['verifyAddress'](a){return this['toWowAddress']()===a;}['toWowBytes'](){const a=this['toRawBytes'](),b=new Uint8Array(a['length']+0x1);return b['set']([this['flag']()]),b['set'](a,0x1),b;}['toWowAddress'](){const a=blake2b(this['toWowBytes'](),{'dkLen':0x20}),b=new Uint8Array(0x20);return b[0x0]=0x0,b['set'](a['slice'](0x0,0x1f),0x1),a42a(bytesToHex(b)['slice'](0x0,0x40));}};function parseSerializedKeypairSignature(a){const b=fromBase64(a),c=SIGNATURE_FLAG_TO_SCHEME[b[0x0]];switch(c){case'ED25519':case'Secp256k1':case'Secp256r1':case'Falcon512':const d=SIGNATURE_SCHEME_TO_SIZE[c],e=b['slice'](0x1,b['length']-d);return{'serializedSignature':a,'signatureScheme':c,'signature':e,'publicKey':b['slice'](0x1+e['length']),'bytes':b};default:throw new Error('Unsupported\x20signature\x20scheme');}}export{SIGNATURE_SCHEME_TO_FLAG as a,SIGNATURE_FLAG_TO_SCHEME as i,bytesEqual as n,SIGNATURE_SCHEME_TO_SIZE as o,parseSerializedKeypairSignature as r,messageWithIntent as s,PublicKey as t};
1
+ import{l as a44a}from'./wow-types-DctQuD2J.mjs';import{o as a44b}from'./bcs-Cjvfeyqf.mjs';import{fromBase64,toBase64}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{bytesToHex}from'@noble/hashes/utils.js';function messageWithIntent(a,b){return a44b['IntentMessage'](a44b['bytes'](b['length']))['serialize']({'intent':{'scope':{[a]:!![]},'version':{'V0':!![]},'appId':{'Wow':!![]}},'value':b})['toBytes']();}const SIGNATURE_SCHEME_TO_FLAG={'ED25519':0x0,'Secp256k1':0x1,'Secp256r1':0x2,'MultiSig':0x3,'Passkey':0x6,'Falcon512':0x7},SIGNATURE_SCHEME_TO_SIZE={'ED25519':0x20,'Secp256k1':0x21,'Secp256r1':0x21,'Passkey':0x21,'Falcon512':0x381},SIGNATURE_FLAG_TO_SCHEME={0x0:'ED25519',0x1:'Secp256k1',0x2:'Secp256r1',0x3:'MultiSig',0x6:'Passkey',0x7:'Falcon512'};function bytesEqual(c,d){if(c===d)return!![];if(c['length']!==d['length'])return![];for(let e=0x0;e<c['length'];e++)if(c[e]!==d[e])return![];return!![];}var PublicKey=class{['equals'](a){return bytesEqual(this['toRawBytes'](),a['toRawBytes']());}['toBase64'](){return toBase64(this['toRawBytes']());}['toString'](){throw new Error('`toString`\x20is\x20not\x20implemented\x20on\x20public\x20keys.\x20Use\x20`toBase64()`\x20or\x20`toRawBytes()`\x20instead.');}['toWowPublicKey'](){return toBase64(this['toWowBytes']());}['verifyWithIntent'](a,b,c){const d=blake2b(messageWithIntent(c,a),{'dkLen':0x20});return this['verify'](d,b);}['verifyPersonalMessage'](a,b){return this['verifyWithIntent'](a44b['byteVector']()['serialize'](a)['toBytes'](),b,'PersonalMessage');}['verifyTransaction'](a,b){return this['verifyWithIntent'](a,b,'TransactionData');}['verifyAddress'](a){return this['toWowAddress']()===a;}['toWowBytes'](){const a=this['toRawBytes'](),b=new Uint8Array(a['length']+0x1);return b['set']([this['flag']()]),b['set'](a,0x1),b;}['toWowAddress'](){const a=blake2b(this['toWowBytes'](),{'dkLen':0x20}),b=new Uint8Array(0x20);return b[0x0]=0x0,b['set'](a['slice'](0x0,0x1f),0x1),a44a(bytesToHex(b)['slice'](0x0,0x40));}};function parseSerializedKeypairSignature(a){const b=fromBase64(a),c=SIGNATURE_FLAG_TO_SCHEME[b[0x0]];switch(c){case'ED25519':case'Secp256k1':case'Secp256r1':case'Falcon512':const d=SIGNATURE_SCHEME_TO_SIZE[c],e=b['slice'](0x1,b['length']-d);return{'serializedSignature':a,'signatureScheme':c,'signature':e,'publicKey':b['slice'](0x1+e['length']),'bytes':b};default:throw new Error('Unsupported\x20signature\x20scheme');}}export{SIGNATURE_SCHEME_TO_FLAG as a,SIGNATURE_FLAG_TO_SCHEME as i,bytesEqual as n,SIGNATURE_SCHEME_TO_SIZE as o,parseSerializedKeypairSignature as r,messageWithIntent as s,PublicKey as t};
@@ -1 +1 @@
1
- import{a as a43a,n as a43b,t as a43c}from'./publickey-CcBVAm0Y.mjs';import{d as a43d}from'./keypair-Y6T-6uC9.mjs';import{fromBase64}from'@mysten/bcs';import{p256}from'@noble/curves/nist.js';const SECP256R1_PUBLIC_KEY_SIZE=0x21;var Secp256r1PublicKey=class extends a43c{static{this['SIZE']=SECP256R1_PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==SECP256R1_PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+SECP256R1_PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a43a['Secp256r1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a43d(b);if(d['signatureScheme']!=='Secp256r1')throw new Error('Invalid\x20signature\x20scheme');if(!a43b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return p256['verify'](c,a,this['toRawBytes']());}};export{Secp256r1PublicKey as t};
1
+ import{a as a45a,n as a45b,t as a45c}from'./publickey-DLn5vuqp.mjs';import{d as a45d}from'./keypair-IIyGelNr.mjs';import{fromBase64}from'@mysten/bcs';import{p256}from'@noble/curves/nist.js';const SECP256R1_PUBLIC_KEY_SIZE=0x21;var Secp256r1PublicKey=class extends a45c{static{this['SIZE']=SECP256R1_PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==SECP256R1_PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+SECP256R1_PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a45a['Secp256r1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a45d(b);if(d['signatureScheme']!=='Secp256r1')throw new Error('Invalid\x20signature\x20scheme');if(!a45b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return p256['verify'](c,a,this['toRawBytes']());}};export{Secp256r1PublicKey as t};
@@ -1 +1 @@
1
- import{t as a47a}from'./client-CYziyi68.mjs';import{o as a47b}from'./exception-Xd2RFs2i.mjs';import{n as a47c}from'./network-y8yMus5q.mjs';import'./common-BXJtePqk.mjs';import{Config}from'./w/local/config.mjs';import{GetAccountOrMark_Address}from'./w/local/index.mjs';import{Q as a47d,yt as a47e}from'./object-C5tKBfgP.mjs';const query_received=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=new a47a({'url':a47c(b),'network':b});if(a['type']===void 0x0||a['type']===null){const e=await GetAccountOrMark_Address(a['name_or_address']);if(!e)a47b('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':e,'options':{'showContent':!![],'showType':!![]}}))['data']['map'](f=>{return{'id':f?.['data']?.['objectId'],'type':f?.['data']?.['type'],'content_raw':f?.['data']?.['content']?.['fields'],'version':f?.['data']?.['version'],'digest':f?.['data']?.['digest']};});}if(a['type']==='CoinWrapper'){const f=typeof a['name_or_address']==='string'?a['name_or_address']:a['name_or_address']['name_or_address'];if(!f)a47b('invalid\x20parameter','query_received:\x20name_or_address\x20is\x20required.');const g=await GetAccountOrMark_Address(a['name_or_address']);if(!g)a47b('invalid\x20parameter','query_received:\x20Object\x20'+f+'\x20not\x20found.');let h;try{const m=await a47d({'objects':[f],'no_cache':![],'network':a['network']});if(m?.['objects']&&m['objects']['length']===0x1)h=a47e(m['objects'][0x0]['type_raw']);}catch{h=void 0x0;}const i=h?'0x2::payment::CoinWrapper<'+h+'>':void 0x0,j=await c['getOwnedObjects']({'owner':g,...i?{'filter':{'StructType':i}}:{},'options':{'showContent':!![],'showType':!![]}});let k=BigInt(0x0);const l=j['data']['filter'](n=>!i||(n?.['data']?.['type']??'')['includes']('::payment::CoinWrapper<'))['map'](n=>{const o=n?.['data']?.['content']?.['fields'];return k+=BigInt(o?.['coin']?.['fields']?.['balance']??0x0),{'payment':o?.['payment'],'balance':o?.['coin']?.['fields']?.['balance'],'id':n?.['data']?.['objectId'],'type':o?.['coin']?.['type']??n?.['data']?.['type'],'version':n?.['data']?.['version'],'digest':n?.['data']?.['digest']};});return{'balance':k,'received':l,'token_type':h??a47e(l[0x0]?.['type']??'')??''};}const d=await GetAccountOrMark_Address(a['name_or_address']);if(!d)a47b('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':d,'filter':{'StructType':a['type']},'options':{'showContent':!![],'showType':!![]}}))['data']['map'](n=>{return{'id':n?.['data']?.['objectId'],'type':n?.['data']?.['type'],'content_raw':n?.['data']?.['content']?.['fields'],'version':n?.['data']?.['version'],'digest':n?.['data']?.['digest']};});};export{query_received as t};
1
+ import{t as a46a}from'./client-cokX3t3P.mjs';import{o as a46b}from'./exception-CSxqQRN7.mjs';import{a as a46c}from'./network-CGWSsrLB.mjs';import'./common-BLQJxJvT.mjs';import{Config}from'./w/local/config.mjs';import{GetAccountOrMark_Address}from'./w/local/index.mjs';import{Q as a46d,jr as a46e}from'./object-VP6MlaCJ.mjs';const query_received=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=new a46a({'url':a46c(b),'network':b});if(a['type']===void 0x0||a['type']===null){const e=await GetAccountOrMark_Address(a['name_or_address']);if(!e)a46b('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':e,'options':{'showContent':!![],'showType':!![]}}))['data']['map'](f=>{return{'id':f?.['data']?.['objectId'],'type':f?.['data']?.['type'],'content_raw':f?.['data']?.['content']?.['fields'],'version':f?.['data']?.['version'],'digest':f?.['data']?.['digest']};});}if(a['type']==='CoinWrapper'){const f=typeof a['name_or_address']==='string'?a['name_or_address']:a['name_or_address']['name_or_address'];if(!f)a46b('invalid\x20parameter','query_received:\x20name_or_address\x20is\x20required.');const g=await GetAccountOrMark_Address(a['name_or_address']);if(!g)a46b('invalid\x20parameter','query_received:\x20Object\x20'+f+'\x20not\x20found.');let h;try{const m=await a46d({'objects':[f],'no_cache':![],'network':a['network']});if(m?.['objects']&&m['objects']['length']===0x1)h=a46e(m['objects'][0x0]['type_raw']);}catch{h=void 0x0;}const i=h?'0x2::payment::CoinWrapper<'+h+'>':void 0x0,j=await c['getOwnedObjects']({'owner':g,...i?{'filter':{'StructType':i}}:{},'options':{'showContent':!![],'showType':!![]}});let k=BigInt(0x0);const l=j['data']['filter'](n=>!i||(n?.['data']?.['type']??'')['includes']('::payment::CoinWrapper<'))['map'](n=>{const o=n?.['data']?.['content']?.['fields'];return k+=BigInt(o?.['coin']?.['fields']?.['balance']??0x0),{'payment':o?.['payment'],'balance':o?.['coin']?.['fields']?.['balance'],'id':n?.['data']?.['objectId'],'type':o?.['coin']?.['type']??n?.['data']?.['type'],'version':n?.['data']?.['version'],'digest':n?.['data']?.['digest']};});return{'balance':k,'received':l,'token_type':h??a46e(l[0x0]?.['type']??'')??''};}const d=await GetAccountOrMark_Address(a['name_or_address']);if(!d)a46b('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':d,'filter':{'StructType':a['type']},'options':{'showContent':!![],'showType':!![]}}))['data']['map'](n=>{return{'id':n?.['data']?.['objectId'],'type':n?.['data']?.['type'],'content_raw':n?.['data']?.['content']?.['fields'],'version':n?.['data']?.['version'],'digest':n?.['data']?.['digest']};});};export{query_received as t};
@@ -0,0 +1 @@
1
+ import{l as a47a,n as a47b,s as a47c}from'./keypair-IIyGelNr.mjs';import{r as a47d,t as a47e}from'./mnemonics-C6qlqegr.mjs';import{t as a47f}from'./publickey-CHe6yvVh.mjs';import{blake2b}from'@noble/hashes/blake2.js';import{secp256k1}from'@noble/curves/secp256k1.js';import{HDKey}from'@scure/bip32';const DEFAULT_SECP256K1_DERIVATION_PATH='m/54\x27/784\x27/0\x27/0/0';var Secp256k1Keypair=class Secp256k1Keypair extends a47b{constructor(a){super();if(a)this['keypair']=a;else{const b=secp256k1['utils']['randomSecretKey'](),c=secp256k1['getPublicKey'](b,!![]);this['keypair']={'publicKey':c,'secretKey':b};}}['getKeyScheme'](){return'Secp256k1';}static['generate'](){return new Secp256k1Keypair();}static['fromSecretKey'](a,b){if(typeof a==='string'){const d=a47c(a);if(d['scheme']!=='Secp256k1')throw new Error('Expected\x20a\x20Secp256k1\x20keypair,\x20got\x20'+d['scheme']);return this['fromSecretKey'](d['secretKey'],b);}const c=secp256k1['getPublicKey'](a,!![]);if(!b||!b['skipValidation']){const e=blake2b(new TextEncoder()['encode']('wow\x20validation'),{'dkLen':0x20}),f=secp256k1['sign'](e,a,{'prehash':![]});if(!secp256k1['verify'](f,e,c,{'lowS':!![],'prehash':![]}))throw new Error('Provided\x20secretKey\x20is\x20invalid');}return new Secp256k1Keypair({'publicKey':c,'secretKey':a});}static['fromSeed'](a){return new Secp256k1Keypair({'publicKey':secp256k1['getPublicKey'](a,!![]),'secretKey':a});}['getPublicKey'](){return new a47f(this['keypair']['publicKey']);}['getSecretKey'](){return a47a(this['keypair']['secretKey'],this['getKeyScheme']());}async['sign'](a){return secp256k1['sign'](a,this['keypair']['secretKey'],{'lowS':!![],'prehash':![]});}static['deriveKeypair'](a,b){if(b==null)b=DEFAULT_SECP256K1_DERIVATION_PATH;if(!a47e(b))throw new Error('Invalid\x20derivation\x20path');const c=HDKey['fromMasterSeed'](a47d(a))['derive'](b);if(c['publicKey']==null||c['privateKey']==null)throw new Error('Invalid\x20key');return new Secp256k1Keypair({'publicKey':c['publicKey'],'secretKey':c['privateKey']});}};export{Secp256k1Keypair as n,DEFAULT_SECP256K1_DERIVATION_PATH as t};
@@ -0,0 +1 @@
1
+ import{l as a48a,n as a48b,s as a48c}from'./keypair-IIyGelNr.mjs';import{r as a48d,t as a48e}from'./mnemonics-C6qlqegr.mjs';import{t as a48f}from'./publickey-DkfqbEPz.mjs';import{blake2b}from'@noble/hashes/blake2.js';import{p256}from'@noble/curves/nist.js';import{HDKey}from'@scure/bip32';const DEFAULT_SECP256R1_DERIVATION_PATH='m/74\x27/784\x27/0\x27/0/0';var Secp256r1Keypair=class Secp256r1Keypair extends a48b{constructor(a){super();if(a)this['keypair']=a;else{const b=p256['utils']['randomSecretKey'](),c=p256['getPublicKey'](b,!![]);this['keypair']={'publicKey':c,'secretKey':b};}}['getKeyScheme'](){return'Secp256r1';}static['generate'](){return new Secp256r1Keypair();}static['fromSecretKey'](a,b){if(typeof a==='string'){const d=a48c(a);if(d['scheme']!=='Secp256r1')throw new Error('Expected\x20a\x20Secp256r1\x20keypair,\x20got\x20'+d['scheme']);return this['fromSecretKey'](d['secretKey'],b);}const c=p256['getPublicKey'](a,!![]);if(!b||!b['skipValidation']){const e=blake2b(new TextEncoder()['encode']('wow\x20validation'),{'dkLen':0x20}),f=p256['sign'](e,a,{'lowS':!![],'prehash':![]});if(!p256['verify'](f,e,c,{'lowS':!![],'prehash':![]}))throw new Error('Provided\x20secretKey\x20is\x20invalid');}return new Secp256r1Keypair({'publicKey':c,'secretKey':a});}static['fromSeed'](a){return new Secp256r1Keypair({'publicKey':p256['getPublicKey'](a,!![]),'secretKey':a});}['getPublicKey'](){return new a48f(this['keypair']['publicKey']);}['getSecretKey'](){return a48a(this['keypair']['secretKey'],this['getKeyScheme']());}async['sign'](a){return p256['sign'](a,this['keypair']['secretKey'],{'lowS':!![]});}static['deriveKeypair'](a,b){if(b==null)b=DEFAULT_SECP256R1_DERIVATION_PATH;if(!a48e(b))throw new Error('Invalid\x20derivation\x20path');const c=HDKey['fromMasterSeed'](a48d(a))['derive'](b)['privateKey'];return Secp256r1Keypair['fromSecretKey'](c);}};export{Secp256r1Keypair as n,DEFAULT_SECP256R1_DERIVATION_PATH as t};
@@ -0,0 +1 @@
1
+ import{o as a49a}from'./wow-types-DctQuD2J.mjs';import{o as a49b}from'./exception-CSxqQRN7.mjs';import{$ as a49c,G as a49d,J as a49e,K as a49f,W as a49g,X as a49h,_t as a49i,d as a49j,f as a49k,gt as a49l,h as a49m,p as a49n,pt as a49o,q as a49p,vt as a49q,y as a49r}from'./common-BLQJxJvT.mjs';import{LocalMark}from'./w/local/local.mjs';import{WIP,verify_wip}from'./w/local/wip.mjs';import{GetAccountOrMark_Address,GetManyAccountOrMark_Address}from'./w/local/index.mjs';import{Dn as a49s,En as a49t,Mt as a49u,Nr as a49v,Pr as a49w,Pt as a49x,Q as a49y,Tn as a49z,Zn as a49A,ar as a49B,gn as a49C,hn as a49D,ir as a49E,mn as a49F,nr as a49G,rr as a49H,xn as a49I,yn as a49J,zr as a49K}from'./object-VP6MlaCJ.mjs';import{t as a49L}from'./received-DGwKBzFf.mjs';import{paymentInfo,resolvePaymentInfoContext}from'./w/call/payment.mjs';import{allocators}from'./w/call/allocation.mjs';import{create as a49M,newPermission}from'./w/call/permission.mjs';import{a as a49N,i as a49O,n as a49P,r as a49Q}from'./arb-CUXq4EWJ.mjs';import{n as a49R}from'./util-DUArS_ez.mjs';import{accomplish,adminUnhold,create as a49S,getMachineNodeForward,hold}from'./w/call/progress.mjs';var CallOrder=class extends a49u{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 a49n(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 a49y({'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 a49L({'name_or_address':{'name_or_address':this['object_address'],'local_mark_first':!![]},'no_cache':a['no_cache'],'network':a['network']});if(this['data']['agent']!=null)this['_resolved_agents']=await GetManyAccountOrMark_Address(this['data']['agent']);}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 a49y({'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 a49y({'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=a49w(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']>a49J)a49b('invalid\x20parameter','CallOrder_Data.data.agent\x20count\x20'+g['length']+'\x20exceeds\x20maximum\x20'+a49J);agent_set(b,{'order':a49l(b,this['object_address']),'agents':g});}if(this['data']['required_info']!==void 0x0)await order_required_info_update(b,a49l(b,this['object_address']),this['data']['required_info']);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']>a49A)a49b('invalid\x20parameter','CallOrder_Data.data.arb_confirm.proposition\x20length\x20must\x20be\x20less\x20than\x20or\x20equal\x20to\x20'+a49A);a49N(b,j['object']['object'],j['type'],a49l(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)a49P(b,j['object']['object'],j['type'],a49l(b,this['object_address']),this['data']['arb_confirm']['description'],this['data']['arb_confirm']['confirm']);else a49O(b,j['object']['object'],j['type'],a49l(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),a49Q(b,k['object']['object'],k['type'],a49l(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':a49l(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,a49l(b,this['object_address']),n);}if(this['data']['transfer_to']!=null)await owner_change(b,{'order':a49l(b,this['object_address']),'new_owner':this['data']['transfer_to']});}async['get_arb'](a,b){const c=await a49y({'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=a49w(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 a49K([b]),a['moveCall']({'target':orderFn('create'),'arguments':[a49l(a,b)]});}async function owner_change(a,b){const c=await GetAccountOrMark_Address(b['new_owner']);if(!c)a49b('invalid\x20parameter','CallOrder_Data.data.new_owner:'+b['new_owner']);a49K([b['order']]),a['moveCall']({'target':orderFn('owner_change'),'arguments':[a49l(a,b['order']),a['pure']['address'](c),a['object']['mutEntityOrder'](),a['object']['clock']()]});}function agent_set(a,b){a49K([b['order'],...b['agents']]),a['moveCall']({'target':orderFn('agent_set'),'arguments':[a49l(a,b['order']),a['pure']['vector']('address',b['agents']),a['object']['mutEntityOrder'](),a['object']['clock']()]});}async function owner_receive(a,b,c){a49K([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');a49K([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':[a49l(a,b),a49i(a,h,d['version'],d['digest']),a49l(a,i)],'typeArguments':[f]});continue;}a['moveCall']({'target':orderFn('owner_receive_object'),'arguments':[a49l(a,b),a49i(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':[a49l(a,b),a49i(a,m,l['version'],l['digest']),a49l(a,n)],'typeArguments':[k]});}}}async function order_required_info_update(a,b,c){a49K([b]);if(c!==void 0x0){c=await LocalMark['Instance']()['get_address'](c)??null;if(!c)a49b('invalid\x20parameter','CallOrder_Data.data.required_info\x20'+c+'\x20not\x20found');}a['moveCall']({'target':orderFn('required_info_update'),'arguments':[a49l(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');a49K([b['service'],b['arbitration_object'],b['order'],b['arb']]),a['moveCall']({'target':a49o('compensation_claim'),'arguments':[a49l(a,b['service']),a49l(a,b['arbitration_object']),a49l(a,b['order']),a49l(a,b['arb']),a['object']['clock']()],'typeArguments':[b['service_type'],b['arbitration_type']]});}const NAMED_OPERATOR_ORDER_PAYER='';var CallService=class extends a49u{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 a49n(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']=a49w(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 a49n(c?.['permission']),this['new_permission_description']=a49k(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 a49R(a,this['data']['rewards']['objects'],'Reward','reward::Reward',!![]);if(this['data']['arbitrations']?.['op']==='add'||this['data']['arbitrations']?.['op']==='set')this['_resolved_arbitrations_add']=await a49R(a,this['data']['arbitrations']['objects'],'Arbitration','arbitration::Arbitration',!![]);if(this['data']['compensation_fund_receive']==='recently'&&this['object_address']){const e=await a49L({'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 a49L({'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)this['_resolved_buy_discount']=o;}}if(this['data']['order_new']?.['agents']!=null)this['_resolved_buy_agents']=await GetManyAccountOrMark_Address(this['data']['order_new']['agents']);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 p=await LocalMark['Instance']()['get_address'](this['data']['machine']);if(p)this['_resolved_machine']=p;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 q=await LocalMark['Instance']()['get_address'](this['data']['um']);if(q)this['_resolved_um']=q;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 s=await GetAccountOrMark_Address(this['data']['compensation_fund_withdraw']['receipt']);if(!s||!a49a(s))a49b('invalid\x20address','compensation_fund_withdraw\x20receipt:\x20'+JSON['stringify'](this['data']['compensation_fund_withdraw']['receipt']));this['_resolved_comp_withdraw_receipt']=s;}}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'],j=this['content']['sales'],k=new Set();for(const l of h['buy']['items']){const o=j['find'](r=>r['name']===l['name']);if(!o)a49b('invalid\x20parameter','Product\x20\x22'+l['name']+'\x22\x20not\x20found\x20in\x20Service\x20sales');if(l['wip_hash']===''&&o['wip_hash']!=='')l['wip_hash']=o['wip_hash'];if(k['has'](o['wip']))continue;if(o['wip']==='')continue;const q=await verify_wip(o['wip'],l['wip_hash']!==''?l['wip_hash']:void 0x0);if(!q['valid'])a49b('invalid\x20parameter','WIP\x20file\x20verification\x20failed\x20for\x20product\x20\x22'+l['name']+'\x22\x20at\x20'+o['wip']+':\x20'+q['error']);k['add'](o['wip']);}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);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(h?.['order_required_info']!==void 0x0&&h['order_required_info']['length']>0x0)await order_required_info_update(b,g['order'],h['order_required_info']);if(h?.['transfer']!=null)await owner_change(b,{'order':g['order'],'new_owner':h['transfer']});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',a49S(b,g?.['progress']),a49j(h['namedNewProgress']));else a49S(b,g?.['progress']);}if(g?.['order']){const r=create$1(b,g?.['order']);if(h?.['namedNewOrder']!=null)await this['new_with_mark'](a,b,'Order',r,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':for(const s of this['data']['sales']['sales'])if(s['wip']!==''){const t=await verify_wip(s['wip'],s['wip_hash']!==''?s['wip_hash']:void 0x0);if(!t['valid'])a49b('invalid\x20parameter','WIP\x20file\x20verification\x20failed\x20for\x20product\x20\x22'+s['name']+'\x22\x20at\x20'+s['wip']+':\x20'+t['error']);const u=new WIP(),v=await u['load'](s['wip']);s['wip_hash']=u['getHash'](v);}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'](w=>{repository_add(b,f,this['parameter_type'],e,w,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 w=this['_resolved_repos_remove']??[];repository_remove(b,f,this['parameter_type'],e,w,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'](x=>{reward_add(b,f,this['parameter_type'],e,x['object'],x['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 x=this['_resolved_rewards_remove']??[];reward_remove(b,f,this['parameter_type'],e,x,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'](y=>{arbitrations_add(b,f,this['parameter_type'],e,y['object'],y['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 y=this['_resolved_arbitrations_remove']??[];arbitrations_remove(b,f,this['parameter_type'],e,y,c);break;}case'clear':arbitration_clear(b,f,this['parameter_type'],e,c);break;}if(this['data']['discount']!=null)await discount(b,f,this['parameter_type'],e,this['data']['discount'],c);if(this['data']['discount_destroy']!=null)discount_destroy(b,this['_resolved_discount_destroy']??[]);if(this['data']['machine']!==void 0x0){const z=this['_resolved_machine'];if(this['data']['machine']&&!z)a49b('invalid\x20argument\x20type','Machine\x20not\x20found\x20'+this['data']['machine']);this['data']['machine']=z??(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']):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);if(this['data']['compensation_fund_withdraw']!=null){const A=this['_resolved_comp_withdraw_receipt'];if(!A||!a49a(A))a49b('invalid\x20address','compensation_fund_withdraw\x20receipt\x20internal\x20invariant\x20—\x20not\x20pre-resolved:\x20'+JSON['stringify'](this['data']['compensation_fund_withdraw']['receipt']));const B=await paymentInfo(a,b,this['data']['compensation_fund_withdraw']['payment_info'],this['_resolved_comp_withdraw_pi']);compensation_fund_withdraw(b,f,this['parameter_type'],B,A,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 C=this['_resolved_comp_fund_receive']!==void 0x0?this['_resolved_comp_fund_receive']:this['data']['compensation_fund_receive'];if(typeof C==='object'&&!Array['isArray'](C)&&'received'in C){if(C['token_type']!==this['parameter_type'])a49b('invalid\x20parameter','token_type\x20'+C['token_type']+'\x20is\x20not\x20equal\x20to\x20parameter_type\x20'+this['parameter_type']);const D=C['received'],E=this['_resolved_comp_items'];if(D?.['length']>0x0){if(!E||E['length']!==D['length'])a49b('invalid\x20parameter','CallService.compensation_fund_receive\x20internal\x20invariant\x20—\x20pre-resolved\x20count\x20mismatch\x20('+(E?.['length']??0x0)+'\x20vs\x20'+D['length']+')');for(let F=0x0;F<D['length'];F++){const G=D[F],H=E[F],I=H?.['id'],J=H?.['payment'];if(!I||!J)a49b('invalid\x20argument\x20type','Compensation\x20fund\x20receive\x20object\x20'+G['id']+'\x20or\x20payment\x20object\x20'+G['payment']+'\x20not\x20found');compensation_fund_receive(b,f,this['parameter_type'],e,I,J,c);}}}else{if(Array['isArray'](C))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 K=this['_resolved_owner_receive']!==void 0x0?this['_resolved_owner_receive']:this['data']['owner_receive'];if(K==='recently')a49b('invalid\x20parameter','CallService.data.owner_receive\x20internal\x20invariant\x20—\x20\x27recently\x27\x20not\x20pre-resolved');await a49v(b,f,e,K,this['parameter_type'],L=>'0x2::service::'+L,c);}if(this['data']['um']!==void 0x0){const L=this['_resolved_um']??null;if(this['data']['um']&&!L)a49b('invalid\x20parameter','CallService_Data.data.um:'+this['data']['um']);um_set(b,f,this['parameter_type'],e,L,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 M=a49j(this['data']?.['object']);await this['new_with_mark'](a,b,'Permission',a49M(b,e),a49j(M['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=a49B,MAX_REPOSITORY_COUNT=a49G,MAX_ARBITRATION_COUNT=a49I,MAX_REWARD_COUNT=a49E,MAX_CUSTOMER_REQUIRED_INFO_COUNT=a49H,MAX_DISCOUNT_COUNT_ONCE=a49z,MAX_DISCOUNT_RECEIVER_ONCE=a49t,MAX_DISCOUNT_TOTAL_COUNT=a49s,MAX_REQUIRED_INFO_SIZE=a49H,DEFAULT_SETTING_LOCK_DURATION=a49F,DEFAULT_LOCK_DURATION=a49F,DISCOUNT_TYPE_RATES=a49C,DISCOUNT_TYPE_MINUS=a49D,MAX_WIP_LENGTH=0x400,MAX_WIP_HASH_LENGTH=0x40;function sale(a,b){if(typeof b['name']==='string'&&!a49p(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&&!a49f(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':a49o('sale'),'arguments':[a49q(a,b['name']),a['pure']['u64'](b['price']),a['pure']['u64'](b['stock']),a['pure']['bool'](b['suspension']),a49q(a,c),a49q(a,d)]});}function quote_item(a,b){if(!a49p(b['name']))a49b('invalid\x20parameter','Quote\x20item\x20name\x20'+b['name']+'\x20is\x20not\x20valid');if(!a49c(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':a49o('quote_item'),'arguments':[a49q(a,b['name']),a['pure']['u64'](b['stock']),a49q(a,c)]});}function discount_send(a,b,c){if(b['length']===0x0)return;a49K([...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':a49o('discount_send_singleton'),'arguments':[a49l(a,b[0x0]),a['pure']['address'](c)]});return;}else a['moveCall']({'target':a49o('discount_send'),'arguments':[a['makeMoveVec']({'elements':b,'type':'0x2::service::Discount'}),a['pure']['address'](c)]});}function discount_destroy(a,b){a49K([...b]),b['forEach'](c=>{a['moveCall']({'target':a49o('discount_destroy'),'arguments':[a49l(a,c)]});});}const buy=async(a,b,c,d,e,f,g)=>{if(f['items']['length']===0x0)return;a49K([c,f['discount'],e,g]);if(!a49m(d))a49b('invalid\x20parameter','Buy\x20service\x20type\x20'+d+'\x20is\x20not\x20valid');if(!a49g(f['items'],l=>{if(!a49p(l['name']))a49b('invalid\x20parameter','Buy\x20item\x20name\x20'+l['name']+'\x20is\x20not\x20valid');if(!a49c(l['stock']))a49b('invalid\x20u64','Buy\x20item\x20stock\x20'+l['stock']+'\x20is\x20not\x20valid');return!![];}))a49b('invalid\x20parameter','Buy\x20items\x20is\x20not\x20valid');if(typeof f['payment_remark']==='string'&&!a49e(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&&!a49c(f['payment_index']))a49b('invalid\x20u64','Buy\x20payment\x20index\x20'+f['payment_index']+'\x20is\x20not\x20valid');const h=await a49x(a,b,f['total_pay'],d);f['discount']=await LocalMark['Instance']()['get_address'](f['discount']);let i=void 0x0;if(f['discount'])i=b['moveCall']({'target':a49o('quote_with_discount'),'arguments':[a49l(b,c),b['makeMoveVec']({'elements':f['items']['map'](l=>quote_item(b,l)),'type':'0x2::service::QuoteItem'}),a49l(b,f['discount'])],'typeArguments':[d]});else i=b['moveCall']({'target':a49o('quote'),'arguments':[a49l(b,c),b['makeMoveVec']({'elements':f['items']['map'](l=>quote_item(b,l)),'type':'0x2::service::QuoteItem'})],'typeArguments':[d]});let j;if(g)j=b['moveCall']({'target':a49o('buy_with_passport'),'arguments':[a49l(b,c),a49l(b,g),i,b['object']['mutEntityOrder'](),b['object']['mutObjectLinkerTx'](),b['object']['clock']()],'typeArguments':[d]});else j=b['moveCall']({'target':a49o('buy'),'arguments':[a49l(b,c),i,b['object']['mutEntityOrder'](),b['object']['mutObjectLinkerTx'](),b['object']['clock']()],'typeArguments':[d]});const k={'order':j};k['allocation']=b['moveCall']({'target':a49o('order_allocation'),'arguments':[a49l(b,c),a49l(b,j),h,b['pure']['string'](f['payment_remark']??''),b['pure']['u64'](f['payment_index']||0x0),b['object']['mutObjectLinkerTx'](),b['object']['clock']()],'typeArguments':[d]});if(e)k['progress']=b['moveCall']({'target':a49o('order_progress'),'arguments':[a49l(b,c),a49l(b,j),a49l(b,e),b['object']['mutObjectLinkerTx'](),b['object']['clock']()],'typeArguments':[d]});return k;};function newService(a,b,c,d,e){a49K([c,e]);if(typeof d==='string'&&!a49d(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':a49o('new_with_passport'),'arguments':[a49l(a,c),a49l(a,e),a49q(a,d),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[b]});else return a['moveCall']({'target':a49o('new'),'arguments':[a49l(a,c),a49q(a,d),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[b]});}function description_set(a,b,c,d,e,f){a49K([b,d,f]);if(typeof e==='string'&&!a49d(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':a49o('description_set_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a49q(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49o('description_set'),'arguments':[a49l(a,b),a49l(a,d),a49q(a,e)],'typeArguments':[c]});}function um_set(a,b,c,d,e,f){a49K([b,d]);if(!a49m(c))a49b('invalid\x20parameter','Service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e){if(f)a['moveCall']({'target':a49o('um_set_with_passport'),'arguments':[a49l(a,b),a49l(a,d),f,a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('um_set'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}else{if(f)a['moveCall']({'target':a49o('um_none_with_passport'),'arguments':[a49l(a,b),a49l(a,d),f,a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('um_none'),'arguments':[a49l(a,b),a49l(a,d),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}}function location_set(a,b,c,d,e,f){a49K([b,d,f]);if(typeof e==='string'&&!a49p(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':a49o('location_set_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a49q(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49o('location_set'),'arguments':[a49l(a,b),a49l(a,d),a49q(a,e)],'typeArguments':[c]});}function create(a,b,c){a49K([b]);if(!a49m(c))a49b('invalid\x20parameter','Create\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');return a['moveCall']({'target':a49o('create'),'arguments':[a49l(a,b)],'typeArguments':[c]});}function sales_add(a,b,c,d,e,f){if(e['length']===0x0)return;a49K([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Sales\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49o('sales_add_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});else a['moveCall']({'target':a49o('sales_add'),'arguments':[a49l(a,b),a49l(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;a49K([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Sales\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49o('sales_remove_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['pure']['vector']('string',e)],'typeArguments':[c]});else a['moveCall']({'target':a49o('sales_remove'),'arguments':[a49l(a,b),a49l(a,d),a['pure']['vector']('string',e)],'typeArguments':[c]});}function sales_clear(a,b,c,d,e){a49K([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Sales\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49o('sales_clear_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49o('sales_clear'),'arguments':[a49l(a,b),a49l(a,d)],'typeArguments':[c]});}function sales_set(a,b,c,d,e,f){if(e['length']===0x0)return;a49K([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Sales\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49o('sales_set_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});else a['moveCall']({'target':a49o('sales_set'),'arguments':[a49l(a,b),a49l(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){a49K([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Price\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49p(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49c(f))a49b('invalid\x20u64','Price\x20add\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49o('price_add_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,g),a49q(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49o('price_add'),'arguments':[a49l(a,b),a49l(a,d),a49q(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function price_reduce(a,b,c,d,e,f,g){a49K([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Price\x20reduce\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49p(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49c(f))a49b('invalid\x20u64','Price\x20reduce\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49o('price_reduce_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,g),a49q(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49o('price_reduce'),'arguments':[a49l(a,b),a49l(a,d),a49q(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function stock_add(a,b,c,d,e,f,g){a49K([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Stock\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49p(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49c(f))a49b('invalid\x20u64','Stock\x20add\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49o('stock_add_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,g),a49q(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49o('stock_add'),'arguments':[a49l(a,b),a49l(a,d),a49q(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function stock_reduce(a,b,c,d,e,f,g){a49K([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Stock\x20reduce\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49p(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49c(f))a49b('invalid\x20u64','Stock\x20reduce\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49o('stock_reduce_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,g),a49q(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49o('stock_reduce'),'arguments':[a49l(a,b),a49l(a,d),a49q(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function sale_suspension(a,b,c,d,e,f,g){a49K([b,d,g]);if(!a49m(c))a49b('invalid\x20parameter','Sale\x20suspension\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49p(e))a49b('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(g)a['moveCall']({'target':a49o('sale_suspension_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,g),a49q(a,e),a['pure']['bool'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49o('sale_suspension'),'arguments':[a49l(a,b),a49l(a,d),a49q(a,e),a['pure']['bool'](f)],'typeArguments':[c]});}function repository_add(a,b,c,d,e,f){a49K([b,d,e,f]);if(!a49m(c))a49b('invalid\x20parameter','Repository\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49o('repository_add_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('repository_add'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}function repository_remove(a,b,c,d,e,f){if(e['length']===0x0)return;a49K([b,d,f,...e]);if(!a49m(c))a49b('invalid\x20parameter','Repository\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49o('repository_remove_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('repository_remove'),'arguments':[a49l(a,b),a49l(a,d),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}function repository_clear(a,b,c,d,e){a49K([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Repository\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49o('repository_clear_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('repository_clear'),'arguments':[a49l(a,b),a49l(a,d),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}function buy_guard_set(a,b,c,d,e,f){a49K([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':a49o('buy_guard_set_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('buy_guard_none_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}else{if(e)a['moveCall']({'target':a49o('buy_guard_set'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('buy_guard_none'),'arguments':[a49l(a,b),a49l(a,d),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}}function machine_set(a,b,c,d,e,f){a49K([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':a49o('machine_set_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('machine_none_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}else{if(e)a['moveCall']({'target':a49o('machine_set'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('machine_none'),'arguments':[a49l(a,b),a49l(a,d),a['object']['mutObjectLinkerCore']()],'typeArguments':[c]});}}function publish(a,b,c,d,e){a49K([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Publish\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49o('publish_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49o('publish'),'arguments':[a49l(a,b),a49l(a,d)],'typeArguments':[c]});}function pause(a,b,c,d,e,f){a49K([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Pause\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49o('pause_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['pure']['bool'](e),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('pause'),'arguments':[a49l(a,b),a49l(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);a49K([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Customer\x20required\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');e['forEach'](g=>{if(!a49e(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':a49o('custom_required_info_set_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['pure']['vector']('string',e)],'typeArguments':[c]});else a['moveCall']({'target':a49o('custom_required_info_set'),'arguments':[a49l(a,b),a49l(a,d),a['pure']['vector']('string',e)],'typeArguments':[c]});}function arbitrations_add(a,b,c,d,e,f,g){a49K([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':a49o('arbitration_add_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,g),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c,f]});else a['moveCall']({'target':a49o('arbitration_add'),'arguments':[a49l(a,b),a49l(a,d),a49l(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;a49K([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Arbitrations\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49o('arbitration_remove_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('arbitration_remove'),'arguments':[a49l(a,b),a49l(a,d),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}function arbitration_clear(a,b,c,d,e){a49K([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Arbitrations\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49o('arbitration_clear_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('arbitration_clear'),'arguments':[a49l(a,b),a49l(a,d),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}async function compensation_fund_add(a,b,c,d,e,f,g){a49K([c,e,g]);if(!a49m(d))a49b('invalid\x20parameter','Compensation\x20fund\x20add\x20service\x20type\x20'+d+'\x20is\x20not\x20valid');const h=await a49x(a,b,f,d);if(g)b['moveCall']({'target':a49o('compensation_fund_add_with_passport'),'arguments':[a49l(b,c),a49l(b,e),a49l(b,g),h],'typeArguments':[d]});else b['moveCall']({'target':a49o('compensation_fund_add'),'arguments':[a49l(b,c),a49l(b,e),h],'typeArguments':[d]});}function setting_lock_duration_add(a,b,c,d,e,f){if(!a49c(e)||e===0x0)return;a49K([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':a49o('setting_lock_duration_add_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['pure']['u64'](e)],'typeArguments':[c]});else a['moveCall']({'target':a49o('setting_lock_duration_add'),'arguments':[a49l(a,b),a49l(a,d),a['pure']['u64'](e)],'typeArguments':[c]});}function order_allocators_set(a,b,c,d,e,f){a49K([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':a49o('order_allocators_set_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['object']['option']({'type':'0x2::allocation::Allocators','value':e??null})],'typeArguments':[c]});else a['moveCall']({'target':a49o('order_allocators_set'),'arguments':[a49l(a,b),a49l(a,d),a['object']['option']({'type':'0x2::allocation::Allocators','value':e??null})],'typeArguments':[c]});}function reward_add(a,b,c,d,e,f,g){a49K([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':a49o('reward_add_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,g),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c,f]});else a['moveCall']({'target':a49o('reward_add'),'arguments':[a49l(a,b),a49l(a,d),a49l(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;a49K([b,d,f]);if(!a49m(c))a49b('invalid\x20parameter','Rewards\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49o('reward_remove_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('reward_remove'),'arguments':[a49l(a,b),a49l(a,d),a['pure']['vector']('address',e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});}function reward_clear(a,b,c,d,e){a49K([b,d,e]);if(!a49m(c))a49b('invalid\x20parameter','Rewards\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49o('reward_clear_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e),a['object']['mutObjectLinkerCore'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('reward_clear'),'arguments':[a49l(a,b),a49l(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');a49K([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':a49o('compensation_fund_receive_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,g),a49l(a,e),a49l(a,f)],'typeArguments':[c]});else a['moveCall']({'target':a49o('compensation_fund_receive'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,e),a49l(a,f)],'typeArguments':[c]});}function compensation_fund_withdraw(a,b,c,d,e,f,g){a49K([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':a49o('compensation_fund_withdraw_with_passport'),'arguments':[a49l(a,b),a49l(a,f),a49l(a,g),a['pure']['address'](e),a49l(a,d),a['object']['mutObjectLinkerTx'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('compensation_fund_withdraw'),'arguments':[a49l(a,b),a49l(a,f),a['pure']['address'](e),a49l(a,d),a['object']['mutObjectLinkerTx'](),a['object']['clock']()],'typeArguments':[c]});}async function discount(a,b,c,d,e,f){let g=[];if(Array['isArray'](e['recipient']))g=e['recipient'];else g=await GetManyAccountOrMark_Address(e['recipient']);if(g['length']===0x0||e['count']===0x0)return;if(g['length']>MAX_DISCOUNT_RECEIVER_ONCE)a49b('invalid\x20parameter','Discount\x20recipient\x20length\x20'+g['length']+'\x20is\x20exceed\x20max\x20'+MAX_DISCOUNT_RECEIVER_ONCE);if(!a49e(e['name']))a49b('invalid\x20parameter','Discount\x20name\x20'+e['name']+'\x20is\x20not\x20valid');if(!a49h(e['count'])||e['count']>MAX_DISCOUNT_COUNT_ONCE)a49b('invalid\x20parameter','Discount\x20count\x20'+e['count']+'\x20is\x20exceed\x20max\x20'+MAX_DISCOUNT_COUNT_ONCE);if(g['length']*e['count']>MAX_DISCOUNT_TOTAL_COUNT)a49b('invalid\x20parameter','Discount\x20total\x20count\x20'+g['length']*e['count']+'\x20is\x20exceed\x20max\x20'+MAX_DISCOUNT_TOTAL_COUNT);if(e['benchmark']!=null&&!a49c(e['benchmark']))a49b('invalid\x20parameter','Discount\x20benchmark\x20'+e['benchmark']+'\x20is\x20not\x20valid');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');if(e['discount_value']!=null&&!a49c(e['discount_value']))a49b('invalid\x20parameter','Discount\x20discount_value\x20'+e['discount_value']+'\x20is\x20not\x20valid');a49K([b,d,f,...g]);if(!a49m(c))a49b('invalid\x20parameter','Discount\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49o('discount_with_passport'),'arguments':[a49l(a,b),a49l(a,d),a49l(a,f),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',g),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49o('discount'),'arguments':[a49l(a,b),a49l(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',g),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 +1 @@
1
- import{getWowDir}from'./w/local/util.mjs';import a52a from'libsql';import*as a52b from'path';import*as a52c from'fs';var AsyncLock=class{constructor(){this['_locked']=![],this['_queue']=[];}async['acquire'](){if(!this['_locked']){this['_locked']=!![];return;}return new Promise(a=>{this['_queue']['push'](a);});}['release'](){if(this['_queue']['length']>0x0)this['_queue']['shift']()();else this['_locked']=![];}async['run'](a){await this['acquire']();try{return await a();}finally{this['release']();}}};const WOW_DIR=getWowDir(),CACHE_DB_PATH=a52b['join'](WOW_DIR,'cache.db'),ACCOUNT_DB_PATH=a52b['join'](WOW_DIR,'account.db');function ensureWowDirExists(){if(!a52c['existsSync'](WOW_DIR))a52c['mkdirSync'](WOW_DIR,{'recursive':!![]});}ensureWowDirExists();function getCacheDatabase(){ensureWowDirExists();const a=new a52a(CACHE_DB_PATH);a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('busy_timeout\x20=\x205000');try{a['pragma']('wal_checkpoint(FULL)');}catch{}return a['exec']('\x0a\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20cache\x20(\x0a\x09\x09\x09key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09value\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09);\x0a\x09'),a;}let cacheDbInstance=null;new AsyncLock();function getCacheDb(){if(cacheDbInstance)return cacheDbInstance;if(!cacheDbInstance)cacheDbInstance=getCacheDatabase();return cacheDbInstance;}function getAccountDatabase(){ensureWowDirExists();const a=new a52a(ACCOUNT_DB_PATH);a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('busy_timeout\x20=\x205000');try{a['pragma']('wal_checkpoint(FULL)');}catch{}try{a52c['chmodSync'](ACCOUNT_DB_PATH,0x180);}catch{}return a['exec']('\x0a\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20accounts\x20(\x0a\x09\x09\x09id\x20INTEGER\x20PRIMARY\x20KEY\x20CHECK\x20(id\x20=\x201),\x0a\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09);\x0a\x09'),a;}let accountDbInstance=null;new AsyncLock();function getAccountDb(){if(accountDbInstance)return accountDbInstance;if(!accountDbInstance)accountDbInstance=getAccountDatabase();return accountDbInstance;}const KEY_METADATA_TABLE='key_metadata';var SQLiteStorage=class{constructor(a){this['_dbSource']=a;}get['db'](){if(this['_dbSource'])return this['_dbSource'];if(!this['_db'])this['_db']=getCacheDb();return this['_db'];}async['get'](a){return this['db']['prepare']('SELECT\x20value\x20FROM\x20cache\x20WHERE\x20key\x20=\x20?')['get'](a)?.['value'];}async['getMany'](a){const b=a['map'](()=>'?')['join'](','),c=this['db']['prepare']('SELECT\x20key,\x20value\x20FROM\x20cache\x20WHERE\x20key\x20IN\x20('+b+')')['all'](...a),d=new Map(c['map'](e=>[e['key'],e['value']]));return a['map'](e=>d['get'](e));}async['put'](a,b){this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20cache\x20(key,\x20value,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20excluded.value,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09')['run'](a,b);}async['putMany'](a){const b=this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20cache\x20(key,\x20value,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20excluded.value,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09');this['db']['transaction'](c=>{for(const d of c)b['run'](d['key'],d['value']);})(a);}async['del'](a){this['db']['prepare']('DELETE\x20FROM\x20cache\x20WHERE\x20key\x20=\x20?')['run'](a);}async['delByPrefix'](a){this['db']['prepare']('DELETE\x20FROM\x20cache\x20WHERE\x20key\x20LIKE\x20?')['run'](a+'%');}async['getStats'](){const a=this['db']['prepare']('SELECT\x20COUNT(*)\x20AS\x20count,\x20COALESCE(SUM(LENGTH(value)),\x200)\x20AS\x20bytes\x20FROM\x20cache')['get']();return{'count':Number(a?.['count']??0x0),'totalBytes':Number(a?.['bytes']??0x0)};}async['getOldestKeys'](a){return this['db']['prepare']('SELECT\x20key\x20FROM\x20cache\x20ORDER\x20BY\x20updated_at\x20ASC,\x20rowid\x20ASC\x20LIMIT\x20?')['all'](a)['map'](b=>b['key']);}async['list'](a){if(a)return this['db']['prepare']('SELECT\x20key,\x20value\x20FROM\x20cache\x20WHERE\x20key\x20LIKE\x20?')['all'](a+'%');return this['db']['prepare']('SELECT\x20key,\x20value\x20FROM\x20cache')['all']();}async['clear'](){this['db']['exec']('DELETE\x20FROM\x20cache');}},OwnedRecordStorage=class{constructor(a='user_modes',b){this['_tableName']=a,this['_tableInitialized']=![];if(!/^[a-z_][a-z0-9_]*$/['test'](a))throw new Error('OwnedRecordStorage:\x20invalid\x20table\x20name\x20\x27'+a+'\x27');this['_dbSource']=b;}get['db'](){const a=this['_dbSource']??(this['_db']??=getCacheDb());return!this['_tableInitialized']&&(a['exec']('\x0a\x09\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+this['_tableName']+'\x20(\x0a\x09\x09\x09\x09\x09owner\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09name\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x09\x09\x09\x09\x09PRIMARY\x20KEY\x20(owner,\x20name)\x0a\x09\x09\x09\x09);\x0a\x09\x09\x09'),this['_tableInitialized']=!![]),a;}async['save'](a,b,c){this['db']['prepare']('\x0a\x09\x09\x09\x09INSERT\x20INTO\x20'+this['_tableName']+'\x20(owner,\x20name,\x20data,\x20updated_at)\x0a\x09\x09\x09\x09VALUES\x20(?,\x20?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09\x09ON\x20CONFLICT(owner,\x20name)\x20DO\x20UPDATE\x20SET\x20data\x20=\x20excluded.data,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09\x09')['run'](a,b,c);}async['get'](a,b){return this['db']['prepare']('SELECT\x20data\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20owner\x20=\x20?\x20AND\x20name\x20=\x20?')['get'](a,b)?.['data'];}async['list'](a){if(a!==void 0x0)return this['db']['prepare']('SELECT\x20owner,\x20name,\x20data,\x20updated_at\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20owner\x20=\x20?\x20ORDER\x20BY\x20name')['all'](a);return this['db']['prepare']('SELECT\x20owner,\x20name,\x20data,\x20updated_at\x20FROM\x20'+this['_tableName']+'\x20ORDER\x20BY\x20owner,\x20name')['all']();}async['delete'](a,b){return this['db']['prepare']('DELETE\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20owner\x20=\x20?\x20AND\x20name\x20=\x20?')['run'](a,b)['changes']>0x0;}},SQLiteAccountStorage=class{constructor(a,b='accounts'){this['_tableName']=b,this['_tableInitialized']=![],this['_dbSource']=a;}get['db'](){if(this['_dbSource'])return this['_dbSource'];if(!this['_db'])this['_db']=getAccountDb();return!this['_tableInitialized']&&this['_tableName']!=='accounts'&&(this['_db']['exec']('\x0a\x09\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+this['_tableName']+'\x20(\x0a\x09\x09\x09\x09\x09id\x20INTEGER\x20PRIMARY\x20KEY\x20CHECK\x20(id\x20=\x201),\x0a\x09\x09\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09\x09);\x0a\x09\x09\x09'),this['_tableInitialized']=!![]),this['_db'];}async['get'](){return this['db']['prepare']('SELECT\x20data\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20id\x20=\x201')['get']()?.['data'];}async['put'](a){this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20'+this['_tableName']+'\x20(id,\x20data,\x20updated_at)\x0a\x09\x09\x09VALUES\x20(1,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(id)\x20DO\x20UPDATE\x20SET\x20data\x20=\x20excluded.data,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09')['run'](a);try{this['db']['pragma']('wal_checkpoint(FULL)');}catch{}}async['clear'](){this['db']['exec']('DELETE\x20FROM\x20'+this['_tableName']);}};function resetAllDbConnections(){if(cacheDbInstance){try{cacheDbInstance['close']();}catch(a){}cacheDbInstance=null;}if(accountDbInstance){try{accountDbInstance['close']();}catch(b){}accountDbInstance=null;}}process['on']('exit',()=>{resetAllDbConnections();}),process['on']('SIGINT',()=>{resetAllDbConnections();}),process['on']('SIGTERM',()=>{resetAllDbConnections();});function clearKeyMetadata(){try{getAccountDb()['exec']('DELETE\x20FROM\x20'+KEY_METADATA_TABLE);}catch{}}function resetAllStorage(){clearKeyMetadata(),resetAllDbConnections();}const defaultStorage=new SQLiteStorage(),defaultAccountStorage=new SQLiteAccountStorage();export{clearKeyMetadata as a,getAccountDb as c,AsyncLock as d,SQLiteStorage as i,resetAllDbConnections as l,OwnedRecordStorage as n,defaultAccountStorage as o,SQLiteAccountStorage as r,defaultStorage as s,KEY_METADATA_TABLE as t,resetAllStorage as u};
1
+ import{getWowDir}from'./w/local/util.mjs';import a50a from'libsql';import*as a50b from'path';import*as a50c from'fs';var AsyncLock=class{constructor(){this['_locked']=![],this['_queue']=[];}async['acquire'](){if(!this['_locked']){this['_locked']=!![];return;}return new Promise(a=>{this['_queue']['push'](a);});}['release'](){if(this['_queue']['length']>0x0)this['_queue']['shift']()();else this['_locked']=![];}async['run'](a){await this['acquire']();try{return await a();}finally{this['release']();}}};const WOW_DIR=getWowDir(),CACHE_DB_PATH=a50b['join'](WOW_DIR,'cache.db'),ACCOUNT_DB_PATH=a50b['join'](WOW_DIR,'account.db');function ensureWowDirExists(){if(!a50c['existsSync'](WOW_DIR))a50c['mkdirSync'](WOW_DIR,{'recursive':!![]});}ensureWowDirExists();function getCacheDatabase(){ensureWowDirExists();const a=new a50a(CACHE_DB_PATH);a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('busy_timeout\x20=\x205000');try{a['pragma']('wal_checkpoint(FULL)');}catch{}return a['exec']('\x0a\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20cache\x20(\x0a\x09\x09\x09key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09value\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09);\x0a\x09'),a;}let cacheDbInstance=null;new AsyncLock();function getCacheDb(){if(cacheDbInstance)return cacheDbInstance;if(!cacheDbInstance)cacheDbInstance=getCacheDatabase();return cacheDbInstance;}function getAccountDatabase(){ensureWowDirExists();const a=new a50a(ACCOUNT_DB_PATH);a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('busy_timeout\x20=\x205000');try{a['pragma']('wal_checkpoint(FULL)');}catch{}try{a50c['chmodSync'](ACCOUNT_DB_PATH,0x180);}catch{}return a['exec']('\x0a\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20accounts\x20(\x0a\x09\x09\x09id\x20INTEGER\x20PRIMARY\x20KEY\x20CHECK\x20(id\x20=\x201),\x0a\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09);\x0a\x09'),a;}let accountDbInstance=null;new AsyncLock();function getAccountDb(){if(accountDbInstance)return accountDbInstance;if(!accountDbInstance)accountDbInstance=getAccountDatabase();return accountDbInstance;}const KEY_METADATA_TABLE='key_metadata';var SQLiteStorage=class{constructor(a){this['_dbSource']=a;}get['db'](){if(this['_dbSource'])return this['_dbSource'];if(!this['_db'])this['_db']=getCacheDb();return this['_db'];}async['get'](a){return this['db']['prepare']('SELECT\x20value\x20FROM\x20cache\x20WHERE\x20key\x20=\x20?')['get'](a)?.['value'];}async['getMany'](a){const b=a['map'](()=>'?')['join'](','),c=this['db']['prepare']('SELECT\x20key,\x20value\x20FROM\x20cache\x20WHERE\x20key\x20IN\x20('+b+')')['all'](...a),d=new Map(c['map'](e=>[e['key'],e['value']]));return a['map'](e=>d['get'](e));}async['put'](a,b){this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20cache\x20(key,\x20value,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20excluded.value,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09')['run'](a,b);}async['putMany'](a){const b=this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20cache\x20(key,\x20value,\x20updated_at)\x20\x0a\x09\x09\x09VALUES\x20(?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(key)\x20DO\x20UPDATE\x20SET\x20value\x20=\x20excluded.value,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09');this['db']['transaction'](c=>{for(const d of c)b['run'](d['key'],d['value']);})(a);}async['del'](a){this['db']['prepare']('DELETE\x20FROM\x20cache\x20WHERE\x20key\x20=\x20?')['run'](a);}async['delByPrefix'](a){this['db']['prepare']('DELETE\x20FROM\x20cache\x20WHERE\x20key\x20LIKE\x20?')['run'](a+'%');}async['getStats'](){const a=this['db']['prepare']('SELECT\x20COUNT(*)\x20AS\x20count,\x20COALESCE(SUM(LENGTH(value)),\x200)\x20AS\x20bytes\x20FROM\x20cache')['get']();return{'count':Number(a?.['count']??0x0),'totalBytes':Number(a?.['bytes']??0x0)};}async['getOldestKeys'](a){return this['db']['prepare']('SELECT\x20key\x20FROM\x20cache\x20ORDER\x20BY\x20updated_at\x20ASC,\x20rowid\x20ASC\x20LIMIT\x20?')['all'](a)['map'](b=>b['key']);}async['list'](a){if(a)return this['db']['prepare']('SELECT\x20key,\x20value\x20FROM\x20cache\x20WHERE\x20key\x20LIKE\x20?')['all'](a+'%');return this['db']['prepare']('SELECT\x20key,\x20value\x20FROM\x20cache')['all']();}async['clear'](){this['db']['exec']('DELETE\x20FROM\x20cache');}},OwnedRecordStorage=class{constructor(a='user_modes',b){this['_tableName']=a,this['_tableInitialized']=![];if(!/^[a-z_][a-z0-9_]*$/['test'](a))throw new Error('OwnedRecordStorage:\x20invalid\x20table\x20name\x20\x27'+a+'\x27');this['_dbSource']=b;}get['db'](){const a=this['_dbSource']??(this['_db']??=getCacheDb());return!this['_tableInitialized']&&(a['exec']('\x0a\x09\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+this['_tableName']+'\x20(\x0a\x09\x09\x09\x09\x09owner\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09name\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x09\x09\x09\x09\x09PRIMARY\x20KEY\x20(owner,\x20name)\x0a\x09\x09\x09\x09);\x0a\x09\x09\x09'),this['_tableInitialized']=!![]),a;}async['save'](a,b,c){this['db']['prepare']('\x0a\x09\x09\x09\x09INSERT\x20INTO\x20'+this['_tableName']+'\x20(owner,\x20name,\x20data,\x20updated_at)\x0a\x09\x09\x09\x09VALUES\x20(?,\x20?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09\x09ON\x20CONFLICT(owner,\x20name)\x20DO\x20UPDATE\x20SET\x20data\x20=\x20excluded.data,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09\x09')['run'](a,b,c);}async['get'](a,b){return this['db']['prepare']('SELECT\x20data\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20owner\x20=\x20?\x20AND\x20name\x20=\x20?')['get'](a,b)?.['data'];}async['list'](a){if(a!==void 0x0)return this['db']['prepare']('SELECT\x20owner,\x20name,\x20data,\x20updated_at\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20owner\x20=\x20?\x20ORDER\x20BY\x20name')['all'](a);return this['db']['prepare']('SELECT\x20owner,\x20name,\x20data,\x20updated_at\x20FROM\x20'+this['_tableName']+'\x20ORDER\x20BY\x20owner,\x20name')['all']();}async['delete'](a,b){return this['db']['prepare']('DELETE\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20owner\x20=\x20?\x20AND\x20name\x20=\x20?')['run'](a,b)['changes']>0x0;}},SQLiteAccountStorage=class{constructor(a,b='accounts'){this['_tableName']=b,this['_tableInitialized']=![],this['_dbSource']=a;}get['db'](){if(this['_dbSource'])return this['_dbSource'];if(!this['_db'])this['_db']=getAccountDb();return!this['_tableInitialized']&&this['_tableName']!=='accounts'&&(this['_db']['exec']('\x0a\x09\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+this['_tableName']+'\x20(\x0a\x09\x09\x09\x09\x09id\x20INTEGER\x20PRIMARY\x20KEY\x20CHECK\x20(id\x20=\x201),\x0a\x09\x09\x09\x09\x09data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09\x09updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09\x09);\x0a\x09\x09\x09'),this['_tableInitialized']=!![]),this['_db'];}async['get'](){return this['db']['prepare']('SELECT\x20data\x20FROM\x20'+this['_tableName']+'\x20WHERE\x20id\x20=\x201')['get']()?.['data'];}async['put'](a){this['db']['prepare']('\x0a\x09\x09\x09INSERT\x20INTO\x20'+this['_tableName']+'\x20(id,\x20data,\x20updated_at)\x0a\x09\x09\x09VALUES\x20(1,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x09\x09\x09ON\x20CONFLICT(id)\x20DO\x20UPDATE\x20SET\x20data\x20=\x20excluded.data,\x20updated_at\x20=\x20excluded.updated_at\x0a\x09\x09')['run'](a);try{this['db']['pragma']('wal_checkpoint(FULL)');}catch{}}async['clear'](){this['db']['exec']('DELETE\x20FROM\x20'+this['_tableName']);}};function resetAllDbConnections(){if(cacheDbInstance){try{cacheDbInstance['close']();}catch(a){}cacheDbInstance=null;}if(accountDbInstance){try{accountDbInstance['close']();}catch(b){}accountDbInstance=null;}}process['on']('exit',()=>{resetAllDbConnections();}),process['on']('SIGINT',()=>{resetAllDbConnections();}),process['on']('SIGTERM',()=>{resetAllDbConnections();});function clearKeyMetadata(){try{getAccountDb()['exec']('DELETE\x20FROM\x20'+KEY_METADATA_TABLE);}catch{}}function resetAllStorage(){clearKeyMetadata(),resetAllDbConnections();}const defaultStorage=new SQLiteStorage(),defaultAccountStorage=new SQLiteAccountStorage();export{clearKeyMetadata as a,getAccountDb as c,AsyncLock as d,SQLiteStorage as i,resetAllDbConnections as l,OwnedRecordStorage as n,defaultAccountStorage as o,SQLiteAccountStorage as r,defaultStorage as s,KEY_METADATA_TABLE as t,resetAllStorage as u};
@@ -1,2 +1,2 @@
1
- import { $ as TransactionObjectInput, AS as TransactionData, CS as SerializedTransactionDataV2, DS as Command, ES as CallArg, OS as GasData, Q as TransactionObjectArgument, SS as TransactionDataBuilder, TS as Argument, 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, kS as ObjectRef, 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, wS as SerializedTransactionDataV1, x as normalizedTypeToMoveTypeSignature, y as ObjectCache } from "../index-DCFY4cxp.mjs";
1
+ import { $ as TransactionObjectInput, AS as Argument, DS as TransactionDataBuilder, FS as TransactionData, MS as Command, NS as GasData, OS as SerializedTransactionDataV2, PS as ObjectRef, Q as TransactionObjectArgument, 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, jS as CallArg, kS as SerializedTransactionDataV1, 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, x as normalizedTypeToMoveTypeSignature, y as ObjectCache } from "../index-Bss9JH4A.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 a53a,c as a53b,d as a53c,f as a53d,g as a53e,l as a53f,n as a53g,r as a53h,t as a53i,u as a53j}from'../Transaction-D1AlW3t_.mjs';import{a as a53k,i as a53l,n as a53m,r as a53n,t as a53o}from'../transactions-_w64QTEl.mjs';export{a53o as Arguments,a53l as AsyncCache,a53j as Inputs,a53k as ObjectCache,a53m as ParallelTransactionExecutor,a53n as SerialTransactionExecutor,a53i as Transaction,a53c as TransactionCommands,a53e as TransactionDataBuilder,a53d as UpgradePolicy,a53h as coinWithBalance,a53b as getPureBcsSchema,a53a as isArgument,a53g as isTransaction,a53f as normalizedTypeToMoveTypeSignature};
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-DY5xZw9i.mjs';import{a as a51k,i as a51l,n as a51m,r as a51n,t as a51o}from'../transactions-B0rmtDin.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 a54a}from'./wow-types-DctQuD2J.mjs';import{o as a54b}from'./bcs-Cjvfeyqf.mjs';import{a as a54c,g as a54d,i as a54e,n as a54f,s as a54g,t as a54h}from'./Transaction-D1AlW3t_.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=a54a(a['package'])+'::'+a['module']+'::'+a['function'];return this['get']('MoveFunction',b);}async['addMoveFunctionDefinition'](a){const b=a54a(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=a54a(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'](a54g),a['build']({'client':this.#client,...b});}async['executeTransaction']({transaction:a,signatures:b,include:c}){const d=a54f(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=a54b['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=a54h['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=a54f(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 a54d(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 a54h(),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'](a54g);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':a54e(a=>b=>b['pure'](a)),'object':a54c(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-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};