@wowok/wowok 2.3.9 → 2.3.11

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 (129) hide show
  1. package/dist/esm/{arb-Be5KiDXS.mjs → arb-DzF0MkFj.mjs} +1 -1
  2. package/dist/esm/{base-CiXs-ApK.mjs → base-CpcBBUyX.mjs} +1 -1
  3. package/dist/esm/bcs/index.d.mts +2 -2
  4. package/dist/esm/{call-BjhpVeiy.mjs → call-CGeMCqkj.mjs} +1 -1
  5. package/dist/esm/client/index.d.mts +1 -1
  6. package/dist/esm/client/index.mjs +1 -1
  7. package/dist/esm/client-sb0S5kkY.mjs +1 -0
  8. package/dist/esm/cryptography/index.d.mts +1 -1
  9. package/dist/esm/{evm-account-BPYk6EpK.d.mts → evm-account-BEq5OtWc.d.mts} +10 -6
  10. package/dist/esm/graphql/index.d.mts +1 -1
  11. package/dist/esm/graphql/index.mjs +1 -1
  12. package/dist/esm/graphql/schema/index.d.mts +73 -2
  13. package/dist/esm/{graphql-nv5poiC5.mjs → graphql-BUAdI3fK.mjs} +1 -1
  14. package/dist/esm/grpc/index.d.mts +1 -1
  15. package/dist/esm/grpc/index.mjs +1 -1
  16. package/dist/esm/{grpc-BffnRW4z.mjs → grpc-pWeVYO9k.mjs} +1 -1
  17. package/dist/esm/{index-CGqMj3cG.d.mts → index-BYeMK_wO.d.mts} +1 -2
  18. package/dist/esm/{index-B-cxGU73.d.mts → index-Cj4KHtbw.d.mts} +4 -5
  19. package/dist/esm/{index-D5-7_Kub.d.mts → index-DQzZu-2W.d.mts} +823 -926
  20. package/dist/esm/index.d.mts +8 -8
  21. package/dist/esm/index.mjs +1 -1
  22. package/dist/esm/jsonRpc/index.d.mts +1 -1
  23. package/dist/esm/jsonRpc/index.mjs +1 -1
  24. package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
  25. package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
  26. package/dist/esm/keypairs/passkey/index.d.mts +1 -1
  27. package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
  28. package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
  29. package/dist/esm/{messenger-loQQ45UB.mjs → messenger-XaS-GpCz.mjs} +1 -1
  30. package/dist/esm/{messenger-api-BEWdcJrA.mjs → messenger-api-GLDmqXiO.mjs} +1 -1
  31. package/dist/esm/multisig/index.d.mts +1 -1
  32. package/dist/esm/{networks-CEYOA-1U.d.mts → networks-DjNV6z1E.d.mts} +6 -3
  33. package/dist/esm/{object-BTDJEtwG.mjs → object-BZ_iF8UV.mjs} +1 -1
  34. package/dist/esm/{pqxdh-CKkqzvPb.d.mts → pqxdh-66KxOyAF.d.mts} +0 -1
  35. package/dist/esm/{proof-CnI3UU0l.mjs → proof-Bs6HQZeE.mjs} +1 -1
  36. package/dist/esm/query-C21BX7t1.mjs +1 -0
  37. package/dist/esm/{received-CJvBDSIl.mjs → received-CLkbwKVD.mjs} +1 -1
  38. package/dist/esm/secp256k1-B-8mI0dI.mjs +1 -1
  39. package/dist/esm/secp256r1-B3O6jSlP.mjs +1 -1
  40. package/dist/esm/{secure-storage-DRwhPVz3.d.mts → secure-storage-Dkh4Oioi.d.mts} +1 -2
  41. package/dist/esm/{service-BLRHy6cG.mjs → service-CHsYFr_k.mjs} +1 -1
  42. package/dist/esm/{storage-Ct2mZnD0.d.mts → storage-0OmomSuj.d.mts} +0 -1
  43. package/dist/esm/transactions/index.d.mts +1 -1
  44. package/dist/esm/transactions/index.mjs +1 -1
  45. package/dist/esm/transactions-rYyItYOR.mjs +1 -1
  46. package/dist/esm/{type-tag-serializer-BOCNO96r.d.mts → type-tag-serializer-66hzljbG.d.mts} +0 -1
  47. package/dist/esm/util-DBKo02vY.mjs +1 -0
  48. package/dist/esm/utils/index.d.mts +2 -2
  49. package/dist/esm/utils/index.mjs +1 -1
  50. package/dist/esm/utils-IlS3fpdQ.mjs +1 -1
  51. package/dist/esm/verify/index.d.mts +1 -1
  52. package/dist/esm/verify/index.mjs +1 -1
  53. package/dist/esm/w/call/allocation.d.mts +1 -1
  54. package/dist/esm/w/call/allocation.mjs +1 -1
  55. package/dist/esm/w/call/arbitration.d.mts +1 -1
  56. package/dist/esm/w/call/arbitration.mjs +1 -1
  57. package/dist/esm/w/call/base.d.mts +1 -1
  58. package/dist/esm/w/call/base.mjs +1 -1
  59. package/dist/esm/w/call/demand.d.mts +1 -1
  60. package/dist/esm/w/call/demand.mjs +1 -1
  61. package/dist/esm/w/call/guard.d.mts +1 -1
  62. package/dist/esm/w/call/guard.mjs +1 -1
  63. package/dist/esm/w/call/index.d.mts +1 -1
  64. package/dist/esm/w/call/index.mjs +1 -1
  65. package/dist/esm/w/call/machine.d.mts +1 -1
  66. package/dist/esm/w/call/machine.mjs +1 -1
  67. package/dist/esm/w/call/passport.d.mts +1 -1
  68. package/dist/esm/w/call/passport.mjs +1 -1
  69. package/dist/esm/w/call/payment.d.mts +1 -1
  70. package/dist/esm/w/call/payment.mjs +1 -1
  71. package/dist/esm/w/call/permission.d.mts +1 -1
  72. package/dist/esm/w/call/permission.mjs +1 -1
  73. package/dist/esm/w/call/progress.d.mts +1 -1
  74. package/dist/esm/w/call/progress.mjs +1 -1
  75. package/dist/esm/w/call/repository.d.mts +1 -1
  76. package/dist/esm/w/call/repository.mjs +1 -1
  77. package/dist/esm/w/call/reward.d.mts +1 -1
  78. package/dist/esm/w/call/reward.mjs +1 -1
  79. package/dist/esm/w/call/service.d.mts +1 -1
  80. package/dist/esm/w/call/service.mjs +1 -1
  81. package/dist/esm/w/call/treasury.d.mts +1 -1
  82. package/dist/esm/w/call/treasury.mjs +1 -1
  83. package/dist/esm/w/common.d.mts +1 -1
  84. package/dist/esm/w/common.mjs +1 -1
  85. package/dist/esm/w/index.d.mts +5 -5
  86. package/dist/esm/w/index.mjs +1 -1
  87. package/dist/esm/w/local/account.d.mts +2 -2
  88. package/dist/esm/w/local/account.mjs +1 -1
  89. package/dist/esm/w/local/evm/networks.d.mts +1 -1
  90. package/dist/esm/w/local/evm-account.d.mts +1 -1
  91. package/dist/esm/w/local/evm-account.mjs +1 -1
  92. package/dist/esm/w/local/index.d.mts +5 -5
  93. package/dist/esm/w/local/index.mjs +1 -1
  94. package/dist/esm/w/local/local.mjs +1 -1
  95. package/dist/esm/w/local/secure-storage.d.mts +1 -1
  96. package/dist/esm/w/local/storage.d.mts +1 -1
  97. package/dist/esm/w/local/storage.mjs +1 -1
  98. package/dist/esm/w/local/token.d.mts +1 -1
  99. package/dist/esm/w/local/token.mjs +1 -1
  100. package/dist/esm/w/local/util.mjs +1 -1
  101. package/dist/esm/w/local/wip.mjs +1 -1
  102. package/dist/esm/w/messenger/crypto.d.mts +6 -3
  103. package/dist/esm/w/messenger/index.d.mts +1 -1
  104. package/dist/esm/w/messenger/index.mjs +1 -1
  105. package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
  106. package/dist/esm/w/messenger/messenger-api.mjs +1 -1
  107. package/dist/esm/w/messenger/messenger.d.mts +1 -1
  108. package/dist/esm/w/messenger/messenger.mjs +1 -1
  109. package/dist/esm/w/messenger/pq/crypto.d.mts +0 -1
  110. package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
  111. package/dist/esm/w/messenger/pq/index.d.mts +1 -1
  112. package/dist/esm/w/messenger/pq/pqxdh.d.mts +1 -1
  113. package/dist/esm/w/messenger/pq/ratchet.d.mts +0 -1
  114. package/dist/esm/w/messenger/pq/session.d.mts +1 -2
  115. package/dist/esm/w/messenger/pq/spqr.d.mts +0 -1
  116. package/dist/esm/w/messenger/pq/store-adapter.d.mts +0 -1
  117. package/dist/esm/w/messenger/storage.d.mts +1 -2
  118. package/dist/esm/w/messenger/storage.mjs +1 -1
  119. package/dist/esm/w/messenger/types.d.mts +1 -1
  120. package/dist/esm/w/query/index.d.mts +1 -1
  121. package/dist/esm/w/query/index.mjs +1 -1
  122. package/dist/esm/w/query/object.d.mts +1 -1
  123. package/dist/esm/w/query/object.mjs +1 -1
  124. package/dist/esm/w-YL0Jr-BM.mjs +1 -0
  125. package/package.json +1 -1
  126. package/dist/esm/client-D6nQHb4K.mjs +0 -1
  127. package/dist/esm/types-CiFC9IV5.d.mts +0 -74
  128. package/dist/esm/util-YC562UOE.mjs +0 -1
  129. package/dist/esm/w-ChCuDlfz.mjs +0 -1
@@ -1 +1 @@
1
- import'./types.mjs';import{sha256}from'@noble/hashes/sha2.js';import{randomBytes}from'@noble/hashes/utils.js';import{x25519}from'@noble/curves/ed25519.js';import{hmac}from'@noble/hashes/hmac.js';import{falcon512padded}from'@noble/post-quantum/falcon.js';import{hkdf}from'@noble/hashes/hkdf.js';import{ml_kem768}from'@noble/post-quantum/ml-kem.js';import a90a from'node:crypto';function generateRandomBytes(a){return randomBytes(a);}function generateX25519KeyPair(){const a=randomBytes(0x20);return{'publicKey':x25519['getPublicKey'](a),'privateKey':a};}function x25519DH(a,b){return x25519['getSharedSecret'](a,b);}function generateFalcon512KeyPair(){const {publicKey:a,secretKey:b}=falcon512padded['keygen']();return{'publicKey':a,'privateKey':b};}function falcon512Sign(a,b){return falcon512padded['sign'](b,a);}function falcon512Verify(a,b,c){try{return falcon512padded['verify'](c,b,a);}catch{return![];}}function generateMLKEMKeyPair(){const {publicKey:a,secretKey:b}=ml_kem768['keygen']();return{'publicKey':a,'secretKey':b};}function mlkemEncapsulate(a){const {cipherText:b,sharedSecret:c}=ml_kem768['encapsulate'](a);return{'ciphertext':b,'sharedSecret':c};}function mlkemDecapsulate(a,b){return ml_kem768['decapsulate'](a,b);}function hkdfDerive(a,b,c,d){return hkdf(sha256,a,d||new Uint8Array(0x0),b,c);}function hkdfChainKey(a,b){const c=new Uint8Array(a['length']+b['length']);c['set'](a),c['set'](b,a['length']);const d=hkdfDerive(c,new TextEncoder()['encode']('WowokPQChainKey'),0x40);return{'rootKey':d['slice'](0x0,0x20),'chainKey':d['slice'](0x20,0x40)};}function hkdfMessageKey(a){const b=hkdfDerive(a,new TextEncoder()['encode']('WowokPQMessageKey'),0x40);return{'messageKey':b['slice'](0x0,0x20),'nextChainKey':b['slice'](0x20,0x40)};}function hmacSha256(a,b){return hmac(sha256,a,b);}function aesGcmEncrypt(a,b,c){const d=randomBytes(0xc),e=Buffer['from'](a),f=Buffer['from'](d),g=Buffer['from'](b),h=Buffer['from'](c),i=a90a['createCipheriv']('aes-256-gcm',e,f);i['setAAD'](h);const j=Buffer['concat']([i['update'](g),i['final']()]),k=i['getAuthTag']();return{'ciphertext':new Uint8Array(j),'iv':d,'tag':new Uint8Array(k)};}function aesGcmDecrypt(a,b,c,d,e){const f=Buffer['from'](a),g=Buffer['from'](c),h=Buffer['from'](b),i=Buffer['from'](d),j=Buffer['from'](e),k=a90a['createDecipheriv']('aes-256-gcm',f,g);k['setAAD'](j),k['setAuthTag'](i);const l=Buffer['concat']([k['update'](h),k['final']()]);return new Uint8Array(l);}function sha256Hash(a){return sha256(a);}function constantTimeEqual(c,d){if(c['length']!==d['length'])return![];let e=0x0;for(let f=0x0;f<c['length'];f++)e|=c[f]^d[f];return e===0x0;}function bytesToBase64(a){return Buffer['from'](a)['toString']('base64');}function base64ToBytes(a){return new Uint8Array(Buffer['from'](a,'base64'));}function bytesToHex(a){return Buffer['from'](a)['toString']('hex');}function hexToBytes(a){return new Uint8Array(Buffer['from'](a,'hex'));}function concatBytes(...a){const b=a['reduce']((e,f)=>e+f['length'],0x0),c=new Uint8Array(b);let d=0x0;for(const e of a){c['set'](e,d),d+=e['length'];}return c;}function deriveRegistrationId(a){const b=(a[0x0]<<0x8|a[0x1])>>>0x0;return b===0x0?0x1:b;}function generateX25519BindingSignature(a,b){return falcon512Sign(a,b);}function verifyX25519BindingSignature(a,b,c){return falcon512Verify(a,b,c);}export{aesGcmDecrypt,aesGcmEncrypt,base64ToBytes,bytesToBase64,bytesToHex,concatBytes,constantTimeEqual,deriveRegistrationId,falcon512Sign,falcon512Verify,generateFalcon512KeyPair,generateMLKEMKeyPair,generateRandomBytes,generateX25519BindingSignature,generateX25519KeyPair,hexToBytes,hkdfChainKey,hkdfDerive,hkdfMessageKey,hmacSha256,mlkemDecapsulate,mlkemEncapsulate,sha256Hash,verifyX25519BindingSignature,x25519DH};
1
+ import'./types.mjs';import{sha256}from'@noble/hashes/sha2.js';import{randomBytes}from'@noble/hashes/utils.js';import{x25519}from'@noble/curves/ed25519.js';import{hmac}from'@noble/hashes/hmac.js';import{falcon512padded}from'@noble/post-quantum/falcon.js';import{hkdf}from'@noble/hashes/hkdf.js';import{ml_kem768}from'@noble/post-quantum/ml-kem.js';import a91a from'node:crypto';function generateRandomBytes(a){return randomBytes(a);}function generateX25519KeyPair(){const a=randomBytes(0x20);return{'publicKey':x25519['getPublicKey'](a),'privateKey':a};}function x25519DH(a,b){return x25519['getSharedSecret'](a,b);}function generateFalcon512KeyPair(){const {publicKey:a,secretKey:b}=falcon512padded['keygen']();return{'publicKey':a,'privateKey':b};}function falcon512Sign(a,b){return falcon512padded['sign'](b,a);}function falcon512Verify(a,b,c){try{return falcon512padded['verify'](c,b,a);}catch{return![];}}function generateMLKEMKeyPair(){const {publicKey:a,secretKey:b}=ml_kem768['keygen']();return{'publicKey':a,'secretKey':b};}function mlkemEncapsulate(a){const {cipherText:b,sharedSecret:c}=ml_kem768['encapsulate'](a);return{'ciphertext':b,'sharedSecret':c};}function mlkemDecapsulate(a,b){return ml_kem768['decapsulate'](a,b);}function hkdfDerive(a,b,c,d){return hkdf(sha256,a,d||new Uint8Array(0x0),b,c);}function hkdfChainKey(a,b){const c=new Uint8Array(a['length']+b['length']);c['set'](a),c['set'](b,a['length']);const d=hkdfDerive(c,new TextEncoder()['encode']('WowokPQChainKey'),0x40);return{'rootKey':d['slice'](0x0,0x20),'chainKey':d['slice'](0x20,0x40)};}function hkdfMessageKey(a){const b=hkdfDerive(a,new TextEncoder()['encode']('WowokPQMessageKey'),0x40);return{'messageKey':b['slice'](0x0,0x20),'nextChainKey':b['slice'](0x20,0x40)};}function hmacSha256(a,b){return hmac(sha256,a,b);}function aesGcmEncrypt(a,b,c){const d=randomBytes(0xc),e=Buffer['from'](a),f=Buffer['from'](d),g=Buffer['from'](b),h=Buffer['from'](c),i=a91a['createCipheriv']('aes-256-gcm',e,f);i['setAAD'](h);const j=Buffer['concat']([i['update'](g),i['final']()]),k=i['getAuthTag']();return{'ciphertext':new Uint8Array(j),'iv':d,'tag':new Uint8Array(k)};}function aesGcmDecrypt(a,b,c,d,e){const f=Buffer['from'](a),g=Buffer['from'](c),h=Buffer['from'](b),i=Buffer['from'](d),j=Buffer['from'](e),k=a91a['createDecipheriv']('aes-256-gcm',f,g);k['setAAD'](j),k['setAuthTag'](i);const l=Buffer['concat']([k['update'](h),k['final']()]);return new Uint8Array(l);}function sha256Hash(a){return sha256(a);}function constantTimeEqual(c,d){if(c['length']!==d['length'])return![];let e=0x0;for(let f=0x0;f<c['length'];f++)e|=c[f]^d[f];return e===0x0;}function bytesToBase64(a){return Buffer['from'](a)['toString']('base64');}function base64ToBytes(a){return new Uint8Array(Buffer['from'](a,'base64'));}function bytesToHex(a){return Buffer['from'](a)['toString']('hex');}function hexToBytes(a){return new Uint8Array(Buffer['from'](a,'hex'));}function concatBytes(...a){const b=a['reduce']((e,f)=>e+f['length'],0x0),c=new Uint8Array(b);let d=0x0;for(const e of a){c['set'](e,d),d+=e['length'];}return c;}function deriveRegistrationId(a){const b=(a[0x0]<<0x8|a[0x1])>>>0x0;return b===0x0?0x1:b;}function generateX25519BindingSignature(a,b){return falcon512Sign(a,b);}function verifyX25519BindingSignature(a,b,c){return falcon512Verify(a,b,c);}export{aesGcmDecrypt,aesGcmEncrypt,base64ToBytes,bytesToBase64,bytesToHex,concatBytes,constantTimeEqual,deriveRegistrationId,falcon512Sign,falcon512Verify,generateFalcon512KeyPair,generateMLKEMKeyPair,generateRandomBytes,generateX25519BindingSignature,generateX25519KeyPair,hexToBytes,hkdfChainKey,hkdfDerive,hkdfMessageKey,hmacSha256,mlkemDecapsulate,mlkemEncapsulate,sha256Hash,verifyX25519BindingSignature,x25519DH};
@@ -1,7 +1,7 @@
1
1
  import { AES_GCM_IV_SIZE, AES_GCM_TAG_SIZE, CHAIN_KEY_SIZE, DEFAULT_DEVICE_ID, DH_KEY_SIZE, EncryptedMessage, Falcon512KeyPair, KeyPair, MESSAGE_KEY_SIZE, MLKEMKeyPair, MLKEM_CIPHERTEXT_SIZE, MLKEM_PUBLIC_KEY_SIZE, MLKEM_SECRET_KEY_SIZE, MLKEM_SHARED_SECRET_SIZE, MessageType, PQError, PQErrorCode, PQIdentity, PQPreKeyBundle, PQSessionState, PQXDHResult, ROOT_KEY_SIZE, RatchetState, SIGNATURE_SIZE, SPQRChunk, SPQRPhase, SPQRReceivePhase, SPQRState, SPQR_CHUNK_DATA_SIZE, SPQR_CHUNK_HEADER_SIZE, SPQR_CHUNK_SIZE, SPQR_DATA_CHUNKS, SPQR_TOTAL_CHUNKS, SerializedPQSessionState, SerializedRatchetState, SerializedSPQRState, X25519KeyPair } from "./types.mjs";
2
2
  import { aesGcmDecrypt, aesGcmEncrypt, base64ToBytes, bytesToBase64, bytesToHex, concatBytes, constantTimeEqual, deriveRegistrationId, falcon512Sign, falcon512Verify, generateFalcon512KeyPair, generateMLKEMKeyPair, generateRandomBytes, generateX25519BindingSignature, generateX25519KeyPair, hexToBytes, hkdfChainKey, hkdfDerive, hkdfMessageKey, hmacSha256, mlkemDecapsulate, mlkemEncapsulate, sha256Hash, verifyX25519BindingSignature, x25519DH } from "./crypto.mjs";
3
3
  import { DATA_SHARDS, PARITY_SHARDS, SHARD_DATA_SIZE, SHARD_HEADER_SIZE, SHARD_SIZE, SPQRChunkData, TOTAL_SHARDS, decodeShards, encodeShards, packChunk, unpackChunk } from "./erasure.mjs";
4
- import { a as pqxdhReceive, i as pqxdhInitiate, n as PQXDHInitiateResult, o as verifyPreKeyBundle, r as generatePreKeyBundle, t as GeneratedPreKeyBundle } from "../../../pqxdh-CKkqzvPb.mjs";
4
+ import { a as pqxdhReceive, i as pqxdhInitiate, n as PQXDHInitiateResult, o as verifyPreKeyBundle, r as generatePreKeyBundle, t as GeneratedPreKeyBundle } from "../../../pqxdh-66KxOyAF.mjs";
5
5
  import { deserializeRatchetState, initRatchet, ratchetDecrypt, ratchetEncrypt, serializeRatchetState } from "./ratchet.mjs";
