@wowok/wowok 3.0.3 → 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.
- package/dist/esm/Transaction-DY5xZw9i.mjs +1 -0
- package/dist/esm/arb-CUXq4EWJ.mjs +1 -0
- package/dist/esm/bcs/index.mjs +1 -1
- package/dist/esm/bcs-Cjvfeyqf.mjs +1 -1
- package/dist/esm/call-BQMw_Z9s.mjs +1 -0
- package/dist/esm/client/index.d.mts +3 -3
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/{client-B2tx5llp.mjs → client-cokX3t3P.mjs} +1 -1
- package/dist/esm/common-BLQJxJvT.mjs +1 -0
- package/dist/esm/config-Dwoyt1sO.d.mts +69 -0
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/cryptography/index.mjs +1 -1
- package/dist/esm/{ed25519-CQkeZzxT.mjs → ed25519-Cjw5WOqY.mjs} +1 -1
- package/dist/esm/exception-CSxqQRN7.mjs +1 -0
- package/dist/esm/{falcon512-Dl5rncUq.mjs → falcon512-CnEZ-g-L.mjs} +1 -1
- package/dist/esm/fund-approval-Dy-heIpQ.mjs +1 -0
- package/dist/esm/fund-approval-EBi-SfjX.d.mts +53 -0
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/graphql/schema/index.d.mts +1 -1
- package/dist/esm/{graphql-JsWZ_J30.mjs → graphql-Cv2Zjkh8.mjs} +1 -1
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/grpc-CUKHF1or.mjs +1 -0
- package/dist/esm/{index-DXEIuFPc.d.mts → index-Bss9JH4A.d.mts} +130 -18
- package/dist/esm/index.d.mts +4 -3
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/jsonRpc/index.d.mts +1 -1
- package/dist/esm/jsonRpc/index.mjs +1 -1
- package/dist/esm/jsonRpc-BDzKq1WK.mjs +1 -0
- package/dist/esm/{keypair-Y6T-6uC9.mjs → keypair-IIyGelNr.mjs} +1 -1
- package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
- package/dist/esm/keypairs/ed25519/index.mjs +1 -1
- package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
- package/dist/esm/keypairs/falcon512/index.mjs +1 -1
- package/dist/esm/keypairs/passkey/index.d.mts +1 -1
- package/dist/esm/keypairs/passkey/index.mjs +1 -1
- package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256k1/index.mjs +1 -1
- package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256r1/index.mjs +1 -1
- package/dist/esm/{logger-Cs5Mf7Mf.mjs → logger-Da7dKX2V.mjs} +1 -1
- package/dist/esm/messenger-BxoZnri2.mjs +1 -0
- package/dist/esm/{messenger-api-W1DETd-_.mjs → messenger-api-k2rGNPPD.mjs} +1 -1
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/multisig/index.mjs +1 -1
- package/dist/esm/network-CGWSsrLB.mjs +1 -0
- package/dist/esm/object-VP6MlaCJ.mjs +1 -0
- package/dist/esm/passkey-JT2Sem2D.mjs +1 -0
- package/dist/esm/proof-D9SjsE8n.mjs +1 -0
- package/dist/esm/{publickey-Kr58241y.mjs → publickey-BZ3tMxym.mjs} +1 -1
- package/dist/esm/{publickey-CZRptlhE.mjs → publickey-Bhgj2pBz.mjs} +1 -1
- package/dist/esm/{publickey-CQJKhU0a.mjs → publickey-CHe6yvVh.mjs} +1 -1
- package/dist/esm/publickey-CvXcTL6j.mjs +1 -0
- package/dist/esm/{publickey-CcBVAm0Y.mjs → publickey-DLn5vuqp.mjs} +1 -1
- package/dist/esm/{publickey-Co-74gWq.mjs → publickey-DkfqbEPz.mjs} +1 -1
- package/dist/esm/{received-B_a2XG4d.mjs → received-DGwKBzFf.mjs} +1 -1
- package/dist/esm/secp256k1-rxTNgrNr.mjs +1 -0
- package/dist/esm/secp256r1--MEt4hQe.mjs +1 -0
- package/dist/esm/service-o4c33u4H.mjs +1 -0
- package/dist/esm/storage-D1bEi2b7.mjs +1 -1
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/transactions/index.mjs +1 -1
- package/dist/esm/{transactions-_w64QTEl.mjs → transactions-B0rmtDin.mjs} +1 -1
- package/dist/esm/{types-D7yrbH5u.d.mts → types-C7yfY8U4.d.mts} +8 -8
- package/dist/esm/util-DUArS_ez.mjs +1 -0
- package/dist/esm/utils/index.mjs +1 -1
- package/dist/esm/{utils-CtyqDDA5.mjs → utils-DL1Wk3E9.mjs} +1 -1
- package/dist/esm/verify/index.d.mts +1 -1
- package/dist/esm/verify/index.mjs +1 -1
- package/dist/esm/w/call/allocation.d.mts +1 -1
- package/dist/esm/w/call/allocation.mjs +1 -1
- package/dist/esm/w/call/arbitration.d.mts +1 -1
- package/dist/esm/w/call/arbitration.mjs +1 -1
- package/dist/esm/w/call/base.d.mts +1 -1
- package/dist/esm/w/call/base.mjs +1 -1
- package/dist/esm/w/call/demand.d.mts +1 -1
- package/dist/esm/w/call/demand.mjs +1 -1
- package/dist/esm/w/call/guard.d.mts +2 -2
- package/dist/esm/w/call/guard.mjs +1 -1
- package/dist/esm/w/call/index.d.mts +1 -1
- package/dist/esm/w/call/index.mjs +1 -1
- package/dist/esm/w/call/machine.d.mts +1 -1
- package/dist/esm/w/call/machine.mjs +1 -1
- package/dist/esm/w/call/passport.d.mts +1 -1
- package/dist/esm/w/call/passport.mjs +1 -1
- package/dist/esm/w/call/payment.d.mts +1 -1
- package/dist/esm/w/call/payment.mjs +1 -1
- package/dist/esm/w/call/permission.d.mts +1 -1
- package/dist/esm/w/call/permission.mjs +1 -1
- package/dist/esm/w/call/progress.d.mts +1 -1
- package/dist/esm/w/call/progress.mjs +1 -1
- package/dist/esm/w/call/repository.d.mts +1 -1
- package/dist/esm/w/call/repository.mjs +1 -1
- package/dist/esm/w/call/reward.d.mts +1 -1
- package/dist/esm/w/call/reward.mjs +1 -1
- package/dist/esm/w/call/service.d.mts +1 -1
- package/dist/esm/w/call/service.mjs +1 -1
- package/dist/esm/w/call/treasury.d.mts +1 -1
- package/dist/esm/w/call/treasury.mjs +1 -1
- package/dist/esm/w/common.d.mts +2 -2
- package/dist/esm/w/common.mjs +1 -1
- package/dist/esm/w/index.d.mts +4 -3
- package/dist/esm/w/index.mjs +1 -1
- package/dist/esm/w/local/account.d.mts +1 -1
- package/dist/esm/w/local/account.mjs +1 -1
- package/dist/esm/w/local/cache.mjs +1 -1
- package/dist/esm/w/local/config.d.mts +1 -1
- package/dist/esm/w/local/config.mjs +1 -1
- package/dist/esm/w/local/evm/networks.mjs +1 -1
- package/dist/esm/w/local/evm-account.mjs +1 -1
- package/dist/esm/w/local/fund-approval.d.mts +2 -0
- package/dist/esm/w/local/fund-approval.mjs +1 -0
- package/dist/esm/w/local/index.d.mts +4 -3
- package/dist/esm/w/local/index.mjs +1 -1
- package/dist/esm/w/local/local.mjs +1 -1
- package/dist/esm/w/local/secure-storage.mjs +1 -1
- package/dist/esm/w/local/storage.mjs +1 -1
- package/dist/esm/w/local/token.d.mts +1 -1
- package/dist/esm/w/local/token.mjs +1 -1
- package/dist/esm/w/local/util.mjs +1 -1
- package/dist/esm/w/local/wip.mjs +1 -1
- package/dist/esm/w/messenger/index.d.mts +1 -1
- package/dist/esm/w/messenger/index.mjs +1 -1
- package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
- package/dist/esm/w/messenger/messenger-api.mjs +1 -1
- package/dist/esm/w/messenger/messenger.d.mts +1 -1
- package/dist/esm/w/messenger/messenger.mjs +1 -1
- package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
- package/dist/esm/w/messenger/pq/erasure.mjs +1 -1
- package/dist/esm/w/messenger/reply.d.mts +1 -1
- package/dist/esm/w/messenger/storage.d.mts +1 -1
- package/dist/esm/w/messenger/storage.mjs +1 -1
- package/dist/esm/w/messenger/types.d.mts +1 -1
- package/dist/esm/w/messenger/types.mjs +1 -1
- package/dist/esm/w/query/index.d.mts +1 -1
- package/dist/esm/w/query/index.mjs +1 -1
- package/dist/esm/w/query/object.d.mts +1 -1
- package/dist/esm/w/query/object.mjs +1 -1
- package/dist/esm/w-C77YSXfT.mjs +1 -0
- package/package.json +20 -10
- package/dist/esm/Transaction-D1AlW3t_.mjs +0 -1
- package/dist/esm/arb-oAj8sfuS.mjs +0 -1
- package/dist/esm/base-DWuhAtcT.mjs +0 -1
- package/dist/esm/call-CVIyKU1r.mjs +0 -1
- package/dist/esm/common-BXJtePqk.mjs +0 -1
- package/dist/esm/config-DyKCZw0u.d.mts +0 -38
- package/dist/esm/exception-Xd2RFs2i.mjs +0 -1
- package/dist/esm/grpc-BvYW9GnF.mjs +0 -1
- package/dist/esm/jsonRpc-1qOo1zjv.mjs +0 -1
- package/dist/esm/messenger-CeB-Oyvu.mjs +0 -1
- package/dist/esm/network-y8yMus5q.mjs +0 -1
- package/dist/esm/object-DtJ7wEuV.mjs +0 -1
- package/dist/esm/passkey-C1gbCkoK.mjs +0 -1
- package/dist/esm/passport-CmJgXxjm.mjs +0 -1
- package/dist/esm/proof-BwJ-DCF2.mjs +0 -1
- package/dist/esm/publickey-x1pzVVw_.mjs +0 -1
- package/dist/esm/query-Cxz7md7P.mjs +0 -1
- package/dist/esm/secp256k1-Pg5TWkCH.mjs +0 -1
- package/dist/esm/secp256r1-VjWddrx1.mjs +0 -1
- package/dist/esm/service-yA7hNy3J.mjs +0 -1
- package/dist/esm/util-DqqLJ3bi.mjs +0 -1
- package/dist/esm/w-De1YQOs9.mjs +0 -1
- /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
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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};
|