(this["webpackJsonpeth-pm-wallet-encryption"]=this["webpackJsonpeth-pm-wallet-encryption"]||[]).push([[0],{1012:function(e,t,r){"use strict";var n=r(8),i=r(9),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(41),c=r(502),d=s(r(490)),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},1015:function(e,t,r){"use strict";(function(e){var n=r(0),i=r(29),o=r(6);Object.defineProperty(t,"__esModule",{value:!0}),t.generateIv=t.decrypt=t.encrypt=void 0;var a=r(304),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(13).Buffer)},1016:function(e,t,r){"use strict";(function(e){var n=r(0),i=r(6);Object.defineProperty(t,"__esModule",{value:!0}),t.generateIv=t.decrypt=t.encrypt=void 0;var o=r(196),a=r(304),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(13).Buffer)},1060:function(e,t,r){"use strict";var n=r(8),i=r(9),o=r(26),a=r(27),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(495),l=r(76),f=c(r(221)),p=r(499),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 h=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])},y=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),h(t),v.set(t,!0))})),t.size=0})).forEach(y)}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++})),P0;r--)m[r]=m[r-1];m[0]=t};if(P>0)for(var k=P,R=1;R0;R++)e.gossipsub.outbound.get(m[R])&&(_(R),k--);for(var O=r-P,w=r;w0;w++)e.gossipsub.outbound.get(m[w])&&(_(w),O--)}m.slice(r).forEach(h)}if(t.size>=n){var T=0;if(t.forEach((function(t){e.gossipsub.outbound.get(t)&&T++})),T=0})).forEach(y)}}if(e.gossipsub.heartbeatTicks%f.RelayOpportunisticGraftTicks===0&&t.size>1){var S=Array.from(t).sort((function(e,t){return u(e)-u(t)})),j=Math.floor(t.size/2),N=u(S[j]);if(NN})).forEach((function(t){e.gossipsub.log("HEARTBEAT: Opportunistically graft peer %s on topic %s",t,s),y(t)}))}}e.gossipsub._emitGossip(s,t)}));var h=this.gossipsub._now();this.gossipsub.lastpub.forEach((function(t,r){t+f.RelayFanoutTTL=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},1061:function(e,t,r){"use strict";var n=r(8),i=r(9),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(41),d=r(502),l=s(r(501));!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},1073:function(e,t,r){"use strict";r.r(t);var n=r(1),i=r.n(n),o=r(38),a=r.n(o),s=(r(532),r(51)),u=(r(320),r(533),r(534),r(1123)),c=r(1124),d=r(1125),l=r(235),f=r(518),p=r(1077),v=r(1122),h=r(233),y=r(1121),g=r(1126),b=r(516),m=r.n(b),P=r(0),_=r.n(P),k=r(25),R=r(1075),O=r(225),w=r(143),T=r(71),I=r(20);function E(e){var t=e.encryptionPublicKey,r=e.address,n=e.waku,i=e.providerRequest;return Object(I.jsx)(R.a,{variant:"contained",color:"primary",onClick:function(){t&&r&&n&&i&&(console.log("Creating Public Key Message"),Object(O.a)(r,t,i).then((function(e){console.log("Public Key Message created"),function(e){return S.apply(this,arguments)}(e).then((function(e){console.log("Public Key Message encoded"),n.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(){console.log("Failed to encode Public Key Message in Waku Message")}))})).catch((function(e){console.error("Failed to create public key message",e)})))},disabled:!t||!n||!r||!i,children:"Broadcast Encryption Public Key"})}function S(){return(S=Object(k.a)(_.a.mark((function e(t){var r;return _.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.encode(),e.next=3,w.WakuMessage.fromBytes(r,T.b);case 3:return e.abrupt("return",e.sent);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var j=r(1116),N=r(1076),D=r(1117);function x(e){var t=e.messages;return Object(I.jsx)(j.a,{dense:!0,children:K(t)})}function K(e){return e.map((function(e){var t="<".concat(M(e.timestamp),"> ").concat(e.text);return Object(I.jsx)(N.a,{children:Object(I.jsx)(D.a,{primary:t},M(e.timestamp))})}))}function M(e){return e.toLocaleString([],{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!1})}var A=r(511),C=Object(p.a)({root:{display:"flex",alignItems:"left",flexDirection:"column",margin:"5px"}});function B(e){var t=e.waku,r=e.recipients,n=e.messages,i=C();return Object(I.jsxs)("div",{className:i.root,children:[Object(I.jsx)(A.a,{recipients:r,waku:t}),Object(I.jsx)(x,{messages:n})]})}var F=r(512),W=r(517);function q(e){var t=e.setAddress,r=e.setProvider;return Object(I.jsx)(R.a,{variant:"contained",color:"primary",onClick:function(){try{window.ethereum.request({method:"eth_requestAccounts"}).then((function(e){var n=new W.a.providers.Web3Provider(window.ethereum);t(e[0]),r(n)}))}catch(e){console.error("No web3 provider available")}},children:"Connect Wallet"})}var H=Object(f.a)({palette:{primary:{main:h.a[500]},secondary:{main:y.a[600]}}}),L=Object(p.a)({root:{textAlign:"center",display:"flex",flexDirection:"column",minHeight:"100vh"},appBar:{},container:{display:"flex",flex:1},main:{flex:1,margin:"10px"},wakuStatus:{marginRight:H.spacing(2)},title:{flexGrow:1},peers:{}});var U=function(){var e,t,r,i=Object(n.useState)(),o=Object(s.a)(i,2),a=o[0],f=o[1],p=Object(n.useState)(),h=Object(s.a)(p,2),y=h[0],b=h[1],P=Object(n.useState)(),_=Object(s.a)(P,2),k=_[0],R=_[1],O=Object(n.useState)(new Map),w=Object(s.a)(O,2),S=w[0],j=w[1],N=Object(n.useState)([]),D=Object(s.a)(N,2),x=D[0],K=D[1],M=Object(n.useState)(),A=Object(s.a)(M,2),C=A[0],W=A[1],U=Object(n.useState)({relayPeers:0,lightPushPeers:0}),J=Object(s.a)(U,2),z=J[0],V=J[1],G=L();Object(n.useEffect)((function(){a||Object(T.e)().then((function(e){console.log("waku: ready"),f(e)})).catch((function(e){console.error("Failed to initiate Waku",e)}))}),[a]),Object(n.useEffect)((function(){if(a){var e=T.d.bind({},C,j);return a.relay.addObserver(e,[T.b]),function(){a&&a.relay.deleteObserver(e,[T.b])}}}),[a,C]),Object(n.useEffect)((function(){var e;if(a&&C&&(null===y||void 0===y||null===(e=y.provider)||void 0===e?void 0:e.request)){var t=T.c.bind({},K,C,y.provider.request);return a.relay.addObserver(t,[T.a]),function(){a&&t&&a.relay.deleteObserver(t,[T.a])}}}),[a,C,null===y||void 0===y||null===(e=y.provider)||void 0===e?void 0:e.request]),Object(n.useEffect)((function(){if(a){var e=setInterval((function(){V({relayPeers:a.relay.getPeers().size,lightPushPeers:a.lightPush.peers.length})}),1e3);return function(){return clearInterval(e)}}}),[a]);var X="";return C&&(X=C.substr(0,6)+"..."+C.substr(C.length-4,4)),Object(I.jsx)(v.a,{theme:H,children:Object(I.jsxs)("div",{className:G.root,children:[Object(I.jsx)(u.a,{className:G.appBar,position:"static",children:Object(I.jsxs)(c.a,{children:[Object(I.jsx)(d.a,{edge:"start",className:G.wakuStatus,"aria-label":"waku-status",children:Object(I.jsx)(m.a,{color:a?void 0:"disabled",style:a?{color:g.a[500]}:{}})}),Object(I.jsxs)(l.a,{className:G.peers,"aria-label":"connected-peers",children:["Peers: ",z.relayPeers," relay, ",z.lightPushPeers," ","light push"]}),Object(I.jsx)(l.a,{variant:"h6",className:G.title,children:"Ethereum Private Message with Wallet Encryption"}),Object(I.jsx)(l.a,{children:X})]})}),Object(I.jsx)("div",{className:G.container,children:Object(I.jsxs)("main",{className:G.main,children:[Object(I.jsxs)("fieldset",{children:[Object(I.jsx)("legend",{children:"Wallet"}),Object(I.jsx)(q,{setProvider:b,setAddress:W})]}),Object(I.jsxs)("fieldset",{children:[Object(I.jsx)("legend",{children:"Encryption Keys"}),Object(I.jsx)(F.a,{setEncPublicKey:R,providerRequest:null===y||void 0===y||null===(t=y.provider)||void 0===t?void 0:t.request,address:C}),Object(I.jsx)(E,{address:C,encryptionPublicKey:k,waku:a,providerRequest:null===y||void 0===y||null===(r=y.provider)||void 0===r?void 0:r.request})]}),Object(I.jsxs)("fieldset",{children:[Object(I.jsx)("legend",{children:"Messaging"}),Object(I.jsx)(B,{recipients:S,waku:a,messages:x})]})]})})]})})};a.a.render(Object(I.jsx)(i.a.StrictMode,{children:Object(I.jsx)(U,{})}),document.getElementById("root"))},123:function(e,t,r){"use strict";r.d(t,"b",(function(){return c})),r.d(t,"a",(function(){return d}));var n=r(5),i=r(7),o=r(232),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 PrivateMessage",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)},143: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(160);Object.defineProperty(t,"getNodesFromHostedJson",{enumerable:!0,get:function(){return a.getNodesFromHostedJson}}),t.discovery=o(r(160)),t.enr=o(r(256)),t.utils=o(r(46)),t.waku=o(r(171));var s=r(171);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(179));var u=r(179);Object.defineProperty(t,"WakuMessage",{enumerable:!0,get:function(){return u.WakuMessage}});var c=r(491);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(302));var d=r(302);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(218));var l=r(218);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(310));var f=r(310);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(500))},160: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(76),i=r(638);Object.defineProperty(t,"getNodesFromHostedJson",{enumerable:!0,get:function(){return i.getNodesFromHostedJson}});var o=r(669);Object.defineProperty(t,"Bootstrap",{enumerable:!0,get:function(){return o.Bootstrap}});var a=r(381);Object.defineProperty(t,"DnsNodeDiscovery",{enumerable:!0,get:function(){return a.DnsNodeDiscovery}});var s=r(434);Object.defineProperty(t,"DnsOverHttps",{enumerable:!0,get:function(){return s.DnsOverHttps}});var u=r(436);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)}},171:function(e,t,r){"use strict";var n=r(86),i=r(0),o=r(6),a=r(8),s=r(9),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(814),d=u(r(22)),l=u(r(863)),f=u(r(968)),p=u(r(987)),v=u(r(993)),h=u(r(488)),y=u(r(479)),g=r(42),b=u(r(43)),m=r(160),P=r(301),_=r(302),k=r(179),R=r(218),O=r(221),w=r(310),T=v.default.prototype[Symbol.toStringTag];t.DefaultPingKeepAliveValueSecs=0,t.DefaultRelayKeepAliveValueSecs=300,t.DefaultPubSubTopic="/waku/2/default-waku/proto";var I=d.default("waku:waku"),E=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?b.default.createFromB58String(e):e;var n=t.map((function(e){return"string"===typeof e?g.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(){var t,r=this;return i.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=[[w.StoreCodec],[_.LightPushCodec],R.RelayCodecs],e.next=3,Promise.all(t.map((function(e){var t=new Array;return e.forEach((function(e){P.getPeersForProtocol(r.libp2p,e).forEach((function(e){return t.push(e)}))})),t.length>0?Promise.resolve():new Promise((function(t){r.libp2p.peerStore.on("change:protocols",(function(r){var n=r.protocols;e.forEach((function(e){n.includes(e)&&(I("Resolving for",e,n),t())}))}))}))})));case 3:case"end":return e.stop()}}),e)})));return function(){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(){y.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,y,g,b,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:h.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:y=t.sent,u.modules=Object.assign(u.modules,{peerDiscovery:[f.default]}),u.config.peerDiscovery=n({},f.default.tag,{list:y,enabled:!0}),t.next=20;break;case 17:t.prev=17,t.t0=t.catch(9),I("Failed to retrieve bootstrap nodes",t.t0);case 20:return t.next=22,l.default.create(u);case 22:return g=t.sent,b=new w.WakuStore(g,{pubSubTopic:null===r||void 0===r?void 0:r.pubSubTopic}),P=new _.WakuLightPush(g),t.next=27,g.start();case 27:return t.abrupt("return",new e(r||{},g,b,P));case 28:case"end":return t.stop()}}),t,null,[[9,17]])})));return function(e){return t.apply(this,arguments)}}()}]),e}();t.Waku=E},179:function(e,t,r){"use strict";var n=r(0),i=r(6),o=r(8),a=r(9),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(13),p=d(r(22)),v=r(41),h=c(r(217)),y=c(r(491)),g=p.default("waku:message");!function(e){e.Asymmetric="asymmetric",e.Symmetric="symmetric"}(l=t.DecryptionMethod||(t.DecryptionMethod={}));var b=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 h.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,h,g,b;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 g=y.clearEncode(p,f),t.next=9,y.encryptAsymmetric(g.payload,d);case 9:p=t.sent,h=g.sig,v=1,t.next=21;break;case 14:if(!l){t.next=21;break}return b=y.clearEncode(p,f),t.next=18,y.encryptSymmetric(b.payload,l);case 18:p=t.sent,h=b.sig,v=1;case 21:return t.abrupt("return",new e({payload:p,timestamp:c.valueOf()/1e3,version:v,contentTopic:i},null===(a=h)||void 0===a?void 0:a.publicKey,null===(s=h)||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=h.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,h,b;return n.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(void 0!==r.payload){t.next=3;break}return g("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 g("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,y.decryptAsymmetric(a,i);case 8:return e.abrupt("return",e.sent);case 11:return e.prev=11,e.t1=e.catch(5),g("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,y.decryptSymmetric(a,i);case 18:return e.abrupt("return",e.sent);case 21:return e.prev=21,e.t2=e.catch(15),g("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,y.decryptSymmetric(a,i);case 28:return e.abrupt("return",e.sent);case 31:return e.prev=31,e.t3=e.catch(25),g("Failed to decrypt message using symmetric encryption",e.t3),e.prev=34,e.next=37,y.decryptAsymmetric(a,i);case 37:return e.abrupt("return",e.sent);case 40:return e.prev=40,e.t4=e.catch(34),g("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 g("Failed to decrypt payload."),t.abrupt("return");case 16:return h=v[0],t.next=19,y.clearDecode(h);case 19:if(b=t.sent){t.next=23;break}return g("Failed to decode payload."),t.abrupt("return");case 23:Object.assign(r,{payload:b.payload}),s=null===(c=b.sig)||void 0===c?void 0:c.publicKey,u=null===(d=b.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=b},217:function(e,t,r){"use strict";(function(e){var n=r(21),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(303)),a=i(r(41));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>>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;n1&&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 I.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}}));S("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)}))):S("Failed to decode Waku Message")})).catch((function(e){S("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=0})).forEach((function(e){return n.add(e)})),this.mesh.set(e,n),this.fanout.delete(e),this.lastpub.delete(e);else{var i=I.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=I.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([b.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&&I.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}(b.default);t.WakuRelay=j}).call(this,r(13).Buffer)},221: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},225:function(e,t,r){"use strict";r.d(t,"a",(function(){return c})),r.d(t,"b",(function(){return v}));var n=r(0),i=r.n(n),o=r(25),a=(r(320),r(123)),s=r(46),u=r(226);function c(e,t,r){return d.apply(this,arguments)}function d(){return(d=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,f(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 l(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 f(e,t,r){return p.apply(this,arguments)}function p(){return(p=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=l(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 v(e){var t=u.recoverTypedSignature_v4({data:JSON.parse(l(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)}},256: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(382));t.v4=s,a(r(418),t),a(r(733),t),a(r(802),t),a(r(417),t),a(r(421),t)},271:function(e,t){},278:function(e,t,r){"use strict";var n=r(8),i=r(9);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},301: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)}))}},302:function(e,t,r){"use strict";var n=r(0),i=r(6),o=r(8),a=r(9),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(489)),c=s(r(95)),d=s(r(60)),l=r(490);Object.defineProperty(t,"PushResponse",{enumerable:!0,get:function(){return l.PushResponse}});var f=r(301),p=r(171),v=r(1012);t.LightPushCodec="/vac/waku/lightpush/2.0.0-beta1";var h=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,h,y;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(h=e.sent,e.prev=24,y=v.PushRPC.decode(h.slice()).response){e.next=29;break}return console.log("No response in PushRPC"),e.abrupt("return",null);case 29:return e.abrupt("return",y);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=h},304: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(1015))})).then((function(e){t.symmetric=e})).catch((function(e){Promise.resolve().then((function(){return o(r(1016))})).then((function(e){t.symmetric=e})).catch((function(t){throw"Could not load any symmetric crypto modules: ".concat(e,", ").concat(t)}))}))},310:function(e,t,r){"use strict";var n=r(0),i=r(40),o=r(6),a=r(8),s=r(9),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(22)),d=u(r(489)),l=u(r(95)),f=u(r(60)),p=r(500),v=r(301),h=r(46),y=r(171),g=r(179),b=r(1061);Object.defineProperty(t,"PageDirection",{enumerable:!0,get:function(){return b.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=y.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,y,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:b.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(y=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:h.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,h,R,O,w,T,I,E,S,j;return n.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,y.newStream(t.StoreCodec);case 2:return u=e.sent,v=u.stream,h=Object.assign(c,{cursor:k}),R=b.HistoryRPC.createQuery(h),m("Querying store peer",y.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=b.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)),I=[],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,g.WakuMessage.decodeProto(t,P);case 2:(r=e.sent)&&(_.push(r),I.push(r));case 4:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 23:if(E=!1,c.callback&&(E=Boolean(c.callback(I))),S=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,!(E||S&&j&&S0&&void 0!==arguments[0]?arguments[0]:this._privateKey;return!e||h.privateKeyVerify(e)}},{key:"publicKeyVerify",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:this._publicKey;return!e||h.publicKeyVerify(e)}},{key:"sign",value:function(e){var t=h.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 h.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=h.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}(y.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=b},434:function(e,t,r){"use strict";(function(e){var n=r(0),i=r(6),o=r(8),a=r(9);Object.defineProperty(t,"__esModule",{value:!0}),t.DnsOverHttps=void 0;var s=r(803),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(13).Buffer)},436:function(e,t,r){"use strict";(function(e){var n=r(40),i=r(8),o=r(9),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(158)),l=c(r(420)),f=u(r(813)),p=r(165),v=r(256),h=r(46),y=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,h.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=y,y.RECORD_PREFIX=v.ENR.RECORD_PREFIX,y.TREE_PREFIX="enrtree:",y.BRANCH_PREFIX="enrtree-branch:",y.ROOT_PREFIX="enrtree-root:"}).call(this,r(13).Buffer)},46: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(240);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(13).Buffer)},490: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(303)),o=n(r(41)),a=r(217);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>>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>>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>>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())},491:function(e,t,r){"use strict";var n=r(0),i=r(6),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(13),c=s(r(196)),d=s(r(1013)),l=r(240),f=s(r(165)),p=r(46),v=r(304);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.encrypt(p.hexToBuf(r),u.Buffer.from(t)));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}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.decrypt(u.Buffer.from(r),u.Buffer.from(t)));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function g(){return(g=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 b(){return(b=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 h.apply(this,arguments)},t.decryptAsymmetric=function(e,t){return y.apply(this,arguments)},t.encryptSymmetric=function(e,t){return g.apply(this,arguments)},t.decryptSymmetric=function(e,t){return b.apply(this,arguments)},t.generatePrivateKey=function(){return _(t.PrivateKeySize)},t.generateSymmetricKey=function(){return _(v.SymmetricKeySize)},t.getPublicKey=m},499:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getRelayPeers=void 0;var n=r(76),i=r(218);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)}},500: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(217);Object.defineProperty(t,"WakuMessage",{enumerable:!0,get:function(){return n.WakuMessage}});var i=r(501);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}})},501:function(e,t,r){"use strict";(function(e){var n=r(21),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(303)),u=i(r(41)),c=r(217);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>>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)?g(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 b(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>>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>>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>>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>>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>>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 h=function(){if("undefined"!==typeof h)return h;if("undefined"!==typeof self)return self;if("undefined"!==typeof window)return window;if("undefined"!==typeof e)return e;throw"Unable to locate global object"}(),y=h.atob||function(e){return h.Buffer.from(e,"base64").toString("binary")};function g(e){for(var t=y(e),r=new Uint8Array(t.length),n=0;n0&&void 0!==h[0]?h[0]:["fleets","wakuv2.prod","waku-websocket"],r=h.length>1&&void 0!==h[1]?h[1]:"https://fleets.status.im/",!((o=h.length>2&&void 0!==h[2]?h[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)}},669:function(e,t,r){"use strict";var n=r(0),i=r(6),o=r(8),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(22)),u=r(42),c=r(381),d=r(160),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){l("Use provided list of peers.");var s=t.peers.map((function(e){return new u.Multiaddr(e)})),f=d.getPseudoRandomSubset(s,a);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 h=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,h.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},694:function(e,t){},695:function(e,t){},71:function(e,t,r){"use strict";(function(e){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 h}));var n=r(0),i=r.n(n),o=r(25),a=r(143),s=r(123),u=r(225),c=r(46),d="/eth-pm-wallet/1/encryption-public-key/proto",l="/eth-pm-wallet/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.b)(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 h(e,t,r,n){return y.apply(this,arguments)}function y(){return(y=Object(o.a)(i.a.mark((function t(r,n,o,a){var u,d,l;return i.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(console.log("Private Message received:",a),a.payload){t.next=3;break}return t.abrupt("return");case 3:return t.next=5,o({method:"eth_decrypt",params:[a.payloadAsUtf8,n]}).catch((function(e){return console.log(e.message)}));case 5:if(u=t.sent,console.log("Decrypted Payload:",u),d=s.a.decode(e.from(u,"hex"))){t.next=11;break}return console.log("Failed to decode Private Message"),t.abrupt("return");case 11:if(Object(c.equalByteArrays)(d.toAddress,n)){t.next=13;break}return t.abrupt("return");case 13:l=a.timestamp?a.timestamp:new Date,console.log("Message decrypted:",d.message),r((function(e){var t=e.slice();return t.push({text:d.message,timestamp:l}),t}));case 16:case"end":return t.stop()}}),t)})))).apply(this,arguments)}}).call(this,r(13).Buffer)},714:function(e,t){},715:function(e,t){},733:function(e,t,r){"use strict";(function(e){var n=r(48),i=r(734),o=r(29),a=r(8),s=r(9),u=r(136),c=r(84),d=r(26),l=r(27),f=r(93),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}),h=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},y=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.ENR=void 0;var g=y(r(420)),b=r(739),m=r(42),P=y(r(377)),_=h(r(740)),k=r(91),R=r(418),O=r(421),w=h(r(382)),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=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+g.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