6
6
  import { deserializeSPQRState, initSPQR, serializeSPQRState, spqrGetCurrentKey, spqrGetNextChunk, spqrOnPeerPQPKReceived, spqrProcessReceivedChunks, spqrReceiveChunk } from "./spqr.mjs";
7
7
  import { combineKeys } from "./keycombiner.mjs";
@@ -1,2 +1,2 @@
1
- import { a as pqxdhReceive, i as pqxdhInitiate, n as PQXDHInitiateResult, o as verifyPreKeyBundle, r as generatePreKeyBundle, t as GeneratedPreKeyBundle } from "../../../pqxdh-CKkqzvPb.mjs";
1
+ import { a as pqxdhReceive, i as pqxdhInitiate, n as PQXDHInitiateResult, o as verifyPreKeyBundle, r as generatePreKeyBundle, t as GeneratedPreKeyBundle } from "../../../pqxdh-66KxOyAF.mjs";
2
2
  export { GeneratedPreKeyBundle, PQXDHInitiateResult, generatePreKeyBundle, pqxdhInitiate, pqxdhReceive, verifyPreKeyBundle };
@@ -1,5 +1,4 @@
1
1
  import { EncryptedMessage, RatchetState, SerializedRatchetState, X25519KeyPair } from "./types.mjs";
2
-
3
2
  //#region src/w/messenger/pq/ratchet.d.ts
4
3
  declare function initRatchet(rootKey: Uint8Array, sendingChainKey: Uint8Array, receivingChainKey: Uint8Array, ourDHKeyPair: X25519KeyPair, peerDHPublicKey: Uint8Array): RatchetState;
