@wowok/wowok 2.3.13 → 2.3.14
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-DJFsMaw8.mjs → arb-DxwJIdST.mjs} +1 -1
- package/dist/esm/{base-C6G3xkf-.mjs → base-C86lCgry.mjs} +1 -1
- package/dist/esm/{call-DPC7BB9z.mjs → call-hBi9RYhS.mjs} +1 -1
- package/dist/esm/client/index.d.mts +1 -1
- package/dist/esm/client/index.mjs +1 -1
- package/dist/esm/{client-Qky9ahYr.mjs → client-BDpoW817.mjs} +1 -1
- package/dist/esm/cryptography/index.d.mts +1 -1
- package/dist/esm/{evm-account-BEq5OtWc.d.mts → evm-account-DMl7wn2f.d.mts} +6 -3
- package/dist/esm/graphql/index.d.mts +1 -1
- package/dist/esm/graphql/index.mjs +1 -1
- package/dist/esm/{graphql-ChU-TqO3.mjs → graphql-D1DtuVTl.mjs} +1 -1
- package/dist/esm/grpc/index.d.mts +1 -1
- package/dist/esm/grpc/index.mjs +1 -1
- package/dist/esm/{grpc-Blljyw_0.mjs → grpc-Cvr2ZKG6.mjs} +1 -1
- package/dist/esm/{index-CT5v_n9y.d.mts → index-BPW4B3EM.d.mts} +24 -15
- package/dist/esm/index.d.mts +2 -2
- 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-BH1_27fy.mjs +1 -0
- package/dist/esm/messenger-api-DY39dCGn.mjs +1 -0
- package/dist/esm/multisig/index.d.mts +1 -1
- package/dist/esm/{object-CnzImhYw.mjs → object-Ba8hN2JH.mjs} +1 -1
- package/dist/esm/{pqxdh-66KxOyAF.d.mts → pqxdh-BqO4C7fY.d.mts} +1 -1
- package/dist/esm/{proof-BC83Au5Z.mjs → proof-CkKL93Wu.mjs} +1 -1
- package/dist/esm/{query-kEOQO88T.mjs → query-CM3lRjW3.mjs} +1 -1
- package/dist/esm/{received-CR3BScdG.mjs → received-C6iQKYzA.mjs} +1 -1
- package/dist/esm/service-Bjyt_lzr.mjs +1 -0
- package/dist/esm/transactions/index.d.mts +1 -1
- package/dist/esm/{util-B-taRQwn.mjs → util-BPrcEjHD.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 -2
- package/dist/esm/w/index.mjs +1 -1
- package/dist/esm/w/local/account.d.mts +1 -1
- package/dist/esm/w/local/account.mjs +1 -1
- package/dist/esm/w/local/evm-account.d.mts +1 -1
- package/dist/esm/w/local/evm-account.mjs +1 -1
- package/dist/esm/w/local/index.d.mts +2 -2
- package/dist/esm/w/local/token.d.mts +1 -1
- package/dist/esm/w/local/token.mjs +1 -1
- package/dist/esm/w/local/wip.mjs +1 -1
- package/dist/esm/w/messenger/crypto.d.mts +2 -2
- package/dist/esm/w/messenger/crypto.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.d.mts +2 -1
- package/dist/esm/w/messenger/pq/crypto.mjs +1 -1
- package/dist/esm/w/messenger/pq/index.d.mts +4 -4
- package/dist/esm/w/messenger/pq/index.mjs +1 -1
- package/dist/esm/w/messenger/pq/pqxdh.d.mts +1 -1
- package/dist/esm/w/messenger/pq/pqxdh.mjs +1 -1
- package/dist/esm/w/messenger/pq/ratchet.d.mts +2 -2
- package/dist/esm/w/messenger/pq/ratchet.mjs +1 -1
- package/dist/esm/w/messenger/pq/session.d.mts +1 -1
- package/dist/esm/w/messenger/pq/session.mjs +1 -1
- package/dist/esm/w/messenger/pq/spqr.d.mts +2 -5
- package/dist/esm/w/messenger/pq/spqr.mjs +1 -1
- package/dist/esm/w/messenger/pq/types.d.mts +2 -0
- package/dist/esm/w/messenger/storage.d.mts +1 -1
- package/dist/esm/w/messenger/types.d.mts +1 -1
- package/dist/esm/w/query/index.d.mts +1 -1
- package/dist/esm/w/query/index.mjs +1 -1
- package/dist/esm/w/query/object.d.mts +1 -1
- package/dist/esm/w/query/object.mjs +1 -1
- package/dist/esm/{w-BFHLwfOM.mjs → w-DnlqKppW.mjs} +1 -1
- package/package.json +1 -1
- package/dist/esm/messenger-CsKfzhTO.mjs +0 -1
- package/dist/esm/messenger-api-5Rsz17OK.mjs +0 -1
- package/dist/esm/service-Cm5BQ2jN.mjs +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{J as a31a}from'./common-CQggZ8z4.mjs';import{o as a31b}from'./exception--UEPnygY.mjs';import{LocalMark}from'./w/local/local.mjs';import{Account}from'./w/local/account.mjs';import{GetAccountOrMark_Address,GetManyAccountOrMark_Address}from'./w/local/index.mjs';import{L as a31c}from'./object-CnzImhYw.mjs';import{DEFAULT_MESSENGER_CONFIG,MessengerError,WTS_SCHEMA_URL}from'./w/messenger/types.mjs';import{n as a31d,t as a31e}from'./messenger-CsKfzhTO.mjs';import{MessageStorage,MessengerPersistStorage}from'./w/messenger/storage.mjs';import{generateNonce,hashPlaintext,verifyFalcon512Signature,verifySingleMerkleRoot}from'./w/messenger/crypto.mjs';import*as a31f from'path';import*as a31g from'fs';import{createHash}from'crypto';const MAX_ACCOUNTS=0x64,sleep=a=>new Promise(b=>setTimeout(b,a));var MessengerManager=class{constructor(a){this['accounts']=new Map(),this['messageListeners']=new Set(),this['isWatching']=![],this['accountRefreshTimer']=null,this['pollingLockedAccounts']=new Set(),this['config']={...DEFAULT_MESSENGER_CONFIG,...a?.['messengerConfig']},this['instanceId']=a?.['instanceId']||'default',this['persistStorage']=new MessengerPersistStorage();}['findAccount'](a){return this['accounts']['get'](a['toLowerCase']());}['getConfig'](){return this['config'];}['get_accounts'](){return Array['from'](this['accounts']['values']())['map'](a=>a['address']);}async['refresh_accounts'](){const {Account:a}=await import('./w/local/account.mjs'),b=await a['Instance']()['list_messenger_accounts'](),c=new Set(this['accounts']['keys']()),d=new Set(b['map'](e=>e['address']['toLowerCase']()));for(const e of c)if(!d['has'](e))this['remove_account_internal'](e);for(const f of b){const g=f['address']['toLowerCase']();if(!this['accounts']['has'](g))try{await this['add_account_internal'](f['address']);}catch(h){}}if(this['accounts']['size']>0x0&&!this['isWatching'])this['startPolling']();else{if(this['accounts']['size']===0x0&&this['isWatching'])this['stopPolling']();}await this['syncAllContactLists']();}async['start'](){await this['refresh_accounts']();for(const a of this['accounts']['values']()){if(!a['initialized']||!a['messenger'])continue;this['persistStorage']['tryAcquirePollingLock'](a['address'],this['instanceId'])&&(this['pollingLockedAccounts']['add'](a['address']['toLowerCase']()),a['messenger']['setOnMessageCallback'](b=>{for(const c of this['messageListeners'])c(b);}));}if(!this['isWatching'])this['startPolling']();if(this['accountRefreshTimer'])clearInterval(this['accountRefreshTimer']);this['accountRefreshTimer']=setInterval(()=>{this['refresh_accounts']()['catch'](b=>{});},this['config']['watch_interval_ms']);}['stop'](){this['accountRefreshTimer']&&(clearInterval(this['accountRefreshTimer']),this['accountRefreshTimer']=null);for(const a of this['pollingLockedAccounts'])this['persistStorage']['releasePollingLock'](a,this['instanceId']);this['pollingLockedAccounts']['clear'](),this['stopPolling'](),this['clear_accounts']();}async['ensureAccountReady'](a){const b=a['toLowerCase'](),c=this['accounts']['get'](b);if(c?.['initialized'])return c;if(c?.['initializing']){await c['initializing'];const d=this['accounts']['get'](b);if(d?.['initialized'])return d;throw new MessengerError('SERVER_ERROR','Account\x20'+a+'\x20initialization\x20failed');}return this['initializeAccount'](b);}async['initializeAccount'](a){const b=a['toLowerCase']();if(this['accounts']['size']>=MAX_ACCOUNTS)throw new MessengerError('INVALID_INPUT','Maximum\x20'+MAX_ACCOUNTS+'\x20accounts\x20allowed');const c=this['doInitialize'](b),d={'address':b,'messenger':null,'initialized':![],'initializing':c,'contactLists':{'friends':[],'guards':[],'lastUpdatedAt':0x0}};this['accounts']['set'](b,d);try{await c;const e=this['accounts']['get'](b);if(!e||!e['initialized'])throw new MessengerError('SERVER_ERROR','Account\x20'+a+'\x20initialization\x20failed');return e;}catch(f){this['accounts']['delete'](b);throw f;}}async['doInitialize'](a){const b=new a31e(a,this['config']);try{await b['initialize']();}catch(c){throw new MessengerError('SERVER_ERROR','Failed\x20to\x20initialize\x20account\x20'+a+':\x20'+(c instanceof Error?c['message']:String(c)));}await sleep(0x3e8),this['accounts']['set'](a,{'address':a,'messenger':b,'initialized':!![],'contactLists':{'friends':[],'guards':[],'lastUpdatedAt':0x0}}),this['isWatching']&&(this['persistStorage']['tryAcquirePollingLock'](a,this['instanceId'])&&(this['pollingLockedAccounts']['add'](a),b['setOnMessageCallback'](d=>{for(const e of this['messageListeners'])e(d);})));}async['add_account_internal'](a){await this['ensureAccountReady'](a);}['remove_account_internal'](a){const b=a['toLowerCase'](),c=this['accounts']['get'](b);if(!c)return![];if(c['initialized']&&c['messenger'])c['messenger']['disconnect']();return this['persistStorage']['releasePollingLock'](b,this['instanceId']),this['pollingLockedAccounts']['delete'](b),this['accounts']['delete'](b);}['clear_accounts'](){this['stopPolling']();for(const a of this['accounts']['values']())if(a['messenger'])a['messenger']['disconnect']();this['accounts']['clear']();}async['send'](a,b,c,d){const {Account:e}=await import('./w/local/account.mjs'),f=await e['Instance']()['get'](a,![]);if(!f)throw new MessengerError('IDENTITY_NOT_FOUND','Account\x20'+a+'\x20not\x20found');if(f['m']==null){if(d?.['new_messenger_name']==null)throw new MessengerError('ACCOUNT_MESSENGER_NOT_ENABLED','Account\x20messenger\x20name\x20not\x20set.\x20Use\x20new_messenger_name\x20parameter\x20to\x20set\x20it\x20automatically.');await e['Instance']()['set_messenger'](a,d['new_messenger_name']);}const g=await this['ensureAccountReady'](a);if(d?.['new_messenger_name']!=null){const h=await e['Instance']()['get'](a,![]);if(h&&h['m']!==d['new_messenger_name'])await e['Instance']()['set_messenger'](a,d['new_messenger_name']);}try{return await g['messenger']['sendMessage'](b,c,{'guardAddress':d?.['guardAddress'],'passportAddress':d?.['passportAddress'],'force':d?.['force'],'network':d?.['network']});}catch(i){if(i instanceof MessengerError&&i['code']==='IDENTITY_NOT_FOUND'){const j=i['message']||'',k=a['toLowerCase'](),l=b['toLowerCase'](),m=j['toLowerCase']()['includes'](k);if((j['toLowerCase']()['includes'](l)||j['toLowerCase']()['includes']('recipient')||j['toLowerCase']()['includes']('no\x20signed\x20prekey'))&&!m)throw new MessengerError('IDENTITY_NOT_FOUND','Recipient\x20'+b+'\x20is\x20not\x20registered\x20on\x20the\x20messenger\x20server.\x20Please\x20ask\x20them\x20to\x20enable\x20messenger\x20first.');console['log']('[MessengerManager]\x20Sender\x20'+a+'\x20not\x20found\x20on\x20server,\x20re-registering...'),await this['reinitializeAccount'](a);const n=this['accounts']['get'](a['toLowerCase']());if(n?.['initialized'])return await n['messenger']['sendMessage'](b,c,{'guardAddress':d?.['guardAddress'],'passportAddress':d?.['passportAddress'],'force':d?.['force'],'network':d?.['network']});}throw i;}}async['reinitializeAccount'](a){const b=a['toLowerCase'](),c=this['accounts']['get'](b);if(c){if(c['messenger'])c['messenger']['disconnect']();this['accounts']['delete'](b);}await this['initializeAccount'](b);}async['send_file'](a,b,c,d){const {Account:e}=await import('./w/local/account.mjs'),f=await e['Instance']()['get'](a,![]);if(!f)throw new MessengerError('IDENTITY_NOT_FOUND','Account\x20'+a+'\x20not\x20found');if(f['m']==null){if(d?.['new_messenger_name']==null)throw new MessengerError('ACCOUNT_MESSENGER_NOT_ENABLED','Account\x20messenger\x20name\x20not\x20set.\x20Use\x20new_messenger_name\x20parameter\x20to\x20set\x20it\x20automatically.');await e['Instance']()['set_messenger'](a,d['new_messenger_name']);}const g=await this['ensureAccountReady'](a);if(d?.['new_messenger_name']!=null){const h=await e['Instance']()['get'](a,![]);if(h&&h['m']!==d['new_messenger_name'])await e['Instance']()['set_messenger'](a,d['new_messenger_name']);}try{return await g['messenger']['sendZipFile'](b,c,{'fileName':d?.['fileName'],'contentType':d?.['contentType'],'guardAddress':d?.['guardAddress'],'passportAddress':d?.['passportAddress'],'force':d?.['force'],'network':d?.['network']});}catch(i){if(i instanceof MessengerError&&i['code']==='IDENTITY_NOT_FOUND'){const j=i['message']||'',k=a['toLowerCase'](),l=b['toLowerCase'](),m=j['toLowerCase']()['includes'](k);if((j['toLowerCase']()['includes'](l)||j['toLowerCase']()['includes']('recipient')||j['toLowerCase']()['includes']('no\x20signed\x20prekey'))&&!m)throw new MessengerError('IDENTITY_NOT_FOUND','Recipient\x20'+b+'\x20is\x20not\x20registered\x20on\x20the\x20messenger\x20server.\x20Please\x20ask\x20them\x20to\x20enable\x20messenger\x20first.');console['log']('[MessengerManager]\x20Sender\x20'+a+'\x20not\x20found\x20on\x20server,\x20re-registering...'),await this['reinitializeAccount'](a);const n=this['accounts']['get'](a['toLowerCase']());if(n?.['initialized'])return await n['messenger']['sendZipFile'](b,c,{'fileName':d?.['fileName'],'contentType':d?.['contentType'],'guardAddress':d?.['guardAddress'],'passportAddress':d?.['passportAddress'],'force':d?.['force'],'network':d?.['network']});}throw i;}}async['watch'](a){let b=[];if(a?.['account']!==void 0x0){const i=a['account']['toLowerCase'](),j=this['accounts']['get'](i);if(j?.['messenger'])await j['messenger']['pullMessages']();b=new MessageStorage(i)['getAllMessages'](i);}else for(const k of this['accounts']['values']()){if(k['messenger'])await k['messenger']['pullMessages']();const l=new MessageStorage(k['address'])['getAllMessages'](k['address']);b['push'](...l);}if(a){const m=a['peerAddress']?await GetAccountOrMark_Address(a['peerAddress']):void 0x0;b=b['filter'](n=>{if(a?.['account']!==void 0x0){const p=a['account']['toLowerCase'](),q=n['fromAddress']['toLowerCase'](),r=n['toAddress']['toLowerCase']();if(q!==p&&r!==p)return![];}if(a['direction']&&n['direction']!==a['direction'])return![];if(a['status']&&n['status']!==a['status'])return![];if(a['msgType']!==void 0x0&&n['msgType']!==a['msgType'])return![];if(a['contentType'])switch(a['contentType']){case'text':if(n['msgType']!==0x1)return![];break;case'zip':if(!n['zipMetadata'])return![];break;case'wts':if(!n['zipMetadata']||n['zipMetadata']?.['contentType']!=='wts')return![];break;case'wip':if(!n['zipMetadata']||n['zipMetadata']?.['contentType']!=='wip')return![];break;}if(a['peerAddress']&&m){const s=m['toLowerCase'](),t=n['fromAddress']['toLowerCase'](),u=n['toAddress']['toLowerCase']();if(t!==s&&u!==s)return![];}const o=a['timeField']||'createdAt';if(a['startTime']!==void 0x0||a['endTime']!==void 0x0){const v=n[o];if(v!==void 0x0){if(a['startTime']!==void 0x0&&v<a['startTime'])return![];if(a['endTime']!==void 0x0&&v>a['endTime'])return![];}}if(a['createdAtStart']!==void 0x0&&n['createdAt']<a['createdAtStart'])return![];if(a['createdAtEnd']!==void 0x0&&n['createdAt']>a['createdAtEnd'])return![];if(a['receivedAtStart']!==void 0x0){if(n['receivedAt']===void 0x0||n['receivedAt']<a['receivedAtStart'])return![];}if(a['receivedAtEnd']!==void 0x0){if(n['receivedAt']===void 0x0||n['receivedAt']>a['receivedAtEnd'])return![];}if(a['serverTimestampStart']!==void 0x0){if(n['serverTimestamp']===void 0x0||n['serverTimestamp']<a['serverTimestampStart'])return![];}if(a['serverTimestampEnd']!==void 0x0){if(n['serverTimestamp']===void 0x0||n['serverTimestamp']>a['serverTimestampEnd'])return![];}if(a['decryptedOnly']&&!n['plaintext'])return![];if(a['confirmedOnly']&&n['status']!=='confirmed')return![];if(a['arkConfirmedOnly']){if(!n['arkConfirmed'])return![];}if(a['proofedOnly']){if(!n['proof'])return![];}if(a['arkTimestampStart']!==void 0x0){if(n['arkConfirmed']===void 0x0||n['arkConfirmed']['timestamp']<a['arkTimestampStart'])return![];}if(a['arkTimestampEnd']!==void 0x0){if(n['arkConfirmed']===void 0x0||n['arkConfirmed']['timestamp']>a['arkTimestampEnd'])return![];}if(a['hasLastReceivedIndexOnly']){if(n['lastReceivedLeafIndex']===void 0x0||n['lastReceivedLeafIndex']===null)return![];}if(a['lastReceivedIndexMin']!==void 0x0){if(n['lastReceivedLeafIndex']===void 0x0||n['lastReceivedLeafIndex']<a['lastReceivedIndexMin'])return![];}if(a['lastReceivedIndexMax']!==void 0x0){if(n['lastReceivedLeafIndex']===void 0x0||n['lastReceivedLeafIndex']>a['lastReceivedIndexMax'])return![];}if(a['keyword']&&n['plaintext']){if(!n['plaintext']['toLowerCase']()['includes'](a['keyword']['toLowerCase']()))return![];}if(a['listFilterMode']&&a['listFilterMode']!=='any'){const w=this['findAccount'](n['toAddress']);if(!w)return![];const x=n['fromAddress']['toLowerCase'](),y=w['contactLists'],z=new Set(y['friends']['map'](E=>E['toLowerCase']())),A=new Set(y['guards']['map'](E=>E['guardAddress']['toLowerCase']())),B=z['has'](x),C=A['has'](x),D=!B&&!C;switch(a['listFilterMode']){case'friends':if(!B)return![];break;case'guard':if(!C)return![];break;case'stranger':if(!D)return![];break;}if(a['customListFilter']){const {includeAddresses:E,excludeAddresses:F,relation:relation='union'}=a['customListFilter'];if(F){if(new Set(F['map'](G=>G['toLowerCase']()))['has'](x))return![];}if(E&&E['length']>0x0){const G=new Set(E['map'](H=>H['toLowerCase']()))['has'](x);if(relation==='union'){const H=a['listFilterMode']==='friends'&&B||a['listFilterMode']==='guard'&&C||a['listFilterMode']==='stranger'&&D;if(!G&&!H)return![];}else{if(!G)return![];}}}}if(a['viewed']!==void 0x0){const I=n['viewedAt']!==void 0x0;if(a['viewed']!==I)return![];}if(a['viewedAtStart']!==void 0x0){if(n['viewedAt']===void 0x0||n['viewedAt']<a['viewedAtStart'])return![];}if(a['viewedAtEnd']!==void 0x0){if(n['viewedAt']===void 0x0||n['viewedAt']>a['viewedAtEnd'])return![];}return!![];});}const c=a?.['sortOrder']??'desc',d=a?.['timeField']||'createdAt';b['sort']((n,o)=>{const p=n[d]||0x0,q=o[d]||0x0;return c==='asc'?p-q:q-p;});const {MAX_QUERY_LIMIT:e}=await import('./w/messenger/types.mjs'),f=this['config']['defaultQueryLimit']??0x32,g=Math['min'](a?.['limit']??f,e),h=a?.['offset']??0x0;return b=b['slice'](h,h+g),b;}['startPolling'](){if(this['isWatching'])return;this['isWatching']=!![];}['stopPolling'](){this['isWatching']=![];}['onMessage'](a){this['messageListeners']['add'](a);}['offMessage'](a){this['messageListeners']['delete'](a);}['destroy'](){this['stop'](),this['messageListeners']['clear']();}async['syncContactLists'](a){const b=this['findAccount'](a);if(!b)return{'success':![],'friends':[],'guards':[],'error':'Account\x20not\x20found:\x20'+a};try{const [c,d]=await Promise['all']([b['messenger']['getFriendsList'](),b['messenger']['getGuardList']()]),e=d['currentGuardList']||[];return b['contactLists']={'friends':c,'guards':e,'lastUpdatedAt':Date['now']()},{'success':!![],'friends':c,'guards':e};}catch(f){return{'success':![],'friends':b['contactLists']['friends'],'guards':b['contactLists']['guards'],'error':f instanceof Error?f['message']:String(f)};}}async['syncAllContactLists'](){const a=new Map();for(const b of this['accounts']['values']()){const c=await this['syncContactLists'](b['address']);a['set'](b['address'],c);}return a;}['getContactLists'](a){return this['findAccount'](a)?.['contactLists'];}['setContactLists'](a,b){const c=this['findAccount'](a);if(!c)return![];return c['contactLists']={...c['contactLists'],...b,'lastUpdatedAt':Date['now']()},!![];}['isStranger'](a,b){const c=this['findAccount'](a);if(!c)return!![];const d=b['toLowerCase'](),e=c['contactLists'],f=e['friends']['some'](h=>h['toLowerCase']()===d),g=e['guards']['some'](h=>h['guardAddress']['toLowerCase']()===d);return!f&&!g;}['recordGuardSender'](a,b){const c=this['findAccount'](a);if(!c)return![];const d=b['toLowerCase']();return!c['contactLists']['guards']['some'](e=>e['guardAddress']['toLowerCase']()===d)&&(c['contactLists']['guards']['push']({'guardAddress':b,'passportValiditySeconds':0x15180}),c['contactLists']['lastUpdatedAt']=Date['now']()),!![];}['generateNonce'](){return generateNonce();}async['watch_paginated'](a){const {MAX_QUERY_LIMIT:b}=await import('./w/messenger/types.mjs'),c=await this['watch'](a),d=c['length'],e=this['config']['defaultQueryLimit']??0x32,f=Math['min'](a?.['limit']??e,b),g=a?.['offset']??0x0;return{'messages':c['slice'](g,g+f),'total':d,'offset':g,'limit':f};}async['get_conversations'](a){const b=a?{'account':a}:void 0x0,c=await this['watch'](b),d=new Map();for(const e of c){const f=a?.['toLowerCase'](),g=e['fromAddress']['toLowerCase']()===f?e['toAddress']:e['fromAddress'];if(!d['has'](g))d['set'](g,{'peerAddress':g,'lastMessageAt':e['createdAt'],'messageCount':0x0,'unreadCount':0x0,'lastMessagePreview':e['plaintext']});const h=d['get'](g);h['messageCount']++;e['createdAt']>h['lastMessageAt']&&(h['lastMessageAt']=e['createdAt'],h['lastMessagePreview']=e['plaintext']);if(e['status']!=='read'&&e['toAddress']['toLowerCase']()===f)h['unreadCount']++;}return Array['from'](d['values']())['sort']((i,j)=>j['lastMessageAt']-i['lastMessageAt']);}async['generate_wts'](a,b,c,d,e){const f=await import('fs'),g=await import('path'),h=b['toLowerCase'](),k=c['toLowerCase']();let l=new MessageStorage(h)['getAllMessages'](h)['filter'](u=>{const v=u['fromAddress']['toLowerCase'](),w=u['toAddress']['toLowerCase']();return v===h&&w===k||v===k&&w===h;});l=l['filter'](u=>u['leafIndex']!==void 0x0&&u['serverTimestamp']!==void 0x0)['reduce']((u,v)=>{if(!u['find'](w=>w['messageId']===v['messageId']))u['push'](v);return u;},[])['sort']((u,v)=>{const w=u['serverTimestamp']-v['serverTimestamp'];if(w!==0x0)return w;return u['leafIndex']-v['leafIndex'];});if(d)switch(d['type']){case'time':{const u=Math['min'](d['start'],d['end']),v=Math['max'](d['start'],d['end']);l=l['filter'](w=>w['createdAt']>=u&&w['createdAt']<=v);break;}case'messageId':{const w=d['start'],x=d['end'];l=l['filter'](y=>y['messageId']>=w&&y['messageId']<=x);break;}case'seqIndex':{const y=Math['min'](d['start'],d['end']),z=Math['max'](d['start'],d['end']);l=l['filter'](A=>A['leafIndex']>=y&&A['leafIndex']<=z);break;}}if(l['length']===0x0)throw new MessengerError('INVALID_INPUT','No\x20messages\x20found\x20for\x20the\x20given\x20criteria');const m=l['map'](A=>A['leafIndex'])['filter'](A=>A!==void 0x0)['sort']((A,B)=>A-B),n=[];for(let A=0x1;A<m['length'];A++){const B=m[A-0x1]+0x1,C=m[A];if(C!==B){for(let D=B;D<C;D++)n['push'](D);}}if(n['length']>0x0){}if(l['length']>0x1f4)throw new MessengerError('INVALID_INPUT','Message\x20count\x20('+l['length']+')\x20exceeds\x20maximum\x20allowed\x20(500)');if(!f['existsSync'](a))f['mkdirSync'](a,{'recursive':!![]});const o=h['slice'](0x0,0x6)+'_'+k['slice'](0x0,0x6),p=[];let q=[];for(let E=0x0;E<l['length'];E++){const F=l[E];if(q['length']===0x0)q['push'](F);else{const G=q[q['length']-0x1]['leafIndex']+0x1;if(q['length']>=0x1f4||F['leafIndex']!==G)p['push'](q),q=[F];else q['push'](F);}}if(q['length']>0x0)p['push'](q);p['forEach']((H,I)=>{H['map'](J=>J['leafIndex'])['join'](',\x20');});const r=[];for(const H of p){const I=H['map'](Z=>Z['leafIndex'])['filter'](Z=>Z!==void 0x0),J=Math['min'](...I),K=Math['max'](...I),L=H[0x0]['createdAt'],M=H[H['length']-0x1]['createdAt'];for(const Z of H){if(Z['serverTimestamp']===void 0x0)throw new MessengerError('INVALID_INPUT','Message\x20'+Z['messageId']+'\x20missing\x20serverTimestamp');if(Z['leafIndex']===void 0x0)throw new MessengerError('INVALID_INPUT','Message\x20'+Z['messageId']+'\x20missing\x20leafIndex');if(!Z['prevRoot'])throw new MessengerError('INVALID_INPUT','Message\x20'+Z['messageId']+'\x20missing\x20prevRoot');if(!Z['newRoot'])throw new MessengerError('INVALID_INPUT','Message\x20'+Z['messageId']+'\x20missing\x20newRoot');if(!Z['serverSignature'])throw new MessengerError('INVALID_INPUT','Message\x20'+Z['messageId']+'\x20missing\x20serverSignature');}const N=H['map'](a0=>{const a1={'id':a0['messageId'],'from':a0['fromAddress'],'to':a0['toAddress'],'plaintextHash':a0['plaintextHash'],'clientTimestamp':a0['createdAt'],'timestamp':a0['serverTimestamp'],'leafIndex':a0['leafIndex'],'prevRoot':a0['prevRoot'],'merkleRoot':a0['newRoot'],'serverSignature':a0['serverSignature'],'serverPublicKeyIndex':0x0,'msgType':a0['msgType']};if(!e&&a0['plaintext']!==void 0x0)a1['plaintext']=a0['plaintext'];if(a0['guardAddress']!==void 0x0)a1['guardAddress']=a0['guardAddress'];if(a0['passportAddress']!==void 0x0)a1['passportAddress']=a0['passportAddress'];if(a0['arkConfirmed']!==void 0x0)a1['arkConfirmed']={'recipient':a0['arkConfirmed']['recipient'],'recipientPublicKey':a0['arkConfirmed']['recipientPublicKey'],'signature':a0['arkConfirmed']['signature'],'timestamp':a0['arkConfirmed']['timestamp']};if(a0['zipMetadata']!==void 0x0)a1['zipMetadata']=a0['zipMetadata'];if(a0['lastReceivedLeafIndex']!==void 0x0&&a0['lastReceivedLeafIndex']!==-0x1)a1['lastReceivedLeafIndex']=a0['lastReceivedLeafIndex'];return a1;}),O={'participants':[h,k]['sort']()},P=[],Q=new Map();for(const a0 of N){const a1=H['find'](a3=>a3['messageId']===a0['id'])?.['serverPublicKey']||'';if(!a1)continue;let a2=Q['get'](a1);a2===void 0x0&&(a2=P['length'],Q['set'](a1,a2),P['push']({'publicKey':a1,'validFrom':0x0})),a0['serverPublicKeyIndex']=a2;}const R={'session':O,'messages':N},{sha256:S}=await import('@noble/hashes/sha2.js'),{bytesToHex:T}=await import('@noble/hashes/utils.js'),U={'wts':WTS_SCHEMA_URL,...R},V=T(S(new TextEncoder()['encode'](a31d(U)))),W={'wts':WTS_SCHEMA_URL,'payload':R,'meta':{'type':'wts','version':'1.0','created':new Date()['toISOString'](),'hash':V,'algorithm':'sha256','startTime':L,'endTime':M,'messageCount':N['length'],'merkleRoot':N[N['length']-0x1]['merkleRoot'],'creator':h,'participant':k,'serverPublicKeys':P}},X=o+'_'+J+'-'+K+'.wts',Y=g['join'](a,X);f['writeFileSync'](Y,JSON['stringify'](W,null,0x2)),r['push'](Y);}const s=l[0x0]?.['createdAt']||0x0,t=l[l['length']-0x1]?.['createdAt']||0x0;return{'files':r,'totalMessageCount':l['length'],'timeRange':{'start':s,'end':t}};}async['addToBlacklist'](a,b){const c=this['findAccount'](a);if(!c)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return c['messenger']['addToBlacklist'](b);}async['removeFromBlacklist'](a,b){const c=this['findAccount'](a);if(!c)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return c['messenger']['removeFromBlacklist'](b);}async['clearBlacklist'](a){const b=this['findAccount'](a);if(!b)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return b['messenger']['clearBlacklist']();}async['getBlacklist'](a){const b=this['findAccount'](a);if(!b)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return b['messenger']['getBlacklist']();}async['existInBlacklist'](a,b){const c=this['findAccount'](a);if(!c)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return c['messenger']['existInBlacklist'](b);}async['addToFriendsList'](a,b){const c=this['findAccount'](a);if(!c)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return c['messenger']['addToFriendsList'](b);}async['removeFromFriendsList'](a,b){const c=this['findAccount'](a);if(!c)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return c['messenger']['removeFromFriendsList'](b);}async['clearFriendsList'](a){const b=this['findAccount'](a);if(!b)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return b['messenger']['clearFriendsList']();}async['getFriendsList'](a){const b=this['findAccount'](a);if(!b)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return b['messenger']['getFriendsList']();}async['existInFriendsList'](a,b){const c=this['findAccount'](a);if(!c)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return c['messenger']['existInFriendsList'](b);}async['addToGuardList'](a,b){const c=this['findAccount'](a);if(!c)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return c['messenger']['addToGuardList'](b);}async['removeFromGuardList'](a,b){const c=this['findAccount'](a);if(!c)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return c['messenger']['removeFromGuardList'](b);}async['getGuardList'](a){const b=this['findAccount'](a);if(!b)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return b['messenger']['getGuardList']();}async['getSettings'](a){const b=this['findAccount'](a);if(!b)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return b['messenger']['getSettings']();}async['setSettings'](a,b){const c=this['findAccount'](a);if(!c)throw new MessengerError('ACCOUNT_NOT_FOUND','Account\x20'+a+'\x20not\x20in\x20managed\x20accounts');return c['messenger']['setSettings'](b);}};function escapeHtml(a){if(!a)return'';return a['replace'](/&/g,'&')['replace'](/</g,'<')['replace'](/>/g,'>')['replace'](/"/g,'"')['replace'](/'/g,''');}function formatFileSize(a){if(a<0x400)return a+'\x20B';if(a<0x400*0x400)return(a/0x400)['toFixed'](0x1)+'\x20KB';return(a/(0x400*0x400))['toFixed'](0x1)+'\x20MB';}function isNonTextMessage(a){return!!a['zipMetadata'];}function getFileTypeLabel(a){if(a['zipMetadata']?.['contentType'])return a['zipMetadata']['contentType']['toUpperCase']();const b=a['zipMetadata']?.['fileName']||'';if(b['endsWith']('.wts'))return'WTS';if(b['endsWith']('.wip'))return'WIP';if(b['endsWith']('.zip'))return'ZIP';if(b['endsWith']('.json'))return'JSON';if(b['endsWith']('.txt'))return'TXT';if(a['zipMetadata'])return'ZIP';return'FILE';}function getThemeColors(a){return{'bgColor':a==='dark'?'#1a1a1a':'#ffffff','textColor':a==='dark'?'#e0e0e0':'#333333','borderColor':a==='dark'?'#444444':'#e0e0e0'};}function getMessageColors(a,b){if(b)return{'bgColor':a==='dark'?'#1a365d':'#e3f2fd','borderColor':a==='dark'?'#3b82f6':'#90caf9'};else return{'bgColor':a==='dark'?'#1e3a2f':'#e8f5e9','borderColor':a==='dark'?'#10b981':'#a5d6a7'};}function generateFileButton(a,b,c){if(!a['plaintext']||!a['zipMetadata']?.['fileName'])return'';const d=a['zipMetadata']['fileName'],e=a['plaintext'],f=a['zipMetadata']['fileSize']||0x0,g=getFileTypeLabel(a),h=c==='dark'?'#2a3f2a':'#e8f5e9',i=c==='dark'?'#4caf50':'#4caf50',j=c==='dark'?'#81c784':'#2e7d32',k='#4caf50';return'\x0a\x09\x09<div\x20style=\x22margin:\x2012px\x200;\x20padding:\x2016px;\x20background:\x20'+h+';\x20border:\x201px\x20solid\x20'+i+';\x20border-radius:\x208px;\x20text-align:\x20center;\x22>\x0a\x09\x09\x09<div\x20style=\x22font-size:\x2014px;\x20color:\x20'+j+';\x20margin-bottom:\x208px;\x22>\x0a\x09\x09\x09\x09📎\x20'+escapeHtml(g)+'\x20File\x0a\x09\x09\x09\x09<span\x20style=\x22font-size:\x2012px;\x20color:\x20#666;\x22>('+formatFileSize(f)+')</span>\x0a\x09\x09\x09</div>\x0a\x09\x09\x09<button\x20\x0a\x09\x09\x09\x09onclick=\x22saveFile'+b+'()\x22\x0a\x09\x09\x09\x09style=\x22padding:\x2010px\x2024px;\x20background:\x20'+k+';\x20color:\x20white;\x20border:\x20none;\x20border-radius:\x204px;\x20cursor:\x20pointer;\x20font-size:\x2014px;\x22\x0a\x09\x09\x09\x09onmouseover=\x22this.style.background=\x27#45a049\x27\x22\x0a\x09\x09\x09\x09onmouseout=\x22this.style.background=\x27'+k+'\x27\x22\x0a\x09\x09\x09>\x0a\x09\x09\x09\x09💾\x20Save\x20'+escapeHtml(d)+'\x0a\x09\x09\x09</button>\x0a\x09\x09</div>\x0a\x09\x09<script>\x0a\x09\x09\x09function\x20saveFile'+b+'()\x20{\x0a\x09\x09\x09\x09try\x20{\x0a\x09\x09\x09\x09\x09const\x20base64Data\x20=\x20\x22'+escapeHtml(e)+'\x22;\x0a\x09\x09\x09\x09\x09const\x20byteCharacters\x20=\x20atob(base64Data);\x0a\x09\x09\x09\x09\x09const\x20byteNumbers\x20=\x20new\x20Array(byteCharacters.length);\x0a\x09\x09\x09\x09\x09for\x20(let\x20i\x20=\x200;\x20i\x20<\x20byteCharacters.length;\x20i++)\x20{\x0a\x09\x09\x09\x09\x09\x09byteNumbers[i]\x20=\x20byteCharacters.charCodeAt(i);\x0a\x09\x09\x09\x09\x09}\x0a\x09\x09\x09\x09\x09const\x20byteArray\x20=\x20new\x20Uint8Array(byteNumbers);\x0a\x09\x09\x09\x09\x09\x0a\x09\x09\x09\x09\x09let\x20mimeType\x20=\x20\x22application/octet-stream\x22;\x0a\x09\x09\x09\x09\x09const\x20fileName\x20=\x20\x22'+escapeHtml(d)+'\x22;\x0a\x09\x09\x09\x09\x09if\x20(fileName.endsWith(\x27.json\x27))\x20mimeType\x20=\x20\x22application/json\x22;\x0a\x09\x09\x09\x09\x09else\x20if\x20(fileName.endsWith(\x27.zip\x27))\x20mimeType\x20=\x20\x22application/zip\x22;\x0a\x09\x09\x09\x09\x09else\x20if\x20(fileName.endsWith(\x27.txt\x27))\x20mimeType\x20=\x20\x22text/plain\x22;\x0a\x09\x09\x09\x09\x09\x0a\x09\x09\x09\x09\x09const\x20blob\x20=\x20new\x20Blob([byteArray],\x20{\x20type:\x20mimeType\x20});\x0a\x09\x09\x09\x09\x09const\x20url\x20=\x20URL.createObjectURL(blob);\x0a\x09\x09\x09\x09\x09const\x20a\x20=\x20document.createElement(\x22a\x22);\x0a\x09\x09\x09\x09\x09a.href\x20=\x20url;\x0a\x09\x09\x09\x09\x09a.download\x20=\x20fileName;\x0a\x09\x09\x09\x09\x09document.body.appendChild(a);\x0a\x09\x09\x09\x09\x09a.click();\x0a\x09\x09\x09\x09\x09document.body.removeChild(a);\x0a\x09\x09\x09\x09\x09URL.revokeObjectURL(url);\x0a\x09\x09\x09\x09}\x20catch\x20(e)\x20{\x0a\x09\x09\x09\x09\x09alert(\x27保存文件失败:\x20\x27\x20+\x20e.message);\x0a\x09\x09\x09\x09}\x0a\x09\x09\x09}\x0a\x09\x09</script>\x0a\x09';}function generateMessageHtml(a,b,c){const {theme:d,borderColor:e,myAddress:f,maxLastReceivedLeafIndex:g}=c,h=isNonTextMessage(a),i=a['from']['toLowerCase']()===f['toLowerCase'](),j=i&&g>=0x0&&a['leafIndex']<=g,k=getMessageColors(d,i),l=d==='dark'?'#333333':'#ffffff';let m='';if(h)m=generateFileButton(a,b,d);else{if(a['plaintext'])m='<div\x20style=\x22margin:\x2012px\x200;\x20padding:\x2012px;\x20background:\x20'+l+';\x20border:\x201px\x20solid\x20'+e+';\x20border-radius:\x204px;\x20font-size:\x2014px;\x20line-height:\x201.6;\x20max-height:\x20calc(1.6em\x20*\x206);\x20overflow-y:\x20auto;\x20white-space:\x20pre-wrap;\x20word-break:\x20break-word;\x22>'+escapeHtml(a['plaintext'])+'</div>';}const n=['<div>Merkle\x20Root:\x20'+escapeHtml(a['merkleRoot'])+'</div>',a['arkConfirmed']?'<div>ARK\x20Confirmed:\x20'+escapeHtml(a['arkConfirmed']['recipient'])+'\x20at\x20'+new Date(a['arkConfirmed']['timestamp'])['toLocaleString']()+'</div>':'',a['guardAddress']?'<div>Guard:\x20'+escapeHtml(a['guardAddress'])+'</div>':'',a['passportAddress']?'<div>Passport:\x20'+escapeHtml(a['passportAddress'])+'</div>':'']['filter'](Boolean)['join']('');return'\x0a\x09\x09<div\x20style=\x22margin:\x2016px\x200;\x20padding:\x2016px;\x20border:\x201px\x20solid\x20'+k['borderColor']+';\x20border-radius:\x208px;\x20background:\x20'+k['bgColor']+';\x22>\x0a\x09\x09\x09<div\x20style=\x22display:\x20flex;\x20justify-content:\x20space-between;\x20margin-bottom:\x208px;\x20font-size:\x2012px;\x20color:\x20#666;\x22>\x0a\x09\x09\x09\x09<span>From:\x20'+escapeHtml(a['from']['slice'](0x0,0x6))+'...'+escapeHtml(a['from']['slice'](-0x3))+'\x20To:\x20'+escapeHtml(a['to']['slice'](0x0,0x6))+'...'+escapeHtml(a['to']['slice'](-0x3))+'</span>\x0a\x09\x09\x09\x09<span>'+new Date(a['timestamp'])['toLocaleString']()+'</span>\x0a\x09\x09\x09</div>\x0a\x09\x09\x09'+m+'\x0a\x09\x09\x09<div\x20style=\x22margin:\x208px\x200;\x20font-size:\x2011px;\x20color:\x20#666;\x22>\x0a\x09\x09\x09\x09'+n+'\x0a\x09\x09\x09</div>\x0a\x09\x09\x09<div\x20style=\x22font-size:\x2011px;\x20color:\x20#888;\x20margin-top:\x208px;\x20padding-top:\x208px;\x20border-top:\x201px\x20solid\x20'+e+';\x20display:\x20flex;\x20justify-content:\x20space-between;\x20align-items:\x20center;\x22>\x0a\x09\x09\x09\x09<div>Leaf\x20Index:\x20'+a['leafIndex']+'</div>\x0a\x09\x09\x09\x09'+(j?'<span\x20style=\x22color:\x20#4caf50;\x22>Delivered\x20&\x20Decrypted</span>':'')+'\x0a\x09\x09\x09</div>\x0a\x09\x09</div>\x0a\x09';}function generateSignatureHtml(a,b,c){if(!a['signatures']||a['signatures']['length']===0x0)return'';const d=b==='dark'?'#2a3f2a':'#e8f5e9',e=b==='dark'?'#81c784':'#2e7d32',f=a['signatures']['map']((g,h)=>'\x0a\x09\x09\x09<div\x20style=\x22font-size:\x2010px;\x20color:\x20'+c+';\x20margin-left:\x208px;\x22>\x0a\x09\x09\x09\x09'+(h+0x1)+'.\x20'+(g['address']?escapeHtml(g['address']['slice'](0x0,0x6))+'...'+escapeHtml(g['address']['slice'](-0x3)):'Unknown')+':\x20\x0a\x09\x09\x09\x09'+(g['valid']?'<span\x20style=\x22color:\x20#4caf50;\x22>✓\x20Valid</span>':'<span\x20style=\x22color:\x20#f44336;\x22>✗\x20Invalid</span>')+'\x0a\x09\x09\x09</div>\x0a\x09\x09')['join']('');return'\x0a\x09\x09<div\x20style=\x22margin-top:\x208px;\x20padding:\x208px;\x20background:\x20'+d+';\x20border-radius:\x204px;\x22>\x0a\x09\x09\x09<div\x20style=\x22font-size:\x2011px;\x20color:\x20'+e+';\x20margin-bottom:\x204px;\x22>\x0a\x09\x09\x09\x09✓\x20Signature\x20Verification\x20('+a['signatures']['length']+'\x20signature'+(a['signatures']['length']>0x1?'s':'')+')\x0a\x09\x09\x09</div>\x0a\x09\x09\x09'+f+'\x0a\x09\x09</div>\x0a\x09';}const MESSAGES_PER_PAGE=0x64;function generateHtmlPage(a){const {title:b,theme:c,bgColor:d,textColor:e,borderColor:f,meta:g,payload:h,verifyResult:i,maxLastReceivedLeafIndex:j}=a,k=h['messages']['length'],l=Math['ceil'](k/MESSAGES_PER_PAGE),m=[];for(let s=0x0;s<l;s++){const t=s*MESSAGES_PER_PAGE,u=Math['min'](t+MESSAGES_PER_PAGE,k),v=h['messages']['slice'](t,u)['map']((w,x)=>generateMessageHtml(w,t+x,a))['join']('');m['push']({'pageNum':s+0x1,'html':'<div\x20class=\x22page\x22\x20data-page=\x22'+(s+0x1)+'\x22\x20style=\x22display:\x20'+(s===0x0?'block':'none')+';\x22>'+v+'</div>'});}const n=l>0x1?generatePaginationHtml(l,c,e):'',o=m['map'](w=>w['html'])['join'](''),p=generateSignatureHtml(i,c,e),q=i['valid']?'<span\x20style=\x22color:\x20#4caf50;\x20margin-left:\x208px;\x22>✓\x20The\x20accuracy,\x20sequentiality,\x20and\x20integrity\x20of\x20the\x20messages\x20are\x20verified\x20without\x20tampering</span>':'<span\x20style=\x22color:\x20#ff9800;\x20margin-left:\x208px;\x22>⚠\x20'+(i['error']||'Hash\x20mismatch\x20-\x20content\x20has\x20been\x20tampered')+'</span>',r=j>=0x0?'<div>Delivered\x20&\x20Decrypted\x20Leaf\x20Index:\x20'+j+'\x20(sent\x20messages\x20are\x20only\x20confirmed\x20as\x20decrypted\x20after\x20receiving\x20a\x20reply\x20from\x20the\x20other\x20party)</div>':'';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>'+escapeHtml(b)+'</title>\x0a\x20\x20\x20\x20<style>\x0a\x20\x20\x20\x20\x20\x20\x20\x20body\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-family:\x20-apple-system,\x20BlinkMacSystemFont,\x20\x22Segoe\x20UI\x22,\x20Roboto,\x20sans-serif;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20max-width:\x20800px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin:\x200\x20auto;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2020px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20'+d+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20'+e+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.header\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-bottom:\x202px\x20solid\x20'+f+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding-bottom:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-bottom:\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.meta\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#666;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-top:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.note\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2011px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#999;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-top:\x2012px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20'+(c==='dark'?'#2a2a2a':'#f5f5f5')+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x204px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-style:\x20italic;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.pagination\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20display:\x20flex;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20justify-content:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20align-items:\x20center;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20gap:\x208px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20margin-top:\x2024px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-top:\x201px\x20solid\x20'+f+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.pagination\x20button\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20padding:\x208px\x2016px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border:\x201px\x20solid\x20'+f+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20'+(c==='dark'?'#333':'#fff')+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20'+e+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20pointer;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20border-radius:\x204px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.pagination\x20button:hover:not(:disabled)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20background:\x20'+(c==='dark'?'#444':'#f0f0f0')+';\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.pagination\x20button:disabled\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20opacity:\x200.5;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20cursor:\x20not-allowed;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.pagination\x20.page-info\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20font-size:\x2014px;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20color:\x20#666;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20.page\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20animation:\x20fadeIn\x200.3s\x20ease-in;\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20@keyframes\x20fadeIn\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20from\x20{\x20opacity:\x200;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20to\x20{\x20opacity:\x201;\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20</style>\x0a</head>\x0a<body>\x0a\x20\x20\x20\x20<div\x20class=\x22header\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<h1>Witness\x20Timestamped\x20Sequence</h1>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22note\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20Important\x20Note:\x20This\x20page\x20is\x20for\x20message\x20browsing\x20and\x20verification\x20reference\x20only.\x20Please\x20verify\x20whether\x20the\x20message\x20sequence\x20has\x20been\x20tampered\x20with\x20through\x20the\x20\x27verify_wts\x27\x20API\x20using\x20the\x20WTS\x20file.\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22font-size:\x2014px;\x20color:\x20#666;\x20margin-top:\x204px;\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+new Date(g['startTime'])['toLocaleDateString']()+'\x20-\x20'+new Date(g['endTime'])['toLocaleDateString']()+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+q+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<div\x20class=\x22meta\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div>Messages:\x20'+g['messageCount']+'\x20|\x20Time:\x20'+new Date(g['startTime'])['toLocaleString']()+'\x20-\x20'+new Date(g['endTime'])['toLocaleString']()+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22word-break:\x20break-all;\x22>Merkle\x20Root:\x20'+escapeHtml(g['merkleRoot'])+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+r+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22color:\x20'+(c==='dark'?'#3b82f6':'#1976d2')+';\x22>Creator:\x20'+escapeHtml(g['creator'])+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20<div\x20style=\x22color:\x20'+(c==='dark'?'#10b981':'#2e7d32')+';\x22>Participant:\x20'+escapeHtml(g['participant'])+'</div>\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'+p+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20<div\x20id=\x22messages-container\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+o+'\x0a\x20\x20\x20\x20</div>\x0a\x20\x20\x20\x20'+n+'\x0a\x20\x20\x20\x20<script>\x0a\x20\x20\x20\x20\x20\x20\x20\x20(function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20let\x20currentPage\x20=\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20totalPages\x20=\x20'+l+';\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20showPage(pageNum)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20隐藏所有页面\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20document.querySelectorAll(\x27.page\x27).forEach(page\x20=>\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20page.style.display\x20=\x20\x27none\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20显示目标页面\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20targetPage\x20=\x20document.querySelector(\x27.page[data-page=\x22\x27\x20+\x20pageNum\x20+\x20\x27\x22]\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(targetPage)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20targetPage.style.display\x20=\x20\x27block\x27;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20currentPage\x20=\x20pageNum;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updatePaginationButtons();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20function\x20updatePaginationButtons()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20prevBtn\x20=\x20document.getElementById(\x27prev-btn\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20nextBtn\x20=\x20document.getElementById(\x27next-btn\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20pageInfo\x20=\x20document.getElementById(\x27page-info\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(prevBtn)\x20prevBtn.disabled\x20=\x20currentPage\x20===\x201;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(nextBtn)\x20nextBtn.disabled\x20=\x20currentPage\x20===\x20totalPages;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(pageInfo)\x20pageInfo.textContent\x20=\x20\x27Page\x20\x27\x20+\x20currentPage\x20+\x20\x27\x20of\x20\x27\x20+\x20totalPages;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20绑定按钮事件\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20prevBtn\x20=\x20document.getElementById(\x27prev-btn\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20const\x20nextBtn\x20=\x20document.getElementById(\x27next-btn\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(prevBtn)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20prevBtn.addEventListener(\x27click\x27,\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(currentPage\x20>\x201)\x20showPage(currentPage\x20-\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(nextBtn)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20nextBtn.addEventListener(\x27click\x27,\x20function()\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20if\x20(currentPage\x20<\x20totalPages)\x20showPage(currentPage\x20+\x201);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20});\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20//\x20初始化\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updatePaginationButtons();\x0a\x20\x20\x20\x20\x20\x20\x20\x20})();\x0a\x20\x20\x20\x20</script>\x0a</body>\x0a</html>';}function generatePaginationHtml(a,b,c){return'\x0a\x20\x20\x20\x20<div\x20class=\x22pagination\x22>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22prev-btn\x22\x20disabled>←\x20Previous</button>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<span\x20class=\x22page-info\x22\x20id=\x22page-info\x22>Page\x201\x20of\x20'+a+'</span>\x0a\x20\x20\x20\x20\x20\x20\x20\x20<button\x20id=\x22next-btn\x22\x20'+(a<=0x1?'disabled':'')+'>Next\x20→</button>\x0a\x20\x20\x20\x20</div>';}let managerInstance=null,isInitialized=![],startPromise=null,backgroundTimer=null;async function autoRegisterMessengerAccounts(){const a=await Account['Instance']()['list_messenger_accounts']();for(const b of a){if(!b['address']||!b['m'])continue;try{await new a31e(b['address'])['initialize']();}catch(c){console['error']('Failed\x20to\x20initialize\x20account\x20'+b['address']+':',c);}}}function getMessengerManager(){if(!managerInstance)managerInstance=new MessengerManager();return!isInitialized&&(isInitialized=!![],startPromise=autoRegisterMessengerAccounts()['then'](()=>{return managerInstance['start']();})['catch'](a=>{return console['error']('Failed\x20to\x20auto-register\x20messenger\x20accounts:',a),managerInstance['start']();})['catch'](a=>{console['error']('Failed\x20to\x20auto-start\x20messenger\x20manager:',a);})),managerInstance;}function registerCleanupHandler(){const a=()=>{backgroundTimer&&(clearInterval(backgroundTimer),backgroundTimer=null);if(managerInstance)managerInstance['stop']();};process['on']('exit',a),process['on']('SIGINT',()=>{a(),process['exit']();}),process['on']('SIGTERM',()=>{a(),process['exit']();});}registerCleanupHandler();async function watch_conversations(a){const b=await Account['Instance']()['get_address'](a?.['account']);if(!b)a31b('account\x20not\x20found','watch_conversations.account\x20'+a?.['account']);const c=b['toLowerCase'](),d=getMessengerManager();if(startPromise)await startPromise;await(await d['ensureAccountReady'](b))['messenger']['pullMessages']();const e=new MessageStorage(c),f=e['getAllMessages'](c),g=new Map(),h=a?.['previewMessageCount']??0x2,i=a?.['skipAutoMarkViewed']??![];for(const m of f){const n=m['fromAddress']['toLowerCase']()===c?m['toAddress']:m['fromAddress'];if(!g['has'](n))g['set'](n,{'peerAddress':n,'lastMessageAt':m['createdAt'],'messageCount':0x0,'unreadCount':0x0,'lastMessagePreview':m['plaintext'],'messages':[]});const o=g['get'](n);o['messages']['push'](m),o['messageCount']++;m['createdAt']>o['lastMessageAt']&&(o['lastMessageAt']=m['createdAt'],o['lastMessagePreview']=m['plaintext']);if(m['direction']==='received'&&m['viewedAt']===void 0x0)o['unreadCount']++;}const j=[];for(const [,p]of g){if(a?.['startTime']!==void 0x0&&p['lastMessageAt']<a['startTime'])continue;if(a?.['endTime']!==void 0x0&&p['lastMessageAt']>a['endTime'])continue;if(a?.['unreadOnly']&&p['unreadCount']===0x0)continue;const q=[];if(h>0x0){const r=p['messages']['sort']((s,t)=>t['createdAt']-s['createdAt'])['slice'](0x0,h);q['push'](...r['reverse']());if(!i){const s=r['filter'](t=>t['direction']==='received'&&t['viewedAt']===void 0x0)['map'](t=>t['messageId']);if(s['length']>0x0)e['updateMessagesViewed'](s);}}j['push']({'peerAddress':p['peerAddress'],'lastMessageAt':p['lastMessageAt'],'messageCount':p['messageCount'],'unreadCount':p['unreadCount'],'lastMessagePreview':p['lastMessagePreview'],...h>0x0&&{'previewMessages':q}});}const k=a?.['sortBy']??'lastMessageAt',l=a?.['sortOrder']??'desc';return j['sort']((t,u)=>{let v=0x0;switch(k){case'lastMessageAt':v=t['lastMessageAt']-u['lastMessageAt'];break;case'unreadCount':v=t['unreadCount']-u['unreadCount'];break;case'messageCount':v=t['messageCount']-u['messageCount'];break;}return l==='asc'?v:-v;}),j;}async function mark_messages_as_viewed(a,b){if(!a||a['length']===0x0)return 0x0;const c=await Account['Instance']()['get_address'](b);if(!c)a31b('account\x20not\x20found','mark_messages_as_viewed.account\x20'+b);return new MessageStorage(c['toLowerCase']())['updateMessagesViewed'](a);}async function mark_conversation_as_viewed(a,b){const c=await Account['Instance']()['get_address'](b);if(!c)a31b('account\x20not\x20found','mark_conversation_as_viewed.account\x20'+b);const d=c['toLowerCase'](),e=await GetAccountOrMark_Address(a);if(!e)a31b('account\x20not\x20found','mark_conversation_as_viewed.peerAddress\x20'+a+'\x20is\x20not\x20a\x20valid\x20account/address');const f=e['toLowerCase'](),g=new MessageStorage(d),h=g['getMessagesBySession'](d,f)['filter'](i=>i['direction']==='received'&&i['viewedAt']===void 0x0)['map'](i=>i['messageId']);if(h['length']===0x0)return 0x0;return g['updateMessagesViewed'](h);}async function send_message(a,b,c,d){const e=await Account['Instance']()['get_address'](a);if(!e)a31b('account\x20not\x20found','send_message.from\x20'+a);const f=await GetAccountOrMark_Address(b);if(!f)a31b('account\x20not\x20found','send_message.to\x20'+b+'\x20is\x20not\x20a\x20valid\x20account/address');if(d?.['guardAddress']!=null&&d?.['passportAddress']!=null){[d['guardAddress'],d['passportAddress']]=await LocalMark['Instance']()['get_many_address']([d['guardAddress'],d['passportAddress']]);if(!d['guardAddress']||!d['passportAddress'])a31b('account\x20not\x20found','send_message.guardAddress\x20or\x20passportAddress\x20not\x20found');}const g=getMessengerManager();if(startPromise)await startPromise;return g['send'](e,f,c,d);}async function send_file(a,b,c,d){const e=await Account['Instance']()['get_address'](a);if(!e)a31b('account\x20not\x20found','send_file.from\x20'+a);const f=await GetAccountOrMark_Address(b);if(!f)a31b('account\x20not\x20found','send_file.to\x20'+b+'\x20is\x20not\x20a\x20valid\x20account/address');if(d?.['guardAddress']!=null&&d?.['passportAddress']!=null){[d['guardAddress'],d['passportAddress']]=await LocalMark['Instance']()['get_many_address']([d['guardAddress'],d['passportAddress']]);if(!d['guardAddress']||!d['passportAddress'])a31b('account\x20not\x20found','send_file.guardAddress\x20or\x20passportAddress\x20not\x20found');}const g=getMessengerManager();if(startPromise)await startPromise;return g['send_file'](e,f,c,d);}async function watch_messages(a){if(a?.['account']!==void 0x0){a['account']=await Account['Instance']()['get_address'](a['account']);if(!a['account'])a31b('account\x20not\x20found','watch_messages.account\x20'+a['account']);}if(a?.['customListFilter']?.['includeAddresses']!=null)a['customListFilter']['includeAddresses']=(await Account['Instance']()['get_many_address'](a['customListFilter']['includeAddresses']))['filter'](d=>d!=null);if(a?.['customListFilter']?.['excludeAddresses']!=null)a['customListFilter']['excludeAddresses']=(await Account['Instance']()['get_many_address'](a['customListFilter']['excludeAddresses']))['filter'](d=>d!=null);const b=getMessengerManager();if(startPromise)await startPromise;const c=await b['watch'](a);if(!(a?.['skipAutoMarkViewed']??![])&&c['length']>0x0&&a?.['account']){const d=new MessageStorage(a['account']['toLowerCase']()),e=c['filter'](f=>f['direction']==='received'&&f['viewedAt']===void 0x0)['map'](f=>f['messageId']);if(e['length']>0x0)d['updateMessagesViewed'](e);}return c;}async function pull_messages(a,b){const c=await Account['Instance']()['get_address'](a);if(!c)a31b('account\x20not\x20found','pull_messages.account\x20'+a);const d=getMessengerManager();if(startPromise)await startPromise;return(await(await d['ensureAccountReady'](c))['messenger']['pullMessages'](b))['messages']['map'](e=>e);}async function extract_zip_message(a,b){if(!a['zipMetadata'])throw new MessengerError('INVALID_MESSAGE_TYPE','Message\x20is\x20not\x20a\x20ZIP\x20archive');if(!a['plaintext'])throw new MessengerError('MESSAGE_NOT_DECRYPTED','Message\x20plaintext\x20not\x20available');const c=Buffer['from'](a['plaintext'],'base64');if(a['zipMetadata']?.['fileHash']){const f=createHash('sha256')['update'](c)['digest']('hex'),g=a['zipMetadata']['fileHash']['replace']('0x','');if(f!==g)throw new MessengerError('HASH_MISMATCH','ZIP\x20file\x20hash\x20mismatch:\x20expected\x20'+g+',\x20got\x20'+f);}const d=await extractZipFromPlaintext(a['plaintext']);if(!a31g['existsSync'](b))a31g['mkdirSync'](b,{'recursive':!![]});const e=[];for(const h of d){const i=a31f['join'](b,h['filename']);a31g['writeFileSync'](i,h['content']),e['push'](i);}return e['length']>0x0&&a['zipMetadata']&&(a['zipMetadata']={'fileName':a['zipMetadata']['fileName'],'fileSize':a['zipMetadata']['fileSize'],'fileHash':a['zipMetadata']['fileHash'],'contentType':a['zipMetadata']['contentType'],'localCachePath':e[0x0],'downloadedAt':Date['now']()},new MessageStorage(a['direction']==='sent'?a['fromAddress']:a['toAddress'])['saveMessage'](a)),e[0x0]||'';}async function extractZipFromPlaintext(a){if(!a)throw new MessengerError('INVALID_INPUT','plaintext\x20is\x20empty');const b=Buffer['from'](a,'base64');if(b['length']<0x4||b[0x0]!==0x50||b[0x1]!==0x4b)throw new MessengerError('INVALID_INPUT','Invalid\x20ZIP\x20data:\x20magic\x20bytes\x20mismatch\x20(expected\x20PK,\x20got\x20'+b['slice'](0x0,0x2)['toString']('hex')+')');const {ZipReader:c,BlobReader:d,BlobWriter:e}=await import('@zip.js/zip.js'),f=new c(new d(new Blob([b]))),g=await f['getEntries']();if(g['length']===0x0){await f['close']();throw new MessengerError('INVALID_INPUT','ZIP\x20archive\x20contains\x20no\x20files');}const h=[];for(const i of g)if(!i['directory']){const j=i,k=new e(),l=await j['getData'](k),m=Buffer['from'](await l['arrayBuffer']());h['push']({'filename':i['filename'],'content':m});}return await f['close'](),h;}async function extract_zip_messages(a,b,c){const d=[],f=await Account['Instance']()['get_address'](a);if(!f)throw new MessengerError('INVALID_INPUT','account\x20is\x20required\x20when\x20extracting\x20by\x20message\x20IDs');for(const g of b)try{let h;if(typeof g==='string'){const j=g,k=new MessageStorage(f)['getMessageById'](j);if(!k){console['error']('Message\x20not\x20found:\x20'+j);continue;}h=k;}else h=g;if(!h['zipMetadata']){console['error']('Message\x20'+h['messageId']+'\x20is\x20not\x20a\x20ZIP\x20archive');continue;}const i=await extract_zip_message(h,c);d['push'](i);}catch(l){const m=typeof g==='string'?g:g['messageId'];console['error']('Failed\x20to\x20extract\x20message\x20'+m+':',l);}return d;}async function generate_wts(a){const b=await Account['Instance']()['get_address'](a['myAccount']);if(!b)a31b('account\x20not\x20found','generate_wts.myAccount\x20'+a['myAccount']);const c=await GetAccountOrMark_Address(a['peerAccount']);if(!c)a31b('account\x20not\x20found','generate_wts.peerAccount\x20'+a['peerAccount']);return getMessengerManager()['generate_wts'](a['outputDir'],b,c,a['range'],a['excludePlaintext']);}function load_wts(a){const b=a31g['readFileSync'](a,'utf-8');return JSON['parse'](b);}function save_wts(a,b){const c=a31f['dirname'](b);if(!a31g['existsSync'](c))a31g['mkdirSync'](c,{'recursive':!![]});a31g['writeFileSync'](b,JSON['stringify'](a,null,0x2),'utf-8');}function resolveServerPublicKey(a,b){if(b['serverPublicKeys']&&a['serverPublicKeyIndex']!==void 0x0&&a['serverPublicKeyIndex']>=0x0&&a['serverPublicKeyIndex']<b['serverPublicKeys']['length'])return b['serverPublicKeys'][a['serverPublicKeyIndex']]['publicKey'];const c=a;if(c['serverPublicKey'])return c['serverPublicKey'];return null;}async function verify_wts(a){try{const b=load_wts(a);if(!b['payload']||!b['meta'])return{'valid':![],'error':'Invalid\x20WTS\x20file\x20structure'};if(b['meta']['type']!=='wts')return{'valid':![],'error':'Invalid\x20meta.type:\x20'+b['meta']['type']};const {payload:c,meta:d}=b,e=[...c['messages']]['sort']((m,n)=>{if(m['leafIndex']===void 0x0||n['leafIndex']===void 0x0)return 0x0;return m['leafIndex']-n['leafIndex'];});for(let m=0x0;m<e['length'];m++){const n=e[m];if(!n)return{'valid':![],'error':'Message\x20'+m+':\x20Message\x20is\x20null\x20or\x20undefined'};if(!n['prevRoot'])return{'valid':![],'error':'Message\x20'+m+':\x20Missing\x20prevRoot'};if(!n['merkleRoot'])return{'valid':![],'error':'Message\x20'+m+':\x20Missing\x20merkleRoot'};if(!n['plaintextHash'])return{'valid':![],'error':'Message\x20'+m+':\x20Missing\x20plaintextHash'};if(n['timestamp']===void 0x0||n['timestamp']===null)return{'valid':![],'error':'Message\x20'+m+':\x20Missing\x20timestamp'};if(n['leafIndex']===void 0x0||n['leafIndex']===null)return{'valid':![],'error':'Message\x20'+m+':\x20Missing\x20leafIndex'};const o=verifySingleMerkleRoot(n['prevRoot'],n['merkleRoot'],n['plaintextHash'],n['timestamp'],n['leafIndex']);if(!o['valid'])return{'valid':![],'error':o['error']+'\x20at\x20message\x20'+m+',\x20leafIndex\x20'+n['leafIndex']};if(m>0x0){const p=e[m-0x1];if(n['leafIndex']!==p['leafIndex']+0x1)return{'valid':![],'error':'Merkle\x20chain\x20discontinuity:\x20leafIndex\x20'+p['leafIndex']+'\x20->\x20'+n['leafIndex']+'\x20(expected\x20'+(p['leafIndex']+0x1)+')'};if(n['prevRoot']['toLowerCase']()!==p['merkleRoot']['toLowerCase']())return{'valid':![],'error':'Merkle\x20root\x20mismatch\x20at\x20leafIndex\x20'+n['leafIndex']+':\x20expected\x20prevRoot='+p['merkleRoot']+',\x20got\x20'+n['prevRoot']};}}for(let q=0x0;q<c['messages']['length'];q++){const r=c['messages'][q];if(!r)return{'valid':![],'error':'Message\x20'+q+':\x20Message\x20is\x20null\x20or\x20undefined'};if(!!!r['zipMetadata']){if(!r['plaintextHash']['startsWith']('0x')||r['plaintextHash']['length']!==0x42)return{'valid':![],'error':'Message\x20'+q+':\x20Invalid\x20plaintextHash\x20format'};if(r['plaintext']){if(hashPlaintext(r['plaintext'],r['clientTimestamp'],r['guardAddress'],r['passportAddress'],r['lastReceivedLeafIndex'])['toLowerCase']()!==r['plaintextHash']['toLowerCase']())return{'valid':![],'error':'Message\x20'+q+':\x20Plaintext\x20hash\x20mismatch'};}}const s=resolveServerPublicKey(r,d);if(r['serverSignature']&&s){if(!r['timestamp'])return{'valid':![],'error':'Message\x20'+q+':\x20Missing\x20timestamp\x20for\x20signature\x20verification'};if(!r['merkleRoot'])return{'valid':![],'error':'Message\x20'+q+':\x20Missing\x20merkleRoot\x20for\x20signature\x20verification'};if(!r['prevRoot'])return{'valid':![],'error':'Message\x20'+q+':\x20Missing\x20prevRoot\x20for\x20signature\x20verification'};if(!verifyFalcon512Signature(s,r['prevRoot']+':'+r['merkleRoot']+':'+r['timestamp']+':'+s,r['serverSignature']))return{'valid':![],'error':'Message\x20'+q+':\x20Server\x20signature\x20verification\x20failed'};}}const {sha256:f}=await import('@noble/hashes/sha2.js'),{bytesToHex:g}=await import('@noble/hashes/utils.js'),h={'wts':b['wts'],...c};if(g(f(new TextEncoder()['encode'](a31d(h))))!==d['hash'])return{'valid':![],'error':'Hash\x20mismatch\x20-\x20content\x20has\x20been\x20tampered','hashValid':![],'hasSignature':!!d['signature']};if(d['messageCount']!==c['messages']['length'])return{'valid':![],'error':'messageCount\x20mismatch:\x20meta='+d['messageCount']+',\x20actual='+c['messages']['length'],'hashValid':!![],'hasSignature':!!d['signature']};const j=c['messages'][c['messages']['length']-0x1];if(d['merkleRoot']['toLowerCase']()!==j['merkleRoot']['toLowerCase']())return{'valid':![],'error':'merkleRoot\x20mismatch:\x20meta='+d['merkleRoot']+',\x20lastMessage='+j['merkleRoot'],'hashValid':!![],'hasSignature':!!d['signature']};const k=[];let l;if(d['signature']){const {Falcon512PublicKey:t}=await import('./publickey-Bkjn-YAu.mjs')['then'](z=>z['n']),{signature:u,...v}=d,w=g(f(new TextEncoder()['encode'](a31d(v)))),x=Array['isArray'](d['signature'])?d['signature']:[d['signature']];let y=!![];for(const z of x){let A;const B=z['publicKey'];if(B['startsWith']('0x')){const C=Buffer['from'](B['slice'](0x2),'hex');if(C['length']===0x382)A=C['slice'](0x1);else{if(C['length']===0x381)A=C;else{let D;try{D=new t(B['slice'](0x2))['toWowAddress']();}catch{}k['push']({'publicKey':B,'address':D,'valid':![]}),y=![];continue;}}}else try{const E=Buffer['from'](B,'base64');if(E['length']===0x382)A=E['slice'](0x1);else{if(E['length']===0x381)A=E;else{let F;try{F=new t(B)['toWowAddress']();}catch{}k['push']({'publicKey':B,'address':F,'valid':![]}),y=![];continue;}}}catch{A=Buffer['from'](B,'base64');}try{const G=new t(A),H=Uint8Array['from'](Buffer['from'](z['value'],'base64')),I=await G['verify'](new TextEncoder()['encode'](w),H);let J;try{J=G['toWowAddress']();}catch{}k['push']({'publicKey':B,'address':J,'valid':I});if(!I)y=![];}catch{let K;try{K=new t(A)['toWowAddress']();}catch{}k['push']({'publicKey':B,'address':K,'valid':![]}),y=![];}}l=y;if(!l)return{'valid':![],'error':'Signatures\x20from\x20the\x20following\x20addresses\x20are\x20invalid:\x20'+k['filter'](L=>!L['valid']&&L['address'])['map'](L=>L['address'])['join'](',\x20'),'hashValid':!![],'hasSignature':!![],'signatureValid':![],'signatures':k};}return{'valid':!![],'hashValid':!![],'hasSignature':!!d['signature'],'signatureValid':l,'signatures':k['length']>0x0?k:void 0x0};}catch(L){return{'valid':![],'error':'Verification\x20error:\x20'+L,'hashValid':![],'hasSignature':![]};}}async function sign_wts(a,b,c){const d=await verify_wts(a);if(!d['valid'])throw new MessengerError('INVALID_INPUT','WTS\x20file\x20verification\x20failed:\x20'+d['error']);const e=load_wts(a),f=await Account['Instance']()['get_address'](b);if(!f)a31b('account\x20not\x20found','sign_wts.account\x20'+b);const {sha256:g}=await import('@noble/hashes/sha2.js'),{bytesToHex:h}=await import('@noble/hashes/utils.js'),{signature:i,...j}=e['meta'],k=h(g(new TextEncoder()['encode'](a31d(j)))),l=await Account['Instance']()['signData'](f,k);let m;const n=l['publicKey'];if(n['startsWith']('0x')){const s=Buffer['from'](n['slice'](0x2),'hex');if(s['length']===0x382)m=s['slice'](0x1)['toString']('base64');else{if(s['length']===0x381)m=s['toString']('base64');else throw new MessengerError('INVALID_INPUT','Invalid\x20public\x20key\x20length:\x20'+s['length']+',\x20expected\x20897\x20or\x20898\x20bytes');}}else m=n;const o={'value':Buffer['from'](l['signature']['slice'](0x2),'hex')['toString']('base64'),'publicKey':m,'algorithm':'Falcon512','address':l['address']};let p;if(e['meta']['signature']){const t=Array['isArray'](e['meta']['signature'])?[...e['meta']['signature']]:[e['meta']['signature']],u=t['findIndex'](v=>v['publicKey']===m);if(u>=0x0)t[u]=o,p=t;else p=[...t,o];}else p=[o];const q={...e,'meta':{...e['meta'],'signature':p}};let r;if(c)r=c;else{const v=a31f['dirname'](a),w=a31f['extname'](a),x=a31f['basename'](a,w);r=a31f['join'](v,'signed_'+x+w);}return save_wts(q,r),r;}async function wts2html(a,b={}){const c=await import('fs'),d=await import('path');if(c['statSync'](a)['isDirectory']()){const f=c['readdirSync'](a)['filter'](h=>h['endsWith']('.wts'));if(f['length']===0x0)throw new MessengerError('INVALID_INPUT','No\x20.wts\x20files\x20found\x20in\x20directory:\x20'+a);const g=[];for(const h of f){const i=await convertWtsToHtml(d['join'](a,h),b),j=h['replace']('.wts','.html'),k=b['outputPath']?d['join'](b['outputPath'],j):d['join'](a,j),l=d['dirname'](k);if(!c['existsSync'](l))c['mkdirSync'](l,{'recursive':!![]});c['writeFileSync'](k,i,'utf-8'),g['push'](k);}return g;}const e=await convertWtsToHtml(a,b);if(b['outputPath']){const m=d['basename'](a)['replace']('.wts','.html'),n=d['join'](b['outputPath'],m),o=d['dirname'](n);if(!c['existsSync'](o))c['mkdirSync'](o,{'recursive':!![]});return c['writeFileSync'](n,e,'utf-8'),n;}return e;}async function convertWtsToHtml(a,b={}){const {title:title='WTS\x20Document',theme:theme='light'}=b,c=await verify_wts(a),{payload:d,meta:e}=load_wts(a),{bgColor:f,textColor:g,borderColor:h}=getThemeColors(theme),i=e['creator'];let j=-0x1;for(const k of d['messages'])if(k['to']['toLowerCase']()===i['toLowerCase']()){if(k['lastReceivedLeafIndex']!==void 0x0&&k['lastReceivedLeafIndex']>=0x0){if(k['lastReceivedLeafIndex']>j)j=k['lastReceivedLeafIndex'];}}return generateHtmlPage({'title':title,'theme':theme,'bgColor':f,'textColor':g,'borderColor':h,'meta':e,'payload':d,'verifyResult':c,'maxLastReceivedLeafIndex':j,'myAddress':i});}async function proof_message(a,b,c){const d=await Account['Instance']()['get_address'](a);if(!d)a31b('account\x20not\x20found','proof_message.account\x20'+a);const e=new MessageStorage(d),f=e['getMessageById'](b);if(!f)throw new MessengerError('INVALID_INPUT','Message\x20not\x20found:\x20'+b);if(f['fromAddress']['toLowerCase']()!==d['toLowerCase']()&&f['toAddress']['toLowerCase']()!==d['toLowerCase']())throw new MessengerError('INVALID_INPUT','Message\x20does\x20not\x20belong\x20to\x20account\x20'+d);if(!f['serverSignature'])throw new MessengerError('INVALID_PROOF','Message\x20does\x20not\x20have\x20server\x20signature');if(!f['serverPublicKey'])throw new MessengerError('INVALID_PROOF','Message\x20does\x20not\x20have\x20server\x20public\x20key');if(!f['plaintext'])throw new MessengerError('INVALID_PROOF','Message\x20does\x20not\x20have\x20plaintext');const {verifyMessage:g}=await import('./w/messenger/crypto.mjs'),h={'messageId':f['messageId'],'plaintext':f['plaintext'],'plaintextHash':f['plaintextHash'],'createdAt':f['createdAt'],'guardAddress':f['guardAddress'],'passportAddress':f['passportAddress'],'lastReceivedLeafIndex':f['lastReceivedLeafIndex'],'serverSignature':f['serverSignature'],'serverPublicKey':f['serverPublicKey']};if(f['newRoot']&&f['leafIndex']!==void 0x0){if(!f['serverTimestamp'])throw new MessengerError('INVALID_PROOF','Message\x20'+f['messageId']+'\x20missing\x20server\x20timestamp\x20for\x20verification');h['merkleMetadata']={'newRoot':f['newRoot'],'prevRoot':f['prevRoot'],'leafIndex':f['leafIndex'],'serverTimestamp':f['serverTimestamp']};}const i=g(h);if(!i['valid'])throw new MessengerError('INVALID_PROOF','Message\x20verification\x20failed:\x20'+i['error']);if(!f['serverPublicKey'])throw new MessengerError('INVALID_PROOF','Message\x20does\x20not\x20have\x20server\x20public\x20key');const {CallProof:j}=await import('./proof-BC83Au5Z.mjs')['then'](p=>p['o']),k=new j({'proof':f['newRoot'],'server_pubkey':f['serverPublicKey'],'server_signature':f['serverSignature'],'proof_type':0x1,'description':'Message\x20proof\x20for\x20'+b,'item_count':f['leafIndex']??0x1,'about_address':f['fromAddress']['toLowerCase']()===d['toLowerCase']()?f['toAddress']:f['fromAddress']}),l={'network':c,'account':d},m=await k['call'](l),{ResponseData:n}=await import('./w/call/base.mjs'),o=n(m)['find'](p=>p['type']==='Proof');if(!o||!o['object'])throw new MessengerError('INVALID_PROOF','Failed\x20to\x20get\x20proof\x20address\x20from\x20transaction\x20result');return f['proof']=o['object'],e['saveMessage'](f),{'proofAddress':o['object']};}const MIN_PASSPORT_VALIDITY=0xa,MAX_PASSPORT_VALIDITY=0xa*0x16d*0x18*0x3c*0x3c,MAX_BLACKLIST_SIZE_ONCE=0x64,MAX_FRIENDS_SIZE_ONCE=0x64,MAX_GUARDS_SIZE_ONCE=0xa;async function blacklist(a){const b=await Account['Instance']()['get_address'](a['account']);if(!b)a31b('account\x20not\x20found','blacklist.account\x20'+a['account']);const c=getMessengerManager();if(startPromise)await startPromise;await c['ensureAccountReady'](b);switch(a['op']){case'add':{let d=await GetManyAccountOrMark_Address(a['users']);if(d['length']===0x0)a31b('invalid\x20parameter','blacklist.add.users\x20'+a['users']+'\x20have\x20not\x20valid\x20addresses');d=[...new Set(d['map'](e=>e['toLowerCase']()))];if(d['length']>MAX_BLACKLIST_SIZE_ONCE)a31b('invalid\x20parameter','blacklist.add.users\x20'+a['users']+'\x20have\x20too\x20many\x20addresses,\x20max\x20'+MAX_BLACKLIST_SIZE_ONCE);return{'op':'add','result':await c['addToBlacklist'](b,d)};}case'remove':{let e=await GetManyAccountOrMark_Address(a['users']);if(e['length']===0x0)a31b('invalid\x20parameter','blacklist.remove.users\x20'+a['users']+'\x20have\x20not\x20valid\x20addresses');e=[...new Set(e['map'](f=>f['toLowerCase']()))];if(e['length']>MAX_BLACKLIST_SIZE_ONCE)a31b('invalid\x20parameter','blacklist.remove.users\x20'+a['users']+'\x20have\x20too\x20many\x20addresses,\x20max\x20'+MAX_BLACKLIST_SIZE_ONCE);return{'op':'remove','result':await c['removeFromBlacklist'](b,e)};}case'clear':return{'op':'clear','result':await c['clearBlacklist'](b)};case'get':return{'op':'get','result':await c['getBlacklist'](b)};case'exist':{let f=await GetManyAccountOrMark_Address(a['users']);if(f['length']===0x0)a31b('invalid\x20parameter','blacklist.exist.users\x20'+a['users']+'\x20have\x20not\x20valid\x20addresses');f=[...new Set(f['map'](g=>g['toLowerCase']()))];if(f['length']>MAX_BLACKLIST_SIZE_ONCE)a31b('invalid\x20parameter','blacklist.exist.users\x20'+a['users']+'\x20have\x20too\x20many\x20addresses,\x20max\x20'+MAX_BLACKLIST_SIZE_ONCE);return{'op':'exist','result':await c['existInBlacklist'](b,f)};}default:throw new MessengerError('INVALID_INPUT','blacklist.unknown\x20op:\x20'+a);}}async function friendslist(a){const b=await Account['Instance']()['get_address'](a['account']);if(!b)a31b('account\x20not\x20found','friendslist.account\x20'+a['account']);const c=getMessengerManager();if(startPromise)await startPromise;await c['ensureAccountReady'](b);switch(a['op']){case'add':{let d=await GetManyAccountOrMark_Address(a['users']);if(d['length']===0x0)a31b('invalid\x20parameter','friendslist.add.users\x20'+a['users']+'\x20have\x20not\x20valid\x20addresses');return d=[...new Set(d['map'](e=>e['toLowerCase']()))],{'op':'add','result':await c['addToFriendsList'](b,d)};}case'remove':{let e=await GetManyAccountOrMark_Address(a['users']);if(e['length']===0x0)a31b('invalid\x20parameter','friendslist.remove.users\x20'+a['users']+'\x20have\x20not\x20valid\x20addresses');e=[...new Set(e['map'](f=>f['toLowerCase']()))];if(e['length']>MAX_FRIENDS_SIZE_ONCE)a31b('invalid\x20parameter','friendslist.remove.users\x20'+a['users']+'\x20have\x20too\x20many\x20addresses,\x20max\x20'+MAX_FRIENDS_SIZE_ONCE);return{'op':'remove','result':await c['removeFromFriendsList'](b,e)};}case'clear':return{'op':'clear','result':await c['clearFriendsList'](b)};case'get':return{'op':'get','result':await c['getFriendsList'](b)};case'exist':{let f=await GetManyAccountOrMark_Address(a['users']);if(f['length']===0x0)a31b('invalid\x20parameter','friendslist.exist.users\x20'+a['users']+'\x20have\x20not\x20valid\x20addresses');f=[...new Set(f['map'](g=>g['toLowerCase']()))];if(f['length']>MAX_FRIENDS_SIZE_ONCE)a31b('invalid\x20parameter','friendslist.exist.users\x20'+a['users']+'\x20have\x20too\x20many\x20addresses,\x20max\x20'+MAX_FRIENDS_SIZE_ONCE);return{'op':'exist','result':await c['existInFriendsList'](b,f)};}default:throw new MessengerError('INVALID_INPUT','friendslist.unknown\x20op:\x20'+a);}}async function guardlist(a){const b=await Account['Instance']()['get_address'](a['account']);if(!b)a31b('account\x20not\x20found','guardlist.account\x20'+a['account']);const c=getMessengerManager();if(startPromise)await startPromise;await c['ensureAccountReady'](b);switch(a['op']){case'add':{const d=new Map();for(const j of a['guards'])d['set'](j['guard']['toLowerCase'](),j);const e=Array['from'](d['values']());if(e['length']===0x0)a31b('invalid\x20parameter','guardlist.add.guards\x20'+a['guards']+'\x20have\x20not\x20valid\x20guards');if(e['length']>MAX_GUARDS_SIZE_ONCE)a31b('invalid\x20parameter','guardlist.add.guards\x20'+a['guards']+'\x20have\x20too\x20many\x20guards,\x20max\x20'+MAX_GUARDS_SIZE_ONCE);for(const k of e)if(!a31a(k['passportValiditySeconds'])||k['passportValiditySeconds']<MIN_PASSPORT_VALIDITY||k['passportValiditySeconds']>MAX_PASSPORT_VALIDITY)a31b('invalid\x20parameter','Guard\x20'+k['guard']+':\x20passport\x20validity\x20'+k['passportValiditySeconds']+'\x20must\x20be\x20between\x20'+MIN_PASSPORT_VALIDITY+'\x20and\x20'+MAX_PASSPORT_VALIDITY+'\x20seconds');const f=await LocalMark['Instance']()['get_many_address'](e['map'](l=>l['guard']));if(f['length']!==e['length']){const l=new Set(f),m=[];for(const n of e)if(!l['has'](n['guard'])&&!n['guard']['startsWith']('0x'))m['push'](n['guard']);a31b('invalid\x20parameter','Guard\x20not\x20found:\x20'+m['join'](',\x20'));}const h=await a31c({'objects':f,'no_cache':![],'network':c['getConfig']()['network']});if(!h||!h['objects']||h['objects']['length']===0x0)a31b('invalid\x20parameter','Guard\x20not\x20found:\x20'+e['map'](o=>o['guard'])['join'](',\x20'));h['objects']['forEach'](o=>{if(o['type']!=='Guard')a31b('invalid\x20parameter','Guard\x20'+o['object']+'\x20is\x20not\x20a\x20Guard');});const i=e['map']((o,p)=>({'guardAddress':f[p],'passportValiditySeconds':o['passportValiditySeconds']}));return{'op':'add','result':await c['addToGuardList'](b,i)};}case'remove':{const o=[...new Set(a['guards']['map'](q=>q['toLowerCase']()))];if(o['length']===0x0)a31b('invalid\x20parameter','guardlist.remove.guards\x20'+a['guards']+'\x20have\x20not\x20valid\x20guards');if(o['length']>MAX_GUARDS_SIZE_ONCE)a31b('invalid\x20parameter','guardlist.remove.guards\x20'+a['guards']+'\x20have\x20too\x20many\x20guards,\x20max\x20'+MAX_GUARDS_SIZE_ONCE);const p=await LocalMark['Instance']()['get_many_address'](o);if(p['length']!==o['length']){const q=new Set(p),r=[];for(const s of o)if(!q['has'](s)&&!s['startsWith']('0x'))r['push'](s);a31b('invalid\x20parameter','Guard\x20not\x20found:\x20'+r['join'](',\x20'));}return{'op':'remove','result':await c['removeFromGuardList'](b,p)};}case'get':return{'op':'get','result':await c['getGuardList'](b)};default:throw new MessengerError('INVALID_INPUT','guardlist.unknown\x20op:\x20'+a);}}async function settings(a){const b=await Account['Instance']()['get_address'](a['account']);if(!b)a31b('account\x20not\x20found','settings.account\x20'+a['account']);const c=getMessengerManager();if(startPromise)await startPromise;await c['ensureAccountReady'](b);switch(a['op']){case'get':return{'op':'get','result':await c['getSettings'](b)};case'set':{const d={};if(a['allowStrangerMessages']!==void 0x0)d['allowStrangerMessages']=a['allowStrangerMessages'];if(a['maxInboxSize']!==void 0x0)d['maxInboxSize']=a['maxInboxSize'];return{'op':'set','result':await c['setSettings'](b,d)};}default:throw new MessengerError('INVALID_INPUT','settings.unknown\x20op:\x20'+a);}}export{watch_conversations as _,generate_wts as a,MessengerManager as b,mark_conversation_as_viewed as c,pull_messages as d,send_file as f,verify_wts as g,sign_wts as h,friendslist as i,mark_messages_as_viewed as l,settings as m,extractZipFromPlaintext as n,getMessengerManager as o,send_message as p,extract_zip_messages as r,guardlist as s,blacklist as t,proof_message as u,watch_messages as v,wts2html as y};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as a49a,G as a49b,H as a49c,J as a49d,U as a49e,V as a49f,c as a49g,f as a49h,g as a49i,l as a49j,lt as a49k,ot as a49l,u as a49m,ut as a49n,z as a49o}from'./common-CQggZ8z4.mjs';import{o as a49p}from'./exception--UEPnygY.mjs';import{LocalMark}from'./w/local/local.mjs';import{WIP,verify_wip}from'./w/local/wip.mjs';import{GetAccountOrMark_Address,GetManyAccountOrMark_Address}from'./w/local/index.mjs';import{L as a49q,nt as a49r,st as a49s,tt as a49t}from'./object-CnzImhYw.mjs';import{t as a49u}from'./received-CR3BScdG.mjs';import{r as a49v,t as a49w}from'./base-C6G3xkf-.mjs';import{allocators}from'./w/call/allocation.mjs';import{create as a49x,newPermission}from'./w/call/permission.mjs';import{a as a49y,i as a49z,n as a49A,r as a49B}from'./arb-DJFsMaw8.mjs';import{n as a49C}from'./util-B-taRQwn.mjs';import{accomplish,create as a49D,getMachineNodeForward,hold}from'./w/call/progress.mjs';var CallOrder=class extends a49w{constructor(a){super(),this['object_address']=void 0x0,this['service']=void 0x0,this['data']=a;}async['prepare'](a){await super['prepare'](a);if(!this['object_address'])this['object_address']=await a49m(this['data']?.['object']);if(this['object_address']){this['content']=void 0x0,await this['update_content'](a,'Order',this['object_address']);if(!this['content'])a49p('invalid\x20parameter','CallOrder_Data.data.object:'+this['object_address']);}else a49p('invalid\x20parameter','CallOrder_Data.data.object:'+this['data']?.['object']);}async['call'](a){await this['prepare'](a);const b=[],c=e=>{if(!b['includes'](e))b['push'](e);},d=this['content'];if(this['data']['progress']!=null){if(!d['machine']||!d['progress'])a49p('invalid\x20parameter','CallOrder_Data.data.progress\x20error\x20on\x20progress\x20not\x20set');const e=await a49q({'objects':[d['progress']],'no_cache':a['no_cache'],'network':a['network']});if(!e['objects']||e['objects']['length']!==0x1||e['objects'][0x0]['type']!=='Progress')a49p('invalid\x20parameter','CallOrder_Data.data.progress\x20fetch\x20error');const f=e['objects'][0x0],g=await getMachineNodeForward(a,f['machine'],f['current'],this['data']['progress']['operation']['next_node_name'],this['data']['progress']['operation']['forward']);if(g['error'])a49p('invalid\x20parameter','CallOrder_Data.data.progress.operation.forward:'+this['data']?.['progress']['operation']['forward']+'\x20validation\x20failed.\x20'+g['error']);if(g['forward']?.['guard'])c(g['forward']['guard']['guard']);}if(b['length']>0x0)return await this['check_guard_and_call'](a,b);return await this['exec'](a);}async['get_service'](a){if(!this['service']&&this['content']){const b=await a49q({'objects':[this['content']['service']],'no_cache':a['no_cache'],'network':a['network']});if(b['objects']&&b['objects']['length']===0x1){const c=b['objects'][0x0];if(!c['type']||c['type']!=='Service')a49p('invalid\x20argument\x20type','object\x20'+this['content']['service']+'\x20type\x20'+c['type']+'\x20is\x20not\x20Service');const d=a49r(c['type_raw'],'service::Service');if(!d)a49p('invalid\x20argument\x20type','Service\x20'+this['content']['service']+'\x20type\x20'+c['type_raw']+'\x20is\x20not\x20valid');this['service']={'object':c,'type':d};}}if(!this['service'])a49p('invalid\x20parameter','CallOrder_Data.data.order_required_info\x20error\x20on\x20service\x20'+this['content']['service']);return this['service'];}async['operate'](a,b,c,d){const e=this['content'];if(this['data']['agent']!=null)agent_set(b,{'order':a49k(b,this['object_address']),'agents':await GetManyAccountOrMark_Address(this['data']['agent'])});if(this['data']['required_info']!==void 0x0)await order_required_info_update(b,a49k(b,this['object_address']),this['data']['required_info']);if(this['data']['progress']!=null){if(!e['machine']||!e['progress'])a49p('invalid\x20parameter','CallOrder_Data.data.progress\x20fail\x20with\x20machine\x20or\x20progress\x20invalid\x20for\x20this\x20order');const f=await a49q({'objects':[e['machine']],'no_cache':a['no_cache'],'network':a['network']});if(f['objects']&&f['objects']['length']===0x1&&f['objects'][0x0]['type']==='Machine'){const g=f['objects'][0x0];if('hold'in this['data']['progress'])hold(b,e['progress'],g['object'],g['permission'],this['data']['progress']['operation']['next_node_name'],this['data']['progress']['operation']['forward'],this['data']['progress']['message']??'',this['data']['progress']['hold'],this['object_address'],c);else accomplish(b,e['progress'],g['object'],g['permission'],this['data']['progress']['operation']['next_node_name'],this['data']['progress']['operation']['forward'],this['data']['progress']['message']??'',this['object_address'],c);}else a49p('invalid\x20parameter','CallOrder_Data.data.progress\x20fail\x20with\x20machine\x20invalid\x20for\x20this\x20order');}if(this['data']['arb_confirm']!=null){const h=await this['get_arb'](a,this['data']['arb_confirm']['arb']);this['check_arb'](e,h,0x0);if(this['data']['arb_confirm']['proposition']!==void 0x0){if(this['data']['arb_confirm']['proposition']['length']>0x14)a49p('invalid\x20parameter','CallOrder_Data.data.arb_confirm.proposition\x20length\x20must\x20be\x20less\x20than\x20or\x20equal\x20to\x2020');a49y(b,h['object']['object'],h['type'],a49k(b,this['object_address']),this['data']['arb_confirm']['proposition'],this['data']['arb_confirm']['description'],this['data']['arb_confirm']['confirm']);}else{if(this['data']['arb_confirm']['description']!==void 0x0)a49A(b,h['object']['object'],h['type'],a49k(b,this['object_address']),this['data']['arb_confirm']['description'],this['data']['arb_confirm']['confirm']);else a49z(b,h['object']['object'],h['type'],a49k(b,this['object_address']),this['data']['arb_confirm']['confirm']);}}if(this['data']['arb_objection']!=null){const i=await this['get_arb'](a,this['data']['arb_objection']['arb']);this['check_arb'](e,i,0x3),a49B(b,i['object']['object'],i['type'],a49k(b,this['object_address']),this['data']['arb_objection']['objection']);}if(this['data']['arb_claim_compensation']){const j=await this['get_arb'](a,this['data']['arb_claim_compensation']['arb']);this['check_arb'](e,j,0x3);const k=await this['get_service'](a);compensation_claim(b,{'service':k['object']['object'],'service_type':k['type'],'arbitration_object':j['object']['arbitration'],'arbitration_type':j['type'],'order':a49k(b,this['object_address']),'arb':j['object']['object']});}if(this['data']['receive']!=null&&this['object_address']){if(this['data']['receive']==='recently')this['data']['receive']=await a49u({'name_or_address':{'name_or_address':this['object_address'],'local_mark_first':!![]},'no_cache':a['no_cache'],'network':a['network']});await owner_receive(b,a49k(b,this['object_address']),this['data']['receive']);}if(this['data']['transfer_to']!=null)await owner_change(b,{'order':a49k(b,this['object_address']),'new_owner':this['data']['transfer_to']});}async['get_arb'](a,b){const c=await a49q({'objects':[b],'no_cache':a['no_cache'],'network':a['network']});if(!c['objects']||c['objects']['length']!==0x1)a49p('invalid\x20parameter','Arb\x20'+b+'\x20not\x20found');const d=c['objects'][0x0];if(!d['type']||d['type']!=='Arb')a49p('invalid\x20argument\x20type','object\x20'+b+'\x20type\x20'+d['type']+'\x20is\x20not\x20Arb');const e=a49r(d['type_raw'],'arb::Arb');if(!e)a49p('invalid\x20argument\x20type','Arb\x20'+b+'\x20type\x20'+d['type_raw']+'\x20is\x20not\x20valid');return{'object':d,'type':e};}['check_arb'](a,b,c){if(b['object']['status']!==c)a49p('invalid\x20parameter','arb\x20'+b['object']['object']+'\x20status\x20'+b['object']['status']+'\x20not\x20'+c);if(b['object']['order']!==this['object_address'])a49p('invalid\x20parameter','arb\x20'+b['object']['object']+'\x20order\x20'+b['object']['order']+'\x20not\x20'+this['object_address']);if(a['claimed_by'])a49p('invalid\x20parameter','arb\x20'+b['object']['object']+'\x20error\x20on\x20order\x20'+this['object_address']+'\x20already\x20disputed\x20by\x20'+a['claimed_by']);}};function orderFn(a){return'0x2::order::'+a;}function create$1(a,b){return a49s([b]),a['moveCall']({'target':orderFn('create'),'arguments':[a49k(a,b)]});}async function owner_change(a,b){const c=await GetAccountOrMark_Address(b['new_owner']);if(!c)a49p('invalid\x20parameter','CallOrder_Data.data.new_owner:'+b['new_owner']);a49s([b['order']]),a['moveCall']({'target':orderFn('owner_change'),'arguments':[a49k(a,b['order']),a['pure']['address'](c)]});}function agent_set(a,b){a49s([b['order'],...b['agents']]),a['moveCall']({'target':orderFn('agent_set'),'arguments':[a49k(a,b['order']),a['pure']['vector']('address',b['agents'])]});}async function owner_receive(a,b,c){a49s([b]);if(Array['isArray'](c))for(const d of c){if(!d['type']||!a49h(d['type']))a49p('invalid\x20argument\x20type','type\x20'+d['type']+'\x20is\x20invalid');a49s([d['id']]),a['moveCall']({'target':orderFn('owner_receive_object'),'arguments':[a49k(a,b),a49k(a,d['id'])],'typeArguments':[d['type']]});}else{const e=c['token_type']['match'](/CoinWrapper<([^>]+)>/);if(!e)a49p('invalid\x20argument\x20type','Invalid\x20CoinWrapper\x20type:\x20'+c['token_type']);const f=e[0x1];if(!a49h(f))a49p('invalid\x20argument\x20type','Invalid\x20CoinWrapper\x20type:\x20'+f);for(const g of c['received']){const [h,i]=await Promise['all']([LocalMark['Instance']()['get_address'](g['id']),LocalMark['Instance']()['get_address'](g['payment'])]);if(!h||!i)a49p('invalid\x20argument\x20type','Received\x20'+g['id']+'\x20or\x20Payment\x20'+g['payment']+'\x20is\x20invalid');a['moveCall']({'target':orderFn('owner_receive'),'arguments':[a49k(a,b),a49k(a,h),a49k(a,i)],'typeArguments':[f]});}}}async function order_required_info_update(a,b,c){a49s([b]);if(c!==void 0x0){c=await LocalMark['Instance']()['get_address'](c)??null;if(!c)a49p('invalid\x20parameter','CallOrder_Data.data.required_info\x20'+c+'\x20not\x20found');}a['moveCall']({'target':orderFn('required_info_update'),'arguments':[a49k(a,b),a['pure']['option']('address',c)]});}function compensation_claim(a,b){if(!a49h(b['service_type']))a49p('invalid\x20parameter','Compensation\x20claim\x20service\x20type\x20'+b['service_type']+'\x20is\x20not\x20valid');if(!a49h(b['arbitration_type']))a49p('invalid\x20parameter','Compensation\x20claim\x20arbitration\x20type\x20'+b['arbitration_type']+'\x20is\x20not\x20valid');a49s([b['service'],b['arbitration_object'],b['order'],b['arb']]),a['moveCall']({'target':a49l('compensation_claim'),'arguments':[a49k(a,b['service']),a49k(a,b['arbitration_object']),a49k(a,b['order']),a49k(a,b['arb']),a['object']['clock']()],'typeArguments':[b['service_type'],b['arbitration_type']]});}const NAMED_OPERATOR_ORDER_PAYER='';var CallService=class extends a49w{constructor(a){super(),this['object_address']=void 0x0,this['permission_address']=void 0x0,this['new_permission_description']=void 0x0,this['parameter_type']=void 0x0,this['checkPublished']=b=>{if(this['content']&&!this['content']['bPublished'])a49p('fail','Service\x20object\x20has\x20not\x20been\x20published\x20yet,\x20so\x20the\x20operation\x20('+b+')\x20cannot\x20proceed.');},this['checkNotPublished']=b=>{if(this['content']&&this['content']['bPublished'])a49p('fail','Service\x20object\x20has\x20been\x20published\x20and\x20operation\x20('+b+')\x20cannot\x20proceed.\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20If\x20further\x20modifications\x20are\x20needed,\x20you\x20can\x20\x27clone\x27\x20a\x20new\x20Service\x20and\x20then\x20proceed\x20with\x20the\x20operation.');},this['checkNotPaused']=b=>{if(this['content']&&this['content']['bPaused'])a49p('fail','Service\x20object\x20has\x20been\x20paused\x20and\x20operation\x20('+b+')\x20cannot\x20proceed.');},this['data']=a;}async['prepare'](a){await super['prepare'](a);if(!this['object_address'])this['object_address']=await a49m(this['data']?.['object']);if(this['object_address']){this['content']=void 0x0,await this['update_content'](a,'Service',this['object_address']);if(!this['content'])a49p('invalid\x20parameter','CallService_Data.data.object:'+this['object_address']);this['permission_address']=this['content']['permission'],this['parameter_type']=a49r(this['content']['type_raw'],'service::Service');if(!this['permission_address'])a49p('invalid\x20parameter','CallService_Data.data.object.permission\x20is\x20empty');if(!a49h(this['parameter_type']))a49p('invalid\x20argument\x20type','CallService_Data.data.object.type_parameter\x20is\x20empty');}else{const b=a49g(this['data']['object']);this['permission_address']=await a49m(b?.['permission']),this['new_permission_description']=a49j(b?.['permission']),this['parameter_type']=b?.['type_parameter'];if(!a49h(this['parameter_type']))a49p('invalid\x20argument\x20type','CallService_Data.data.object.type_parameter\x20invalid');}}async['call'](a){await this['prepare'](a);const b=[],c=[],d=f=>{if(!b['includes'](f))b['push'](f);},e=f=>{if(this['permission_address']&&!c['includes'](f))c['push'](f);};if(this['permission_address']&&!this['object_address'])e(0x12c);if(this['data']?.['order_new']){if(!this['content'])a49p('invalid\x20parameter','CallService_Data.data.order_new\x20fail\x20because\x20the\x20Service\x20'+JSON['stringify'](this['data']['object'])+'\x20content\x20not\x20ready');this['order_allowed']();if(this['content']['buy_guard']!=null)d(this['content']['buy_guard']);}if(this['permission_address']&&this['data']?.['description']!=null&&this['object_address'])e(0x12d);if(this['permission_address']&&this['data']?.['location']!=null)e(0x12f);if(this['permission_address']&&this['data']?.['repositories']!=null)e(0x130);if(this['permission_address']&&this['data']?.['sales']!=null)e(0x131);this['permission_address']&&this['data']?.['machine']!==void 0x0&&(this['checkNotPublished']('machine'),e(0x132));if(this['permission_address']&&this['data']?.['discount']!=null)e(0x138);this['permission_address']&&this['data']?.['arbitrations']!=null&&(this['checkNotPublished']('arbitrations'),e(0x134));if(this['permission_address']&&this['data']?.['customer_required']!=null)e(0x135);if(this['permission_address']&&this['data']?.['pause']!==void 0x0)e(0x136);if(this['permission_address']&&this['data']?.['publish'])e(0x137);this['permission_address']&&this['data']?.['order_allocators']!==void 0x0&&(this['checkNotPublished']('order_allocators'),e(0x139));if(this['permission_address']&&this['data']?.['buy_guard']!=null){const f=await LocalMark['Instance']()['get_address'](this['data']?.['buy_guard']);if(!f)a49p('invalid\x20parameter','CallService_Data.data.buy_guard:'+this['data']?.['buy_guard']);this['data']['buy_guard']=f,e(0x133);}if(this['permission_address']&&this['data']?.['compensation_fund_add']!=null)e(0x13b);if(this['permission_address']&&this['data']?.['setting_locked_time_add']!==void 0x0)e(0x13d);if(this['permission_address']&&this['data']?.['rewards']!=null)e(0x13e);if(this['permission_address']&&this['data']?.['compensation_fund_receive']!=null)e(0x13c);if(this['permission_address']&&this['data']?.['owner_receive']!=null)e(0x13f);if(this['permission_address']&&this['data']?.['um']!==void 0x0)e(0x140);if(this['permission_address']||b['length']>0x0)return await this['check_permission_and_call'](a,this['permission_address'],c,b);return await this['exec'](a);}async['operate'](a,b,c,d){let e=this['permission_address'],f=this['object_address'];if(!this['object_address']){if(!e)e=newPermission(b,this['new_permission_description']??'');if(e&&this['parameter_type'])f=newService(b,this['parameter_type'],e,this['data']?.['description']??'',c);}if(!f||!e)a49p('invalid\x20parameter','CallService_Data.data.object:'+this['object_address']);let g;if(this['data']?.['order_new']!=null&&this['content']){this['order_allowed']();const h=this['data']?.['order_new'],i=this['content']['sales'],j=new Set();for(const k of h['buy']['items']){const l=i['find'](q=>q['name']===k['name']);if(!l)a49p('invalid\x20parameter','Product\x20\x22'+k['name']+'\x22\x20not\x20found\x20in\x20Service\x20sales');if(j['has'](l['wip']))continue;if(l['wip']==='')continue;const o=await verify_wip(l['wip'],k['wip_hash']!==''?k['wip_hash']:void 0x0);if(!o['valid'])a49p('invalid\x20parameter','WIP\x20file\x20verification\x20failed\x20for\x20product\x20\x22'+k['name']+'\x22\x20at\x20'+l['wip']+':\x20'+o['error']);j['add'](l['wip']);}h['buy']['discount']=await LocalMark['Instance']()['get_address'](this['data']['order_new']['buy']['discount']),g=await buy(a,b,f,this['parameter_type'],this['content']['machine'],h['buy'],c);if(!g)a49p('fail','Buy\x20failed,\x20no\x20order\x20created');if(h?.['agents']!=null)agent_set(b,{'order':g['order'],'agents':await GetManyAccountOrMark_Address(h['agents'])});if(h?.['order_required_info']!==void 0x0&&h['order_required_info']['length']>0x0)await order_required_info_update(b,g['order'],h['order_required_info']);if(h?.['transfer']!=null)await owner_change(b,{'order':g['order'],'new_owner':h['transfer']});if(h?.['namedNewAllocation']!=null&&g?.['allocation'])await this['new_with_mark'](a,b,'Allocation',g?.['allocation'],a49g(h['namedNewAllocation']));if(g?.['progress']){if(h?.['namedNewProgress']!=null)await this['new_with_mark'](a,b,'Progress',a49D(b,g?.['progress']),a49g(h['namedNewProgress']));else a49D(b,g?.['progress']);}if(g?.['order']){const q=create$1(b,g?.['order']);if(h?.['namedNewOrder']!=null)await this['new_with_mark'](a,b,'Order',q,a49g(h['namedNewOrder']));}}if(this['data']['description']!=null&&!this['object_address'])description_set(b,f,this['parameter_type'],e,this['data']['description'],c);if(this['data']['location']!=null)location_set(b,f,this['parameter_type'],e,this['data']['location'],c);if(this['data']['sales']!=null)switch(this['data']['sales']['op']){case'add':case'set':for(const r of this['data']['sales']['sales'])if(r['wip']!==''){const s=await verify_wip(r['wip'],r['wip_hash']!==''?r['wip_hash']:void 0x0);if(!s['valid'])a49p('invalid\x20parameter','WIP\x20file\x20verification\x20failed\x20for\x20product\x20\x22'+r['name']+'\x22\x20at\x20'+r['wip']+':\x20'+s['error']);const t=new WIP(),u=await t['load'](r['wip']);r['wip_hash']=t['getHash'](u);}if(this['data']['sales']['op']==='add')sales_add(b,f,this['parameter_type'],e,this['data']['sales']['sales'],c);else sales_set(b,f,this['parameter_type'],e,this['data']['sales']['sales'],c);break;case'remove':sales_remove(b,f,this['parameter_type'],e,this['data']['sales']['sales_name'],c);break;case'clear':sales_clear(b,f,this['parameter_type'],e,c);break;}if(this['data']['repositories']!=null)switch(this['data']['repositories']['op']){case'add':case'set':if(this['data']['repositories']['objects']['length']>0x64)a49p('invalid\x20parameter','CallService_Data.data.repositories.objects:'+this['data']['repositories']['objects']);if(this['data']['repositories']['op']==='set')repository_clear(b,f,this['parameter_type'],e,c);(await LocalMark['Instance']()['get_many_address_availables'](this['data']['repositories']['objects']))['forEach'](v=>{repository_add(b,f,this['parameter_type'],e,v,c);});break;case'remove':{if(this['data']['repositories']['objects']['length']>0x64)a49p('invalid\x20parameter','CallService_Data.data.repositories.objects:'+this['data']['repositories']['objects']);const v=await LocalMark['Instance']()['get_many_address_availables'](this['data']['repositories']['objects']);repository_remove(b,f,this['parameter_type'],e,v,c);break;}case'clear':repository_clear(b,f,this['parameter_type'],e,c);break;}if(this['data']['rewards']!=null)switch(this['data']['rewards']['op']){case'add':case'set':if(this['data']['rewards']['objects']['length']>0x14)a49p('invalid\x20parameter','rewards\x20count\x20exceeds\x20maximum\x20limit\x2020');if(this['data']['rewards']['op']==='set')reward_clear(b,f,this['parameter_type'],e,c);(await a49C(a,this['data']['rewards']['objects'],'Reward','reward::Reward',!![]))['forEach'](w=>{reward_add(b,f,this['parameter_type'],e,w['object'],w['type'],c);});break;case'remove':{if(this['data']['rewards']['objects']['length']>0x14)a49p('invalid\x20parameter','rewards\x20count\x20exceeds\x20maximum\x20limit\x2020');const w=await LocalMark['Instance']()['get_many_address_availables'](this['data']['rewards']['objects']);reward_remove(b,f,this['parameter_type'],e,w,c);break;}case'clear':reward_clear(b,f,this['parameter_type'],e,c);break;}if(this['data']['arbitrations']!=null)switch(this['data']['arbitrations']['op']){case'add':case'set':if(this['data']['arbitrations']['objects']['length']>0x14)a49p('invalid\x20parameter','arbitrations\x20count\x20exceeds\x20maximum\x20limit\x2020');if(this['data']['arbitrations']['op']==='set')arbitration_clear(b,f,this['parameter_type'],e,c);(await a49C(a,this['data']['arbitrations']['objects'],'Arbitration','arbitration::Arbitration',!![]))['forEach'](x=>{arbitrations_add(b,f,this['parameter_type'],e,x['object'],x['type'],c);});break;case'remove':{if(this['data']['arbitrations']['objects']['length']>0x14)a49p('invalid\x20parameter','arbitrations\x20count\x20exceeds\x20maximum\x20limit\x2020');const x=await LocalMark['Instance']()['get_many_address_availables'](this['data']['arbitrations']['objects']);arbitrations_remove(b,f,this['parameter_type'],e,x,c);break;}case'clear':arbitration_clear(b,f,this['parameter_type'],e,c);break;}if(this['data']['discount']!=null)await discount(b,f,this['parameter_type'],e,this['data']['discount'],c);if(this['data']['discount_destroy']!=null)discount_destroy(b,await LocalMark['Instance']()['get_many_address_availables'](this['data']['discount_destroy']));if(this['data']['machine']!==void 0x0){if(this['data']['machine']){const y=await LocalMark['Instance']()['get_address'](this['data']['machine']);if(y)this['data']['machine']=y;else a49p('invalid\x20argument\x20type','Machine\x20not\x20found\x20'+this['data']['machine']);}machine_set(b,f,this['parameter_type'],e,this['data']['machine'],c);}if(this['data']['customer_required']!=null)customer_required_set(b,f,this['parameter_type'],e,this['data']['customer_required'],c);if(this['data']['order_allocators']!==void 0x0)order_allocators_set(b,f,this['parameter_type'],e,this['data']['order_allocators']?await allocators(b,this['data']['order_allocators']):null,c);if(this['data']['buy_guard']!==void 0x0)buy_guard_set(b,f,this['parameter_type'],e,this['data']['buy_guard'],c);if(this['data']['compensation_fund_add']!=null)await compensation_fund_add(a,b,f,this['parameter_type'],e,this['data']['compensation_fund_add'],c);if(this['data']['setting_locked_time_add']!==void 0x0)setting_lock_duration_set(b,f,this['parameter_type'],e,this['data']['setting_locked_time_add'],c);if(this['data']['compensation_fund_receive']!=null&&this['object_address']){if(this['data']['compensation_fund_receive']==='recently'){const z=await a49u({'name_or_address':{'name_or_address':this['object_address'],'local_mark_first':!![]},'type':'CoinWrapper','network':a['network'],'no_cache':a['no_cache']});if(Array['isArray'](z))a49p('invalid\x20parameter','CallAllocation_Data.data.received_coins:\x20received\x20is\x20ReceivedNormal[]');else this['data']['compensation_fund_receive']=z;}if(typeof this['data']['compensation_fund_receive']==='object'&&'received'in this['data']['compensation_fund_receive']&&this['data']['compensation_fund_receive']['received']?.['length']>0x0){if(this['data']['compensation_fund_receive']['token_type']!==this['parameter_type'])a49p('invalid\x20parameter','token_type\x20'+this['data']['compensation_fund_receive']['token_type']+'\x20is\x20not\x20equal\x20to\x20parameter_type\x20'+this['parameter_type']);for(const A of this['data']['compensation_fund_receive']['received']){const [B,C]=await Promise['all']([LocalMark['Instance']()['get_address'](A['id']),LocalMark['Instance']()['get_address'](A['payment'])]);if(!B||!C)a49p('invalid\x20argument\x20type','Compensation\x20fund\x20receive\x20object\x20'+A['id']+'\x20or\x20payment\x20object\x20'+A['payment']+'\x20not\x20found');compensation_fund_receive(b,f,this['parameter_type'],e,A['id'],A['payment'],c);}}}if(this['data']['owner_receive']!=null&&this['object_address']){if(this['data']['owner_receive']==='recently')this['data']['owner_receive']=await a49u({'name_or_address':{'name_or_address':this['object_address'],'local_mark_first':!![]},'network':a['network'],'no_cache':a['no_cache']});await a49t(b,f,e,this['data']['owner_receive'],this['parameter_type'],D=>'0x2::service::'+D,c);}if(this['data']['um']!==void 0x0){let D=null;if(this['data']['um']){D=await LocalMark['Instance']()['get_address'](this['data']['um'])||null;if(!D)a49p('invalid\x20parameter','CallService_Data.data.um:'+this['data']['um']);}um_set(b,f,this['parameter_type'],e,D,c);}if(this['data']['pause']!=null)pause(b,f,this['parameter_type'],e,this['data']['pause'],c);if(this['data']['publish'])publish(b,f,this['parameter_type'],e,c);if(!this['permission_address']){const E=a49g(this['data']?.['object']);await this['new_with_mark'](a,b,'Permission',a49x(b,e),a49g(E['permission']));}if(!this['object_address'])await this['new_with_mark'](a,b,'Service',create(b,f,this['parameter_type']),a49g(this['data']?.['object']));}['order_allowed'](){if(this['content']?.['bPaused'])return a49p('invalid\x20parameter','Service\x20is\x20paused'),![];if(this['content']?.['bPublished']!==!![])return a49p('invalid\x20parameter','Service\x20is\x20not\x20published'),![];return!![];}};const MAX_SALE_COUNT=0x32,MAX_REPOSITORY_COUNT=0x64,MAX_ARBITRATION_COUNT=0x14,MAX_REWARD_COUNT=0x14,MAX_CUSTOMER_REQUIRED_INFO_COUNT=0xa,MAX_PUBKEY_LENGTH=0x400,MAX_DISCOUNT_COUNT_ONCE=0x3e8,MAX_DISCOUNT_RECEIVER_ONCE=0x3e8,MAX_DISCOUNT_TOTAL_COUNT=0x4e20,MAX_REQUIRED_INFO_SIZE=0x14,DEFAULT_SETTING_LOCK_DURATION=0x9a7ec800,DISCOUNT_TYPE_RATES=0x0,DISCOUNT_TYPE_MINUS=0x1,MAX_WIP_LENGTH=0x400,MAX_WIP_HASH_LENGTH=0x40;function sale(a,b){if(typeof b['name']==='string'&&!a49c(b['name']))a49p('invalid\x20parameter','Name\x20'+b['name']+'\x20exceeds\x20maximum\x20length\x20256');if(b['wip']['length']>MAX_WIP_LENGTH)a49p('invalid\x20parameter','WIP\x20'+b['wip']+'\x20exceeds\x20maximum\x20length\x20'+MAX_WIP_LENGTH);const c=b['wip'];if(b['wip']['length']>0x0&&!a49f(b['wip']))a49p('invalid\x20url','WIP\x20'+b['wip']+'\x20is\x20not\x20a\x20valid\x20HTTP/HTTPS\x20URL');const d=b['wip_hash']['includes'](':')?b['wip_hash']['split'](':')[0x1]:b['wip_hash'];if(d['length']>MAX_WIP_HASH_LENGTH)a49p('invalid\x20parameter','WIP\x20hash\x20'+d+'\x20exceeds\x20maximum\x20length\x20'+MAX_WIP_HASH_LENGTH);return a['moveCall']({'target':a49l('sale'),'arguments':[a49n(a,b['name']),a['pure']['u64'](b['price']),a['pure']['u64'](b['stock']),a['pure']['bool'](b['suspension']),a49n(a,c),a49n(a,d)]});}function quote_item(a,b){if(!a49c(b['name']))a49p('invalid\x20parameter','Quote\x20item\x20name\x20'+b['name']+'\x20is\x20not\x20valid');if(!a49d(b['stock']))a49p('invalid\x20u64','Quote\x20item\x20stock\x20'+b['stock']+'\x20is\x20not\x20valid');const c=b['wip_hash']['includes'](':')?b['wip_hash']['split'](':')[0x1]:b['wip_hash'];if(c['length']>MAX_WIP_HASH_LENGTH)a49p('invalid\x20parameter','Quote\x20item\x20wip_hash\x20'+c+'\x20exceeds\x20maximum\x20length\x20'+MAX_WIP_HASH_LENGTH);return a['moveCall']({'target':a49l('quote_item'),'arguments':[a49n(a,b['name']),a['pure']['u64'](b['stock']),a49n(a,c)]});}function discount_send(a,b,c){if(b['length']===0x0)return;a49s([...b,c]);if(b['length']>0x3e8)a49p('invalid\x20parameter','Discount\x20count\x20'+b['length']+'\x20exceeds\x20maximum\x20limit\x20'+MAX_DISCOUNT_COUNT_ONCE);if(b['length']===0x1){a['moveCall']({'target':a49l('discount_send_singleton'),'arguments':[a49k(a,b[0x0]),a['pure']['address'](c)]});return;}else a['moveCall']({'target':a49l('discount_send'),'arguments':[a['makeMoveVec']({'elements':b,'type':'0x2::service::Discount'}),a['pure']['address'](c)]});}function discount_destroy(a,b){a49s([...b]),b['forEach'](c=>{a['moveCall']({'target':a49l('discount_destroy'),'arguments':[a49k(a,c)]});});}const buy=async(a,b,c,d,e,f,g)=>{if(f['items']['length']===0x0)return;a49s([c,f['discount'],e,g]);if(!a49h(d))a49p('invalid\x20parameter','Buy\x20service\x20type\x20'+d+'\x20is\x20not\x20valid');if(!a49o(f['items'],l=>{if(!a49c(l['name']))a49p('invalid\x20parameter','Buy\x20item\x20name\x20'+l['name']+'\x20is\x20not\x20valid');if(!a49d(l['stock']))a49p('invalid\x20u64','Buy\x20item\x20stock\x20'+l['stock']+'\x20is\x20not\x20valid');return!![];}))a49p('invalid\x20parameter','Buy\x20items\x20is\x20not\x20valid');if(typeof f['payment_remark']==='string'&&!a49e(f['payment_remark']))a49p('invalid\x20parameter','Buy\x20payment\x20remark\x20'+f['payment_remark']+'\x20is\x20not\x20valid');f['payment_remark']=f['payment_remark']||'';if(f['payment_index']!=null&&!a49d(f['payment_index']))a49p('invalid\x20u64','Buy\x20payment\x20index\x20'+f['payment_index']+'\x20is\x20not\x20valid');const h=await a49v(a,b,f['total_pay'],d);f['discount']=await LocalMark['Instance']()['get_address'](f['discount']);let i=void 0x0;if(f['discount'])i=b['moveCall']({'target':a49l('quote_with_discount'),'arguments':[a49k(b,c),b['makeMoveVec']({'elements':f['items']['map'](l=>quote_item(b,l)),'type':'0x2::service::QuoteItem'}),a49k(b,f['discount'])],'typeArguments':[d]});else i=b['moveCall']({'target':a49l('quote'),'arguments':[a49k(b,c),b['makeMoveVec']({'elements':f['items']['map'](l=>quote_item(b,l)),'type':'0x2::service::QuoteItem'})],'typeArguments':[d]});let j;if(g)j=b['moveCall']({'target':a49l('buy_with_passport'),'arguments':[a49k(b,c),a49k(b,g),i,b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[d]});else j=b['moveCall']({'target':a49l('buy'),'arguments':[a49k(b,c),i,b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[d]});const k={'order':j};k['allocation']=b['moveCall']({'target':a49l('order_allocation'),'arguments':[a49k(b,c),a49k(b,j),h,b['pure']['string'](f['payment_remark']??''),b['pure']['u64'](f['payment_index']||0x0),b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[d]});if(e)k['progress']=b['moveCall']({'target':a49l('order_progress'),'arguments':[a49k(b,c),a49k(b,j),a49k(b,e),b['object']['mutRegistrar'](),b['object']['clock']()],'typeArguments':[d]});return k;};function newService(a,b,c,d,e){a49s([c,e]);if(typeof d==='string'&&!a49a(d))a49p('invalid\x20description','Description\x20exceeds\x20maximum\x20length\x20'+a49i);if(!a49h(b))a49p('invalid\x20parameter','New\x20service\x20type\x20'+b+'\x20is\x20not\x20valid');if(e)return a['moveCall']({'target':a49l('new_with_passport'),'arguments':[a49k(a,c),a49k(a,e),a49n(a,d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]});else return a['moveCall']({'target':a49l('new'),'arguments':[a49k(a,c),a49n(a,d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[b]});}function description_set(a,b,c,d,e,f){a49s([b,d,f]);if(typeof e==='string'&&!a49a(e))a49p('invalid\x20description','Description\x20exceeds\x20maximum\x20length\x20'+a49i);if(!a49h(c))a49p('invalid\x20parameter','Description\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('description_set_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a49n(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49l('description_set'),'arguments':[a49k(a,b),a49k(a,d),a49n(a,e)],'typeArguments':[c]});}function um_set(a,b,c,d,e,f){a49s([b,d]);if(!a49h(c))a49p('invalid\x20parameter','Service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e){if(f)a['moveCall']({'target':a49l('um_set_with_passport'),'arguments':[a49k(a,b),a49k(a,d),f,a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('um_set'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}else{if(f)a['moveCall']({'target':a49l('um_none_with_passport'),'arguments':[a49k(a,b),a49k(a,d),f,a['object']['mutRegistrar']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('um_none'),'arguments':[a49k(a,b),a49k(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}}function location_set(a,b,c,d,e,f){a49s([b,d,f]);if(typeof e==='string'&&!a49c(e))a49p('invalid\x20parameter','Location\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49h(c))a49p('invalid\x20parameter','Location\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('location_set_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a49n(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49l('location_set'),'arguments':[a49k(a,b),a49k(a,d),a49n(a,e)],'typeArguments':[c]});}function create(a,b,c){a49s([b]);if(!a49h(c))a49p('invalid\x20parameter','Create\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');return a['moveCall']({'target':a49l('create'),'arguments':[a49k(a,b)],'typeArguments':[c]});}function sales_add(a,b,c,d,e,f){if(e['length']===0x0)return;a49s([b,d,f]);if(!a49h(c))a49p('invalid\x20parameter','Sales\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('sales_add_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});else a['moveCall']({'target':a49l('sales_add'),'arguments':[a49k(a,b),a49k(a,d),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});}function sales_remove(a,b,c,d,e,f){if(e['length']===0x0)return;a49s([b,d,f]);if(!a49h(c))a49p('invalid\x20parameter','Sales\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('sales_remove_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['pure']['vector']('string',e)],'typeArguments':[c]});else a['moveCall']({'target':a49l('sales_remove'),'arguments':[a49k(a,b),a49k(a,d),a['pure']['vector']('string',e)],'typeArguments':[c]});}function sales_clear(a,b,c,d,e){a49s([b,d,e]);if(!a49h(c))a49p('invalid\x20parameter','Sales\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49l('sales_clear_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49l('sales_clear'),'arguments':[a49k(a,b),a49k(a,d)],'typeArguments':[c]});}function sales_set(a,b,c,d,e,f){if(e['length']===0x0)return;a49s([b,d,f]);if(!a49h(c))a49p('invalid\x20parameter','Sales\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('sales_set_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});else a['moveCall']({'target':a49l('sales_set'),'arguments':[a49k(a,b),a49k(a,d),a['makeMoveVec']({'elements':e['map'](g=>sale(a,g)),'type':'0x2::service::Sale'})],'typeArguments':[c]});}function price_add(a,b,c,d,e,f,g){a49s([b,d,g]);if(!a49h(c))a49p('invalid\x20parameter','Price\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49c(e))a49p('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49d(f))a49p('invalid\x20u64','Price\x20add\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49l('price_add_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,g),a49n(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49l('price_add'),'arguments':[a49k(a,b),a49k(a,d),a49n(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function price_reduce(a,b,c,d,e,f,g){a49s([b,d,g]);if(!a49h(c))a49p('invalid\x20parameter','Price\x20reduce\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49c(e))a49p('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49d(f))a49p('invalid\x20u64','Price\x20reduce\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49l('price_reduce_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,g),a49n(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49l('price_reduce'),'arguments':[a49k(a,b),a49k(a,d),a49n(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function stock_add(a,b,c,d,e,f,g){a49s([b,d,g]);if(!a49h(c))a49p('invalid\x20parameter','Stock\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49c(e))a49p('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49d(f))a49p('invalid\x20u64','Stock\x20add\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49l('stock_add_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,g),a49n(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49l('stock_add'),'arguments':[a49k(a,b),a49k(a,d),a49n(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function stock_reduce(a,b,c,d,e,f,g){a49s([b,d,g]);if(!a49h(c))a49p('invalid\x20parameter','Stock\x20reduce\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49c(e))a49p('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(!a49d(f))a49p('invalid\x20u64','Stock\x20reduce\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49l('stock_reduce_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,g),a49n(a,e),a['pure']['u64'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49l('stock_reduce'),'arguments':[a49k(a,b),a49k(a,d),a49n(a,e),a['pure']['u64'](f)],'typeArguments':[c]});}function sale_suspension(a,b,c,d,e,f,g){a49s([b,d,g]);if(!a49h(c))a49p('invalid\x20parameter','Sale\x20suspension\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(typeof e==='string'&&!a49c(e))a49p('invalid\x20parameter','Sale\x20name\x20'+e+'\x20exceeds\x20maximum\x20length\x20256');if(g)a['moveCall']({'target':a49l('sale_suspension_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,g),a49n(a,e),a['pure']['bool'](f)],'typeArguments':[c]});else a['moveCall']({'target':a49l('sale_suspension'),'arguments':[a49k(a,b),a49k(a,d),a49n(a,e),a['pure']['bool'](f)],'typeArguments':[c]});}function repository_add(a,b,c,d,e,f){a49s([b,d,e,f]);if(!a49h(c))a49p('invalid\x20parameter','Repository\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('repository_add_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('repository_add'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}function repository_remove(a,b,c,d,e,f){if(e['length']===0x0)return;a49s([b,d,f,...e]);if(!a49h(c))a49p('invalid\x20parameter','Repository\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('repository_remove_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('repository_remove'),'arguments':[a49k(a,b),a49k(a,d),a['pure']['vector']('address',e),a['object']['mutRegistrar']()],'typeArguments':[c]});}function repository_clear(a,b,c,d,e){a49s([b,d,e]);if(!a49h(c))a49p('invalid\x20parameter','Repository\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49l('repository_clear_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a['object']['mutRegistrar']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('repository_clear'),'arguments':[a49k(a,b),a49k(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}function buy_guard_set(a,b,c,d,e,f){a49s([b,d,e,f]);if(!a49h(c))a49p('invalid\x20parameter','Buy\x20guard\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f){if(e)a['moveCall']({'target':a49l('buy_guard_set_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('buy_guard_none_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['object']['mutRegistrar']()],'typeArguments':[c]});}else{if(e)a['moveCall']({'target':a49l('buy_guard_set'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('buy_guard_none'),'arguments':[a49k(a,b),a49k(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}}function machine_set(a,b,c,d,e,f){a49s([b,d,e,f]);if(!a49h(c))a49p('invalid\x20parameter','Machine\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f){if(e)a['moveCall']({'target':a49l('machine_set_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('machine_none_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['object']['mutRegistrar']()],'typeArguments':[c]});}else{if(e)a['moveCall']({'target':a49l('machine_set'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('machine_set_none'),'arguments':[a49k(a,b),a49k(a,d),a['object']['mutRegistrar']()],'typeArguments':[c]});}}function publish(a,b,c,d,e){a49s([b,d,e]);if(!a49h(c))a49p('invalid\x20parameter','Publish\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49l('publish_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e)],'typeArguments':[c]});else a['moveCall']({'target':a49l('publish'),'arguments':[a49k(a,b),a49k(a,d)],'typeArguments':[c]});}function pause(a,b,c,d,e,f){a49s([b,d,f]);if(!a49h(c))a49p('invalid\x20parameter','Pause\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('pause_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['pure']['bool'](e),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('pause'),'arguments':[a49k(a,b),a49k(a,d),a['pure']['bool'](e),a['object']['clock']()],'typeArguments':[c]});}function customer_required_set(a,b,c,d,e,f){if(e['length']>0x14)a49p('invalid\x20parameter','Customer\x20required\x20set\x20size\x20'+e['length']+'\x20is\x20exceed\x20maximum\x20size\x2020');a49s([b,d,f]);if(!a49h(c))a49p('invalid\x20parameter','Customer\x20required\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');e['forEach'](g=>{if(!a49e(g))a49p('invalid\x20parameter','Customer\x20required\x20info\x20'+g+'\x20is\x20exceed\x20maximum\x20length\x2064\x20or\x20start\x20with\x20\x220x\x22');});if(f)a['moveCall']({'target':a49l('custom_required_info_set_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['pure']['vector']('string',e)],'typeArguments':[c]});else a['moveCall']({'target':a49l('custom_required_info_set'),'arguments':[a49k(a,b),a49k(a,d),a['pure']['vector']('string',e)],'typeArguments':[c]});}function arbitrations_add(a,b,c,d,e,f,g){a49s([b,d,e,g]);if(!a49h(c))a49p('invalid\x20parameter','Arbitrations\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(!a49h(f))a49p('invalid\x20parameter','Arbitrations\x20add\x20arbitration\x20type\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49l('arbitration_add_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,g),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('arbitration_add'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c,f]});}function arbitrations_remove(a,b,c,d,e,f){if(e['length']===0x0)return;a49s([b,d,f]);if(!a49h(c))a49p('invalid\x20parameter','Arbitrations\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('arbitration_remove_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['pure']['vector']('address',e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('arbitration_remove'),'arguments':[a49k(a,b),a49k(a,d),a['pure']['vector']('address',e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}function arbitration_clear(a,b,c,d,e){a49s([b,d,e]);if(!a49h(c))a49p('invalid\x20parameter','Arbitrations\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49l('arbitration_clear_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('arbitration_clear'),'arguments':[a49k(a,b),a49k(a,d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}async function compensation_fund_add(a,b,c,d,e,f,g){a49s([c,e,g]);if(!a49h(d))a49p('invalid\x20parameter','Compensation\x20fund\x20add\x20service\x20type\x20'+d+'\x20is\x20not\x20valid');const h=await a49v(a,b,f,d);if(g)b['moveCall']({'target':a49l('compensation_fund_add_with_passport'),'arguments':[a49k(b,c),a49k(b,e),a49k(b,g),h],'typeArguments':[d]});else b['moveCall']({'target':a49l('compensation_fund_add'),'arguments':[a49k(b,c),a49k(b,e),h],'typeArguments':[d]});}function setting_lock_duration_set(a,b,c,d,e,f){if(!a49d(e)||e===0x0)return;a49s([b,d,f]);if(!a49h(c))a49p('invalid\x20parameter','Compensation\x20lock\x20duration\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('setting_lock_duration_add_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['pure']['u64'](e)],'typeArguments':[c]});else a['moveCall']({'target':a49l('setting_lock_duration_add'),'arguments':[a49k(a,b),a49k(a,d),a['pure']['u64'](e)],'typeArguments':[c]});}function order_allocators_set(a,b,c,d,e,f){a49s([b,d,e,f]);if(!a49h(c))a49p('invalid\x20parameter','Order\x20allocators\x20set\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('order_allocators_set_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['object']['option']({'type':'0x2::allocation::Allocators','value':e??null})],'typeArguments':[c]});else a['moveCall']({'target':a49l('order_allocators_set'),'arguments':[a49k(a,b),a49k(a,d),a['object']['option']({'type':'0x2::allocation::Allocators','value':e??null})],'typeArguments':[c]});}function reward_add(a,b,c,d,e,f,g){a49s([b,d,e,g]);if(!a49h(c))a49p('invalid\x20parameter','Rewards\x20add\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(!a49h(f))a49p('invalid\x20parameter','Rewards\x20add\x20reward\x20type\x20'+f+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49l('reward_add_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,g),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c,f]});else a['moveCall']({'target':a49l('reward_add'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c,f]});}function reward_remove(a,b,c,d,e,f){if(e['length']===0x0)return;a49s([b,d,f]);if(!a49h(c))a49p('invalid\x20parameter','Rewards\x20remove\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('reward_remove_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['pure']['vector']('address',e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('reward_remove'),'arguments':[a49k(a,b),a49k(a,d),a['pure']['vector']('address',e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}function reward_clear(a,b,c,d,e){a49s([b,d,e]);if(!a49h(c))a49p('invalid\x20parameter','Rewards\x20clear\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(e)a['moveCall']({'target':a49l('reward_clear_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('reward_clear'),'arguments':[a49k(a,b),a49k(a,d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}function compensation_fund_receive(a,b,c,d,e,f,g){if(!f)a49p('invalid\x20parameter','Compensation\x20fund\x20receive\x20payment\x20is\x20required');a49s([b,d,e,f,g]);if(!a49h(c))a49p('invalid\x20parameter','Compensation\x20fund\x20receive\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49l('compensation_fund_receive_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,g),a49k(a,e),a49k(a,f)],'typeArguments':[c]});else a['moveCall']({'target':a49l('compensation_fund_receive'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,e),a49k(a,f)],'typeArguments':[c]});}function compensation_fund_withdraw(a,b,c,d,e,f,g){a49s([b,f,e,d,g]);if(!a49h(c))a49p('invalid\x20parameter','Compensation\x20fund\x20withdraw\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(g)a['moveCall']({'target':a49l('compensation_fund_withdraw_with_passport'),'arguments':[a49k(a,b),a49k(a,f),a49k(a,g),a['pure']['address'](e),a49k(a,d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('compensation_fund_withdraw'),'arguments':[a49k(a,b),a49k(a,f),a['pure']['address'](e),a49k(a,d),a['object']['mutRegistrar'](),a['object']['clock']()],'typeArguments':[c]});}async function discount(a,b,c,d,e,f){let g=[];if(Array['isArray'](e['recipient']))g=e['recipient'];else g=await GetManyAccountOrMark_Address(e['recipient']);if(g['length']===0x0||e['count']===0x0)return;if(g['length']>0x3e8)a49p('invalid\x20parameter','Discount\x20recipient\x20length\x20'+g['length']+'\x20is\x20exceed\x20max\x20'+MAX_DISCOUNT_RECEIVER_ONCE);if(!a49e(e['name']))a49p('invalid\x20parameter','Discount\x20name\x20'+e['name']+'\x20is\x20not\x20valid');if(!a49b(e['count'])||e['count']>0x3e8)a49p('invalid\x20parameter','Discount\x20count\x20'+e['count']+'\x20is\x20exceed\x20max\x20'+MAX_DISCOUNT_COUNT_ONCE);if(g['length']*e['count']>0x4e20)a49p('invalid\x20parameter','Discount\x20total\x20count\x20'+g['length']*e['count']+'\x20is\x20exceed\x20max\x20'+MAX_DISCOUNT_TOTAL_COUNT);if(e['benchmark']!=null&&!a49d(e['benchmark']))a49p('invalid\x20parameter','Discount\x20benchmark\x20'+e['benchmark']+'\x20is\x20not\x20valid');const h=e['time_ms_start']??Date['now']();if(e['time_ms_end']<h)a49p('invalid\x20parameter','Discount\x20time_ms_end\x20'+e['time_ms_end']+'\x20is\x20not\x20valid');if(e['discount_value']!=null&&!a49d(e['discount_value']))a49p('invalid\x20parameter','Discount\x20discount_value\x20'+e['discount_value']+'\x20is\x20not\x20valid');a49s([b,d,f,...g]);if(!a49h(c))a49p('invalid\x20parameter','Discount\x20service\x20type\x20'+c+'\x20is\x20not\x20valid');if(f)a['moveCall']({'target':a49l('discount_with_passport'),'arguments':[a49k(a,b),a49k(a,d),a49k(a,f),a['pure']['string'](e['name']),a['pure']['u8'](e['discount_type']),a['pure']['u64'](e['discount_value']),a['pure']['option']('u64',e['benchmark']??null),a['pure']['bool'](e['transferable']),a['pure']['option']('u64',e['time_ms_start']??null),a['pure']['u64'](e['time_ms_end']),a['pure']['u16'](e['count']),a['pure']['vector']('address',g),a['object']['clock']()],'typeArguments':[c]});else a['moveCall']({'target':a49l('discount'),'arguments':[a49k(a,b),a49k(a,d),a['pure']['string'](e['name']),a['pure']['u8'](e['discount_type']),a['pure']['u64'](e['discount_value']),a['pure']['option']('u64',e['benchmark']??null),a['pure']['bool'](e['transferable']),a['pure']['option']('u64',e['time_ms_start']??null),a['pure']['u64'](e['time_ms_end']),a['pure']['u16'](e['count']),a['pure']['vector']('address',g),a['object']['clock']()],'typeArguments':[c]});}export{CallOrder as $,location_set as A,repository_remove as B,compensation_fund_withdraw as C,discount as D,description_set as E,price_add as F,sales_add as G,reward_clear as H,price_reduce as I,sales_set as J,sales_clear as K,publish as L,newService as M,order_allocators_set as N,discount_destroy as O,pause as P,um_set as Q,repository_add as R,compensation_fund_receive as S,customer_required_set as T,reward_remove as U,reward_add as V,sale_suspension as W,stock_add as X,setting_lock_duration_set as Y,stock_reduce as Z,arbitrations_add as _,MAX_ARBITRATION_COUNT as a,buy_guard_set as b,MAX_DISCOUNT_RECEIVER_ONCE as c,MAX_REPOSITORY_COUNT as d,MAX_REQUIRED_INFO_SIZE as f,arbitration_clear as g,NAMED_OPERATOR_ORDER_PAYER as h,DISCOUNT_TYPE_RATES as i,machine_set as j,discount_send as k,MAX_DISCOUNT_TOTAL_COUNT as l,MAX_SALE_COUNT as m,DEFAULT_SETTING_LOCK_DURATION as n,MAX_CUSTOMER_REQUIRED_INFO_COUNT as o,MAX_REWARD_COUNT as p,sales_remove as q,DISCOUNT_TYPE_MINUS as r,MAX_DISCOUNT_COUNT_ONCE as s,CallService as t,MAX_PUBKEY_LENGTH as u,arbitrations_remove as v,create as w,compensation_fund_add as x,buy as y,repository_clear as z};
|