@wowok/wowok 2.3.16 → 2.3.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/esm/{arb-DqRR5FTf.mjs → arb-CCG4h3Tt.mjs} +1 -1
  2. package/dist/esm/{base-BaV8tCMN.mjs → base-CDujg0CW.mjs} +1 -1
  3. package/dist/esm/call-CjiutK7n.mjs +1 -0
  4. package/dist/esm/client/index.d.mts +2 -2
  5. package/dist/esm/client/index.mjs +1 -1
  6. package/dist/esm/{client-BclB95bx.mjs → client-rikC538P.mjs} +1 -1
  7. package/dist/esm/{common-5hE5A-jb.mjs → common-D8TcHVCJ.mjs} +1 -1
  8. package/dist/esm/{config-Bdlw4pMJ.d.mts → config-CPqpYYLT.d.mts} +6 -1
  9. package/dist/esm/cryptography/index.d.mts +1 -1
  10. package/dist/esm/{evm-account-DMl7wn2f.d.mts → evm-account-D-9b2P5o.d.mts} +11 -2
  11. package/dist/esm/exception-CkI_xPvd.mjs +1 -0
  12. package/dist/esm/graphql/index.d.mts +1 -1
  13. package/dist/esm/graphql/index.mjs +1 -1
  14. package/dist/esm/{graphql-ruyEDFAJ.mjs → graphql-DS8RUdlp.mjs} +1 -1
  15. package/dist/esm/grpc/index.d.mts +1 -1
  16. package/dist/esm/grpc/index.mjs +1 -1
  17. package/dist/esm/{grpc-oOvPQrN2.mjs → grpc-BcOvQ6pC.mjs} +1 -1
  18. package/dist/esm/{index-Dg2FVWSm.d.mts → index-fGNIZdBz.d.mts} +226 -17
  19. package/dist/esm/index.d.mts +8 -8
  20. package/dist/esm/index.mjs +1 -1
  21. package/dist/esm/jsonRpc/index.d.mts +1 -1
  22. package/dist/esm/jsonRpc/index.mjs +1 -1
  23. package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
  24. package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
  25. package/dist/esm/keypairs/passkey/index.d.mts +1 -1
  26. package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
  27. package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
  28. package/dist/esm/{local-CtSmnSPu.d.mts → local-CnxBimye.d.mts} +12 -3
  29. package/dist/esm/logger-Cs5Mf7Mf.mjs +1 -0
  30. package/dist/esm/messenger-Bj7TtF3B.mjs +1 -0
  31. package/dist/esm/messenger-api-DhHcvqz2.mjs +1 -0
  32. package/dist/esm/multisig/index.d.mts +1 -1
  33. package/dist/esm/multisig/index.mjs +1 -1
  34. package/dist/esm/network-CeDd07Hg.mjs +1 -1
  35. package/dist/esm/{networks-DjNV6z1E.d.mts → networks-Cab2UR8C.d.mts} +5 -0
  36. package/dist/esm/{object-Dk20SVoh.mjs → object-B-eGy8U5.mjs} +1 -1
  37. package/dist/esm/passkey-CS2Qexll.mjs +1 -1
  38. package/dist/esm/{proof-CYzFLG3W.mjs → proof-Ck9Bu-Jx.mjs} +1 -1
  39. package/dist/esm/publickey-5xoCmE9g.mjs +1 -1
  40. package/dist/esm/publickey-BzPz9Uwr.mjs +1 -1
  41. package/dist/esm/publickey-C9TocS69.mjs +1 -1
  42. package/dist/esm/publickey-CQWQyM6S.mjs +1 -1
  43. package/dist/esm/publickey-CvCDfw_N.mjs +1 -1
  44. package/dist/esm/publickey-DhiTZPiB.mjs +1 -1
  45. package/dist/esm/{query-KyXahKV2.mjs → query-DIsbjIQ7.mjs} +1 -1
  46. package/dist/esm/{received-UkU0DIQD.mjs → received-CrZF7nTR.mjs} +1 -1
  47. package/dist/esm/secp256k1-DhrvBMbI.mjs +1 -1
  48. package/dist/esm/secp256r1-BCaQWLGZ.mjs +1 -1
  49. package/dist/esm/{secure-storage-Dkh4Oioi.d.mts → secure-storage-D4X3f-9t.d.mts} +29 -6
  50. package/dist/esm/{service-Dk_yUxg1.mjs → service-Fh_GX6lR.mjs} +1 -1
  51. package/dist/esm/{storage-0OmomSuj.d.mts → storage-D6ZEdlgz.d.mts} +4 -0
  52. package/dist/esm/storage-UnD4qWaK.mjs +1 -0
  53. package/dist/esm/transactions/index.d.mts +1 -1
  54. package/dist/esm/transactions/index.mjs +1 -1
  55. package/dist/esm/transactions-CkMcWBKS.mjs +1 -1
  56. package/dist/esm/util-D-TSMMSN.mjs +1 -0
  57. package/dist/esm/utils/index.mjs +1 -1
  58. package/dist/esm/utils-npJYSbqk.mjs +1 -1
  59. package/dist/esm/verify/index.d.mts +1 -1
  60. package/dist/esm/verify/index.mjs +1 -1
  61. package/dist/esm/w/call/allocation.d.mts +1 -1
  62. package/dist/esm/w/call/allocation.mjs +1 -1
  63. package/dist/esm/w/call/arbitration.d.mts +1 -1
  64. package/dist/esm/w/call/arbitration.mjs +1 -1
  65. package/dist/esm/w/call/base.d.mts +1 -1
  66. package/dist/esm/w/call/base.mjs +1 -1
  67. package/dist/esm/w/call/demand.d.mts +1 -1
  68. package/dist/esm/w/call/demand.mjs +1 -1
  69. package/dist/esm/w/call/guard.d.mts +1 -1
  70. package/dist/esm/w/call/guard.mjs +1 -1
  71. package/dist/esm/w/call/index.d.mts +2 -2
  72. package/dist/esm/w/call/index.mjs +1 -1
  73. package/dist/esm/w/call/machine.d.mts +1 -1
  74. package/dist/esm/w/call/machine.mjs +1 -1
  75. package/dist/esm/w/call/passport.d.mts +1 -1
  76. package/dist/esm/w/call/passport.mjs +1 -1
  77. package/dist/esm/w/call/payment.d.mts +1 -1
  78. package/dist/esm/w/call/payment.mjs +1 -1
  79. package/dist/esm/w/call/permission.d.mts +1 -1
  80. package/dist/esm/w/call/permission.mjs +1 -1
  81. package/dist/esm/w/call/progress.d.mts +1 -1
  82. package/dist/esm/w/call/progress.mjs +1 -1
  83. package/dist/esm/w/call/repository.d.mts +1 -1
  84. package/dist/esm/w/call/repository.mjs +1 -1
  85. package/dist/esm/w/call/reward.d.mts +2 -2
  86. package/dist/esm/w/call/reward.mjs +1 -1
  87. package/dist/esm/w/call/service.d.mts +1 -1
  88. package/dist/esm/w/call/service.mjs +1 -1
  89. package/dist/esm/w/call/treasury.d.mts +1 -1
  90. package/dist/esm/w/call/treasury.mjs +1 -1
  91. package/dist/esm/w/common.d.mts +1 -1
  92. package/dist/esm/w/common.mjs +1 -1
  93. package/dist/esm/w/index.d.mts +8 -8
  94. package/dist/esm/w/index.mjs +1 -1
  95. package/dist/esm/w/local/account.d.mts +2 -2
  96. package/dist/esm/w/local/account.mjs +1 -1
  97. package/dist/esm/w/local/cache.mjs +1 -1
  98. package/dist/esm/w/local/config.d.mts +1 -1
  99. package/dist/esm/w/local/config.mjs +1 -1
  100. package/dist/esm/w/local/evm/networks.d.mts +1 -1
  101. package/dist/esm/w/local/evm/networks.mjs +1 -1
  102. package/dist/esm/w/local/evm-account.d.mts +1 -1
  103. package/dist/esm/w/local/evm-account.mjs +1 -1
  104. package/dist/esm/w/local/index.d.mts +7 -7
  105. package/dist/esm/w/local/index.mjs +1 -1
  106. package/dist/esm/w/local/local.d.mts +1 -1
  107. package/dist/esm/w/local/local.mjs +1 -1
  108. package/dist/esm/w/local/secure-storage.d.mts +1 -1
  109. package/dist/esm/w/local/secure-storage.mjs +1 -1
  110. package/dist/esm/w/local/storage.d.mts +1 -1
  111. package/dist/esm/w/local/storage.mjs +1 -1
  112. package/dist/esm/w/local/token.d.mts +1 -1
  113. package/dist/esm/w/local/token.mjs +1 -1
  114. package/dist/esm/w/local/util.mjs +1 -1
  115. package/dist/esm/w/local/wip.mjs +1 -1
  116. package/dist/esm/w/messenger/index.d.mts +1 -1
  117. package/dist/esm/w/messenger/index.mjs +1 -1
  118. package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
  119. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  120. package/dist/esm/w/messenger/messenger.d.mts +1 -1
  121. package/dist/esm/w/messenger/messenger.mjs +1 -1
  122. package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
  123. package/dist/esm/w/messenger/storage.d.mts +1 -1
  124. package/dist/esm/w/messenger/storage.mjs +1 -1
  125. package/dist/esm/w/messenger/types.d.mts +1 -1
  126. package/dist/esm/w/query/index.d.mts +1 -1
  127. package/dist/esm/w/query/index.mjs +1 -1
  128. package/dist/esm/w/query/object.d.mts +1 -1
  129. package/dist/esm/w/query/object.mjs +1 -1
  130. package/dist/esm/w-D7BssNyx.mjs +1 -0
  131. package/package.json +1 -1
  132. package/dist/esm/call-DxZ8joBg.mjs +0 -1
  133. package/dist/esm/exception--UEPnygY.mjs +0 -1
  134. package/dist/esm/messenger-2hLfhXrY.mjs +0 -1
  135. package/dist/esm/messenger-api-Bw07tHXw.mjs +0 -1
  136. package/dist/esm/util-B0nM8Wvi.mjs +0 -1
  137. package/dist/esm/w-M-SrRB3j.mjs +0 -1