5
4
  declare function ratchetEncrypt(state: RatchetState, plaintext: Uint8Array): {
@@ -1,6 +1,5 @@
1
1
  import { EncryptedMessage, MLKEMKeyPair, PQIdentity, PQPreKeyBundle, SerializedPQSessionState, X25519KeyPair } from "./types.mjs";
2
- import { t as GeneratedPreKeyBundle } from "../../../pqxdh-CKkqzvPb.mjs";
3
-
2
+ import { t as GeneratedPreKeyBundle } from "../../../pqxdh-66KxOyAF.mjs";
4
3
  //#region src/w/messenger/pq/session.d.ts
5
4
  interface PQSessionStore {
6
5
  getIdentityKeyPair(): Promise<X25519KeyPair | null>;
@@ -1,5 +1,4 @@
1
1
  import { SPQRChunk, SPQRState, SerializedSPQRState } from "./types.mjs";
2
-
3
2
  //#region src/w/messenger/pq/spqr.d.ts
4
3
  declare function initSPQR(): SPQRState;
5
4
  declare function spqrGetNextChunk(state: SPQRState, messageCount: number): {
@@ -1,7 +1,6 @@
1
1
  import { MLKEMKeyPair, SerializedPQSessionState, X25519KeyPair } from "./types.mjs";
2
2
  import { PQSessionStore } from "./session.mjs";
3
3
  import Database from "libsql";
4
-
5
4
  //#region src/w/messenger/pq/store-adapter.d.ts
6
5
  declare class PQSessionStoreAdapter implements PQSessionStore {
7
6
  private db;
@@ -1,6 +1,5 @@
1
- import { Kr as Message, ti as MessengerConfig, xi as SessionState } from "../../index-D5-7_Kub.mjs";
1
+ import { Lr as MessengerConfig, Or as Message, ri as SessionState } from "../../index-DQzZu-2W.mjs";
2
2
  import Database from "libsql";
3
-
4
3
  //#region src/w/messenger/storage.d.ts
5
4
  type KeyPairType = {
6
5
  pubKey: ArrayBuffer;
@@ -1 +1 @@
1
- import{getWowDir}from'../local/util.mjs';import a100a from'libsql';import*as a100b from'path';import*as a100c from'fs';function getWowDirDynamic(){return getWowDir();}function getMessengerDbDir(){return a100b['join'](getWowDirDynamic(),'messenger');}function ensureDirExists(a){if(!a100c['existsSync'](a))a100c['mkdirSync'](a,{'recursive':!![]});}function getUserDbPath(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['slice'](0x0,0x10),c=getMessengerDbDir();return ensureDirExists(c),a100b['join'](c,b+'.db');}function getGlobalDbPath(){const a=getMessengerDbDir();return ensureDirExists(a),a100b['join'](a,'global.db');}const userDbInstances=new Map();let globalDbInstance=null;function getDatabase(a){if(!a)throw new Error('userAddress\x20is\x20required\x20to\x20get\x20database');const b=userDbInstances['get'](a);if(b)return b;const c=new a100a(getUserDbPath(a));c['pragma']('journal_mode\x20=\x20WAL'),c['pragma']('synchronous\x20=\x20NORMAL'),c['pragma']('cache_size\x20=\x20-64000'),c['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20signal_store\x20(\x0a\x20\x20\x20\x20\x20\x20store_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20value\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(store_type,\x20key)\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_signal_store_type\x20ON\x20signal_store(store_type);\x0a\x20\x20');try{c['exec']('\x0a\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20from_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20to_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext_hash\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg_type\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)\x20*\x201000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20INTEGER\x0a\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20');}catch(d){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20guard_address\x20TEXT');}catch(f){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20passport_address\x20TEXT');}catch(g){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20last_received_leaf_index\x20INTEGER');}catch(h){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20viewed_at\x20INTEGER');}catch(i){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(j){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(k){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(l){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(m){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(n){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(o){}return c['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20my_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20peer_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20current_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20prev_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20message_count\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_leaf_index\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20last_sync_at\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_session_my_peer\x20ON\x20session_states(my_address,\x20peer_address);\x0a\x20\x20'),userDbInstances['set'](a,c),c;}function getGlobalDatabase(){if(globalDbInstance)return globalDbInstance;const a=new a100a(getGlobalDbPath());return a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('cache_size\x20=\x20-10000'),a['pragma']('busy_timeout\x20=\x205000'),globalDbInstance=a,a;}function resetDbConnection(){for(const [a,b]of userDbInstances)try{b['pragma']('journal_mode\x20=\x20DELETE');}catch(c){}for(const [d,f]of userDbInstances)try{f['close']();}catch(g){}userDbInstances['clear']();if(globalDbInstance){try{globalDbInstance['pragma']('journal_mode\x20=\x20DELETE');}catch(h){}try{globalDbInstance['close']();}catch(i){}globalDbInstance=null;}}process['on']('exit',()=>{resetDbConnection();}),process['on']('SIGINT',()=>{resetDbConnection(),process['exit'](0x0);}),process['on']('SIGTERM',()=>{resetDbConnection(),process['exit'](0x0);});const STORE_TYPES={'IDENTITY':'identity','REGISTRATION_ID':'registration_id','IDENTITIES':'identities','PREKEYS':'prekeys','SIGNED_PREKEYS':'signed_prekeys','SESSIONS':'sessions','META':'meta'};function arrayBufferToBase64(a){return Buffer['from'](new Uint8Array(a))['toString']('base64');}function base64ToArrayBuffer(a){return Uint8Array['from'](Buffer['from'](a,'base64'))['slice']()['buffer'];}function bufferEqual(c,d){if(c['byteLength']!==d['byteLength'])return![];const e=new Uint8Array(c),f=new Uint8Array(d);for(let g=0x0;g<e['length'];g++)if(e[g]!==f[g])return![];return!![];}var SignalProtocolStorage=class{constructor(a,b='default'){this['userAddress']=a,this['storePrefix']=b;}get['db'](){return getDatabase(this['userAddress']);}async['setIdentity'](a,b){const c={'pubKey':arrayBufferToBase64(a['pubKey']),'privKey':arrayBufferToBase64(a['privKey'])};this['putValue'](STORE_TYPES['IDENTITY'],JSON['stringify'](c)),this['putValue'](STORE_TYPES['REGISTRATION_ID'],b['toString']());}async['getIdentityKeyPair'](){const a=this['getValue'](STORE_TYPES['IDENTITY']);if(!a)return void 0x0;const b=JSON['parse'](a);return{'pubKey':base64ToArrayBuffer(b['pubKey']),'privKey':base64ToArrayBuffer(b['privKey'])};}async['getLocalRegistrationId'](){const a=this['getValue'](STORE_TYPES['REGISTRATION_ID']);return a?parseInt(a,0xa):void 0x0;}async['isTrustedIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c);if(!d)return!![];return bufferEqual(base64ToArrayBuffer(d),b);}async['saveIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c),e=arrayBufferToBase64(b);return this['putValue'](c,e),d?bufferEqual(base64ToArrayBuffer(d),b):!![];}async['loadIdentity'](a){const b=STORE_TYPES['IDENTITIES']+':'+a,c=this['getValue'](b);return c?base64ToArrayBuffer(c):void 0x0;}async['loadPreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storePreKey'](a,b){const c=STORE_TYPES['PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removePreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storeSignedPreKey'](a,b){const c=STORE_TYPES['SIGNED_PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removeSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKeyWithSignature'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);if(!d['pubKey']||!d['privKey']||!d['signature'])return;return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey']),'signature':base64ToArrayBuffer(d['signature'])};}async['storeSignedPreKeyWithSignature'](a,b,c){const d=STORE_TYPES['SIGNED_PREKEYS']+':'+a,e={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey']),'signature':arrayBufferToBase64(c)};this['putValue'](d,JSON['stringify'](e));}async['loadSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a,c=this['getValue'](b);if(c)return c;if(a['startsWith']('send:')||a['startsWith']('recv:'))return;const d=STORE_TYPES['SESSIONS']+':send:'+a,e=this['getValue'](d);if(e)return e;const f=STORE_TYPES['SESSIONS']+':recv:'+a,g=this['getValue'](f);if(g)return g;}async['storeSession'](a,b){const c=STORE_TYPES['SESSIONS']+':'+a;this['putValue'](c,b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const d=STORE_TYPES['SESSIONS']+':recv:'+a;this['putValue'](d,b);}}async['removeSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a;this['delValue'](b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const c=STORE_TYPES['SESSIONS']+':recv:'+a;this['delValue'](c);}}async['getMeta'](){const a=this['getValue'](STORE_TYPES['META']);if(!a)return{'nextPreKeyId':0x1};return JSON['parse'](a);}async['setMeta'](a){const b={...await this['getMeta'](),...a};this['putValue'](STORE_TYPES['META'],JSON['stringify'](b));}['listPreKeys'](){return this['db']['prepare']('SELECT\x20key\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20LIKE\x20?')['all'](this['storePrefix'],STORE_TYPES['PREKEYS']+':%')['map'](a=>{const b=a['key']['replace'](STORE_TYPES['PREKEYS']+':','');return Number(b);});}['getValue'](a){return this['db']['prepare']('SELECT\x20value\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['get'](this['storePrefix'],a)?.['value'];}['putValue'](a,b){this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20signal_store\x20(store_type,\x20key,\x20value,\x20updated_at)\x20\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(store_type,\x20key)\x20DO\x20UPDATE\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20value\x20=\x20excluded.value,\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20excluded.updated_at\x0a\x20\x20\x20\x20')['run'](this['storePrefix'],a,b);}['delValue'](a){this['db']['prepare']('DELETE\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['run'](this['storePrefix'],a);}},MessageStorage=class{constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['saveMessage'](a){const b=a['direction']==='received'&&!a['receivedAt']?Date['now']():a['receivedAt'];this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id,\x20from_address,\x20to_address,\x20plaintext_hash,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext,\x20guard_address,\x20passport_address,\x20last_received_leaf_index,\x20direction,\x20status,\x20msg_type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index,\x20prev_root,\x20new_root,\x20server_signature,\x20server_public_key,\x20server_timestamp,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient,\x20ark_recipient_pubkey,\x20ark_signature,\x20ark_timestamp,\x20zip_metadata,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20received_at\x0a\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(message_id)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20=\x20COALESCE(excluded.direction,\x20direction),\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20=\x20COALESCE(excluded.status,\x20status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20=\x20COALESCE(excluded.leaf_index,\x20leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20COALESCE(excluded.prev_root,\x20prev_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20=\x20COALESCE(excluded.new_root,\x20new_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20=\x20COALESCE(excluded.server_signature,\x20server_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20=\x20COALESCE(excluded.server_public_key,\x20server_public_key),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20=\x20COALESCE(excluded.server_timestamp,\x20server_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20=\x20COALESCE(excluded.plaintext,\x20plaintext),\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20=\x20COALESCE(excluded.guard_address,\x20guard_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20=\x20COALESCE(excluded.passport_address,\x20passport_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20last_received_leaf_index\x20=\x20COALESCE(excluded.last_received_leaf_index,\x20last_received_leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20=\x20COALESCE(excluded.ark_recipient,\x20ark_recipient),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20=\x20COALESCE(excluded.ark_recipient_pubkey,\x20ark_recipient_pubkey),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20=\x20COALESCE(excluded.ark_signature,\x20ark_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20=\x20COALESCE(excluded.ark_timestamp,\x20ark_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20=\x20COALESCE(excluded.zip_metadata,\x20zip_metadata),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20=\x20COALESCE(excluded.received_at,\x20received_at)\x0a\x20\x20\x20\x20')['run'](a['messageId'],a['fromAddress'],a['toAddress'],a['plaintextHash'],a['plaintext']===void 0x0?null:a['plaintext'],a['guardAddress']===void 0x0?null:a['guardAddress'],a['passportAddress']===void 0x0?null:a['passportAddress'],a['lastReceivedLeafIndex']===void 0x0?null:a['lastReceivedLeafIndex'],a['direction'],a['status'],a['msgType'],a['leafIndex']===void 0x0?null:a['leafIndex'],a['prevRoot']===void 0x0?null:a['prevRoot'],a['newRoot']===void 0x0?null:a['newRoot'],a['serverSignature']===void 0x0?null:a['serverSignature'],a['serverPublicKey']===void 0x0?null:a['serverPublicKey'],a['serverTimestamp']===void 0x0?null:a['serverTimestamp'],a['arkConfirmed']?.['recipient']===void 0x0?null:a['arkConfirmed']?.['recipient'],a['arkConfirmed']?.['recipientPublicKey']===void 0x0?null:a['arkConfirmed']?.['recipientPublicKey'],a['arkConfirmed']?.['signature']===void 0x0?null:a['arkConfirmed']?.['signature'],a['arkConfirmed']?.['timestamp']===void 0x0?null:a['arkConfirmed']?.['timestamp'],a['zipMetadata']?JSON['stringify'](a['zipMetadata']):null,a['createdAt'],b===void 0x0?null:b);}['getMessage'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!b)return void 0x0;return this['rowToMessage'](b);}['getMessagesBySession'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](c,d,d,c)['map'](e=>this['rowToMessage'](e));}['getPendingMessages'](a){const b=a['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?)\x20AND\x20status\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b,'pending')['map'](c=>this['rowToMessage'](c));}['updateMessageStatus'](a,b,c){const d=['status\x20=\x20?'],e=[b];c?.['leafIndex']!==void 0x0&&(d['push']('leaf_index\x20=\x20?'),e['push'](c['leafIndex'])),c?.['newRoot']!==void 0x0&&(d['push']('new_root\x20=\x20?'),e['push'](c['newRoot'])),c?.['serverSignature']!==void 0x0&&(d['push']('server_signature\x20=\x20?'),e['push'](c['serverSignature'])),c?.['serverTimestamp']!==void 0x0&&(d['push']('server_timestamp\x20=\x20?'),e['push'](c['serverTimestamp'])),c?.['serverPublicKey']!==void 0x0&&(d['push']('server_public_key\x20=\x20?'),e['push'](c['serverPublicKey'])),e['push'](a),this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20messages\x20SET\x20'+d['join'](',\x20')+'\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20')['run'](...e);}['updateMessageViewed'](a,b){const c=b??Date['now']();return this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20=\x20?\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,a)['changes']>0x0;}['updateMessagesViewed'](a,b){if(a['length']===0x0)return 0x0;const c=b??Date['now'](),d=a['map'](()=>'?')['join'](',');return this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20IN\x20('+d+')\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,...a)['changes'];}['getAllMessages'](a){const b=a['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20DESC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b)['map'](c=>this['rowToMessage'](c));}['getMessageById'](a){const b=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['get'](a);if(!b)return void 0x0;return this['rowToMessage'](b);}['updateMessageId'](a,b,c){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!d)return![];const e=(h,i)=>{if(h!==void 0x0)return h;return i===null?void 0x0:i;},f={'messageId':b,'fromAddress':d['from_address'],'toAddress':d['to_address'],'plaintextHash':d['plaintext_hash'],'plaintext':d['plaintext']===null?void 0x0:d['plaintext'],'guardAddress':d['guard_address']===null?void 0x0:d['guard_address'],'passportAddress':d['passport_address']===null?void 0x0:d['passport_address'],'direction':d['direction'],'status':c?.['status']!==void 0x0?c['status']:d['status'],'msgType':d['msg_type'],'leafIndex':e(c?.['leafIndex'],d['leaf_index']),'prevRoot':e(c?.['prevRoot'],d['prev_root']),'newRoot':e(c?.['newRoot'],d['new_root']),'serverSignature':e(c?.['serverSignature'],d['server_signature']),'serverPublicKey':e(c?.['serverPublicKey'],d['server_public_key']),'serverTimestamp':e(c?.['serverTimestamp'],d['server_timestamp']),'arkConfirmed':d['ark_recipient']?{'recipient':d['ark_recipient'],'recipientPublicKey':d['ark_recipient_pubkey'],'signature':d['ark_signature'],'timestamp':d['ark_timestamp']}:void 0x0,'zipMetadata':d['zip_metadata']?JSON['parse'](d['zip_metadata']):void 0x0,'createdAt':d['created_at'],'receivedAt':d['received_at']===null?void 0x0:d['received_at'],'viewedAt':d['viewed_at']===null?void 0x0:d['viewed_at']},g=this['db']['transaction'](()=>{this['db']['prepare']('DELETE\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['run'](a),this['saveMessage'](f);});try{return g(),!![];}catch(h){return![];}}['rowToMessage'](a){if(a['to_address']===null)throw new Error('Message\x20'+a['message_id']+'\x20has\x20null\x20toAddress');return{'messageId':a['message_id'],'fromAddress':a['from_address'],'toAddress':a['to_address'],'plaintextHash':a['plaintext_hash'],'plaintext':a['plaintext']===null?void 0x0:a['plaintext'],'guardAddress':a['guard_address']===null?void 0x0:a['guard_address'],'passportAddress':a['passport_address']===null?void 0x0:a['passport_address'],'lastReceivedLeafIndex':a['last_received_leaf_index']===null?void 0x0:a['last_received_leaf_index'],'direction':a['direction'],'status':a['status'],'msgType':a['msg_type'],'leafIndex':a['leaf_index']===null?void 0x0:a['leaf_index'],'prevRoot':a['prev_root']===null?void 0x0:a['prev_root'],'newRoot':a['new_root']===null?void 0x0:a['new_root'],'serverSignature':a['server_signature']===null?void 0x0:a['server_signature'],'serverPublicKey':a['server_public_key']===null?void 0x0:a['server_public_key'],'serverTimestamp':a['server_timestamp']===null?void 0x0:a['server_timestamp'],'arkConfirmed':a['ark_recipient']?{'recipient':a['ark_recipient'],'recipientPublicKey':a['ark_recipient_pubkey'],'signature':a['ark_signature'],'timestamp':a['ark_timestamp']}:void 0x0,'zipMetadata':a['zip_metadata']?JSON['parse'](a['zip_metadata']):void 0x0,'createdAt':a['created_at'],'receivedAt':a['received_at']===null?void 0x0:a['received_at'],'viewedAt':a['viewed_at']===null?void 0x0:a['viewed_at']};}['getLastReceivedLeafIndex'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase']();return this['db']['prepare']('\x0a\x09\x09\x09\x09SELECT\x20MAX(leaf_index)\x20as\x20max_index\x0a\x09\x09\x09\x09FROM\x20messages\x0a\x09\x09\x09\x09WHERE\x20from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?\x0a\x09\x09\x09\x09\x09AND\x20status\x20=\x20\x27decrypted\x27\x0a\x09\x09\x09\x09\x09AND\x20leaf_index\x20IS\x20NOT\x20NULL\x0a\x09\x09\x09')['get'](d,c)?.['max_index']??-0x1;}},SessionStateStorage=class{constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['getSessionId'](a,b){const c=[a,b]['sort']();return c[0x0]+':'+c[0x1];}['getSessionState'](a,b){const c=this['getSessionId'](a,b),d=this['db']['prepare']('SELECT\x20*\x20FROM\x20session_states\x20WHERE\x20session_id\x20=\x20?')['get'](c);if(!d)return void 0x0;return{'sessionId':d['session_id'],'myAddress':d['my_address'],'peerAddress':d['peer_address'],'currentRoot':d['current_root'],'prevRoot':d['prev_root'],'messageCount':d['message_count'],'lastLeafIndex':d['last_leaf_index'],'lastConfirmedHash':d['last_confirmed_hash']===null?'':d['last_confirmed_hash'],'lastSyncAt':d['last_sync_at']===null?0x0:d['last_sync_at'],'createdAt':d['created_at'],'updatedAt':d['updated_at']};}['updateSessionState'](a,b,c){const d=this['getSessionId'](a,b),e=this['getSessionState'](a,b),f=Date['now']();if(e){const g={...e,...c,'updatedAt':f};this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20session_states\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_leaf_index\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_sync_at\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20session_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['run'](g['currentRoot'],g['prevRoot'],g['messageCount'],g['lastLeafIndex'],g['lastConfirmedHash'],g['lastSyncAt'],g['updatedAt'],d);}else{const h='0'['repeat'](0x40);this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x20my_address,\x20peer_address,\x20current_root,\x20prev_root,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count,\x20last_leaf_index,\x20last_confirmed_hash,\x20last_sync_at,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20updated_at\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20')['run'](d,a,b,c['currentRoot']??h,c['prevRoot']??h,c['messageCount']??0x0,c['lastLeafIndex']??0x0,c['lastConfirmedHash']??'',c['lastSyncAt']??0x0,f,f);}}['getCurrentRoot'](a,b){return this['getSessionState'](a,b)?.['currentRoot']??'0'['repeat'](0x40);}},MessengerPersistStorage=class{constructor(){this['initialized']=![];}get['db'](){const a=getGlobalDatabase();return!this['initialized']&&(this['initTable'](a),this['initialized']=!![]),a;}['initTable'](a){a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messenger_manager_state\x20(\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09state_data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09updated_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messenger_state_updated\x20ON\x20messenger_manager_state(updated_at);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sse_lock_heartbeat\x20ON\x20sse_connection_locks(last_heartbeat);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_polling_lock_heartbeat\x20ON\x20polling_connection_locks(last_heartbeat);\x0a\x09\x09');}['saveState'](a,b){const c=JSON['stringify'](b),d=Date['now']();this['db']['prepare']('\x0a\x09\x09\x09\x09INSERT\x20INTO\x20messenger_manager_state\x20(instance_id,\x20state_data,\x20updated_at)\x0a\x09\x09\x09\x09VALUES\x20(?,\x20?,\x20?)\x0a\x09\x09\x09\x09ON\x20CONFLICT(instance_id)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09state_data\x20=\x20excluded.state_data,\x0a\x09\x09\x09\x09\x09updated_at\x20=\x20excluded.updated_at\x0a\x09\x09\x09')['run'](a,c,d);}['loadState'](a){const b=this['db']['prepare']('SELECT\x20state_data\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['get'](a);if(!b?.['state_data'])return null;try{return JSON['parse'](b['state_data']);}catch(c){return null;}}['deleteState'](a){this['db']['prepare']('DELETE\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['run'](a);}['getAllInstanceIds'](){return this['db']['prepare']('SELECT\x20instance_id\x20FROM\x20messenger_manager_state\x20ORDER\x20BY\x20updated_at\x20DESC')['all']()['map'](a=>a['instance_id']);}get['processId'](){return'pid_'+process['pid']+'_'+Date['now']();}['tryAcquireSSELock'](a,b){const c=Date['now'](),d=0x3a98,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updateSSELockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releaseSSELock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsSSELock'](a,b){return!!this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);}['tryAcquirePollingLock'](a,b){const c=Date['now'](),d=0xea60,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updatePollingLockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releasePollingLock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsPollingLock'](a,b){return!!this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);}};const defaultPersistStorage=new MessengerPersistStorage();export{MessageStorage,MessengerPersistStorage,SessionStateStorage,SignalProtocolStorage,defaultPersistStorage,getDatabase,resetDbConnection};
1
+ import{getWowDir}from'../local/util.mjs';import a101a from'libsql';import*as a101b from'path';import*as a101c from'fs';function getWowDirDynamic(){return getWowDir();}function getMessengerDbDir(){return a101b['join'](getWowDirDynamic(),'messenger');}function ensureDirExists(a){if(!a101c['existsSync'](a))a101c['mkdirSync'](a,{'recursive':!![]});}function getUserDbPath(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['slice'](0x0,0x10),c=getMessengerDbDir();return ensureDirExists(c),a101b['join'](c,b+'.db');}function getGlobalDbPath(){const a=getMessengerDbDir();return ensureDirExists(a),a101b['join'](a,'global.db');}const userDbInstances=new Map();let globalDbInstance=null;function getDatabase(a){if(!a)throw new Error('userAddress\x20is\x20required\x20to\x20get\x20database');const b=userDbInstances['get'](a);if(b)return b;const c=new a101a(getUserDbPath(a));c['pragma']('journal_mode\x20=\x20WAL'),c['pragma']('synchronous\x20=\x20NORMAL'),c['pragma']('cache_size\x20=\x20-64000'),c['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20signal_store\x20(\x0a\x20\x20\x20\x20\x20\x20store_type\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20value\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(store_type,\x20key)\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_signal_store_type\x20ON\x20signal_store(store_type);\x0a\x20\x20');try{c['exec']('\x0a\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20from_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20to_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext_hash\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20msg_type\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)\x20*\x201000),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20INTEGER\x0a\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20');}catch(d){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20guard_address\x20TEXT');}catch(f){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20passport_address\x20TEXT');}catch(g){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20last_received_leaf_index\x20INTEGER');}catch(h){}try{c['exec']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20viewed_at\x20INTEGER');}catch(i){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(j){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(k){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(l){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(m){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(n){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(o){}return c['exec']('\x0a\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20session_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20my_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20peer_address\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20current_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20prev_root\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20message_count\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_leaf_index\x20INTEGER\x20DEFAULT\x200,\x0a\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20last_sync_at\x20INTEGER,\x0a\x20\x20\x20\x20\x20\x20created_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27)),\x0a\x20\x20\x20\x20\x20\x20updated_at\x20INTEGER\x20DEFAULT\x20(strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20);\x0a\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_session_my_peer\x20ON\x20session_states(my_address,\x20peer_address);\x0a\x20\x20'),userDbInstances['set'](a,c),c;}function getGlobalDatabase(){if(globalDbInstance)return globalDbInstance;const a=new a101a(getGlobalDbPath());return a['pragma']('journal_mode\x20=\x20WAL'),a['pragma']('synchronous\x20=\x20NORMAL'),a['pragma']('cache_size\x20=\x20-10000'),a['pragma']('busy_timeout\x20=\x205000'),globalDbInstance=a,a;}function resetDbConnection(){for(const [a,b]of userDbInstances)try{b['pragma']('journal_mode\x20=\x20DELETE');}catch(c){}for(const [d,f]of userDbInstances)try{f['close']();}catch(g){}userDbInstances['clear']();if(globalDbInstance){try{globalDbInstance['pragma']('journal_mode\x20=\x20DELETE');}catch(h){}try{globalDbInstance['close']();}catch(i){}globalDbInstance=null;}}process['on']('exit',()=>{resetDbConnection();}),process['on']('SIGINT',()=>{resetDbConnection(),process['exit'](0x0);}),process['on']('SIGTERM',()=>{resetDbConnection(),process['exit'](0x0);});const STORE_TYPES={'IDENTITY':'identity','REGISTRATION_ID':'registration_id','IDENTITIES':'identities','PREKEYS':'prekeys','SIGNED_PREKEYS':'signed_prekeys','SESSIONS':'sessions','META':'meta'};function arrayBufferToBase64(a){return Buffer['from'](new Uint8Array(a))['toString']('base64');}function base64ToArrayBuffer(a){return Uint8Array['from'](Buffer['from'](a,'base64'))['slice']()['buffer'];}function bufferEqual(c,d){if(c['byteLength']!==d['byteLength'])return![];const e=new Uint8Array(c),f=new Uint8Array(d);for(let g=0x0;g<e['length'];g++)if(e[g]!==f[g])return![];return!![];}var SignalProtocolStorage=class{constructor(a,b='default'){this['userAddress']=a,this['storePrefix']=b;}get['db'](){return getDatabase(this['userAddress']);}async['setIdentity'](a,b){const c={'pubKey':arrayBufferToBase64(a['pubKey']),'privKey':arrayBufferToBase64(a['privKey'])};this['putValue'](STORE_TYPES['IDENTITY'],JSON['stringify'](c)),this['putValue'](STORE_TYPES['REGISTRATION_ID'],b['toString']());}async['getIdentityKeyPair'](){const a=this['getValue'](STORE_TYPES['IDENTITY']);if(!a)return void 0x0;const b=JSON['parse'](a);return{'pubKey':base64ToArrayBuffer(b['pubKey']),'privKey':base64ToArrayBuffer(b['privKey'])};}async['getLocalRegistrationId'](){const a=this['getValue'](STORE_TYPES['REGISTRATION_ID']);return a?parseInt(a,0xa):void 0x0;}async['isTrustedIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c);if(!d)return!![];return bufferEqual(base64ToArrayBuffer(d),b);}async['saveIdentity'](a,b){const c=STORE_TYPES['IDENTITIES']+':'+a,d=this['getValue'](c),e=arrayBufferToBase64(b);return this['putValue'](c,e),d?bufferEqual(base64ToArrayBuffer(d),b):!![];}async['loadIdentity'](a){const b=STORE_TYPES['IDENTITIES']+':'+a,c=this['getValue'](b);return c?base64ToArrayBuffer(c):void 0x0;}async['loadPreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storePreKey'](a,b){const c=STORE_TYPES['PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removePreKey'](a){const b=STORE_TYPES['PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey'])};}async['storeSignedPreKey'](a,b){const c=STORE_TYPES['SIGNED_PREKEYS']+':'+a,d={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey'])};this['putValue'](c,JSON['stringify'](d));}async['removeSignedPreKey'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a;this['delValue'](b);}async['loadSignedPreKeyWithSignature'](a){const b=STORE_TYPES['SIGNED_PREKEYS']+':'+a,c=this['getValue'](b);if(!c)return void 0x0;const d=JSON['parse'](c);if(!d['pubKey']||!d['privKey']||!d['signature'])return;return{'pubKey':base64ToArrayBuffer(d['pubKey']),'privKey':base64ToArrayBuffer(d['privKey']),'signature':base64ToArrayBuffer(d['signature'])};}async['storeSignedPreKeyWithSignature'](a,b,c){const d=STORE_TYPES['SIGNED_PREKEYS']+':'+a,e={'pubKey':arrayBufferToBase64(b['pubKey']),'privKey':arrayBufferToBase64(b['privKey']),'signature':arrayBufferToBase64(c)};this['putValue'](d,JSON['stringify'](e));}async['loadSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a,c=this['getValue'](b);if(c)return c;if(a['startsWith']('send:')||a['startsWith']('recv:'))return;const d=STORE_TYPES['SESSIONS']+':send:'+a,e=this['getValue'](d);if(e)return e;const f=STORE_TYPES['SESSIONS']+':recv:'+a,g=this['getValue'](f);if(g)return g;}async['storeSession'](a,b){const c=STORE_TYPES['SESSIONS']+':'+a;this['putValue'](c,b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const d=STORE_TYPES['SESSIONS']+':recv:'+a;this['putValue'](d,b);}}async['removeSession'](a){const b=STORE_TYPES['SESSIONS']+':'+a;this['delValue'](b);if(!a['startsWith']('send:')&&!a['startsWith']('recv:')){const c=STORE_TYPES['SESSIONS']+':recv:'+a;this['delValue'](c);}}async['getMeta'](){const a=this['getValue'](STORE_TYPES['META']);if(!a)return{'nextPreKeyId':0x1};return JSON['parse'](a);}async['setMeta'](a){const b={...await this['getMeta'](),...a};this['putValue'](STORE_TYPES['META'],JSON['stringify'](b));}['listPreKeys'](){return this['db']['prepare']('SELECT\x20key\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20LIKE\x20?')['all'](this['storePrefix'],STORE_TYPES['PREKEYS']+':%')['map'](a=>{const b=a['key']['replace'](STORE_TYPES['PREKEYS']+':','');return Number(b);});}['getValue'](a){return this['db']['prepare']('SELECT\x20value\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['get'](this['storePrefix'],a)?.['value'];}['putValue'](a,b){this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20signal_store\x20(store_type,\x20key,\x20value,\x20updated_at)\x20\x0a\x20\x20\x20\x20\x20\x20VALUES\x20(?,\x20?,\x20?,\x20strftime(\x27%s\x27,\x20\x27now\x27))\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(store_type,\x20key)\x20DO\x20UPDATE\x20SET\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20value\x20=\x20excluded.value,\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20excluded.updated_at\x0a\x20\x20\x20\x20')['run'](this['storePrefix'],a,b);}['delValue'](a){this['db']['prepare']('DELETE\x20FROM\x20signal_store\x20WHERE\x20store_type\x20=\x20?\x20AND\x20key\x20=\x20?')['run'](this['storePrefix'],a);}},MessageStorage=class{constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['saveMessage'](a){const b=a['direction']==='received'&&!a['receivedAt']?Date['now']():a['receivedAt'];this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20messages\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20message_id,\x20from_address,\x20to_address,\x20plaintext_hash,\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext,\x20guard_address,\x20passport_address,\x20last_received_leaf_index,\x20direction,\x20status,\x20msg_type,\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index,\x20prev_root,\x20new_root,\x20server_signature,\x20server_public_key,\x20server_timestamp,\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient,\x20ark_recipient_pubkey,\x20ark_signature,\x20ark_timestamp,\x20zip_metadata,\x0a\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20received_at\x0a\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20ON\x20CONFLICT(message_id)\x20DO\x20UPDATE\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20direction\x20=\x20COALESCE(excluded.direction,\x20direction),\x0a\x20\x20\x20\x20\x20\x20\x20\x20status\x20=\x20COALESCE(excluded.status,\x20status),\x0a\x20\x20\x20\x20\x20\x20\x20\x20leaf_index\x20=\x20COALESCE(excluded.leaf_index,\x20leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20COALESCE(excluded.prev_root,\x20prev_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20new_root\x20=\x20COALESCE(excluded.new_root,\x20new_root),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_signature\x20=\x20COALESCE(excluded.server_signature,\x20server_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_public_key\x20=\x20COALESCE(excluded.server_public_key,\x20server_public_key),\x0a\x20\x20\x20\x20\x20\x20\x20\x20server_timestamp\x20=\x20COALESCE(excluded.server_timestamp,\x20server_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20plaintext\x20=\x20COALESCE(excluded.plaintext,\x20plaintext),\x0a\x20\x20\x20\x20\x20\x20\x20\x20guard_address\x20=\x20COALESCE(excluded.guard_address,\x20guard_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20passport_address\x20=\x20COALESCE(excluded.passport_address,\x20passport_address),\x0a\x20\x20\x20\x20\x20\x20\x20\x20last_received_leaf_index\x20=\x20COALESCE(excluded.last_received_leaf_index,\x20last_received_leaf_index),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient\x20=\x20COALESCE(excluded.ark_recipient,\x20ark_recipient),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_recipient_pubkey\x20=\x20COALESCE(excluded.ark_recipient_pubkey,\x20ark_recipient_pubkey),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_signature\x20=\x20COALESCE(excluded.ark_signature,\x20ark_signature),\x0a\x20\x20\x20\x20\x20\x20\x20\x20ark_timestamp\x20=\x20COALESCE(excluded.ark_timestamp,\x20ark_timestamp),\x0a\x20\x20\x20\x20\x20\x20\x20\x20zip_metadata\x20=\x20COALESCE(excluded.zip_metadata,\x20zip_metadata),\x0a\x20\x20\x20\x20\x20\x20\x20\x20received_at\x20=\x20COALESCE(excluded.received_at,\x20received_at)\x0a\x20\x20\x20\x20')['run'](a['messageId'],a['fromAddress'],a['toAddress'],a['plaintextHash'],a['plaintext']===void 0x0?null:a['plaintext'],a['guardAddress']===void 0x0?null:a['guardAddress'],a['passportAddress']===void 0x0?null:a['passportAddress'],a['lastReceivedLeafIndex']===void 0x0?null:a['lastReceivedLeafIndex'],a['direction'],a['status'],a['msgType'],a['leafIndex']===void 0x0?null:a['leafIndex'],a['prevRoot']===void 0x0?null:a['prevRoot'],a['newRoot']===void 0x0?null:a['newRoot'],a['serverSignature']===void 0x0?null:a['serverSignature'],a['serverPublicKey']===void 0x0?null:a['serverPublicKey'],a['serverTimestamp']===void 0x0?null:a['serverTimestamp'],a['arkConfirmed']?.['recipient']===void 0x0?null:a['arkConfirmed']?.['recipient'],a['arkConfirmed']?.['recipientPublicKey']===void 0x0?null:a['arkConfirmed']?.['recipientPublicKey'],a['arkConfirmed']?.['signature']===void 0x0?null:a['arkConfirmed']?.['signature'],a['arkConfirmed']?.['timestamp']===void 0x0?null:a['arkConfirmed']?.['timestamp'],a['zipMetadata']?JSON['stringify'](a['zipMetadata']):null,a['createdAt'],b===void 0x0?null:b);}['getMessage'](a){const b=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!b)return void 0x0;return this['rowToMessage'](b);}['getMessagesBySession'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20OR\x20(from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?)\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](c,d,d,c)['map'](e=>this['rowToMessage'](e));}['getPendingMessages'](a){const b=a['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20(from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?)\x20AND\x20status\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20ASC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b,'pending')['map'](c=>this['rowToMessage'](c));}['updateMessageStatus'](a,b,c){const d=['status\x20=\x20?'],e=[b];c?.['leafIndex']!==void 0x0&&(d['push']('leaf_index\x20=\x20?'),e['push'](c['leafIndex'])),c?.['newRoot']!==void 0x0&&(d['push']('new_root\x20=\x20?'),e['push'](c['newRoot'])),c?.['serverSignature']!==void 0x0&&(d['push']('server_signature\x20=\x20?'),e['push'](c['serverSignature'])),c?.['serverTimestamp']!==void 0x0&&(d['push']('server_timestamp\x20=\x20?'),e['push'](c['serverTimestamp'])),c?.['serverPublicKey']!==void 0x0&&(d['push']('server_public_key\x20=\x20?'),e['push'](c['serverPublicKey'])),e['push'](a),this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20messages\x20SET\x20'+d['join'](',\x20')+'\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20')['run'](...e);}['updateMessageViewed'](a,b){const c=b??Date['now']();return this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20=\x20?\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,a)['changes']>0x0;}['updateMessagesViewed'](a,b){if(a['length']===0x0)return 0x0;const c=b??Date['now'](),d=a['map'](()=>'?')['join'](',');return this['db']['prepare']('\x0a\x09\x09\x09\x09UPDATE\x20messages\x0a\x09\x09\x09\x09SET\x20viewed_at\x20=\x20?\x0a\x09\x09\x09\x09WHERE\x20message_id\x20IN\x20('+d+')\x20AND\x20viewed_at\x20IS\x20NULL\x0a\x09\x09\x09')['run'](c,...a)['changes'];}['getAllMessages'](a){const b=a['toLowerCase']();return this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20from_address\x20=\x20?\x20OR\x20to_address\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20ORDER\x20BY\x20created_at\x20DESC\x0a\x20\x20\x20\x20\x20\x20')['all'](b,b)['map'](c=>this['rowToMessage'](c));}['getMessageById'](a){const b=this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20*\x20FROM\x20messages\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20message_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['get'](a);if(!b)return void 0x0;return this['rowToMessage'](b);}['updateMessageId'](a,b,c){const d=this['db']['prepare']('SELECT\x20*\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['get'](a);if(!d)return![];const e=(h,i)=>{if(h!==void 0x0)return h;return i===null?void 0x0:i;},f={'messageId':b,'fromAddress':d['from_address'],'toAddress':d['to_address'],'plaintextHash':d['plaintext_hash'],'plaintext':d['plaintext']===null?void 0x0:d['plaintext'],'guardAddress':d['guard_address']===null?void 0x0:d['guard_address'],'passportAddress':d['passport_address']===null?void 0x0:d['passport_address'],'direction':d['direction'],'status':c?.['status']!==void 0x0?c['status']:d['status'],'msgType':d['msg_type'],'leafIndex':e(c?.['leafIndex'],d['leaf_index']),'prevRoot':e(c?.['prevRoot'],d['prev_root']),'newRoot':e(c?.['newRoot'],d['new_root']),'serverSignature':e(c?.['serverSignature'],d['server_signature']),'serverPublicKey':e(c?.['serverPublicKey'],d['server_public_key']),'serverTimestamp':e(c?.['serverTimestamp'],d['server_timestamp']),'arkConfirmed':d['ark_recipient']?{'recipient':d['ark_recipient'],'recipientPublicKey':d['ark_recipient_pubkey'],'signature':d['ark_signature'],'timestamp':d['ark_timestamp']}:void 0x0,'zipMetadata':d['zip_metadata']?JSON['parse'](d['zip_metadata']):void 0x0,'createdAt':d['created_at'],'receivedAt':d['received_at']===null?void 0x0:d['received_at'],'viewedAt':d['viewed_at']===null?void 0x0:d['viewed_at']},g=this['db']['transaction'](()=>{this['db']['prepare']('DELETE\x20FROM\x20messages\x20WHERE\x20message_id\x20=\x20?')['run'](a),this['saveMessage'](f);});try{return g(),!![];}catch(h){return![];}}['rowToMessage'](a){if(a['to_address']===null)throw new Error('Message\x20'+a['message_id']+'\x20has\x20null\x20toAddress');return{'messageId':a['message_id'],'fromAddress':a['from_address'],'toAddress':a['to_address'],'plaintextHash':a['plaintext_hash'],'plaintext':a['plaintext']===null?void 0x0:a['plaintext'],'guardAddress':a['guard_address']===null?void 0x0:a['guard_address'],'passportAddress':a['passport_address']===null?void 0x0:a['passport_address'],'lastReceivedLeafIndex':a['last_received_leaf_index']===null?void 0x0:a['last_received_leaf_index'],'direction':a['direction'],'status':a['status'],'msgType':a['msg_type'],'leafIndex':a['leaf_index']===null?void 0x0:a['leaf_index'],'prevRoot':a['prev_root']===null?void 0x0:a['prev_root'],'newRoot':a['new_root']===null?void 0x0:a['new_root'],'serverSignature':a['server_signature']===null?void 0x0:a['server_signature'],'serverPublicKey':a['server_public_key']===null?void 0x0:a['server_public_key'],'serverTimestamp':a['server_timestamp']===null?void 0x0:a['server_timestamp'],'arkConfirmed':a['ark_recipient']?{'recipient':a['ark_recipient'],'recipientPublicKey':a['ark_recipient_pubkey'],'signature':a['ark_signature'],'timestamp':a['ark_timestamp']}:void 0x0,'zipMetadata':a['zip_metadata']?JSON['parse'](a['zip_metadata']):void 0x0,'createdAt':a['created_at'],'receivedAt':a['received_at']===null?void 0x0:a['received_at'],'viewedAt':a['viewed_at']===null?void 0x0:a['viewed_at']};}['getLastReceivedLeafIndex'](a,b){const c=a['toLowerCase'](),d=b['toLowerCase']();return this['db']['prepare']('\x0a\x09\x09\x09\x09SELECT\x20MAX(leaf_index)\x20as\x20max_index\x0a\x09\x09\x09\x09FROM\x20messages\x0a\x09\x09\x09\x09WHERE\x20from_address\x20=\x20?\x20AND\x20to_address\x20=\x20?\x0a\x09\x09\x09\x09\x09AND\x20status\x20=\x20\x27decrypted\x27\x0a\x09\x09\x09\x09\x09AND\x20leaf_index\x20IS\x20NOT\x20NULL\x0a\x09\x09\x09')['get'](d,c)?.['max_index']??-0x1;}},SessionStateStorage=class{constructor(a){this['userAddress']=a;}get['db'](){return getDatabase(this['userAddress']);}['getSessionId'](a,b){const c=[a,b]['sort']();return c[0x0]+':'+c[0x1];}['getSessionState'](a,b){const c=this['getSessionId'](a,b),d=this['db']['prepare']('SELECT\x20*\x20FROM\x20session_states\x20WHERE\x20session_id\x20=\x20?')['get'](c);if(!d)return void 0x0;return{'sessionId':d['session_id'],'myAddress':d['my_address'],'peerAddress':d['peer_address'],'currentRoot':d['current_root'],'prevRoot':d['prev_root'],'messageCount':d['message_count'],'lastLeafIndex':d['last_leaf_index'],'lastConfirmedHash':d['last_confirmed_hash']===null?'':d['last_confirmed_hash'],'lastSyncAt':d['last_sync_at']===null?0x0:d['last_sync_at'],'createdAt':d['created_at'],'updatedAt':d['updated_at']};}['updateSessionState'](a,b,c){const d=this['getSessionId'](a,b),e=this['getSessionState'](a,b),f=Date['now']();if(e){const g={...e,...c,'updatedAt':f};this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20UPDATE\x20session_states\x20SET\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20current_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prev_root\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_leaf_index\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_confirmed_hash\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20last_sync_at\x20=\x20?,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20session_id\x20=\x20?\x0a\x20\x20\x20\x20\x20\x20')['run'](g['currentRoot'],g['prevRoot'],g['messageCount'],g['lastLeafIndex'],g['lastConfirmedHash'],g['lastSyncAt'],g['updatedAt'],d);}else{const h='0'['repeat'](0x40);this['db']['prepare']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20session_states\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20session_id,\x20my_address,\x20peer_address,\x20current_root,\x20prev_root,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20message_count,\x20last_leaf_index,\x20last_confirmed_hash,\x20last_sync_at,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at,\x20updated_at\x0a\x20\x20\x20\x20\x20\x20\x20\x20)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?,\x20?)\x0a\x20\x20\x20\x20\x20\x20')['run'](d,a,b,c['currentRoot']??h,c['prevRoot']??h,c['messageCount']??0x0,c['lastLeafIndex']??0x0,c['lastConfirmedHash']??'',c['lastSyncAt']??0x0,f,f);}}['getCurrentRoot'](a,b){return this['getSessionState'](a,b)?.['currentRoot']??'0'['repeat'](0x40);}},MessengerPersistStorage=class{constructor(){this['initialized']=![];}get['db'](){const a=getGlobalDatabase();return!this['initialized']&&(this['initTable'](a),this['initialized']=!![]),a;}['initTable'](a){a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20messenger_manager_state\x20(\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09state_data\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09updated_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messenger_state_updated\x20ON\x20messenger_manager_state(updated_at);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_sse_lock_heartbeat\x20ON\x20sse_connection_locks(last_heartbeat);\x0a\x09\x09'),a['exec']('\x0a\x09\x09\x09CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09account_address\x20TEXT\x20PRIMARY\x20KEY,\x0a\x09\x09\x09\x09process_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09instance_id\x20TEXT\x20NOT\x20NULL,\x0a\x09\x09\x09\x09last_heartbeat\x20INTEGER\x20NOT\x20NULL,\x0a\x09\x09\x09\x09created_at\x20INTEGER\x20NOT\x20NULL\x0a\x09\x09\x09);\x0a\x09\x09\x09CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_polling_lock_heartbeat\x20ON\x20polling_connection_locks(last_heartbeat);\x0a\x09\x09');}['saveState'](a,b){const c=JSON['stringify'](b),d=Date['now']();this['db']['prepare']('\x0a\x09\x09\x09\x09INSERT\x20INTO\x20messenger_manager_state\x20(instance_id,\x20state_data,\x20updated_at)\x0a\x09\x09\x09\x09VALUES\x20(?,\x20?,\x20?)\x0a\x09\x09\x09\x09ON\x20CONFLICT(instance_id)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09state_data\x20=\x20excluded.state_data,\x0a\x09\x09\x09\x09\x09updated_at\x20=\x20excluded.updated_at\x0a\x09\x09\x09')['run'](a,c,d);}['loadState'](a){const b=this['db']['prepare']('SELECT\x20state_data\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['get'](a);if(!b?.['state_data'])return null;try{return JSON['parse'](b['state_data']);}catch(c){return null;}}['deleteState'](a){this['db']['prepare']('DELETE\x20FROM\x20messenger_manager_state\x20WHERE\x20instance_id\x20=\x20?')['run'](a);}['getAllInstanceIds'](){return this['db']['prepare']('SELECT\x20instance_id\x20FROM\x20messenger_manager_state\x20ORDER\x20BY\x20updated_at\x20DESC')['all']()['map'](a=>a['instance_id']);}get['processId'](){return'pid_'+process['pid']+'_'+Date['now']();}['tryAcquireSSELock'](a,b){const c=Date['now'](),d=0x3a98,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20sse_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updateSSELockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20sse_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releaseSSELock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsSSELock'](a,b){return!!this['db']['prepare']('SELECT\x20*\x20FROM\x20sse_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);}['tryAcquirePollingLock'](a,b){const c=Date['now'](),d=0xea60,e=this['db']['transaction'](()=>{const f=this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?')['get'](a['toLowerCase']());if(f){if(f['instance_id']===b)return this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?')['run'](c,a['toLowerCase']()),!![];if(c-f['last_heartbeat']<d)return![];}return this['db']['prepare']('\x0a\x09\x09\x09\x09\x09INSERT\x20INTO\x20polling_connection_locks\x20(\x0a\x09\x09\x09\x09\x09\x09account_address,\x20process_id,\x20instance_id,\x20last_heartbeat,\x20created_at\x0a\x09\x09\x09\x09\x09)\x20VALUES\x20(?,\x20?,\x20?,\x20?,\x20?)\x0a\x09\x09\x09\x09\x09ON\x20CONFLICT(account_address)\x20DO\x20UPDATE\x20SET\x0a\x09\x09\x09\x09\x09\x09process_id\x20=\x20excluded.process_id,\x0a\x09\x09\x09\x09\x09\x09instance_id\x20=\x20excluded.instance_id,\x0a\x09\x09\x09\x09\x09\x09last_heartbeat\x20=\x20excluded.last_heartbeat\x0a\x09\x09\x09\x09')['run'](a['toLowerCase'](),this['processId'],b,c,c),!![];});try{return e();}catch(f){return![];}}['updatePollingLockHeartbeat'](a,b){const c=Date['now']();try{this['db']['prepare']('UPDATE\x20polling_connection_locks\x20SET\x20last_heartbeat\x20=\x20?\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](c,a['toLowerCase'](),b);}catch(d){}}['releasePollingLock'](a,b){try{this['db']['prepare']('DELETE\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['run'](a['toLowerCase'](),b);}catch(c){}}['holdsPollingLock'](a,b){return!!this['db']['prepare']('SELECT\x20*\x20FROM\x20polling_connection_locks\x20WHERE\x20account_address\x20=\x20?\x20AND\x20instance_id\x20=\x20?')['get'](a['toLowerCase'](),b);}};const defaultPersistStorage=new MessengerPersistStorage();export{MessageStorage,MessengerPersistStorage,SessionStateStorage,SignalProtocolStorage,defaultPersistStorage,getDatabase,resetDbConnection};
@@ -1,2 +1,2 @@
1
- import { $i as ZipMetadata, $r as MessageTimeField, Ai as SseNewMessageEvent, Ar as DEFAULT_MESSENGER_CONFIG, Bi as WtsFileResult, Br as GetSettingsResponse, Ci as SignedRequestBase, Cr as ChainProofResponse, Di as SseEventType, Dr as ConversationInfo, Ei as SseEvent, Er as ContactListsSyncResult, Fi as UploadPreKeysResponse, Fr as ExistListRequest, Gi as WtsRange, Gr as MerkleProof, Hi as WtsMessage, Hr as ListOperationResponse, Ii as WTS_FILE_BYTES_LIMIT, Ir as FailedPrekeyInfo, Ji as WtsSignature, Jr as MessageDirection, Ki as WtsServerPublicKey, Kr as Message, Li as WTS_MAX_MESSAGE_COUNT, Lr as FetchMessagesRequest, Mi as TimeRange, Mr as DecryptedMessage, Ni as UpdateSettingsRequest, Nr as Empty, Oi as SseGuardConfirmedEvent, Or as ConversationsFilter, Pi as UploadPreKeysRequest, Pr as EventStreamParams, Qi as ZipContentType, Qr as MessageStatus, Ri as WTS_SCHEMA_URL, Rr as GetBundleParams, Si as SignedRequest, Sr as ChainProofRequest, Ti as SseCustomEvent, Tr as ContactLists, Ui as WtsMeta, Ur as MAX_QUERY_LIMIT, Vi as WtsGenerationParams, Vr as GuardListItem, Wi as WtsPayload, Wr as MerkleMetadata, Xi as WtsToHtmlOptions, Xr as MessageIdRange, Yi as WtsSignatureVerification, Yr as MessageFilter, Zi as WtsVerificationResult, Zr as MessageListResult, _i as SeqIndexRange, _r as AddListRequest, ai as PQPreKeyPublic, bi as ServerRegisterResponse, br as CHAIN_PROOF_TYPE, ci as PreKeyStatus, di as RemoteBundle, ei as MessageType, fi as RemoveListRequest, gi as SendMessageResult, gr as AddGuardListRequest, hi as SendMessageResponse, ii as NORMAL_MESSAGE_BYTES_LIMIT, ji as SsePreKeyLowEvent, jr as DEFAULT_QUERY_LIMIT, ki as SseGuardRejectedEvent, kr as DEFAULT_DEVICE_ID, li as PullMessagesResponse, mi as SendMessageRequest, ni as MessengerError, oi as PlaintextMessage, pi as SERVER_URL, qi as WtsSession, qr as MessageContentType, ri as MessengerErrorCode, si as PreKeyPublic, ti as MessengerConfig, ui as RangeType, vi as ServerMessage, vr as AddressExistence, wi as SseArkConfirmedEvent, wr as ClearListRequest, xi as SessionState, xr as CURRENT_NETWORK, yi as ServerRegisterRequest, yr as BaseRange, zi as WtsFile, zr as GetSettingsRequest } from "../../index-D5-7_Kub.mjs";
1
+ import { $n as AddListRequest, $r as SeqIndexRange, Ai as WtsSignature, Ar as MessageDirection, Br as NORMAL_MESSAGE_BYTES_LIMIT, Ci as WtsGenerationParams, Cr as GuardListItem, Di as WtsRange, Dr as MerkleProof, Ei as WtsPayload, Er as MerkleMetadata, Fi as ZipMetadata, Fr as MessageTimeField, Gr as PullMessagesResponse, Hr as PlaintextMessage, Ir as MessageType, Jr as RemoveListRequest, Kr as RangeType, Lr as MessengerConfig, Mi as WtsToHtmlOptions, Mr as MessageIdRange, Ni as WtsVerificationResult, Nr as MessageListResult, Oi as WtsServerPublicKey, Or as Message, Pi as ZipContentType, Pr as MessageStatus, Qn as AddGuardListRequest, Qr as SendMessageResult, Rr as MessengerError, Si as WtsFileResult, Sr as GetSettingsResponse, Ti as WtsMeta, Tr as MAX_QUERY_LIMIT, Ur as PreKeyPublic, Vr as PQPreKeyPublic, Wr as PreKeyStatus, Xr as SendMessageRequest, Yr as SERVER_URL, Zr as SendMessageResponse, _i as UploadPreKeysResponse, _r as ExistListRequest, ai as SignedRequestBase, ar as ChainProofResponse, bi as WTS_SCHEMA_URL, br as GetBundleParams, ci as SseEvent, cr as ContactListsSyncResult, di as SseGuardRejectedEvent, dr as DEFAULT_DEVICE_ID, ei as ServerMessage, er as AddressExistence, fi as SseNewMessageEvent, fr as DEFAULT_MESSENGER_CONFIG, gi as UploadPreKeysRequest, gr as EventStreamParams, hi as UpdateSettingsRequest, hr as Empty, ii as SignedRequest, ir as ChainProofRequest, ji as WtsSignatureVerification, jr as MessageFilter, ki as WtsSession, kr as MessageContentType, li as SseEventType, lr as ConversationInfo, mi as TimeRange, mr as DecryptedMessage, ni as ServerRegisterResponse, nr as CHAIN_PROOF_TYPE, oi as SseArkConfirmedEvent, or as ClearListRequest, pi as SsePreKeyLowEvent, pr as DEFAULT_QUERY_LIMIT, qr as RemoteBundle, ri as SessionState, rr as CURRENT_NETWORK, si as SseCustomEvent, sr as ContactLists, ti as ServerRegisterRequest, tr as BaseRange, ui as SseGuardConfirmedEvent, ur as ConversationsFilter, vi as WTS_FILE_BYTES_LIMIT, vr as FailedPrekeyInfo, wi as WtsMessage, wr as ListOperationResponse, xi as WtsFile, xr as GetSettingsRequest, yi as WTS_MAX_MESSAGE_COUNT, yr as FetchMessagesRequest, zr as MessengerErrorCode } from "../../index-DQzZu-2W.mjs";
2
2
  export { AddGuardListRequest, AddListRequest, AddressExistence, BaseRange, CHAIN_PROOF_TYPE, CURRENT_NETWORK, ChainProofRequest, ChainProofResponse, ClearListRequest, ContactLists, ContactListsSyncResult, ConversationInfo, ConversationsFilter, DEFAULT_DEVICE_ID, DEFAULT_MESSENGER_CONFIG, DEFAULT_QUERY_LIMIT, DecryptedMessage, Empty, EventStreamParams, ExistListRequest, FailedPrekeyInfo, FetchMessagesRequest, GetBundleParams, GetSettingsRequest, GetSettingsResponse, GuardListItem, ListOperationResponse, MAX_QUERY_LIMIT, MerkleMetadata, MerkleProof, Message, MessageContentType, MessageDirection, MessageFilter, MessageIdRange, MessageListResult, MessageStatus, MessageTimeField, MessageType, MessengerConfig, MessengerError, MessengerErrorCode, NORMAL_MESSAGE_BYTES_LIMIT, PQPreKeyPublic, PlaintextMessage, PreKeyPublic, PreKeyStatus, PullMessagesResponse, RangeType, RemoteBundle, RemoveListRequest, SERVER_URL, SendMessageRequest, SendMessageResponse, SendMessageResult, SeqIndexRange, ServerMessage, ServerRegisterRequest, ServerRegisterResponse, SessionState, SignedRequest, SignedRequestBase, SseArkConfirmedEvent, SseCustomEvent, SseEvent, SseEventType, SseGuardConfirmedEvent, SseGuardRejectedEvent, SseNewMessageEvent, SsePreKeyLowEvent, TimeRange, UpdateSettingsRequest, UploadPreKeysRequest, UploadPreKeysResponse, WTS_FILE_BYTES_LIMIT, WTS_MAX_MESSAGE_COUNT, WTS_SCHEMA_URL, WtsFile, WtsFileResult, WtsGenerationParams, WtsMessage, WtsMeta, WtsPayload, WtsRange, WtsServerPublicKey, WtsSession, WtsSignature, WtsSignatureVerification, WtsToHtmlOptions, WtsVerificationResult, ZipContentType, ZipMetadata };
