@wowok/wowok 2.7.8 → 2.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/{arb-DZ5-FP7_.mjs → arb-JMhHn5kY.mjs} +1 -1
- package/dist/esm/{base-f1zBnHpg.mjs → base-o08Syk_8.mjs} +1 -1
- package/dist/esm/{call-auKyfjK7.mjs → call-CtePYECR.mjs} +1 -1
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/{client-CTMCNWFH.mjs → client-oE69u-rK.mjs} +1 -1
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/{graphql-B-ccXDHR.mjs → graphql-DyX3W1VP.mjs} +1 -1
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/{grpc-BOYXM3Gp.mjs → grpc-BfuVFCn4.mjs} +1 -1
- package/dist/esm/{index-CfOec8aL.d.mts → index-OlNG95EF.d.mts} +13 -4
- package/dist/esm/index.d.mts +2 -3
- package/dist/esm/index.mjs +1 -1
- package/dist/esm/jsonRpc/index.d.mts +1 -1
- package/dist/esm/jsonRpc/index.mjs +1 -1
- package/dist/esm/keypairs/ed25519/index.d.mts +1 -1
- package/dist/esm/keypairs/falcon512/index.d.mts +1 -1
- package/dist/esm/keypairs/passkey/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256k1/index.d.mts +1 -1
- package/dist/esm/keypairs/secp256r1/index.d.mts +1 -1
- package/dist/esm/{messenger-BYQYMKsr.mjs → messenger-B-CSCV8C.mjs} +1 -1
- package/dist/esm/{messenger-api-hJXTikF9.mjs → messenger-api-DTnmFsT-.mjs} +1 -1
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/multisig/index.mjs +1 -1
- package/dist/esm/network-y8yMus5q.mjs +1 -1
- package/dist/esm/{object-Ddewar4L.mjs → object-CJHJxXlc.mjs} +1 -1
- package/dist/esm/passkey-hU0KN8tj.mjs +1 -1
- package/dist/esm/{passport-9xWbg5h4.mjs → passport-B5g5Rv9_.mjs} +1 -1
- package/dist/esm/proof-pOwly4FL.mjs +1 -0
- package/dist/esm/publickey-C1XTriFK.mjs +1 -1
- package/dist/esm/publickey-CO7mE1h4.mjs +1 -1
- package/dist/esm/publickey-CaeLjex_.mjs +1 -1
- package/dist/esm/publickey-CvsHmrwa.mjs +1 -1
- package/dist/esm/publickey-D1qNOZY_.mjs +1 -1
- package/dist/esm/publickey-DioRydm4.mjs +1 -1
- package/dist/esm/{query-DNcY8aRP.mjs → query-BDY4w7pA.mjs} +1 -1
- package/dist/esm/{received-B6OMjPC0.mjs → received-D0KPLcZ8.mjs} +1 -1
- package/dist/esm/secp256k1-DbTX5WTS.mjs +1 -1
- package/dist/esm/secp256r1-tIVPNUMT.mjs +1 -1
- package/dist/esm/{service-BdbL5IK5.mjs → service-Rz5iSVL2.mjs} +1 -1
- package/dist/esm/storage-j7eJYpqQ.mjs +1 -0
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/{util-Bgqh9uNb.mjs → util-Bwj83MFX.mjs} +1 -1
- package/dist/esm/verify/index.d.mts +1 -1
- package/dist/esm/w/call/allocation.d.mts +1 -1
- package/dist/esm/w/call/allocation.mjs +1 -1
- package/dist/esm/w/call/arbitration.d.mts +1 -1
- package/dist/esm/w/call/arbitration.mjs +1 -1
- package/dist/esm/w/call/base.d.mts +1 -1
- package/dist/esm/w/call/base.mjs +1 -1
- package/dist/esm/w/call/demand.d.mts +1 -1
- package/dist/esm/w/call/demand.mjs +1 -1
- package/dist/esm/w/call/guard.d.mts +1 -1
- package/dist/esm/w/call/guard.mjs +1 -1
- package/dist/esm/w/call/index.d.mts +1 -1
- package/dist/esm/w/call/index.mjs +1 -1
- package/dist/esm/w/call/machine.d.mts +1 -1
- package/dist/esm/w/call/machine.mjs +1 -1
- package/dist/esm/w/call/passport.d.mts +1 -1
- package/dist/esm/w/call/passport.mjs +1 -1
- package/dist/esm/w/call/payment.d.mts +1 -1
- package/dist/esm/w/call/payment.mjs +1 -1
- package/dist/esm/w/call/permission.d.mts +1 -1
- package/dist/esm/w/call/permission.mjs +1 -1
- package/dist/esm/w/call/progress.d.mts +1 -1
- package/dist/esm/w/call/progress.mjs +1 -1
- package/dist/esm/w/call/repository.d.mts +1 -1
- package/dist/esm/w/call/repository.mjs +1 -1
- package/dist/esm/w/call/reward.d.mts +1 -1
- package/dist/esm/w/call/reward.mjs +1 -1
- package/dist/esm/w/call/service.d.mts +1 -1
- package/dist/esm/w/call/service.mjs +1 -1
- package/dist/esm/w/call/treasury.d.mts +1 -1
- package/dist/esm/w/call/treasury.mjs +1 -1
- package/dist/esm/w/common.d.mts +1 -1
- package/dist/esm/w/index.d.mts +2 -3
- package/dist/esm/w/index.mjs +1 -1
- package/dist/esm/w/local/account.d.mts +2 -2
- package/dist/esm/w/local/account.mjs +1 -1
- package/dist/esm/w/local/cache.mjs +1 -1
- package/dist/esm/w/local/config.mjs +1 -1
- package/dist/esm/w/local/evm/networks.mjs +1 -1
- package/dist/esm/w/local/evm-account.mjs +1 -1
- package/dist/esm/w/local/index.d.mts +2 -3
- package/dist/esm/w/local/index.mjs +1 -1
- package/dist/esm/w/local/local.mjs +1 -1
- package/dist/esm/w/local/secure-storage.mjs +1 -1
- package/dist/esm/w/local/storage.mjs +1 -1
- package/dist/esm/w/local/token.d.mts +1 -1
- package/dist/esm/w/local/token.mjs +1 -1
- package/dist/esm/w/local/util.mjs +1 -1
- package/dist/esm/w/local/wip.mjs +1 -1
- package/dist/esm/w/messenger/index.d.mts +1 -1
- package/dist/esm/w/messenger/index.mjs +1 -1
- package/dist/esm/w/messenger/messenger-api.d.mts +1 -1
- package/dist/esm/w/messenger/messenger-api.mjs +1 -1
- package/dist/esm/w/messenger/messenger.d.mts +1 -1
- package/dist/esm/w/messenger/messenger.mjs +1 -1
- package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
- package/dist/esm/w/messenger/reply.d.mts +1 -1
- package/dist/esm/w/messenger/storage.d.mts +1 -1
- package/dist/esm/w/messenger/storage.mjs +1 -1
- package/dist/esm/w/messenger/types.d.mts +1 -1
- package/dist/esm/w/query/index.d.mts +2 -2
- package/dist/esm/w/query/index.mjs +1 -1
- package/dist/esm/w/query/object.d.mts +1 -1
- package/dist/esm/w/query/object.mjs +1 -1
- package/dist/esm/w-CRLsrxnb.mjs +1 -0
- package/package.json +1 -4
- package/dist/esm/lock-QdrQzo0u.mjs +0 -1
- package/dist/esm/project-B3Z3z_Z_.d.mts +0 -246
- package/dist/esm/proof-Du71Cy6u.mjs +0 -1
- package/dist/esm/w/local/project.d.mts +0 -2
- package/dist/esm/w/local/project.mjs +0 -1
- package/dist/esm/w-DNJ63FSn.mjs +0 -1
package/dist/esm/w/local/wip.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getWowokWorkspaceDir}from'./util.mjs';import{r as a89a}from'../../logger-Cs5Mf7Mf.mjs';import{sha256}from'@noble/hashes/sha2.js';import{bytesToHex}from'@noble/hashes/utils.js';import*as a89b from'path';import*as a89c from'fs';import*as a89d from'https';import*as a89e from'http';const logger=a89a('wip'),WIP_SCHEMA_URL='https://github.com/wowok-ai/docs/blob/main/WIP.md',WIP_VERSION='1.0.0',DEFAULT_LIMITS={'maxImageSize':0x2*0x400*0x400,'maxTotalSize':0xa*0x400*0x400,'maxImageCount':0xa,'maxTextLength':0x2710};var WipError=class extends Error{constructor(a){super(a),this['name']='WipError';}},WipValidationError=class extends WipError{constructor(a){super(a),this['name']='WipValidationError';}},WipSizeError=class extends WipError{constructor(a){super(a),this['name']='WipSizeError';}};function detectMimeType(a){if(a['length']>=0x4&&a[0x0]===0x89&&a[0x1]===0x50&&a[0x2]===0x4e&&a[0x3]===0x47)return'image/png';if(a['length']>=0x3&&a[0x0]===0xff&&a[0x1]===0xd8&&a[0x2]===0xff)return'image/jpeg';if(a['length']>=0x6&&a[0x0]===0x47&&a[0x1]===0x49&&a[0x2]===0x46)return'image/gif';if(a['length']>=0xc&&a[0x0]===0x52&&a[0x1]===0x49&&a[0x2]===0x46&&a[0x3]===0x46&&a[0x8]===0x57&&a[0x9]===0x45&&a[0xa]===0x42&&a[0xb]===0x50)return'image/webp';return null;}function uint8ArrayToBase64(a){let b='';const c=a['length'];for(let d=0x0;d<c;d++)b+=String['fromCharCode'](a[d]);return btoa(b);}function base64ToUint8Array(a){const b=atob(a),c=b['length'],d=new Uint8Array(c);for(let e=0x0;e<c;e++)d[e]=b['charCodeAt'](e);return d;}function canonicalizeJson(a){if(a===null||typeof a!=='object')return JSON['stringify'](a);if(Array['isArray'](a))return'['+a['map'](canonicalizeJson)['join'](',')+']';const b=a;return'{'+Object['keys'](b)['sort']()['map'](c=>'\x22'+c+'\x22:'+canonicalizeJson(b[c]))['join'](',')+'}';}function computeHash(a){return bytesToHex(sha256(new TextEncoder()['encode'](a)));}function generateId(a){return a+'-'+Date['now']()['toString'](0x24)+'-'+Math['random']()['toString'](0x24)['substring'](0x2,0x8);}function getExtensionFromMimeType(a){return{'image/png':'png','image/jpeg':'jpg','image/gif':'gif','image/webp':'webp'}[a]||'bin';}var ResourceLoader=class{constructor(a){this['maxSize']=a;}async['load'](a){if(!a||a['trim']()==='')throw new WipError('WIP\x20file\x20path\x20cannot\x20be\x20empty');if(a['startsWith']('data:'))return this['loadFromDataUrl'](a);if(a['startsWith']('http://')||a['startsWith']('https://'))return this['loadFromNetwork'](a);return this['loadFromFile'](a);}['loadFromDataUrl'](a){const b=a['match'](/^data:image\/(\w+);base64,(.+)$/);if(!b)throw new WipValidationError('Invalid\x20data\x20URL\x20format:\x20'+a['substring'](0x0,0x32)+'...');const c=b[0x2];try{return base64ToUint8Array(c);}catch(d){throw new WipError('Failed\x20to\x20decode\x20data\x20URL:\x20'+d);}}async['loadFromNetwork'](a){return new Promise((b,c)=>{const d=setTimeout(()=>{c(new WipError('Network\x20timeout\x20while\x20fetching:\x20'+a));},0x7530),e=a['startsWith']('https:'),f=e?a89d:a89e,g={'headers':{'Accept':'application/json,*/*'}};if(e)g['rejectUnauthorized']=![];f['get'](a,g,h=>{clearTimeout(d);if(h['statusCode']!==0xc8){c(new WipError('Failed\x20to\x20fetch:\x20'+h['statusCode']+'\x20'+h['statusMessage']));return;}const i=h['headers']['content-length'];if(i&&parseInt(i)>this['maxSize']){c(new WipSizeError('Resource\x20from\x20'+a+'\x20size\x20('+i+'\x20bytes)\x20exceeds\x20limit\x20('+this['maxSize']+'\x20bytes)'));return;}const j=[];h['on']('data',k=>{j['push'](k);}),h['on']('end',()=>{const k=Buffer['concat'](j);if(k['length']>this['maxSize']){c(new WipSizeError('Resource\x20from\x20'+a+'\x20size\x20('+k['length']+'\x20bytes)\x20exceeds\x20limit\x20('+this['maxSize']+'\x20bytes)'));return;}b(new Uint8Array(k));}),h['on']('error',k=>{c(new WipError('Network\x20error:\x20'+k['message']));});})['on']('error',h=>{clearTimeout(d),c(new WipError('Network\x20error:\x20'+h['message']));});});}['loadFromFile'](a){const b=a89b['resolve'](a);if(!a89c['existsSync'](b))throw new WipError('File\x20not\x20found:\x20'+b);const c=a89c['statSync'](b);if(!c['isFile']())throw new WipError('Path\x20is\x20not\x20a\x20file:\x20'+b);if(c['size']>this['maxSize'])throw new WipSizeError('File\x20'+b+'\x20size\x20('+c['size']+'\x20bytes)\x20exceeds\x20limit\x20('+this['maxSize']+'\x20bytes)');const d=a89c['readFileSync'](b);return new Uint8Array(d);}},WIP=class{constructor(a={}){this['limits']={...DEFAULT_LIMITS,...a},this['resourceLoader']=new ResourceLoader(this['limits']['maxImageSize']);}async['create'](a){if(a['text']['length']>this['limits']['maxTextLength'])throw new WipSizeError('Text\x20length\x20('+a['text']['length']+')\x20exceeds\x20limit\x20('+this['limits']['maxTextLength']+')');const b=[];if(a['images']&&a['images']['length']>0x0){if(a['images']['length']>this['limits']['maxImageCount'])throw new WipSizeError('Image\x20count\x20('+a['images']['length']+')\x20exceeds\x20limit\x20('+this['limits']['maxImageCount']+')');for(let h=0x0;h<a['images']['length'];h++){const j=await this['processImage'](a['images'][h],h);b['push'](j);}}const c={'content':{'text':a['text'],'format':a['textFormat']||'plain'},'media':b},d=computeHash(canonicalizeJson({'wip':WIP_SCHEMA_URL,'payload':c})),e={'type':'wip','version':WIP_VERSION,'created':new Date()['toISOString'](),'hash':d,'algorithm':'sha256'};if(a['signKeyPair']){const {signature:k,...l}=e,m=computeHash(canonicalizeJson(l));e['signature']={'value':await this['sign'](m,a['signKeyPair']['privateKey'],a['signAlgorithm']||'Falcon512'),'publicKey':a['signKeyPair']['publicKey'],'algorithm':a['signAlgorithm']||'Falcon512'};}const f={'wip':WIP_SCHEMA_URL,'payload':c,'meta':e},g=JSON['stringify'](f);if(g['length']>this['limits']['maxTotalSize'])throw new WipSizeError('Total\x20WIP\x20file\x20size\x20('+g['length']+'\x20bytes)\x20exceeds\x20limit\x20('+this['limits']['maxTotalSize']+'\x20bytes)');return f;}async['processImage'](a,b){const c=await this['resourceLoader']['load'](a['source']),d=detectMimeType(c);if(!d)throw new WipValidationError('Unsupported\x20image\x20format:\x20'+a['source']);let e=a['filename'];if(!e){if(a['source']['startsWith']('http')){const f=new URL(a['source'])['pathname'];e=f['substring'](f['lastIndexOf']('/')+0x1)||'image-'+b;}else e=a['source']['substring'](a['source']['lastIndexOf']('/')+0x1)||'image-'+b;}return{'id':a['id']||generateId('img'),'type':d,'data':uint8ArrayToBase64(c),'filename':e};}async['sign'](a,b,c){if(c!=='Falcon512')throw new WipError('Unsupported\x20signature\x20algorithm:\x20'+c);const {Falcon512Keypair:d}=await import('../../keypairs/falcon512/index.mjs');return uint8ArrayToBase64(await d['fromSecretKey'](b)['sign'](new TextEncoder()['encode'](a)));}async['verify'](a){try{if(!a['wip']||!a['payload']||!a['meta'])return{'valid':![],'error':'Invalid\x20WIP\x20file\x20structure'};if(a['meta']['type']!=='wip')return{'valid':![],'error':'Invalid\x20meta.type:\x20'+a['meta']['type']};if(computeHash(canonicalizeJson({'wip':a['wip'],'payload':a['payload']}))!==a['meta']['hash'])return{'valid':![],'error':'Hash\x20mismatch\x20-\x20content\x20has\x20been\x20tampered'};const b=[];if(a['meta']['signature']){const {signature:c,...d}=a['meta'],e=computeHash(canonicalizeJson(d)),f=Array['isArray'](a['meta']['signature'])?a['meta']['signature']:[a['meta']['signature']];for(const g of f){const h=await this['verifySignature'](e,g['value'],g['publicKey'],g['algorithm']);b['push']({'address':g['address'],'valid':h});if(!h)return{'valid':![],'error':'Invalid\x20signature','signatures':b};}}return{'valid':!![],'signatures':b};}catch(i){return{'valid':![],'error':'Verification\x20error:\x20'+i};}}async['verifySignature'](a,b,c,d){if(d!=='Falcon512')throw new WipError('Unsupported\x20signature\x20algorithm:\x20'+d);try{const {Falcon512PublicKey:e}=await import('../../publickey-CaeLjex_.mjs')['then'](i=>i['n']);let f;if(c['startsWith']('0x')){const i=Buffer['from'](c['slice'](0x2),'hex');if(i['length']===0x382)f=i['slice'](0x1);else{if(i['length']===0x381)f=i;else f=i;}}else try{const j=Buffer['from'](c,'base64');if(j['length']===0x382)f=j['slice'](0x1);else f=j;}catch{f=Buffer['from'](c,'base64');}const g=new e(f),h=Uint8Array['from'](Buffer['from'](b,'base64'));return await g['verify'](new TextEncoder()['encode'](a),h);}catch(k){return logger['error']('Signature\x20verification\x20error:',k),![];}}async['toHtml'](a,b={}){const {title:title='WIP\x20Document',theme:theme='light'}=b,{payload:c,meta:d}=a,e=o=>{return o['replace'](/&/g,'&')['replace'](/</g,'<')['replace'](/>/g,'>')['replace'](/"/g,'"')['replace'](/'/g,''');},f=(o,p)=>{switch(p){case'html':return o;case'markdown':return o['replace'](/\*\*(.+?)\*\*/g,'<strong>$1</strong>')['replace'](/\*(.+?)\*/g,'<em>$1</em>')['replace'](/\n/g,'<br>');default:return e(o)['replace'](/\n/g,'<br>');}},g=theme==='dark'?'#1a1a1a':'#ffffff',h=theme==='dark'?'#e0e0e0':'#333333',i=theme==='dark'?'#444444':'#e0e0e0',j='#4caf50',k='#ff9800',l=await this['verify'](a),m=l['valid']?'<span\x20style=\x22background:\x20'+j+';\x20color:\x20white;\x20padding:\x204px\x208px;\x20border-radius:\x204px;\x20font-size:\x2012px;\x22>✓\x20Verified</span>':'<span\x20style=\x22background:\x20'+k+';\x20color:\x20white;\x20padding:\x204px\x208px;\x20border-radius:\x204px;\x20font-size:\x2012px;\x22>⚠\x20Tampered</span>',n=c['media']['map'](o=>'\x0a\x09\x09\x09\x09<div\x20style=\x22margin:\x2016px\x200;\x20border:\x201px\x20solid\x20'+i+';\x20border-radius:\x208px;\x20overflow:\x20hidden;\x22>\x0a\x09\x09\x09\x09\x09<img\x20src=\x22data:'+o['type']+';base64,'+o['data']+'\x22\x20\x0a\x09\x09\x09\x09\x09\x20\x20\x20\x20\x20style=\x22max-width:\x20100%;\x20height:\x20auto;\x20display:\x20block;\x22\x20\x0a\x09\x09\x09\x09\x09\x20\x20\x20\x20\x20alt=\x22'+e(o['filename']||o['id'])+'\x22\x20/>\x0a\x09\x09\x09\x09\x09'+(o['filename']?'<div\x20style=\x22padding:\x208px;\x20font-size:\x2012px;\x20color:\x20#666;\x20background:\x20'+(theme==='dark'?'#2a2a2a':'#f5f5f5')+';\x20border-top:\x201px\x20solid\x20'+i+';\x22>'+e(o['filename'])+'</div>':'')+'\x0a\x09\x09\x09\x09</div>\x0a\x09\x09\x09')['join']('');return'<!DOCTYPE\x20html>\x0a<html\x20lang=\x22en\x22>\x0a<head>\x0a\x20\x20\x20\x20<meta\x20charset=\x22UTF-8\x22>\x0a\x20\x20\x20\x20<meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,\x20initial-scale=1.0\x22>\x0a\x20\x20\x20\x20<title>'+e(title)+'</title>\x0a</head>\x0a<body\x20style=\x22margin:\x200;\x20padding:\x2020px;\x20font-family:\x20-apple-system,\x20BlinkMacSystemFont,\x20\x27Segoe\x20UI\x27,\x20Roboto,\x20sans-serif;\x20background:\x20'+g+';\x20color:\x20'+h+';\x20line-height:\x201.6;\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22max-width:\x20800px;\x20margin:\x200\x20auto;\x20background:\x20'+(theme==='dark'?'#252525':'#ffffff')+';\x20border-radius:\x2012px;\x20box-shadow:\x200\x202px\x208px\x20rgba(0,0,0,0.1);\x20overflow:\x20hidden;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:\x2020px\x2024px;\x20border-bottom:\x201px\x20solid\x20'+i+';\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:\x20flex;\x20justify-content:\x20space-between;\x20align-items:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h1\x20style=\x22margin:\x200;\x20font-size:\x2020px;\x20font-weight:\x20600;\x22>'+e(title)+'</h1>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2012px;\x20color:\x20#666;\x20margin-top:\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WIP\x20v'+d['version']+'\x20•\x20'+new Date(d['created'])['toLocaleString']()+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+m+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2011px;\x20color:\x20#999;\x20margin-top:\x2012px;\x20padding:\x208px;\x20background:\x20'+(theme==='dark'?'#2a2a2a':'#f5f5f5')+';\x20border-radius:\x204px;\x20font-style:\x20italic;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Important\x20Note:\x20This\x20page\x20is\x20for\x20document\x20browsing\x20and\x20verification\x20reference\x20only.\x20Please\x20verify\x20the\x20document\x20integrity\x20through\x20the\x20API\x20using\x20the\x20WIP\x20file.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(l['signatures']&&l['signatures']['length']>0x0?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:\x2012px;\x20padding:\x208px;\x20background:\x20'+(theme==='dark'?'#2a3f2a':'#e8f5e9')+';\x20border-radius:\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2011px;\x20color:\x20'+(theme==='dark'?'#81c784':'#2e7d32')+';\x20margin-bottom:\x204px;\x22>✓\x20Signature\x20Verification\x20('+l['signatures']['length']+'\x20signature'+(l['signatures']['length']>0x1?'s':'')+')</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+l['signatures']['map']((o,p)=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2010px;\x20color:\x20'+h+';\x20margin-left:\x208px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(p+0x1)+'.\x20'+(o['address']?e(o['address']['slice'](0x0,0x14))+'...':'Unknown')+':\x20'+(o['valid']?'<span\x20style=\x22color:\x20#4caf50;\x22>✓\x20Valid</span>':'<span\x20style=\x22color:\x20#f44336;\x22>✗\x20Invalid</span>')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20')['join']('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:\x2024px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2016px;\x20line-height:\x201.8;\x20margin-bottom:\x2024px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+f(c['content']['text'],c['content']['format'])+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+n+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:\x2016px\x2024px;\x20background:\x20'+(theme==='dark'?'#2a2a2a':'#f8f9fa')+';\x20border-top:\x201px\x20solid\x20'+i+';\x20font-size:\x2011px;\x20color:\x20#666;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:\x20flex;\x20justify-content:\x20space-between;\x20align-items:\x20center;\x20flex-wrap:\x20wrap;\x20gap:\x208px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>Hash:</strong>\x20<code\x20style=\x22background:\x20'+(theme==='dark'?'#333':'#e9ecef')+';\x20padding:\x202px\x206px;\x20border-radius:\x203px;\x22>'+e(d['hash'])+'</code>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(l['valid']?'Content\x20integrity\x20verified':'Verification\x20failed:\x20'+e(l['error']||'Unknown\x20error'))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a</body>\x0a</html>';}['stringify'](a,b=!![]){return b?JSON['stringify'](a,null,0x2):JSON['stringify'](a);}['parse'](a){try{const b=JSON['parse'](a);if(!b['wip']||!b['payload']||!b['meta'])throw new WipValidationError('Invalid\x20WIP\x20file\x20structure');return b;}catch(c){if(c instanceof WipError)throw c;throw new WipValidationError('Failed\x20to\x20parse\x20WIP\x20file:\x20'+c);}}async['load'](a){const b=await this['resourceLoader']['load'](a),c=new TextDecoder()['decode'](b);return this['parse'](c);}['getHash'](a){const b=a['meta']['hash'];if(b['includes'](':'))return b['split'](':')[0x1];return b;}['extractImages'](a,b){if(!a89c['existsSync'](b))a89c['mkdirSync'](b,{'recursive':!![]});const c=[];for(const d of a['payload']['media']){const e=getExtensionFromMimeType(d['type']),f=d['filename']||d['id']+'.'+e,g=a89b['join'](b,f),h=Buffer['from'](base64ToUint8Array(d['data']));a89c['writeFileSync'](g,h),c['push'](g);}return c;}['save'](a,b,c=!![]){const d=a89b['dirname'](b);if(!a89c['existsSync'](d))a89c['mkdirSync'](d,{'recursive':!![]});a89c['writeFileSync'](b,this['stringify'](a,c),'utf-8');}['getLimits'](){return{...this['limits']};}['setLimits'](a){this['limits']={...this['limits'],...a},this['resourceLoader']=new ResourceLoader(this['limits']['maxImageSize']);}};async function createWip(a,b){return new WIP(b)['create'](a);}async function verifyWip(a,b){if(b!==void 0x0){if(a['meta']['hash']['toLowerCase']()['replace'](/^sha256:/,'')!==b['toLowerCase']()['replace'](/^sha256:/,''))return{'valid':![],'error':'Hash\x20mismatch'};}const c=await new WIP()['verify'](a);return{'valid':c['valid'],'error':c['error']};}async function wipToHtml(a,b){return new WIP()['toHtml'](a,b);}async function loadWip(a,b){return new WIP(b)['load'](a);}async function generate_wip(a,b){const c=new WIP(DEFAULT_LIMITS);let d=await c['create']({'text':a['markdown_text'],'textFormat':'markdown','images':a['images']});if(a['account']){const {Account:f}=await import('./account.mjs'),g=await f['Instance']()['get_address'](a['account']);if(!g)throw new WipValidationError('Account\x20not\x20found:\x20'+a['account']);const {signature:h,...i}=d['meta'],j=computeHash(canonicalizeJson(i)),k=await f['Instance']()['sign'](g,j),l=await f['Instance']()['get'](g,![],!![]);if(!l||!l['pubkey'])throw new WipValidationError('Cannot\x20get\x20public\x20key\x20for\x20account:\x20'+g);let m;if(l['pubkey']['startsWith']('0x')){const p=Buffer['from'](l['pubkey']['slice'](0x2),'hex');if(p['length']===0x382)m=p['slice'](0x1)['toString']('base64');else{if(p['length']===0x381)m=p['toString']('base64');else throw new WipValidationError('Invalid\x20public\x20key\x20length:\x20'+p['length']+',\x20expected\x20897\x20or\x20898\x20bytes');}}else m=l['pubkey'];const n={'value':Buffer['from'](k['slice'](0x2),'hex')['toString']('base64'),'publicKey':m,'algorithm':'Falcon512','address':g};let o;if(d['meta']['signature'])o=Array['isArray'](d['meta']['signature'])?[...d['meta']['signature'],n]:[d['meta']['signature'],n];else o=[n];d={...d,'meta':{...d['meta'],'signature':o}};}const e=b??a89b['join'](getWowokWorkspaceDir(),'wip_'+Date['now']()+'.wip');return c['save'](d,e,!![]),e;}async function verify_wip(a,b,c){const d=new WIP();let e;try{e=await d['load'](a);}catch(h){return{'valid':![],'error':'Failed\x20to\x20load\x20WIP\x20file:\x20'+h,'hashValid':![],'hasSignature':![]};}if(!e['wip']||!e['payload']||!e['meta'])return{'valid':![],'error':'Invalid\x20WIP\x20file\x20structure','hashValid':![],'hasSignature':![]};if(e['meta']['type']!=='wip')return{'valid':![],'error':'Invalid\x20meta.type:\x20'+e['meta']['type'],'hashValid':![],'hasSignature':!!e['meta']['signature']};if(b!==void 0x0){if(e['meta']['hash']['toLowerCase']()['replace'](/^sha256:/,'')!==b['toLowerCase']()['replace'](/^sha256:/,''))return{'valid':![],'error':'Hash\x20mismatch','hashValid':![],'hasSignature':!!e['meta']['signature']};}if(c&&!e['meta']['signature'])return{'valid':![],'error':'Signature\x20required\x20but\x20WIP\x20file\x20has\x20no\x20signature','hashValid':!![],'hasSignature':![]};if(!(computeHash(canonicalizeJson({'wip':e['wip'],'payload':e['payload']}))===e['meta']['hash']))return{'valid':![],'error':'Hash\x20mismatch\x20-\x20content\x20has\x20been\x20tampered','hashValid':![],'hasSignature':!!e['meta']['signature']};let f;const g=[];if(e['meta']['signature']){const {signature:i,...j}=e['meta'],k=computeHash(canonicalizeJson(j)),l=Array['isArray'](e['meta']['signature'])?e['meta']['signature']:[e['meta']['signature']];let m=!![];for(const n of l){const o=await d['verifySignature'](k,n['value'],n['publicKey'],n['algorithm']);let p;try{const {Falcon512PublicKey:q}=await import('../../publickey-CaeLjex_.mjs')['then'](r=>r['n']);p=new q(n['publicKey'])['toWowAddress']();}catch{}g['push']({'publicKey':n['publicKey'],'address':p,'valid':o});if(!o)m=![];}f=m;if(!f)return{'valid':![],'error':'Signatures\x20from\x20the\x20following\x20addresses\x20are\x20invalid:\x20'+g['filter'](r=>!r['valid']&&r['address'])['map'](r=>r['address'])['join'](',\x20'),'hashValid':!![],'signatureValid':![],'hasSignature':!![],'signatures':g};}return{'valid':!![],'hashValid':!![],'signatureValid':f,'hasSignature':!!e['meta']['signature'],'signatures':g['length']>0x0?g:void 0x0};}async function sign_wip(a,b,c){const d=new WIP(),e=await d['load'](a);if(!e['wip']||!e['payload']||!e['meta'])throw new WipValidationError('Invalid\x20WIP\x20file\x20structure');if(e['meta']['type']!=='wip')throw new WipValidationError('Invalid\x20meta.type:\x20'+e['meta']['type']);const {Account:f}=await import('./account.mjs'),g=await f['Instance']()['get_address'](b);if(!g)throw new WipValidationError('Account\x20not\x20found:\x20'+b);const {signature:h,...i}=e['meta'],j=computeHash(canonicalizeJson(i)),k=await f['Instance']()['signData'](g,j);let l;const m=k['publicKey'];if(m['startsWith']('0x')){const r=Buffer['from'](m['slice'](0x2),'hex');if(r['length']===0x382)l=r['slice'](0x1)['toString']('base64');else{if(r['length']===0x381)l=r['toString']('base64');else throw new WipValidationError('Invalid\x20public\x20key\x20length:\x20'+r['length']+',\x20expected\x20897\x20or\x20898\x20bytes');}}else l=m;const n={'value':Buffer['from'](k['signature']['slice'](0x2),'hex')['toString']('base64'),'publicKey':l,'algorithm':'Falcon512','address':k['address']};let o;if(e['meta']['signature']){const s=Array['isArray'](e['meta']['signature'])?[...e['meta']['signature']]:[e['meta']['signature']],t=s['findIndex'](u=>u['publicKey']===l);if(t>=0x0)s[t]=n,o=s;else o=[...s,n];}else o=[n];const p={...e,'meta':{...e['meta'],'signature':o}};let q;if(c)q=c;else{const u=a89b['extname'](a),v=a89b['basename'](a,u);q=a89b['join'](getWowokWorkspaceDir(),'signed_'+v+u);}return d['save'](p,q,!![]),q;}async function wip2html(a,b={}){const c=await import('fs'),d=await import('path'),e=c['statSync'](a);if(e['isFile']()){const f=new WIP(),g=await f['load'](a),h=await f['toHtml'](g,b),i=d['extname'](a),j=d['basename'](a,i),k=b['outputPath']??d['join'](getWowokWorkspaceDir(),j+'.html'),l=d['dirname'](k);if(!c['existsSync'](l))c['mkdirSync'](l,{'recursive':!![]});return c['writeFileSync'](k,h),k;}else{if(e['isDirectory']()){const m=c['readdirSync'](a)['filter'](p=>p['endsWith']('.wip'));if(m['length']===0x0)throw new WipValidationError('No\x20.wip\x20files\x20found\x20in\x20directory:\x20'+a);const n=[],o=new WIP();for(const p of m){const q=d['join'](a,p),r=await o['load'](q),s=await o['toHtml'](r,b),t=p['replace']('.wip','.html'),u=b['outputPath']?d['join'](b['outputPath'],t):d['join'](getWowokWorkspaceDir(),t),v=d['dirname'](u);if(!c['existsSync'](v))c['mkdirSync'](v,{'recursive':!![]});c['writeFileSync'](u,s),n['push'](u);}return n;}else throw new WipValidationError('Invalid\x20path:\x20'+a);}}export{DEFAULT_LIMITS,WIP,WIP as default,WipError,WipSizeError,WipValidationError,createWip,generate_wip,loadWip,sign_wip,verifyWip,verify_wip,wip2html,wipToHtml};
|
|
1
|
+
import{getWowokWorkspaceDir}from'./util.mjs';import{r as a88a}from'../../logger-Cs5Mf7Mf.mjs';import{sha256}from'@noble/hashes/sha2.js';import{bytesToHex}from'@noble/hashes/utils.js';import*as a88b from'path';import*as a88c from'fs';import*as a88d from'https';import*as a88e from'http';const logger=a88a('wip'),WIP_SCHEMA_URL='https://github.com/wowok-ai/docs/blob/main/WIP.md',WIP_VERSION='1.0.0',DEFAULT_LIMITS={'maxImageSize':0x2*0x400*0x400,'maxTotalSize':0xa*0x400*0x400,'maxImageCount':0xa,'maxTextLength':0x2710};var WipError=class extends Error{constructor(a){super(a),this['name']='WipError';}},WipValidationError=class extends WipError{constructor(a){super(a),this['name']='WipValidationError';}},WipSizeError=class extends WipError{constructor(a){super(a),this['name']='WipSizeError';}};function detectMimeType(a){if(a['length']>=0x4&&a[0x0]===0x89&&a[0x1]===0x50&&a[0x2]===0x4e&&a[0x3]===0x47)return'image/png';if(a['length']>=0x3&&a[0x0]===0xff&&a[0x1]===0xd8&&a[0x2]===0xff)return'image/jpeg';if(a['length']>=0x6&&a[0x0]===0x47&&a[0x1]===0x49&&a[0x2]===0x46)return'image/gif';if(a['length']>=0xc&&a[0x0]===0x52&&a[0x1]===0x49&&a[0x2]===0x46&&a[0x3]===0x46&&a[0x8]===0x57&&a[0x9]===0x45&&a[0xa]===0x42&&a[0xb]===0x50)return'image/webp';return null;}function uint8ArrayToBase64(a){let b='';const c=a['length'];for(let d=0x0;d<c;d++)b+=String['fromCharCode'](a[d]);return btoa(b);}function base64ToUint8Array(a){const b=atob(a),c=b['length'],d=new Uint8Array(c);for(let e=0x0;e<c;e++)d[e]=b['charCodeAt'](e);return d;}function canonicalizeJson(a){if(a===null||typeof a!=='object')return JSON['stringify'](a);if(Array['isArray'](a))return'['+a['map'](canonicalizeJson)['join'](',')+']';const b=a;return'{'+Object['keys'](b)['sort']()['map'](c=>'\x22'+c+'\x22:'+canonicalizeJson(b[c]))['join'](',')+'}';}function computeHash(a){return bytesToHex(sha256(new TextEncoder()['encode'](a)));}function generateId(a){return a+'-'+Date['now']()['toString'](0x24)+'-'+Math['random']()['toString'](0x24)['substring'](0x2,0x8);}function getExtensionFromMimeType(a){return{'image/png':'png','image/jpeg':'jpg','image/gif':'gif','image/webp':'webp'}[a]||'bin';}var ResourceLoader=class{constructor(a){this['maxSize']=a;}async['load'](a){if(!a||a['trim']()==='')throw new WipError('WIP\x20file\x20path\x20cannot\x20be\x20empty');if(a['startsWith']('data:'))return this['loadFromDataUrl'](a);if(a['startsWith']('http://')||a['startsWith']('https://'))return this['loadFromNetwork'](a);return this['loadFromFile'](a);}['loadFromDataUrl'](a){const b=a['match'](/^data:image\/(\w+);base64,(.+)$/);if(!b)throw new WipValidationError('Invalid\x20data\x20URL\x20format:\x20'+a['substring'](0x0,0x32)+'...');const c=b[0x2];try{return base64ToUint8Array(c);}catch(d){throw new WipError('Failed\x20to\x20decode\x20data\x20URL:\x20'+d);}}async['loadFromNetwork'](a){return new Promise((b,c)=>{const d=setTimeout(()=>{c(new WipError('Network\x20timeout\x20while\x20fetching:\x20'+a));},0x7530),e=a['startsWith']('https:'),f=e?a88d:a88e,g={'headers':{'Accept':'application/json,*/*'}};if(e)g['rejectUnauthorized']=![];f['get'](a,g,h=>{clearTimeout(d);if(h['statusCode']!==0xc8){c(new WipError('Failed\x20to\x20fetch:\x20'+h['statusCode']+'\x20'+h['statusMessage']));return;}const i=h['headers']['content-length'];if(i&&parseInt(i)>this['maxSize']){c(new WipSizeError('Resource\x20from\x20'+a+'\x20size\x20('+i+'\x20bytes)\x20exceeds\x20limit\x20('+this['maxSize']+'\x20bytes)'));return;}const j=[];h['on']('data',k=>{j['push'](k);}),h['on']('end',()=>{const k=Buffer['concat'](j);if(k['length']>this['maxSize']){c(new WipSizeError('Resource\x20from\x20'+a+'\x20size\x20('+k['length']+'\x20bytes)\x20exceeds\x20limit\x20('+this['maxSize']+'\x20bytes)'));return;}b(new Uint8Array(k));}),h['on']('error',k=>{c(new WipError('Network\x20error:\x20'+k['message']));});})['on']('error',h=>{clearTimeout(d),c(new WipError('Network\x20error:\x20'+h['message']));});});}['loadFromFile'](a){const b=a88b['resolve'](a);if(!a88c['existsSync'](b))throw new WipError('File\x20not\x20found:\x20'+b);const c=a88c['statSync'](b);if(!c['isFile']())throw new WipError('Path\x20is\x20not\x20a\x20file:\x20'+b);if(c['size']>this['maxSize'])throw new WipSizeError('File\x20'+b+'\x20size\x20('+c['size']+'\x20bytes)\x20exceeds\x20limit\x20('+this['maxSize']+'\x20bytes)');const d=a88c['readFileSync'](b);return new Uint8Array(d);}},WIP=class{constructor(a={}){this['limits']={...DEFAULT_LIMITS,...a},this['resourceLoader']=new ResourceLoader(this['limits']['maxImageSize']);}async['create'](a){if(a['text']['length']>this['limits']['maxTextLength'])throw new WipSizeError('Text\x20length\x20('+a['text']['length']+')\x20exceeds\x20limit\x20('+this['limits']['maxTextLength']+')');const b=[];if(a['images']&&a['images']['length']>0x0){if(a['images']['length']>this['limits']['maxImageCount'])throw new WipSizeError('Image\x20count\x20('+a['images']['length']+')\x20exceeds\x20limit\x20('+this['limits']['maxImageCount']+')');for(let h=0x0;h<a['images']['length'];h++){const j=await this['processImage'](a['images'][h],h);b['push'](j);}}const c={'content':{'text':a['text'],'format':a['textFormat']||'plain'},'media':b},d=computeHash(canonicalizeJson({'wip':WIP_SCHEMA_URL,'payload':c})),e={'type':'wip','version':WIP_VERSION,'created':new Date()['toISOString'](),'hash':d,'algorithm':'sha256'};if(a['signKeyPair']){const {signature:k,...l}=e,m=computeHash(canonicalizeJson(l));e['signature']={'value':await this['sign'](m,a['signKeyPair']['privateKey'],a['signAlgorithm']||'Falcon512'),'publicKey':a['signKeyPair']['publicKey'],'algorithm':a['signAlgorithm']||'Falcon512'};}const f={'wip':WIP_SCHEMA_URL,'payload':c,'meta':e},g=JSON['stringify'](f);if(g['length']>this['limits']['maxTotalSize'])throw new WipSizeError('Total\x20WIP\x20file\x20size\x20('+g['length']+'\x20bytes)\x20exceeds\x20limit\x20('+this['limits']['maxTotalSize']+'\x20bytes)');return f;}async['processImage'](a,b){const c=await this['resourceLoader']['load'](a['source']),d=detectMimeType(c);if(!d)throw new WipValidationError('Unsupported\x20image\x20format:\x20'+a['source']);let e=a['filename'];if(!e){if(a['source']['startsWith']('http')){const f=new URL(a['source'])['pathname'];e=f['substring'](f['lastIndexOf']('/')+0x1)||'image-'+b;}else e=a['source']['substring'](a['source']['lastIndexOf']('/')+0x1)||'image-'+b;}return{'id':a['id']||generateId('img'),'type':d,'data':uint8ArrayToBase64(c),'filename':e};}async['sign'](a,b,c){if(c!=='Falcon512')throw new WipError('Unsupported\x20signature\x20algorithm:\x20'+c);const {Falcon512Keypair:d}=await import('../../keypairs/falcon512/index.mjs');return uint8ArrayToBase64(await d['fromSecretKey'](b)['sign'](new TextEncoder()['encode'](a)));}async['verify'](a){try{if(!a['wip']||!a['payload']||!a['meta'])return{'valid':![],'error':'Invalid\x20WIP\x20file\x20structure'};if(a['meta']['type']!=='wip')return{'valid':![],'error':'Invalid\x20meta.type:\x20'+a['meta']['type']};if(computeHash(canonicalizeJson({'wip':a['wip'],'payload':a['payload']}))!==a['meta']['hash'])return{'valid':![],'error':'Hash\x20mismatch\x20-\x20content\x20has\x20been\x20tampered'};const b=[];if(a['meta']['signature']){const {signature:c,...d}=a['meta'],e=computeHash(canonicalizeJson(d)),f=Array['isArray'](a['meta']['signature'])?a['meta']['signature']:[a['meta']['signature']];for(const g of f){const h=await this['verifySignature'](e,g['value'],g['publicKey'],g['algorithm']);b['push']({'address':g['address'],'valid':h});if(!h)return{'valid':![],'error':'Invalid\x20signature','signatures':b};}}return{'valid':!![],'signatures':b};}catch(i){return{'valid':![],'error':'Verification\x20error:\x20'+i};}}async['verifySignature'](a,b,c,d){if(d!=='Falcon512')throw new WipError('Unsupported\x20signature\x20algorithm:\x20'+d);try{const {Falcon512PublicKey:e}=await import('../../publickey-CaeLjex_.mjs')['then'](i=>i['n']);let f;if(c['startsWith']('0x')){const i=Buffer['from'](c['slice'](0x2),'hex');if(i['length']===0x382)f=i['slice'](0x1);else{if(i['length']===0x381)f=i;else f=i;}}else try{const j=Buffer['from'](c,'base64');if(j['length']===0x382)f=j['slice'](0x1);else f=j;}catch{f=Buffer['from'](c,'base64');}const g=new e(f),h=Uint8Array['from'](Buffer['from'](b,'base64'));return await g['verify'](new TextEncoder()['encode'](a),h);}catch(k){return logger['error']('Signature\x20verification\x20error:',k),![];}}async['toHtml'](a,b={}){const {title:title='WIP\x20Document',theme:theme='light'}=b,{payload:c,meta:d}=a,e=o=>{return o['replace'](/&/g,'&')['replace'](/</g,'<')['replace'](/>/g,'>')['replace'](/"/g,'"')['replace'](/'/g,''');},f=(o,p)=>{switch(p){case'html':return o;case'markdown':return o['replace'](/\*\*(.+?)\*\*/g,'<strong>$1</strong>')['replace'](/\*(.+?)\*/g,'<em>$1</em>')['replace'](/\n/g,'<br>');default:return e(o)['replace'](/\n/g,'<br>');}},g=theme==='dark'?'#1a1a1a':'#ffffff',h=theme==='dark'?'#e0e0e0':'#333333',i=theme==='dark'?'#444444':'#e0e0e0',j='#4caf50',k='#ff9800',l=await this['verify'](a),m=l['valid']?'<span\x20style=\x22background:\x20'+j+';\x20color:\x20white;\x20padding:\x204px\x208px;\x20border-radius:\x204px;\x20font-size:\x2012px;\x22>✓\x20Verified</span>':'<span\x20style=\x22background:\x20'+k+';\x20color:\x20white;\x20padding:\x204px\x208px;\x20border-radius:\x204px;\x20font-size:\x2012px;\x22>⚠\x20Tampered</span>',n=c['media']['map'](o=>'\x0a\x09\x09\x09\x09<div\x20style=\x22margin:\x2016px\x200;\x20border:\x201px\x20solid\x20'+i+';\x20border-radius:\x208px;\x20overflow:\x20hidden;\x22>\x0a\x09\x09\x09\x09\x09<img\x20src=\x22data:'+o['type']+';base64,'+o['data']+'\x22\x20\x0a\x09\x09\x09\x09\x09\x20\x20\x20\x20\x20style=\x22max-width:\x20100%;\x20height:\x20auto;\x20display:\x20block;\x22\x20\x0a\x09\x09\x09\x09\x09\x20\x20\x20\x20\x20alt=\x22'+e(o['filename']||o['id'])+'\x22\x20/>\x0a\x09\x09\x09\x09\x09'+(o['filename']?'<div\x20style=\x22padding:\x208px;\x20font-size:\x2012px;\x20color:\x20#666;\x20background:\x20'+(theme==='dark'?'#2a2a2a':'#f5f5f5')+';\x20border-top:\x201px\x20solid\x20'+i+';\x22>'+e(o['filename'])+'</div>':'')+'\x0a\x09\x09\x09\x09</div>\x0a\x09\x09\x09')['join']('');return'<!DOCTYPE\x20html>\x0a<html\x20lang=\x22en\x22>\x0a<head>\x0a\x20\x20\x20\x20<meta\x20charset=\x22UTF-8\x22>\x0a\x20\x20\x20\x20<meta\x20name=\x22viewport\x22\x20content=\x22width=device-width,\x20initial-scale=1.0\x22>\x0a\x20\x20\x20\x20<title>'+e(title)+'</title>\x0a</head>\x0a<body\x20style=\x22margin:\x200;\x20padding:\x2020px;\x20font-family:\x20-apple-system,\x20BlinkMacSystemFont,\x20\x27Segoe\x20UI\x27,\x20Roboto,\x20sans-serif;\x20background:\x20'+g+';\x20color:\x20'+h+';\x20line-height:\x201.6;\x22>\x0a\x20\x20\x20\x20<div\x20style=\x22max-width:\x20800px;\x20margin:\x200\x20auto;\x20background:\x20'+(theme==='dark'?'#252525':'#ffffff')+';\x20border-radius:\x2012px;\x20box-shadow:\x200\x202px\x208px\x20rgba(0,0,0,0.1);\x20overflow:\x20hidden;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:\x2020px\x2024px;\x20border-bottom:\x201px\x20solid\x20'+i+';\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:\x20flex;\x20justify-content:\x20space-between;\x20align-items:\x20center;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<h1\x20style=\x22margin:\x200;\x20font-size:\x2020px;\x20font-weight:\x20600;\x22>'+e(title)+'</h1>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2012px;\x20color:\x20#666;\x20margin-top:\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WIP\x20v'+d['version']+'\x20•\x20'+new Date(d['created'])['toLocaleString']()+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+m+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2011px;\x20color:\x20#999;\x20margin-top:\x2012px;\x20padding:\x208px;\x20background:\x20'+(theme==='dark'?'#2a2a2a':'#f5f5f5')+';\x20border-radius:\x204px;\x20font-style:\x20italic;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Important\x20Note:\x20This\x20page\x20is\x20for\x20document\x20browsing\x20and\x20verification\x20reference\x20only.\x20Please\x20verify\x20the\x20document\x20integrity\x20through\x20the\x20API\x20using\x20the\x20WIP\x20file.\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(l['signatures']&&l['signatures']['length']>0x0?'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22margin-top:\x2012px;\x20padding:\x208px;\x20background:\x20'+(theme==='dark'?'#2a3f2a':'#e8f5e9')+';\x20border-radius:\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2011px;\x20color:\x20'+(theme==='dark'?'#81c784':'#2e7d32')+';\x20margin-bottom:\x204px;\x22>✓\x20Signature\x20Verification\x20('+l['signatures']['length']+'\x20signature'+(l['signatures']['length']>0x1?'s':'')+')</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+l['signatures']['map']((o,p)=>'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2010px;\x20color:\x20'+h+';\x20margin-left:\x208px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(p+0x1)+'.\x20'+(o['address']?e(o['address']['slice'](0x0,0x14))+'...':'Unknown')+':\x20'+(o['valid']?'<span\x20style=\x22color:\x20#4caf50;\x22>✓\x20Valid</span>':'<span\x20style=\x22color:\x20#f44336;\x22>✗\x20Invalid</span>')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20')['join']('')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20':'')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:\x2024px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2016px;\x20line-height:\x201.8;\x20margin-bottom:\x2024px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+f(c['content']['text'],c['content']['format'])+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+n+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22padding:\x2016px\x2024px;\x20background:\x20'+(theme==='dark'?'#2a2a2a':'#f8f9fa')+';\x20border-top:\x201px\x20solid\x20'+i+';\x20font-size:\x2011px;\x20color:\x20#666;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22display:\x20flex;\x20justify-content:\x20space-between;\x20align-items:\x20center;\x20flex-wrap:\x20wrap;\x20gap:\x208px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<strong>Hash:</strong>\x20<code\x20style=\x22background:\x20'+(theme==='dark'?'#333':'#e9ecef')+';\x20padding:\x202px\x206px;\x20border-radius:\x203px;\x22>'+e(d['hash'])+'</code>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+(l['valid']?'Content\x20integrity\x20verified':'Verification\x20failed:\x20'+e(l['error']||'Unknown\x20error'))+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a</body>\x0a</html>';}['stringify'](a,b=!![]){return b?JSON['stringify'](a,null,0x2):JSON['stringify'](a);}['parse'](a){try{const b=JSON['parse'](a);if(!b['wip']||!b['payload']||!b['meta'])throw new WipValidationError('Invalid\x20WIP\x20file\x20structure');return b;}catch(c){if(c instanceof WipError)throw c;throw new WipValidationError('Failed\x20to\x20parse\x20WIP\x20file:\x20'+c);}}async['load'](a){const b=await this['resourceLoader']['load'](a),c=new TextDecoder()['decode'](b);return this['parse'](c);}['getHash'](a){const b=a['meta']['hash'];if(b['includes'](':'))return b['split'](':')[0x1];return b;}['extractImages'](a,b){if(!a88c['existsSync'](b))a88c['mkdirSync'](b,{'recursive':!![]});const c=[];for(const d of a['payload']['media']){const e=getExtensionFromMimeType(d['type']),f=d['filename']||d['id']+'.'+e,g=a88b['join'](b,f),h=Buffer['from'](base64ToUint8Array(d['data']));a88c['writeFileSync'](g,h),c['push'](g);}return c;}['save'](a,b,c=!![]){const d=a88b['dirname'](b);if(!a88c['existsSync'](d))a88c['mkdirSync'](d,{'recursive':!![]});a88c['writeFileSync'](b,this['stringify'](a,c),'utf-8');}['getLimits'](){return{...this['limits']};}['setLimits'](a){this['limits']={...this['limits'],...a},this['resourceLoader']=new ResourceLoader(this['limits']['maxImageSize']);}};async function createWip(a,b){return new WIP(b)['create'](a);}async function verifyWip(a,b){if(b!==void 0x0){if(a['meta']['hash']['toLowerCase']()['replace'](/^sha256:/,'')!==b['toLowerCase']()['replace'](/^sha256:/,''))return{'valid':![],'error':'Hash\x20mismatch'};}const c=await new WIP()['verify'](a);return{'valid':c['valid'],'error':c['error']};}async function wipToHtml(a,b){return new WIP()['toHtml'](a,b);}async function loadWip(a,b){return new WIP(b)['load'](a);}async function generate_wip(a,b){const c=new WIP(DEFAULT_LIMITS);let d=await c['create']({'text':a['markdown_text'],'textFormat':'markdown','images':a['images']});if(a['account']){const {Account:f}=await import('./account.mjs'),g=await f['Instance']()['get_address'](a['account']);if(!g)throw new WipValidationError('Account\x20not\x20found:\x20'+a['account']);const {signature:h,...i}=d['meta'],j=computeHash(canonicalizeJson(i)),k=await f['Instance']()['sign'](g,j),l=await f['Instance']()['get'](g,![],!![]);if(!l||!l['pubkey'])throw new WipValidationError('Cannot\x20get\x20public\x20key\x20for\x20account:\x20'+g);let m;if(l['pubkey']['startsWith']('0x')){const p=Buffer['from'](l['pubkey']['slice'](0x2),'hex');if(p['length']===0x382)m=p['slice'](0x1)['toString']('base64');else{if(p['length']===0x381)m=p['toString']('base64');else throw new WipValidationError('Invalid\x20public\x20key\x20length:\x20'+p['length']+',\x20expected\x20897\x20or\x20898\x20bytes');}}else m=l['pubkey'];const n={'value':Buffer['from'](k['slice'](0x2),'hex')['toString']('base64'),'publicKey':m,'algorithm':'Falcon512','address':g};let o;if(d['meta']['signature'])o=Array['isArray'](d['meta']['signature'])?[...d['meta']['signature'],n]:[d['meta']['signature'],n];else o=[n];d={...d,'meta':{...d['meta'],'signature':o}};}const e=b??a88b['join'](getWowokWorkspaceDir(),'wip_'+Date['now']()+'.wip');return c['save'](d,e,!![]),e;}async function verify_wip(a,b,c){const d=new WIP();let e;try{e=await d['load'](a);}catch(h){return{'valid':![],'error':'Failed\x20to\x20load\x20WIP\x20file:\x20'+h,'hashValid':![],'hasSignature':![]};}if(!e['wip']||!e['payload']||!e['meta'])return{'valid':![],'error':'Invalid\x20WIP\x20file\x20structure','hashValid':![],'hasSignature':![]};if(e['meta']['type']!=='wip')return{'valid':![],'error':'Invalid\x20meta.type:\x20'+e['meta']['type'],'hashValid':![],'hasSignature':!!e['meta']['signature']};if(b!==void 0x0){if(e['meta']['hash']['toLowerCase']()['replace'](/^sha256:/,'')!==b['toLowerCase']()['replace'](/^sha256:/,''))return{'valid':![],'error':'Hash\x20mismatch','hashValid':![],'hasSignature':!!e['meta']['signature']};}if(c&&!e['meta']['signature'])return{'valid':![],'error':'Signature\x20required\x20but\x20WIP\x20file\x20has\x20no\x20signature','hashValid':!![],'hasSignature':![]};if(!(computeHash(canonicalizeJson({'wip':e['wip'],'payload':e['payload']}))===e['meta']['hash']))return{'valid':![],'error':'Hash\x20mismatch\x20-\x20content\x20has\x20been\x20tampered','hashValid':![],'hasSignature':!!e['meta']['signature']};let f;const g=[];if(e['meta']['signature']){const {signature:i,...j}=e['meta'],k=computeHash(canonicalizeJson(j)),l=Array['isArray'](e['meta']['signature'])?e['meta']['signature']:[e['meta']['signature']];let m=!![];for(const n of l){const o=await d['verifySignature'](k,n['value'],n['publicKey'],n['algorithm']);let p;try{const {Falcon512PublicKey:q}=await import('../../publickey-CaeLjex_.mjs')['then'](r=>r['n']);p=new q(n['publicKey'])['toWowAddress']();}catch{}g['push']({'publicKey':n['publicKey'],'address':p,'valid':o});if(!o)m=![];}f=m;if(!f)return{'valid':![],'error':'Signatures\x20from\x20the\x20following\x20addresses\x20are\x20invalid:\x20'+g['filter'](r=>!r['valid']&&r['address'])['map'](r=>r['address'])['join'](',\x20'),'hashValid':!![],'signatureValid':![],'hasSignature':!![],'signatures':g};}return{'valid':!![],'hashValid':!![],'signatureValid':f,'hasSignature':!!e['meta']['signature'],'signatures':g['length']>0x0?g:void 0x0};}async function sign_wip(a,b,c){const d=new WIP(),e=await d['load'](a);if(!e['wip']||!e['payload']||!e['meta'])throw new WipValidationError('Invalid\x20WIP\x20file\x20structure');if(e['meta']['type']!=='wip')throw new WipValidationError('Invalid\x20meta.type:\x20'+e['meta']['type']);const {Account:f}=await import('./account.mjs'),g=await f['Instance']()['get_address'](b);if(!g)throw new WipValidationError('Account\x20not\x20found:\x20'+b);const {signature:h,...i}=e['meta'],j=computeHash(canonicalizeJson(i)),k=await f['Instance']()['signData'](g,j);let l;const m=k['publicKey'];if(m['startsWith']('0x')){const r=Buffer['from'](m['slice'](0x2),'hex');if(r['length']===0x382)l=r['slice'](0x1)['toString']('base64');else{if(r['length']===0x381)l=r['toString']('base64');else throw new WipValidationError('Invalid\x20public\x20key\x20length:\x20'+r['length']+',\x20expected\x20897\x20or\x20898\x20bytes');}}else l=m;const n={'value':Buffer['from'](k['signature']['slice'](0x2),'hex')['toString']('base64'),'publicKey':l,'algorithm':'Falcon512','address':k['address']};let o;if(e['meta']['signature']){const s=Array['isArray'](e['meta']['signature'])?[...e['meta']['signature']]:[e['meta']['signature']],t=s['findIndex'](u=>u['publicKey']===l);if(t>=0x0)s[t]=n,o=s;else o=[...s,n];}else o=[n];const p={...e,'meta':{...e['meta'],'signature':o}};let q;if(c)q=c;else{const u=a88b['extname'](a),v=a88b['basename'](a,u);q=a88b['join'](getWowokWorkspaceDir(),'signed_'+v+u);}return d['save'](p,q,!![]),q;}async function wip2html(a,b={}){const c=await import('fs'),d=await import('path'),e=c['statSync'](a);if(e['isFile']()){const f=new WIP(),g=await f['load'](a),h=await f['toHtml'](g,b),i=d['extname'](a),j=d['basename'](a,i),k=b['outputPath']??d['join'](getWowokWorkspaceDir(),j+'.html'),l=d['dirname'](k);if(!c['existsSync'](l))c['mkdirSync'](l,{'recursive':!![]});return c['writeFileSync'](k,h),k;}else{if(e['isDirectory']()){const m=c['readdirSync'](a)['filter'](p=>p['endsWith']('.wip'));if(m['length']===0x0)throw new WipValidationError('No\x20.wip\x20files\x20found\x20in\x20directory:\x20'+a);const n=[],o=new WIP();for(const p of m){const q=d['join'](a,p),r=await o['load'](q),s=await o['toHtml'](r,b),t=p['replace']('.wip','.html'),u=b['outputPath']?d['join'](b['outputPath'],t):d['join'](getWowokWorkspaceDir(),t),v=d['dirname'](u);if(!c['existsSync'](v))c['mkdirSync'](v,{'recursive':!![]});c['writeFileSync'](u,s),n['push'](u);}return n;}else throw new WipValidationError('Invalid\x20path:\x20'+a);}}export{DEFAULT_LIMITS,WIP,WIP as default,WipError,WipSizeError,WipValidationError,createWip,generate_wip,loadWip,sign_wip,verifyWip,verify_wip,wip2html,wipToHtml};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $n as verify_wts, Ai as WtsFileResult, An as BlacklistResponse, Bn as extract_zip_messages, Br as MessageListResult, Di as WTS_MAX_MESSAGE_COUNT, Ei as WTS_FILE_BYTES_LIMIT, Fn as GuardlistResponse, Fr as Message, Gn as mark_conversation_as_viewed, Gr as MessengerError, Hn as generate_wts, In as SettingsRequest, Ir as MessageContentType, Jn as pull_messages, Kn as mark_messages_as_viewed, Kr as MessengerErrorCode, Ln as SettingsResponse, Lr as MessageDirection, Mn as FriendslistResponse, Mr as MAX_QUERY_LIMIT, Nn as GuardParam, Pn as GuardlistRequest, Qn as sign_wts, Rn as blacklist, Rr as MessageFilter, Un as getMessengerManager, Ur as MessageType, Vn as friendslist, Vr as MessageStatus, Wn as guardlist, Wr as MessengerConfig, Xn as send_message, Yn as send_file, Zn as settings, _r as ConversationsFilter, br as DEFAULT_QUERY_LIMIT, er as watch_conversations, gr as ConversationInfo, ir as Messenger, ji as WtsGenerationParams, jn as FriendslistRequest, kn as BlacklistRequest, nr as wts2html, oi as SendMessageResult, qn as proof_message, qr as NORMAL_MESSAGE_BYTES_LIMIT, rr as MessengerManager, tr as watch_messages, xr as DecryptedMessage, yr as DEFAULT_MESSENGER_CONFIG, zn as extractZipFromPlaintext } from "../../index-
|
|
1
|
+
import { $n as verify_wts, Ai as WtsFileResult, An as BlacklistResponse, Bn as extract_zip_messages, Br as MessageListResult, Di as WTS_MAX_MESSAGE_COUNT, Ei as WTS_FILE_BYTES_LIMIT, Fn as GuardlistResponse, Fr as Message, Gn as mark_conversation_as_viewed, Gr as MessengerError, Hn as generate_wts, In as SettingsRequest, Ir as MessageContentType, Jn as pull_messages, Kn as mark_messages_as_viewed, Kr as MessengerErrorCode, Ln as SettingsResponse, Lr as MessageDirection, Mn as FriendslistResponse, Mr as MAX_QUERY_LIMIT, Nn as GuardParam, Pn as GuardlistRequest, Qn as sign_wts, Rn as blacklist, Rr as MessageFilter, Un as getMessengerManager, Ur as MessageType, Vn as friendslist, Vr as MessageStatus, Wn as guardlist, Wr as MessengerConfig, Xn as send_message, Yn as send_file, Zn as settings, _r as ConversationsFilter, br as DEFAULT_QUERY_LIMIT, er as watch_conversations, gr as ConversationInfo, ir as Messenger, ji as WtsGenerationParams, jn as FriendslistRequest, kn as BlacklistRequest, nr as wts2html, oi as SendMessageResult, qn as proof_message, qr as NORMAL_MESSAGE_BYTES_LIMIT, rr as MessengerManager, tr as watch_messages, xr as DecryptedMessage, yr as DEFAULT_MESSENGER_CONFIG, zn as extractZipFromPlaintext } from "../../index-OlNG95EF.mjs";
|
|
2
2
|
export { BlacklistRequest, BlacklistResponse, type ConversationInfo, type ConversationsFilter, DEFAULT_MESSENGER_CONFIG, DEFAULT_QUERY_LIMIT, type DecryptedMessage, FriendslistRequest, FriendslistResponse, GuardParam, GuardlistRequest, GuardlistResponse, MAX_QUERY_LIMIT, type Message, type MessageContentType, MessageDirection, type MessageFilter, type MessageListResult, MessageStatus, MessageType, Messenger, type MessengerConfig, MessengerError, MessengerErrorCode, MessengerManager, NORMAL_MESSAGE_BYTES_LIMIT, type SendMessageResult, SettingsRequest, SettingsResponse, WTS_FILE_BYTES_LIMIT, WTS_MAX_MESSAGE_COUNT, type WtsFileResult, type WtsGenerationParams, blacklist, extractZipFromPlaintext, extract_zip_messages, friendslist, generate_wts, getMessengerManager, guardlist, mark_conversation_as_viewed, mark_messages_as_viewed, proof_message, pull_messages, send_file, send_message, settings, sign_wts, verify_wts, watch_conversations, watch_messages, wts2html };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,MessengerError,MessengerErrorCode,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT}from'./types.mjs';import{t as
|
|
1
|
+
import{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,MessengerError,MessengerErrorCode,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT}from'./types.mjs';import{t as a90a}from'../../messenger-B-CSCV8C.mjs';import{_ as a90b,a as a90c,b as a90d,c as a90e,d as a90f,f as a90g,g as a90h,h as a90i,i as a90j,l as a90k,m as a90l,n as a90m,o as a90n,p as a90o,r as a90p,s as a90q,t as a90r,u as a90s,v as a90t,y as a90u}from'../../messenger-api-DTnmFsT-.mjs';export{DEFAULT_MESSENGER_CONFIG,DEFAULT_QUERY_LIMIT,MAX_QUERY_LIMIT,MessageDirection,MessageStatus,MessageType,a90a as Messenger,MessengerError,MessengerErrorCode,a90d as MessengerManager,NORMAL_MESSAGE_BYTES_LIMIT,WTS_FILE_BYTES_LIMIT,WTS_MAX_MESSAGE_COUNT,a90r as blacklist,a90m as extractZipFromPlaintext,a90p as extract_zip_messages,a90j as friendslist,a90c as generate_wts,a90n as getMessengerManager,a90q as guardlist,a90e as mark_conversation_as_viewed,a90k as mark_messages_as_viewed,a90s as proof_message,a90f as pull_messages,a90g as send_file,a90o as send_message,a90l as settings,a90i as sign_wts,a90h as verify_wts,a90b as watch_conversations,a90t as watch_messages,a90u as wts2html};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { $n as verify_wts, An as BlacklistResponse, Bn as extract_zip_messages, Fn as GuardlistResponse, Gn as mark_conversation_as_viewed, Hn as generate_wts, In as SettingsRequest, Jn as pull_messages, Kn as mark_messages_as_viewed, Ln as SettingsResponse, Mn as FriendslistResponse, Nn as GuardParam, Pn as GuardlistRequest, Qn as sign_wts, Rn as blacklist, Un as getMessengerManager, Vn as friendslist, Wn as guardlist, Xn as send_message, Yn as send_file, Zn as settings, er as watch_conversations, jn as FriendslistRequest, kn as BlacklistRequest, nr as wts2html, qn as proof_message, tr as watch_messages, zn as extractZipFromPlaintext } from "../../index-
|
|
1
|
+
import { $n as verify_wts, An as BlacklistResponse, Bn as extract_zip_messages, Fn as GuardlistResponse, Gn as mark_conversation_as_viewed, Hn as generate_wts, In as SettingsRequest, Jn as pull_messages, Kn as mark_messages_as_viewed, Ln as SettingsResponse, Mn as FriendslistResponse, Nn as GuardParam, Pn as GuardlistRequest, Qn as sign_wts, Rn as blacklist, Un as getMessengerManager, Vn as friendslist, Wn as guardlist, Xn as send_message, Yn as send_file, Zn as settings, er as watch_conversations, jn as FriendslistRequest, kn as BlacklistRequest, nr as wts2html, qn as proof_message, tr as watch_messages, zn as extractZipFromPlaintext } from "../../index-OlNG95EF.mjs";
|
|
2
2
|
export { BlacklistRequest, BlacklistResponse, FriendslistRequest, FriendslistResponse, GuardParam, GuardlistRequest, GuardlistResponse, SettingsRequest, SettingsResponse, blacklist, extractZipFromPlaintext, extract_zip_messages, friendslist, generate_wts, getMessengerManager, guardlist, mark_conversation_as_viewed, mark_messages_as_viewed, proof_message, pull_messages, send_file, send_message, settings, sign_wts, verify_wts, watch_conversations, watch_messages, wts2html };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{_ as
|
|
1
|
+
import{_ as a91a,a as a91b,c as a91c,d as a91d,f as a91e,g as a91f,h as a91g,i as a91h,l as a91i,m as a91j,n as a91k,o as a91l,p as a91m,r as a91n,s as a91o,t as a91p,u as a91q,v as a91r,y as a91s}from'../../messenger-api-DTnmFsT-.mjs';export{a91p as blacklist,a91k as extractZipFromPlaintext,a91n as extract_zip_messages,a91h as friendslist,a91b as generate_wts,a91l as getMessengerManager,a91o as guardlist,a91c as mark_conversation_as_viewed,a91i as mark_messages_as_viewed,a91q as proof_message,a91d as pull_messages,a91e as send_file,a91m as send_message,a91j as settings,a91g as sign_wts,a91f as verify_wts,a91a as watch_conversations,a91r as watch_messages,a91s as wts2html};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import { ir as Messenger } from "../../index-
|
|
1
|
+
import { ir as Messenger } from "../../index-OlNG95EF.mjs";
|
|
2
2
|
export { Messenger };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as
|
|
1
|
+
import{t as a92a}from'../../messenger-B-CSCV8C.mjs';export{a92a as Messenger};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import'./types.mjs';import{blake2b}from'@noble/hashes/blake2.js';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
|
|
1
|
+
import'./types.mjs';import{blake2b}from'@noble/hashes/blake2.js';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 a93a 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=a93a['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=a93a['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);}const FALCON512_SCHEME_FLAG=0x7,WOW_ADDRESS_LENGTH=0x20;function deriveAddressFromFalcon512PublicKey(a){const b=new Uint8Array(a['length']+0x1);b[0x0]=FALCON512_SCHEME_FLAG,b['set'](a,0x1);const c=blake2b(b,{'dkLen':0x20}),d=new Uint8Array(WOW_ADDRESS_LENGTH);return d[0x0]=0x0,d['set'](c['slice'](0x0,WOW_ADDRESS_LENGTH-0x1),0x1),'0x'+bytesToHex(d);}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,deriveAddressFromFalcon512PublicKey,deriveRegistrationId,falcon512Sign,falcon512Verify,generateFalcon512KeyPair,generateMLKEMKeyPair,generateRandomBytes,generateX25519BindingSignature,generateX25519KeyPair,hexToBytes,hkdfChainKey,hkdfDerive,hkdfMessageKey,hmacSha256,mlkemDecapsulate,mlkemEncapsulate,sha256Hash,verifyX25519BindingSignature,x25519DH};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Fr as Message, Wr as MessengerConfig, di as SessionState } from "../../index-
|
|
1
|
+
import { Fr as Message, Wr as MessengerConfig, di as SessionState } from "../../index-OlNG95EF.mjs";
|
|
2
2
|
import Database from "libsql";
|
|
3
3
|
|
|
4
4
|
//#region src/w/messenger/storage.d.ts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{getWowDir}from'../local/util.mjs';import a105a from'libsql';import*as a105b from'path';import*as a105c from'fs';function getWowDirDynamic(){return getWowDir();}function getMessengerDbDir(){return a105b['join'](getWowDirDynamic(),'messenger');}function ensureDirExists(a){if(!a105c['existsSync'](a))a105c['mkdirSync'](a,{'recursive':!![]});}function getUserDbPath(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['slice'](0x0,0x10),c=getMessengerDbDir();return ensureDirExists(c),a105b['join'](c,b+'.db');}function getGlobalDbPath(){const a=getMessengerDbDir();return ensureDirExists(a),a105b['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 a105a(getUserDbPath(a));c['pragma']('journal_mode\x20=\x20WAL'),c['pragma']('synchronous\x20=\x20NORMAL'),c['pragma']('busy_timeout\x20=\x205000'),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\x20\x20reply_to\x20TEXT\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']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20reply_to\x20TEXT');}catch(j){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(k){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(l){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(m){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(n){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(o){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(p){}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 a105a(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['on']('SIGTERM',()=>{resetDbConnection();});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,\x20reply_to\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?,\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\x20\x20\x20\x20reply_to\x20=\x20COALESCE(excluded.reply_to,\x20reply_to)\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,a['replyTo']?JSON['stringify'](a['replyTo']):null);}['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,'replyTo':d['reply_to']?JSON['parse'](d['reply_to']):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,'replyTo':a['reply_to']?JSON['parse'](a['reply_to']):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 a104a from'libsql';import*as a104b from'path';import*as a104c from'fs';function getWowDirDynamic(){return getWowDir();}function getMessengerDbDir(){return a104b['join'](getWowDirDynamic(),'messenger');}function ensureDirExists(a){if(!a104c['existsSync'](a))a104c['mkdirSync'](a,{'recursive':!![]});}function getUserDbPath(a){const b=a['toLowerCase']()['replace'](/^0x/,'')['slice'](0x0,0x10),c=getMessengerDbDir();return ensureDirExists(c),a104b['join'](c,b+'.db');}function getGlobalDbPath(){const a=getMessengerDbDir();return ensureDirExists(a),a104b['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 a104a(getUserDbPath(a));c['pragma']('journal_mode\x20=\x20WAL'),c['pragma']('synchronous\x20=\x20NORMAL'),c['pragma']('busy_timeout\x20=\x205000'),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\x20\x20reply_to\x20TEXT\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']('ALTER\x20TABLE\x20messages\x20ADD\x20COLUMN\x20reply_to\x20TEXT');}catch(j){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_from_to\x20ON\x20messages(from_address,\x20to_address)');}catch(k){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_status\x20ON\x20messages(status)');}catch(l){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_leaf\x20ON\x20messages(leaf_index)');}catch(m){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_created_at\x20ON\x20messages(created_at)');}catch(n){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_server_ts\x20ON\x20messages(server_timestamp)');}catch(o){}try{c['exec']('CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_messages_received_at\x20ON\x20messages(received_at)');}catch(p){}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 a104a(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['on']('SIGTERM',()=>{resetDbConnection();});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,\x20reply_to\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?,\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\x20\x20\x20\x20reply_to\x20=\x20COALESCE(excluded.reply_to,\x20reply_to)\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,a['replyTo']?JSON['stringify'](a['replyTo']):null);}['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,'replyTo':d['reply_to']?JSON['parse'](d['reply_to']):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,'replyTo':a['reply_to']?JSON['parse'](a['reply_to']):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 { $r as RangeType, Ai as WtsFileResult, Ar as GuardListItem, Bi as WtsToHtmlOptions, Br as MessageListResult, Ci as UpdateSettingsRequest, Cr as EventStreamParams, Di as WTS_MAX_MESSAGE_COUNT, Dr as GetBundleParams, Ei as WTS_FILE_BYTES_LIMIT, Er as FetchMessagesRequest, Fi as WtsRange, Fr as Message, Gr as MessengerError, Hi as ZipContentType, Hr as MessageTimeField, Ii as WtsServerPublicKey, Ir as MessageContentType, Jr as PQPreKeyPublic, Kr as MessengerErrorCode, Li as WtsSession, Lr as MessageDirection, Mi as WtsMessage, Mr as MAX_QUERY_LIMIT, Ni as WtsMeta, Nr as MerkleMetadata, Oi as WTS_SCHEMA_URL, Or as GetSettingsRequest, Pi as WtsPayload, Pr as MerkleProof, Qr as PullMessagesResponse, Ri as WtsSignature, Rr as MessageFilter, Si as TimeRange, Sr as Empty, Ti as UploadPreKeysResponse, Tr as FailedPrekeyInfo, Ui as ZipMetadata, Ur as MessageType, Vi as WtsVerificationResult, Vr as MessageStatus, Wr as MessengerConfig, Xr as PreKeyPublic, Yr as PlaintextMessage, Zr as PreKeyStatus, _i as SseEventType, _r as ConversationsFilter, ai as SendMessageResponse, ar as AddGuardListRequest, bi as SseNewMessageEvent, br as DEFAULT_QUERY_LIMIT, ci as ServerMessage, cr as BaseRange, di as SessionState, dr as ChainProofRequest, ei as RemoteBundle, fi as SignedRequest, fr as ChainProofResponse, gi as SseEvent, gr as ConversationInfo, hi as SseCustomEvent, hr as ContactListsSyncResult, ii as SendMessageRequest, ji as WtsGenerationParams, jr as ListOperationResponse, ki as WtsFile, kr as GetSettingsResponse, li as ServerRegisterRequest, lr as CHAIN_PROOF_TYPE, mi as SseArkConfirmedEvent, mr as ContactLists, ni as ReplyTo, oi as SendMessageResult, or as AddListRequest, pi as SignedRequestBase, pr as ClearListRequest, qr as NORMAL_MESSAGE_BYTES_LIMIT, ri as SERVER_URL, si as SeqIndexRange, sr as AddressExistence, ti as RemoveListRequest, ui as ServerRegisterResponse, ur as CURRENT_NETWORK, vi as SseGuardConfirmedEvent, vr as DEFAULT_DEVICE_ID, wi as UploadPreKeysRequest, wr as ExistListRequest, xi as SsePreKeyLowEvent, xr as DecryptedMessage, yi as SseGuardRejectedEvent, yr as DEFAULT_MESSENGER_CONFIG, zi as WtsSignatureVerification, zr as MessageIdRange } from "../../index-
|
|
1
|
+
import { $r as RangeType, Ai as WtsFileResult, Ar as GuardListItem, Bi as WtsToHtmlOptions, Br as MessageListResult, Ci as UpdateSettingsRequest, Cr as EventStreamParams, Di as WTS_MAX_MESSAGE_COUNT, Dr as GetBundleParams, Ei as WTS_FILE_BYTES_LIMIT, Er as FetchMessagesRequest, Fi as WtsRange, Fr as Message, Gr as MessengerError, Hi as ZipContentType, Hr as MessageTimeField, Ii as WtsServerPublicKey, Ir as MessageContentType, Jr as PQPreKeyPublic, Kr as MessengerErrorCode, Li as WtsSession, Lr as MessageDirection, Mi as WtsMessage, Mr as MAX_QUERY_LIMIT, Ni as WtsMeta, Nr as MerkleMetadata, Oi as WTS_SCHEMA_URL, Or as GetSettingsRequest, Pi as WtsPayload, Pr as MerkleProof, Qr as PullMessagesResponse, Ri as WtsSignature, Rr as MessageFilter, Si as TimeRange, Sr as Empty, Ti as UploadPreKeysResponse, Tr as FailedPrekeyInfo, Ui as ZipMetadata, Ur as MessageType, Vi as WtsVerificationResult, Vr as MessageStatus, Wr as MessengerConfig, Xr as PreKeyPublic, Yr as PlaintextMessage, Zr as PreKeyStatus, _i as SseEventType, _r as ConversationsFilter, ai as SendMessageResponse, ar as AddGuardListRequest, bi as SseNewMessageEvent, br as DEFAULT_QUERY_LIMIT, ci as ServerMessage, cr as BaseRange, di as SessionState, dr as ChainProofRequest, ei as RemoteBundle, fi as SignedRequest, fr as ChainProofResponse, gi as SseEvent, gr as ConversationInfo, hi as SseCustomEvent, hr as ContactListsSyncResult, ii as SendMessageRequest, ji as WtsGenerationParams, jr as ListOperationResponse, ki as WtsFile, kr as GetSettingsResponse, li as ServerRegisterRequest, lr as CHAIN_PROOF_TYPE, mi as SseArkConfirmedEvent, mr as ContactLists, ni as ReplyTo, oi as SendMessageResult, or as AddListRequest, pi as SignedRequestBase, pr as ClearListRequest, qr as NORMAL_MESSAGE_BYTES_LIMIT, ri as SERVER_URL, si as SeqIndexRange, sr as AddressExistence, ti as RemoveListRequest, ui as ServerRegisterResponse, ur as CURRENT_NETWORK, vi as SseGuardConfirmedEvent, vr as DEFAULT_DEVICE_ID, wi as UploadPreKeysRequest, wr as ExistListRequest, xi as SsePreKeyLowEvent, xr as DecryptedMessage, yi as SseGuardRejectedEvent, yr as DEFAULT_MESSENGER_CONFIG, zi as WtsSignatureVerification, zr as MessageIdRange } from "../../index-OlNG95EF.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, ReplyTo, 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 { $a as
|
|
2
|
-
export { AFFILIATION_TABLES_BY_TYPE, AFFILIATION_TABLE_META, AddressActivity, AddressActivityQuery, AddressProfile, AffiliationAnswer, AffiliationEntry, AffiliationTableKind, AllocationEvent, AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbEvent, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, ArbsAnswer, ArbsQuery, COMMON_MISTAKES, CommonMistakeFilter, CommonMistakeInfo, CoreLinkView, DemandChangedEvent, DemandFeedbackEvent, DemandPresentEvent, DemandsAnswer, DemandsQuery, DiscountType, ENTITY_ORDER_ROLE_AGENT, ENTITY_ORDER_ROLE_OWNER, EntityContactItemView, EntityOrderItemView, EntityPermissionItemView, EventAnswer, EventBase, EventCursor, EventQuery, EventType, FUNDING_GUIDANCE, FeedbackEvent, FundingGuidance, GuardInPassport, GuardSubmission, INFO_CONSTANT, IdFrom, IdFromInput, Im, MAX_OBJECTS_PER_QUERY, MachineForward, MachineForwardGuard, MachineNode, MachineNodePair, NamedOperator, NewEntityEvent, NewOrderEvent, NewPaymentEvent, OBJECT_TYPE_DEFINITIONS, ObjectAllocation, ObjectArb, ObjectArbitration, ObjectBase, ObjectContact, ObjectDemand, ObjectDiscount, ObjectEntity, ObjectEntityLinker, ObjectEntityRegistrar, ObjectGuard, ObjectHistoryQuery, ObjectLastUpdated, ObjectMachine, ObjectOrder, ObjectPassport, ObjectPayment, ObjectPermission, ObjectPersonal, ObjectProgress, ObjectProof, ObjectRepository, ObjectResource, ObjectReward, ObjectService, ObjectTreasury, ObjectType, ObjectTypeDefinition, ObjectsAnswer, ObjectsQuery, PaymentInfo, PaymentRevenue, PersonalQuery, PolicyRule, PolicyWriteGuard, ProgressEvent, ProgressSession, ProgressSessionHolder, ProtocolInfoQuery, ProtocolInfoResult, PurchasedItem, QueryAddressProfile, QueryAffiliations, QueryOrdersByUser, QueryReceived, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, ReceivedBalance, ReceivedBalanceObject, ReceivedBalanceOrRecently, ReceivedNormal, ReceivedObjects, ReceivedObjectsOrRecently, RewardClaimEvent, RewardFundEvent, RewardGuard, RoleEvidence, ServiceContextQuery, ServiceContextResult, ServiceEvent, ServiceGuard, ServiceSale, ServiceSummary, ServicesAnswer, ServicesQuery, SharedObjectsAnswer, SharedObjectsAnswerItem, SharedObjectsQuery, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityContact, TableItem_EntityLinker, TableItem_EntityOrder, TableItem_EntityPermission, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_ObjectLinkerCore, TableItem_ObjectLinkerTx, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TransactionDetail, TransactionHistoryAnswer, TransactionHistoryItem, TransactionQuery, TreasuryEvent, TreasuryOp, TreasuryRecord, TxBalanceChange, TxEvent, TxLinkView, TxObjectChange, UserOrderView, VoteEvent, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeFromAddress, objectTypeToNumber, parseIdFrom, parseWowokEventItem, queryObjectWithType, queryObjectsWithType, queryOrdersByUser, queryPermissions, queryProtocolInfo, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityContact, queryTableItem_EntityLinker, queryTableItem_EntityOrder, queryTableItem_EntityPermission, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_ObjectLinkerCore, queryTableItem_ObjectLinkerTx, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_ServiceOrders, queryTableItem_TreasuryHistory, query_address_activity, query_address_activity_json, query_address_profile, query_affiliations, query_arbs, query_common_mistakes, query_demands, query_events, query_events_json, query_object_history, query_object_history_json, query_object_last_updated, query_objects, query_objects_json, query_personal, query_received, query_serviceContext, query_services, query_shared_objects, query_shared_objects_json, query_table, query_tableItem, query_table_json, query_transaction, query_transaction_json, raw2type };
|
|
1
|
+
import { $a as RewardClaimEvent, $d as Im, $f as ServicesAnswer, $i as TxEvent, $p as queryTableItem_EntityLinker, A_ as ReceivedObjectsOrRecently, Ad as Amount, Af as ObjectTreasury, Ap as WitnessSourceType, Ba as DemandFeedbackEvent, Bd as CoreLinkView, Bf as PurchasedItem, Bp as getObjectTypeFromMoveName, Cf as ObjectPersonal, Cm as query_table_json, Cp as TreasuryOp, D_ as ReceivedBalanceOrRecently, Dd as AllocationSharing, Df as ObjectResource, Dp as VoteWeight, E_ as ReceivedBalanceObject, Ed as AllocationMode, Ef as ObjectRepository, Ep as UserOrderView, Fd as ArbProposition, Ff as PersonalQuery, Fp as getNumberFromMoveName, Ga as EventQuery, Gd as ENTITY_ORDER_ROLE_OWNER, Gf as QueryTableItem_byNameAddress, Gi as ObjectHistoryQuery, Gp as numberToObjectType, Ha as EventAnswer, Hd as DemandsQuery, Hf as QueryOrdersByUser, Hp as getObjectTypesFromNumbers, Id as ArbStatus, If as PolicyRule, Ip as getNumberFromObjectType, Ja as NewEntityEvent, Jd as EntityPermissionItemView, Jf as RewardGuard, Ji as TransactionDetail, Jp as parseIdFrom, Ka as EventType, Kd as EntityContactItemView, Kf as QueryTableItem_byString, Ki as ObjectLastUpdated, Kp as objectTypeFromAddress, La as AllocationEvent, Ld as ArbVoted, Lf as PolicyWriteGuard, Lp as getNumbersFromObjectTypes, Md as AmountFromWithdrawGuard, Mf as ObjectsAnswer, Mp as data2object, Nd as AmountType, Nf as ObjectsQuery, Np as getMoveNameFromNumber, O_ as ReceivedNormal, Od as Allocator, Of as ObjectReward, Op as VotingGuard, Pd as ArbIndemnity, Pf as PaymentInfo, Pp as getMoveNameFromObjectType, Qa as ProgressEvent, Qd as IdFromInput, Qf as ServiceSummary, Qi as TxBalanceChange, Qp as queryTableItem_EntityContact, Ra as ArbEvent, Rd as ArbsAnswer, Rf as ProgressSession, Rp as getObjectTypeDefinition, Sf as ObjectPermission, Sm as query_tableItem, Sp as TableQuery, T_ as ReceivedBalance, Td as AddressProfile, Tf as ObjectProof, Tp as TxLinkView, Ua as EventBase, Ud as DiscountType, Uf as QueryTableItem_Entity, Up as idFromToString, Va as DemandPresentEvent, Vd as DemandsAnswer, Vf as QueryAddressProfile, Vp as getObjectTypeFromNumber, Wa as EventCursor, Wd as ENTITY_ORDER_ROLE_AGENT, Wf as QueryTableItem_byAddress, Wi as AddressActivityQuery, Wp as isValidIdFromInput, Xa as NewPaymentEvent, Xd as GuardSubmission, Xf as ServiceGuard, Xi as TransactionHistoryItem, Xp as queryTableItem_AddressMark, Ya as NewOrderEvent, Yd as GuardInPassport, Yf as RoleEvidence, Yi as TransactionHistoryAnswer, Yp as queryOrdersByUser, Za as PaymentRevenue, Zd as IdFrom, Zf as ServiceSale, Zi as TransactionQuery, Zp as queryTableItem_DemandPresenter, _a as queryProtocolInfo, _f as ObjectGuard, _m as query_personal, _o as QueryAffiliations, _p as TableItem_PermissionPerm, aa as query_object_last_updated, af as NamedOperator, am as queryTableItem_ObjectLinkerTx, ao as query_events, ap as TableAnswerItem, bf as ObjectPassport, bm as query_shared_objects_json, bp as TableItem_RewardRecord, ca as COMMON_MISTAKES, cf as ObjectArb, cm as queryTableItem_RepositoryData, co as queryObjectsWithType, cp as TableItem_DemandPresenter, da as FUNDING_GUIDANCE, df as ObjectContact, dm as queryTableItem_TreasuryHistory, do as query_serviceContext, dp as TableItem_EntityOrder, ea as TxObjectChange, ef as MAX_OBJECTS_PER_QUERY, em as queryTableItem_EntityOrder, eo as RewardFundEvent, ep as ServicesQuery, fa as FundingGuidance, ff as ObjectDemand, fm as query_address_profile, fo as AFFILIATION_TABLES_BY_TYPE, fp as TableItem_EntityPermission, ga as queryPermissions, gf as ObjectEntityRegistrar, gm as query_objects_json, go as AffiliationTableKind, gp as TableItem_ObjectLinkerTx, ha as ProtocolInfoResult, hf as ObjectEntityLinker, hm as query_objects, ho as AffiliationEntry, hp as TableItem_ObjectLinkerCore, ia as query_object_history_json, if as MachineNodePair, im as queryTableItem_ObjectLinkerCore, io as parseWowokEventItem, ip as TableAnswer, j_ as query_received, jd as AmountFromDepositGuard, jf as ObjectTypeDefinition, jp as WitnessTargetType, k_ as ReceivedObjects, kd as Allocators, kf as ObjectService, kp as WReceivedObject, la as CommonMistakeFilter, lf as ObjectArbitration, lm as queryTableItem_RewardRecord, lo as ServiceContextQuery, lp as TableItem_EntityContact, ma as ProtocolInfoQuery, mf as ObjectEntity, mm as query_demands, mo as AffiliationAnswer, mp as TableItem_MachineNode, na as query_address_activity_json, nf as MachineForwardGuard, nm as queryTableItem_EntityRegistrar, no as TreasuryEvent, np as SharedObjectsAnswerItem, oa as query_transaction, of as OBJECT_TYPE_DEFINITIONS, om as queryTableItem_PermissionPerm, oo as query_events_json, op as TableItemQuery, pa as INFO_CONSTANT, pf as ObjectDiscount, pm as query_arbs, po as AFFILIATION_TABLE_META, pp as TableItem_EntityRegistrar, qa as FeedbackEvent, qd as EntityOrderItemView, qf as QueryTableItem_byU64, qi as ObjectLastUpdatedQuery, qp as objectTypeToNumber, ra as query_object_history, rf as MachineNode, rm as queryTableItem_MachineNode, ro as VoteEvent, rp as SharedObjectsQuery, ry as ObjectType, sa as query_transaction_json, sf as ObjectAllocation, sm as queryTableItem_ProgressHistory, so as queryObjectWithType, sp as TableItem_AddressMark, ta as query_address_activity, tf as MachineForward, tm as queryTableItem_EntityPermission, to as ServiceEvent, tp as SharedObjectsAnswer, ua as CommonMistakeInfo, uf as ObjectBase, um as queryTableItem_ServiceOrders, uo as ServiceContextResult, up as TableItem_EntityLinker, va as query_common_mistakes, vf as ObjectMachine, vm as query_services, vo as query_affiliations, vp as TableItem_ProgressHistory, w_ as QueryReceived, wd as AddressActivity, wf as ObjectProgress, wm as raw2type, wp as TreasuryRecord, xf as ObjectPayment, xm as query_table, xp as TableItem_TreasuryHistory, yf as ObjectOrder, ym as query_shared_objects, yp as TableItem_RepositoryData, za as DemandChangedEvent, zd as ArbsQuery, zf as ProgressSessionHolder, zp as getObjectTypeDefinitionFromNumber } from "../../index-OlNG95EF.mjs";
|
|
2
|
+
export { AFFILIATION_TABLES_BY_TYPE, AFFILIATION_TABLE_META, AddressActivity, AddressActivityQuery, AddressProfile, AffiliationAnswer, AffiliationEntry, AffiliationTableKind, AllocationEvent, AllocationMode, AllocationSharing, Allocator, Allocators, Amount, AmountFromDepositGuard, AmountFromWithdrawGuard, AmountType, ArbEvent, ArbIndemnity, ArbProposition, ArbStatus, ArbVoted, ArbsAnswer, ArbsQuery, COMMON_MISTAKES, CommonMistakeFilter, CommonMistakeInfo, CoreLinkView, DemandChangedEvent, DemandFeedbackEvent, DemandPresentEvent, DemandsAnswer, DemandsQuery, DiscountType, ENTITY_ORDER_ROLE_AGENT, ENTITY_ORDER_ROLE_OWNER, EntityContactItemView, EntityOrderItemView, EntityPermissionItemView, EventAnswer, EventBase, EventCursor, EventQuery, EventType, FUNDING_GUIDANCE, FeedbackEvent, FundingGuidance, GuardInPassport, GuardSubmission, INFO_CONSTANT, IdFrom, IdFromInput, Im, MAX_OBJECTS_PER_QUERY, MachineForward, MachineForwardGuard, MachineNode, MachineNodePair, NamedOperator, NewEntityEvent, NewOrderEvent, NewPaymentEvent, OBJECT_TYPE_DEFINITIONS, ObjectAllocation, ObjectArb, ObjectArbitration, ObjectBase, ObjectContact, ObjectDemand, ObjectDiscount, ObjectEntity, ObjectEntityLinker, ObjectEntityRegistrar, ObjectGuard, ObjectHistoryQuery, ObjectLastUpdated, ObjectLastUpdatedQuery, ObjectMachine, ObjectOrder, ObjectPassport, ObjectPayment, ObjectPermission, ObjectPersonal, ObjectProgress, ObjectProof, ObjectRepository, ObjectResource, ObjectReward, ObjectService, ObjectTreasury, ObjectType, ObjectTypeDefinition, ObjectsAnswer, ObjectsQuery, PaymentInfo, PaymentRevenue, PersonalQuery, PolicyRule, PolicyWriteGuard, ProgressEvent, ProgressSession, ProgressSessionHolder, ProtocolInfoQuery, ProtocolInfoResult, PurchasedItem, QueryAddressProfile, QueryAffiliations, QueryOrdersByUser, QueryReceived, QueryTableItem_Entity, QueryTableItem_byAddress, QueryTableItem_byNameAddress, QueryTableItem_byString, QueryTableItem_byU64, ReceivedBalance, ReceivedBalanceObject, ReceivedBalanceOrRecently, ReceivedNormal, ReceivedObjects, ReceivedObjectsOrRecently, RewardClaimEvent, RewardFundEvent, RewardGuard, RoleEvidence, ServiceContextQuery, ServiceContextResult, ServiceEvent, ServiceGuard, ServiceSale, ServiceSummary, ServicesAnswer, ServicesQuery, SharedObjectsAnswer, SharedObjectsAnswerItem, SharedObjectsQuery, TableAnswer, TableAnswerItem, TableItemQuery, TableItem_AddressMark, TableItem_DemandPresenter, TableItem_EntityContact, TableItem_EntityLinker, TableItem_EntityOrder, TableItem_EntityPermission, TableItem_EntityRegistrar, TableItem_MachineNode, TableItem_ObjectLinkerCore, TableItem_ObjectLinkerTx, TableItem_PermissionPerm, TableItem_ProgressHistory, TableItem_RepositoryData, TableItem_RewardRecord, TableItem_TreasuryHistory, TableQuery, TransactionDetail, TransactionHistoryAnswer, TransactionHistoryItem, TransactionQuery, TreasuryEvent, TreasuryOp, TreasuryRecord, TxBalanceChange, TxEvent, TxLinkView, TxObjectChange, UserOrderView, VoteEvent, VoteWeight, VotingGuard, WReceivedObject, WitnessSourceType, WitnessTargetType, data2object, getMoveNameFromNumber, getMoveNameFromObjectType, getNumberFromMoveName, getNumberFromObjectType, getNumbersFromObjectTypes, getObjectTypeDefinition, getObjectTypeDefinitionFromNumber, getObjectTypeFromMoveName, getObjectTypeFromNumber, getObjectTypesFromNumbers, idFromToString, isValidIdFromInput, numberToObjectType, objectTypeFromAddress, objectTypeToNumber, parseIdFrom, parseWowokEventItem, queryObjectWithType, queryObjectsWithType, queryOrdersByUser, queryPermissions, queryProtocolInfo, queryTableItem_AddressMark, queryTableItem_DemandPresenter, queryTableItem_EntityContact, queryTableItem_EntityLinker, queryTableItem_EntityOrder, queryTableItem_EntityPermission, queryTableItem_EntityRegistrar, queryTableItem_MachineNode, queryTableItem_ObjectLinkerCore, queryTableItem_ObjectLinkerTx, queryTableItem_PermissionPerm, queryTableItem_ProgressHistory, queryTableItem_RepositoryData, queryTableItem_RewardRecord, queryTableItem_ServiceOrders, queryTableItem_TreasuryHistory, query_address_activity, query_address_activity_json, query_address_profile, query_affiliations, query_arbs, query_common_mistakes, query_demands, query_events, query_events_json, query_object_history, query_object_history_json, query_object_last_updated, query_objects, query_objects_json, query_personal, query_received, query_serviceContext, query_services, query_shared_objects, query_shared_objects_json, query_table, query_tableItem, query_table_json, query_transaction, query_transaction_json, raw2type };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{j as
|
|
1
|
+
import{j as a106a}from'../../common-Guc0E9Tj.mjs';import{$ as a106b,A as a106c,B as a106d,C as a106e,D as a106f,E as a106g,F as a106h,G as a106i,H as a106j,I as a106k,J as a106l,K as a106m,L as a106n,M as a106o,N as a106p,O as a106q,P as a106r,Q as a106s,R as a106t,S as a106u,T as a106v,U as a106w,V as a106x,W as a106y,X as a106z,Y as a106A,Z as a106B,_ as a106C,a as a106D,at as a106E,b as a106F,c as a106G,d as a106H,et as a106I,f as a106J,g as a106K,h as a106L,i as a106M,it as a106N,j as a106O,k as a106P,l as a106Q,m as a106R,n as a106S,nt as a106T,o as a106U,p as a106V,q as a106W,r as a106X,rt as a106Y,s as a106Z,t as a106a0,tt as a106a1,u as a106a2,v as a106a3,w as a106a4,x as a106a5,y as a106a6,z as a106a7}from'../../object-CJHJxXlc.mjs';import{t as a106a8}from'../../received-D0KPLcZ8.mjs';import{n as a106a9,t as a106aa}from'../../util-Bwj83MFX.mjs';import{A as a106ab,F as a106ac,I as a106ad,M as a106ae,N as a106af,P as a106ag,a as a106ah,c as a106ai,d as a106aj,f as a106ak,i as a106al,j as a106am,l as a106an,n as a106ao,o as a106ap,p as a106aq,r as a106ar,s as a106as,t as a106at,u as a106au}from'../../query-BDY4w7pA.mjs';export{a106ag as AFFILIATION_TABLES_BY_TYPE,a106ac as AFFILIATION_TABLE_META,a106a0 as AllocationMode,a106S as AmountType,a106X as ArbStatus,a106ai as COMMON_MISTAKES,a106M as DiscountType,a106D as ENTITY_ORDER_ROLE_AGENT,a106U as ENTITY_ORDER_ROLE_OWNER,a106an as FUNDING_GUIDANCE,a106au as INFO_CONSTANT,a106Z as IdFrom,a106G as MAX_OBJECTS_PER_QUERY,a106Q as OBJECT_TYPE_DEFINITIONS,a106a as ObjectType,a106a2 as TreasuryOp,a106H as WitnessSourceType,a106J as WitnessTargetType,a106V as data2object,a106R as getMoveNameFromNumber,a106L as getMoveNameFromObjectType,a106K as getNumberFromMoveName,a106C as getNumberFromObjectType,a106a3 as getNumbersFromObjectTypes,a106a6 as getObjectTypeDefinition,a106F as getObjectTypeDefinitionFromNumber,a106a5 as getObjectTypeFromMoveName,a106u as getObjectTypeFromNumber,a106e as getObjectTypesFromNumbers,a106a4 as idFromToString,a106v as isValidIdFromInput,a106g as numberToObjectType,a106f as objectTypeFromAddress,a106q as objectTypeToNumber,a106P as parseIdFrom,a106ab as parseWowokEventItem,a106aa as queryObjectWithType,a106a9 as queryObjectsWithType,a106c as queryOrdersByUser,a106aj as queryPermissions,a106ak as queryProtocolInfo,a106O as queryTableItem_AddressMark,a106o as queryTableItem_DemandPresenter,a106p as queryTableItem_EntityContact,a106r as queryTableItem_EntityLinker,a106h as queryTableItem_EntityOrder,a106k as queryTableItem_EntityPermission,a106n as queryTableItem_EntityRegistrar,a106t as queryTableItem_MachineNode,a106a7 as queryTableItem_ObjectLinkerCore,a106d as queryTableItem_ObjectLinkerTx,a106x as queryTableItem_PermissionPerm,a106j as queryTableItem_ProgressHistory,a106w as queryTableItem_RepositoryData,a106y as queryTableItem_RewardRecord,a106i as queryTableItem_ServiceOrders,a106m as queryTableItem_TreasuryHistory,a106at as query_address_activity,a106ao as query_address_activity_json,a106W as query_address_profile,a106ad as query_affiliations,a106l as query_arbs,a106aq as query_common_mistakes,a106A as query_demands,a106am as query_events,a106ae as query_events_json,a106ar as query_object_history,a106al as query_object_history_json,a106ah as query_object_last_updated,a106z as query_objects,a106B as query_objects_json,a106s as query_personal,a106a8 as query_received,a106af as query_serviceContext,a106b as query_services,a106I as query_shared_objects,a106a1 as query_shared_objects_json,a106T as query_table,a106Y as query_tableItem,a106N as query_table_json,a106ap as query_transaction,a106as as query_transaction_json,a106E as raw2type};
|