@@ -1 +1 @@
1
- import{l as a36a}from'./bcs-BrmSFFhn.mjs';import{a as a36b,s as a36c}from'./publickey-5xoCmE9g.mjs';import{a as a36d,m as a36e,p as a36f}from'./keypair-BqNhxtoP.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 a36d{['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=a36e(new Uint8Array(c)),e=p256['Point']['fromBytes'](d)['toBytes'](!![]);return new PasskeyKeypair(e,a,new Uint8Array(b['rawId']));}}['getPublicKey'](){return new a36f(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']([a36b['Secp256r1']]),h['set'](g,0x1),h['set'](this['publicKey'],0x1+g['length']),a36a['serialize']({'authenticatorData':c,'clientDataJson':e,'userSignature':h})['toBytes']();}async['signWithIntent'](a,b){const c=blake2b(a36c(b,a),{'dkLen':0x20}),d=await this['sign'](c),e=new Uint8Array(0x1+d['length']);return e['set']([a36b[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 a36f(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};
1
+ import{l as a37a}from'./bcs-BrmSFFhn.mjs';import{a as a37b,s as a37c}from'./publickey-5xoCmE9g.mjs';import{a as a37d,m as a37e,p as a37f}from'./keypair-BqNhxtoP.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 a37d{['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=a37e(new Uint8Array(c)),e=p256['Point']['fromBytes'](d)['toBytes'](!![]);return new PasskeyKeypair(e,a,new Uint8Array(b['rawId']));}}['getPublicKey'](){return new a37f(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']([a37b['Secp256r1']]),h['set'](g,0x1),h['set'](this['publicKey'],0x1+g['length']),a37a['serialize']({'authenticatorData':c,'clientDataJson':e,'userSignature':h})['toBytes']();}async['signWithIntent'](a,b){const c=blake2b(a37c(b,a),{'dkLen':0x20}),d=await this['sign'](c),e=new Uint8Array(0x1+d['length']);return e['set']([a37b[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 a37f(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};
@@ -1 +1 @@
1
- import{t as a37a}from'./rolldown-runtime-D7D4PA-g.mjs';import{B as a37b,g as a37c}from'./common-5hE5A-jb.mjs';import{o as a37d}from'./exception--UEPnygY.mjs';import{isValidAddress}from'./w/local/local.mjs';import{t as a37e}from'./base-BaV8tCMN.mjs';var proof_exports=a37a({'CallProof':()=>CallProof,'MAX_PROOF_SIZE':()=>MAX_PROOF_SIZE,'MAX_SERVER_PUBKEY_SIZE':()=>MAX_SERVER_PUBKEY_SIZE,'MAX_SERVER_SIGNATURE_SIZE':()=>MAX_SERVER_SIGNATURE_SIZE,'create':()=>create,'gen_proof':()=>gen_proof,'proofFn':()=>proofFn}),CallProof=class extends a37e{constructor(a){super(),this['data']=a;}async['call'](a){return await this['prepare'](a),await this['exec'](a);}async['operate'](a,b,c,d){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 MAX_PROOF_SIZE=0x2800,MAX_SERVER_PUBKEY_SIZE=0x800,MAX_SERVER_SIGNATURE_SIZE=0x9e20,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(!a37b(b))a37d('invalid\x20description','Description\x20length\x20exceeds\x20'+a37c);if(c['length']>0x2800)a37d('invalid\x20parameter','Proof\x20length\x20exceeds\x20'+MAX_PROOF_SIZE);if(d['length']>0x800)a37d('invalid\x20parameter','Server\x20pubkey\x20length\x20exceeds\x20'+MAX_SERVER_PUBKEY_SIZE);if(e['length']>0x9e20)a37d('invalid\x20parameter','Server\x20signature\x20length\x20exceeds\x20'+MAX_SERVER_SIGNATURE_SIZE);if(!isValidAddress(h))a37d('invalid\x20address','About\x20address\x20'+h+'\x20is\x20not\x20valid');return a['moveCall']({'target':proofFn('create_wowok_proof'),'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),a['pure']['u64'](f),a['object']['clock']()]});}export{gen_proof as a,MAX_SERVER_SIGNATURE_SIZE as i,MAX_PROOF_SIZE as n,proof_exports as o,MAX_SERVER_PUBKEY_SIZE as r,CallProof as t};
1
+ import{t as a38a}from'./rolldown-runtime-D7D4PA-g.mjs';import{B as a38b,g as a38c}from'./common-D8TcHVCJ.mjs';import{o as a38d}from'./exception-CkI_xPvd.mjs';import{isValidAddress}from'./w/local/local.mjs';import{t as a38e}from'./base-CDujg0CW.mjs';var proof_exports=a38a({'CallProof':()=>CallProof,'MAX_PROOF_SIZE':()=>MAX_PROOF_SIZE,'MAX_SERVER_PUBKEY_SIZE':()=>MAX_SERVER_PUBKEY_SIZE,'MAX_SERVER_SIGNATURE_SIZE':()=>MAX_SERVER_SIGNATURE_SIZE,'create':()=>create,'gen_proof':()=>gen_proof,'proofFn':()=>proofFn}),CallProof=class extends a38e{constructor(a){super(),this['data']=a;}async['call'](a){return await this['prepare'](a),await this['exec'](a);}async['operate'](a,b,c,d){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 MAX_PROOF_SIZE=0x2800,MAX_SERVER_PUBKEY_SIZE=0x800,MAX_SERVER_SIGNATURE_SIZE=0x9e20,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(!a38b(b))a38d('invalid\x20description','Description\x20length\x20exceeds\x20'+a38c);if(c['length']>0x2800)a38d('invalid\x20parameter','Proof\x20length\x20exceeds\x20'+MAX_PROOF_SIZE);if(d['length']>0x800)a38d('invalid\x20parameter','Server\x20pubkey\x20length\x20exceeds\x20'+MAX_SERVER_PUBKEY_SIZE);if(e['length']>0x9e20)a38d('invalid\x20parameter','Server\x20signature\x20length\x20exceeds\x20'+MAX_SERVER_SIGNATURE_SIZE);if(!isValidAddress(h))a38d('invalid\x20address','About\x20address\x20'+h+'\x20is\x20not\x20valid');return a['moveCall']({'target':proofFn('create_wowok_proof'),'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),a['pure']['u64'](f),a['object']['clock']()]});}export{gen_proof as a,MAX_SERVER_SIGNATURE_SIZE as i,MAX_PROOF_SIZE as n,proof_exports as o,MAX_SERVER_PUBKEY_SIZE as r,CallProof as t};
@@ -1 +1 @@
1
- import{c as a38a}from'./wow-types-DcqbnAaK.mjs';import{o as a38b}from'./bcs-BrmSFFhn.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 a38b['IntentMessage'](a38b['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'](a38b['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'](){return a38a(bytesToHex(blake2b(this['toWowBytes'](),{'dkLen':0x20}))['slice'](0x0,0x40));}};function parseSerializedKeypairSignature(a){const b=fromBase64(a),c=SIGNATURE_FLAG_TO_SCHEME[b[0x0]];switch(c){case'ED25519':case'Secp256k1':case'Secp256r1':case'Falcon512':const d=SIGNATURE_SCHEME_TO_SIZE[c],e=b['slice'](0x1,b['length']-d);return{'serializedSignature':a,'signatureScheme':c,'signature':e,'publicKey':b['slice'](0x1+e['length']),'bytes':b};default:throw new Error('Unsupported\x20signature\x20scheme');}}export{SIGNATURE_SCHEME_TO_FLAG as a,SIGNATURE_FLAG_TO_SCHEME as i,bytesEqual as n,SIGNATURE_SCHEME_TO_SIZE as o,parseSerializedKeypairSignature as r,messageWithIntent as s,PublicKey as t};
1
+ import{c as a39a}from'./wow-types-DcqbnAaK.mjs';import{o as a39b}from'./bcs-BrmSFFhn.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 a39b['IntentMessage'](a39b['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'](a39b['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'](){return a39a(bytesToHex(blake2b(this['toWowBytes'](),{'dkLen':0x20}))['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 a39a,n as a39b,t as a39c}from'./publickey-5xoCmE9g.mjs';import{d as a39d}from'./keypair-BqNhxtoP.mjs';import{fromBase64}from'@mysten/bcs';import{p256}from'@noble/curves/nist.js';const SECP256R1_PUBLIC_KEY_SIZE=0x21;var Secp256r1PublicKey=class extends a39c{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 a39a['Secp256r1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a39d(b);if(d['signatureScheme']!=='Secp256r1')throw new Error('Invalid\x20signature\x20scheme');if(!a39b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return p256['verify'](c,a,this['toRawBytes']());}};export{Secp256r1PublicKey as t};
1
+ import{a as a40a,n as a40b,t as a40c}from'./publickey-5xoCmE9g.mjs';import{d as a40d}from'./keypair-BqNhxtoP.mjs';import{fromBase64}from'@mysten/bcs';import{p256}from'@noble/curves/nist.js';const SECP256R1_PUBLIC_KEY_SIZE=0x21;var Secp256r1PublicKey=class extends a40c{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 a40a['Secp256r1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a40d(b);if(d['signatureScheme']!=='Secp256r1')throw new Error('Invalid\x20signature\x20scheme');if(!a40b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return p256['verify'](c,a,this['toRawBytes']());}};export{Secp256r1PublicKey as t};
@@ -1 +1 @@
1
- import{a as a40a,n as a40b,r as a40c,t as a40d}from'./publickey-5xoCmE9g.mjs';import{fromBase64}from'@mysten/bcs';import{secp256k1}from'@noble/curves/secp256k1.js';const SECP256K1_PUBLIC_KEY_SIZE=0x21;var Secp256k1PublicKey=class extends a40d{static{this['SIZE']=SECP256K1_PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==SECP256K1_PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+SECP256K1_PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a40a['Secp256k1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a40c(b);if(d['signatureScheme']!=='Secp256k1')throw new Error('Invalid\x20signature\x20scheme');if(!a40b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return secp256k1['verify'](c,a,this['toRawBytes']());}};export{Secp256k1PublicKey as t};
1
+ import{a as a41a,n as a41b,r as a41c,t as a41d}from'./publickey-5xoCmE9g.mjs';import{fromBase64}from'@mysten/bcs';import{secp256k1}from'@noble/curves/secp256k1.js';const SECP256K1_PUBLIC_KEY_SIZE=0x21;var Secp256k1PublicKey=class extends a41d{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 a41a['Secp256k1'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a41c(b);if(d['signatureScheme']!=='Secp256k1')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 secp256k1['verify'](c,a,this['toRawBytes']());}};export{Secp256k1PublicKey as t};
@@ -1 +1 @@
1
- import{a as a41a,n as a41b,r as a41c,t as a41d}from'./publickey-5xoCmE9g.mjs';import{fromBase64}from'@mysten/bcs';import{ed25519}from'@noble/curves/ed25519.js';const PUBLIC_KEY_SIZE=0x20;var Ed25519PublicKey=class extends a41d{static{this['SIZE']=PUBLIC_KEY_SIZE;}constructor(a){super();if(typeof a==='string')this['data']=fromBase64(a);else{if(a instanceof Uint8Array)this['data']=a;else this['data']=Uint8Array['from'](a);}if(this['data']['length']!==PUBLIC_KEY_SIZE)throw new Error('Invalid\x20public\x20key\x20input.\x20Expected\x20'+PUBLIC_KEY_SIZE+'\x20bytes,\x20got\x20'+this['data']['length']);}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['data'];}['flag'](){return a41a['ED25519'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a41c(b);if(d['signatureScheme']!=='ED25519')throw new Error('Invalid\x20signature\x20scheme');if(!a41b(this['toRawBytes'](),d['publicKey']))throw new Error('Signature\x20does\x20not\x20match\x20public\x20key');c=d['signature'];}else c=b;return ed25519['verify'](c,a,this['toRawBytes']());}};export{Ed25519PublicKey as t};
1
+ import{a as a42a,n as a42b,r as a42c,t as a42d}from'./publickey-5xoCmE9g.mjs';import{fromBase64}from'@mysten/bcs';import{ed25519}from'@noble/curves/ed25519.js';const PUBLIC_KEY_SIZE=0x20;var Ed25519PublicKey=class extends a42d{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 a42a['ED25519'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a42c(b);if(d['signatureScheme']!=='ED25519')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 ed25519['verify'](c,a,this['toRawBytes']());}};export{Ed25519PublicKey as t};
@@ -1 +1 @@
1
- import{t as a42a}from'./rolldown-runtime-D7D4PA-g.mjs';import{a as a42b,n as a42c,r as a42d,t as a42e}from'./publickey-5xoCmE9g.mjs';import{fromBase64}from'@mysten/bcs';import{falcon512padded}from'@noble/post-quantum/falcon.js';var publickey_exports=a42a({'Falcon512PublicKey':()=>Falcon512PublicKey});const PUBLIC_KEY_SIZE=0x381;var Falcon512PublicKey=class extends a42e{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 a42b['Falcon512'];}async['verify'](a,b){let c;if(typeof b==='string'){const d=a42d(b);if(d['signatureScheme']!=='Falcon512')throw new Error('Invalid\x20signature\x20scheme');if(!a42c(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
+ import{t as a43a}from'./rolldown-runtime-D7D4PA-g.mjs';import{a as a43b,n as a43c,r as a43d,t as a43e}from'./publickey-5xoCmE9g.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{c as a43a}from'./wow-types-DcqbnAaK.mjs';import{o as a43b}from'./bcs-BrmSFFhn.mjs';import{a as a43c,i as a43d,n as a43e,t as a43f}from'./publickey-5xoCmE9g.mjs';import{a as a43g,d as a43h,p as a43i}from'./keypair-BqNhxtoP.mjs';import{t as a43j}from'./publickey-CQWQyM6S.mjs';import{t as a43k}from'./publickey-C9TocS69.mjs';import{t as a43l}from'./publickey-BzPz9Uwr.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 a43g{#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=a43h(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 a43j(b);break;case'Secp256k1':d=new a43k(b);break;case'Secp256r1':d=new a43l(b);break;case'MultiSig':d=new MultiSigPublicKey(b);break;case'Passkey':d=new a43i(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=a43d[c[0x0]];return publicKeyFromRawBytes(d,c['slice'](0x1),b);}var MultiSigPublicKey=class MultiSigPublicKey extends a43f{constructor(a,b={}){super();if(typeof a==='string')this['rawBytes']=fromBase64(a),this['multisigPublicKey']=a43b['MultiSigPublicKey']['parse'](this['rawBytes']);else a instanceof Uint8Array?(this['rawBytes']=a,this['multisigPublicKey']=a43b['MultiSigPublicKey']['parse'](this['rawBytes'])):(this['multisigPublicKey']=a,this['rawBytes']=a43b['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':{[a43d[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']([a43c['MultiSig']]),a['set'](a43b['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 a43a(bytesToHex(blake2b(a['slice'](0x0,b),{'dkLen':0x20})));}['flag'](){return a43c['MultiSig'];}async['verify'](a,b){const c=a43h(b);if(c['signatureScheme']!=='MultiSig')throw new Error('Invalid\x20signature\x20scheme');const {multisig:d}=c;let e=0x0;if(!a43e(a43b['MultiSigPublicKey']['serialize'](this['multisigPublicKey'])['toBytes'](),a43b['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=a43h(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(a43e(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=a43b['MultiSig']['serialize'](d,{'maxSize':0x2000})['toBytes'](),f=new Uint8Array(e['length']+0x1);return f['set']([a43c['MultiSig']]),f['set'](e,0x1),toBase64(f);}};function parsePartialSignatures(a,b={}){const c=new Array(a['sigs']['length']);for(let d=0x0;d<a['sigs']['length'];d++){const [e,f]=Object['entries'](a['sigs'][d])['filter'](([l])=>l!=='$kind')[0x0],g=asIndices(a['bitmap'])['at'](d),h=a['multisig_pk']['pk_map'][g],j=Uint8Array['from'](Object['values'](h['pubKey'])[0x0]);if(e==='MultiSig')throw new Error('MultiSig\x20is\x20not\x20supported\x20inside\x20MultiSig');const k=publicKeyFromRawBytes(e,j,b);c[d]={'signatureScheme':e,'signature':Uint8Array['from'](f),'publicKey':k,'weight':h['weight']};}return c;}function asIndices(a){if(a<0x0||a>0x400)throw new Error('Invalid\x20bitmap');const b=[];for(let c=0x0;c<0xa;c++)if((a&0x1<<c)!==0x0)b['push'](c);return Uint8Array['from'](b);}export{verifyPersonalMessageSignature as a,MultiSigSigner as c,publicKeyFromWowBytes as i,parsePartialSignatures as n,verifySignature as o,publicKeyFromRawBytes as r,verifyTransactionSignature as s,MultiSigPublicKey as t};
1
+ import{c as a44a}from'./wow-types-DcqbnAaK.mjs';import{o as a44b}from'./bcs-BrmSFFhn.mjs';import{a as a44c,i as a44d,n as a44e,t as a44f}from'./publickey-5xoCmE9g.mjs';import{a as a44g,d as a44h,p as a44i}from'./keypair-BqNhxtoP.mjs';import{t as a44j}from'./publickey-CQWQyM6S.mjs';import{t as a44k}from'./publickey-C9TocS69.mjs';import{t as a44l}from'./publickey-BzPz9Uwr.mjs';import{fromBase64,toBase64}from'@mysten/bcs';import{blake2b}from'@noble/hashes/blake2.js';import{bytesToHex}from'@noble/hashes/utils.js';var MultiSigSigner=class extends a44g{#pubkey;#signers;constructor(a,b=[]){super(),this.#pubkey=a,this.#signers=b;const c=new Set();let d=0x0;const e=a['getPublicKeys']()['map'](({weight:f,publicKey:g})=>({'weight':f,'address':g['toWowAddress']()}));for(const f of b){const g=f['toWowAddress']();if(c['has'](g))throw new Error('Can\x27t\x20create\x20MultiSigSigner\x20with\x20duplicate\x20signers');c['add'](g);const h=e['find'](i=>i['address']===g)?.['weight'];if(!h)throw new Error('Signer\x20'+g+'\x20is\x20not\x20part\x20of\x20the\x20MultiSig\x20public\x20key');d+=h;}if(d<a['getThreshold']())throw new Error('Combined\x20weight\x20of\x20signers\x20is\x20less\x20than\x20threshold');}['getKeyScheme'](){return'MultiSig';}['getPublicKey'](){return this.#pubkey;}['sign'](a){throw new Error('MultiSigSigner\x20does\x20not\x20support\x20signing\x20directly.\x20Use\x20signTransaction\x20or\x20signPersonalMessage\x20instead');}async['signTransaction'](a){return{'signature':this.#pubkey['combinePartialSignatures'](await Promise['all'](this.#signers['map'](async b=>(await b['signTransaction'](a))['signature']))),'bytes':toBase64(a)};}async['signPersonalMessage'](a){return{'signature':this.#pubkey['combinePartialSignatures'](await Promise['all'](this.#signers['map'](async b=>(await b['signPersonalMessage'](a))['signature']))),'bytes':toBase64(a)};}};async function verifySignature(a,b,c){const d=parseSignature(b);if(!await d['publicKey']['verify'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20data');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function verifyPersonalMessageSignature(a,b,c={}){const d=parseSignature(b,c);if(!await d['publicKey']['verifyPersonalMessage'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20message');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}async function verifyTransactionSignature(a,b,c={}){const d=parseSignature(b,c);if(!await d['publicKey']['verifyTransaction'](a,d['serializedSignature']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20Transaction');if(c?.['address']&&!d['publicKey']['verifyAddress'](c['address']))throw new Error('Signature\x20is\x20not\x20valid\x20for\x20the\x20provided\x20address');return d['publicKey'];}function parseSignature(a,b={}){const c=a44h(a);if(c['signatureScheme']==='MultiSig')return{...c,'publicKey':new MultiSigPublicKey(c['multisig']['multisig_pk'])};const d=publicKeyFromRawBytes(c['signatureScheme'],c['publicKey'],b);return{...c,'publicKey':d};}function publicKeyFromRawBytes(a,b,c={}){let d;switch(a){case'ED25519':d=new a44j(b);break;case'Secp256k1':d=new a44k(b);break;case'Secp256r1':d=new a44l(b);break;case'MultiSig':d=new MultiSigPublicKey(b);break;case'Passkey':d=new a44i(b);break;default:throw new Error('Unsupported\x20signature\x20scheme\x20'+a);}if(c['address']&&d['toWowAddress']()!==c['address'])throw new Error('Public\x20key\x20bytes\x20do\x20not\x20match\x20the\x20provided\x20address');return d;}function publicKeyFromWowBytes(a,b={}){const c=typeof a==='string'?fromBase64(a):a,d=a44d[c[0x0]];return publicKeyFromRawBytes(d,c['slice'](0x1),b);}var MultiSigPublicKey=class MultiSigPublicKey extends a44f{constructor(a,b={}){super();if(typeof a==='string')this['rawBytes']=fromBase64(a),this['multisigPublicKey']=a44b['MultiSigPublicKey']['parse'](this['rawBytes']);else a instanceof Uint8Array?(this['rawBytes']=a,this['multisigPublicKey']=a44b['MultiSigPublicKey']['parse'](this['rawBytes'])):(this['multisigPublicKey']=a,this['rawBytes']=a44b['MultiSigPublicKey']['serialize'](a)['toBytes']());if(this['multisigPublicKey']['threshold']<0x1)throw new Error('Invalid\x20threshold');const c=new Set();this['publicKeys']=this['multisigPublicKey']['pk_map']['map'](({pubKey:e,weight:f})=>{const [g,h]=Object['entries'](e)['filter'](([j])=>j!=='$kind')[0x0],i=Uint8Array['from'](h)['toString']();if(c['has'](i))throw new Error('Multisig\x20does\x20not\x20support\x20duplicate\x20public\x20keys');c['add'](i);if(f<0x1)throw new Error('Invalid\x20weight');return{'publicKey':publicKeyFromRawBytes(g,Uint8Array['from'](h),b),'weight':f};});const d=this['publicKeys']['reduce']((e,{weight:f})=>e+f,0x0);if(this['multisigPublicKey']['threshold']>d)throw new Error('Unreachable\x20threshold');if(this['publicKeys']['length']>0xa)throw new Error('Max\x20number\x20of\x20signers\x20in\x20a\x20multisig\x20is\x2010');if(this['publicKeys']['length']<0x1)throw new Error('Min\x20number\x20of\x20signers\x20in\x20a\x20multisig\x20is\x201');}static['fromPublicKeys']({threshold:a,publicKeys:b}){return new MultiSigPublicKey({'pk_map':b['map'](({publicKey:c,weight:d})=>{return{'pubKey':{[a44d[c['flag']()]]:c['toRawBytes']()},'weight':d};}),'threshold':a});}['equals'](a){return super['equals'](a);}['toRawBytes'](){return this['rawBytes'];}['getPublicKeys'](){return this['publicKeys'];}['getThreshold'](){return this['multisigPublicKey']['threshold'];}['getSigner'](...a){return new MultiSigSigner(this,a);}['toWowAddress'](){const a=new Uint8Array(0x28d);a['set']([a44c['MultiSig']]),a['set'](a44b['u16']()['serialize'](this['multisigPublicKey']['threshold'])['toBytes'](),0x1);let b=0x3;for(const {publicKey:c,weight:d}of this['publicKeys']){const e=c['toWowBytes']();a['set'](e,b),b+=e['length'],a['set']([d],b++);}return a44a(bytesToHex(blake2b(a['slice'](0x0,b),{'dkLen':0x20})));}['flag'](){return a44c['MultiSig'];}async['verify'](a,b){const c=a44h(b);if(c['signatureScheme']!=='MultiSig')throw new Error('Invalid\x20signature\x20scheme');const {multisig:d}=c;let e=0x0;if(!a44e(a44b['MultiSigPublicKey']['serialize'](this['multisigPublicKey'])['toBytes'](),a44b['MultiSigPublicKey']['serialize'](d['multisig_pk'])['toBytes']()))return![];for(const {publicKey:f,weight:g,signature:h}of parsePartialSignatures(d)){if(!await f['verify'](a,h))return![];e+=g;}return e>=this['multisigPublicKey']['threshold'];}['combinePartialSignatures'](a){if(a['length']>0xa)throw new Error('Max\x20number\x20of\x20signatures\x20in\x20a\x20multisig\x20is\x2010');let b=0x0;const c=new Array(a['length']);for(let g=0x0;g<a['length'];g++){const h=a44h(a[g]);if(h['signatureScheme']==='MultiSig')throw new Error('MultiSig\x20is\x20not\x20supported\x20inside\x20MultiSig');let k=h['publicKey'];c[g]={[h['signatureScheme']]:h['signature']};let l;for(let m=0x0;m<this['publicKeys']['length'];m++)if(a44e(k,this['publicKeys'][m]['publicKey']['toRawBytes']())){if(b&0x1<<m)throw new Error('Received\x20multiple\x20signatures\x20from\x20the\x20same\x20public\x20key');l=m;break;}if(l===void 0x0)throw new Error('Received\x20signature\x20from\x20unknown\x20public\x20key');b|=0x1<<l;}const d={'sigs':c,'bitmap':b,'multisig_pk':this['multisigPublicKey']},e=a44b['MultiSig']['serialize'](d,{'maxSize':0x2000})['toBytes'](),f=new Uint8Array(e['length']+0x1);return f['set']([a44c['MultiSig']]),f['set'](e,0x1),toBase64(f);}};function parsePartialSignatures(a,b={}){const c=new Array(a['sigs']['length']);for(let d=0x0;d<a['sigs']['length'];d++){const [e,f]=Object['entries'](a['sigs'][d])['filter'](([l])=>l!=='$kind')[0x0],g=asIndices(a['bitmap'])['at'](d),h=a['multisig_pk']['pk_map'][g],j=Uint8Array['from'](Object['values'](h['pubKey'])[0x0]);if(e==='MultiSig')throw new Error('MultiSig\x20is\x20not\x20supported\x20inside\x20MultiSig');const k=publicKeyFromRawBytes(e,j,b);c[d]={'signatureScheme':e,'signature':Uint8Array['from'](f),'publicKey':k,'weight':h['weight']};}return c;}function asIndices(a){if(a<0x0||a>0x400)throw new Error('Invalid\x20bitmap');const b=[];for(let c=0x0;c<0xa;c++)if((a&0x1<<c)!==0x0)b['push'](c);return Uint8Array['from'](b);}export{verifyPersonalMessageSignature as a,MultiSigSigner as c,publicKeyFromWowBytes as i,parsePartialSignatures as n,verifySignature as o,publicKeyFromRawBytes as r,verifyTransactionSignature as s,MultiSigPublicKey as t};
@@ -1 +1 @@
1
- import{t as a44a}from'./client-BclB95bx.mjs';import{n as a44b}from'./network-CeDd07Hg.mjs';import{A as a44c,D as a44d,E as a44e,M as a44f,a as a44g,j as a44h,n as a44i,o as a44j,s as a44k}from'./common-5hE5A-jb.mjs';import{Cache}from'./w/local/cache.mjs';import{Config}from'./w/local/config.mjs';import{compressedPubKeyToAddress}from'./w/local/evm/rlp.mjs';import{X as a44l}from'./object-Dk20SVoh.mjs';import{query_permissions}from'./w/call/permission.mjs';const query_events_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_events(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_events=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['cursor']?a['cursor']['eventSeq']+':'+a['cursor']['txDigest']:'',e=a['limit']?.['toString']()??'',f=a['order']??'',g=await Cache['read'](['event',a['type'],c,e,f,b],async()=>{const h=await events(a['type'],a);return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g){const h=g['data'];return h['cache_expire']=g['expire'],h;}},events=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=new a44a({'url':a44b(c),'network':c}),e=a==='ArbEvent'||a==='NewOrderEvent'||a==='ProgressEvent'||a==='DemandPresentEvent'||a==='DemandFeedbackEvent'||a==='NewEntityEvent';let f;if(e)f='0x2'+{'ArbEvent':'::arb::ArbEvent','NewOrderEvent':'::order::NewOrderEvent','ProgressEvent':'::progress::ProgressEvent','DemandPresentEvent':'::demand::PresentEvent','DemandFeedbackEvent':'::demand::DemandEvent','NewEntityEvent':'::entity::NewEntityEvent'}[a];else f=a;const g=await d['queryEvents']({'query':{'MoveEventType':f},'cursor':b['cursor'],'limit':b['limit'],'order':b['order']==='descending'?'descending':'ascending'});return{'data':g?.['data']?.['map'](h=>{if(h?.['packageId']==='0x2'){if(h?.['type']?.['includes']('::order::NewOrderEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'NewOrderEvent','order':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service'],'progress':h?.['parsedJson']?.['progress']?.['some']??null,'amount':h?.['parsedJson']?.['amount'],'discount':h?.['parsedJson']?.['discount']?.['some']??null,'allocation':h?.['parsedJson']?.['allocation']?.['some']??null};else{if(h?.['type']?.['includes']('::demand::PresentEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'DemandPresentEvent','demand':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service']?.['some']??null,'recommend':h?.['parsedJson']?.['tips']};else{if(h?.['type']?.['includes']('::demand::DemandEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'DemandFeedbackEvent','demand':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service']?.['some']??null,'feedback':h?.['parsedJson']?.['feedback'],'acceptance_score':h?.['parsedJson']?.['acceptance_score']?.['some']??null};else{if(h?.['type']?.['includes']('::progress::ProgressEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'ProgressEvent','progress':h?.['parsedJson']?.['object'],'machine':h?.['parsedJson']?.['machine'],'task':h?.['parsedJson']?.['task'],'node':h?.['parsedJson']?.['node'],'forward':h?.['parsedJson']?.['forward'],'hold':h?.['parsedJson']?.['hold']};else{if(h?.['type']?.['includes']('::arb::ArbEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'ArbEvent','arb':h?.['parsedJson']?.['object'],'arbitration':h?.['parsedJson']?.['arbitration'],'order':h?.['parsedJson']?.['order'],'status':h?.['parsedJson']?.['status']};else{if(h?.['type']?.['includes']('::entity::NewEntityEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'NewEntityEvent','resource':h?.['parsedJson']?.['resource'],'address':h?.['sender'],'referrer':h?.['parsedJson']?.['referrer']?.['some']??null};}}}}}}return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':h?.['type'],'parsedJson_raw':h?.['parsedJson']};}),'hasNextPage':g?.['hasNextPage'],'nextCursor':g?.['nextCursor']};};let BridgeChainId=function(a){return a[a['WowMainnet']=0x0]='WowMainnet',a[a['EthMainnet']=0xa]='EthMainnet',a;}({});function isEvmChain(a){return a===0xa;}function isWowChain(a){return a===0x0;}let BridgeVersion=function(a){return a[a['V1']=0x1]='V1',a[a['V2']=0x2]='V2',a;}({}),BridgeTokenId=function(a){return a['Eth']='ETH',a['Weth']='WETH',a['Wbtc']='WBTC',a['Usdc']='USDC',a['Usdt']='USDT',a;}({}),TransferStatus=function(a){return a['Pending']='pending',a['Approved']='approved',a['Claimed']='claimed',a['Failed']='failed',a['NotFound']='not_found',a;}({}),BridgeErrorCode=function(a){return a['EstimateFailed']='ESTIMATE_FAILED',a['Reverted']='REVERTED',a['Timeout']='TIMEOUT',a['NoSignatures']='NO_SIGNATURES',a['NodeUnavailable']='NODE_UNAVAILABLE',a['InvalidParam']='INVALID_PARAM',a['AccountNotFound']='ACCOUNT_NOT_FOUND',a['Unknown']='UNKNOWN',a;}({});const MAINNET_COMMITTEE_PUBKEYS=['0x032f020d08ca4a8632e2442ae789b961265d80b6058135bba1d2daa30ddea0acf0','0x02bb110601a69423651f1faadb1d510d895cd91baa37a470f09479aa84ef9128bb','0x03add24c04f5149421849510709d309f826f42751922f1131c784283fc2bad0b0b'],MAINNET_COMMITTEE_WEIGHTS=[0xd06,0xd06,0xd05],MAINNET_COMMITTEE_MEMBER_ADDRESSES=['0x373ee3febe317168fe58c66faaa446e26e57c2f1','0x2829ea9323836b5c8e0f8c47cd3abdc70962e891','0x97b3c777af04e4df7cb3fd1c92893a0358db9beb'],MAINNET_BRIDGE_CONFIG={'wow':{'rpcUrl':'https://fullnode.mainnet.wowok.net:443','bridgeObjectId':'0x9','clockObjectId':'0x6','network':'mainnet'},'ethereum':{'chainId':0x1,'bridgeChainId':0xa,'rpcUrl':'','bridgeProxyAddress':'0xA8d914Cc121CB2d2179Ca540bC0B8213F224aa00','bridgeVaultAddress':'0xC9A6EF1A3dC6f0681d39C318c4882FB7704a7848','bridgeCommitteeAddress':'0x822779c4183ed69bdd38e0454ec1826d2ae186a5','bridgeConfigAddress':'0xaf9414c8ab0a0905a6b9ad24c927416ac765a4ce'},'bridgeNodeUrls':['http://43.156.120.237:9211','http://150.158.76.254:9211','http://110.40.159.14:9211'],'defaultVersion':0x2,'tokens':[{'tokenId':0x1,'symbol':'WBTC','wowTypeTag':'0x06c69f212cc7bef6ff730b42bc739be7786902c501f15e99dbce1b8b5c7eff58::btc::BTC','evmAddress':'0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599','evmDecimals':0x8,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20BTC\x20(ERC20).\x20Bitcoin\x20price\x20exposure\x20on\x20Ethereum;\x201\x20WBTC\x20=\x201\x20BTC.'},{'tokenId':0x2,'symbol':'ETH','wowTypeTag':'0xdb429818d697419e12a3481af1d21f32e603bff8716d45b0e964c2191db6604f::eth::ETH','evmAddress':'0x0000000000000000000000000000000000000000','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Native\x20ETH.\x20Calls\x20bridgeETHV2{value};\x20vault\x20auto-wraps\x20to\x20WETH\x20internally.\x2018\x20decimals\x20on\x20EVM,\x208\x20decimals\x20on\x20WOW.'},{'tokenId':0x2,'symbol':'WETH','wowTypeTag':'0xdb429818d697419e12a3481af1d21f32e603bff8716d45b0e964c2191db6604f::eth::ETH','evmAddress':'0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20ETH\x20(ERC20).\x20Calls\x20bridgeERC20V2;\x20shares\x20Token\x20ID\x202\x20and\x20WOW\x20type\x20tag\x20with\x20native\x20ETH.'},{'tokenId':0x3,'symbol':'USDC','wowTypeTag':'0xe70fcfd8ef984292b11346ee43880ea9d6fba9f270c90bd0432574db14af67bf::usdc::USDC','evmAddress':'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'USD\x20Coin\x20(USDC).\x20Fully\x20collateralized\x20USD\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'},{'tokenId':0x4,'symbol':'USDT','wowTypeTag':'0x4f160cf9a28ca8ac8bc0a46e13b02588dc05722148dd964807b9be89a0fcfe4d::usdt::USDT','evmAddress':'0xdAC17F958D2ee523a2206206994597C13D831ec7','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'Tether\x20USD\x20(USDT).\x20Fiat-collateralized\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'}],'timeouts':{'nodeRpcMs':0x7530,'signaturePollIntervalMs':0x1388,'signatureCollectMs':0xf*0xea60,'autoClaimMs':0xa*0xea60}};function findEvmChainConfig(a,b){if(a['ethereum']['chainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['chainId']===b)return c;}}function findEvmChainConfigByBridgeChainId(a,b){if(a['ethereum']['bridgeChainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['bridgeChainId']===b)return c;}}function findToken(a,b){return a['tokens']['find'](c=>c['tokenId']===b);}function findTokenBySymbol(a,b){return a['tokens']['find'](c=>c['symbol']===b);}function verifyCommitteeConsistency(){const a=[];for(let b=0x0;b<MAINNET_COMMITTEE_PUBKEYS['length'];b++){const c=MAINNET_COMMITTEE_PUBKEYS[b],d=MAINNET_COMMITTEE_MEMBER_ADDRESSES[b],e=compressedPubKeyToAddress(c);if(e['toLowerCase']()!==d['toLowerCase']())a['push']({'index':b,'pubkey':c,'expected':d,'actual':e});}return a;}const INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a44k,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a44j,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a44c,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a44g,'description':'Entity\x20registrar\x20ID'}],'value_types':Object['entries'](a44h)['filter'](([a,b])=>isNaN(Number(a))&&a!=='Value')['map'](([a,b])=>({'name':a,'value':a,'description':'Value\x20type\x20'+a+'\x20=\x20'+b})),'object_types':Object['values'](a44e)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a44d)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a44i)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a44f)['map'](a=>({'name':a,'value':a,'description':'Guard\x20witness\x20'+a}))};async function queryProtocolInfo(a){switch(a['info']){case'constants':return{'info':'constants','result':INFO_CONSTANT['constants']};case'built-in\x20permissions':return{'info':'built-in\x20permissions','result':queryPermissions(a['filter']||{})};case'guard\x20instructions':return{'info':'guard\x20instructions','result':a44l(a['filter']||{})};case'current\x20network':return{'info':'current\x20network','result':await Config['Instance']()['network_get']()};case'value\x20types':return{'info':'value\x20types','result':INFO_CONSTANT['value_types']};case'mainnet\x20bridge\x20tokens':return{'info':'mainnet\x20bridge\x20tokens','result':MAINNET_BRIDGE_CONFIG['tokens']};default:throw new Error('Unsupported\x20info\x20type:\x20\x22'+a['info']+'\x22.\x20Valid\x20are:\x20\x22constants\x22,\x20\x22built-in\x20permissions\x22,\x20\x22guard\x20instructions\x22,\x20\x22current\x20network\x22,\x20\x22value\x20types\x22,\x20\x22mainnet\x20bridge\x20tokens\x22');}}function queryPermissions(a){return query_permissions(a);}export{TransferStatus as _,MAINNET_COMMITTEE_MEMBER_ADDRESSES as a,query_events as b,findEvmChainConfig as c,findTokenBySymbol as d,verifyCommitteeConsistency as f,BridgeVersion as g,BridgeTokenId as h,MAINNET_BRIDGE_CONFIG as i,findEvmChainConfigByBridgeChainId as l,BridgeErrorCode as m,queryPermissions as n,MAINNET_COMMITTEE_PUBKEYS as o,BridgeChainId as p,queryProtocolInfo as r,MAINNET_COMMITTEE_WEIGHTS as s,INFO_CONSTANT as t,findToken as u,isEvmChain as v,query_events_json as x,isWowChain as y};
1
+ import{t as a45a}from'./client-rikC538P.mjs';import{n as a45b}from'./network-CeDd07Hg.mjs';import{A as a45c,D as a45d,E as a45e,M as a45f,a as a45g,j as a45h,n as a45i,o as a45j,s as a45k}from'./common-D8TcHVCJ.mjs';import{Cache}from'./w/local/cache.mjs';import{Config}from'./w/local/config.mjs';import{compressedPubKeyToAddress}from'./w/local/evm/rlp.mjs';import{X as a45l}from'./object-B-eGy8U5.mjs';import{query_permissions}from'./w/call/permission.mjs';const query_events_json=async a=>{try{const b=JSON['parse'](a);return JSON['stringify']({'data':await query_events(b)});}catch(c){return JSON['stringify']({'error':c?.['toString']()});}},query_events=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=a['cursor']?a['cursor']['eventSeq']+':'+a['cursor']['txDigest']:'',e=a['limit']?.['toString']()??'',f=a['order']??'',g=await Cache['read'](['event',a['type'],c,e,f,b],async()=>{const h=await events(a['type'],a);return{'expire':Cache['DefaultExpireTime'](),'data':h};},a['no_cache']);if(g){const h=g['data'];return h['cache_expire']=g['expire'],h;}},events=async(a,b)=>{const c=await Config['Instance']()['network_get'](b['network']),d=new a45a({'url':a45b(c),'network':c}),e=a==='ArbEvent'||a==='NewOrderEvent'||a==='ProgressEvent'||a==='DemandPresentEvent'||a==='DemandFeedbackEvent'||a==='NewEntityEvent';let f;if(e)f='0x2'+{'ArbEvent':'::arb::ArbEvent','NewOrderEvent':'::order::NewOrderEvent','ProgressEvent':'::progress::ProgressEvent','DemandPresentEvent':'::demand::PresentEvent','DemandFeedbackEvent':'::demand::DemandEvent','NewEntityEvent':'::entity::NewEntityEvent'}[a];else f=a;const g=await d['queryEvents']({'query':{'MoveEventType':f},'cursor':b['cursor'],'limit':b['limit'],'order':b['order']==='descending'?'descending':'ascending'});return{'data':g?.['data']?.['map'](h=>{if(h?.['packageId']==='0x2'){if(h?.['type']?.['includes']('::order::NewOrderEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'NewOrderEvent','order':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service'],'progress':h?.['parsedJson']?.['progress']?.['some']??null,'amount':h?.['parsedJson']?.['amount'],'discount':h?.['parsedJson']?.['discount']?.['some']??null,'allocation':h?.['parsedJson']?.['allocation']?.['some']??null};else{if(h?.['type']?.['includes']('::demand::PresentEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'DemandPresentEvent','demand':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service']?.['some']??null,'recommend':h?.['parsedJson']?.['tips']};else{if(h?.['type']?.['includes']('::demand::DemandEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'DemandFeedbackEvent','demand':h?.['parsedJson']?.['object'],'service':h?.['parsedJson']?.['service']?.['some']??null,'feedback':h?.['parsedJson']?.['feedback'],'acceptance_score':h?.['parsedJson']?.['acceptance_score']?.['some']??null};else{if(h?.['type']?.['includes']('::progress::ProgressEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'ProgressEvent','progress':h?.['parsedJson']?.['object'],'machine':h?.['parsedJson']?.['machine'],'task':h?.['parsedJson']?.['task'],'node':h?.['parsedJson']?.['node'],'forward':h?.['parsedJson']?.['forward'],'hold':h?.['parsedJson']?.['hold']};else{if(h?.['type']?.['includes']('::arb::ArbEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'ArbEvent','arb':h?.['parsedJson']?.['object'],'arbitration':h?.['parsedJson']?.['arbitration'],'order':h?.['parsedJson']?.['order'],'status':h?.['parsedJson']?.['status']};else{if(h?.['type']?.['includes']('::entity::NewEntityEvent'))return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':'NewEntityEvent','resource':h?.['parsedJson']?.['resource'],'address':h?.['sender'],'referrer':h?.['parsedJson']?.['referrer']?.['some']??null};}}}}}}return{'id':h?.['id'],'time':h?.['timestampMs'],'type_raw':h?.['type'],'sender':h?.['sender'],'type':h?.['type'],'parsedJson_raw':h?.['parsedJson']};}),'hasNextPage':g?.['hasNextPage'],'nextCursor':g?.['nextCursor']};};let BridgeChainId=function(a){return a[a['WowMainnet']=0x0]='WowMainnet',a[a['EthMainnet']=0xa]='EthMainnet',a;}({});function isEvmChain(a){return a===0xa;}function isWowChain(a){return a===0x0;}let BridgeVersion=function(a){return a[a['V1']=0x1]='V1',a[a['V2']=0x2]='V2',a;}({}),BridgeTokenId=function(a){return a['Eth']='ETH',a['Weth']='WETH',a['Wbtc']='WBTC',a['Usdc']='USDC',a['Usdt']='USDT',a;}({}),TransferStatus=function(a){return a['Pending']='pending',a['Approved']='approved',a['Claimed']='claimed',a['Failed']='failed',a['NotFound']='not_found',a;}({}),BridgeErrorCode=function(a){return a['EstimateFailed']='ESTIMATE_FAILED',a['Reverted']='REVERTED',a['Timeout']='TIMEOUT',a['NoSignatures']='NO_SIGNATURES',a['NodeUnavailable']='NODE_UNAVAILABLE',a['InvalidParam']='INVALID_PARAM',a['AccountNotFound']='ACCOUNT_NOT_FOUND',a['Unknown']='UNKNOWN',a;}({});const MAINNET_COMMITTEE_PUBKEYS=['0x032f020d08ca4a8632e2442ae789b961265d80b6058135bba1d2daa30ddea0acf0','0x02bb110601a69423651f1faadb1d510d895cd91baa37a470f09479aa84ef9128bb','0x03add24c04f5149421849510709d309f826f42751922f1131c784283fc2bad0b0b'],MAINNET_COMMITTEE_WEIGHTS=[0xd06,0xd06,0xd05],MAINNET_COMMITTEE_MEMBER_ADDRESSES=['0x373ee3febe317168fe58c66faaa446e26e57c2f1','0x2829ea9323836b5c8e0f8c47cd3abdc70962e891','0x97b3c777af04e4df7cb3fd1c92893a0358db9beb'],MAINNET_BRIDGE_CONFIG={'wow':{'rpcUrl':'https://fullnode.mainnet.wowok.net:443','bridgeObjectId':'0x9','clockObjectId':'0x6','network':'mainnet'},'ethereum':{'chainId':0x1,'bridgeChainId':0xa,'rpcUrl':'','bridgeProxyAddress':'0xA8d914Cc121CB2d2179Ca540bC0B8213F224aa00','bridgeVaultAddress':'0xC9A6EF1A3dC6f0681d39C318c4882FB7704a7848','bridgeCommitteeAddress':'0x822779c4183ed69bdd38e0454ec1826d2ae186a5','bridgeConfigAddress':'0xaf9414c8ab0a0905a6b9ad24c927416ac765a4ce'},'bridgeNodeUrls':['http://43.156.120.237:9211','http://150.158.76.254:9211','http://110.40.159.14:9211'],'defaultVersion':0x2,'tokens':[{'tokenId':0x1,'symbol':'WBTC','wowTypeTag':'0x06c69f212cc7bef6ff730b42bc739be7786902c501f15e99dbce1b8b5c7eff58::btc::BTC','evmAddress':'0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599','evmDecimals':0x8,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20BTC\x20(ERC20).\x20Bitcoin\x20price\x20exposure\x20on\x20Ethereum;\x201\x20WBTC\x20=\x201\x20BTC.'},{'tokenId':0x2,'symbol':'ETH','wowTypeTag':'0xdb429818d697419e12a3481af1d21f32e603bff8716d45b0e964c2191db6604f::eth::ETH','evmAddress':'0x0000000000000000000000000000000000000000','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Native\x20ETH.\x20Calls\x20bridgeETHV2{value};\x20vault\x20auto-wraps\x20to\x20WETH\x20internally.\x2018\x20decimals\x20on\x20EVM,\x208\x20decimals\x20on\x20WOW.'},{'tokenId':0x2,'symbol':'WETH','wowTypeTag':'0xdb429818d697419e12a3481af1d21f32e603bff8716d45b0e964c2191db6604f::eth::ETH','evmAddress':'0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2','evmDecimals':0x12,'wowDecimals':0x8,'evmChains':[0xa],'description':'Wrapped\x20ETH\x20(ERC20).\x20Calls\x20bridgeERC20V2;\x20shares\x20Token\x20ID\x202\x20and\x20WOW\x20type\x20tag\x20with\x20native\x20ETH.'},{'tokenId':0x3,'symbol':'USDC','wowTypeTag':'0xe70fcfd8ef984292b11346ee43880ea9d6fba9f270c90bd0432574db14af67bf::usdc::USDC','evmAddress':'0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'USD\x20Coin\x20(USDC).\x20Fully\x20collateralized\x20USD\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'},{'tokenId':0x4,'symbol':'USDT','wowTypeTag':'0x4f160cf9a28ca8ac8bc0a46e13b02588dc05722148dd964807b9be89a0fcfe4d::usdt::USDT','evmAddress':'0xdAC17F958D2ee523a2206206994597C13D831ec7','evmDecimals':0x6,'wowDecimals':0x6,'evmChains':[0xa],'description':'Tether\x20USD\x20(USDT).\x20Fiat-collateralized\x20stablecoin;\x206\x20decimals\x20on\x20both\x20sides.'}],'timeouts':{'nodeRpcMs':0x7530,'signaturePollIntervalMs':0x1388,'signatureCollectMs':0xf*0xea60,'autoClaimMs':0xa*0xea60}};function findEvmChainConfig(a,b){if(a['ethereum']['chainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['chainId']===b)return c;}}function findEvmChainConfigByBridgeChainId(a,b){if(a['ethereum']['bridgeChainId']===b)return a['ethereum'];if(a['l2']){for(const c of Object['values'](a['l2']))if(c&&c['bridgeChainId']===b)return c;}}function findToken(a,b){return a['tokens']['find'](c=>c['tokenId']===b);}function findTokenBySymbol(a,b){return a['tokens']['find'](c=>c['symbol']===b);}function verifyCommitteeConsistency(){const a=[];for(let b=0x0;b<MAINNET_COMMITTEE_PUBKEYS['length'];b++){const c=MAINNET_COMMITTEE_PUBKEYS[b],d=MAINNET_COMMITTEE_MEMBER_ADDRESSES[b],e=compressedPubKeyToAddress(c);if(e['toLowerCase']()!==d['toLowerCase']())a['push']({'index':b,'pubkey':c,'expected':d,'actual':e});}return a;}const INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a45k,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a45j,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a45c,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a45g,'description':'Entity\x20registrar\x20ID'}],'value_types':Object['entries'](a45h)['filter'](([a,b])=>isNaN(Number(a))&&a!=='Value')['map'](([a,b])=>({'name':a,'value':a,'description':'Value\x20type\x20'+a+'\x20=\x20'+b})),'object_types':Object['values'](a45e)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a45d)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a45i)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a45f)['map'](a=>({'name':a,'value':a,'description':'Guard\x20witness\x20'+a}))};async function queryProtocolInfo(a){switch(a['info']){case'constants':return{'info':'constants','result':INFO_CONSTANT['constants']};case'built-in\x20permissions':return{'info':'built-in\x20permissions','result':queryPermissions(a['filter']||{})};case'guard\x20instructions':return{'info':'guard\x20instructions','result':a45l(a['filter']||{})};case'current\x20network':return{'info':'current\x20network','result':await Config['Instance']()['network_get']()};case'value\x20types':return{'info':'value\x20types','result':INFO_CONSTANT['value_types']};case'mainnet\x20bridge\x20tokens':return{'info':'mainnet\x20bridge\x20tokens','result':MAINNET_BRIDGE_CONFIG['tokens']};default:throw new Error('Unsupported\x20info\x20type:\x20\x22'+a['info']+'\x22.\x20Valid\x20are:\x20\x22constants\x22,\x20\x22built-in\x20permissions\x22,\x20\x22guard\x20instructions\x22,\x20\x22current\x20network\x22,\x20\x22value\x20types\x22,\x20\x22mainnet\x20bridge\x20tokens\x22');}}function queryPermissions(a){return query_permissions(a);}export{TransferStatus as _,MAINNET_COMMITTEE_MEMBER_ADDRESSES as a,query_events as b,findEvmChainConfig as c,findTokenBySymbol as d,verifyCommitteeConsistency as f,BridgeVersion as g,BridgeTokenId as h,MAINNET_BRIDGE_CONFIG as i,findEvmChainConfigByBridgeChainId as l,BridgeErrorCode as m,queryPermissions as n,MAINNET_COMMITTEE_PUBKEYS as o,BridgeChainId as p,queryProtocolInfo as r,MAINNET_COMMITTEE_WEIGHTS as s,INFO_CONSTANT as t,findToken as u,isEvmChain as v,query_events_json as x,isWowChain as y};
@@ -1 +1 @@
1
- import{t as a45a}from'./client-BclB95bx.mjs';import{n as a45b}from'./network-CeDd07Hg.mjs';import'./common-5hE5A-jb.mjs';import{o as a45c}from'./exception--UEPnygY.mjs';import{Config}from'./w/local/config.mjs';import{GetAccountOrMark_Address}from'./w/local/index.mjs';import{$ as a45d,L as a45e}from'./object-Dk20SVoh.mjs';const query_received=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=new a45a({'url':a45b(b),'network':b});let d;if(a['type']===void 0x0||a['type']===null){const f=await GetAccountOrMark_Address(a['name_or_address']);if(!f)a45c('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':f,'options':{'showContent':!![],'showType':!![]}}))['data']['map'](g=>{return{'id':g?.['data']?.['objectId'],'type':g?.['data']?.['type'],'content_raw':g?.['data']?.['content']?.['fields']};});}if(a['type']==='CoinWrapper'){const g=typeof a['name_or_address']==='string'?a['name_or_address']:a['name_or_address']['name_or_address'];if(!g)a45c('invalid\x20parameter','query_received:\x20name_or_address\x20is\x20required.');const h=await a45e({'objects':[g],'no_cache':![],'network':a['network']});if(!h?.['objects']||h['objects']['length']!==0x1)a45c('invalid\x20parameter','query_received:\x20Object\x20'+g+'\x20not\x20found.');d=a45d(h['objects'][0x0]['type_raw']);if(!d)a45c('invalid\x20parameter','object\x20'+g+'\x20not\x20support\x20token\x20type;\x20query\x20with\x20type=undefined\x20instead.');const i=await c['getOwnedObjects']({'owner':h['objects'][0x0]['object'],'filter':{'StructType':'0x2::payment::CoinWrapper<'+d+'>'},'options':{'showContent':!![],'showType':!![]}});let j=BigInt(0x0);const k=i['data']['map'](l=>{const m=l?.['data']?.['content']?.['fields'];return j+=BigInt(m?.['coin']?.['fields']?.['balance']),{'payment':m?.['payment'],'balance':m?.['coin']?.['fields']?.['balance'],'id':l?.['data']?.['objectId'],'type':m?.['coin']?.['type']};});return{'balance':j,'received':k,'token_type':d};}const e=await GetAccountOrMark_Address(a['name_or_address']);if(!e)a45c('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':e,'filter':{'StructType':a['type']},'options':{'showContent':!![],'showType':!![]}}))['data']['map'](l=>{return{'id':l?.['data']?.['objectId'],'type':l?.['data']?.['type'],'content_raw':l?.['data']?.['content']?.['fields']};});};export{query_received as t};
1
+ import{t as a46a}from'./client-rikC538P.mjs';import{n as a46b}from'./network-CeDd07Hg.mjs';import'./common-D8TcHVCJ.mjs';import{o as a46c}from'./exception-CkI_xPvd.mjs';import{Config}from'./w/local/config.mjs';import{GetAccountOrMark_Address}from'./w/local/index.mjs';import{$ as a46d,L as a46e}from'./object-B-eGy8U5.mjs';const query_received=async a=>{const b=await Config['Instance']()['network_get'](a['network']),c=new a46a({'url':a46b(b),'network':b});let d;if(a['type']===void 0x0||a['type']===null){const f=await GetAccountOrMark_Address(a['name_or_address']);if(!f)a46c('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':f,'options':{'showContent':!![],'showType':!![]}}))['data']['map'](g=>{return{'id':g?.['data']?.['objectId'],'type':g?.['data']?.['type'],'content_raw':g?.['data']?.['content']?.['fields']};});}if(a['type']==='CoinWrapper'){const g=typeof a['name_or_address']==='string'?a['name_or_address']:a['name_or_address']['name_or_address'];if(!g)a46c('invalid\x20parameter','query_received:\x20name_or_address\x20is\x20required.');const h=await a46e({'objects':[g],'no_cache':![],'network':a['network']});if(!h?.['objects']||h['objects']['length']!==0x1)a46c('invalid\x20parameter','query_received:\x20Object\x20'+g+'\x20not\x20found.');d=a46d(h['objects'][0x0]['type_raw']);if(!d)a46c('invalid\x20parameter','object\x20'+g+'\x20not\x20support\x20token\x20type;\x20query\x20with\x20type=undefined\x20instead.');const i=await c['getOwnedObjects']({'owner':h['objects'][0x0]['object'],'filter':{'StructType':'0x2::payment::CoinWrapper<'+d+'>'},'options':{'showContent':!![],'showType':!![]}});let j=BigInt(0x0);const k=i['data']['map'](l=>{const m=l?.['data']?.['content']?.['fields'];return j+=BigInt(m?.['coin']?.['fields']?.['balance']),{'payment':m?.['payment'],'balance':m?.['coin']?.['fields']?.['balance'],'id':l?.['data']?.['objectId'],'type':m?.['coin']?.['type']};});return{'balance':j,'received':k,'token_type':d};}const e=await GetAccountOrMark_Address(a['name_or_address']);if(!e)a46c('invalid\x20parameter','query_received:\x20Object\x20'+a['name_or_address']+'\x20not\x20found.');return(await c['getOwnedObjects']({'owner':e,'filter':{'StructType':a['type']},'options':{'showContent':!![],'showType':!![]}}))['data']['map'](l=>{return{'id':l?.['data']?.['objectId'],'type':l?.['data']?.['type'],'content_raw':l?.['data']?.['content']?.['fields']};});};export{query_received as t};
@@ -1 +1 @@
1
- import{l as a47a,n as a47b,s as a47c}from'./keypair-BqNhxtoP.mjs';import{r as a47d,t as a47e}from'./mnemonics-C6qlqegr.mjs';import{t as a47f}from'./publickey-C9TocS69.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){const b=secp256k1['getPublicKey'](a,!![]);return new Secp256k1Keypair({'publicKey':b,'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};
1
+ import{l as a48a,n as a48b,s as a48c}from'./keypair-BqNhxtoP.mjs';import{r as a48d,t as a48e}from'./mnemonics-C6qlqegr.mjs';import{t as a48f}from'./publickey-C9TocS69.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 a48b{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=a48c(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){const b=secp256k1['getPublicKey'](a,!![]);return new Secp256k1Keypair({'publicKey':b,'secretKey':a});}['getPublicKey'](){return new a48f(this['keypair']['publicKey']);}['getSecretKey'](){return a48a(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(!a48e(b))throw new Error('Invalid\x20derivation\x20path');const c=HDKey['fromMasterSeed'](a48d(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};
@@ -1 +1 @@
1
- import{l as a48a,n as a48b,s as a48c}from'./keypair-BqNhxtoP.mjs';import{r as a48d,t as a48e}from'./mnemonics-C6qlqegr.mjs';import{t as a48f}from'./publickey-BzPz9Uwr.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){const b=p256['getPublicKey'](a,!![]);return new Secp256r1Keypair({'publicKey':b,'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};
1
+ import{l as a49a,n as a49b,s as a49c}from'./keypair-BqNhxtoP.mjs';import{r as a49d,t as a49e}from'./mnemonics-C6qlqegr.mjs';import{t as a49f}from'./publickey-BzPz9Uwr.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 a49b{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=a49c(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){const b=p256['getPublicKey'](a,!![]);return new Secp256r1Keypair({'publicKey':b,'secretKey':a});}['getPublicKey'](){return new a49f(this['keypair']['publicKey']);}['getSecretKey'](){return a49a(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(!a49e(b))throw new Error('Invalid\x20derivation\x20path');const c=HDKey['fromMasterSeed'](a49d(a))['derive'](b)['privateKey'];return Secp256r1Keypair['fromSecretKey'](c);}};export{Secp256r1Keypair as n,DEFAULT_SECP256R1_DERIVATION_PATH as t};
@@ -1,4 +1,4 @@
1
- import { t as IAccountStorage } from "./storage-0OmomSuj.mjs";
1
+ import { t as IAccountStorage } from "./storage-D6ZEdlgz.mjs";
2
2
  import Database from "libsql";
3
3
  //#region src/w/local/secure-storage.d.ts
4
4
  type EncryptionMode = "default" | "password";
@@ -32,16 +32,30 @@ declare class CryptoVault {
32
32
  private readonly _dbSource?;
33
33
  private _metadata;
34
34
  private _dek;
35
+ private readonly _initLock;
36
+ private readonly _writeLock;
35
37
  constructor(_dbSource?: Database.Database);
36
38
  private get db();
37
39
  private ensureTable;
38
40
  private loadMetadata;
39
41
  private saveMetadata;
40
42
  get initialized(): boolean;
41
- /** 等待 metadata 初始化完成(用于 lazy migration 的并发安全)。 */
43
+ /**
44
+ * 等待 metadata 初始化完成(用于 lazy migration 的并发安全)。
45
+ * 并发安全:双重检查锁定,确保同一时间只有一个初始化在进行。
46
+ */
42
47
  private ensureInitialized;
43
- /** 默认模式初始化:生成 DEK 并用默认 KEK 包装。 */
48
+ /**
49
+ * 默认模式初始化:生成 DEK 并用默认 KEK 包装。
50
+ * 外部调用入口:先检查内存缓存,再加锁执行实际初始化。
51
+ */
44
52
  initializeDefault(): Promise<void>;
53
+ /**
54
+ * 内部初始化方法(调用方需确保已持有 _initLock)。
55
+ * 多进程安全:使用数据库事务 + INSERT OR IGNORE 策略,
56
+ * 确保同一时间只有一个进程能成功写入初始 metadata。
57
+ */
58
+ private _initializeDefaultLocked;
45
59
  private deriveDefaultKek;
46
60
  private derivePasswordKek;
47
61
  private wrapDek;
@@ -55,11 +69,20 @@ declare class CryptoVault {
55
69
  decrypt(envelope: SecureEnvelope, password?: string): Promise<string>;
56
70
  /** 获取当前加密模式。 */
57
71
  getMode(): EncryptionMode | undefined;
58
- /** 切换到密码保护模式。 */
72
+ /**
73
+ * 切换到密码保护模式。
74
+ * 并发安全:使用写锁确保同一时间只有一个密码修改操作在进行。
75
+ */
59
76
  setPassword(password: string): Promise<void>;
60
- /** 修改密码。 */
77
+ /**
78
+ * 修改密码。
79
+ * 并发安全:使用写锁确保同一时间只有一个密码修改操作在进行。
80
+ */
61
81
  changePassword(oldPassword: string, newPassword: string): Promise<void>;
62
- /** 移除密码保护,回退到默认加密。 */
82
+ /**
83
+ * 移除密码保护,回退到默认加密。
84
+ * 并发安全:使用写锁确保同一时间只有一个密码修改操作在进行。
85
+ */
63
86
  removePassword(password: string): Promise<void>;
64
87
  }
65
88
  /**