@@ -1,2 +1,2 @@
1
- import { $d as TreasuryOp, $u as ObjectArbitration, Ad as PurchasedItem, Af as queryTableItem_RewardRecord, Au as Amount, Bd as TableAnswerItem, Bu as GuardSubmission, Cd as ObjectsQuery, Cf as queryTableItem_DemandPresenter, Cm as ReceivedBalance, Dd as PolicyWriteGuard, Df as queryTableItem_PermissionPerm, Dm as ReceivedObjects, Du as AllocationSharing, Ed as PolicyRule, Ef as queryTableItem_MachineNode, Em as ReceivedNormal, Eu as AllocationMode, Fd as QueryTableItem_byU64, Ff as query_table, Fu as ArbProposition, Gd as TableItem_EntityRegistrar, Gu as MachineForward, Hd as TableItem_AddressMark, Hu as IdFromInput, Id as RewardGuard, If as query_tableItem, Iu as ArbStatus, Jd as TableItem_ProgressHistory, Ju as MachineNodePair, Kd as TableItem_MachineNode, Ku as MachineForwardGuard, Ld as ServiceGuard, Lf as query_table_json, Lu as ArbVoted, Md as QueryTableItem_byAddress, Mf as query_objects, Mu as AmountFromWithdrawGuard, Nd as QueryTableItem_byNameAddress, Nf as query_objects_json, Nu as AmountType, Od as ProgressSession, Of as queryTableItem_ProgressHistory, Om as ReceivedObjectsOrRecently, Ou as Allocator, Pd as QueryTableItem_byString, Pf as query_personal, Pu as ArbIndemnity, Qd as TableQuery, Qu as ObjectArb, Rd as ServiceSale, Rf as raw2type, Ru as DiscountType, Sd as ObjectsAnswer, Sf as queryTableItem_AddressMark, Sm as QueryReceived, Td as PersonalQuery, Tf as queryTableItem_EntityRegistrar, Tm as ReceivedBalanceOrRecently, Ud as TableItem_DemandPresenter, Uh as ObjectType, Uu as Im, Vd as TableItemQuery, Vu as IdFrom, Wd as TableItem_EntityLinker, Wu as MAX_OBJECTS_PER_QUERY, Xd as TableItem_RewardRecord, Xu as OBJECT_TYPE_DEFINITIONS, Yd as TableItem_RepositoryData, Yu as NamedOperator, Zd as TableItem_TreasuryHistory, Zu as ObjectAllocation, _a as query_events_json, _d as ObjectResource, _f as idFromToString, aa as ArbEvent, ad as ObjectEntityLinker, af as WitnessTargetType, bd as ObjectTreasury, bf as objectTypeToNumber, ca as EventAnswer, cd as ObjectMachine, cf as getMoveNameFromObjectType, da as EventQuery, dd as ObjectPayment, df as getNumbersFromObjectTypes, ea as INFO_CONSTANT, ed as ObjectBase, ef as TreasuryRecord, fa as EventType, fd as ObjectPermission, ff as getObjectTypeDefinition, ga as query_events, gd as ObjectRepository, gf as getObjectTypesFromNumbers, ha as ProgressEvent, hd as ObjectProof, hf as getObjectTypeFromNumber, ia as queryProtocolInfo, id as ObjectEntity, if as WitnessSourceType, jd as QueryTableItem_Entity, jf as queryTableItem_TreasuryHistory, ju as AmountFromDepositGuard, kd as ProgressSessionHolder, kf as queryTableItem_RepositoryData, km as query_received, ku as Allocators, la as EventBase, ld as ObjectOrder, lf as getNumberFromMoveName, ma as NewOrderEvent, md as ObjectProgress, mf as getObjectTypeFromMoveName, na as ProtocolInfoResult, nd as ObjectDemand, nf as VotingGuard, oa as DemandFeedbackEvent, od as ObjectEntityRegistrar, of as data2object, pa as NewEntityEvent, pd as ObjectPersonal, pf as getObjectTypeDefinitionFromNumber, qd as TableItem_PermissionPerm, qu as MachineNode, ra as queryPermissions, rd as ObjectDiscount, rf as WReceivedObject, sa as DemandPresentEvent, sd as ObjectGuard, sf as getMoveNameFromNumber, ta as ProtocolInfoQuery, td as ObjectContact, tf as VoteWeight, ua as EventCursor, ud as ObjectPassport, uf as getNumberFromObjectType, va as queryObjectWithType, vd as ObjectReward, vf as isValidIdFromInput, wd as PaymentInfo, wf as queryTableItem_EntityLinker, wm as ReceivedBalanceObject, xd as ObjectTypeDefinition, xf as parseIdFrom, ya as queryObjectsWithType, yd as ObjectService, yf as numberToObjectType, zd as TableAnswer, zu as GuardInPassport } from "../../index-D5-7_Kub.mjs";
1
+ import { $d as TreasuryOp, $u as ObjectArbitration, Ad as PurchasedItem, Af as queryTableItem_RewardRecord, Au as Amount, Bd as TableAnswerItem, Bi as queryProtocolInfo, Bu as GuardSubmission, Cd as ObjectsQuery, Cf as queryTableItem_DemandPresenter, Cm as ReceivedBalance, Dd as PolicyWriteGuard, Df as queryTableItem_PermissionPerm, Dm as ReceivedObjects, Du as AllocationSharing, Ed as PolicyRule, Ef as queryTableItem_MachineNode, Em as ReceivedNormal, Eu as AllocationMode, Fd as QueryTableItem_byU64, Ff as query_table, Fu as ArbProposition, Gd as TableItem_EntityRegistrar, Gu as MachineForward, Hd as TableItem_AddressMark, Hu as IdFromInput, Id as RewardGuard, If as query_tableItem, Ii as INFO_CONSTANT, Iu as ArbStatus, Jd as TableItem_ProgressHistory, Ju as MachineNodePair, Kd as TableItem_MachineNode, Ku as MachineForwardGuard, Ld as ServiceGuard, Lf as query_table_json, Li as ProtocolInfoQuery, Lu as ArbVoted, Md as QueryTableItem_byAddress, Mf as query_objects, Mu as AmountFromWithdrawGuard, Nd as QueryTableItem_byNameAddress, Nf as query_objects_json, Nu as AmountType, Od as ProgressSession, Of as queryTableItem_ProgressHistory, Om as ReceivedObjectsOrRecently, Ou as Allocator, Pd as QueryTableItem_byString, Pf as query_personal, Pu as ArbIndemnity, Qd as TableQuery, Qu as ObjectArb, Rd as ServiceSale, Rf as raw2type, Ri as ProtocolInfoResult, Ru as DiscountType, Sd as ObjectsAnswer, Sf as queryTableItem_AddressMark, Sm as QueryReceived, Td as PersonalQuery, Tf as queryTableItem_EntityRegistrar, Tm as ReceivedBalanceOrRecently, Ud as TableItem_DemandPresenter, Uh as ObjectType, Uu as Im, Vd as TableItemQuery, Vu as IdFrom, Wd as TableItem_EntityLinker, Wu as MAX_OBJECTS_PER_QUERY, Xd as TableItem_RewardRecord, Xu as OBJECT_TYPE_DEFINITIONS, Yd as TableItem_RepositoryData, Yu as NamedOperator, Zd as TableItem_TreasuryHistory, Zu as ObjectAllocation, _a as query_events_json, _d as ObjectResource, _f as idFromToString, aa as ArbEvent, ad as ObjectEntityLinker, af as WitnessTargetType, bd as ObjectTreasury, bf as objectTypeToNumber, ca as EventAnswer, cd as ObjectMachine, cf as getMoveNameFromObjectType, da as EventQuery, dd as ObjectPayment, df as getNumbersFromObjectTypes, ed as ObjectBase, ef as TreasuryRecord, fa as EventType, fd as ObjectPermission, ff as getObjectTypeDefinition, ga as query_events, gd as ObjectRepository, gf as getObjectTypesFromNumbers, ha as ProgressEvent, hd as ObjectProof, hf as getObjectTypeFromNumber, id as ObjectEntity, if as WitnessSourceType, jd as QueryTableItem_Entity, jf as queryTableItem_TreasuryHistory, ju as AmountFromDepositGuard, kd as ProgressSessionHolder, kf as queryTableItem_RepositoryData, km as query_received, ku as Allocators, la as EventBase, ld as ObjectOrder, lf as getNumberFromMoveName, ma as NewOrderEvent, md as ObjectProgress, mf as getObjectTypeFromMoveName, nd as ObjectDemand, nf as VotingGuard, oa as DemandFeedbackEvent, od as ObjectEntityRegistrar, of as data2object, pa as NewEntityEvent, pd as ObjectPersonal, pf as getObjectTypeDefinitionFromNumber, qd as TableItem_PermissionPerm, qu as MachineNode, rd as ObjectDiscount, rf as WReceivedObject, sa as DemandPresentEvent, sd as ObjectGuard, sf as getMoveNameFromNumber, td as ObjectContact, tf as VoteWeight, ua as EventCursor, ud as ObjectPassport, uf as getNumberFromObjectType, va as queryObjectWithType, vd as ObjectReward, vf as isValidIdFromInput, wd as PaymentInfo, wf as queryTableItem_EntityLinker, wm as ReceivedBalanceObject, xd as ObjectTypeDefinition, xf as parseIdFrom, ya as queryObjectsWithType, yd as ObjectService, yf as numberToObjectType, zd as TableAnswer, zi as queryPermissions, zu as GuardInPassport } from "../../index-DQzZu-2W.mjs";
2
2
  export { AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbEvent, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, DemandFeedbackEvent, DemandPresentEvent, DiscountType, EventAnswer, EventBase, EventCursor, EventQuery, EventType, GuardInPassport, GuardSubmission, INFO_CONSTANT, IdFrom, IdFromInput, Im, MAX_OBJECTS_PER_QUERY, MachineForward, MachineForwardGuard, MachineNode, MachineNodePair, NamedOperator, NewEntityEvent, NewOrderEvent, OBJECT_TYPE_DEFINITIONS, ObjectAllocation, ObjectArb, ObjectArbitration, ObjectBase, ObjectContact, ObjectDemand, ObjectDiscount, ObjectEntity, ObjectEntityLinker, ObjectEntityRegistrar, ObjectGuard, ObjectMachine, ObjectOrder, ObjectPassport, ObjectPayment, ObjectPermission, ObjectPersonal, ObjectProgress, ObjectProof, ObjectRepository, ObjectResource, ObjectReward, ObjectService, ObjectTreasury, ObjectType, ObjectTypeDefinition, ObjectsAnswer, ObjectsQuery, PaymentInfo, PersonalQuery, PolicyRule, PolicyWriteGuard, ProgressEvent, ProgressSession, ProgressSessionHolder, ProtocolInfoQuery, ProtocolInfoResult, PurchasedItem, QueryReceived, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, ReceivedBalance, ReceivedBalanceObject, ReceivedBalanceOrRecently, ReceivedNormal, ReceivedObjects, ReceivedObjectsOrRecently, RewardGuard, ServiceGuard, ServiceSale, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityLinker, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TreasuryOp, TreasuryRecord, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeToNumber, parseIdFrom, queryObjectWithType, queryObjectsWithType, queryPermissions, queryProtocolInfo, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityLinker, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_TreasuryHistory, query_events, query_events_json, query_objects, query_objects_json, query_personal, query_received, query_table, query_tableItem, query_table_json, raw2type };
