js-waku/eth-pm/static/js/main.7a019cb2.chunk.js

2 lines
109 KiB
JavaScript

(this["webpackJsonpeth-pm"]=this["webpackJsonpeth-pm"]||[]).push([[0],{100:function(e,t,r){"use strict";(function(e){r.d(t,"a",(function(){return f})),r.d(t,"c",(function(){return p})),r.d(t,"b",(function(){return y})),r.d(t,"d",(function(){return P}));var n=r(0),i=r.n(n),o=r(22),a=(r(363),r(153)),s=r(42),u=r(119),c=r(552),d=r(77),l=r(553),f=Object(s.hexToBuf)(Object(l.keccak256)(e.from(d.b,"utf-8")));function p(){return v.apply(this,arguments)}function v(){return(v=Object(o.a)(i.a.mark((function e(){var t,r;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=Object(u.generatePrivateKey)(),r=Object(u.getPublicKey)(t),e.abrupt("return",{privateKey:t,publicKey:r});case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function y(e,t,r){return h.apply(this,arguments)}function h(){return(h=Object(o.a)(i.a.mark((function e(t,r,n){var o;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,g(r,t,n);case 2:return o=e.sent,console.log("Asking wallet to sign Public Key Message"),console.log("Public Key Message signed"),e.abrupt("return",new a.b({encryptionPublicKey:r,ethAddress:Object(s.hexToBuf)(t),signature:Object(s.hexToBuf)(o)}));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function b(e,t){return JSON.stringify({domain:{chainId:1,name:"Ethereum Private Message over Waku",version:"1"},message:{encryptionPublicKey:Object(s.bufToHex)(e),ownerAddress:t},primaryType:"PublishEncryptionPublicKey",types:{EIP712Domain:[{name:"name",type:"string"},{name:"version",type:"string"},{name:"chainId",type:"uint256"}],PublishEncryptionPublicKey:[{name:"encryptionPublicKey",type:"string"},{name:"ownerAddress",type:"string"}]}})}function g(e,t,r){return m.apply(this,arguments)}function m(){return(m=Object(o.a)(i.a.mark((function e(t,r,n){var o,a;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=b(t,r),e.next=3,n({method:"eth_signTypedData_v3",params:[r,o],from:r});case 3:return a=e.sent,console.log("TYPED SIGNED:"+JSON.stringify(a)),e.abrupt("return",Object(s.hexToBuf)(a));case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function P(e){var t=c.recoverTypedSignature_v4({data:JSON.parse(b(e.encryptionPublicKey,"0x"+Object(s.bufToHex)(e.ethAddress))),sig:"0x"+Object(s.bufToHex)(e.signature)});return console.log("Recovered",t),console.log("ethAddress","0x"+Object(s.bufToHex)(e.ethAddress)),Object(s.equalByteArrays)(t,e.ethAddress)}}).call(this,r(14).Buffer)},1014:function(e,t){},1030:function(e,t,r){"use strict";var n=r(9),i=r(10),o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.PushRPC=void 0;var u=r(51),c=r(548),d=s(r(529)),l=function(){function e(t){n(this,e),this.proto=t}return i(e,[{key:"encode",value:function(){return d.PushRPC.encode(this.proto).finish()}},{key:"query",get:function(){return this.proto.request}},{key:"response",get:function(){return this.proto.response}}],[{key:"createRequest",value:function(t,r){return new e({requestId:c.v4(),request:{message:t.proto,pubSubTopic:r},response:void 0})}},{key:"decode",value:function(t){return new e(d.PushRPC.decode(u.Reader.create(t)))}}]),e}();t.PushRPC=l},1033:function(e,t,r){"use strict";(function(e){var n=r(0),i=r(34),o=r(7);Object.defineProperty(t,"__esModule",{value:!0}),t.generateIv=t.decrypt=t.encrypt=void 0;var a=r(339),s=window.crypto||window.msCrypto,u=s.subtle||s.webkitSubtle,c={name:"AES-GCM",length:128};if(void 0===u)throw new Error("Failed to load Subtle CryptoAPI");function d(){return(d=o(n.mark((function t(r,o,a){return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",u.importKey("raw",o,c,!1,["encrypt"]).then((function(e){return u.encrypt(i({iv:r},c),e,a)})).then(e.from));case 1:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function l(){return(l=o(n.mark((function t(r,o,a){return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.abrupt("return",u.importKey("raw",o,c,!1,["decrypt"]).then((function(e){return u.decrypt(i({iv:r},c),e,a)})).then(e.from));case 1:case"end":return t.stop()}}),t)})))).apply(this,arguments)}t.encrypt=function(e,t,r){return d.apply(this,arguments)},t.decrypt=function(e,t,r){return l.apply(this,arguments)},t.generateIv=function(){var e=new Uint8Array(a.IvSize);return s.getRandomValues(e),e}}).call(this,r(14).Buffer)},1034:function(e,t,r){"use strict";(function(e){var n=r(0),i=r(7);Object.defineProperty(t,"__esModule",{value:!0}),t.generateIv=t.decrypt=t.encrypt=void 0;var o=r(227),a=r(339),s="aes-256-gcm";function u(){return(u=i(n.mark((function t(r,i,a){var u,c,d,l;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return u=o.createCipheriv(s,i,r),c=u.update(a),d=u.final(),l=u.getAuthTag(),t.abrupt("return",e.concat([c,d,l]));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function c(){return(c=i(n.mark((function t(r,i,u){var c,d,l,f,p,v;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return c=u.length-a.TagSize,d=u.slice(0,c),l=u.slice(c),(f=o.createDecipheriv(s,i,r)).setAuthTag(l),p=f.update(d),v=f.final(),t.abrupt("return",e.concat([p,v]));case 8:case"end":return t.stop()}}),t)})))).apply(this,arguments)}t.encrypt=function(e,t,r){return u.apply(this,arguments)},t.decrypt=function(e,t,r){return c.apply(this,arguments)},t.generateIv=function(){return o.randomBytes(a.IvSize)}}).call(this,r(14).Buffer)},1078:function(e,t,r){"use strict";var n=r(9),i=r(10),o=r(30),a=r(31),s=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),u=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return u(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.RelayHeartbeat=void 0;var d=r(534),l=r(92),f=c(r(254)),p=r(538),v=function(e){o(r,e);var t=a(r);function r(e){return n(this,r),t.call(this,e)}return i(r,[{key:"start",value:function(){var e=this;if(!this._heartbeatTimer){var t=this._heartbeat.bind(this),r=setTimeout((function(){var r;t(),null===(r=e._heartbeatTimer)||void 0===r||r.runPeriodically(t,f.RelayHeartbeatInterval)}),f.RelayHeartbeatInitialDelay);this._heartbeatTimer={_intervalId:void 0,runPeriodically:function(t,r){e._heartbeatTimer._intervalId=setInterval(t,r)},cancel:function(){var t;clearTimeout(r),clearInterval(null===(t=e._heartbeatTimer)||void 0===t?void 0:t._intervalId)}}}}},{key:"stop",value:function(){this._heartbeatTimer&&(this._heartbeatTimer.cancel(),this._heartbeatTimer=null)}},{key:"_heartbeat",value:function(){var e=this,t=this.gossipsub._options,r=t.D,n=t.Dlo,i=t.Dhi,o=t.Dscore,a=t.Dout;this.gossipsub.heartbeatTicks++;var s=new Map,u=function(t){var r=s.get(t);return void 0===r&&(r=e.gossipsub.score.score(t),s.set(t,r)),r},c=new Map,d=new Map,v=new Map;this.gossipsub._clearBackoff(),this.gossipsub.peerhave.clear(),this.gossipsub.iasked.clear(),this.gossipsub._applyIwantPenalties(),this.gossipsub._directConnect(),this.gossipsub.mesh.forEach((function(t,s){var y=function(r){e.gossipsub.log("HEARTBEAT: Remove mesh link to %s in %s",r,s),e.gossipsub.score.prune(r,s),e.gossipsub._addBackoff(r,s),t.delete(r);var n=d.get(r);n?n.push(s):d.set(r,[s])},h=function(r){e.gossipsub.log("HEARTBEAT: Add mesh link to %s in %s",r,s),e.gossipsub.score.graft(r,s),t.add(r);var n=c.get(r);n?n.push(s):c.set(r,[s])};if(t.forEach((function(t){var r=u(t);r<0&&(e.gossipsub.log("HEARTBEAT: Prune peer %s with negative score: score=%d, topic=%s",t,r,s),y(t),v.set(t,!0))})),t.size<n){var b=e.gossipsub.backoff.get(s),g=r-t.size;p.getRelayPeers(e.gossipsub,s,g,(function(r){return!t.has(r)&&!e.gossipsub.direct.has(r)&&(!b||!b.has(r))&&u(r)>=0})).forEach(h)}if(t.size>i){var m=Array.from(t);m.sort((function(e,t){return u(t)-u(e)})),m=m.slice(0,o).concat(l.shuffle(m.slice(o)));var P=0;if(m.slice(0,r).forEach((function(t){e.gossipsub.outbound.get(t)&&P++})),P<a){var _=function(e){for(var t=m[e],r=e;r>0;r--)m[r]=m[r-1];m[0]=t};if(P>0)for(var k=P,R=1;R<r&&k>0;R++)e.gossipsub.outbound.get(m[R])&&(_(R),k--);for(var O=r-P,w=r;w<m.length&&O>0;w++)e.gossipsub.outbound.get(m[w])&&(_(w),O--)}m.slice(r).forEach(y)}if(t.size>=n){var T=0;if(t.forEach((function(t){e.gossipsub.outbound.get(t)&&T++})),T<a){var E=a-T,S=e.gossipsub.backoff.get(s);p.getRelayPeers(e.gossipsub,s,E,(function(r){return!t.has(r)&&!e.gossipsub.direct.has(r)&&(!S||!S.has(r))&&u(r)>=0})).forEach(h)}}if(e.gossipsub.heartbeatTicks%f.RelayOpportunisticGraftTicks===0&&t.size>1){var I=Array.from(t).sort((function(e,t){return u(e)-u(t)})),j=Math.floor(t.size/2),x=u(I[j]);if(x<e.gossipsub._options.scoreThresholds.opportunisticGraftThreshold){var N=e.gossipsub.backoff.get(s);p.getRelayPeers(e.gossipsub,s,f.RelayOpportunisticGraftPeers,(function(r){return t.has(r)&&!e.gossipsub.direct.has(r)&&(!N||!N.has(r))&&u(r)>x})).forEach((function(t){e.gossipsub.log("HEARTBEAT: Opportunistically graft peer %s on topic %s",t,s),h(t)}))}}e.gossipsub._emitGossip(s,t)}));var y=this.gossipsub._now();this.gossipsub.lastpub.forEach((function(t,r){t+f.RelayFanoutTTL<y&&(e.gossipsub.fanout.delete(r),e.gossipsub.lastpub.delete(r))})),this.gossipsub.fanout.forEach((function(t,n){var i=e.gossipsub.topics.get(n);if(t.forEach((function(r){(!(null===i||void 0===i?void 0:i.has(r))||u(r)<e.gossipsub._options.scoreThresholds.publishThreshold)&&t.delete(r)})),t.size<r){var o=r-t.size;p.getRelayPeers(e.gossipsub,n,o,(function(r){return!t.has(r)&&!e.gossipsub.direct.has(r)&&u(r)>=e.gossipsub._options.scoreThresholds.publishThreshold})).forEach((function(e){t.add(e)}))}e.gossipsub._emitGossip(n,t)})),this.gossipsub._sendGraftPrune(c,d,v),this.gossipsub._flush(),this.gossipsub.messageCache.shift(),this.gossipsub.emit("gossipsub:heartbeat")}}]),r}(d.Heartbeat);t.RelayHeartbeat=v},1079:function(e,t,r){"use strict";var n=r(9),i=r(10),o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.HistoryRPC=t.PageDirection=void 0;var u,c=r(51),d=r(548),l=s(r(540));!function(e){e.BACKWARD="backward",e.FORWARD="forward"}(u=t.PageDirection||(t.PageDirection={}));var f=function(){function e(t){n(this,e),this.proto=t}return i(e,[{key:"encode",value:function(){return l.HistoryRPC.encode(this.proto).finish()}},{key:"query",get:function(){return this.proto.query}},{key:"response",get:function(){return this.proto.response}}],[{key:"createQuery",value:function(t){var r=function(e){switch(e){case u.BACKWARD:return l.PagingInfo_Direction.DIRECTION_BACKWARD_UNSPECIFIED;case u.FORWARD:return l.PagingInfo_Direction.DIRECTION_FORWARD;default:return l.PagingInfo_Direction.DIRECTION_BACKWARD_UNSPECIFIED}}(t.pageDirection),n={pageSize:t.pageSize,cursor:t.cursor,direction:r},i=t.contentTopics.map((function(e){return{contentTopic:e}}));return new e({requestId:d.v4(),query:{pubSubTopic:t.pubSubTopic,contentFilters:i,pagingInfo:n,startTime:t.startTime,endTime:t.endTime},response:void 0})}},{key:"decode",value:function(t){return new e(l.HistoryRPC.decode(c.Reader.create(t)))}}]),e}();t.HistoryRPC=f},1105:function(e,t){},1118:function(e,t,r){"use strict";r.r(t);var n=r(1),i=r.n(n),o=r(47),a=r.n(o),s=(r(578),r(53)),u=(r(363),r(579),r(100)),c=(r(1107),r(1167)),d=r(1168),l=r(1169),f=r(273),p=r(1153),v=r(0),y=r.n(v),h=r(22),b=r(42);function g(){return(g=Object(h.a)(y.a.mark((function e(t,r){var n,i,o,a,s;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,k(t,r);case 2:n=e.sent,i=n.salt,o=n.iv,a=n.cipher,s={salt:Object(b.bufToHex)(i),iv:Object(b.bufToHex)(o),cipher:Object(b.bufToHex)(a)},localStorage.setItem("cipherEncryptionKeyPair",JSON.stringify(s));case 8:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function m(){return(m=Object(h.a)(y.a.mark((function e(t){var r,n,i,o,a;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=localStorage.getItem("cipherEncryptionKeyPair")){e.next=3;break}return e.abrupt("return");case 3:return n=JSON.parse(r),i=Object(b.hexToBuf)(n.salt),o=Object(b.hexToBuf)(n.iv),a=Object(b.hexToBuf)(n.cipher),e.next=9,O(i,o,a,t);case 9:return e.abrupt("return",e.sent);case 10:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function P(e){var t=new TextEncoder;return window.crypto.subtle.importKey("raw",t.encode(e),{name:"PBKDF2"},!1,["deriveBits","deriveKey"])}function _(e,t){return window.crypto.subtle.deriveKey({name:"PBKDF2",salt:t,iterations:1e5,hash:"SHA-256"},e,{name:"AES-GCM",length:256},!0,["encrypt","decrypt"])}function k(e,t){return R.apply(this,arguments)}function R(){return(R=Object(h.a)(y.a.mark((function e(t,r){var n,i,o,a,s,u,c;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,P(r);case 2:return n=e.sent,i=window.crypto.getRandomValues(new Uint8Array(16)),e.next=6,_(n,i);case 6:return o=e.sent,a=new TextEncoder,s=a.encode(JSON.stringify(t)),u=window.crypto.getRandomValues(new Uint8Array(12)),e.next=12,window.crypto.subtle.encrypt({name:"AES-GCM",iv:u},o,s);case 12:return c=e.sent,e.abrupt("return",{salt:i,iv:u,cipher:c});case 14:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function O(e,t,r,n){return w.apply(this,arguments)}function w(){return(w=Object(h.a)(y.a.mark((function e(t,r,n,i){var o,a,s,u;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,P(i);case 2:return o=e.sent,e.next=5,_(o,t);case 5:return a=e.sent,e.prev=6,e.next=9,window.crypto.subtle.decrypt({name:"AES-GCM",iv:r},a,n);case 9:return s=e.sent,u=new TextDecoder,e.abrupt("return",JSON.parse(u.decode(s)));case 14:return e.prev=14,e.t0=e.catch(6),e.abrupt("return");case 17:case"end":return e.stop()}}),e,null,[[6,14]])})))).apply(this,arguments)}var T=r(18);function E(e){var t=e.password,r=e.disabled,n=e.setEncryptionKeyPair;return Object(T.jsx)(p.a,{variant:"contained",color:"primary",onClick:function(){r||t&&function(e){return m.apply(this,arguments)}(t).then((function(e){e&&(console.log("Encryption KeyPair loaded from storage"),n(e))}))},disabled:!t||r,children:"Load Encryption Key Pair from storage"})}function S(e){var t=e.password,r=e.EncryptionKeyPair;return Object(T.jsx)(p.a,{variant:"contained",color:"primary",onClick:function(){r&&t&&function(e,t){return g.apply(this,arguments)}(r,t).then((function(){console.log("Encryption KeyPair saved to storage")}))},disabled:!t||!r,children:"Save Encryption Key Pair to storage"})}var I=r(1161),j=r(1172);function x(e){var t=e.password,r=e.setPassword;return Object(T.jsx)(j.a,{id:"password-input",label:"Password",variant:"filled",type:"password",onChange:function(e){r(e.target.value)},value:t})}var N=Object(I.a)({root:{textAlign:"center",display:"flex",alignItems:"center",flexDirection:"column",margin:"5px"},generate:{margin:"5px"},storage:{margin:"5px"},loadSave:{display:"flex",flexDirection:"row",margin:"5px"},loadSaveButton:{margin:"5px"}});function D(e){var t=e.encryptionKeyPair,r=e.setEncryptionKeyPair,i=N(),o=Object(n.useState)(),a=Object(s.a)(o,2),c=a[0],d=a[1];return Object(T.jsxs)("div",{className:i.root,children:[Object(T.jsx)(p.a,{className:i.generate,variant:"contained",color:"primary",onClick:function(){t||Object(u.c)().then((function(e){r(e)})).catch((function(e){console.error("Failed to generate Key Pair",e)}))},disabled:!!t,children:"Generate Encryption Key Pair"}),Object(T.jsxs)("div",{className:i.storage,children:[Object(T.jsx)(x,{password:c,setPassword:function(e){return d(e)}}),Object(T.jsxs)("div",{className:i.loadSave,children:[Object(T.jsx)("div",{className:i.loadSaveButton,children:Object(T.jsx)(E,{setEncryptionKeyPair:function(e){return r(e)},disabled:!!t,password:c})}),Object(T.jsx)("div",{className:i.loadSaveButton,children:Object(T.jsx)(S,{EncryptionKeyPair:t,password:c})})]})]})]})}var K=r(564),M=r(1166),A=r(1164),C=r(1165),B=r(272),F=r(562),H=r.n(F),W=r(119),q=r(77);function L(e){var t=e.EncryptionKeyPair,r=e.waku,i=e.address,o=e.providerRequest,a=Object(n.useState)(),c=Object(s.a)(a,2),d=c[0],l=c[1];return Object(T.jsx)(p.a,{variant:"contained",color:"primary",onClick:function(){t&&i&&r&&o&&(d?U(d).then((function(e){r.lightPush.push(e).catch((function(e){console.error("Failed to send Public Key Message",e)}))})).catch((function(e){console.log("Failed to encode Public Key Message in Waku Message",e)})):Object(u.b)(i,t.publicKey,o).then((function(e){l(e),U(e).then((function(e){r.lightPush.push(e).then((function(e){return console.log("Public Key Message pushed",e)})).catch((function(e){console.error("Failed to send Public Key Message",e)}))})).catch((function(e){console.log("Failed to encode Public Key Message in Waku Message",e)}))})).catch((function(e){console.error("Failed to create public key message",e)})))},disabled:!t||!r||!i||!o,children:"Broadcast Encryption Public Key"})}function U(e){return J.apply(this,arguments)}function J(){return(J=Object(h.a)(y.a.mark((function e(t){var r;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.encode(),e.next=3,W.WakuMessage.fromBytes(r,q.b,{symKey:u.a});case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var V=r(1160),z=r(1123),G=r(1162);function X(e){var t=e.messages;return Object(T.jsx)(V.a,{dense:!0,children:Z(t)})}function Z(e){return e.map((function(e){var t="<".concat(Q(e.timestamp),"> ").concat(e.text);return Object(T.jsx)(z.a,{children:Object(T.jsx)(G.a,{primary:t},Q(e.timestamp))})}))}function Q(e){return e.toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1})}var Y=r(1163),$=r(1159),ee=r(1174),te=r(1170),re=r(153),ne=Object(I.a)((function(e){return{formControl:{margin:e.spacing(1),minWidth:120},selectEmpty:{marginTop:e.spacing(2)}}}));function ie(e){var t=e.waku,r=e.recipients,i=ne(),o=Object(n.useState)(""),a=Object(s.a)(o,2),u=a[0],c=a[1],d=Object(n.useState)(),l=Object(s.a)(d,2),f=l[0],p=l[1],v=Array.from(r.keys()).map((function(e){return Object(T.jsx)(Y.a,{value:e,children:e},e)})),b=function(){var e=Object(h.a)(y.a.mark((function e(n){var i;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("Enter"!==n.key||n.altKey||n.ctrlKey||n.shiftKey){e.next=11;break}if(t){e.next=3;break}return e.abrupt("return");case 3:if(u){e.next=5;break}return e.abrupt("return");case 5:if(f){e.next=7;break}return e.abrupt("return");case 7:if(i=r.get(u)){e.next=10;break}return e.abrupt("return");case 10:ae(t,u,i,f,(function(e){e&&(console.log("callback called with",e),p(""))}));case 11:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();return Object(T.jsxs)("div",{style:{display:"flex",alignItems:"center",flexWrap:"wrap"},children:[Object(T.jsxs)($.a,{className:i.formControl,children:[Object(T.jsx)(ee.a,{id:"select-recipient-label",children:"Recipient"}),Object(T.jsx)(te.a,{labelId:"select-recipient",id:"select-recipient",value:u,onChange:function(e){c(e.target.value)},children:v})]}),Object(T.jsx)(j.a,{id:"message-input",label:"Message",variant:"filled",onChange:function(e){p(e.target.value)},onKeyDown:b,value:f})]})}function oe(){return(oe=Object(h.a)(y.a.mark((function e(t,r,n){var i,o;return y.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=new re.a({toAddress:Object(b.hexToBuf)(n),message:t}),o=i.encode(),e.abrupt("return",W.WakuMessage.fromBytes(o,q.a,{encPublicKey:r}));case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ae(e,t,r,n,i){(function(e,t,r){return oe.apply(this,arguments)})(n,r,t).then((function(t){console.log("pushing"),e.lightPush.push(t).then((function(e){console.log("Message sent",e),i(!!e&&e.isSuccess)})).catch((function(e){console.error("Failed to send message",e),i(!1)}))})).catch((function(e){console.error("Cannot encode & encrypt message",e),i(!1)}))}var se=Object(I.a)({root:{display:"flex",alignItems:"left",flexDirection:"column",margin:"5px"}});function ue(e){var t=e.waku,r=e.recipients,n=e.messages,i=se();return Object(T.jsxs)("div",{className:i.root,children:[Object(T.jsx)(ie,{recipients:r,waku:t}),Object(T.jsx)(X,{messages:n})]})}var ce=r(563);function de(e){var t=e.setAddress,r=e.setProvider;return Object(T.jsx)(p.a,{variant:"contained",color:"primary",onClick:function(){try{window.ethereum.request({method:"eth_requestAccounts"}).then((function(e){var n=new ce.a.providers.Web3Provider(window.ethereum);t(e[0]),r(n)}))}catch(e){console.error("No web3 provider available")}},children:"Connect Wallet"})}var le=Object(K.a)({palette:{primary:{main:A.a[500]},secondary:{main:C.a[600]}}}),fe=Object(I.a)({root:{textAlign:"center",display:"flex",flexDirection:"column",minHeight:"100vh"},appBar:{},container:{display:"flex",flex:1},main:{flex:1,margin:"10px"},wakuStatus:{marginRight:le.spacing(2)},title:{flexGrow:1},peers:{}});var pe=function(){var e,t=Object(n.useState)(),r=Object(s.a)(t,2),i=r[0],o=r[1],a=Object(n.useState)(),p=Object(s.a)(a,2),v=p[0],y=p[1],h=Object(n.useState)(),b=Object(s.a)(h,2),g=b[0],m=b[1],P=Object(n.useState)(new Map),_=Object(s.a)(P,2),k=_[0],R=_[1],O=Object(n.useState)([]),w=Object(s.a)(O,2),E=w[0],S=w[1],I=Object(n.useState)(),j=Object(s.a)(I,2),x=j[0],N=j[1],K=Object(n.useState)({relayPeers:0,lightPushPeers:0}),A=Object(s.a)(K,2),C=A[0],F=A[1],W=fe();Object(n.useEffect)((function(){i||Object(q.e)().then((function(e){console.log("waku: ready"),o(e)})).catch((function(e){console.error("Failed to initiate Waku",e)}))}),[i]),Object(n.useEffect)((function(){if(i){var e=q.d.bind({},x,R);return i.relay.addDecryptionKey(u.a),i.relay.addObserver(e,[q.b]),function(){i&&(i.relay.deleteDecryptionKey(u.a),i.relay.deleteObserver(e,[q.b]))}}}),[i,x]),Object(n.useEffect)((function(){if(i&&g)return i.relay.addDecryptionKey(g.privateKey),function(){i&&g&&i.relay.deleteDecryptionKey(g.privateKey)}}),[i,g]),Object(n.useEffect)((function(){if(i&&g&&x){var e=q.c.bind({},S,x);return i.relay.addObserver(e,[q.a]),function(){i&&e&&i.relay.deleteObserver(e,[q.a])}}}),[i,x,g]),Object(n.useEffect)((function(){if(i){var e=setInterval((function(){F({relayPeers:i.relay.getPeers().size,lightPushPeers:i.lightPush.peers.length})}),1e3);return function(){return clearInterval(e)}}}),[i]);var U="";return x&&(U=x.substr(0,6)+"..."+x.substr(x.length-4,4)),Object(T.jsx)(M.a,{theme:le,children:Object(T.jsxs)("div",{className:W.root,children:[Object(T.jsx)(c.a,{className:W.appBar,position:"static",children:Object(T.jsxs)(d.a,{children:[Object(T.jsx)(l.a,{edge:"start",className:W.wakuStatus,"aria-label":"waku-status",children:Object(T.jsx)(H.a,{color:i?void 0:"disabled",style:i?{color:B.a[500]}:{}})}),Object(T.jsxs)(f.a,{className:W.peers,"aria-label":"connected-peers",children:["Peers: ",C.relayPeers," relay, ",C.lightPushPeers," ","light push"]}),Object(T.jsx)(f.a,{variant:"h6",className:W.title,children:"Ethereum Private Message"}),Object(T.jsx)(f.a,{children:U})]})}),Object(T.jsx)("div",{className:W.container,children:Object(T.jsxs)("main",{className:W.main,children:[Object(T.jsxs)("fieldset",{children:[Object(T.jsx)("legend",{children:"Wallet"}),Object(T.jsx)(de,{setAddress:N,setProvider:y})]}),Object(T.jsxs)("fieldset",{children:[Object(T.jsx)("legend",{children:"Encryption Key Pair"}),Object(T.jsx)(D,{encryptionKeyPair:g,setEncryptionKeyPair:m}),Object(T.jsx)(L,{address:x,EncryptionKeyPair:g,waku:i,providerRequest:null===v||void 0===v||null===(e=v.provider)||void 0===e?void 0:e.request})]}),Object(T.jsxs)("fieldset",{children:[Object(T.jsx)("legend",{children:"Messaging"}),Object(T.jsx)(ue,{recipients:k,waku:i,messages:E})]})]})})]})})};a.a.render(Object(T.jsx)(i.a.StrictMode,{children:Object(T.jsx)(pe,{})}),document.getElementById("root"))},119:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.proto=t.StoreCodec=t.WakuStore=t.PageDirection=t.waku_store=t.RelayCodecs=t.WakuRelay=t.waku_relay=t.PushResponse=t.LightPushCodec=t.WakuLightPush=t.waku_light_push=t.getPublicKey=t.generateSymmetricKey=t.generatePrivateKey=t.WakuMessage=t.waku_message=t.DefaultPubSubTopic=t.Waku=t.waku=t.utils=t.enr=t.discovery=t.getNodesFromHostedJson=void 0;var a=r(183);Object.defineProperty(t,"getNodesFromHostedJson",{enumerable:!0,get:function(){return a.getNodesFromHostedJson}}),t.discovery=o(r(183)),t.enr=o(r(279)),t.utils=o(r(42)),t.waku=o(r(199));var s=r(199);Object.defineProperty(t,"Waku",{enumerable:!0,get:function(){return s.Waku}}),Object.defineProperty(t,"DefaultPubSubTopic",{enumerable:!0,get:function(){return s.DefaultPubSubTopic}}),t.waku_message=o(r(207));var u=r(207);Object.defineProperty(t,"WakuMessage",{enumerable:!0,get:function(){return u.WakuMessage}});var c=r(530);Object.defineProperty(t,"generatePrivateKey",{enumerable:!0,get:function(){return c.generatePrivateKey}}),Object.defineProperty(t,"generateSymmetricKey",{enumerable:!0,get:function(){return c.generateSymmetricKey}}),Object.defineProperty(t,"getPublicKey",{enumerable:!0,get:function(){return c.getPublicKey}}),t.waku_light_push=o(r(337));var d=r(337);Object.defineProperty(t,"WakuLightPush",{enumerable:!0,get:function(){return d.WakuLightPush}}),Object.defineProperty(t,"LightPushCodec",{enumerable:!0,get:function(){return d.LightPushCodec}}),Object.defineProperty(t,"PushResponse",{enumerable:!0,get:function(){return d.PushResponse}}),t.waku_relay=o(r(251));var l=r(251);Object.defineProperty(t,"WakuRelay",{enumerable:!0,get:function(){return l.WakuRelay}}),Object.defineProperty(t,"RelayCodecs",{enumerable:!0,get:function(){return l.RelayCodecs}}),t.waku_store=o(r(345));var f=r(345);Object.defineProperty(t,"PageDirection",{enumerable:!0,get:function(){return f.PageDirection}}),Object.defineProperty(t,"WakuStore",{enumerable:!0,get:function(){return f.WakuStore}}),Object.defineProperty(t,"StoreCodec",{enumerable:!0,get:function(){return f.StoreCodec}}),t.proto=o(r(539))},153:function(e,t,r){"use strict";r.d(t,"b",(function(){return c})),r.d(t,"a",(function(){return d}));var n=r(6),i=r(8),o=r(270),a=o.Root,s=o.Type,u=o.Field,c=function(){function e(t){Object(n.a)(this,e),this.payload=t}return Object(i.a)(e,[{key:"encode",value:function(){var t=e.Type.create(this.payload);return e.Type.encode(t).finish()}},{key:"encryptionPublicKey",get:function(){return this.payload.encryptionPublicKey}},{key:"ethAddress",get:function(){return this.payload.ethAddress}},{key:"signature",get:function(){return this.payload.signature}}],[{key:"decode",value:function(t){var r=e.Type.decode(t);if(r.signature&&r.encryptionPublicKey&&r.ethAddress)return new e(r);console.log("Field missing on decoded Public Key Message",r)}}]),e}();c.Type=new s("PublicKeyMessage").add(new u("encryptionPublicKey",1,"bytes")).add(new u("ethAddress",2,"bytes")).add(new u("signature",3,"bytes")),c.Root=(new a).define("messages").add(c.Type);var d=function(){function e(t){Object(n.a)(this,e),this.payload=t}return Object(i.a)(e,[{key:"encode",value:function(){var t=e.Type.create(this.payload);return e.Type.encode(t).finish()}},{key:"toAddress",get:function(){return this.payload.toAddress}},{key:"message",get:function(){return this.payload.message}}],[{key:"decode",value:function(t){var r=e.Type.decode(t);if(r.toAddress&&r.message)return new e(r);console.log("Field missing on decoded Private Message",r)}}]),e}();d.Type=new s("PrivateMessage").add(new u("toAddress",1,"bytes")).add(new u("message",2,"string")),d.Root=(new a).define("messages").add(d.Type)},183:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getPseudoRandomSubset=t.ENRTree=t.DnsOverHttps=t.DnsNodeDiscovery=t.Bootstrap=t.getNodesFromHostedJson=void 0;var n=r(92),i=r(611);Object.defineProperty(t,"getNodesFromHostedJson",{enumerable:!0,get:function(){return i.getNodesFromHostedJson}});var o=r(642);Object.defineProperty(t,"Bootstrap",{enumerable:!0,get:function(){return o.Bootstrap}});var a=r(398);Object.defineProperty(t,"DnsNodeDiscovery",{enumerable:!0,get:function(){return a.DnsNodeDiscovery}});var s=r(473);Object.defineProperty(t,"DnsOverHttps",{enumerable:!0,get:function(){return s.DnsOverHttps}});var u=r(475);Object.defineProperty(t,"ENRTree",{enumerable:!0,get:function(){return u.ENRTree}}),t.getPseudoRandomSubset=function(e,t){return e.length<=t?e:n.shuffle(e).slice(0,t)}},199:function(e,t,r){"use strict";var n=r(105),i=r(0),o=r(7),a=r(9),s=r(10),u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Waku=t.DefaultPubSubTopic=t.DefaultRelayKeepAliveValueSecs=t.DefaultPingKeepAliveValueSecs=void 0;var c=r(832),d=u(r(24)),l=u(r(881)),f=u(r(986)),p=u(r(1005)),v=u(r(1011)),y=u(r(527)),h=u(r(518)),b=r(54),g=u(r(55)),m=r(183),P=r(336),_=r(337),k=r(207),R=r(251),O=r(254),w=r(345),T=v.default.prototype[Symbol.toStringTag];t.DefaultPingKeepAliveValueSecs=0,t.DefaultRelayKeepAliveValueSecs=300,t.DefaultPubSubTopic="/waku/2/default-waku/proto";var E=d.default("waku:waku"),S=function(){function e(r,n,i,o){var s,u=this;a(this,e),this.libp2p=n,this.relay=n.pubsub,this.store=i,this.lightPush=o,this.pingKeepAliveTimers={},this.relayKeepAliveTimers={};var c=r.pingKeepAlive||t.DefaultPingKeepAliveValueSecs,d=r.relayKeepAlive||t.DefaultRelayKeepAliveValueSecs;n.connectionManager.on("peer:connect",(function(e){u.startKeepAlive(e.remotePeer,c,d)})),n.connectionManager.on("peer:disconnect",(function(e){u.stopKeepAlive(e.remotePeer)})),null===r||void 0===r||null===(s=r.decryptionKeys)||void 0===s||s.forEach((function(e){u.addDecryptionKey(e)}))}return s(e,[{key:"dial",value:function(){var e=o(i.mark((function e(t){return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.libp2p.dialProtocol(t,[w.StoreCodec].concat(R.RelayCodecs)));case 1:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"addPeerToAddressBook",value:function(e,t){var r;r="string"===typeof e?g.default.createFromB58String(e):e;var n=t.map((function(e){return"string"===typeof e?b.multiaddr(e):e}));this.libp2p.peerStore.addressBook.set(r,n)}},{key:"stop",value:function(){var e=o(i.mark((function e(){return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",this.libp2p.stop());case 1:case"end":return e.stop()}}),e,this)})));return function(){return e.apply(this,arguments)}}()},{key:"addDecryptionKey",value:function(e,t){this.relay.addDecryptionKey(e,t),this.store.addDecryptionKey(e,t)}},{key:"deleteDecryptionKey",value:function(e){this.relay.deleteDecryptionKey(e),this.store.deleteDecryptionKey(e)}},{key:"getLocalMultiaddrWithID",value:function(){var e=this.libp2p.multiaddrs.find((function(e){return e.toString().match(/127\.0\.0\.1/)}));if(!e||""===e.toString())throw"Not listening on localhost";return e+"/p2p/"+this.libp2p.peerId.toB58String()}},{key:"waitForConnectedPeer",value:function(){var e=o(i.mark((function e(t){var r,n=this;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=null!==t&&void 0!==t?t:[[w.StoreCodec],[_.LightPushCodec],R.RelayCodecs],e.next=3,Promise.all(r.map((function(e){var t=new Array;return e.forEach((function(e){P.getPeersForProtocol(n.libp2p,e).forEach((function(e){return t.push(e)}))})),t.length>0?Promise.resolve():new Promise((function(t){n.libp2p.peerStore.on("change:protocols",(function(r){var n=r.protocols;e.forEach((function(e){n.includes(e)&&(E("Resolving for",e,n),t())}))}))}))})));case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()},{key:"startKeepAlive",value:function(e,t,r){var n=this;this.stopKeepAlive(e);var i=e.toB58String();0!==t&&(this.pingKeepAliveTimers[i]=setInterval((function(){h.default(n.libp2p,e)}),1e3*t)),0!==r&&(this.relayKeepAliveTimers[i]=setInterval((function(){k.WakuMessage.fromBytes(new Uint8Array,O.RelayPingContentTopic).then((function(e){return n.relay.send(e)}))}),1e3*r))}},{key:"stopKeepAlive",value:function(e){var t=e.toB58String();this.pingKeepAliveTimers[t]&&(clearInterval(this.pingKeepAliveTimers[t]),delete this.pingKeepAliveTimers[t]),this.relayKeepAliveTimers[t]&&(clearInterval(this.relayKeepAliveTimers[t]),delete this.relayKeepAliveTimers[t])}}],[{key:"create",value:function(){var t=o(i.mark((function t(r){var o,a,s,u,d,h,b,g,P;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if((u=Object.assign({},null===r||void 0===r?void 0:r.libp2p)).config=Object.assign({transport:n({},T,{filter:y.default.all})},null===r||void 0===r||null===(o=r.libp2p)||void 0===o?void 0:o.config),(null===r||void 0===r?void 0:r.pubSubTopic)&&(u.config.pubsub=Object.assign({pubSubTopic:r.pubSubTopic},u.config.pubsub)),u.modules=Object.assign({},null===r||void 0===r||null===(a=r.libp2p)||void 0===a?void 0:a.modules),u.modules=Object.assign({transport:[v.default]},null===r||void 0===r||null===(s=r.libp2p)||void 0===s?void 0:s.modules),u.modules=Object.assign(u.modules,{streamMuxer:[p.default],connEncryption:[new c.Noise(null===r||void 0===r?void 0:r.staticNoiseKey)],pubsub:R.WakuRelay}),!(null===r||void 0===r?void 0:r.bootstrap)){t.next=20;break}if(void 0===(d=new m.Bootstrap(null===r||void 0===r?void 0:r.bootstrap)).getBootstrapPeers){t.next=20;break}return t.prev=9,t.next=12,d.getBootstrapPeers();case 12:h=t.sent,u.modules=Object.assign(u.modules,{peerDiscovery:[f.default]}),u.config.peerDiscovery=n({},f.default.tag,{list:h,enabled:!0}),t.next=20;break;case 17:t.prev=17,t.t0=t.catch(9),E("Failed to retrieve bootstrap nodes",t.t0);case 20:return t.next=22,l.default.create(u);case 22:return b=t.sent,g=new w.WakuStore(b,{pubSubTopic:null===r||void 0===r?void 0:r.pubSubTopic}),P=new _.WakuLightPush(b),t.next=27,b.start();case 27:return t.abrupt("return",new e(r||{},b,g,P));case 28:case"end":return t.stop()}}),t,null,[[9,17]])})));return function(e){return t.apply(this,arguments)}}()}]),e}();t.Waku=S},207:function(e,t,r){"use strict";var n=r(0),i=r(7),o=r(9),a=r(10),s=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),u=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return u(t,e),t},d=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WakuMessage=t.DecryptionMethod=void 0;var l,f=r(14),p=d(r(24)),v=r(51),y=c(r(250)),h=c(r(530)),b=p.default("waku:message");!function(e){e.Asymmetric="asymmetric",e.Symmetric="symmetric"}(l=t.DecryptionMethod||(t.DecryptionMethod={}));var g=function(){function e(t,r,n){o(this,e),this.proto=t,this._signaturePublicKey=r,this._signature=n}return a(e,[{key:"encode",value:function(){return y.WakuMessage.encode(this.proto).finish()}},{key:"payloadAsUtf8",get:function(){return this.proto.payload?f.Buffer.from(this.proto.payload).toString("utf-8"):""}},{key:"payload",get:function(){return this.proto.payload}},{key:"contentTopic",get:function(){return this.proto.contentTopic}},{key:"version",get:function(){return this.proto.version}},{key:"timestamp",get:function(){if(this.proto.timestamp)return new Date(1e3*this.proto.timestamp)}},{key:"signaturePublicKey",get:function(){return this._signaturePublicKey}},{key:"signature",get:function(){return this._signature}}],[{key:"fromUtf8String",value:function(){var t=i(n.mark((function t(r,i,o){var a;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return a=f.Buffer.from(r,"utf-8"),t.abrupt("return",e.fromBytes(a,i,o));case 2:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}()},{key:"fromBytes",value:function(){var t=i(n.mark((function t(r,i,o){var a,s,u,c,d,l,f,p,v,y,b,g;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(u=Object.assign({timestamp:new Date},o||{}),c=u.timestamp,d=u.encPublicKey,l=u.symKey,f=u.sigPrivKey,p=r,v=0,!d||!l){t.next=5;break}throw"Pass either `encPublicKey` or `symKey`, not both.";case 5:if(!d){t.next=14;break}return b=h.clearEncode(p,f),t.next=9,h.encryptAsymmetric(b.payload,d);case 9:p=t.sent,y=b.sig,v=1,t.next=21;break;case 14:if(!l){t.next=21;break}return g=h.clearEncode(p,f),t.next=18,h.encryptSymmetric(g.payload,l);case 18:p=t.sent,y=g.sig,v=1;case 21:return t.abrupt("return",new e({payload:p,timestamp:c.valueOf()/1e3,version:v,contentTopic:i},null===(a=y)||void 0===a?void 0:a.publicKey,null===(s=y)||void 0===s?void 0:s.signature));case 22:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}()},{key:"decode",value:function(){var t=i(n.mark((function t(r,i){var o;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return o=y.WakuMessage.decode(v.Reader.create(r)),t.abrupt("return",e.decodeProto(o,i));case 2:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()},{key:"decodeProto",value:function(){var t=i(n.mark((function t(r,o){var a,s,u,c,d,f,p,v,y,g;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==r.payload){t.next=3;break}return b("Payload is undefined"),t.abrupt("return");case 3:if(a=r.payload,1!==r.version||!r.payload){t.next=26;break}if(void 0!==o){t.next=8;break}return b("Payload is encrypted but no private keys have been provided."),t.abrupt("return");case 8:return t.next=10,Promise.all(o.map(function(){var e=i(n.mark((function e(t){var i,o,s;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=t.key,o=t.method,!(!(s=t.contentTopics)||r.contentTopic&&s.includes(r.contentTopic))){e.next=46;break}e.t0=o,e.next=e.t0===l.Asymmetric?5:e.t0===l.Symmetric?15:25;break;case 5:return e.prev=5,e.next=8,h.decryptAsymmetric(a,i);case 8:return e.abrupt("return",e.sent);case 11:return e.prev=11,e.t1=e.catch(5),b("Failed to decrypt message using symmetric encryption despite decryption method being specified",e.t1),e.abrupt("return");case 15:return e.prev=15,e.next=18,h.decryptSymmetric(a,i);case 18:return e.abrupt("return",e.sent);case 21:return e.prev=21,e.t2=e.catch(15),b("Failed to decrypt message using asymmetric encryption despite decryption method being specified",e.t2),e.abrupt("return");case 25:return e.prev=25,e.next=28,h.decryptSymmetric(a,i);case 28:return e.abrupt("return",e.sent);case 31:return e.prev=31,e.t3=e.catch(25),b("Failed to decrypt message using symmetric encryption",e.t3),e.prev=34,e.next=37,h.decryptAsymmetric(a,i);case 37:return e.abrupt("return",e.sent);case 40:return e.prev=40,e.t4=e.catch(34),b("Failed to decrypt message using asymmetric encryption",e.t4),e.abrupt("return");case 44:e.next=47;break;case 46:return e.abrupt("return");case 47:case"end":return e.stop()}}),e,null,[[5,11],[15,21],[25,31],[34,40]])})));return function(t){return e.apply(this,arguments)}}()));case 10:if(f=t.sent,p=function(e){return!!e},0!==(v=f.filter(p)).length){t.next=16;break}return b("Failed to decrypt payload."),t.abrupt("return");case 16:return y=v[0],t.next=19,h.clearDecode(y);case 19:if(g=t.sent){t.next=23;break}return b("Failed to decode payload."),t.abrupt("return");case 23:Object.assign(r,{payload:g.payload}),s=null===(c=g.sig)||void 0===c?void 0:c.publicKey,u=null===(d=g.sig)||void 0===d?void 0:d.signature;case 26:return t.abrupt("return",new e(r,s,u));case 27:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()}]),e}();t.WakuMessage=g},250:function(e,t,r){"use strict";(function(e){var n=r(23),i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WakuMessage=t.protobufPackage=void 0;var o=i(r(338)),a=i(r(51));t.protobufPackage="waku.v2",t.WakuMessage={encode:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:a.default.Writer.create();return void 0!==e.payload&&t.uint32(10).bytes(e.payload),void 0!==e.contentTopic&&t.uint32(18).string(e.contentTopic),void 0!==e.version&&t.uint32(24).uint32(e.version),void 0!==e.timestamp&&t.uint32(33).double(e.timestamp),t},decode:function(e,t){for(var r=e instanceof a.default.Reader?e:new a.default.Reader(e),n=void 0===t?r.len:r.pos+t,i={payload:void 0,contentTopic:void 0,version:void 0,timestamp:void 0};r.pos<n;){var o=r.uint32();switch(o>>>3){case 1:i.payload=r.bytes();break;case 2:i.contentTopic=r.string();break;case 3:i.version=r.uint32();break;case 4:i.timestamp=r.double();break;default:r.skipType(7&o)}}return i},fromJSON:function(e){return{payload:l(e.payload)?c(e.payload):void 0,contentTopic:l(e.contentTopic)?String(e.contentTopic):void 0,version:l(e.version)?Number(e.version):void 0,timestamp:l(e.timestamp)?Number(e.timestamp):void 0}},toJSON:function(e){var t={};return void 0!==e.payload&&(t.payload=void 0!==e.payload?function(e){var t,r=[],i=n(e);try{for(i.s();!(t=i.n()).done;){var o=t.value;r.push(String.fromCharCode(o))}}catch(a){i.e(a)}finally{i.f()}return d(r.join(""))}(e.payload):void 0),void 0!==e.contentTopic&&(t.contentTopic=e.contentTopic),void 0!==e.version&&(t.version=Math.round(e.version)),void 0!==e.timestamp&&(t.timestamp=e.timestamp),t},fromPartial:function(e){var t,r,n,i,o={payload:void 0,contentTopic:void 0,version:void 0,timestamp:void 0};return o.payload=null!==(t=e.payload)&&void 0!==t?t:void 0,o.contentTopic=null!==(r=e.contentTopic)&&void 0!==r?r:void 0,o.version=null!==(n=e.version)&&void 0!==n?n:void 0,o.timestamp=null!==(i=e.timestamp)&&void 0!==i?i:void 0,o}};var s=function(){if("undefined"!==typeof s)return s;if("undefined"!==typeof self)return self;if("undefined"!==typeof window)return window;if("undefined"!==typeof e)return e;throw"Unable to locate global object"}(),u=s.atob||function(e){return s.Buffer.from(e,"base64").toString("binary")};function c(e){for(var t=u(e),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}var d=s.btoa||function(e){return s.Buffer.from(e,"binary").toString("base64")};function l(e){return null!==e&&void 0!==e}a.default.util.Long!==o.default&&(a.default.util.Long=o.default,a.default.configure())}).call(this,r(44))},251:function(e,t,r){"use strict";(function(e){var n=r(50),i=r(0),o=r(7),a=r(9),s=r(10),u=r(75),c=r(164),d=r(112),l=r(30),f=r(31),p=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),v=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),y=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&p(t,e,r);return v(t,e),t},h=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WakuRelay=t.RelayCodecs=void 0;var b=h(r(24)),g=h(r(1035)),m=r(92),P=r(1077),_=h(r(55)),k=r(42),R=r(199),O=r(207),w=y(r(254)),T=r(254);Object.defineProperty(t,"RelayCodecs",{enumerable:!0,get:function(){return T.RelayCodecs}});var E=r(538),S=r(1078),I=b.default("waku:relay"),j=function(t){l(p,t);var r=f(p);function p(e,t){var n,i;a(this,p),(i=r.call(this,e,Object.assign(t,{globalSignaturePolicy:P.SignaturePolicy.StrictNoSign}))).heartbeat=new S.RelayHeartbeat(u(i)),i.observers={},i.decryptionKeys=new Map;var o=w.RelayCodecs;return Object.assign(u(i),{multicodecs:o}),i.pubSubTopic=(null===t||void 0===t?void 0:t.pubSubTopic)||R.DefaultPubSubTopic,null===t||void 0===t||null===(n=t.decryptionKeys)||void 0===n||n.forEach((function(e){i.addDecryptionKey(e)})),i}return s(p,[{key:"start",value:function(){c(d(p.prototype),"start",this).call(this),this.subscribe(this.pubSubTopic)}},{key:"send",value:function(){var t=o(i.mark((function t(r){var n;return i.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=r.encode(),t.next=3,c(d(p.prototype),"publish",this).call(this,this.pubSubTopic,e.from(n));case 3:case"end":return t.stop()}}),t,this)})));return function(e){return t.apply(this,arguments)}}()},{key:"addDecryptionKey",value:function(e,t){this.decryptionKeys.set(k.hexToBuf(e),null!==t&&void 0!==t?t:{})}},{key:"deleteDecryptionKey",value:function(e){this.decryptionKeys.delete(k.hexToBuf(e))}},{key:"addObserver",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];0===r.length?(this.observers[""]||(this.observers[""]=new Set),this.observers[""].add(e)):r.forEach((function(r){t.observers[r]||(t.observers[r]=new Set),t.observers[r].add(e)}))}},{key:"deleteObserver",value:function(e){var t=this,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];0===r.length?this.observers[""]&&this.observers[""].delete(e):r.forEach((function(r){t.observers[r]&&t.observers[r].delete(e)}))}},{key:"getPeers",value:function(){var e=this;return E.getRelayPeers(this,this.pubSubTopic,this._options.D,(function(t){return e.score.score(t)>=e._options.scoreThresholds.publishThreshold}))}},{key:"subscribe",value:function(e){var t=this;this.on(e,(function(r){var i=Array.from(t.decryptionKeys).map((function(e){var t=n(e,2),r=t[0],i=t[1];return{key:r,method:i.method,contentTopics:i.contentTopics}}));I("Message received on ".concat(e)),O.WakuMessage.decode(r.data,i).then((function(e){e?(t.observers[""]&&t.observers[""].forEach((function(t){t(e)})),e.contentTopic&&t.observers[e.contentTopic]&&t.observers[e.contentTopic].forEach((function(t){t(e)}))):I("Failed to decode Waku Message")})).catch((function(e){I("Failed to decode Waku Message",e)}))})),c(d(p.prototype),"subscribe",this).call(this,e)}},{key:"join",value:function(e){var t,r=this;if(!this.started)throw new Error("WakuRelayPubSub has not started");var n=this.fanout.get(e);if(n)n.forEach((function(e){r.score.score(e)<0&&n.delete(e)})),n.size<this._options.D&&E.getRelayPeers(this,e,this._options.D-n.size,(function(e){return!n.has(e)&&!r.direct.has(e)&&r.score.score(e)>=0})).forEach((function(e){return n.add(e)})),this.mesh.set(e,n),this.fanout.delete(e),this.lastpub.delete(e);else{var i=E.getRelayPeers(this,e,this._options.D,(function(e){return!r.direct.has(e)&&r.score.score(e)>=0}));this.mesh.set(e,i)}null===(t=this.mesh.get(e))||void 0===t||t.forEach((function(t){r.log("JOIN: Add mesh link to %s in %s",t,e),r._sendGraft(t,e)}))}},{key:"_publish",value:function(){var e=o(i.mark((function e(t){var r,n,o,a,s=this;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t.receivedFrom!==this.peerId.toB58String()&&(this.score.deliverMessage(t),this.gossipTracer.deliverMessage(t)),e.next=3,this.getMsgId(t);case 3:r=e.sent,n=m.messageIdToString(r),this.seenCache.put(n),this.messageCache.put(t),o=new Set,t.topicIDs.forEach((function(e){var t;if(s.topics.get(e)){s.direct.forEach((function(e){o.add(e)}));var r=s.mesh.get(e);if(!r||!r.size){if(!(r=s.fanout.get(e))){var n=E.getRelayPeers(s,e,s._options.D,(function(e){return s.score.score(e)>=s._options.scoreThresholds.publishThreshold}));n.size>0?(r=n,s.fanout.set(e,n)):r=new Set}s.lastpub.set(e,s._now())}null===(t=r)||void 0===t||t.forEach((function(e){o.add(e)}))}})),a=m.createGossipRpc([g.default.utils.normalizeOutRpcMessage(t)]),o.forEach((function(e){e!==t.from&&s._sendRpc(e,a)}));case 11:case"end":return e.stop()}}),e,this)})));return function(t){return e.apply(this,arguments)}}()},{key:"_emitGossip",value:function(e,t){var r=this,n=this.messageCache.getGossipIDs(e);if(n.length){m.shuffle(n),n.length>w.RelayMaxIHaveLength&&this.log("too many messages for gossip; will truncate IHAVE list (%d messages)",n.length);var i=[],o=this.topics.get(e);if(o){o.forEach((function(e){var n=r.peers.get(e);n&&!t.has(e)&&!r.direct.has(e)&&w.RelayCodecs.includes(n.protocol)&&r.score.score(e)>=r._options.scoreThresholds.gossipThreshold&&i.push(e)}));var a=this._options.Dlazy,s=w.RelayGossipFactor*i.length;s>a&&(a=s),a>i.length?a=i.length:m.shuffle(i),i.slice(0,a).forEach((function(t){var i=n;n.length>w.RelayMaxIHaveLength&&(i=m.shuffle(i.slice()).slice(0,w.RelayMaxIHaveLength)),r._pushGossip(t,{topicID:e,messageIDs:i})}))}}}},{key:"_makePrune",value:function(e,t,r){var n=this,i=w.RelayPruneBackoff/1e3,o=[];r&&E.getRelayPeers(this,t,w.RelayPrunePeers,(function(t){return t!==e&&n.score.score(t)>=0})).forEach((function(e){var t=_.default.createFromB58String(e);o.push({peerID:t.toBytes(),signedPeerRecord:n._libp2p.peerStore.addressBook.getRawEnvelope(t)})}));return{topicID:t,peers:o,backoff:i}}}]),p}(g.default);t.WakuRelay=j}).call(this,r(14).Buffer)},254:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.RelayMaxIHaveLength=t.RelayOpportunisticGraftPeers=t.RelayOpportunisticGraftTicks=t.RelayFanoutTTL=t.RelayPruneBackoff=t.RelayPrunePeers=t.RelayHeartbeatInterval=t.RelayHeartbeatInitialDelay=t.RelayGossipFactor=t.RelayPingContentTopic=t.RelayCodecs=t.minute=t.second=void 0,t.second=1e3,t.minute=60*t.second,t.RelayCodecs=["/vac/waku/relay/2.0.0-beta2","/vac/waku/relay/2.0.0"],t.RelayPingContentTopic="/relay-ping/1/ping/null",t.RelayGossipFactor=.25,t.RelayHeartbeatInitialDelay=100,t.RelayHeartbeatInterval=t.second,t.RelayPrunePeers=16,t.RelayPruneBackoff=t.minute,t.RelayFanoutTTL=t.minute,t.RelayOpportunisticGraftTicks=60,t.RelayOpportunisticGraftPeers=2,t.RelayMaxIHaveLength=5e3},279:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t},a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||n(t,e,r)};Object.defineProperty(t,"__esModule",{value:!0}),t.v4=void 0;var s=o(r(399));t.v4=s,a(r(455),t),a(r(750),t),a(r(820),t),a(r(454),t),a(r(460),t)},306:function(e,t){},313:function(e,t,r){"use strict";var n=r(9),i=r(10);Object.defineProperty(t,"__esModule",{value:!0}),t.AbstractKeypair=t.KeypairType=void 0,function(e){e[e.rsa=0]="rsa",e[e.ed25519=1]="ed25519",e[e.secp256k1=2]="secp256k1"}(t.KeypairType||(t.KeypairType={}));var o=function(){function e(t,r){if(n(this,e),(this._privateKey=t)&&!this.privateKeyVerify())throw new Error("Invalid private key");if((this._publicKey=r)&&!this.publicKeyVerify())throw new Error("Invalid private key")}return i(e,[{key:"privateKey",get:function(){if(!this._privateKey)throw new Error;return this._privateKey}},{key:"publicKey",get:function(){if(!this._publicKey)throw new Error;return this._publicKey}},{key:"privateKeyVerify",value:function(){return!0}},{key:"publicKeyVerify",value:function(){return!0}},{key:"hasPrivateKey",value:function(){return Boolean(this._privateKey)}}]),e}();t.AbstractKeypair=o},336:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getPeersForProtocol=t.selectRandomPeer=void 0,t.selectRandomPeer=function(e){if(0!==e.length)return e[Math.round(Math.random()*(e.length-1))]},t.getPeersForProtocol=function(e,t){return Array.from(e.peerStore.peers.values()).filter((function(e){return e.protocols.includes(t)}))}},337:function(e,t,r){"use strict";var n=r(0),i=r(7),o=r(9),a=r(10),s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WakuLightPush=t.PushResponse=t.LightPushCodec=void 0;var u=s(r(528)),c=s(r(115)),d=s(r(73)),l=r(529);Object.defineProperty(t,"PushResponse",{enumerable:!0,get:function(){return l.PushResponse}});var f=r(336),p=r(199),v=r(1030);t.LightPushCodec="/vac/waku/lightpush/2.0.0-beta1";var y=function(){function e(t,r){o(this,e),this.libp2p=t,(null===r||void 0===r?void 0:r.pubSubTopic)?this.pubSubTopic=r.pubSubTopic:this.pubSubTopic=p.DefaultPubSubTopic}return a(e,[{key:"push",value:function(){var e=i(n.mark((function e(r,i){var o,a,s,l,f,p,y,h;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(null===i||void 0===i?void 0:i.peerId)){e.next=6;break}if(o=this.libp2p.peerStore.get(i.peerId)){e.next=4;break}throw"Peer is unknown";case 4:e.next=7;break;case 6:o=this.randomPeer;case 7:if(o){e.next=9;break}throw"No peer available";case 9:if(o.protocols.includes(t.LightPushCodec)){e.next=11;break}throw"Peer does not register waku light push protocol";case 11:if(a=this.libp2p.connectionManager.get(o.id)){e.next=14;break}throw"Failed to get a connection to the peer";case 14:return e.next=16,a.newStream(t.LightPushCodec);case 16:return s=e.sent,l=s.stream,e.prev=18,f=(null===i||void 0===i?void 0:i.pubSubTopic)?i.pubSubTopic:this.pubSubTopic,p=v.PushRPC.createRequest(r,f),e.next=23,d.default([p.encode()],c.default.encode(),l,c.default.decode(),u.default);case 23:if(y=e.sent,e.prev=24,h=v.PushRPC.decode(y.slice()).response){e.next=29;break}return console.log("No response in PushRPC"),e.abrupt("return",null);case 29:return e.abrupt("return",h);case 32:e.prev=32,e.t0=e.catch(24),console.log("Failed to decode push reply",e.t0);case 35:e.next=40;break;case 37:e.prev=37,e.t1=e.catch(18),console.log("Failed to send waku light push request",e.t1);case 40:return e.abrupt("return",null);case 41:case"end":return e.stop()}}),e,this,[[18,37],[24,32]])})));return function(t,r){return e.apply(this,arguments)}}()},{key:"peers",get:function(){return f.getPeersForProtocol(this.libp2p,t.LightPushCodec)}},{key:"randomPeer",get:function(){return f.selectRandomPeer(this.peers)}}]),e}();t.WakuLightPush=y},339:function(e,t,r){"use strict";var n=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),i=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),o=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&n(t,e,r);return i(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.symmetric=t.TagSize=t.IvSize=t.SymmetricKeySize=void 0,t.SymmetricKeySize=32,t.IvSize=12,t.TagSize=16,t.symmetric={},Promise.resolve().then((function(){return o(r(1033))})).then((function(e){t.symmetric=e})).catch((function(e){Promise.resolve().then((function(){return o(r(1034))})).then((function(e){t.symmetric=e})).catch((function(t){throw"Could not load any symmetric crypto modules: ".concat(e,", ").concat(t)}))}))},345:function(e,t,r){"use strict";var n=r(0),i=r(50),o=r(7),a=r(9),s=r(10),u=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.WakuStore=t.PageDirection=t.DefaultPageSize=t.StoreCodec=void 0;var c=u(r(24)),d=u(r(528)),l=u(r(115)),f=u(r(73)),p=r(539),v=r(336),y=r(42),h=r(199),b=r(207),g=r(1079);Object.defineProperty(t,"PageDirection",{enumerable:!0,get:function(){return g.PageDirection}});var m=c.default("waku:store");t.StoreCodec="/vac/waku/store/2.0.0-beta3",t.DefaultPageSize=10;var P=function(){function e(t,r){a(this,e),this.libp2p=t,(null===r||void 0===r?void 0:r.pubSubTopic)?this.pubSubTopic=r.pubSubTopic:this.pubSubTopic=h.DefaultPubSubTopic,this.decryptionKeys=new Map}return s(e,[{key:"queryHistory",value:function(){var e=o(n.mark((function e(r,a){var s,u,c,v,h,P,_,k,R,O;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if((null===a||void 0===a?void 0:a.timeFilter)&&(s=a.timeFilter.startTime.getTime()/1e3,u=a.timeFilter.endTime.getTime()/1e3),c=Object.assign({pubSubTopic:this.pubSubTopic,pageDirection:g.PageDirection.BACKWARD,pageSize:t.DefaultPageSize},a,{startTime:s,endTime:u},{contentTopics:r}),m("Querying history with the following options",a),!c.peerId){e.next=9;break}if(v=this.libp2p.peerStore.get(c.peerId)){e.next=7;break}throw"Failed to retrieve connection details for provided peer in peer store: ".concat(c.peerId.toB58String());case 7:e.next=12;break;case 9:if(v=this.randomPeer){e.next=12;break}throw"Failed to find known peer that registers waku store protocol";case 12:if(v.protocols.includes(t.StoreCodec)){e.next=14;break}throw"Peer does not register waku store protocol: ".concat(v.id.toB58String());case 14:if(h=this.libp2p.connectionManager.get(v.id)){e.next=17;break}throw"Failed to get a connection to the peer";case 17:P=Array.from(this.decryptionKeys).map((function(e){var t=i(e,2),r=t[0],n=t[1];return{key:r,method:n.method,contentTopics:n.contentTopics}})),c.decryptionKeys&&c.decryptionKeys.forEach((function(e){P.push({key:y.hexToBuf(e),contentTopics:r.length?r:void 0,method:void 0})})),_=[],k=void 0,R=n.mark((function e(){var r,i,a,s,u,v,y,R,O,w,T,E,S,I,j;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,h.newStream(t.StoreCodec);case 2:return u=e.sent,v=u.stream,y=Object.assign(c,{cursor:k}),R=g.HistoryRPC.createQuery(y),m("Querying store peer",h.remoteAddr.toString()),e.next=9,f.default([R.encode()],l.default.encode(),v,l.default.decode(),d.default);case 9:if(O=e.sent,w=g.HistoryRPC.decode(O.slice()),T=w.response){e.next=14;break}throw"History response misses response field";case 14:if(!T.error||T.error!==p.HistoryResponse_Error.ERROR_INVALID_CURSOR){e.next=16;break}throw"History response contains an Error: INVALID CURSOR";case 16:if(T.messages&&T.messages.length){e.next=19;break}return console.log("No messages present in HistoryRPC response"),e.abrupt("return",{v:_});case 19:return m("".concat(T.messages.length," messages retrieved for pubsub topic ").concat(c.pubSubTopic)),E=[],e.next=23,Promise.all(T.messages.map(function(){var e=o(n.mark((function e(t){var r;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,b.WakuMessage.decodeProto(t,P);case 2:(r=e.sent)&&(_.push(r),E.push(r));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:if(S=!1,c.callback&&(S=Boolean(c.callback(E))),I=null===(r=T.pagingInfo)||void 0===r?void 0:r.pageSize,j=null===(i=R.query)||void 0===i||null===(a=i.pagingInfo)||void 0===a?void 0:a.pageSize,!(S||I&&j&&I<j)){e.next=29;break}return e.abrupt("return",{v:_});case 29:if(void 0!==(k=null===(s=T.pagingInfo)||void 0===s?void 0:s.cursor)){e.next=33;break}return console.log("No cursor returned by peer."),e.abrupt("return",{v:_});case 33:case"end":return e.stop()}}),e)}));case 22:return e.delegateYield(R(),"t0",24);case 24:if("object"!==typeof(O=e.t0)){e.next=27;break}return e.abrupt("return",O.v);case 27:e.next=22;break;case 29:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}()},{key:"addDecryptionKey",value:function(e,t){this.decryptionKeys.set(y.hexToBuf(e),null!==t&&void 0!==t?t:{})}},{key:"deleteDecryptionKey",value:function(e){this.decryptionKeys.delete(y.hexToBuf(e))}},{key:"peers",get:function(){return v.getPeersForProtocol(this.libp2p,t.StoreCodec)}},{key:"randomPeer",get:function(){return v.selectRandomPeer(this.peers)}}]),e}();t.WakuStore=P},398:function(e,t,r){"use strict";var n=r(50),i=r(23),o=r(0),a=r(7),s=r(9),u=r(10),c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.DnsNodeDiscovery=void 0;var d=c(r(186)),l=r(24),f=r(279),p=r(473),v=r(475),y=l.debug("waku:discovery:dns"),h=function(){function e(t){s(this,e),this._errorTolerance=10,this._DNSTreeCache={},this.dns=t}return u(e,[{key:"getPeers",value:function(){var e=a(o.mark((function e(t,r){var n,i,a,s,u,c,d,l;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=0,i=[],a=Math.floor(Math.random()*r.length),s=v.ENRTree.parseTree(r[a]),u=s.publicKey,c=s.domain;case 4:if(!(i.length<t&&n<t+this._errorTolerance)){e.next=13;break}return d={domain:c,publicKey:u,visits:{}},e.next=8,this._search(c,d);case 8:(l=e.sent)&&m(l,i)&&(i.push(l),y("got new peer candidate from DNS address=".concat(l.nodeId,"@").concat(l.ip))),n++,e.next=4;break;case 13:return e.abrupt("return",i);case 14:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}()},{key:"_search",value:function(){var e=a(o.mark((function e(t,r){var n,i,a,s;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,this._getTXTRecord(t,r);case 2:n=e.sent,r.visits[t]=!0,s=b(n),e.prev=5,e.t0=s,e.next=e.t0===v.ENRTree.ROOT_PREFIX?9:e.t0===v.ENRTree.BRANCH_PREFIX?13:e.t0===v.ENRTree.RECORD_PREFIX?18:19;break;case 9:return i=v.ENRTree.parseAndVerifyRoot(n,r.publicKey),e.next=12,this._search(i,r);case 12:return e.abrupt("return",e.sent);case 13:return a=v.ENRTree.parseBranch(n),i=g(a,r),e.next=17,this._search(i,r);case 17:return e.abrupt("return",e.sent);case 18:return e.abrupt("return",f.ENR.decodeTxt(n));case 19:return e.abrupt("return",null);case 20:e.next=26;break;case 22:return e.prev=22,e.t1=e.catch(5),y("Failed to search DNS tree ".concat(s," at subdomain ").concat(t,": ").concat(e.t1)),e.abrupt("return",null);case 26:case"end":return e.stop()}}),e,this,[[5,22]])})));return function(t,r){return e.apply(this,arguments)}}()},{key:"_getTXTRecord",value:function(){var e=a(o.mark((function e(t,r){var n,i,a;return o.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._DNSTreeCache[t]){e.next=2;break}return e.abrupt("return",this._DNSTreeCache[t]);case 2:return n=t!==r.domain?"".concat(t,".").concat(r.domain):r.domain,e.next=5,this.dns.resolveTXT(n);case 5:return i=e.sent,d.default(i.length,"Received empty result array while fetching TXT record"),d.default(i[0].length,"Received empty TXT record"),a=i.join(""),this._DNSTreeCache[t]=a,e.abrupt("return",a);case 11:case"end":return e.stop()}}),e,this)})));return function(t,r){return e.apply(this,arguments)}}()}],[{key:"dnsOverHttp",value:function(t){return new e(new p.DnsOverHttps(t))}}]),e}();function b(e){return e.startsWith(v.ENRTree.ROOT_PREFIX)?v.ENRTree.ROOT_PREFIX:e.startsWith(v.ENRTree.BRANCH_PREFIX)?v.ENRTree.BRANCH_PREFIX:e.startsWith(v.ENRTree.RECORD_PREFIX)?v.ENRTree.RECORD_PREFIX:""}function g(e,t){var r,o,a={},s=i(e.entries());try{for(s.s();!(r=s.n()).done;){var u=n(r.value,2),c=u[0],d=u[1];t.visits[d]&&(a[c]=!0)}}catch(l){s.e(l)}finally{s.f()}if(Object.keys(a).length===e.length)throw new Error("Unresolvable circular path detected");do{o=Math.floor(Math.random()*e.length)}while(a[o]);return e[o]}function m(e,t){if(!e||!e.nodeId)return!1;var r,n=i(t);try{for(n.s();!(r=n.n()).done;){var o=r.value;if(e.nodeId===o.nodeId)return!1}}catch(a){n.e(a)}finally{n.f()}return!0}t.DnsNodeDiscovery=h},399:function(e,t,r){"use strict";(function(e){var n=r(0),i=r(9),o=r(10),a=r(7),s=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),u=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),c=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&s(t,e,r);return u(t,e),t},d=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ENRKeyPair=t.nodeId=t.verify=t.sign=t.publicKey=t.createPrivateKey=t.hash=void 0;var l=d(r(227)),f=r(277),p=c(r(193)),v=r(454);function y(t){return e.from(f.keccak256.arrayBuffer(t))}function h(){return b.apply(this,arguments)}function b(){return(b=a(n.mark((function t(){return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.t0=e,t.next=3,R(32);case 3:return t.t1=t.sent,t.abrupt("return",t.t0.from.call(t.t0,t.t1));case 5:case"end":return t.stop()}}),t)})))).apply(this,arguments)}function g(t){return e.from(p.publicKeyCreate(t))}function m(t,r){var n=p.ecdsaSign(y(r),t).signature;return e.from(n)}function P(e,t,r){return p.ecdsaVerify(r.slice(0,64),y(t),e)}function _(e){var t=p.publicKeyConvert(e,!1);return v.createNodeId(y(t.slice(1)))}t.hash=y,t.createPrivateKey=h,t.publicKey=g,t.sign=m,t.verify=P,t.nodeId=_;var k=function(){function e(t,r,n){i(this,e),this.nodeId=t,this.privateKey=r,this.publicKey=n}return o(e,[{key:"sign",value:function(e){return m(this.privateKey,e)}},{key:"verify",value:function(e,t){return P(this.publicKey,e,t)}}],[{key:"create",value:function(){var t=a(n.mark((function t(r){var i,o,a;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!r){t.next=3;break}if(p.privateKeyVerify(r)){t.next=3;break}throw new Error("Invalid private key");case 3:if(t.t0=r,t.t0){t.next=8;break}return t.next=7,h();case 7:t.t0=t.sent;case 8:return i=t.t0,o=g(i),a=_(o),t.abrupt("return",new e(a,i,o));case 12:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()}]),e}();function R(e){if("undefined"!==typeof window&&window&&window.crypto){var t=new Uint8Array(e);return window.crypto.getRandomValues(t),t}return l.default.randomBytes(e)}t.ENRKeyPair=k}).call(this,r(14).Buffer)},42:function(e,t,r){"use strict";(function(e){Object.defineProperty(t,"__esModule",{value:!0}),t.keccak256Buf=t.equalByteArrays=t.bufToHex=t.hexToBuf=void 0;var n=r(277);function i(t){return"string"===typeof t?e.from(t.replace(/^0x/i,""),"hex"):e.from(t)}t.hexToBuf=i,t.bufToHex=function(t){return e.from(t).toString("hex")},t.equalByteArrays=function(t,r){var n,o;return n="string"===typeof t?i(t):e.from(t),o="string"===typeof r?i(r):e.from(r),0===n.compare(o)},t.keccak256Buf=function(t){return e.from(n.keccak256.arrayBuffer(t))}}).call(this,r(14).Buffer)},454:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.createNodeId=void 0;var n=r(42);t.createNodeId=function(e){if(32!==e.length)throw new Error("NodeId must be 32 bytes in length");return n.bufToHex(e)}},455:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.MULTIADDR_LENGTH_SIZE=t.ERR_NO_SIGNATURE=t.ERR_INVALID_ID=t.MAX_RECORD_SIZE=void 0,t.MAX_RECORD_SIZE=300,t.ERR_INVALID_ID="Invalid record id",t.ERR_NO_SIGNATURE="No valid signature found",t.MULTIADDR_LENGTH_SIZE=2},460:function(e,t,r){"use strict";(function(e){var n=r(0),i=r(7),o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),a=this&&this.__exportStar||function(e,t){for(var r in e)"default"===r||Object.prototype.hasOwnProperty.call(t,r)||o(t,e,r)},s=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.createKeypairFromPeerId=t.createPeerIdFromKeypair=t.createKeypair=t.generateKeypair=void 0;var u=r(302),c=s(r(802)),d=s(r(55)),l=u.keys,f=l.keysPBM,p=l.supportedKeys,v=r(819),y=r(472),h=r(313);function b(){return(b=i(n.mark((function e(t){return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:e.t0=t,e.next=e.t0===h.KeypairType.secp256k1?3:6;break;case 3:return e.next=5,y.Secp256k1Keypair.generate();case 5:return e.abrupt("return",e.sent);case 6:throw new Error(v.ERR_TYPE_NOT_IMPLEMENTED);case 7:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function g(e,t,r){switch(e){case h.KeypairType.secp256k1:return new y.Secp256k1Keypair(t,r);default:throw new Error(v.ERR_TYPE_NOT_IMPLEMENTED)}}a(r(313),t),a(r(472),t),t.generateKeypair=function(e){return b.apply(this,arguments)},t.createKeypair=g,t.createPeerIdFromKeypair=function(e){switch(e.type){case h.KeypairType.secp256k1:var t=e.hasPrivateKey()?new p.secp256k1.Secp256k1PrivateKey(e.privateKey,e.publicKey):void 0,r=new p.secp256k1.Secp256k1PublicKey(e.publicKey),n=c.default.encode(r.bytes,"identity");return new d.default(n,t,r);default:throw new Error(v.ERR_TYPE_NOT_IMPLEMENTED)}},t.createKeypairFromPeerId=function(t){var r=f.PublicKey.decode(t.pubKey.bytes);return g(r.Type,t.privKey?e.from(t.privKey.marshal()):void 0,e.from(r.Data))}}).call(this,r(14).Buffer)},472:function(e,t,r){"use strict";var n=r(0),i=r(7),o=r(9),a=r(10),s=r(30),u=r(31),c=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),d=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),l=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&c(t,e,r);return d(t,e),t},f=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Secp256k1Keypair=t.secp256k1PublicKeyToRaw=t.secp256k1PublicKeyToFull=t.secp256k1PublicKeyToCompressed=void 0;var p=r(14),v=f(r(227)),y=l(r(193)),h=r(313);function b(e){return 64===e.length&&(e=p.Buffer.concat([p.Buffer.from([4]),e])),p.Buffer.from(y.publicKeyConvert(e,!0))}t.secp256k1PublicKeyToCompressed=b,t.secp256k1PublicKeyToFull=function(e){return 64===e.length?p.Buffer.concat([p.Buffer.from([4]),e]):p.Buffer.from(y.publicKeyConvert(e,!1))},t.secp256k1PublicKeyToRaw=function(e){return p.Buffer.from(y.publicKeyConvert(e,!1).slice(1))};var g=function(e){s(r,e);var t=u(r);function r(e,n){var i;o(this,r);var a=n;return a&&(a=b(a)),(i=t.call(this,e,a)).type=h.KeypairType.secp256k1,i}return a(r,[{key:"privateKeyVerify",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._privateKey;return!e||y.privateKeyVerify(e)}},{key:"publicKeyVerify",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._publicKey;return!e||y.publicKeyVerify(e)}},{key:"sign",value:function(e){var t=y.ecdsaSign(e,this.privateKey),r=t.signature,n=t.recid;return p.Buffer.concat([r,p.Buffer.from([n])])}},{key:"verify",value:function(e,t){return y.ecdsaVerify(t,e,this.publicKey)}}],[{key:"generate",value:function(){var e=i(n.mark((function e(){var t,i;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.t0=p.Buffer,e.next=3,m(32);case 3:return e.t1=e.sent,t=e.t0.from.call(e.t0,e.t1),i=y.publicKeyCreate(t),e.abrupt("return",new r(t,p.Buffer.from(i)));case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()}]),r}(h.AbstractKeypair);function m(e){if("undefined"!==typeof window&&window&&window.crypto){var t=new Uint8Array(e);return window.crypto.getRandomValues(t),t}return v.default.randomBytes(e)}t.Secp256k1Keypair=g},473:function(e,t,r){"use strict";(function(e){var n=r(0),i=r(7),o=r(9),a=r(10);Object.defineProperty(t,"__esModule",{value:!0}),t.DnsOverHttps=void 0;var s=r(821),u=s.endpoints,c=u.cloudflare,d=u.google,l=u.opendns,f=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[c,d,l];o(this,t),this.endpoints=e}return a(t,[{key:"resolveTXT",value:function(){var t=i(n.mark((function t(r){var i,o,a,u;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,s.query({questions:[{type:"TXT",name:r}]});case 2:return i=t.sent,o=i.answers,a=o.map((function(e){return e.data})),u=[],a.forEach((function(t){"string"===typeof t?u.push(t):Array.isArray(t)?t.forEach((function(t){"string"===typeof t?u.push(t):u.push(e.from(t).toString("utf-8"))})):u.push(e.from(t).toString("utf-8"))})),t.abrupt("return",u);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()}]),t}();t.DnsOverHttps=f}).call(this,r(14).Buffer)},475:function(e,t,r){"use strict";(function(e){var n=r(50),i=r(9),o=r(10),a=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),s=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),u=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&a(t,e,r);return s(t,e),t},c=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ENRTree=void 0;var d=c(r(186)),l=c(r(459)),f=u(r(831)),p=r(193),v=r(279),y=r(42),h=function(){function t(){i(this,t)}return o(t,null,[{key:"parseAndVerifyRoot",value:function(r,n){d.default(r.startsWith(this.ROOT_PREFIX),"ENRTree root entry must start with '".concat(this.ROOT_PREFIX,"'"));var i=t.parseRootValues(r),o=f.decode.asBytes(n),a=r.split(" sig")[0],s=e.from(a),u=l.default.toBuffer(i.signature).slice(0,64),c=e.from(o),v=p.ecdsaVerify(u,y.keccak256Buf(s),c);return d.default(v,"Unable to verify ENRTree root signature"),i.eRoot}},{key:"parseRootValues",value:function(e){var t=e.match(/^enrtree-root:v1 e=([^ ]+) l=([^ ]+) seq=(\d+) sig=([^ ]+)$/);d.default.ok(Array.isArray(t),"Could not parse ENRTree root entry"),t.shift();var r=n(t,4),i=r[0],o=r[1],a=r[2],s=r[3];return d.default.ok(i,"Could not parse 'e' value from ENRTree root entry"),d.default.ok(o,"Could not parse 'l' value from ENRTree root entry"),d.default.ok(a,"Could not parse 'seq' value from ENRTree root entry"),d.default.ok(s,"Could not parse 'sig' value from ENRTree root entry"),{eRoot:i,lRoot:o,seq:Number(a),signature:s}}},{key:"parseTree",value:function(e){d.default(e.startsWith(this.TREE_PREFIX),"ENRTree tree entry must start with '".concat(this.TREE_PREFIX,"'"));var t=e.match(/^enrtree:\/\/([^@]+)@(.+)$/);d.default.ok(Array.isArray(t),"Could not parse ENRTree tree entry"),t.shift();var r=n(t,2),i=r[0],o=r[1];return d.default.ok(i,"Could not parse public key from ENRTree tree entry"),d.default.ok(o,"Could not parse domain from ENRTree tree entry"),{publicKey:i,domain:o}}},{key:"parseBranch",value:function(e){return d.default(e.startsWith(this.BRANCH_PREFIX),"ENRTree branch entry must start with '".concat(this.BRANCH_PREFIX,"'")),e.split(this.BRANCH_PREFIX)[1].split(",")}}]),t}();t.ENRTree=h,h.RECORD_PREFIX=v.ENR.RECORD_PREFIX,h.TREE_PREFIX="enrtree:",h.BRANCH_PREFIX="enrtree-branch:",h.ROOT_PREFIX="enrtree-root:"}).call(this,r(14).Buffer)},529:function(e,t,r){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.PushRPC=t.PushResponse=t.PushRequest=t.protobufPackage=void 0;var i=n(r(338)),o=n(r(51)),a=r(250);function s(e){return null!==e&&void 0!==e}t.protobufPackage="waku.v2",t.PushRequest={encode:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.default.Writer.create();return""!==e.pubSubTopic&&t.uint32(10).string(e.pubSubTopic),void 0!==e.message&&a.WakuMessage.encode(e.message,t.uint32(18).fork()).ldelim(),t},decode:function(e,t){for(var r=e instanceof o.default.Reader?e:new o.default.Reader(e),n=void 0===t?r.len:r.pos+t,i={pubSubTopic:"",message:void 0};r.pos<n;){var s=r.uint32();switch(s>>>3){case 1:i.pubSubTopic=r.string();break;case 2:i.message=a.WakuMessage.decode(r,r.uint32());break;default:r.skipType(7&s)}}return i},fromJSON:function(e){return{pubSubTopic:s(e.pubSubTopic)?String(e.pubSubTopic):"",message:s(e.message)?a.WakuMessage.fromJSON(e.message):void 0}},toJSON:function(e){var t={};return void 0!==e.pubSubTopic&&(t.pubSubTopic=e.pubSubTopic),void 0!==e.message&&(t.message=e.message?a.WakuMessage.toJSON(e.message):void 0),t},fromPartial:function(e){var t,r={pubSubTopic:"",message:void 0};return r.pubSubTopic=null!==(t=e.pubSubTopic)&&void 0!==t?t:"",r.message=void 0!==e.message&&null!==e.message?a.WakuMessage.fromPartial(e.message):void 0,r}},t.PushResponse={encode:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.default.Writer.create();return!0===e.isSuccess&&t.uint32(8).bool(e.isSuccess),""!==e.info&&t.uint32(18).string(e.info),t},decode:function(e,t){for(var r=e instanceof o.default.Reader?e:new o.default.Reader(e),n=void 0===t?r.len:r.pos+t,i={isSuccess:!1,info:""};r.pos<n;){var a=r.uint32();switch(a>>>3){case 1:i.isSuccess=r.bool();break;case 2:i.info=r.string();break;default:r.skipType(7&a)}}return i},fromJSON:function(e){return{isSuccess:!!s(e.isSuccess)&&Boolean(e.isSuccess),info:s(e.info)?String(e.info):""}},toJSON:function(e){var t={};return void 0!==e.isSuccess&&(t.isSuccess=e.isSuccess),void 0!==e.info&&(t.info=e.info),t},fromPartial:function(e){var t,r,n={isSuccess:!1,info:""};return n.isSuccess=null!==(t=e.isSuccess)&&void 0!==t&&t,n.info=null!==(r=e.info)&&void 0!==r?r:"",n}},t.PushRPC={encode:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o.default.Writer.create();return""!==e.requestId&&r.uint32(10).string(e.requestId),void 0!==e.request&&t.PushRequest.encode(e.request,r.uint32(18).fork()).ldelim(),void 0!==e.response&&t.PushResponse.encode(e.response,r.uint32(26).fork()).ldelim(),r},decode:function(e,r){for(var n=e instanceof o.default.Reader?e:new o.default.Reader(e),i=void 0===r?n.len:n.pos+r,a={requestId:"",request:void 0,response:void 0};n.pos<i;){var s=n.uint32();switch(s>>>3){case 1:a.requestId=n.string();break;case 2:a.request=t.PushRequest.decode(n,n.uint32());break;case 3:a.response=t.PushResponse.decode(n,n.uint32());break;default:n.skipType(7&s)}}return a},fromJSON:function(e){return{requestId:s(e.requestId)?String(e.requestId):"",request:s(e.request)?t.PushRequest.fromJSON(e.request):void 0,response:s(e.response)?t.PushResponse.fromJSON(e.response):void 0}},toJSON:function(e){var r={};return void 0!==e.requestId&&(r.requestId=e.requestId),void 0!==e.request&&(r.request=e.request?t.PushRequest.toJSON(e.request):void 0),void 0!==e.response&&(r.response=e.response?t.PushResponse.toJSON(e.response):void 0),r},fromPartial:function(e){var r,n={requestId:"",request:void 0,response:void 0};return n.requestId=null!==(r=e.requestId)&&void 0!==r?r:"",n.request=void 0!==e.request&&null!==e.request?t.PushRequest.fromPartial(e.request):void 0,n.response=void 0!==e.response&&null!==e.response?t.PushResponse.fromPartial(e.response):void 0,n}},o.default.util.Long!==i.default&&(o.default.util.Long=i.default,o.default.configure())},530:function(e,t,r){"use strict";var n=r(0),i=r(7),o=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),a=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),s=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&o(t,e,r);return a(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.getPublicKey=t.generateSymmetricKey=t.generatePrivateKey=t.decryptSymmetric=t.encryptSymmetric=t.decryptAsymmetric=t.encryptAsymmetric=t.clearDecode=t.clearEncode=t.PrivateKeySize=void 0;var u=r(14),c=s(r(227)),d=s(r(1031)),l=r(277),f=s(r(193)),p=r(42),v=r(339);function y(){return(y=i(n.mark((function e(t,r){return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",d.encrypt(p.hexToBuf(r),u.Buffer.from(t)));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function h(){return(h=i(n.mark((function e(t,r){return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",d.decrypt(u.Buffer.from(r),u.Buffer.from(t)));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function b(){return(b=i(n.mark((function e(t,r){var i,o;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=v.symmetric.generateIv(),e.next=3,v.symmetric.encrypt(i,p.hexToBuf(r),u.Buffer.from(t));case 3:return o=e.sent,e.abrupt("return",u.Buffer.concat([o,u.Buffer.from(i)]));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function g(){return(g=i(n.mark((function e(t,r){var i,o,a,s;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=u.Buffer.from(t),o=i.length-v.IvSize,a=i.slice(0,o),s=i.slice(o),e.abrupt("return",v.symmetric.decrypt(s,p.hexToBuf(r),a));case 5:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function m(e){return f.publicKeyCreate(e,!1)}function P(e){for(var t=1,r=e.length;r>=256;r/=256)t++;return t}function _(e){if("undefined"!==typeof window&&window&&window.crypto){var t=new Uint8Array(e);return window.crypto.getRandomValues(t),t}return c.randomBytes(e)}t.PrivateKeySize=32,t.clearEncode=function(e,t){var r=u.Buffer.from([0]);r=function(e,t){var r=P(t),n=u.Buffer.alloc(4);return n.writeUInt32LE(t.length,0),n=n.slice(0,r),(e=u.Buffer.concat([e,n]))[0]|=r,e}(r,e),r=u.Buffer.concat([r,u.Buffer.from(e)]);var n=1+P(e)+e.length;t&&(n+=65);var i,o=256-n%256,a=u.Buffer.from(_(o));if(!function(e,t){if(e.length!==t)return!1;return!(t>3&&u.Buffer.from(e).equals(u.Buffer.alloc(e.length)))}(a,o))throw new Error("failed to generate random padding of size "+o);if(r=u.Buffer.concat([r,a]),t){r[0]|=4;var s=l.keccak256(r),c=f.ecdsaSign(p.hexToBuf(s),t);r=u.Buffer.concat([r,c.signature,u.Buffer.from([c.recid])]),i={signature:u.Buffer.from(c.signature),publicKey:m(t)}}return{payload:r,sig:i}},t.clearDecode=function(e){var t,r=u.Buffer.from(e),n=1,i=3&r.readUIntLE(0,1);if(0!==i){var o=r.readUIntLE(n,i);n+=i;var a=r.slice(n,n+o),s=4==(4&r.readUIntLE(0,1));if(s){var c=function(e){return e.slice(e.length-65,e.length)}(r),d=function(e,t){var r=t.slice(64).readIntBE(0,1);return f.ecdsaRecover(t.slice(0,64),r,p.hexToBuf(e),!1)}(function(e,t){if(t)return l.keccak256(e.slice(0,e.length-65));return l.keccak256(e)}(r,s),c);t={signature:c,publicKey:d}}return{payload:a,sig:t}}},t.encryptAsymmetric=function(e,t){return y.apply(this,arguments)},t.decryptAsymmetric=function(e,t){return h.apply(this,arguments)},t.encryptSymmetric=function(e,t){return b.apply(this,arguments)},t.decryptSymmetric=function(e,t){return g.apply(this,arguments)},t.generatePrivateKey=function(){return _(t.PrivateKeySize)},t.generateSymmetricKey=function(){return _(v.SymmetricKeySize)},t.getPublicKey=m},538:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRelayPeers=void 0;var n=r(92),i=r(251);t.getRelayPeers=function(e,t,r){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:function(){return!0},a=e.topics.get(t);if(!a)return new Set;var s=[];return a.forEach((function(t){var r=e.peers.get(t);r&&i.RelayCodecs.includes(r.protocol)&&o(t)&&s.push(t)})),s=n.shuffle(s),r>0&&s.length>r&&(s=s.slice(0,r)),new Set(s)}},539:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.HistoryRPC=t.HistoryResponse_Error=t.HistoryResponse=t.HistoryQuery=t.ContentFilter=t.PagingInfo_Direction=t.PagingInfo=t.Index=t.WakuMessage=void 0;var n=r(250);Object.defineProperty(t,"WakuMessage",{enumerable:!0,get:function(){return n.WakuMessage}});var i=r(540);Object.defineProperty(t,"Index",{enumerable:!0,get:function(){return i.Index}}),Object.defineProperty(t,"PagingInfo",{enumerable:!0,get:function(){return i.PagingInfo}}),Object.defineProperty(t,"PagingInfo_Direction",{enumerable:!0,get:function(){return i.PagingInfo_Direction}}),Object.defineProperty(t,"ContentFilter",{enumerable:!0,get:function(){return i.ContentFilter}}),Object.defineProperty(t,"HistoryQuery",{enumerable:!0,get:function(){return i.HistoryQuery}}),Object.defineProperty(t,"HistoryResponse",{enumerable:!0,get:function(){return i.HistoryResponse}}),Object.defineProperty(t,"HistoryResponse_Error",{enumerable:!0,get:function(){return i.HistoryResponse_Error}}),Object.defineProperty(t,"HistoryRPC",{enumerable:!0,get:function(){return i.HistoryRPC}})},540:function(e,t,r){"use strict";(function(e){var n=r(23),i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.HistoryRPC=t.HistoryResponse=t.HistoryQuery=t.ContentFilter=t.PagingInfo=t.Index=t.historyResponse_ErrorToJSON=t.historyResponse_ErrorFromJSON=t.HistoryResponse_Error=t.pagingInfo_DirectionToJSON=t.pagingInfo_DirectionFromJSON=t.PagingInfo_Direction=t.protobufPackage=void 0;var o,a,s=i(r(338)),u=i(r(51)),c=r(250);function d(e){switch(e){case 0:case"DIRECTION_BACKWARD_UNSPECIFIED":return o.DIRECTION_BACKWARD_UNSPECIFIED;case 1:case"DIRECTION_FORWARD":return o.DIRECTION_FORWARD;case-1:case"UNRECOGNIZED":default:return o.UNRECOGNIZED}}function l(e){switch(e){case o.DIRECTION_BACKWARD_UNSPECIFIED:return"DIRECTION_BACKWARD_UNSPECIFIED";case o.DIRECTION_FORWARD:return"DIRECTION_FORWARD";default:return"UNKNOWN"}}function f(e){switch(e){case 0:case"ERROR_NONE_UNSPECIFIED":return a.ERROR_NONE_UNSPECIFIED;case 1:case"ERROR_INVALID_CURSOR":return a.ERROR_INVALID_CURSOR;case-1:case"UNRECOGNIZED":default:return a.UNRECOGNIZED}}function p(e){switch(e){case a.ERROR_NONE_UNSPECIFIED:return"ERROR_NONE_UNSPECIFIED";case a.ERROR_INVALID_CURSOR:return"ERROR_INVALID_CURSOR";default:return"UNKNOWN"}}function v(){return{digest:new Uint8Array,receivedTime:0,senderTime:0}}t.protobufPackage="waku.v2",function(e){e[e.DIRECTION_BACKWARD_UNSPECIFIED=0]="DIRECTION_BACKWARD_UNSPECIFIED",e[e.DIRECTION_FORWARD=1]="DIRECTION_FORWARD",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(o=t.PagingInfo_Direction||(t.PagingInfo_Direction={})),t.pagingInfo_DirectionFromJSON=d,t.pagingInfo_DirectionToJSON=l,function(e){e[e.ERROR_NONE_UNSPECIFIED=0]="ERROR_NONE_UNSPECIFIED",e[e.ERROR_INVALID_CURSOR=1]="ERROR_INVALID_CURSOR",e[e.UNRECOGNIZED=-1]="UNRECOGNIZED"}(a=t.HistoryResponse_Error||(t.HistoryResponse_Error={})),t.historyResponse_ErrorFromJSON=f,t.historyResponse_ErrorToJSON=p,t.Index={encode:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.default.Writer.create();return 0!==e.digest.length&&t.uint32(10).bytes(e.digest),0!==e.receivedTime&&t.uint32(17).double(e.receivedTime),0!==e.senderTime&&t.uint32(25).double(e.senderTime),t},decode:function(e,t){for(var r=e instanceof u.default.Reader?e:new u.default.Reader(e),n=void 0===t?r.len:r.pos+t,i=v();r.pos<n;){var o=r.uint32();switch(o>>>3){case 1:i.digest=r.bytes();break;case 2:i.receivedTime=r.double();break;case 3:i.senderTime=r.double();break;default:r.skipType(7&o)}}return i},fromJSON:function(e){return{digest:P(e.digest)?b(e.digest):new Uint8Array,receivedTime:P(e.receivedTime)?Number(e.receivedTime):0,senderTime:P(e.senderTime)?Number(e.senderTime):0}},toJSON:function(e){var t={};return void 0!==e.digest&&(t.digest=function(e){var t,r=[],i=n(e);try{for(i.s();!(t=i.n()).done;){var o=t.value;r.push(String.fromCharCode(o))}}catch(a){i.e(a)}finally{i.f()}return g(r.join(""))}(void 0!==e.digest?e.digest:new Uint8Array)),void 0!==e.receivedTime&&(t.receivedTime=e.receivedTime),void 0!==e.senderTime&&(t.senderTime=e.senderTime),t},fromPartial:function(e){var t,r,n,i=v();return i.digest=null!==(t=e.digest)&&void 0!==t?t:new Uint8Array,i.receivedTime=null!==(r=e.receivedTime)&&void 0!==r?r:0,i.senderTime=null!==(n=e.senderTime)&&void 0!==n?n:0,i}},t.PagingInfo={encode:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.default.Writer.create();return 0!==e.pageSize&&r.uint32(8).uint64(e.pageSize),void 0!==e.cursor&&t.Index.encode(e.cursor,r.uint32(18).fork()).ldelim(),0!==e.direction&&r.uint32(24).int32(e.direction),r},decode:function(e,r){for(var n=e instanceof u.default.Reader?e:new u.default.Reader(e),i=void 0===r?n.len:n.pos+r,o={pageSize:0,cursor:void 0,direction:0};n.pos<i;){var a=n.uint32();switch(a>>>3){case 1:o.pageSize=m(n.uint64());break;case 2:o.cursor=t.Index.decode(n,n.uint32());break;case 3:o.direction=n.int32();break;default:n.skipType(7&a)}}return o},fromJSON:function(e){return{pageSize:P(e.pageSize)?Number(e.pageSize):0,cursor:P(e.cursor)?t.Index.fromJSON(e.cursor):void 0,direction:P(e.direction)?d(e.direction):0}},toJSON:function(e){var r={};return void 0!==e.pageSize&&(r.pageSize=Math.round(e.pageSize)),void 0!==e.cursor&&(r.cursor=e.cursor?t.Index.toJSON(e.cursor):void 0),void 0!==e.direction&&(r.direction=l(e.direction)),r},fromPartial:function(e){var r,n,i={pageSize:0,cursor:void 0,direction:0};return i.pageSize=null!==(r=e.pageSize)&&void 0!==r?r:0,i.cursor=void 0!==e.cursor&&null!==e.cursor?t.Index.fromPartial(e.cursor):void 0,i.direction=null!==(n=e.direction)&&void 0!==n?n:0,i}},t.ContentFilter={encode:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.default.Writer.create();return""!==e.contentTopic&&t.uint32(10).string(e.contentTopic),t},decode:function(e,t){for(var r=e instanceof u.default.Reader?e:new u.default.Reader(e),n=void 0===t?r.len:r.pos+t,i={contentTopic:""};r.pos<n;){var o=r.uint32();switch(o>>>3){case 1:i.contentTopic=r.string();break;default:r.skipType(7&o)}}return i},fromJSON:function(e){return{contentTopic:P(e.contentTopic)?String(e.contentTopic):""}},toJSON:function(e){var t={};return void 0!==e.contentTopic&&(t.contentTopic=e.contentTopic),t},fromPartial:function(e){var t,r={contentTopic:""};return r.contentTopic=null!==(t=e.contentTopic)&&void 0!==t?t:"",r}},t.HistoryQuery={encode:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.default.Writer.create();void 0!==e.pubSubTopic&&r.uint32(18).string(e.pubSubTopic);var i,o=n(e.contentFilters);try{for(o.s();!(i=o.n()).done;){var a=i.value;t.ContentFilter.encode(a,r.uint32(26).fork()).ldelim()}}catch(s){o.e(s)}finally{o.f()}return void 0!==e.pagingInfo&&t.PagingInfo.encode(e.pagingInfo,r.uint32(34).fork()).ldelim(),void 0!==e.startTime&&r.uint32(41).double(e.startTime),void 0!==e.endTime&&r.uint32(49).double(e.endTime),r},decode:function(e,r){for(var n=e instanceof u.default.Reader?e:new u.default.Reader(e),i=void 0===r?n.len:n.pos+r,o={pubSubTopic:void 0,contentFilters:[],pagingInfo:void 0,startTime:void 0,endTime:void 0};n.pos<i;){var a=n.uint32();switch(a>>>3){case 2:o.pubSubTopic=n.string();break;case 3:o.contentFilters.push(t.ContentFilter.decode(n,n.uint32()));break;case 4:o.pagingInfo=t.PagingInfo.decode(n,n.uint32());break;case 5:o.startTime=n.double();break;case 6:o.endTime=n.double();break;default:n.skipType(7&a)}}return o},fromJSON:function(e){return{pubSubTopic:P(e.pubSubTopic)?String(e.pubSubTopic):void 0,contentFilters:Array.isArray(null===e||void 0===e?void 0:e.contentFilters)?e.contentFilters.map((function(e){return t.ContentFilter.fromJSON(e)})):[],pagingInfo:P(e.pagingInfo)?t.PagingInfo.fromJSON(e.pagingInfo):void 0,startTime:P(e.startTime)?Number(e.startTime):void 0,endTime:P(e.endTime)?Number(e.endTime):void 0}},toJSON:function(e){var r={};return void 0!==e.pubSubTopic&&(r.pubSubTopic=e.pubSubTopic),e.contentFilters?r.contentFilters=e.contentFilters.map((function(e){return e?t.ContentFilter.toJSON(e):void 0})):r.contentFilters=[],void 0!==e.pagingInfo&&(r.pagingInfo=e.pagingInfo?t.PagingInfo.toJSON(e.pagingInfo):void 0),void 0!==e.startTime&&(r.startTime=e.startTime),void 0!==e.endTime&&(r.endTime=e.endTime),r},fromPartial:function(e){var r,n,i,o,a={pubSubTopic:void 0,contentFilters:[],pagingInfo:void 0,startTime:void 0,endTime:void 0};return a.pubSubTopic=null!==(r=e.pubSubTopic)&&void 0!==r?r:void 0,a.contentFilters=(null===(n=e.contentFilters)||void 0===n?void 0:n.map((function(e){return t.ContentFilter.fromPartial(e)})))||[],a.pagingInfo=void 0!==e.pagingInfo&&null!==e.pagingInfo?t.PagingInfo.fromPartial(e.pagingInfo):void 0,a.startTime=null!==(i=e.startTime)&&void 0!==i?i:void 0,a.endTime=null!==(o=e.endTime)&&void 0!==o?o:void 0,a}},t.HistoryResponse={encode:function(e){var r,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.default.Writer.create(),o=n(e.messages);try{for(o.s();!(r=o.n()).done;){var a=r.value;c.WakuMessage.encode(a,i.uint32(18).fork()).ldelim()}}catch(s){o.e(s)}finally{o.f()}return void 0!==e.pagingInfo&&t.PagingInfo.encode(e.pagingInfo,i.uint32(26).fork()).ldelim(),0!==e.error&&i.uint32(32).int32(e.error),i},decode:function(e,r){for(var n=e instanceof u.default.Reader?e:new u.default.Reader(e),i=void 0===r?n.len:n.pos+r,o={messages:[],pagingInfo:void 0,error:0};n.pos<i;){var a=n.uint32();switch(a>>>3){case 2:o.messages.push(c.WakuMessage.decode(n,n.uint32()));break;case 3:o.pagingInfo=t.PagingInfo.decode(n,n.uint32());break;case 4:o.error=n.int32();break;default:n.skipType(7&a)}}return o},fromJSON:function(e){return{messages:Array.isArray(null===e||void 0===e?void 0:e.messages)?e.messages.map((function(e){return c.WakuMessage.fromJSON(e)})):[],pagingInfo:P(e.pagingInfo)?t.PagingInfo.fromJSON(e.pagingInfo):void 0,error:P(e.error)?f(e.error):0}},toJSON:function(e){var r={};return e.messages?r.messages=e.messages.map((function(e){return e?c.WakuMessage.toJSON(e):void 0})):r.messages=[],void 0!==e.pagingInfo&&(r.pagingInfo=e.pagingInfo?t.PagingInfo.toJSON(e.pagingInfo):void 0),void 0!==e.error&&(r.error=p(e.error)),r},fromPartial:function(e){var r,n,i={messages:[],pagingInfo:void 0,error:0};return i.messages=(null===(r=e.messages)||void 0===r?void 0:r.map((function(e){return c.WakuMessage.fromPartial(e)})))||[],i.pagingInfo=void 0!==e.pagingInfo&&null!==e.pagingInfo?t.PagingInfo.fromPartial(e.pagingInfo):void 0,i.error=null!==(n=e.error)&&void 0!==n?n:0,i}},t.HistoryRPC={encode:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:u.default.Writer.create();return""!==e.requestId&&r.uint32(10).string(e.requestId),void 0!==e.query&&t.HistoryQuery.encode(e.query,r.uint32(18).fork()).ldelim(),void 0!==e.response&&t.HistoryResponse.encode(e.response,r.uint32(26).fork()).ldelim(),r},decode:function(e,r){for(var n=e instanceof u.default.Reader?e:new u.default.Reader(e),i=void 0===r?n.len:n.pos+r,o={requestId:"",query:void 0,response:void 0};n.pos<i;){var a=n.uint32();switch(a>>>3){case 1:o.requestId=n.string();break;case 2:o.query=t.HistoryQuery.decode(n,n.uint32());break;case 3:o.response=t.HistoryResponse.decode(n,n.uint32());break;default:n.skipType(7&a)}}return o},fromJSON:function(e){return{requestId:P(e.requestId)?String(e.requestId):"",query:P(e.query)?t.HistoryQuery.fromJSON(e.query):void 0,response:P(e.response)?t.HistoryResponse.fromJSON(e.response):void 0}},toJSON:function(e){var r={};return void 0!==e.requestId&&(r.requestId=e.requestId),void 0!==e.query&&(r.query=e.query?t.HistoryQuery.toJSON(e.query):void 0),void 0!==e.response&&(r.response=e.response?t.HistoryResponse.toJSON(e.response):void 0),r},fromPartial:function(e){var r,n={requestId:"",query:void 0,response:void 0};return n.requestId=null!==(r=e.requestId)&&void 0!==r?r:"",n.query=void 0!==e.query&&null!==e.query?t.HistoryQuery.fromPartial(e.query):void 0,n.response=void 0!==e.response&&null!==e.response?t.HistoryResponse.fromPartial(e.response):void 0,n}};var y=function(){if("undefined"!==typeof y)return y;if("undefined"!==typeof self)return self;if("undefined"!==typeof window)return window;if("undefined"!==typeof e)return e;throw"Unable to locate global object"}(),h=y.atob||function(e){return y.Buffer.from(e,"base64").toString("binary")};function b(e){for(var t=h(e),r=new Uint8Array(t.length),n=0;n<t.length;++n)r[n]=t.charCodeAt(n);return r}var g=y.btoa||function(e){return y.Buffer.from(e,"binary").toString("base64")};function m(e){if(e.gt(Number.MAX_SAFE_INTEGER))throw new y.Error("Value is larger than Number.MAX_SAFE_INTEGER");return e.toNumber()}function P(e){return null!==e&&void 0!==e}u.default.util.Long!==s.default&&(u.default.util.Long=s.default,u.default.configure())}).call(this,r(44))},550:function(e,t){},551:function(e,t){},578:function(e,t,r){},579:function(e,t,r){},611:function(e,t,r){"use strict";var n=r(0),i=r(23),o=r(7),a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getNodesFromHostedJson=void 0;var s=a(r(612)),u=a(r(24)),c=r(54),d=r(183),l=u.default("waku:discovery");function f(){return(f=o(n.mark((function e(){var t,r,o,a,u,f,p,v,y=arguments;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=y.length>0&&void 0!==y[0]?y[0]:["fleets","wakuv2.prod","waku-websocket"],r=y.length>1&&void 0!==y[1]?y[1]:"https://fleets.status.im/",!((o=y.length>2&&void 0!==y[2]?y[2]:1)<=0)){e.next=5;break}return e.abrupt("return",[]);case 5:return e.next=7,s.default.get(r,{headers:{"Content-Type":"application/json"}});case 7:a=e.sent,u=a.data,f=i(t),e.prev=10,f.s();case 12:if((p=f.n()).done){e.next=20;break}if(v=p.value,void 0!==u[v]){e.next=17;break}throw l("Failed to retrieve bootstrap nodes: ".concat(v," does not exist on "),u),"Failed to retrieve bootstrap nodes: ".concat(v," does not exist on ").concat(JSON.stringify(u));case 17:u=u[v];case 18:e.next=12;break;case 20:e.next=25;break;case 22:e.prev=22,e.t0=e.catch(10),f.e(e.t0);case 25:return e.prev=25,f.f(),e.finish(25);case 28:if(!Array.isArray(u)){e.next=30;break}return e.abrupt("return",d.getPseudoRandomSubset(u,o).map((function(e){return new c.Multiaddr(e)})));case 30:if("string"!==typeof u){e.next=32;break}return e.abrupt("return",[new c.Multiaddr(u)]);case 32:if("object"!==typeof u){e.next=36;break}return u=(u=Object.values(u)).map((function(e){return new c.Multiaddr(e)})),e.abrupt("return",d.getPseudoRandomSubset(u,o));case 36:throw"Failed to retrieve bootstrap nodes: response format is not supported: ".concat(JSON.stringify(u));case 37:case"end":return e.stop()}}),e,null,[[10,22,25,28]])})))).apply(this,arguments)}t.getNodesFromHostedJson=function(){return f.apply(this,arguments)}},642:function(e,t,r){"use strict";var n=r(0),i=r(7),o=r(9),a=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.Bootstrap=void 0;var s=a(r(24)),u=r(54),c=r(398),d=r(183),l=s.default("waku:discovery:bootstrap"),f=function e(t){var r;o(this,e);var a=null!==(r=t.maxPeers)&&void 0!==r?r:e.DefaultMaxPeers;if(t.default)l("Use hosted list of peers."),this.getBootstrapPeers=d.getNodesFromHostedJson.bind({},void 0,void 0,a);else if(void 0!==t.peers&&t.peers.length>0){var s=t.peers.map((function(e){return new u.Multiaddr(e)})),f=d.getPseudoRandomSubset(s,a);l("Use provided list of peers (reduced to maxPeers)",s.map((function(e){return e.toString()}))),this.getBootstrapPeers=function(){return Promise.resolve(f)}}else if("function"===typeof t.getPeers){l("Bootstrap: Use provided getPeers function.");var p=t.getPeers;this.getBootstrapPeers=i(n.mark((function e(){var t;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,p();case 2:return t=e.sent,e.abrupt("return",d.getPseudoRandomSubset(t,a).map((function(e){return new u.Multiaddr(e)})));case 4:case"end":return e.stop()}}),e)})))}else if(t.enrUrl){var v=t.enrUrl;l("Use provided EIP-1459 ENR Tree URL.");var y=c.DnsNodeDiscovery.dnsOverHttp();this.getBootstrapPeers=i(n.mark((function e(){var t;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y.getPeers(a,[v]);case 2:return t=e.sent,l("Found ".concat(t.length," peers")),e.abrupt("return",t.map((function(e){return e.getFullMultiaddrs()})).flat());case 5:case"end":return e.stop()}}),e)})))}else l("No bootstrap method specified, no peer will be returned"),this.getBootstrapPeers=void 0};t.Bootstrap=f,f.DefaultMaxPeers=1},646:function(e,t){},648:function(e,t){},658:function(e,t){},660:function(e,t){},686:function(e,t){},687:function(e,t){},693:function(e,t){},712:function(e,t){},731:function(e,t){},732:function(e,t){},750:function(e,t,r){"use strict";(function(e){var n=r(60),i=r(751),o=r(34),a=r(9),s=r(10),u=r(164),c=r(112),d=r(30),l=r(31),f=r(113),p=this&&this.__createBinding||(Object.create?function(e,t,r,n){void 0===n&&(n=r),Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[r]}})}:function(e,t,r,n){void 0===n&&(n=r),e[n]=t[r]}),v=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),y=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&p(t,e,r);return v(t,e),t},h=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ENR=void 0;var b=h(r(459)),g=r(757),m=r(54),P=h(r(394)),_=y(r(758)),k=r(110),R=r(455),O=r(460),w=y(r(399)),T=function(t){d(f,t);var r=l(f);function f(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1n,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;return a(this,f),(e=r.call(this,Object.entries(t))).seq=n,e.signature=i,e}return s(f,[{key:"set",value:function(e,t){return this.signature=null,this.seq++,u(c(f.prototype),"set",this).call(this,e,t)}},{key:"id",get:function(){var e=this.get("id");if(!e)throw new Error("id not found.");return e.toString("utf8")}},{key:"keypairType",get:function(){switch(this.id){case"v4":return O.KeypairType.secp256k1;default:throw new Error(R.ERR_INVALID_ID)}}},{key:"publicKey",get:function(){switch(this.id){case"v4":return this.get("secp256k1");default:throw new Error(R.ERR_INVALID_ID)}}},{key:"keypair",get:function(){return O.createKeypair(this.keypairType,void 0,this.publicKey)}},{key:"peerId",get:function(){return O.createPeerIdFromKeypair(this.keypair)}},{key:"nodeId",get:function(){switch(this.id){case"v4":return w.nodeId(this.publicKey);default:throw new Error(R.ERR_INVALID_ID)}}},{key:"ip",get:function(){var e=this.get("ip");return e?P.default.toString(m.protocols.names.ip4.code,e):void 0},set:function(e){e?this.set("ip",P.default.toBytes(m.protocols.names.ip4.code,e)):this.delete("ip")}},{key:"tcp",get:function(){var e=this.get("tcp");return e?Number(P.default.toString(m.protocols.names.tcp.code,e)):void 0},set:function(e){void 0===e?this.delete("tcp"):this.set("tcp",P.default.toBytes(m.protocols.names.tcp.code,e))}},{key:"udp",get:function(){var e=this.get("udp");return e?Number(P.default.toString(m.protocols.names.udp.code,e)):void 0},set:function(e){void 0===e?this.delete("udp"):this.set("udp",P.default.toBytes(m.protocols.names.udp.code,e))}},{key:"ip6",get:function(){var e=this.get("ip6");return e?P.default.toString(m.protocols.names.ip6.code,e):void 0},set:function(e){e?this.set("ip6",P.default.toBytes(m.protocols.names.ip6.code,e)):this.delete("ip6")}},{key:"tcp6",get:function(){var e=this.get("tcp6");return e?Number(P.default.toString(m.protocols.names.tcp.code,e)):void 0},set:function(e){void 0===e?this.delete("tcp6"):this.set("tcp6",P.default.toBytes(m.protocols.names.tcp.code,e))}},{key:"udp6",get:function(){var e=this.get("udp6");return e?Number(P.default.toString(m.protocols.names.udp.code,e)):void 0},set:function(e){void 0===e?this.delete("udp6"):this.set("udp6",P.default.toBytes(m.protocols.names.udp.code,e))}},{key:"multiaddrs",get:function(){var t=this.get("multiaddrs");if(t){var r=[];try{for(var n=0;n<t.length;){var i=t.slice(n,n+2),o=e.from(i).readUInt16BE(0),a=t.slice(n+R.MULTIADDR_LENGTH_SIZE,n+o+R.MULTIADDR_LENGTH_SIZE),s=new m.Multiaddr(a);r.push(s),n+=o+R.MULTIADDR_LENGTH_SIZE}}catch(u){throw new Error("Invalid value in multiaddrs field")}return r}},set:function(t){if(void 0===t)this.delete("multiaddrs");else{var r=e.from([]);t.forEach((function(t){if(t.getPeerId())throw new Error("`multiaddr` field MUST not contain peer id");var n=t.bytes,i=e.alloc(2);if(i.writeUInt16BE(n.length,0)!==R.MULTIADDR_LENGTH_SIZE)throw new Error("Internal error: unsigned 16-bit integer was not written in ".concat(R.MULTIADDR_LENGTH_SIZE," bytes"));i=e.concat([i,n]),r=e.concat([r,i])})),this.set("multiaddrs",r)}}},{key:"getLocationMultiaddr",value:function(e){if("udp"===e)return this.getLocationMultiaddr("udp4")||this.getLocationMultiaddr("udp6");if("tcp"===e)return this.getLocationMultiaddr("tcp4")||this.getLocationMultiaddr("tcp6");var t=e.endsWith("6"),r=this.get(t?"ip6":"ip");if(r){var n,i,o=e.startsWith("udp"),a=e.startsWith("tcp");if(o)n="udp",i=t?this.get("udp6"):this.get("udp");else{if(!a)return;n="tcp",i=t?this.get("tcp6"):this.get("tcp")}if(i){var s=m.protocols.names[t?"ip6":"ip4"],u=s.size/8,c=m.protocols.names[n],d=k.encode(c.code),l=new Uint8Array(3+u+d.length);return l[0]=s.code,l.set(r,1),l.set(d,1+u),l.set(i,1+u+d.length),new m.Multiaddr(l)}}}},{key:"setLocationMultiaddr",value:function(e){var t=e.protoNames();if(2!==t.length&&"udp"!==t[1]&&"tcp"!==t[1])throw new Error("Invalid multiaddr");var r=e.tuples();if(!r[0][1]||!r[1][1])throw new Error("Invalid multiaddr");4===r[0][0]?(this.set("ip",r[0][1]),this.set(t[1],r[1][1])):(this.set("ip6",r[0][1]),this.set(t[1]+"6",r[1][1]))}},{key:"getFullMultiaddr",value:function(e){var t=this.getLocationMultiaddr(e);if(t)return t.encapsulate("/p2p/".concat(this.peerId.toB58String()))}},{key:"getFullMultiaddrs",value:function(){var e=this;return this.multiaddrs?this.multiaddrs.map((function(t){return t.encapsulate("/p2p/".concat(e.peerId.toB58String()))})):[]}},{key:"verify",value:function(e,t){if(!this.get("id")||"v4"!==this.id)throw new Error(R.ERR_INVALID_ID);if(!this.publicKey)throw new Error("Failed to verify ENR: No public key");return w.verify(this.publicKey,e,t)}},{key:"sign",value:function(e,t){switch(this.id){case"v4":this.signature=w.sign(t,e);break;default:throw new Error(R.ERR_INVALID_ID)}return this.signature}},{key:"encodeToValues",value:function(e){var t=this,r=Array.from(this.keys()).sort((function(e,t){return e.localeCompare(t)})).map((function(e){return[e,t.get(e)]})).flat();if(r.unshift(Number(this.seq)),e)r.unshift(this.sign(_.encode(r),e));else{if(!this.signature)throw new Error(R.ERR_NO_SIGNATURE);r.unshift(this.signature)}return r}},{key:"encode",value:function(e){var t=_.encode(this.encodeToValues(e));if(t.length>=R.MAX_RECORD_SIZE)throw new Error("ENR must be less than 300 bytes");return t}},{key:"encodeTxt",value:function(e){return f.RECORD_PREFIX+b.default.encode(this.encode(e))}}],[{key:"createV4",value:function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return new f(o(o({},r),{},{id:e.from("v4"),secp256k1:t}))}},{key:"createFromPeerId",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=O.createKeypairFromPeerId(e);switch(r.type){case O.KeypairType.secp256k1:return f.createV4(r.publicKey,t);default:throw new Error}}},{key:"decodeFromValues",value:function(t){if(!Array.isArray(t))throw new Error("Decoded ENR must be an array");if(t.length%2!==0)throw new Error("Decoded ENR must have an even number of elements");var r=i(t),o=r[0],a=r[1],s=r.slice(2);if(!o||Array.isArray(o))throw new Error("Decoded ENR invalid signature: must be a byte array");if(!a||Array.isArray(a))throw new Error("Decoded ENR invalid sequence number: must be a byte array");for(var u={},c=0;c<s.length;c+=2)u[s[c].toString()]=e.from(s[c+1]);var d=new f(u,g.toBigIntBE(a),o);if(!d.verify(_.encode([a].concat(n(s))),o))throw new Error("Unable to verify ENR signature");return d}},{key:"decode",value:function(e){var t=_.decode(e);return f.decodeFromValues(t)}},{key:"decodeTxt",value:function(e){if(!e.startsWith(this.RECORD_PREFIX))throw new Error("\"string encoded ENR must start with '".concat(this.RECORD_PREFIX,"'"));return f.decode(b.default.toBuffer(e.slice(4)))}}]),f}(f(Map));t.ENR=T,T.RECORD_PREFIX="enr:"}).call(this,r(14).Buffer)},760:function(e,t){},77:function(e,t,r){"use strict";r.d(t,"b",(function(){return d})),r.d(t,"a",(function(){return l})),r.d(t,"e",(function(){return f})),r.d(t,"d",(function(){return v})),r.d(t,"c",(function(){return y}));var n=r(0),i=r.n(n),o=r(22),a=r(119),s=r(153),u=r(100),c=r(42),d="/eth-pm/1/public-key/proto",l="/eth-pm/1/private-message/proto";function f(){return p.apply(this,arguments)}function p(){return(p=Object(o.a)(i.a.mark((function e(){var t;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.Waku.create({bootstrap:{default:!0}});case 2:return t=e.sent,e.next=5,new Promise((function(e,r){setTimeout(r,1e4),t.libp2p.connectionManager.on("peer:connect",(function(){e(null)}))}));case 5:return e.abrupt("return",t);case 6:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function v(e,t,r){if(console.log("Public Key Message received:",r),r.payload){var n=s.b.decode(r.payload);if(n&&(!e||!Object(c.equalByteArrays)(n.ethAddress,e))){var i=Object(u.d)(n);console.log("Is Public Key Message valid?",i),i&&t((function(e){return e.set(Object(c.bufToHex)(n.ethAddress),n.encryptionPublicKey),new Map(e)}))}}}function y(e,t,r){return h.apply(this,arguments)}function h(){return(h=Object(o.a)(i.a.mark((function e(t,r,n){var o,a;return i.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(console.log("Private Message received:",n),n.payload){e.next=3;break}return e.abrupt("return");case 3:if(o=s.a.decode(n.payload)){e.next=7;break}return console.log("Failed to decode Private Message"),e.abrupt("return");case 7:if(Object(c.equalByteArrays)(o.toAddress,r)){e.next=9;break}return e.abrupt("return");case 9:a=n.timestamp?n.timestamp:new Date,console.log("Message decrypted:",o.message),t((function(e){var t=e.slice();return t.push({text:o.message,timestamp:a}),t}));case 12:case"end":return e.stop()}}),e)})))).apply(this,arguments)}},819:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.ERR_INVALID_KEYPAIR_TYPE=t.ERR_TYPE_NOT_IMPLEMENTED=void 0,t.ERR_TYPE_NOT_IMPLEMENTED="Keypair type not implemented",t.ERR_INVALID_KEYPAIR_TYPE="Invalid keypair type"},820:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0})},837:function(e,t){},928:function(e,t){},977:function(e,t){}},[[1118,1,2]]]);
//# sourceMappingURL=main.7a019cb2.chunk.js.map