diff --git a/web-chat/package.json b/web-chat/package.json index 434ec3d..8728d39 100644 --- a/web-chat/package.json +++ b/web-chat/package.json @@ -7,10 +7,11 @@ "@livechat/ui-kit": "^0.5.0-20", "@multiformats/multiaddr": "^10.4.0", "js-waku": "0.24.0-71ca4c9", - "protobufjs": "^7.0.0", + "protons-runtime": "^3.1.0", "react": "^17.0.2", "react-dom": "^17.0.2", - "server-name-generator": "^1.0.5" + "server-name-generator": "^1.0.5", + "uint8arraylist": "^2.3.2" }, "devDependencies": { "@types/jest": "^27.5.0", @@ -21,6 +22,7 @@ "gh-pages": "^4.0.0", "npm-run-all": "^4.1.5", "prettier": "^2.6.2", + "protons": "^5.1.0", "react-scripts": "5.0.1", "typescript": "^4.6.4", "url": "^0.11.0" @@ -36,8 +38,7 @@ "test:spelling": "cspell \"{README.md,.github/*.md,src/**/*.{ts,tsx},public/**/*.html}\" -c ../.cspell.json", "fix:prettier": "prettier \"src/**/*.{ts,tsx}\" \"./*.json\" --write", "fix:lint": "eslint src --ext .ts --ext .tsx --fix", - "proto": "run-s proto:*", - "proto:build": "buf generate", + "proto": "protons src/proto/*.proto", "js-waku:build": "cd ../; npm run build", "predeploy": "run-s js-waku:build build", "deploy": "gh-pages -d build" diff --git a/web-chat/pnpm-lock.yaml b/web-chat/pnpm-lock.yaml index af9df7d..fee089b 100644 --- a/web-chat/pnpm-lock.yaml +++ b/web-chat/pnpm-lock.yaml @@ -12,22 +12,25 @@ specifiers: js-waku: 0.24.0-71ca4c9 npm-run-all: ^4.1.5 prettier: ^2.6.2 - protobufjs: ^7.0.0 + protons: ^5.1.0 + protons-runtime: ^3.1.0 react: ^17.0.2 react-dom: ^17.0.2 react-scripts: 5.0.1 server-name-generator: ^1.0.5 typescript: ^4.6.4 + uint8arraylist: ^2.3.2 url: ^0.11.0 dependencies: '@livechat/ui-kit': 0.5.0-20_sk3eihvpffgp52mstba5zhq3vu '@multiformats/multiaddr': 10.4.0 - js-waku: 0.24.0-71ca4c9_x2utdhayajzrh747hktprshhby - protobufjs: 7.0.0 + js-waku: 0.24.0-71ca4c9_hdkjjslme7izp7mvl7xyfhj4di + protons-runtime: 3.1.0_uint8arraylist@2.3.2 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 server-name-generator: 1.0.5 + uint8arraylist: 2.3.2 devDependencies: '@types/jest': 27.5.2 @@ -38,6 +41,7 @@ devDependencies: gh-pages: 4.0.0 npm-run-all: 4.1.5 prettier: 2.7.1 + protons: 5.1.0 react-scripts: 5.0.1_s7dhm7uhgnhsqh75wuilf3r4wi typescript: 4.7.4 url: 0.11.0 @@ -1470,7 +1474,7 @@ packages: engines: {npm: '>=8.7.0'} dependencies: '@libp2p/components': 2.0.4 - '@libp2p/crypto': 1.0.4 + '@libp2p/crypto': 1.0.4_uint8arraylist@2.3.2 '@libp2p/interface-connection': 2.1.1 '@libp2p/interface-keys': 1.0.3 '@libp2p/interface-peer-id': 1.0.4 @@ -1479,7 +1483,7 @@ packages: '@libp2p/interfaces': 3.0.3 '@libp2p/logger': 2.0.1 '@libp2p/peer-id': 1.1.15 - '@libp2p/peer-record': 2.0.0_x2utdhayajzrh747hktprshhby + '@libp2p/peer-record': 2.0.0_hdkjjslme7izp7mvl7xyfhj4di '@libp2p/pubsub': 3.1.2 '@libp2p/topology': 3.0.0 abortable-iterator: 4.0.2 @@ -1506,7 +1510,7 @@ packages: resolution: {integrity: sha512-kr68a6zEC2y1sp9O1i8MlPu7LgC4U1sLciG/SF9Hvo0kOdDa5a13l3Il9R3rTIqaL9DoVfmQhfpOR/cxY2PWUw==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - '@libp2p/crypto': 1.0.4 + '@libp2p/crypto': 1.0.4_uint8arraylist@2.3.2 '@libp2p/interface-connection-encrypter': 1.0.3 '@libp2p/interface-keys': 1.0.3 '@libp2p/interface-peer-id': 1.0.4 @@ -1516,7 +1520,7 @@ packages: '@stablelib/chacha20poly1305': 1.0.1 '@stablelib/hkdf': 1.0.1 '@stablelib/sha256': 1.0.1 - '@stablelib/x25519': 1.0.3 + '@stablelib/x25519': 1.0.2 it-length-prefixed: 8.0.2 it-pair: 2.0.3 it-pb-stream: 2.0.2 @@ -2038,21 +2042,21 @@ packages: - supports-color dev: true - /@ethersproject/bytes/5.7.0: - resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + /@ethersproject/bytes/5.6.1: + resolution: {integrity: sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==} dependencies: - '@ethersproject/logger': 5.7.0 + '@ethersproject/logger': 5.6.0 dev: false - /@ethersproject/logger/5.7.0: - resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + /@ethersproject/logger/5.6.0: + resolution: {integrity: sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==} dev: false - /@ethersproject/rlp/5.7.0: - resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + /@ethersproject/rlp/5.6.1: + resolution: {integrity: sha512-uYjmcZx+DKlFUk7a5/W9aQVaoEC7+1MOBgNtvNg13+RnuUwT4F0zTovC0tmay5SmRslb29V1B7Y5KCri46WhuQ==} dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 dev: false /@humanwhocodes/config-array/0.10.4: @@ -2437,18 +2441,20 @@ packages: - undici dev: false - /@libp2p/crypto/1.0.4: + /@libp2p/crypto/1.0.4_uint8arraylist@2.3.2: resolution: {integrity: sha512-3hHZvqi+vI8YoTHE+0u8nA5SYGPLZRLMvbgXQoAn0IyPjez66Taaxym/3p3Duf9QkFlvJu95nzpNzv0OdHs9Yw==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: '@libp2p/interface-keys': 1.0.3 - '@noble/ed25519': 1.7.0 + '@noble/ed25519': 1.6.1 '@noble/secp256k1': 1.6.3 err-code: 3.0.1 multiformats: 9.7.1 node-forge: 1.3.1 - protons-runtime: 3.1.0 + protons-runtime: 3.1.0_uint8arraylist@2.3.2 uint8arrays: 3.1.0 + transitivePeerDependencies: + - uint8arraylist dev: false /@libp2p/interface-address-manager/1.0.2: @@ -2803,12 +2809,12 @@ packages: resolution: {integrity: sha512-x7lyPrfF4kkMj6az+h1sq5L6ifTvZt2exKi8yS6/Gi/hT8rfqXROdBDtanMjJivIFlzVKJyZdfW5f5RK9Av3iQ==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - '@libp2p/crypto': 1.0.4 + '@libp2p/crypto': 1.0.4_uint8arraylist@2.3.2 '@libp2p/interface-keys': 1.0.3 '@libp2p/interface-peer-id': 1.0.4 '@libp2p/peer-id': 1.1.15 multiformats: 9.7.1 - protons-runtime: 3.1.0 + protons-runtime: 3.1.0_uint8arraylist@2.3.2 uint8arraylist: 2.3.2 uint8arrays: 3.1.0 dev: false @@ -2823,11 +2829,11 @@ packages: uint8arrays: 3.1.0 dev: false - /@libp2p/peer-record/2.0.0_x2utdhayajzrh747hktprshhby: + /@libp2p/peer-record/2.0.0_hdkjjslme7izp7mvl7xyfhj4di: resolution: {integrity: sha512-MHo626kUS54fcA1z6ZimBwvISoLkcZqg1RHxGWgs8x4a9G01VX2QgqD/5oBMzlTrDi0OKuClu3oHdqoFzH5x3Q==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - '@libp2p/crypto': 1.0.4 + '@libp2p/crypto': 1.0.4_uint8arraylist@2.3.2 '@libp2p/interface-peer-id': 1.0.4 '@libp2p/interface-record': 1.0.2 '@libp2p/logger': 1.1.6 @@ -2852,6 +2858,7 @@ packages: - mocha - supports-color - typescript + - uint8arraylist - undici dev: false @@ -2859,7 +2866,7 @@ packages: resolution: {integrity: sha512-r1arc73ADcLd9sESNy7bDHPAsv3JYvIV7kXjB13wQJAQ1oeu9e0I6f1MAIWt4ZukNAiRD8gdlrRvNG63AAZfOg==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: - '@libp2p/crypto': 1.0.4 + '@libp2p/crypto': 1.0.4_uint8arraylist@2.3.2 '@libp2p/interface-peer-id': 1.0.4 '@libp2p/interface-record': 2.0.1 '@libp2p/logger': 2.0.1 @@ -2874,7 +2881,7 @@ packages: it-map: 1.0.6 it-pipe: 2.0.4 multiformats: 9.7.1 - protons-runtime: 3.1.0 + protons-runtime: 3.1.0_uint8arraylist@2.3.2 uint8-varint: 1.0.3 uint8arraylist: 2.3.2 uint8arrays: 3.1.0 @@ -2907,7 +2914,7 @@ packages: it-pipe: 2.0.4 mortice: 3.0.1 multiformats: 9.7.1 - protons-runtime: 3.1.0 + protons-runtime: 3.1.0_uint8arraylist@2.3.2 uint8arraylist: 2.3.2 uint8arrays: 3.1.0 transitivePeerDependencies: @@ -2920,11 +2927,11 @@ packages: engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: '@libp2p/components': 2.0.4 - '@libp2p/crypto': 1.0.4 + '@libp2p/crypto': 1.0.4_uint8arraylist@2.3.2 '@libp2p/interface-connection': 3.0.1 '@libp2p/interface-peer-id': 1.0.4 '@libp2p/interface-pubsub': 2.0.1 - '@libp2p/interface-registrar': 2.0.2 + '@libp2p/interface-registrar': 2.0.3 '@libp2p/interfaces': 3.0.3 '@libp2p/logger': 2.0.1 '@libp2p/peer-collections': 2.0.0 @@ -2950,7 +2957,7 @@ packages: engines: {node: '>=16.0.0', npm: '>=7.0.0'} dependencies: '@libp2p/interface-peer-id': 1.0.4 - '@libp2p/interface-registrar': 2.0.2 + '@libp2p/interface-registrar': 2.0.3 '@libp2p/logger': 2.0.1 '@multiformats/multiaddr': 10.4.0 err-code: 3.0.1 @@ -3134,8 +3141,8 @@ packages: - undici dev: false - /@noble/ed25519/1.7.0: - resolution: {integrity: sha512-LeAxFK0+181zQOhOUuKE8Jnd3duzYhDNd3iCLxpmzA5K+e4I1FdbrK3Ot0ZHBwZMeRD/6EojyUfTbpHZ+hkQHg==} + /@noble/ed25519/1.6.1: + resolution: {integrity: sha512-Gptpue6qPmg7p1E5LBO5GDtXw5WMc2DVtUmu4EQequOcoCvum1dT9sY6s9M8aSJWq9YopCN4jmTOAvqMdw3q7w==} dev: false /@noble/secp256k1/1.6.3: @@ -3514,8 +3521,8 @@ packages: '@stablelib/wipe': 1.0.1 dev: false - /@stablelib/random/1.0.2: - resolution: {integrity: sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w==} + /@stablelib/random/1.0.1: + resolution: {integrity: sha512-zOh+JHX3XG9MSfIB0LZl/YwPP9w3o6WBiJkZvjPoKKu5LKFW4OLV71vMxWp9qG5T43NaWyn0QQTWgqCdO+yOBQ==} dependencies: '@stablelib/binary': 1.0.1 '@stablelib/wipe': 1.0.1 @@ -3533,11 +3540,11 @@ packages: resolution: {integrity: sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg==} dev: false - /@stablelib/x25519/1.0.3: - resolution: {integrity: sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw==} + /@stablelib/x25519/1.0.2: + resolution: {integrity: sha512-wTR0t0Bp1HABLFRbYaE3vFLuco2QbAg6QvxBnzi5j9qjhYezWHW7OiCZyaWbt25UkSaoolUUT4Il0nS/2vcbSw==} dependencies: '@stablelib/keyagreement': 1.0.1 - '@stablelib/random': 1.0.2 + '@stablelib/random': 1.0.1 '@stablelib/wipe': 1.0.1 dev: false @@ -3829,14 +3836,33 @@ packages: /@types/json5/0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + /@types/linkify-it/3.0.2: + resolution: {integrity: sha512-HZQYqbiFVWufzCwexrvh694SOim8z2d+xJl5UNamcvQFejLY/2YUtzXHYi3cHdI7PMlS8ejH2slRAOJQ32aNbA==} + dev: true + /@types/long/4.0.2: resolution: {integrity: sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA==} dev: false + /@types/markdown-it/12.2.3: + resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + dependencies: + '@types/linkify-it': 3.0.2 + '@types/mdurl': 1.0.2 + dev: true + + /@types/mdurl/1.0.2: + resolution: {integrity: sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==} + dev: true + /@types/mime/3.0.1: resolution: {integrity: sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==} dev: true + /@types/minimist/1.2.2: + resolution: {integrity: sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==} + dev: true + /@types/node-fetch/2.6.2: resolution: {integrity: sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A==} dependencies: @@ -3847,6 +3873,10 @@ packages: /@types/node/17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} + /@types/normalize-package-data/2.4.1: + resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} + dev: true + /@types/parse-json/4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} @@ -4495,7 +4525,6 @@ packages: /arrify/1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} engines: {node: '>=0.10.0'} - dev: false /asap/2.0.6: resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} @@ -4999,6 +5028,16 @@ packages: engines: {node: '>= 6'} dev: true + /camelcase-keys/7.0.2: + resolution: {integrity: sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==} + engines: {node: '>=12'} + dependencies: + camelcase: 6.3.0 + map-obj: 4.3.0 + quick-lru: 5.1.1 + type-fest: 1.4.0 + dev: true + /camelcase/5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -5027,6 +5066,13 @@ packages: engines: {node: '>=4'} dev: true + /catharsis/0.9.0: + resolution: {integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==} + engines: {node: '>= 10'} + dependencies: + lodash: 4.17.21 + dev: true + /chalk/2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -5768,6 +5814,24 @@ packages: dependencies: ms: 2.1.2 + /decamelize-keys/1.1.0: + resolution: {integrity: sha512-ocLWuYzRPoS9bfiSdDd3cxvrzovVMZnRDVEzAs+hWIVXGDbHxWMECij2OBuyB/An0FFW/nLuq6Kv1i/YC5Qfzg==} + engines: {node: '>=0.10.0'} + dependencies: + decamelize: 1.2.0 + map-obj: 1.0.1 + dev: true + + /decamelize/1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /decamelize/5.0.1: + resolution: {integrity: sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==} + engines: {node: '>=10'} + dev: true + /decimal.js/10.3.1: resolution: {integrity: sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ==} dev: true @@ -6095,6 +6159,10 @@ packages: tapable: 2.2.1 dev: true + /entities/2.1.0: + resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} + dev: true + /entities/2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==} dev: true @@ -6188,6 +6256,19 @@ packages: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} + /escodegen/1.14.3: + resolution: {integrity: sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==} + engines: {node: '>=4.0'} + hasBin: true + dependencies: + esprima: 4.0.1 + estraverse: 4.3.0 + esutils: 2.0.3 + optionator: 0.8.3 + optionalDependencies: + source-map: 0.6.1 + dev: true + /escodegen/2.0.0: resolution: {integrity: sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==} engines: {node: '>=6.0'} @@ -7148,6 +7229,11 @@ packages: resolution: {integrity: sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==} dev: true + /hard-rejection/2.1.0: + resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} + engines: {node: '>=6'} + dev: true + /harmony-reflect/1.6.2: resolution: {integrity: sha512-HIp/n38R9kQjDEziXyDTuW3vvoxxyxjxFzXLrBr18uB47GnSt+G9D29fqrpM5ZkspMcPICud3XsBJQ4Y2URg8g==} dev: true @@ -7230,6 +7316,13 @@ packages: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true + /hosted-git-info/4.1.0: + resolution: {integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==} + engines: {node: '>=10'} + dependencies: + lru-cache: 6.0.0 + dev: true + /hpack.js/2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} dependencies: @@ -7438,6 +7531,11 @@ packages: engines: {node: '>=0.8.19'} dev: true + /indent-string/5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true + /inflight/1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -7634,6 +7732,11 @@ packages: engines: {node: '>=8'} dev: true + /is-plain-obj/1.1.0: + resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} + engines: {node: '>=0.10.0'} + dev: true + /is-plain-obj/2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} @@ -8485,14 +8588,14 @@ packages: /js-tokens/4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - /js-waku/0.24.0-71ca4c9_x2utdhayajzrh747hktprshhby: + /js-waku/0.24.0-71ca4c9_hdkjjslme7izp7mvl7xyfhj4di: resolution: {integrity: sha512-jCv+mrviDVZXt7LKaVO5YIDWJxxUYzDQDuCcZxAWH6ga9xeAqc4R47oB2ppyeZWI51bviDiGH1nUYOIYscu1AQ==} engines: {node: '>=16'} dependencies: '@chainsafe/libp2p-gossipsub': 3.5.1_x2utdhayajzrh747hktprshhby '@chainsafe/libp2p-noise': 7.0.3 - '@ethersproject/rlp': 5.7.0 - '@libp2p/crypto': 1.0.4 + '@ethersproject/rlp': 5.6.1 + '@libp2p/crypto': 1.0.4_uint8arraylist@2.3.2 '@libp2p/interface-connection': 3.0.1 '@libp2p/interface-peer-discovery': 1.0.1 '@libp2p/interface-peer-id': 1.0.4 @@ -8524,6 +8627,7 @@ packages: - mocha - supports-color - typescript + - uint8arraylist - undici - utf-8-validate dev: false @@ -8543,10 +8647,38 @@ packages: argparse: 2.0.1 dev: true + /js2xmlparser/4.0.2: + resolution: {integrity: sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==} + dependencies: + xmlcreate: 2.0.4 + dev: true + /jsbn/1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} dev: false + /jsdoc/3.6.11: + resolution: {integrity: sha512-8UCU0TYeIYD9KeLzEcAu2q8N/mx9O3phAGl32nmHlE0LpaJL71mMkP4d+QE5zWfNt50qheHtOZ0qoxVrsX5TUg==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + '@babel/parser': 7.18.11 + '@types/markdown-it': 12.2.3 + bluebird: 3.7.2 + catharsis: 0.9.0 + escape-string-regexp: 2.0.0 + js2xmlparser: 4.0.2 + klaw: 3.0.0 + markdown-it: 12.3.2 + markdown-it-anchor: 8.6.4_2zb4u3vubltivolgu556vv4aom + marked: 4.1.0 + mkdirp: 1.0.4 + requizzle: 0.2.3 + strip-json-comments: 3.1.1 + taffydb: 2.6.2 + underscore: 1.13.4 + dev: true + /jsdom/16.7.0: resolution: {integrity: sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==} engines: {node: '>=10'} @@ -8667,6 +8799,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /klaw/3.0.0: + resolution: {integrity: sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==} + dependencies: + graceful-fs: 4.2.10 + dev: true + /kleur/3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} engines: {node: '>=6'} @@ -8715,7 +8853,7 @@ packages: '@achingbrain/nat-port-mapper': 1.0.7 '@libp2p/components': 2.0.4 '@libp2p/connection': 4.0.1 - '@libp2p/crypto': 1.0.4 + '@libp2p/crypto': 1.0.4_uint8arraylist@2.3.2 '@libp2p/interface-address-manager': 1.0.2 '@libp2p/interface-connection': 3.0.1 '@libp2p/interface-connection-encrypter': 2.0.1 @@ -8771,7 +8909,7 @@ packages: p-retry: 5.1.1 p-settle: 5.1.0 private-ip: 2.3.4 - protons-runtime: 3.1.0 + protons-runtime: 3.1.0_uint8arraylist@2.3.2 retimer: 3.0.0 sanitize-filename: 1.6.3 set-delayed-interval: 1.0.0 @@ -8793,6 +8931,12 @@ packages: /lines-and-columns/1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + /linkify-it/3.0.3: + resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} + dependencies: + uc.micro: 1.0.6 + dev: true + /load-json-file/4.0.0: resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} engines: {node: '>=4'} @@ -8934,6 +9078,43 @@ packages: tmpl: 1.0.5 dev: true + /map-obj/1.0.1: + resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} + engines: {node: '>=0.10.0'} + dev: true + + /map-obj/4.3.0: + resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} + engines: {node: '>=8'} + dev: true + + /markdown-it-anchor/8.6.4_2zb4u3vubltivolgu556vv4aom: + resolution: {integrity: sha512-Ul4YVYZNxMJYALpKtu+ZRdrryYt/GlQ5CK+4l1bp/gWXOG2QWElt6AqF3Mih/wfUKdZbNAZVXGR73/n6U/8img==} + peerDependencies: + '@types/markdown-it': '*' + markdown-it: '*' + dependencies: + '@types/markdown-it': 12.2.3 + markdown-it: 12.3.2 + dev: true + + /markdown-it/12.3.2: + resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 2.1.0 + linkify-it: 3.0.3 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: true + + /marked/4.1.0: + resolution: {integrity: sha512-+Z6KDjSPa6/723PQYyc1axYZpYYpDnECDaU6hkaf5gqBieBkMKYReL5hteF2QizhlMbgbo8umXl/clZ67+GlsA==} + engines: {node: '>= 12'} + hasBin: true + dev: true + /mdn-data/2.0.14: resolution: {integrity: sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==} dev: true @@ -8942,6 +9123,10 @@ packages: resolution: {integrity: sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==} dev: true + /mdurl/1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + dev: true + /media-typer/0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -8959,6 +9144,24 @@ packages: engines: {node: '>= 0.10.0'} dev: true + /meow/10.1.3: + resolution: {integrity: sha512-0WL7RMCPPdUTE00+GxJjL4d5Dm6eUbmAzxlzywJWiRUKCW093owmZ7/q74tH9VI91vxw9KJJNxAcvdpxb2G4iA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + '@types/minimist': 1.2.2 + camelcase-keys: 7.0.2 + decamelize: 5.0.1 + decamelize-keys: 1.1.0 + hard-rejection: 2.1.0 + minimist-options: 4.1.0 + normalize-package-data: 3.0.3 + read-pkg-up: 8.0.0 + redent: 4.0.0 + trim-newlines: 4.0.2 + type-fest: 1.4.0 + yargs-parser: 20.2.9 + dev: true + /merge-descriptors/1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: true @@ -9013,6 +9216,11 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} engines: {node: '>=6'} + /min-indent/1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true + /mini-css-extract-plugin/2.6.1_webpack@5.65.0: resolution: {integrity: sha512-wd+SD57/K6DiV7jIR34P+s3uckTRuQvx0tKPcvjFlrEylk6P4mQ2KSWk1hblj1Kxaqok7LogKOieygXqBczNlg==} engines: {node: '>= 12.13.0'} @@ -9046,6 +9254,15 @@ packages: brace-expansion: 2.0.1 dev: true + /minimist-options/4.1.0: + resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} + engines: {node: '>= 6'} + dependencies: + arrify: 1.0.1 + is-plain-obj: 1.1.0 + kind-of: 6.0.3 + dev: true + /minimist/1.2.6: resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} @@ -9055,6 +9272,12 @@ packages: dependencies: minimist: 1.2.6 + /mkdirp/1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + dev: true + /mortice/3.0.1: resolution: {integrity: sha512-eyDUsl1nCR9+JtNksKnaESLP9MgAXCA4w1LTtsmOSQNsThnv++f36rrBu5fC/fdGIwTJZmbiaR/QewptH93pYA==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} @@ -9178,6 +9401,16 @@ packages: validate-npm-package-license: 3.0.4 dev: true + /normalize-package-data/3.0.3: + resolution: {integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==} + engines: {node: '>=10'} + dependencies: + hosted-git-info: 4.1.0 + is-core-module: 2.10.0 + semver: 7.3.7 + validate-npm-package-license: 3.0.4 + dev: true + /normalize-path/3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} @@ -10530,6 +10763,25 @@ packages: object-assign: 4.1.1 react-is: 16.13.1 + /protobufjs-cli/1.0.1: + resolution: {integrity: sha512-d7m/aaXimDTaVvvPdU0HFwzieKJqo3x+z6iVly79jqLFyg5EmY9tl3vGbBqdytcOzT/acriOhOtB4xj3Kqixmw==} + engines: {node: '>=12.0.0'} + hasBin: true + peerDependencies: + protobufjs: ^7.0.0 + dependencies: + chalk: 4.1.2 + escodegen: 1.14.3 + espree: 9.3.3 + estraverse: 5.3.0 + glob: 8.0.3 + jsdoc: 3.6.11 + minimist: 1.2.6 + semver: 7.3.7 + tmp: 0.2.1 + uglify-js: 3.17.0 + dev: true + /protobufjs/6.11.3: resolution: {integrity: sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg==} hasBin: true @@ -10589,14 +10841,27 @@ packages: uint8arrays: 3.1.0 dev: false - /protons-runtime/3.1.0: + /protons-runtime/3.1.0_uint8arraylist@2.3.2: resolution: {integrity: sha512-S1iSPQC0McdHKJRi0XcATBkWgwWPx46UDfrnshYDXBvGHSYqkFtn4MQ8Gatf67w7FzFtHivA+Hb0ZPq56upG8w==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} + peerDependencies: + uint8arraylist: ^2.3.2 dependencies: protobufjs: 7.0.0 uint8arraylist: 2.3.2 dev: false + /protons/5.1.0: + resolution: {integrity: sha512-U6FldjrEEIVF4ujIN5VrzAUkGKbYhYUGixy1SxlL38t85EXSnlYIvaHZHmvEdi4WTWyskQVD/zlgQdkRqkU/5Q==} + engines: {node: '>=16.0.0', npm: '>=7.0.0'} + hasBin: true + dependencies: + meow: 10.1.3 + protobufjs-cli: 1.0.1 + transitivePeerDependencies: + - protobufjs + dev: true + /proxy-addr/2.0.7: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} @@ -10906,6 +11171,15 @@ packages: pify: 2.3.0 dev: true + /read-pkg-up/8.0.0: + resolution: {integrity: sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==} + engines: {node: '>=12'} + dependencies: + find-up: 5.0.0 + read-pkg: 6.0.0 + type-fest: 1.4.0 + dev: true + /read-pkg/3.0.0: resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} engines: {node: '>=4'} @@ -10915,6 +11189,16 @@ packages: path-type: 3.0.0 dev: true + /read-pkg/6.0.0: + resolution: {integrity: sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==} + engines: {node: '>=12'} + dependencies: + '@types/normalize-package-data': 2.4.1 + normalize-package-data: 3.0.3 + parse-json: 5.2.0 + type-fest: 1.4.0 + dev: true + /readable-stream/2.3.7: resolution: {integrity: sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==} dependencies: @@ -10968,6 +11252,14 @@ packages: minimatch: 3.0.4 dev: true + /redent/4.0.0: + resolution: {integrity: sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==} + engines: {node: '>=12'} + dependencies: + indent-string: 5.0.0 + strip-indent: 4.0.0 + dev: true + /regenerate-unicode-properties/10.0.1: resolution: {integrity: sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==} engines: {node: '>=4'} @@ -11063,6 +11355,12 @@ packages: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: true + /requizzle/0.2.3: + resolution: {integrity: sha512-YanoyJjykPxGHii0fZP0uUPEXpvqfBDxWV7s6GKAiiOsiqhX6vHNyW3Qzdmqp/iq/ExbhaGbVrjB4ruEVSM4GQ==} + dependencies: + lodash: 4.17.21 + dev: true + /resize-observer-polyfill/1.5.1: resolution: {integrity: sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==} dev: false @@ -11702,6 +12000,13 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} + /strip-indent/4.0.0: + resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==} + engines: {node: '>=12'} + dependencies: + min-indent: 1.0.1 + dev: true + /strip-json-comments/3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -11838,6 +12143,10 @@ packages: resolution: {integrity: sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==} dev: false + /taffydb/2.6.2: + resolution: {integrity: sha512-y3JaeRSplks6NYQuCOj3ZFMO3j60rTwbuKCvZxsAraGYH2epusatvZ0baZYA01WsGqJBq/Dl6vOrMUJqyMj8kA==} + dev: true + /tailwindcss/3.1.8: resolution: {integrity: sha512-YSneUCZSFDYMwk+TGq8qYFdCA3yfBRdBlS7txSq0LUmzyeqRe3a8fBQzbz9M3WS/iFT4BNf/nmw9mEzrnSaC0g==} engines: {node: '>=12.13.0'} @@ -11971,6 +12280,13 @@ packages: retimer: 3.0.0 dev: false + /tmp/0.2.1: + resolution: {integrity: sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==} + engines: {node: '>=8.17.0'} + dependencies: + rimraf: 3.0.2 + dev: true + /tmpl/1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true @@ -12017,6 +12333,11 @@ packages: punycode: 2.1.1 dev: true + /trim-newlines/4.0.2: + resolution: {integrity: sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==} + engines: {node: '>=12'} + dev: true + /trim-repeated/1.0.0: resolution: {integrity: sha512-pkonvlKk8/ZuR0D5tLW8ljt5I8kmxp2XKymhepUeOdCEfKpZaktSArkLHZt76OB1ZvO9bssUsDty4SWhLvZpLg==} engines: {node: '>=0.10.0'} @@ -12151,6 +12472,11 @@ packages: engines: {node: '>=10'} dev: true + /type-fest/1.4.0: + resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} + engines: {node: '>=10'} + dev: true + /type-is/1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} engines: {node: '>= 0.6'} @@ -12174,6 +12500,16 @@ packages: resolution: {integrity: sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==} dev: false + /uc.micro/1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + dev: true + + /uglify-js/3.17.0: + resolution: {integrity: sha512-aTeNPVmgIMPpm1cxXr2Q/nEbvkmV8yq66F3om7X3P/cvOXQ0TMQ64Wk63iyT1gPlmdmGzjGpyLh1f3y8MZWXGg==} + engines: {node: '>=0.8.0'} + hasBin: true + dev: true + /uint8-varint/1.0.3: resolution: {integrity: sha512-ESs/P/AYPy2wWZCT2V6Tg7RPqA6jzlhJbdsNPFvbDeIrDxj12dwTcm0rD9yFlnmgEf6vRBCZrP3d0SiRTcPwSQ==} engines: {node: '>=16.0.0', npm: '>=7.0.0'} @@ -12213,6 +12549,10 @@ packages: which-boxed-primitive: 1.0.2 dev: true + /underscore/1.13.4: + resolution: {integrity: sha512-BQFnUDuAQ4Yf/cYY5LNrK9NCJFKriaRbD9uR1fTeXnBeoa97W0i41qkZfGO9pSo8I5KzjAcSY2XYtdf0oKd7KQ==} + dev: true + /unicode-canonical-property-names-ecmascript/2.0.0: resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==} engines: {node: '>=4'} @@ -12996,6 +13336,10 @@ packages: resolution: {integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==} dev: true + /xmlcreate/2.0.4: + resolution: {integrity: sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==} + dev: true + /xsalsa20/1.2.0: resolution: {integrity: sha512-FIr/DEeoHfj7ftfylnoFt3rAIRoWXpx2AoDfrT2qD2wtp7Dp+COajvs/Icb7uHqRW9m60f5iXZwdsJJO3kvb7w==} dev: false diff --git a/web-chat/src/chat_message.ts b/web-chat/src/chat_message.ts index 757059d..82bba96 100644 --- a/web-chat/src/chat_message.ts +++ b/web-chat/src/chat_message.ts @@ -1,5 +1,4 @@ -import { Reader } from "protobufjs/minimal"; - +import { utils } from "js-waku"; import * as proto from "./proto/chat_message"; /** @@ -20,8 +19,8 @@ export class ChatMessage { nick: string, text: string ): ChatMessage { - const timestampNumber = Math.floor(timestamp.valueOf() / 1000); - const payload = Buffer.from(text, "utf-8"); + const timestampNumber = BigInt(Math.floor(timestamp.valueOf() / 1000)); + const payload = utils.utf8ToBytes(text); return new ChatMessage({ timestamp: timestampNumber, @@ -35,7 +34,7 @@ export class ChatMessage { * @param bytes The payload to decode. */ static decode(bytes: Uint8Array): ChatMessage { - const protoMsg = proto.ChatMessage.decode(Reader.create(bytes)); + const protoMsg = proto.ChatMessage.decode(bytes); return new ChatMessage(protoMsg); } @@ -44,11 +43,11 @@ export class ChatMessage { * @returns The encoded payload. */ encode(): Uint8Array { - return proto.ChatMessage.encode(this.proto).finish(); + return proto.ChatMessage.encode(this.proto); } get timestamp(): Date { - return new Date(this.proto.timestamp * 1000); + return new Date(Number(this.proto.timestamp * BigInt(1000))); } get nick(): string { diff --git a/web-chat/src/proto/chat_message.ts b/web-chat/src/proto/chat_message.ts index 4a0621b..624332d 100644 --- a/web-chat/src/proto/chat_message.ts +++ b/web-chat/src/proto/chat_message.ts @@ -1,169 +1,117 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; +/* eslint-disable import/export */ +/* eslint-disable @typescript-eslint/no-namespace */ -export const protobufPackage = ""; +import { encodeMessage, decodeMessage, message } from "protons-runtime"; +import type { Uint8ArrayList } from "uint8arraylist"; +import type { Codec } from "protons-runtime"; export interface ChatMessage { - timestamp: number; + timestamp: bigint; nick: string; payload: Uint8Array; } -function createBaseChatMessage(): ChatMessage { - return { timestamp: 0, nick: "", payload: new Uint8Array() }; -} +export namespace ChatMessage { + let _codec: Codec; -export const ChatMessage = { - encode( - message: ChatMessage, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.timestamp !== 0) { - writer.uint32(8).uint64(message.timestamp); + export const codec = (): Codec => { + if (_codec == null) { + _codec = message( + (obj, writer, opts = {}) => { + if (opts.lengthDelimited !== false) { + writer.fork(); + } + + if (obj.timestamp != null) { + writer.uint32(8); + writer.uint64(obj.timestamp); + } else { + throw new Error( + 'Protocol error: required field "timestamp" was not found in object' + ); + } + + if (obj.nick != null) { + writer.uint32(18); + writer.string(obj.nick); + } else { + throw new Error( + 'Protocol error: required field "nick" was not found in object' + ); + } + + if (obj.payload != null) { + writer.uint32(26); + writer.bytes(obj.payload); + } else { + throw new Error( + 'Protocol error: required field "payload" was not found in object' + ); + } + + if (opts.lengthDelimited !== false) { + writer.ldelim(); + } + }, + (reader, length) => { + const obj: any = { + timestamp: 0n, + nick: "", + payload: new Uint8Array(0), + }; + + const end = length == null ? reader.len : reader.pos + length; + + while (reader.pos < end) { + const tag = reader.uint32(); + + switch (tag >>> 3) { + case 1: + obj.timestamp = reader.uint64(); + break; + case 2: + obj.nick = reader.string(); + break; + case 3: + obj.payload = reader.bytes(); + break; + default: + reader.skipType(tag & 7); + break; + } + } + + if (obj.timestamp == null) { + throw new Error( + 'Protocol error: value for required field "timestamp" was not found in protobuf' + ); + } + + if (obj.nick == null) { + throw new Error( + 'Protocol error: value for required field "nick" was not found in protobuf' + ); + } + + if (obj.payload == null) { + throw new Error( + 'Protocol error: value for required field "payload" was not found in protobuf' + ); + } + + return obj; + } + ); } - if (message.nick !== "") { - writer.uint32(18).string(message.nick); - } - if (message.payload.length !== 0) { - writer.uint32(26).bytes(message.payload); - } - return writer; - }, - decode(input: _m0.Reader | Uint8Array, length?: number): ChatMessage { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseChatMessage(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.timestamp = longToNumber(reader.uint64() as Long); - break; - case 2: - message.nick = reader.string(); - break; - case 3: - message.payload = reader.bytes(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, + return _codec; + }; - fromJSON(object: any): ChatMessage { - const message = createBaseChatMessage(); - message.timestamp = - object.timestamp !== undefined && object.timestamp !== null - ? Number(object.timestamp) - : 0; - message.nick = - object.nick !== undefined && object.nick !== null - ? String(object.nick) - : ""; - message.payload = - object.payload !== undefined && object.payload !== null - ? bytesFromBase64(object.payload) - : new Uint8Array(); - return message; - }, + export const encode = (obj: ChatMessage): Uint8Array => { + return encodeMessage(obj, ChatMessage.codec()); + }; - toJSON(message: ChatMessage): unknown { - const obj: any = {}; - message.timestamp !== undefined && - (obj.timestamp = Math.round(message.timestamp)); - message.nick !== undefined && (obj.nick = message.nick); - message.payload !== undefined && - (obj.payload = base64FromBytes( - message.payload !== undefined ? message.payload : new Uint8Array() - )); - return obj; - }, - - fromPartial, I>>( - object: I - ): ChatMessage { - const message = createBaseChatMessage(); - message.timestamp = object.timestamp ?? 0; - message.nick = object.nick ?? ""; - message.payload = object.payload ?? new Uint8Array(); - return message; - }, -}; - -declare var self: any | undefined; -declare var window: any | undefined; -declare var global: any | undefined; -var globalThis: any = (() => { - if (typeof globalThis !== "undefined") return globalThis; - if (typeof self !== "undefined") return self; - if (typeof window !== "undefined") return window; - if (typeof global !== "undefined") return global; - throw "Unable to locate global object"; -})(); - -const atob: (b64: string) => string = - globalThis.atob || - ((b64) => globalThis.Buffer.from(b64, "base64").toString("binary")); -function bytesFromBase64(b64: string): Uint8Array { - const bin = atob(b64); - const arr = new Uint8Array(bin.length); - for (let i = 0; i < bin.length; ++i) { - arr[i] = bin.charCodeAt(i); - } - return arr; -} - -const btoa: (bin: string) => string = - globalThis.btoa || - ((bin) => globalThis.Buffer.from(bin, "binary").toString("base64")); -function base64FromBytes(arr: Uint8Array): string { - const bin: string[] = []; - for (const byte of arr) { - bin.push(String.fromCharCode(byte)); - } - return btoa(bin.join("")); -} - -type Builtin = - | Date - | Function - | Uint8Array - | string - | number - | boolean - | undefined; - -export type DeepPartial = T extends Builtin - ? T - : T extends Array - ? Array> - : T extends ReadonlyArray - ? ReadonlyArray> - : T extends {} - ? { [K in keyof T]?: DeepPartial } - : Partial; - -type KeysOfUnion = T extends T ? keyof T : never; -export type Exact = P extends Builtin - ? P - : P & { [K in keyof P]: Exact } & Record< - Exclude>, - never - >; - -function longToNumber(long: Long): number { - if (long.gt(Number.MAX_SAFE_INTEGER)) { - throw new globalThis.Error("Value is larger than Number.MAX_SAFE_INTEGER"); - } - return long.toNumber(); -} - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); + export const decode = (buf: Uint8Array | Uint8ArrayList): ChatMessage => { + return decodeMessage(buf, ChatMessage.codec()); + }; }