@@ -1 +1 @@
1
- import{t as a102a}from'../../client-D6nQHb4K.mjs';import{n as a102b}from'../../network-CeDd07Hg.mjs';import{A as a102c,D as a102d,E as a102e,M as a102f,a as a102g,j as a102h,n as a102i,o as a102j,s as a102k}from'../../common-CQggZ8z4.mjs';import{Cache}from'../local/cache.mjs';import{Config}from'../local/config.mjs';import{A as a102l,B as a102m,C as a102n,D as a102o,E as a102p,F as a102q,H as a102r,I as a102s,L as a102t,M as a102u,N as a102v,O as a102w,P as a102x,R as a102y,S as a102z,T as a102A,U as a102B,V as a102C,X as a102D,_ as a102E,a as a102F,b as a102G,c as a102H,d as a102I,f as a102J,g as a102K,h as a102L,i as a102M,j as a102N,k as a102O,l as a102P,m as a102Q,n as a102R,o as a102S,p as a102T,r as a102U,s as a102V,t as a102W,u as a102X,v as a102Y,w as a102Z,x as a102a0,y as a102a1,z as a102a2}from'../../object-BTDJEtwG.mjs';import{t as a102a3}from'../../received-CJvBDSIl.mjs';import{query_permissions}from'../call/permission.mjs';import{n as a102a4,t as a102a5}from'../../util-YC562UOE.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 a102a({'url':a102b(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']};},INFO_CONSTANT={'type':'constants','constants':[{'name':'Protocol\x20Package\x20ID','value':'0x2','description':'Protocol\x20package\x20ID'},{'name':'Gas\x20Token\x20Type','value':a102k,'description':'Gas\x20token\x20type'},{'name':'Gas\x20Coin\x20Type','value':a102j,'description':'Gas\x20coin\x20type'},{'name':'Entity\x20Linker\x20ID','value':a102c,'description':'Entity\x20Linker\x20ID'},{'name':'Entity\x20Registrar\x20ID','value':a102g,'description':'Entity\x20registrar\x20ID'}],'value_types':Object['entries'](a102h)['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'](a102e)['map'](a=>({'name':a,'value':a,'description':'Object\x20type\x20'+a})),'guard_instructions':Object['values'](a102d)['map'](a=>({'name':a,'value':a,'description':'Guard\x20instruction\x20'+a})),'guard_contexts':Object['values'](a102i)['map'](a=>({'name':a,'value':a,'description':'Guard\x20context\x20'+a})),'guard_witnesses':Object['values'](a102f)['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':a102D(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']};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');}}function queryPermissions(a){return query_permissions(a);}export{a102W as AllocationMode,a102R as AmountType,a102U as ArbStatus,a102M as DiscountType,INFO_CONSTANT,a102F as IdFrom,a102S as MAX_OBJECTS_PER_QUERY,a102V as OBJECT_TYPE_DEFINITIONS,a102e as ObjectType,a102H as TreasuryOp,a102P as WitnessSourceType,a102X as WitnessTargetType,a102I as data2object,a102J as getMoveNameFromNumber,a102T as getMoveNameFromObjectType,a102Q as getNumberFromMoveName,a102L as getNumberFromObjectType,a102K as getNumbersFromObjectTypes,a102E as getObjectTypeDefinition,a102Y as getObjectTypeDefinitionFromNumber,a102a1 as getObjectTypeFromMoveName,a102G as getObjectTypeFromNumber,a102a0 as getObjectTypesFromNumbers,a102z as idFromToString,a102n as isValidIdFromInput,a102Z as numberToObjectType,a102A as objectTypeToNumber,a102p as parseIdFrom,a102a5 as queryObjectWithType,a102a4 as queryObjectsWithType,queryPermissions,queryProtocolInfo,a102o as queryTableItem_AddressMark,a102w as queryTableItem_DemandPresenter,a102O as queryTableItem_EntityLinker,a102l as queryTableItem_EntityRegistrar,a102N as queryTableItem_MachineNode,a102u as queryTableItem_PermissionPerm,a102v as queryTableItem_ProgressHistory,a102x as queryTableItem_RepositoryData,a102q as queryTableItem_RewardRecord,a102s as queryTableItem_TreasuryHistory,query_events,query_events_json,a102t as query_objects,a102y as query_objects_json,a102a2 as query_personal,a102a3 as query_received,a102m as query_table,a102C as query_tableItem,a102r as query_table_json,a102B as raw2type};
1
+ import{E as a103a}from'../../common-CQggZ8z4.mjs';import{A as a103b,B as a103c,C as a103d,D as a103e,E as a103f,F as a103g,H as a103h,I as a103i,L as a103j,M as a103k,N as a103l,O as a103m,P as a103n,R as a103o,S as a103p,T as a103q,U as a103r,V as a103s,_ as a103t,a as a103u,b as a103v,c as a103w,d as a103x,f as a103y,g as a103z,h as a103A,i as a103B,j as a103C,k as a103D,l as a103E,m as a103F,n as a103G,o as a103H,p as a103I,r as a103J,s as a103K,t as a103L,u as a103M,v as a103N,w as a103O,x as a103P,y as a103Q,z as a103R}from'../../object-BZ_iF8UV.mjs';import{t as a103S}from'../../received-CLkbwKVD.mjs';import{n as a103T,t as a103U}from'../../util-DBKo02vY.mjs';import{b as a103V,n as a103W,r as a103X,t as a103Y,x as a103Z}from'../../query-C21BX7t1.mjs';export{a103L as AllocationMode,a103G as AmountType,a103J as ArbStatus,a103B as DiscountType,a103Y as INFO_CONSTANT,a103u as IdFrom,a103H as MAX_OBJECTS_PER_QUERY,a103K as OBJECT_TYPE_DEFINITIONS,a103a as ObjectType,a103w as TreasuryOp,a103E as WitnessSourceType,a103M as WitnessTargetType,a103x as data2object,a103y as getMoveNameFromNumber,a103I as getMoveNameFromObjectType,a103F as getNumberFromMoveName,a103A as getNumberFromObjectType,a103z as getNumbersFromObjectTypes,a103t as getObjectTypeDefinition,a103N as getObjectTypeDefinitionFromNumber,a103Q as getObjectTypeFromMoveName,a103v as getObjectTypeFromNumber,a103P as getObjectTypesFromNumbers,a103p as idFromToString,a103d as isValidIdFromInput,a103O as numberToObjectType,a103q as objectTypeToNumber,a103f as parseIdFrom,a103U as queryObjectWithType,a103T as queryObjectsWithType,a103W as queryPermissions,a103X as queryProtocolInfo,a103e as queryTableItem_AddressMark,a103m as queryTableItem_DemandPresenter,a103D as queryTableItem_EntityLinker,a103b as queryTableItem_EntityRegistrar,a103C as queryTableItem_MachineNode,a103k as queryTableItem_PermissionPerm,a103l as queryTableItem_ProgressHistory,a103n as queryTableItem_RepositoryData,a103g as queryTableItem_RewardRecord,a103i as queryTableItem_TreasuryHistory,a103V as query_events,a103Z as query_events_json,a103j as query_objects,a103o as query_objects_json,a103R as query_personal,a103S as query_received,a103c as query_table,a103s as query_tableItem,a103h as query_table_json,a103r as raw2type};
@@ -1,2 +1,2 @@
1
- import { $d as TreasuryOp, $u as ObjectArbitration, Ad as PurchasedItem, Af as queryTableItem_RewardRecord, Au as Amount, Bd as TableAnswerItem, Bu as GuardSubmission, Cd as ObjectsQuery, Cf as queryTableItem_DemandPresenter, Dd as PolicyWriteGuard, Df as queryTableItem_PermissionPerm, Du as AllocationSharing, Ed as PolicyRule, Ef as queryTableItem_MachineNode, Eu as AllocationMode, Fd as QueryTableItem_byU64, Ff as query_table, Fu as ArbProposition, Gd as TableItem_EntityRegistrar, Gu as MachineForward, Hd as TableItem_AddressMark, Hu as IdFromInput, Id as RewardGuard, If as query_tableItem, Iu as ArbStatus, Jd as TableItem_ProgressHistory, Ju as MachineNodePair, Kd as TableItem_MachineNode, Ku as MachineForwardGuard, Ld as ServiceGuard, Lf as query_table_json, Lu as ArbVoted, Md as QueryTableItem_byAddress, Mf as query_objects, Mu as AmountFromWithdrawGuard, Nd as QueryTableItem_byNameAddress, Nf as query_objects_json, Nu as AmountType, Od as ProgressSession, Of as queryTableItem_ProgressHistory, Ou as Allocator, Pd as QueryTableItem_byString, Pf as query_personal, Pu as ArbIndemnity, Qd as TableQuery, Qu as ObjectArb, Rd as ServiceSale, Rf as raw2type, Ru as DiscountType, Sd as ObjectsAnswer, Sf as queryTableItem_AddressMark, Td as PersonalQuery, Tf as queryTableItem_EntityRegistrar, Ud as TableItem_DemandPresenter, Uh as ObjectType, Uu as Im, Vd as TableItemQuery, Vu as IdFrom, Wd as TableItem_EntityLinker, Wu as MAX_OBJECTS_PER_QUERY, Xd as TableItem_RewardRecord, Xu as OBJECT_TYPE_DEFINITIONS, Yd as TableItem_RepositoryData, Yu as NamedOperator, Zd as TableItem_TreasuryHistory, Zu as ObjectAllocation, _d as ObjectResource, _f as idFromToString, ad as ObjectEntityLinker, af as WitnessTargetType, bd as ObjectTreasury, bf as objectTypeToNumber, cd as ObjectMachine, cf as getMoveNameFromObjectType, dd as ObjectPayment, df as getNumbersFromObjectTypes, ed as ObjectBase, ef as TreasuryRecord, fd as ObjectPermission, ff as getObjectTypeDefinition, gd as ObjectRepository, gf as getObjectTypesFromNumbers, hd as ObjectProof, hf as getObjectTypeFromNumber, id as ObjectEntity, if as WitnessSourceType, jd as QueryTableItem_Entity, jf as queryTableItem_TreasuryHistory, ju as AmountFromDepositGuard, kd as ProgressSessionHolder, kf as queryTableItem_RepositoryData, ku as Allocators, ld as ObjectOrder, lf as getNumberFromMoveName, md as ObjectProgress, mf as getObjectTypeFromMoveName, nd as ObjectDemand, nf as VotingGuard, od as ObjectEntityRegistrar, of as data2object, pd as ObjectPersonal, pf as getObjectTypeDefinitionFromNumber, qd as TableItem_PermissionPerm, qu as MachineNode, rd as ObjectDiscount, rf as WReceivedObject, sd as ObjectGuard, sf as getMoveNameFromNumber, td as ObjectContact, tf as VoteWeight, ud as ObjectPassport, uf as getNumberFromObjectType, vd as ObjectReward, vf as isValidIdFromInput, wd as PaymentInfo, wf as queryTableItem_EntityLinker, xd as ObjectTypeDefinition, xf as parseIdFrom, yd as ObjectService, yf as numberToObjectType, zd as TableAnswer, zu as GuardInPassport } from "../../index-D5-7_Kub.mjs";
1
+ import { $d as TreasuryOp, $u as ObjectArbitration, Ad as PurchasedItem, Af as queryTableItem_RewardRecord, Au as Amount, Bd as TableAnswerItem, Bu as GuardSubmission, Cd as ObjectsQuery, Cf as queryTableItem_DemandPresenter, Dd as PolicyWriteGuard, Df as queryTableItem_PermissionPerm, Du as AllocationSharing, Ed as PolicyRule, Ef as queryTableItem_MachineNode, Eu as AllocationMode, Fd as QueryTableItem_byU64, Ff as query_table, Fu as ArbProposition, Gd as TableItem_EntityRegistrar, Gu as MachineForward, Hd as TableItem_AddressMark, Hu as IdFromInput, Id as RewardGuard, If as query_tableItem, Iu as ArbStatus, Jd as TableItem_ProgressHistory, Ju as MachineNodePair, Kd as TableItem_MachineNode, Ku as MachineForwardGuard, Ld as ServiceGuard, Lf as query_table_json, Lu as ArbVoted, Md as QueryTableItem_byAddress, Mf as query_objects, Mu as AmountFromWithdrawGuard, Nd as QueryTableItem_byNameAddress, Nf as query_objects_json, Nu as AmountType, Od as ProgressSession, Of as queryTableItem_ProgressHistory, Ou as Allocator, Pd as QueryTableItem_byString, Pf as query_personal, Pu as ArbIndemnity, Qd as TableQuery, Qu as ObjectArb, Rd as ServiceSale, Rf as raw2type, Ru as DiscountType, Sd as ObjectsAnswer, Sf as queryTableItem_AddressMark, Td as PersonalQuery, Tf as queryTableItem_EntityRegistrar, Ud as TableItem_DemandPresenter, Uh as ObjectType, Uu as Im, Vd as TableItemQuery, Vu as IdFrom, Wd as TableItem_EntityLinker, Wu as MAX_OBJECTS_PER_QUERY, Xd as TableItem_RewardRecord, Xu as OBJECT_TYPE_DEFINITIONS, Yd as TableItem_RepositoryData, Yu as NamedOperator, Zd as TableItem_TreasuryHistory, Zu as ObjectAllocation, _d as ObjectResource, _f as idFromToString, ad as ObjectEntityLinker, af as WitnessTargetType, bd as ObjectTreasury, bf as objectTypeToNumber, cd as ObjectMachine, cf as getMoveNameFromObjectType, dd as ObjectPayment, df as getNumbersFromObjectTypes, ed as ObjectBase, ef as TreasuryRecord, fd as ObjectPermission, ff as getObjectTypeDefinition, gd as ObjectRepository, gf as getObjectTypesFromNumbers, hd as ObjectProof, hf as getObjectTypeFromNumber, id as ObjectEntity, if as WitnessSourceType, jd as QueryTableItem_Entity, jf as queryTableItem_TreasuryHistory, ju as AmountFromDepositGuard, kd as ProgressSessionHolder, kf as queryTableItem_RepositoryData, ku as Allocators, ld as ObjectOrder, lf as getNumberFromMoveName, md as ObjectProgress, mf as getObjectTypeFromMoveName, nd as ObjectDemand, nf as VotingGuard, od as ObjectEntityRegistrar, of as data2object, pd as ObjectPersonal, pf as getObjectTypeDefinitionFromNumber, qd as TableItem_PermissionPerm, qu as MachineNode, rd as ObjectDiscount, rf as WReceivedObject, sd as ObjectGuard, sf as getMoveNameFromNumber, td as ObjectContact, tf as VoteWeight, ud as ObjectPassport, uf as getNumberFromObjectType, vd as ObjectReward, vf as isValidIdFromInput, wd as PaymentInfo, wf as queryTableItem_EntityLinker, xd as ObjectTypeDefinition, xf as parseIdFrom, yd as ObjectService, yf as numberToObjectType, zd as TableAnswer, zu as GuardInPassport } from "../../index-DQzZu-2W.mjs";
2
2
  export { AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, DiscountType, GuardInPassport, GuardSubmission, IdFrom, IdFromInput, Im, MAX_OBJECTS_PER_QUERY, MachineForward, MachineForwardGuard, MachineNode, MachineNodePair, NamedOperator, OBJECT_TYPE_DEFINITIONS, ObjectAllocation, ObjectArb, ObjectArbitration, ObjectBase, ObjectContact, ObjectDemand, ObjectDiscount, ObjectEntity, ObjectEntityLinker, ObjectEntityRegistrar, ObjectGuard, ObjectMachine, ObjectOrder, ObjectPassport, ObjectPayment, ObjectPermission, ObjectPersonal, ObjectProgress, ObjectProof, ObjectRepository, ObjectResource, ObjectReward, ObjectService, ObjectTreasury, ObjectType, ObjectTypeDefinition, ObjectsAnswer, ObjectsQuery, PaymentInfo, PersonalQuery, PolicyRule, PolicyWriteGuard, ProgressSession, ProgressSessionHolder, PurchasedItem, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, RewardGuard, ServiceGuard, ServiceSale, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityLinker, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TreasuryOp, TreasuryRecord, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeToNumber, parseIdFrom, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityLinker, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_TreasuryHistory, query_objects, query_objects_json, query_personal, query_table, query_tableItem, query_table_json, raw2type };
@@ -1 +1 @@
1
- import{E as a103a}from'../../common-CQggZ8z4.mjs';import{A as a103b,B as a103c,C as a103d,D as a103e,E as a103f,F as a103g,H as a103h,I as a103i,L as a103j,M as a103k,N as a103l,O as a103m,P as a103n,R as a103o,S as a103p,T as a103q,U as a103r,V as a103s,_ as a103t,a as a103u,b as a103v,c as a103w,d as a103x,f as a103y,g as a103z,h as a103A,i as a103B,j as a103C,k as a103D,l as a103E,m as a103F,n as a103G,o as a103H,p as a103I,r as a103J,s as a103K,t as a103L,u as a103M,v as a103N,w as a103O,x as a103P,y as a103Q,z as a103R}from'../../object-BTDJEtwG.mjs';export{a103L as AllocationMode,a103G as AmountType,a103J as ArbStatus,a103B as DiscountType,a103u as IdFrom,a103H as MAX_OBJECTS_PER_QUERY,a103K as OBJECT_TYPE_DEFINITIONS,a103a as ObjectType,a103w as TreasuryOp,a103E as WitnessSourceType,a103M as WitnessTargetType,a103x as data2object,a103y as getMoveNameFromNumber,a103I as getMoveNameFromObjectType,a103F as getNumberFromMoveName,a103A as getNumberFromObjectType,a103z as getNumbersFromObjectTypes,a103t as getObjectTypeDefinition,a103N as getObjectTypeDefinitionFromNumber,a103Q as getObjectTypeFromMoveName,a103v as getObjectTypeFromNumber,a103P as getObjectTypesFromNumbers,a103p as idFromToString,a103d as isValidIdFromInput,a103O as numberToObjectType,a103q as objectTypeToNumber,a103f as parseIdFrom,a103e as queryTableItem_AddressMark,a103m as queryTableItem_DemandPresenter,a103D as queryTableItem_EntityLinker,a103b as queryTableItem_EntityRegistrar,a103C as queryTableItem_MachineNode,a103k as queryTableItem_PermissionPerm,a103l as queryTableItem_ProgressHistory,a103n as queryTableItem_RepositoryData,a103g as queryTableItem_RewardRecord,a103i as queryTableItem_TreasuryHistory,a103j as query_objects,a103o as query_objects_json,a103R as query_personal,a103c as query_table,a103s as query_tableItem,a103h as query_table_json,a103r as raw2type};
1
+ import{E as a104a}from'../../common-CQggZ8z4.mjs';import{A as a104b,B as a104c,C as a104d,D as a104e,E as a104f,F as a104g,H as a104h,I as a104i,L as a104j,M as a104k,N as a104l,O as a104m,P as a104n,R as a104o,S as a104p,T as a104q,U as a104r,V as a104s,_ as a104t,a as a104u,b as a104v,c as a104w,d as a104x,f as a104y,g as a104z,h as a104A,i as a104B,j as a104C,k as a104D,l as a104E,m as a104F,n as a104G,o as a104H,p as a104I,r as a104J,s as a104K,t as a104L,u as a104M,v as a104N,w as a104O,x as a104P,y as a104Q,z as a104R}from'../../object-BZ_iF8UV.mjs';export{a104L as AllocationMode,a104G as AmountType,a104J as ArbStatus,a104B as DiscountType,a104u as IdFrom,a104H as MAX_OBJECTS_PER_QUERY,a104K as OBJECT_TYPE_DEFINITIONS,a104a as ObjectType,a104w as TreasuryOp,a104E as WitnessSourceType,a104M as WitnessTargetType,a104x as data2object,a104y as getMoveNameFromNumber,a104I as getMoveNameFromObjectType,a104F as getNumberFromMoveName,a104A as getNumberFromObjectType,a104z as getNumbersFromObjectTypes,a104t as getObjectTypeDefinition,a104N as getObjectTypeDefinitionFromNumber,a104Q as getObjectTypeFromMoveName,a104v as getObjectTypeFromNumber,a104P as getObjectTypesFromNumbers,a104p as idFromToString,a104d as isValidIdFromInput,a104O as numberToObjectType,a104q as objectTypeToNumber,a104f as parseIdFrom,a104e as queryTableItem_AddressMark,a104m as queryTableItem_DemandPresenter,a104D as queryTableItem_EntityLinker,a104b as queryTableItem_EntityRegistrar,a104C as queryTableItem_MachineNode,a104k as queryTableItem_PermissionPerm,a104l as queryTableItem_ProgressHistory,a104n as queryTableItem_RepositoryData,a104g as queryTableItem_RewardRecord,a104i as queryTableItem_TreasuryHistory,a104j as query_objects,a104o as query_objects_json,a104R as query_personal,a104c as query_table,a104s as query_tableItem,a104h as query_table_json,a104r as raw2type};
@@ -0,0 +1 @@
1
+ import{t as a105a}from'./client-sb0S5kkY.mjs';import{t as a105b}from'./Transaction-B_HAG_T7.mjs';import{n as a105c}from'./network-CeDd07Hg.mjs';import{o as a105d}from'./exception--UEPnygY.mjs';import{SQLiteStorage}from'./w/local/storage.mjs';import{Config}from'./w/local/config.mjs';import{Account}from'./w/local/account.mjs';import{bigIntToBytes,bytesToHex,hexToBytes as a105e}from'./w/local/evm/rlp.mjs';import{registerBridgeEvmNetworks}from'./w/local/evm/networks.mjs';import{EvmAccount}from'./w/local/evm-account.mjs';import{d as a105f,i as a105g,o as a105h,s as a105i}from'./query-C21BX7t1.mjs';import{keccak_256}from'@noble/hashes/sha3.js';const BRIDGE_ETH_V2_SIG='bridgeETHV2(bytes,uint8)',BRIDGE_ETH_V2_SELECTOR='b4b7068c',BRIDGE_ETH_V1_SELECTOR='9449ebd2',BRIDGE_ERC20_V1_SELECTOR='212afaff',BRIDGE_ERC20_V2_SIG='bridgeERC20V2(uint8,uint256,bytes,uint8)',BRIDGE_ERC20_V2_SELECTOR='0bdba58b',TRANSFER_BRIDGED_V2_SIG='transferBridgedTokensWithSignaturesV2(bytes[],(uint8,uint8,uint64,uint8,bytes))',TRANSFER_BRIDGED_V2_SELECTOR='9c3ecefb',TRANSFER_BRIDGED_V1_SIG='transferBridgedTokensWithSignatures(bytes[],(uint8,uint8,uint64,uint8,bytes))',APPROVE_SIG='approve(address,uint256)',APPROVE_SELECTOR='095ea7b3',WORD_SIZE=0x20;function uintWord(a){const b=bigIntToBytes(BigInt(a)),c=new Uint8Array(WORD_SIZE);return c['set'](b,WORD_SIZE-b['length']),c;}function addressWord(a){const b=a105e(a['startsWith']('0x')?a['slice'](0x2):a);if(b['length']!==0x14)throw new Error('Invalid\x20EVM\x20address\x20length:\x20'+a);const c=new Uint8Array(WORD_SIZE);return c['set'](b,WORD_SIZE-0x14),c;}function padToWord(a){const b=a['length']%WORD_SIZE;if(b===0x0)return a;const c=new Uint8Array(a['length']+WORD_SIZE-b);return c['set'](a,0x0),c;}function concat(...b){const c=b['reduce']((f,g)=>f+g['length'],0x0),d=new Uint8Array(c);let e=0x0;for(const f of b){d['set'](f,e),e+=f['length'];}return d;}function encodeBytes(a){return concat(uintWord(BigInt(a['length'])),padToWord(a));}function computeSelector(a){return bytesToHex(keccak_256(new TextEncoder()['encode'](a))['slice'](0x0,0x4));}function computeEventTopic(a){return'0x'+bytesToHex(keccak_256(new TextEncoder()['encode'](a)));}function encodeBridgeETHV2(a,b){const c=a105e(a['startsWith']('0x')?a['slice'](0x2):a);if(c['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes,\x20got\x20'+c['length']);const d=uintWord(0x40n),e=uintWord(b),f=encodeBytes(c);return'0x'+bytesToHex(concat(a105e(BRIDGE_ETH_V2_SELECTOR),d,e,f));}function encodeBridgeETH(a,b){const c=a105e(a['startsWith']('0x')?a['slice'](0x2):a);if(c['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes,\x20got\x20'+c['length']);const d=uintWord(0x40n),e=uintWord(b),f=encodeBytes(c);return'0x'+bytesToHex(concat(a105e(BRIDGE_ETH_V1_SELECTOR),d,e,f));}function encodeBridgeERC20V2(a,b,c,d){const e=a105e(c['startsWith']('0x')?c['slice'](0x2):c);if(e['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes');const f=uintWord(0x80n),g=encodeBytes(e);return'0x'+bytesToHex(concat(a105e(BRIDGE_ERC20_V2_SELECTOR),uintWord(a),uintWord(b),f,uintWord(d),g));}function encodeBridgeERC20(a,b,c,d){const e=a105e(c['startsWith']('0x')?c['slice'](0x2):c);if(e['length']!==0x20)throw new Error('Recipient\x20address\x20must\x20be\x2032\x20bytes');const f=uintWord(0x80n),g=encodeBytes(e);return'0x'+bytesToHex(concat(a105e(BRIDGE_ERC20_V1_SELECTOR),uintWord(a),uintWord(b),f,uintWord(d),g));}function encodeMessage(a){return concat(uintWord(a['messageType']),uintWord(a['version']),uintWord(a['nonce']),uintWord(a['chainID']),uintWord(0xa0n),encodeBytes(a['payload']));}function encodeBytesArray(a){const b=a['length'],c=b*0x20,d=[];let e=0x0n;for(const g of a){d['push'](BigInt(c)+e),e+=BigInt(0x20+Math['ceil'](g['length']/0x20)*0x20);}const f=[uintWord(BigInt(b))];for(const h of d)f['push'](uintWord(h));for(const i of a)f['push'](encodeBytes(i));return concat(...f);}function encodeTransferBridgedTokensWithSignatures(a,b,c=!![]){const d=c?TRANSFER_BRIDGED_V2_SELECTOR:computeSelector(TRANSFER_BRIDGED_V1_SIG),e=encodeBytesArray(a),f=encodeMessage(b),g=uintWord(0x40n),h=uintWord(BigInt(0x40+e['length']));return'0x'+bytesToHex(concat(a105e(d),g,h,e,f));}function encodeApprove(a,b){return'0x'+bytesToHex(concat(a105e(APPROVE_SELECTOR),addressWord(a),uintWord(b)));}function encodeTokenTransferPayloadV2(a){const {senderAddress:b,targetChain:c,recipientAddress:d,tokenID:e,amount:f,timestampMs:g}=a;if(b['length']!==0x20)throw new Error('senderAddress\x20must\x20be\x2032\x20bytes');if(d['length']!==0x14)throw new Error('recipientAddress\x20must\x20be\x2020\x20bytes');const h=new Uint8Array(0x48);let i=0x0;h[i++]=0x20,h['set'](b,i),i+=0x20,h[i++]=c,h[i++]=0x14,h['set'](d,i),i+=0x14,h[i++]=e;const j=bigIntToBytes(f);h['set'](j,i+0x8-j['length']),i+=0x8;const k=bigIntToBytes(g);return h['set'](k,i+0x8-k['length']),h;}function verifySelectors(){const a=[[BRIDGE_ETH_V2_SIG,BRIDGE_ETH_V2_SELECTOR],[BRIDGE_ERC20_V2_SIG,BRIDGE_ERC20_V2_SELECTOR],[TRANSFER_BRIDGED_V2_SIG,TRANSFER_BRIDGED_V2_SELECTOR],[APPROVE_SIG,APPROVE_SELECTOR]];for(const [b,c]of a){const d=computeSelector(b);if(d!==c)throw new Error('ABI\x20selector\x20mismatch\x20for\x20'+b+':\x20expected\x20'+c+',\x20got\x20'+d);}}verifySelectors();const TOKENS_DEPOSITED_V2_TOPIC=computeEventTopic('TokensDepositedV2(uint8,uint64,uint8,uint8,uint64,address,bytes,uint256)'),TOKENS_DEPOSITED_TOPIC=computeEventTopic('TokensDeposited(uint8,uint64,uint8,uint8,uint64,address,bytes)'),TOKENS_CLAIMED_TOPIC=computeEventTopic('TokensClaimed(uint8,uint64,uint8,uint8,uint64,address,bytes)'),ERC20_TRANSFER_TOPIC=computeEventTopic('Transfer(address,address,uint256)');async function depositEth(a,b){try{const c=b['destinationChainId']??0x0,d=b['version']!=='v1'?encodeBridgeETHV2(b['recipientWowAddress'],c):encodeBridgeETH(b['recipientWowAddress'],c),f={'to':b['bridgeProxyAddress'],'value':a,'data':d,'network':b['network'],'rpcUrl':b['rpcUrl'],'gasLimit':0x3d090n},g=EvmAccount['Instance']();await g['active']();const h=await g['sign_and_send'](f,b['rpcUrl']);if(h['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20deposit\x20transaction\x20reverted','revertReason':'txHash:\x20'+h['transactionHash']}};return{'success':!![],'txHash':h['transactionHash']};}catch(i){return{'success':![],'error':{'code':'UNKNOWN','message':'ETH\x20deposit\x20failed:\x20'+(i?.['message']??String(i)),'raw':i}};}}async function depositErc20(a,b){try{const c=EvmAccount['Instance']();await c['active']();const d=b['destinationChainId']??0x0,f={'to':b['tokenAddress'],'data':encodeApprove(b['bridgeProxyAddress'],a),'network':b['network'],'rpcUrl':b['rpcUrl']},g=await c['sign_and_send'](f,b['rpcUrl']);if(g['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ERC20\x20approve\x20reverted','revertReason':'txHash:\x20'+g['transactionHash']}};const h=b['version']!=='v1'?encodeBridgeERC20V2(b['tokenId'],a,b['recipientWowAddress'],d):encodeBridgeERC20(b['tokenId'],a,b['recipientWowAddress'],d),i={'to':b['bridgeProxyAddress'],'value':0x0n,'data':h,'network':b['network'],'rpcUrl':b['rpcUrl']},j=await c['sign_and_send'](i,b['rpcUrl']);if(j['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ERC20\x20deposit\x20transaction\x20reverted','revertReason':'txHash:\x20'+j['transactionHash']}};return{'success':!![],'txHash':j['transactionHash']};}catch(k){return{'success':![],'error':{'code':'UNKNOWN','message':'ERC20\x20deposit\x20failed:\x20'+(k?.['message']??String(k)),'raw':k}};}}async function depositFromEth(a,b){if(a['tokenAddress']){if(a['tokenId']===void 0x0)return{'success':![],'error':{'code':'INVALID_PARAM','message':'tokenId\x20is\x20required\x20for\x20ERC20\x20deposit'}};return depositErc20(a['amount'],{...b,'tokenAddress':a['tokenAddress'],'tokenId':a['tokenId']});}return depositEth(a['amount'],b);}function buildClaimMessage(a){const b=encodeTokenTransferPayloadV2({'senderAddress':a['senderAddress'],'targetChain':a['targetChain'],'recipientAddress':a['recipientAddress'],'tokenID':a['tokenId'],'amount':a['amount'],'timestampMs':a['timestampMs']});return{'messageType':a['messageType'],'version':a['version'],'nonce':a['nonce'],'chainID':a['sourceChain'],'payload':b};}function signaturesToBytes(a){return a['map'](b=>{const c=a105e(b['signature']['startsWith']('0x')?b['signature']['slice'](0x2):b['signature']);if(c['length']!==0x41)throw new Error('Invalid\x20signature\x20length:\x20'+c['length']+'\x20(expected\x2065)');return c;});}async function claimOnEth(a,b){try{const c=b['useV2']??!![];let d=await b['nodeClient']['signWowToEth'](a['wowTxDigest'],a['eventIndex']);d['length']===0x0&&(console['warn']('tx_digest\x20路径未收集到签名,回退到\x20seq\x20路径:',a['message']['chainID'],a['message']['messageType'],a['message']['nonce']),d=await b['nodeClient']['signWowTokenTransfer'](a['message']['chainID'],a['message']['messageType'],a['message']['nonce']));if(d['length']===0x0)return{'success':![],'error':{'code':'NO_SIGNATURES','message':buildNoSignaturesMessage(a['message']['chainID'],a['message']['messageType'],a['message']['nonce'])}};const f=encodeTransferBridgedTokensWithSignatures(signaturesToBytes(d),a['message'],c),g={'to':b['bridgeProxyAddress'],'value':0x0n,'data':f,'network':b['network'],'rpcUrl':b['rpcUrl']},h=EvmAccount['Instance']();await h['active']();const i=await h['sign_and_send'](g,b['rpcUrl']);if(i['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20transaction\x20reverted','revertReason':'txHash:\x20'+i['transactionHash']}};return{'success':!![],'txHash':i['transactionHash']};}catch(j){return wrapBridgeError(j,'UNKNOWN','ETH\x20claim\x20failed');}}async function claimOnEthBySeq(a,b){try{const c=b['useV2']??!![],d=await b['nodeClient']['signWowTokenTransfer'](a['sourceChain'],a['messageType'],a['seqNum']);if(d['length']===0x0)return{'success':![],'error':{'code':'NO_SIGNATURES','message':buildNoSignaturesMessage(a['sourceChain'],a['messageType'],a['seqNum'])}};const f=encodeTransferBridgedTokensWithSignatures(signaturesToBytes(d),a['message'],c),g={'to':b['bridgeProxyAddress'],'value':0x0n,'data':f,'network':b['network'],'rpcUrl':b['rpcUrl']},h=EvmAccount['Instance']();await h['active']();let i;try{await h['ethCall'](g);}catch(k){const l=k?.['message']??String(k);if(l['includes']('execution\x20reverted')||l['includes']('reverted\x20with\x20reason'))i=l;else console['warn']('\x20\x20[claimOnEthBySeq]\x20eth_call\x20warning\x20(skipped):',l['slice'](0x0,0x78));}if(i)return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20reverted','revertReason':i}};const j=await h['sign_and_send'](g,b['rpcUrl']);if(j['status']!=='0x1')return{'success':![],'error':{'code':'REVERTED','message':'ETH\x20claim\x20transaction\x20reverted','revertReason':'txHash:\x20'+j['transactionHash']}};return{'success':!![],'txHash':j['transactionHash']};}catch(m){return wrapBridgeError(m,'UNKNOWN','ETH\x20claim\x20(by\x20seq)\x20failed');}}function buildNoSignaturesMessage(a,b,c){return['No\x20signatures\x20collected\x20for\x20seq='+c+'\x20(sourceChain='+a+',\x20messageType='+b+').','Possible\x20reasons:','\x20\x201)\x20Bridge\x20nodes\x20are\x20not\x20reachable\x20or\x20not\x20synced','\x20\x202)\x20The\x20seq\x20'+c+'\x20does\x20not\x20exist\x20on\x20source\x20chain','\x20\x203)\x20The\x20message\x20has\x20already\x20expired','\x20\x204)\x20Insufficient\x20quorum\x20(need\x202/3\x20of\x20total\x20committee\x20weight)','Check\x20node\x20health\x20with\x20nodeClient.pingAll().']['join']('\x0a');}function wrapBridgeError(a,b,c){return{'success':![],'error':{'code':b,'message':c+':\x20'+(a?.['message']??String(a)),'raw':a}};}const BRIDGE_PACKAGE$1='0xb',DEFAULT_BRIDGE_OBJECT_ID$1='0x9',CLOCK_OBJECT_ID$1='0x6',EVM_ADDRESS_LENGTH=0x14,TOKEN_DEPOSITED_EVENT_V2_TYPE=BRIDGE_PACKAGE$1+'::bridge::TokenDepositedEventV2';async function depositFromWow(a,b){if(!a['tokenType']||a['tokenType']['split']('::')['length']<0x3)a105d('invalid\x20parameter','Invalid\x20tokenType:\x20'+a['tokenType']);if(a['amount']<=0x0n)a105d('invalid\x20parameter','amount\x20must\x20be\x20positive');const c=parseEvmAddress(a['recipientEthAddress']),d=a['destinationChainId']??0xa,f=a['bridgeObjectId']??DEFAULT_BRIDGE_OBJECT_ID$1,g=new a105b(),h=await Account['Instance']()['get_coin_object'](g,a['amount'],a['tokenType'],await getEnvAccount$1(b),b['network']);if(!h)a105d('fail','Failed\x20to\x20get\x20coin\x20object');g['moveCall']({'target':BRIDGE_PACKAGE$1+'::bridge::send_token_v2','arguments':[g['object'](f),g['pure']['u8'](d),g['pure']['vector']('u8',c),h,g['object'](CLOCK_OBJECT_ID$1)],'typeArguments':[a['tokenType']]});const i=await Account['Instance']()['sign_and_commit'](g,await getEnvAccount$1(b),b['network']);if(!i||!i['digest'])a105d('fail','WOW\x20deposit\x20transaction\x20failed');let j=i;if(!i['events']||i['events']['length']===0x0){const {WowClient:l}=await import('./client/index.mjs'),{Config:m}=await import('./w/local/config.mjs'),n=await m['Instance']()['network_get'](b['network']),o=new l({'url':a105c(n),'network':n});let p;for(let q=0x0;q<0xa;q++){try{j=await o['getTransactionBlock']({'digest':i['digest'],'options':{'showEvents':!![],'showEffects':!![]}});if(j['events']&&j['events']['length']>0x0)break;}catch(r){p=r;}await new Promise(s=>setTimeout(s,0x3e8*(q+0x1)));}if(!j['events']||j['events']['length']===0x0)throw p??new Error('Failed\x20to\x20fetch\x20events\x20for\x20tx\x20'+i['digest']);}const k=parseSeqNumFromReceipt(j);if(k===void 0x0)a105d('fail','Failed\x20to\x20parse\x20seqNum\x20from\x20WOW\x20tx\x20'+i['digest']);return{'digest':i['digest'],'seqNum':k,'receipt':i};}function parseEvmAddress(a){let b=a;if(b['startsWith']('0x')||b['startsWith']('0X'))b=b['slice'](0x2);if(b['length']!==EVM_ADDRESS_LENGTH*0x2)a105d('invalid\x20parameter','Invalid\x20EVM\x20address:\x20'+a+'\x20(expected\x2020\x20bytes)');const c=new Uint8Array(EVM_ADDRESS_LENGTH);for(let d=0x0;d<EVM_ADDRESS_LENGTH;d++)c[d]=parseInt(b['slice'](d*0x2,d*0x2+0x2),0x10);return c;}function normalizeEventType$1(a){const b=a['split']('::');if(b['length']>0x0&&b[0x0]['startsWith']('0x')){const c=b[0x0]['toLowerCase']()['replace'](/^0x0+/,'0x');b[0x0]=c==='0x'?'0x0':c;}return b['join']('::');}function parseSeqNumFromReceipt(a){const b=a['events'];if(!b||b['length']===0x0)return void 0x0;const c=normalizeEventType$1(TOKEN_DEPOSITED_EVENT_V2_TYPE);for(const d of b){if(normalizeEventType$1(d['type'])!==c)continue;const e=d['parsedJson'];if(!e)continue;const f=e['seq_num'];if(typeof f==='string'||typeof f==='number')return BigInt(f);}}async function getEnvAccount$1(a){return a['account']??void 0x0;}const BRIDGE_PACKAGE='0xb',CLOCK_OBJECT_ID='0x6',TOKEN_TRANSFER_APPROVED_TYPE=BRIDGE_PACKAGE+'::bridge::TokenTransferApproved',TOKEN_TRANSFER_CLAIMED_TYPE=BRIDGE_PACKAGE+'::bridge::TokenTransferClaimed',DEFAULT_BRIDGE_OBJECT_ID='0x9';async function claimOnWow(a,b){if(!a['tokenType']||a['tokenType']['split']('::')['length']<0x3)a105d('invalid\x20parameter','Invalid\x20tokenType:\x20'+a['tokenType']);if(a['bridgeSeqNum']<0x0n)a105d('invalid\x20parameter','bridgeSeqNum\x20must\x20be\x20non-negative');const c=a['sourceChainId']??0xa,d=a['bridgeObjectId']??DEFAULT_BRIDGE_OBJECT_ID,e=new a105b();e['moveCall']({'target':BRIDGE_PACKAGE+'::bridge::claim_and_transfer_token','arguments':[e['object'](d),e['object'](CLOCK_OBJECT_ID),e['pure']['u8'](c),e['pure']['u64'](a['bridgeSeqNum'])],'typeArguments':[a['tokenType']]});const f=await Account['Instance']()['sign_and_commit'](e,await getEnvAccount(b),b['network']);if(!f||!f['digest'])a105d('fail','WOW\x20claim\x20transaction\x20failed');return{'digest':f['digest'],'receipt':f};}let WowClaimStatus=function(a){return a['NotApproved']='not_approved',a['Approved']='approved',a['Claimed']='claimed',a['NotFound']='not_found',a;}({});async function queryWowClaimStatus(a,b){const c=a['sourceChainId']??0xa,d=await Config['Instance']()['network_get'](b),e=new a105a({'url':a105c(d),'network':d}),f=await e['queryEvents']({'query':{'MoveEventType':TOKEN_TRANSFER_CLAIMED_TYPE},'limit':0x64,'order':'descending'});for(const h of f['data']){const i=h['parsedJson'];if(!i)continue;const j=i['message_key'];if(!j)continue;const k=Number(j['source_chain']),l=BigInt(j['bridge_seq_num']??0x0);if(k===c&&l===a['bridgeSeqNum'])return{'status':'claimed','claimedTxHash':h['id']?.['txDigest']};}const g=await e['queryEvents']({'query':{'MoveEventType':TOKEN_TRANSFER_APPROVED_TYPE},'limit':0x64,'order':'descending'});for(const m of g['data']){const n=m['parsedJson'];if(!n)continue;const o=n['message_key'];if(!o)continue;const p=Number(o['source_chain']),q=BigInt(o['bridge_seq_num']??0x0);if(p===c&&q===a['bridgeSeqNum'])return{'status':'approved','approvedEventId':m['id']?.['eventSeq']};}return{'status':'not_approved'};}async function getEnvAccount(a){return a['account']??void 0x0;}async function queryEthTxReceipt(a,b,c=0x2710){const d=new AbortController(),f=setTimeout(()=>d['abort'](),c);try{const g=await(await fetch(b,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_getTransactionReceipt','params':[a]}),'signal':d['signal']}))['json']();if(g['error'])throw new Error('JSON-RPC\x20error:\x20'+g['error']['message']);return g['result'];}catch(h){if(h?.['name']==='AbortError')throw new Error('queryEthTxReceipt\x20timeout\x20after\x20'+c+'ms');throw h;}finally{clearTimeout(f);}}async function queryEthBalance(a,b){const c=await(await fetch(b,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_getBalance','params':[a,'latest']})}))['json']();if(c['error'])throw new Error('JSON-RPC\x20error:\x20'+c['error']['message']);return BigInt(c['result']);}async function queryErc20Balance(a,b,c){const d='0x70a08231000000000000000000000000'+b['slice'](0x2)['toLowerCase'](),e=await(await fetch(c,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x1,'method':'eth_call','params':[{'to':a,'data':d},'latest']})}))['json']();if(e['error'])throw new Error('JSON-RPC\x20error:\x20'+e['error']['message']);return BigInt(e['result']);}async function queryEthTxConfirmations(a,b,c=0x2710){const d=await queryEthTxReceipt(a,b,c);if(!d?.['blockNumber'])return 0x0;const e=new AbortController(),f=setTimeout(()=>e['abort'](),c);try{const g=await(await fetch(b,{'method':'POST','headers':{'Content-Type':'application/json'},'body':JSON['stringify']({'jsonrpc':'2.0','id':0x2,'method':'eth_blockNumber','params':[]}),'signal':e['signal']}))['json'](),h=BigInt(g['result']),i=BigInt(d['blockNumber']);return Number(h-i);}finally{clearTimeout(f);}}async function queryWowTx(a,b){try{return await a['getTransactionBlock']({'digest':b,'options':{'showEffects':!![],'showEvents':!![]}});}catch{return null;}}let BridgeTransferDirection=function(a){return a['EvmToWow']='evm_to_wow',a['WowToEvm']='wow_to_evm',a;}({}),BridgeTransferStep=function(a){return a['NotStarted']='not_started',a['SourceTxPending']='source_tx_pending',a['SourceTxConfirmed']='source_tx_confirmed',a['NodeSigning']='node_signing',a['SignaturesReady']='signatures_ready',a['ClaimTxPending']='claim_tx_pending',a['Completed']='completed',a['Failed']='failed',a;}({});const BRIDGE_STEP_DESCRIPTIONS={['not_started']:'尚未发起跨链',['source_tx_pending']:'源链交易已提交,等待区块确认',['source_tx_confirmed']:'源链交易已确认,等待\x20bridge\x20节点签名\x20approve',['node_signing']:'bridge\x20节点签名收集中',['signatures_ready']:'签名已收集完毕,可发起目标链\x20claim',['claim_tx_pending']:'目标链\x20claim\x20交易已提交,待确认',['completed']:'跨链完成',['failed']:'跨链失败'};let BridgeTransferStatus=function(a){return a['NotStarted']='not_started',a['Pending']='pending',a['Confirmed']='confirmed',a['SignaturesReady']='signatures_ready',a['Claiming']='claiming',a['Completed']='completed',a['Failed']='failed',a;}({});function makeBridgeTransferState(a){return{'status':stepToStatus(a['step']),'stepDescription':BRIDGE_STEP_DESCRIPTIONS[a['step']],'updatedAt':Date['now'](),...a};}function stepToStatus(a){switch(a){case'not_started':return'not_started';case'source_tx_pending':return'pending';case'source_tx_confirmed':return'confirmed';case'node_signing':return'confirmed';case'signatures_ready':return'signatures_ready';case'claim_tx_pending':return'claiming';case'completed':return'completed';case'failed':return'failed';}}function parseEthDepositEvent(a,b){const c=b['toLowerCase']();for(const d of a['logs']){if(d['address']['toLowerCase']()!==c)continue;const e=d['topics'][0x0]===TOKENS_DEPOSITED_V2_TOPIC,f=d['topics'][0x0]===TOKENS_DEPOSITED_TOPIC;if(!e&&!f)continue;const g=a105e(d['data']);if(g['length']<0x80)continue;const h=u=>g[u*0x20+0x1f],i=u=>{const v=g['slice'](u*0x20,u*0x20+0x20);return BigInt('0x'+bytesToHex(v['slice'](0x18,0x20)));},j=u=>'0x'+bytesToHex(g['slice'](u*0x20+0xc,u*0x20+0x20)),k=h(0x0),l=i(0x1),m=j(0x2),n=Number(i(0x3)),o=Number(BigInt('0x'+bytesToHex(g['slice'](n,n+0x20))['slice'](0x30))),p='0x'+bytesToHex(g['slice'](n+0x20,n+0x20+o)),q=d['topics'][0x1]?.['slice'](0x40)??'00',r=parseInt(q,0x10),s=d['topics'][0x3]?.['slice'](0x40)??'00',t=parseInt(s,0x10);return{'bridgeSeq':BigInt('0x'+(d['topics'][0x2]?.['slice'](0x38)??'0')),'sourceChain':r,'sender':m,'targetChain':t,'recipient':p,'tokenID':k,'amount':l};}return null;}function parseEthClaimEvent(a,b){const c=b['toLowerCase']();for(const d of a['logs']){if(d['address']['toLowerCase']()!==c)continue;if(d['topics'][0x0]!==TOKENS_CLAIMED_TOPIC)continue;const e=a105e(d['data']);if(e['length']<0x80)continue;const f=n=>e[n*0x20+0x1f],g=n=>{const o=e['slice'](n*0x20,n*0x20+0x20);return BigInt('0x'+bytesToHex(o['slice'](0x18,0x20)));},h=n=>'0x'+bytesToHex(e['slice'](n*0x20+0xc,n*0x20+0x20));f(0x0);const i=g(0x1),j=h(0x2),k=Number(g(0x3)),l=Number(BigInt('0x'+bytesToHex(e['slice'](k,k+0x20))['slice'](0x30))),m='0x'+bytesToHex(e['slice'](k+0x20,k+0x20+l));return{'bridgeSeq':BigInt('0x'+(d['topics'][0x2]?.['slice'](0x38)??'0')),'claimer':j,'recipient':m,'amount':i};}return null;}async function queryEvmToWowTransferStatus(a,b,c){const d=await queryEthTxReceipt(a,b);if(!d)return makeBridgeTransferState({'step':'source_tx_pending','direction':'evm_to_wow','sourceTxHash':a});if(d['status']!=='0x1')return makeBridgeTransferState({'step':'failed','direction':'evm_to_wow','sourceTxHash':a,'ethReceipt':d,'error':'ETH\x20source\x20transaction\x20reverted'});const e=parseEthDepositEvent(d,c);if(!e)return makeBridgeTransferState({'step':'failed','direction':'evm_to_wow','sourceTxHash':a,'ethReceipt':d,'error':'No\x20TokensDeposited/TokensDepositedV2\x20event\x20found\x20in\x20receipt'});let f=0x0;try{f=await queryEthTxConfirmations(a,b);}catch{}return makeBridgeTransferState({'step':'source_tx_confirmed','direction':'evm_to_wow','sourceTxHash':a,'bridgeSeq':e['bridgeSeq'],'confirmations':f,'ethReceipt':d});}async function queryWowToEvmTransferStatus(a,b){const c=await queryWowTx(a,b);if(!c)return makeBridgeTransferState({'step':'source_tx_pending','direction':'wow_to_evm','sourceTxHash':b});if(c['effects']?.['status']?.['status']!=='success')return makeBridgeTransferState({'step':'failed','direction':'wow_to_evm','sourceTxHash':b,'wowReceipt':c,'error':c['effects']?.['status']?.['error']||'WOW\x20transaction\x20failed'});return makeBridgeTransferState({'step':'source_tx_confirmed','direction':'wow_to_evm','sourceTxHash':b,'bridgeSeq':parseWowDepositSeqFromReceipt(c),'wowReceipt':c});}function normalizeEventType(a){const b=a['split']('::');if(b['length']>0x0&&b[0x0]['startsWith']('0x')){const c=b[0x0]['toLowerCase']()['replace'](/^0x0+/,'0x');b[0x0]=c==='0x'?'0x0':c;}return b['join']('::');}function parseWowDepositSeqFromReceipt(a){const b=a['events'];if(!b||b['length']===0x0)return void 0x0;const c=normalizeEventType('0xb::bridge::TokenDepositedEventV2');for(const d of b){if(normalizeEventType(d['type'])!==c)continue;const e=d['parsedJson'];if(!e)continue;const f=e['seq_num'];if(typeof f==='string'||typeof f==='number')return BigInt(f);}}async function waitForEthTx(a,b,c=0x1,d=0x2ee0,e=0x1e*0xea60){const f=Math['max'](0x1,Math['ceil'](e/d));for(let g=0x0;g<f;g++){const h=await queryEthTxReceipt(a,b);if(h){const j=await queryEthTxConfirmations(a,b);if(j>=c)return h;console['log']('[waitForEthTx]\x20'+(g+0x1)+'/'+f+':\x20'+j+'/'+c+'\x20confirmations');}else console['log']('[waitForEthTx]\x20'+(g+0x1)+'/'+f+':\x20pending');await sleep$1(d);}a105d('fail','Timeout\x20waiting\x20for\x20ETH\x20tx\x20'+a+'\x20after\x20'+f+'\x20iterations');}async function waitForWowTx(a,b,c=0xbb8,d=0x5*0xea60){const e=Math['max'](0x1,Math['ceil'](d/c));for(let f=0x0;f<e;f++){const g=await queryWowTx(a,b);if(g&&g['effects']?.['status']?.['status']==='success')return g;if(g&&g['effects']?.['status']?.['status']==='failure')a105d('fail','WOW\x20tx\x20'+b+'\x20failed:\x20'+(g['effects']['status']['error']||'unknown'));console['log']('[waitForWowTx]\x20'+(f+0x1)+'/'+e+':\x20pending'),await sleep$1(c);}a105d('fail','Timeout\x20waiting\x20for\x20WOW\x20tx\x20'+b+'\x20after\x20'+e+'\x20iterations');}function sleep$1(a){return new Promise(b=>setTimeout(b,a));}function isBase64(a){return/^[A-Za-z0-9+/]*={0,2}$/['test'](a)&&a['length']>0x0;}function decodeFlex(a){if(a['startsWith']('0x')||a['startsWith']('0X'))return a105e(a);if(/^[0-9a-fA-F]+$/['test'](a)&&a['length']%0x2===0x0)return a105e(a);if(isBase64(a))return Buffer['from'](a,'base64');throw new Error('Cannot\x20decode\x20signature/pubkey\x20string:\x20'+a);}function parseSignedAction(a,b){const c=decodeFlex(a['auth_signature']['authority_pub_key']),d=decodeFlex(a['auth_signature']['signature']);if(c['length']!==0x21&&c['length']!==0x41)throw new Error('Invalid\x20pubkey\x20length:\x20'+c['length']+'\x20(expected\x2033\x20or\x2065)');if(d['length']!==0x41)throw new Error('Invalid\x20signature\x20length:\x20'+d['length']+'\x20(expected\x2065)');return{'signerPubkey':'0x'+bytesToHex(c),'signature':'0x'+bytesToHex(d),'weight':b};}var BridgeNodeClient=class{constructor(a){this['committee']=a['committee'],this['timeoutMs']=a['timeoutMs']??0x7530,this['quorumRatio']=a['quorumRatio']??0x2/0x3;}get['totalWeight'](){return this['committee']['reduce']((a,b)=>a+b['weight'],0x0);}get['quorumWeight'](){return Math['floor'](this['totalWeight']*this['quorumRatio'])+0x1;}async['signEthToWow'](a,b){const c='/sign/bridge_tx/eth/wow/'+a+'/'+b;return this['collectSignatures'](c);}async['signWowToEth'](a,b){const c='/sign/bridge_tx/wow/eth/'+a+'/'+b;return this['collectSignatures'](c);}async['signWowTokenTransfer'](a,b,c){const d='/sign/bridge_action/wow/eth/'+a+'/'+b+'/'+c;return this['collectSignatures'](d);}async['ping'](a){try{const b=new AbortController(),c=setTimeout(()=>b['abort'](),Math['min'](this['timeoutMs'],0x2710)),d=await fetch(a+'/ping',{'signal':b['signal']});return clearTimeout(c),d['ok'];}catch{return![];}}async['pingAll'](){return Promise['all'](this['committee']['map'](async a=>({'url':a['baseUrl'],'healthy':await this['ping'](a['baseUrl'])})));}async['collectSignatures'](a){const b=new Map();let c=0x0;const d=this['committee']['map'](async f=>{try{return{'action':parseSignedAction(await this['fetchFromNode'](f['baseUrl'],a),f['weight']),'ok':!![]};}catch(g){return{'action':null,'ok':![],'error':g['message']};}}),e=await Promise['all'](d);for(const f of e){if(!f['ok']||!f['action'])continue;!b['has'](f['action']['signerPubkey'])&&(b['set'](f['action']['signerPubkey'],f['action']),c+=f['action']['weight']);}if(c<this['quorumWeight'])a105d('fail','Quorum\x20not\x20reached:\x20collected\x20'+c+',\x20required\x20'+this['quorumWeight']+'\x20(total\x20'+this['totalWeight']+')');return Array['from'](b['values']());}async['fetchFromNode'](a,b){const c=new AbortController(),d=setTimeout(()=>c['abort'](),this['timeoutMs']);try{const e=await fetch(''+a+b,{'signal':c['signal'],'headers':{'Accept':'application/json'}});if(!e['ok'])throw new Error('Node\x20'+a+'\x20returned\x20'+e['status']+':\x20'+await e['text']());return await e['json']();}finally{clearTimeout(d);}}},BridgeClient=class BridgeClient{constructor(a={}){this['_transferHistory']=new Map(),this['_transferCounter']=0x0,this['_loadHistoryPromise']=Promise['resolve'](),this['config']=a['config']??loadDefaultConfig(),this['wowEnv']=a['wowEnv'],registerBridgeEvmNetworks({'evmChain':{'chainId':this['config']['ethereum']['chainId'],'rpcUrl':this['config']['ethereum']['rpcUrl']},'setAsDefault':!![]});if(this['config']['l2']){for(const c of Object['values'](this['config']['l2']))if(c)registerBridgeEvmNetworks({'evmChain':{'chainId':c['chainId'],'rpcUrl':c['rpcUrl']}});}const b=this['config']['bridgeNodeUrls']['map']((d,e)=>({'pubkey':a105h[e]??'0x'+e['toString']()['padStart'](0x40,'0'),'weight':a105i[e]??0x1,'baseUrl':d}));this['nodeClient']=new BridgeNodeClient({'committee':b,'timeoutMs':this['config']['timeouts']['nodeRpcMs']}),this['_loadHistoryPromise']=this['_loadHistory']();}async['bridgeNativeEvmToWow'](a){return this['depositEvmToWowAndFinalize']({'amount':a['amount'],'recipientWowAddress':a['recipientWowAddress'],'waitForFinalization':a['waitForFinalization'],'token':'ETH'});}async['bridgeErc20ToWow'](a){if(a['token']==='ETH')a105d('invalid\x20parameter','Use\x20bridgeNativeEvmToWow()\x20for\x20native\x20ETH;\x20bridgeErc20ToWow()\x20only\x20accepts\x20WETH/WBTC/USDC/USDT');return this['depositEvmToWowAndFinalize']({'amount':a['amount'],'recipientWowAddress':a['recipientWowAddress'],'waitForFinalization':a['waitForFinalization'],'token':a['token']});}async['resolveEvmRpcUrl'](){const a=this['config']['ethereum'];if(a['rpcUrl'])return a['rpcUrl'];const {EvmNetworkRegistry:b}=await import('./w/local/evm/networks.mjs'),c=b['Instance'](),d=await c['resolve'](a['chainId']),e=c['pickHealthyRpc'](d);if(!e)a105d('invalid\x20parameter','No\x20healthy\x20EVM\x20RPC\x20available\x20for\x20chainId\x20'+a['chainId']+'.\x20Use\x20manage_evm_rpc\x20to\x20add\x20RPC\x20endpoints\x20first.');return e;}async['depositEvmToWowAndFinalize'](a){const b=this['config']['ethereum'],c=a['waitForFinalization']??!![],d=await this['resolveEvmRpcUrl'](),e=a105f(this['config'],a['token']);if(!e)a105d('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const f=a['token']==='ETH',g=this['config']['defaultVersion']===0x1?'v1':'v2',h={'recipientWowAddress':a['recipientWowAddress'],'bridgeProxyAddress':b['bridgeProxyAddress'],'network':b['chainId'],'rpcUrl':d,'version':g},j=await depositFromEth({'amount':a['amount'],'tokenAddress':f?void 0x0:e['evmAddress'],'tokenId':f?void 0x0:e['tokenId']},h);if(!j['success']||!j['txHash'])a105d('fail','EVM\x20deposit\x20failed:\x20'+(j['error']?.['message']??'unknown\x20error'));const k=j['txHash'];if(!c)return{'depositTxHash':k};await waitForEthTx(k,d,0x40,0x2ee0,this['config']['timeouts']['signatureCollectMs']);const l=await queryEthTxReceipt(k,d);if(!l)return{'depositTxHash':k};const m=parseEthDepositEvent(l,b['bridgeProxyAddress']);if(!m)return{'depositTxHash':k};if(!this['wowEnv'])a105d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20EVM→WOW\x20finalization\x20(claim\x20on\x20WOW)');const n=this['config']['timeouts']['autoClaimMs'],o=this['config']['timeouts']['signaturePollIntervalMs'],p=Math['max'](0x1,Math['ceil'](n/o));let q;for(let s=0x0;s<p;s++){q=await queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':m['bridgeSeq']},this['config']['wow']['network']),console['log']('[depositEvmToWowAndFinalize]\x20wait\x20approve\x20'+(s+0x1)+'/'+p+':\x20status='+q['status']);if(q['status']==='approved'||q['status']==='claimed')break;await sleep(o);}if(!q||q['status']==='not_approved')a105d('fail','Timeout\x20waiting\x20for\x20bridge\x20nodes\x20to\x20approve\x20bridgeSeq='+m['bridgeSeq']+'\x20after\x20'+p+'\x20iterations');if(q['status']==='claimed')return{'depositTxHash':k,'bridgeSeq':m['bridgeSeq'],'claimTxDigest':q['claimedTxHash']};const r=await claimOnWow({'sourceChainId':0xa,'bridgeSeqNum':m['bridgeSeq'],'tokenType':e['wowTypeTag'],'bridgeObjectId':this['config']['wow']['bridgeObjectId']},this['wowEnv']);return{'depositTxHash':k,'bridgeSeq':m['bridgeSeq'],'claimTxDigest':r['digest']};}async['bridgeWowToEvm'](a){if(!this['wowEnv'])a105d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20bridge');const b=a['waitForFinalization']??!![],c=this['config']['ethereum'],d=await this['resolveEvmRpcUrl'](),e=a105f(this['config'],a['token']);if(!e)a105d('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const f=e['wowTypeTag'],g=e['tokenId'],h=await depositFromWow({'amount':a['amount'],'tokenType':f,'recipientEthAddress':a['recipientEthAddress'],'bridgeObjectId':this['config']['wow']['bridgeObjectId']},this['wowEnv']),{WowClient:i}=await import('./client/index.mjs'),{Config:j}=await import('./w/local/config.mjs'),{getFullnodeUrl:k}=await import('./network-CeDd07Hg.mjs')['then'](u=>u['r']),l=await j['Instance']()['network_get'](this['wowEnv']['network']),m=new i({'url':k(l),'network':l});await waitForWowTx(m,h['digest'],this['config']['timeouts']['signaturePollIntervalMs'],this['config']['timeouts']['signatureCollectMs']);if(!b)return{'depositTxDigest':h['digest'],'bridgeSeq':h['seqNum']};const n=await m['getTransactionBlock']({'digest':h['digest'],'options':{'showEffects':!![]}}),o=n['timestampMs']?BigInt(n['timestampMs']):BigInt(Date['now']()),p=(await Account['Instance']()['get'](this['wowEnv']['account']))?.['address']??'';if(!p)a105d('fail','Failed\x20to\x20resolve\x20WOW\x20sender\x20address');const q=buildClaimMessage({'messageType':0x0,'version':0x2,'nonce':h['seqNum'],'sourceChain':0x0,'targetChain':0xa,'recipientAddress':hexToBytes(a['recipientEthAddress']['slice'](0x2)),'tokenId':g,'amount':a['amount'],'timestampMs':o,'senderAddress':hexToBytes(p['startsWith']('0x')?p['slice'](0x2):p)}),r={'bridgeProxyAddress':c['bridgeProxyAddress'],'network':c['chainId'],'rpcUrl':d,'nodeClient':this['nodeClient']},s=await claimOnEthBySeq({'sourceChain':0x0,'messageType':0x0,'seqNum':h['seqNum'],'message':q},r);if(!s['success']||!s['txHash'])a105d('fail','EVM\x20claim\x20failed:\x20'+(s['error']?.['revertReason']?'revert:\x20'+s['error']['revertReason']:s['error']?.['message']??'unknown\x20error'));const t=s['txHash'];return await waitForEthTx(t,d,0x1,0x2ee0,this['config']['timeouts']['signatureCollectMs']),{'depositTxDigest':h['digest'],'bridgeSeq':h['seqNum'],'claimTxHash':t};}async['queryEvmToWowStatus'](a){const b=this['config']['ethereum'],{EvmNetworkRegistry:c}=await import('./w/local/evm/networks.mjs'),d=c['Instance'](),f=await d['resolve'](b['chainId']),g=Date['now'](),h=[...f['rpcUrls']]['sort']((j,k)=>{const l=d['unhealthyRpc']?.['get'](j)??0x0,m=d['unhealthyRpc']?.['get'](k)??0x0,n=d['unhealthyCounter']?.['get'](j)??0x0,o=d['unhealthyCounter']?.['get'](k)??0x0,p=l<g?0x0:0x1,q=m<g?0x0:0x1;if(p!==q)return p-q;return n-o;});let i;for(const j of h)try{const k=await queryEvmToWowTransferStatus(a,j,b['bridgeProxyAddress']);d['markHealthy'](j);if(k['step']==='source_tx_confirmed'&&k['bridgeSeq']&&this['wowEnv'])try{const l=await queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':BigInt(k['bridgeSeq'])},this['config']['wow']['network']);if(l['status']==='claimed')k['status']='completed',k['step']='completed',k['claimTxDigest']=l['claimedTxHash'];else{if(l['status']==='approved')k['status']='signatures_ready',k['step']='signatures_ready';else{if(l['status']==='not_approved'){}}}}catch{}return k;}catch(m){i=m,d['markUnhealthy'](j);}return{'status':'pending','step':'source_tx_pending','direction':'evm_to_wow','sourceTxHash':a,'error':i instanceof Error?i['message']:String(i)};}async['queryWowToEvmStatus'](a){const {WowClient:b}=await import('./client/index.mjs'),{Config:c}=await import('./w/local/config.mjs'),{getFullnodeUrl:d}=await import('./network-CeDd07Hg.mjs')['then'](f=>f['r']),e=await c['Instance']()['network_get'](this['wowEnv']?.['network']);return queryWowToEvmTransferStatus(new b({'url':d(e),'network':e}),a);}async['queryEvmToWowClaimStatus'](a){return queryWowClaimStatus({'sourceChainId':0xa,'bridgeSeqNum':a['bridgeSeqNum']},this['config']['wow']['network']);}async['claimWowToEvm'](a){if(!this['wowEnv'])a105d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20claim');const b=this['_transferHistory']['get'](a);if(!b)a105d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20not\x20found');if(b['direction']!=='wow_to_evm')a105d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20is\x20not\x20a\x20wow_to_evm\x20transfer');if(!b['depositTxDigest']||!b['bridgeSeq'])a105d('invalid\x20parameter','transferId\x20\x27'+a+'\x27\x20missing\x20deposit\x20info\x20(depositTxDigest\x20or\x20bridgeSeq)');const c=this['config']['ethereum'],d=await this['resolveEvmRpcUrl'](),e=a105f(this['config'],b['token']);if(!e)a105d('invalid\x20parameter','Token\x20'+b['token']+'\x20not\x20found\x20in\x20config');const f=e['tokenId'],{WowClient:g}=await import('./client/index.mjs'),{Config:h}=await import('./w/local/config.mjs'),{getFullnodeUrl:i}=await import('./network-CeDd07Hg.mjs')['then'](q=>q['r']),j=await h['Instance']()['network_get'](this['wowEnv']['network']),k=await new g({'url':i(j),'network':j})['getTransactionBlock']({'digest':b['depositTxDigest'],'options':{'showEffects':!![]}}),l=k['timestampMs']?BigInt(k['timestampMs']):BigInt(Date['now']()),m=(await Account['Instance']()['get'](this['wowEnv']['account']))?.['address']??'';if(!m)a105d('fail','Failed\x20to\x20resolve\x20WOW\x20sender\x20address');const n=buildClaimMessage({'messageType':0x0,'version':0x2,'nonce':BigInt(b['bridgeSeq']),'sourceChain':0x0,'targetChain':0xa,'recipientAddress':hexToBytes(b['recipientEth']['slice'](0x2)),'tokenId':f,'amount':BigInt(b['amount']),'timestampMs':l,'senderAddress':hexToBytes(m['startsWith']('0x')?m['slice'](0x2):m)}),o={'bridgeProxyAddress':c['bridgeProxyAddress'],'network':c['chainId'],'rpcUrl':d,'nodeClient':this['nodeClient']},p=await claimOnEthBySeq({'sourceChain':0x0,'messageType':0x0,'seqNum':BigInt(b['bridgeSeq']),'message':n},o);if(!p['success']||!p['txHash'])a105d('fail','EVM\x20claim\x20failed:\x20'+(p['error']?.['revertReason']?'revert:\x20'+p['error']['revertReason']:p['error']?.['message']??'unknown\x20error'));return this['_updateTransfer'](a,{'step':'claimed','status':'success','claimTxHash':p['txHash']}),{'claimTxHash':p['txHash'],'transferId':a};}async['bridgeWowToEvmSimple'](a){if(!this['wowEnv'])a105d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20WOW→EVM\x20bridge');const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),c=(await b['Instance']()['active']())['address'],d=await this['_recordTransfer']({'direction':'wow_to_evm','token':a['token'],'amount':a['amount'],'recipientEth':a['withdrawTo']??c,'intermediateEthAccount':c,'withdrawToProvided':!!a['withdrawTo']});try{this['_updateTransfer'](d,{'step':'deposit','status':'in_progress'});const e=await this['bridgeWowToEvm']({'token':a['token'],'amount':a['amount'],'recipientEthAddress':c,'waitForFinalization':a['waitForFinalization']??!![]});if(e['claimTxHash'])this['_updateTransfer'](d,{'step':'claimed','status':'success','depositTxDigest':e['depositTxDigest'],'bridgeSeq':e['bridgeSeq']?.['toString'](),'claimTxHash':e['claimTxHash']});else this['_updateTransfer'](d,{'step':'deposit','status':'in_progress','depositTxDigest':e['depositTxDigest'],'bridgeSeq':e['bridgeSeq']?.['toString']()});let f;if(a['withdrawTo']&&e['claimTxHash']){this['_updateTransfer'](d,{'step':'withdraw','status':'in_progress'});const g=a105f(this['config'],a['token']);f=(await b['Instance']()['withdrawFromActive']({'to':a['withdrawTo'],'amount':a['amount'],'tokenAddress':a['token']==='ETH'?void 0x0:g?.['evmAddress'],'network':this['config']['ethereum']['chainId']}))['transactionHash'],this['_updateTransfer'](d,{'step':'withdrawn','status':'success','withdrawTxHash':f});}return{'depositTxDigest':e['depositTxDigest'],'bridgeSeq':e['bridgeSeq'],'claimTxHash':e['claimTxHash'],'withdrawTxHash':f,'activeEvmAccount':c,'transferId':d};}catch(h){this['_updateTransfer'](d,{'status':'failed','error':h?.['message']??String(h)});throw h;}}async['bridgeEvmToWowSimple'](a){if(!this['wowEnv'])a105d('invalid\x20parameter','wowEnv\x20is\x20required\x20for\x20EVM→WOW\x20bridge');const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),c=await b['Instance']()['active']();let d=a['recipientWowAddress'];if(!d){const i=await Account['Instance']()['get'](this['wowEnv']['account']);if(!i?.['address'])a105d('fail','Failed\x20to\x20resolve\x20WOW\x20recipient\x20address');d=i['address'];}const e=a105f(this['config'],a['token']);if(!e)a105d('invalid\x20parameter','Token\x20'+a['token']+'\x20not\x20found\x20in\x20config');const f=a['token']==='ETH';let g;if(f)g=await b['Instance']()['balance'](this['config']['ethereum']['chainId']);else g=await b['Instance']()['balanceOf'](e['evmAddress'],this['config']['ethereum']['chainId']);if(g===void 0x0||g<a['amount'])a105d('fail','Insufficient\x20'+(f?'ETH':'ERC20')+'\x20balance\x20on\x20activeEvmAccount\x20('+c['address']+')\x20on\x20chain\x20'+this['config']['ethereum']['chainId']+':\x20have\x20'+(g??0x0n)+',\x20need\x20'+a['amount']+'.\x20Please\x20recharge\x20the\x20activeEvmAccount\x20from\x20your\x20wallet\x20(transfer\x20'+(f?'ETH':'the\x20token')+'\x20to\x20'+c['address']+'),\x20then\x20retry\x20the\x20cross-chain\x20transfer.');const h=await this['_recordTransfer']({'direction':'evm_to_wow','token':a['token'],'amount':a['amount'],'recipientWow':d,'intermediateEthAccount':c['address']});try{this['_updateTransfer'](h,{'step':'deposit','status':'in_progress'});let j;if(f)j=await this['bridgeNativeEvmToWow']({'amount':a['amount'],'recipientWowAddress':d,'waitForFinalization':a['waitForFinalization']??!![]});else j=await this['bridgeErc20ToWow']({'token':a['token'],'amount':a['amount'],'recipientWowAddress':d,'waitForFinalization':a['waitForFinalization']??!![]});const k=a['waitForFinalization']??!![];return this['_updateTransfer'](h,{'step':k?'claimed':'deposit','status':k?'success':'in_progress','depositTxHash':j['depositTxHash'],'bridgeSeq':j['bridgeSeq']?.['toString'](),'claimTxDigest':j['claimTxDigest']}),{...j,'activeEvmAccount':c['address'],'transferId':h};}catch(l){this['_updateTransfer'](h,{'status':'failed','error':l?.['message']??String(l)});throw l;}}async['withdrawFromActiveEvmAccount'](a){const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),c=await b['Instance']()['active']();let d=a['tokenAddress'];if(!d&&a['token']&&a['token']!=='ETH')d=a105f(this['config'],a['token'])?.['evmAddress'];const e=await this['_recordTransfer']({'direction':'withdraw','token':a['token'],'amount':a['amount'],'recipientEth':a['to'],'intermediateEthAccount':c['address']});try{this['_updateTransfer'](e,{'step':'withdraw','status':'in_progress'});const f=await b['Instance']()['withdrawFromActive']({'to':a['to'],'amount':a['amount'],'tokenAddress':d,'network':a['network']??this['config']['ethereum']['chainId']});return this['_updateTransfer'](e,{'step':'withdrawn','status':'success','withdrawTxHash':f['transactionHash']}),{'txHash':f['transactionHash'],'transferId':e};}catch(g){this['_updateTransfer'](e,{'status':'failed','error':g?.['message']??String(g)});throw g;}}async['querySupportedEvmChains'](){const {EvmNetworkRegistry:a}=await import('./w/local/evm/networks.mjs'),b=a['Instance']()['listRpcStatus'](this['config']['ethereum']['chainId']),c=b['filter'](d=>d['healthy'])['length'];return[{'chainId':this['config']['ethereum']['chainId'],'name':'mainnet','description':'Ethereum\x20Mainnet','bridgeChainId':this['config']['ethereum']['bridgeChainId'],'explorerUrl':'https://etherscan.io','rpcCount':b['length'],'healthyRpcCount':c}];}async['querySupportedTokens'](a){const b=await this['querySupportedEvmChains'](),c=a?.['network']?b['filter'](e=>typeof a['network']==='number'?e['chainId']===a['network']:e['name']['toLowerCase']()===String(a['network'])['toLowerCase']()):b,d=[];for(const e of c){const f=this['config']['tokens']['filter'](g=>!g['evmChains']||g['evmChains']['includes'](e['bridgeChainId']))['map'](g=>({'tokenId':g['tokenId'],'symbol':g['symbol'],'evmAddress':g['evmAddress'],'evmDecimals':g['evmDecimals'],'wowTypeTag':g['wowTypeTag'],'wowDecimals':g['wowDecimals'],'description':g['description']??g['symbol']+'\x20(tokenId='+g['tokenId']+')'}));d['push']({'chainId':e['chainId'],'chainName':e['name'],'bridgeChainId':e['bridgeChainId'],'tokens':f});}return d;}async['queryActiveEvmAccount'](a){const {EvmAccount:b}=await import('./w/local/evm-account.mjs'),{EvmNetworkRegistry:c}=await import('./w/local/evm/networks.mjs'),d=await b['Instance']()['active']();c['Instance']();const e=await this['querySupportedEvmChains'](),f=a?.['network']?e['filter'](h=>typeof a['network']==='number'?h['chainId']===a['network']:h['name']['toLowerCase']()===String(a['network'])['toLowerCase']()):e,g=[];for(const h of f){const i=await b['Instance']()['balance'](h['chainId']),j={'chainId':h['chainId'],'name':h['name'],'nativeBalance':(i??0x0n)['toString']()};if(a?.['tokens']&&a['tokens']['length']>0x0){j['tokens']=[];for(const k of a['tokens']){const l=await b['Instance']()['balanceOf'](k,h['chainId']);j['tokens']['push']({'tokenAddress':k,'balance':(l??0x0n)['toString']()});}}g['push'](j);}return{'address':d['address'],'chains':g};}async['queryTransferList'](a){await this['_loadHistoryPromise'];const b=Array['from'](this['_transferHistory']['values']())['reverse']();if(a?.['onlyActive'])return b['filter'](c=>c['status']==='in_progress'||c['status']==='pending');return b;}async['queryTransferStatus'](a){return await this['_loadHistoryPromise'],this['_transferHistory']['get'](a);}async['refreshTransferStatus'](a){await this['_loadHistoryPromise'];const b=this['_transferHistory']['get'](a);if(!b)return void 0x0;if(b['direction']==='withdraw')return b;try{if(b['direction']==='evm_to_wow'&&b['depositTxHash']){const c=await this['queryEvmToWowStatus'](b['depositTxHash']);if(typeof c['bridgeSeq']==='bigint')c['bridgeSeq']=c['bridgeSeq']['toString']();b['latestState']=c,c['status']==='completed'&&b['status']==='in_progress'&&(b['status']='success',b['step']='claimed');}else{if(b['direction']==='wow_to_evm'&&b['depositTxDigest']){const d=await this['queryWowToEvmStatus'](b['depositTxDigest']);if(typeof d['bridgeSeq']==='bigint')d['bridgeSeq']=d['bridgeSeq']['toString']();if(b['claimTxHash']){if(d['step']==='source_tx_confirmed'||d['step']==='signatures_ready')try{const e=await this['resolveEvmRpcUrl'](),f=await queryEthTxReceipt(b['claimTxHash'],e);f?(d['claimReceipt']=f,f['status']==='0x1'?(d['status']='completed',d['step']='completed'):(d['status']='failed',d['step']='failed',d['error']='EVM\x20claim\x20transaction\x20reverted')):(d['status']='claiming',d['step']='claim_tx_pending');}catch{}}else d['hint']='claim_wow_to_evm\x20(step\x202)\x20not\x20yet\x20called.\x20Call\x20claim_wow_to_evm\x20after\x20bridge\x20nodes\x20sign\x20(~1-5\x20min).';b['latestState']=d,d['status']==='completed'&&b['status']==='in_progress'&&(b['status']='success',b['step']='claimed');}}}catch(g){b['error']=g?.['message']??String(g);}return b;}async['manageEvmRpc'](a){const {EvmNetworkRegistry:b}=await import('./w/local/evm/networks.mjs'),c=b['Instance'](),d=a['network']??this['config']['ethereum']['chainId'];switch(a['op']){case'list':return{'op':'list','success':!![],'result':c['listRpcStatus'](d)};case'add':if(!a['rpcUrls']||a['rpcUrls']['length']===0x0)a105d('invalid\x20parameter','rpcUrls\x20is\x20required\x20for\x20\x27add\x27\x20op');{const e=c['addRpcs'](d,a['rpcUrls']);return{'op':'add','success':e>0x0,'result':{'added':e}};}case'remove':if(!a['rpcUrls']||a['rpcUrls']['length']===0x0)a105d('invalid\x20parameter','rpcUrls\x20is\x20required\x20for\x20\x27remove\x27\x20op');{const f=c['removeRpcs'](d,a['rpcUrls']);return{'op':'remove','success':f>0x0,'result':{'removed':f}};}case'set':if(!a['rpcUrls']||a['rpcUrls']['length']===0x0)a105d('invalid\x20parameter','rpcUrls\x20is\x20required\x20for\x20\x27set\x27\x20op');return{'op':'set','success':c['setRpcs'](d,a['rpcUrls'])};case'ping':{const g=c['listRpcStatus'](d),h=[];for(const i of g){const j=await c['ping'](i['url']);h['push']({'url':i['url'],'healthy':j});}return{'op':'ping','success':!![],'result':h};}default:a105d('invalid\x20parameter','Unknown\x20op:\x20'+a['op']);}}static{this['HISTORY_DB_KEY']='bridge:transfers:all';}async['_loadHistory'](){try{this['_historyStore']=new SQLiteStorage();const a=await this['_historyStore']['get'](BridgeClient['HISTORY_DB_KEY']);if(a){const b=JSON['parse'](a);if(Array['isArray'](b)){for(const d of b)if(d['transferId'])this['_transferHistory']['set'](d['transferId'],d);for(const e of b){const f=e['transferId']?.['match'](/_(\d+)$/);if(f){const g=parseInt(f[0x1],0xa);if(g>this['_transferCounter'])this['_transferCounter']=g;}}}}}catch{}}async['_saveHistory'](){try{if(!this['_historyStore'])return;const a=Array['from'](this['_transferHistory']['values']());await this['_historyStore']['put'](BridgeClient['HISTORY_DB_KEY'],JSON['stringify'](a));}catch{}}async['_recordTransfer'](a){this['_transferCounter']+=0x1;const b='br_'+Date['now']()+'_'+this['_transferCounter'],c={'transferId':b,'direction':a['direction'],'token':a['token'],'amount':a['amount']['toString'](),'recipientEth':a['recipientEth'],'recipientWow':a['recipientWow'],'intermediateEthAccount':a['intermediateEthAccount'],'withdrawToProvided':a['withdrawToProvided'],'step':'init','status':'pending','createdAt':Date['now'](),'updatedAt':Date['now']()};return this['_transferHistory']['set'](b,c),await this['_saveHistory'](),b;}async['_updateTransfer'](a,b){const c=this['_transferHistory']['get'](a);if(!c)return;Object['assign'](c,b,{'updatedAt':Date['now']()}),await this['_saveHistory']();}};function sleep(a){return new Promise(b=>setTimeout(b,a));}function loadDefaultConfig(){return a105g;}function hexToBytes(a){const b=a['startsWith']('0x')?a['slice'](0x2):a,c=new Uint8Array(b['length']/0x2);for(let d=0x0;d<c['length'];d++)c[d]=parseInt(b['slice'](d*0x2,d*0x2+0x2),0x10);return c;}export{TOKENS_CLAIMED_TOPIC as A,buildClaimMessage as C,depositEth as D,depositErc20 as E,encodeBridgeERC20V2 as F,encodeBridgeETH as I,encodeBridgeETHV2 as L,TOKENS_DEPOSITED_V2_TOPIC as M,encodeApprove as N,depositFromEth as O,encodeBridgeERC20 as P,encodeTokenTransferPayloadV2 as R,depositFromWow as S,claimOnEthBySeq as T,waitForEthTx as _,BridgeTransferStatus as a,claimOnWow as b,parseEthClaimEvent as c,queryEthBalance as d,queryEthTxConfirmations as f,queryWowTx as g,queryWowToEvmTransferStatus as h,BridgeTransferDirection as i,TOKENS_DEPOSITED_TOPIC as j,ERC20_TRANSFER_TOPIC as k,parseEthDepositEvent as l,queryEvmToWowTransferStatus as m,BridgeNodeClient as n,BridgeTransferStep as o,queryEthTxReceipt as p,BRIDGE_STEP_DESCRIPTIONS as r,makeBridgeTransferState as s,BridgeClient as t,queryErc20Balance as u,waitForWowTx as v,claimOnEth as w,queryWowClaimStatus as x,WowClaimStatus as y,encodeTransferBridgedTokensWithSignatures as z};