From 82aba32f9e3fb1973e6d105600425ec2b8d4c5a0 Mon Sep 17 00:00:00 2001 From: Franck Royer Date: Fri, 27 May 2022 16:48:44 +1000 Subject: [PATCH] Migrate from ts-proto to protons The latter does not bring Buffer/Long and is ESM compatible. --- package-lock.json | 895 +++++++++++++++--- package.json | 9 +- src/lib/waku_filter/filter_rpc.ts | 7 +- src/lib/waku_filter/index.ts | 2 +- src/lib/waku_light_push/index.ts | 2 +- src/lib/waku_light_push/push_rpc.ts | 9 +- src/lib/waku_message/index.ts | 15 +- src/lib/waku_store/history_rpc.ts | 38 +- src/lib/waku_store/index.ts | 6 +- {proto/waku/v2 => src/proto}/filter.proto | 10 +- src/proto/filter.ts | 135 +++ {proto/waku/v2 => src/proto}/light_push.proto | 8 +- src/proto/light_push.ts | 111 +++ {proto/waku/v2 => src/proto}/message.proto | 2 - src/proto/message.ts | 42 + .../proto/store_v2beta3.proto | 8 +- src/proto/store_v2beta3.ts | 224 +++++ .../proto/store_v2beta4.proto | 8 +- src/proto/store_v2beta4.ts | 226 +++++ src/proto/waku/v2/filter.ts | 358 ------- src/proto/waku/v2/light_push.ts | 281 ------ src/proto/waku/v2/message.ts | 200 ---- src/proto/waku/v2/store/v2beta3/store.ts | 704 -------------- src/proto/waku/v2/store/v2beta4/store.ts | 741 --------------- src/test_utils/nwaku.ts | 4 +- 25 files changed, 1564 insertions(+), 2481 deletions(-) rename {proto/waku/v2 => src/proto}/filter.proto (74%) create mode 100644 src/proto/filter.ts rename {proto/waku/v2 => src/proto}/light_push.proto (66%) create mode 100644 src/proto/light_push.ts rename {proto/waku/v2 => src/proto}/message.proto (92%) create mode 100644 src/proto/message.ts rename proto/waku/v2/store/v2beta3/store.proto => src/proto/store_v2beta3.proto (86%) create mode 100644 src/proto/store_v2beta3.ts rename proto/waku/v2/store/v2beta4/store.proto => src/proto/store_v2beta4.proto (87%) create mode 100644 src/proto/store_v2beta4.ts delete mode 100644 src/proto/waku/v2/filter.ts delete mode 100644 src/proto/waku/v2/light_push.ts delete mode 100644 src/proto/waku/v2/message.ts delete mode 100644 src/proto/waku/v2/store/v2beta3/store.ts delete mode 100644 src/proto/waku/v2/store/v2beta4/store.ts diff --git a/package-lock.json b/package-lock.json index a141a03f2e..8346300fe1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,11 +26,10 @@ "libp2p-interfaces": "^4.0.6", "libp2p-mplex": "^0.10.4", "libp2p-websockets": "^0.16.1", - "long": "^4.0.0", "multiaddr": "^10.0.1", "multiformats": "^9.6.5", "peer-id": "^0.16.0", - "protobufjs": "^6.8.8", + "protons-runtime": "^1.0.4", "uint8arrays": "^3.0.0", "uuid": "^8.3.2", "varint": "^6.0.0" @@ -77,13 +76,13 @@ "portfinder": "^1.0.28", "prettier": "^2.1.1", "process": "^0.11.10", + "protons": "^3.0.4", "puppeteer": "^13.0.1", "size-limit": "^7.0.8", "stream-browserify": "^3.0.0", "tail": "^2.2.0", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", - "ts-proto": "^1.82.5", "typedoc": "^0.22.10", "typedoc-plugin-no-inherit": "^1.3.1", "typescript": "^4.5.5", @@ -1523,6 +1522,12 @@ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, + "node_modules/@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, "node_modules/@types/mocha": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", @@ -1539,10 +1544,10 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.6.tgz", "integrity": "sha512-+XBAjfZmmivILUzO0HwBJoYkAyyySSLg5KCGBDFLomJo0sV6szvVLAf4ANZZ0pfWzgEds5KmGLG9D5hfEqOhaA==" }, - "node_modules/@types/object-hash": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz", - "integrity": "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==", + "node_modules/@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", "dev": true }, "node_modules/@types/parse-json": { @@ -1551,12 +1556,6 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, - "node_modules/@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true - }, "node_modules/@types/retry": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", @@ -2464,6 +2463,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -2839,6 +2847,48 @@ "node": ">=6" } }, + "node_modules/camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "dependencies": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/camelcase-keys/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001299", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz", @@ -3618,12 +3668,6 @@ "node": ">=12" } }, - "node_modules/dataloader": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", - "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==", - "dev": true - }, "node_modules/datastore-core": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-7.0.0.tgz", @@ -3680,6 +3724,28 @@ "node": ">=0.10.0" } }, + "node_modules/decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/decimal.js": { "version": "10.3.1", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", @@ -5537,6 +5603,15 @@ "node": ">=6" } }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -7602,6 +7677,18 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/marked": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", @@ -7632,6 +7719,92 @@ "node": ">= 0.10.0" } }, + "node_modules/meow": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.2.tgz", + "integrity": "sha512-zbuAlN+V/sXlbGchNS9WTWjUzeamwMt/BApKCJi7B0QyZstZaMx0n4Unll/fg0njGtMdC9UP5SAscvOCLYdM+Q==", + "dev": true, + "dependencies": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, "node_modules/merge-options": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", @@ -7709,6 +7882,15 @@ "node": ">=6" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -7726,6 +7908,29 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -8510,15 +8715,6 @@ "node": ">=0.10.0" } }, - "node_modules/object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", - "dev": true, - "engines": { - "node": ">= 0.10.0" - } - }, "node_modules/object-inspect": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", @@ -9237,6 +9433,36 @@ "pbts": "bin/pbts" } }, + "node_modules/protons": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/protons/-/protons-3.0.4.tgz", + "integrity": "sha512-R0X/4pCfpXo3X2CVMmhDLHnHRqVg202N32p8qESKc1Vh8cD7Lqj6DBB/Z6yk6lgrH2UEneCHmHYzqonRl+l+pg==", + "dev": true, + "dependencies": { + "meow": "^10.1.2", + "protobufjs": "^6.11.2" + }, + "bin": { + "protons": "dist/bin/protons.js" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/protons-runtime": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-1.0.4.tgz", + "integrity": "sha512-DSKWjAgwaXhtYO5Jo/MrU8n/75I/P2IhxU0Fk/lSrXx6Gxl5DH+I6cHcbGAYFmAlOBmU4QRa0mvVme8VXlDeUg==", + "dependencies": { + "uint8arraylist": "^1.4.0", + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -9442,6 +9668,18 @@ } ] }, + "node_modules/quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -9553,6 +9791,135 @@ "node": ">=4" } }, + "node_modules/read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "dependencies": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/read-pkg-up/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/read-pkg-up/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up/node_modules/read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/read-pkg/node_modules/path-type": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", @@ -9598,6 +9965,34 @@ "ms": "^2.1.1" } }, + "node_modules/redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "dependencies": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/redent/node_modules/indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -10421,6 +10816,21 @@ "node": ">=6" } }, + "node_modules/strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "dependencies": { + "min-indent": "^1.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -10776,6 +11186,18 @@ "node": ">=12" } }, + "node_modules/trim-newlines": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", + "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", @@ -10874,44 +11296,6 @@ "node": ">=0.3.1" } }, - "node_modules/ts-poet": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.5.0.tgz", - "integrity": "sha512-Vs2Zsiz3zf5qdFulFTIEpaLdgWeHXKh+4pv+ycVqEh+ZuUOVGrN0i9lbxVx7DB1FBogExytz3OuaBMJfWffpSQ==", - "dev": true, - "dependencies": { - "@types/prettier": "^1.19.0", - "lodash": "^4.17.15", - "prettier": "^2.0.2" - } - }, - "node_modules/ts-proto": { - "version": "1.106.2", - "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.106.2.tgz", - "integrity": "sha512-z/vjCqxvtxzX1tiV4vsxp9msr1CWlE2qB1Qc/KyyoA2DA6nA2D8IIELrWeurx6+bM5S1GPqMgzYx2ZkAKq6ulw==", - "dev": true, - "dependencies": { - "@types/object-hash": "^1.3.0", - "dataloader": "^1.4.0", - "object-hash": "^1.3.1", - "protobufjs": "^6.8.8", - "ts-poet": "^4.5.0", - "ts-proto-descriptors": "1.6.0" - }, - "bin": { - "protoc-gen-ts_proto": "protoc-gen-ts_proto" - } - }, - "node_modules/ts-proto-descriptors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.6.0.tgz", - "integrity": "sha512-Vrhue2Ti99us/o76mGy28nF3W/Uanl1/8detyJw2yyRwiBC5yxy+hEZqQ/ZX2PbZ1vyCpJ51A9L4PnCCnkBMTQ==", - "dev": true, - "dependencies": { - "long": "^4.0.0", - "protobufjs": "^6.8.8" - } - }, "node_modules/tsconfig-paths": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", @@ -11106,6 +11490,18 @@ "node": "*" } }, + "node_modules/uint8arraylist": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/uint8arraylist/-/uint8arraylist-1.5.1.tgz", + "integrity": "sha512-UpPGcVlTVc7Brtwt4W2MfTqvJQsr8owHMKBnICsueSImiarVAHf8NGMjhMklFtgbCZN1/9S9oW5k1JwlalGHoA==", + "dependencies": { + "uint8arrays": "^3.0.0" + }, + "engines": { + "node": ">=16.0.0", + "npm": ">=7.0.0" + } + }, "node_modules/uint8arrays": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", @@ -13071,6 +13467,12 @@ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==" }, + "@types/minimist": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", + "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "dev": true + }, "@types/mocha": { "version": "9.1.0", "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz", @@ -13087,10 +13489,10 @@ "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.6.tgz", "integrity": "sha512-+XBAjfZmmivILUzO0HwBJoYkAyyySSLg5KCGBDFLomJo0sV6szvVLAf4ANZZ0pfWzgEds5KmGLG9D5hfEqOhaA==" }, - "@types/object-hash": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/@types/object-hash/-/object-hash-1.3.4.tgz", - "integrity": "sha512-xFdpkAkikBgqBdG9vIlsqffDV8GpvnPEzs0IUtr1v3BEB97ijsFQ4RXVbUZwjFThhB4MDSTUfvmxUD5PGx0wXA==", + "@types/normalize-package-data": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", + "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", "dev": true }, "@types/parse-json": { @@ -13099,12 +13501,6 @@ "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", "dev": true }, - "@types/prettier": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-1.19.1.tgz", - "integrity": "sha512-5qOlnZscTn4xxM5MeGXAMOsIOIKIbh9e85zJWfBRVPlRMEVawzoPhINYbRGkBZCI8LxvBe7tJCdWiarA99OZfQ==", - "dev": true - }, "@types/retry": { "version": "0.12.1", "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.1.tgz", @@ -13768,6 +14164,12 @@ "es-abstract": "^1.19.0" } }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true + }, "asn1": { "version": "0.2.6", "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.6.tgz", @@ -14047,6 +14449,32 @@ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true }, + "camelcase-keys": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz", + "integrity": "sha512-Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==", + "dev": true, + "requires": { + "camelcase": "^6.3.0", + "map-obj": "^4.1.0", + "quick-lru": "^5.1.1", + "type-fest": "^1.2.1" + }, + "dependencies": { + "camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true + }, + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, "caniuse-lite": { "version": "1.0.30001299", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001299.tgz", @@ -14653,12 +15081,6 @@ "whatwg-url": "^10.0.0" } }, - "dataloader": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/dataloader/-/dataloader-1.4.0.tgz", - "integrity": "sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==", - "dev": true - }, "datastore-core": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/datastore-core/-/datastore-core-7.0.0.tgz", @@ -14697,6 +15119,24 @@ "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, "decimal.js": { "version": "10.3.1", "resolved": "https://registry.npmjs.org/decimal.js/-/decimal.js-10.3.1.tgz", @@ -16097,6 +16537,12 @@ "har-schema": "^2.0.0" } }, + "hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true + }, "has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", @@ -17718,6 +18164,12 @@ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", "dev": true }, + "map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true + }, "marked": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz", @@ -17736,6 +18188,67 @@ "integrity": "sha1-htcJCzDORV1j+64S3aUaR93K+bI=", "dev": true }, + "meow": { + "version": "10.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-10.1.2.tgz", + "integrity": "sha512-zbuAlN+V/sXlbGchNS9WTWjUzeamwMt/BApKCJi7B0QyZstZaMx0n4Unll/fg0njGtMdC9UP5SAscvOCLYdM+Q==", + "dev": true, + "requires": { + "@types/minimist": "^1.2.2", + "camelcase-keys": "^7.0.0", + "decamelize": "^5.0.0", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.2", + "read-pkg-up": "^8.0.0", + "redent": "^4.0.0", + "trim-newlines": "^4.0.2", + "type-fest": "^1.2.2", + "yargs-parser": "^20.2.9" + }, + "dependencies": { + "decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", + "dev": true + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + }, + "yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true + } + } + }, "merge-options": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/merge-options/-/merge-options-3.0.4.tgz", @@ -17789,6 +18302,12 @@ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" }, + "min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true + }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", @@ -17803,6 +18322,25 @@ "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", "dev": true }, + "minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "dependencies": { + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + } + } + }, "mkdirp": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", @@ -18421,12 +18959,6 @@ "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true }, - "object-hash": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", - "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", - "dev": true - }, "object-inspect": { "version": "1.12.0", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.0.tgz", @@ -18949,6 +19481,25 @@ "long": "^4.0.0" } }, + "protons": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/protons/-/protons-3.0.4.tgz", + "integrity": "sha512-R0X/4pCfpXo3X2CVMmhDLHnHRqVg202N32p8qESKc1Vh8cD7Lqj6DBB/Z6yk6lgrH2UEneCHmHYzqonRl+l+pg==", + "dev": true, + "requires": { + "meow": "^10.1.2", + "protobufjs": "^6.11.2" + } + }, + "protons-runtime": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/protons-runtime/-/protons-runtime-1.0.4.tgz", + "integrity": "sha512-DSKWjAgwaXhtYO5Jo/MrU8n/75I/P2IhxU0Fk/lSrXx6Gxl5DH+I6cHcbGAYFmAlOBmU4QRa0mvVme8VXlDeUg==", + "requires": { + "uint8arraylist": "^1.4.0", + "uint8arrays": "^3.0.0" + } + }, "proxy-from-env": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", @@ -19080,6 +19631,12 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, + "quick-lru": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz", + "integrity": "sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==", + "dev": true + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -19183,6 +19740,92 @@ } } }, + "read-pkg-up": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-8.0.0.tgz", + "integrity": "sha512-snVCqPczksT0HS2EC+SxUndvSzn6LRCwpfSvLrIfR5BKDQQZMaI6jPRC9dYvYFDRAuFEAnkwww8kBBNE/3VvzQ==", + "dev": true, + "requires": { + "find-up": "^5.0.0", + "read-pkg": "^6.0.0", + "type-fest": "^1.0.1" + }, + "dependencies": { + "find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "requires": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + } + }, + "hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "requires": { + "p-locate": "^5.0.0" + } + }, + "normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "requires": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + } + }, + "p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "requires": { + "p-limit": "^3.0.2" + } + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "read-pkg": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-6.0.0.tgz", + "integrity": "sha512-X1Fu3dPuk/8ZLsMhEj5f4wFAF0DWoK7qhGJvgaijocXxBmSToKfbFtqbxMO7bVjNA1dmE5huAzjXj/ey86iw9Q==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^3.0.2", + "parse-json": "^5.2.0", + "type-fest": "^1.0.1" + } + }, + "type-fest": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-1.4.0.tgz", + "integrity": "sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==", + "dev": true + } + } + }, "readable-stream": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", @@ -19210,6 +19853,24 @@ "ms": "^2.1.1" } }, + "redent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-4.0.0.tgz", + "integrity": "sha512-tYkDkVVtYkSVhuQ4zBgfvciymHaeuel+zFKXShfDnFP5SyVEP7qo70Rf1jTOTCx3vGNAbnEi/xFkcfQVMIBWag==", + "dev": true, + "requires": { + "indent-string": "^5.0.0", + "strip-indent": "^4.0.0" + }, + "dependencies": { + "indent-string": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz", + "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==", + "dev": true + } + } + }, "regexpp": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", @@ -19841,6 +20502,15 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==" }, + "strip-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz", + "integrity": "sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==", + "dev": true, + "requires": { + "min-indent": "^1.0.1" + } + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -20106,6 +20776,12 @@ "punycode": "^2.1.1" } }, + "trim-newlines": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-4.0.2.tgz", + "integrity": "sha512-GJtWyq9InR/2HRiLZgpIKv+ufIKrVrvjQWEj7PxAXNc5dwbNJkqhAUoAGgzRmULAnoOM5EIpveYd3J2VeSAIew==", + "dev": true + }, "trim-repeated": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/trim-repeated/-/trim-repeated-1.0.0.tgz", @@ -20171,41 +20847,6 @@ } } }, - "ts-poet": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/ts-poet/-/ts-poet-4.5.0.tgz", - "integrity": "sha512-Vs2Zsiz3zf5qdFulFTIEpaLdgWeHXKh+4pv+ycVqEh+ZuUOVGrN0i9lbxVx7DB1FBogExytz3OuaBMJfWffpSQ==", - "dev": true, - "requires": { - "@types/prettier": "^1.19.0", - "lodash": "^4.17.15", - "prettier": "^2.0.2" - } - }, - "ts-proto": { - "version": "1.106.2", - "resolved": "https://registry.npmjs.org/ts-proto/-/ts-proto-1.106.2.tgz", - "integrity": "sha512-z/vjCqxvtxzX1tiV4vsxp9msr1CWlE2qB1Qc/KyyoA2DA6nA2D8IIELrWeurx6+bM5S1GPqMgzYx2ZkAKq6ulw==", - "dev": true, - "requires": { - "@types/object-hash": "^1.3.0", - "dataloader": "^1.4.0", - "object-hash": "^1.3.1", - "protobufjs": "^6.8.8", - "ts-poet": "^4.5.0", - "ts-proto-descriptors": "1.6.0" - } - }, - "ts-proto-descriptors": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.6.0.tgz", - "integrity": "sha512-Vrhue2Ti99us/o76mGy28nF3W/Uanl1/8detyJw2yyRwiBC5yxy+hEZqQ/ZX2PbZ1vyCpJ51A9L4PnCCnkBMTQ==", - "dev": true, - "requires": { - "long": "^4.0.0", - "protobufjs": "^6.8.8" - } - }, "tsconfig-paths": { "version": "3.12.0", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz", @@ -20343,6 +20984,14 @@ "integrity": "sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ==", "dev": true }, + "uint8arraylist": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/uint8arraylist/-/uint8arraylist-1.5.1.tgz", + "integrity": "sha512-UpPGcVlTVc7Brtwt4W2MfTqvJQsr8owHMKBnICsueSImiarVAHf8NGMjhMklFtgbCZN1/9S9oW5k1JwlalGHoA==", + "requires": { + "uint8arrays": "^3.0.0" + } + }, "uint8arrays": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/uint8arrays/-/uint8arrays-3.0.0.tgz", diff --git a/package.json b/package.json index 1d49f6e474..912b27d95f 100644 --- a/package.json +++ b/package.json @@ -45,9 +45,7 @@ "test:unit": "nyc --silent mocha", "test:karma": "karma start karma.conf.cjs", "examples:test": "run-s examples:pretest; for d in examples/*/; do (cd $d && npm test;); done", - "proto": "run-s proto:*", - "proto:lint": "buf lint", - "proto:build": "rimraf ./src/proto && buf generate", + "proto": "rimraf src/proto/*.ts; protons src/proto/*.proto", "watch:build": "tsc -p tsconfig.json -w", "watch:test": "nyc --silent mocha --watch", "doc": "run-s doc:*", @@ -82,11 +80,10 @@ "libp2p-interfaces": "^4.0.6", "libp2p-mplex": "^0.10.4", "libp2p-websockets": "^0.16.1", - "long": "^4.0.0", "multiaddr": "^10.0.1", "multiformats": "^9.6.5", "peer-id": "^0.16.0", - "protobufjs": "^6.8.8", + "protons-runtime": "^1.0.4", "uint8arrays": "^3.0.0", "uuid": "^8.3.2", "varint": "^6.0.0" @@ -133,13 +130,13 @@ "portfinder": "^1.0.28", "prettier": "^2.1.1", "process": "^0.11.10", + "protons": "^3.0.4", "puppeteer": "^13.0.1", "size-limit": "^7.0.8", "stream-browserify": "^3.0.0", "tail": "^2.2.0", "ts-loader": "^9.2.6", "ts-node": "^10.4.0", - "ts-proto": "^1.82.5", "typedoc": "^0.22.10", "typedoc-plugin-no-inherit": "^1.3.1", "typescript": "^4.5.5", diff --git a/src/lib/waku_filter/filter_rpc.ts b/src/lib/waku_filter/filter_rpc.ts index 6ce3b7bc23..db38b2cb7e 100644 --- a/src/lib/waku_filter/filter_rpc.ts +++ b/src/lib/waku_filter/filter_rpc.ts @@ -1,7 +1,6 @@ -import { Reader } from "protobufjs/minimal"; import { v4 as uuid } from "uuid"; -import * as proto from "../../proto/waku/v2/filter"; +import * as proto from "../../proto/filter"; export type ContentFilter = { contentTopic: string; @@ -36,7 +35,7 @@ export class FilterRPC { * @returns FilterRPC */ static decode(bytes: Uint8Array): FilterRPC { - const res = proto.FilterRPC.decode(Reader.create(bytes)); + const res = proto.FilterRPC.decode(bytes); return new FilterRPC(res); } @@ -45,7 +44,7 @@ export class FilterRPC { * @returns Uint8Array */ encode(): Uint8Array { - return proto.FilterRPC.encode(this.proto).finish(); + return proto.FilterRPC.encode(this.proto); } get push(): proto.MessagePush | undefined { diff --git a/src/lib/waku_filter/index.ts b/src/lib/waku_filter/index.ts index 6e7a2af37b..77076be9ca 100644 --- a/src/lib/waku_filter/index.ts +++ b/src/lib/waku_filter/index.ts @@ -4,7 +4,7 @@ import { pipe } from "it-pipe"; import Libp2p, { MuxedStream } from "libp2p"; import { Peer, PeerId } from "libp2p/src/peer-store"; -import { WakuMessage as WakuMessageProto } from "../../proto/waku/v2/message"; +import { WakuMessage as WakuMessageProto } from "../../proto/message"; import { DefaultPubSubTopic } from "../constants"; import { getPeersForProtocol, selectRandomPeer } from "../select_peer"; import { hexToBytes } from "../utils"; diff --git a/src/lib/waku_light_push/index.ts b/src/lib/waku_light_push/index.ts index 12ee971c0a..dd2c0cce14 100644 --- a/src/lib/waku_light_push/index.ts +++ b/src/lib/waku_light_push/index.ts @@ -5,7 +5,7 @@ import Libp2p from "libp2p"; import { Peer } from "libp2p/src/peer-store"; import PeerId from "peer-id"; -import { PushResponse } from "../../proto/waku/v2/light_push"; +import { PushResponse } from "../../proto/light_push"; import { DefaultPubSubTopic } from "../constants"; import { getPeersForProtocol, selectRandomPeer } from "../select_peer"; import { WakuMessage } from "../waku_message"; diff --git a/src/lib/waku_light_push/push_rpc.ts b/src/lib/waku_light_push/push_rpc.ts index 12b8f7b87d..b3d808f75e 100644 --- a/src/lib/waku_light_push/push_rpc.ts +++ b/src/lib/waku_light_push/push_rpc.ts @@ -1,11 +1,8 @@ -import protobufjs from "protobufjs/minimal"; import { v4 as uuid } from "uuid"; -import * as proto from "../../proto/waku/v2/light_push"; +import * as proto from "../../proto/light_push"; import { WakuMessage } from "../waku_message"; -const { Reader } = protobufjs; - export class PushRPC { public constructor(public proto: proto.PushRPC) {} @@ -21,12 +18,12 @@ export class PushRPC { } static decode(bytes: Uint8Array): PushRPC { - const res = proto.PushRPC.decode(Reader.create(bytes)); + const res = proto.PushRPC.decode(bytes); return new PushRPC(res); } encode(): Uint8Array { - return proto.PushRPC.encode(this.proto).finish(); + return proto.PushRPC.encode(this.proto); } get query(): proto.PushRequest | undefined { diff --git a/src/lib/waku_message/index.ts b/src/lib/waku_message/index.ts index 47b1fd77c7..2368fc5960 100644 --- a/src/lib/waku_message/index.ts +++ b/src/lib/waku_message/index.ts @@ -1,13 +1,10 @@ import debug from "debug"; -import Long from "long"; -import protobufjs from "protobufjs/minimal"; -import * as proto from "../../proto/waku/v2/message"; +import * as proto from "../../proto/message"; import { bytesToUtf8, utf8ToBytes } from "../utils"; import * as version_1 from "./version_1"; -const { Reader } = protobufjs; const DefaultVersion = 0; const dbg = debug("waku:message"); @@ -106,7 +103,7 @@ export class WakuMessage { payload: _payload, timestampDeprecated: timestamp.valueOf() / 1000, // milliseconds 10^-3 to nanoseconds 10^-9 - timestamp: Long.fromNumber(timestamp.valueOf()).mul(1_000_000), + timestamp: BigInt(timestamp.valueOf()) * BigInt(1_000_000), version, contentTopic, }, @@ -132,7 +129,7 @@ export class WakuMessage { contentTopic?: string[]; }> ): Promise { - const protoBuf = proto.WakuMessage.decode(Reader.create(bytes)); + const protoBuf = proto.WakuMessage.decode(bytes); return WakuMessage.decodeProto(protoBuf, decryptionKeys); } @@ -249,7 +246,7 @@ export class WakuMessage { } encode(): Uint8Array { - return proto.WakuMessage.encode(this.proto).finish(); + return proto.WakuMessage.encode(this.proto); } get payloadAsUtf8(): string { @@ -286,8 +283,8 @@ export class WakuMessage { try { if (this.proto.timestamp) { // nanoseconds 10^-9 to milliseconds 10^-3 - const timestamp = this.proto.timestamp.div(1_000_000).toNumber(); - return new Date(timestamp); + const timestamp = this.proto.timestamp / BigInt(1_000_000); + return new Date(Number(timestamp)); } if (this.proto.timestampDeprecated) { diff --git a/src/lib/waku_store/history_rpc.ts b/src/lib/waku_store/history_rpc.ts index 35fd60fe65..448c5b44af 100644 --- a/src/lib/waku_store/history_rpc.ts +++ b/src/lib/waku_store/history_rpc.ts @@ -1,13 +1,11 @@ -import Long from "long"; -import protobufjs from "protobufjs/minimal"; import { v4 as uuid } from "uuid"; -import * as protoV2Beta3 from "../../proto/waku/v2/store/v2beta3/store"; -import * as protoV2Beta4 from "../../proto/waku/v2/store/v2beta4/store"; +import * as protoV2Beta3 from "../../proto/store_v2beta3"; +import * as protoV2Beta4 from "../../proto/store_v2beta4"; import { StoreCodecs } from "./constants"; -const { Reader } = protobufjs; +const OneMillion = BigInt(1_000_000); export enum PageDirection { BACKWARD = "backward", @@ -26,7 +24,9 @@ export interface Params { } export class HistoryRPC { - private readonly protoCodec: any; + private readonly historyRpc: + | typeof protoV2Beta3.HistoryRPC + | typeof protoV2Beta4.HistoryRPC; private constructor( public readonly proto: protoV2Beta3.HistoryRPC | protoV2Beta4.HistoryRPC, @@ -34,10 +34,10 @@ export class HistoryRPC { ) { switch (storeCodec) { case StoreCodecs.V2Beta3: - this.protoCodec = protoV2Beta3; + this.historyRpc = protoV2Beta3.HistoryRPC; break; case StoreCodecs.V2Beta4: - this.protoCodec = protoV2Beta4; + this.historyRpc = protoV2Beta4.HistoryRPC; break; default: throw `Internal Error: Unexpected store codec value received in constructor: ${storeCodec}`; @@ -75,7 +75,7 @@ export class HistoryRPC { // Using function to scope variables return ((): HistoryRPC => { const pagingInfo = { - pageSize: Long.fromNumber(params.pageSize), + pageSize: BigInt(params.pageSize), cursor: params.cursor, direction, } as protoV2Beta3.PagingInfo; @@ -103,7 +103,7 @@ export class HistoryRPC { case StoreCodecs.V2Beta4: return ((): HistoryRPC => { const pagingInfo = { - pageSize: Long.fromNumber(params.pageSize), + pageSize: BigInt(params.pageSize), cursor: params.cursor, direction, } as protoV2Beta4.PagingInfo; @@ -111,14 +111,12 @@ export class HistoryRPC { let startTime, endTime; if (params.startTime) { // milliseconds 10^-3 to nanoseconds 10^-9 - startTime = Long.fromNumber(params.startTime.valueOf()).mul( - 1_000_000 - ); + startTime = BigInt(params.startTime.valueOf()) * OneMillion; } if (params.endTime) { // milliseconds 10^-3 to nanoseconds 10^-9 - endTime = Long.fromNumber(params.endTime.valueOf()).mul(1_000_000); + endTime = BigInt(params.endTime.valueOf()) * OneMillion; } return new HistoryRPC( { @@ -142,24 +140,24 @@ export class HistoryRPC { } decode(bytes: Uint8Array): HistoryRPC { - const res = this.protoCodec.HistoryRPC.decode(Reader.create(bytes)); + const res = this.historyRpc.decode(bytes); return new HistoryRPC(res, this.storeCodec); } encode(): Uint8Array { - return this.protoCodec.HistoryRPC.encode(this.proto).finish(); + return this.historyRpc.encode(this.proto as any); } } function directionToProto( pageDirection: PageDirection -): protoV2Beta4.PagingInfo_Direction { +): protoV2Beta4.PagingInfo.Direction { switch (pageDirection) { case PageDirection.BACKWARD: - return protoV2Beta4.PagingInfo_Direction.DIRECTION_BACKWARD_UNSPECIFIED; + return protoV2Beta4.PagingInfo.Direction.DIRECTION_BACKWARD_UNSPECIFIED; case PageDirection.FORWARD: - return protoV2Beta4.PagingInfo_Direction.DIRECTION_FORWARD; + return protoV2Beta4.PagingInfo.Direction.DIRECTION_FORWARD; default: - return protoV2Beta4.PagingInfo_Direction.DIRECTION_BACKWARD_UNSPECIFIED; + return protoV2Beta4.PagingInfo.Direction.DIRECTION_BACKWARD_UNSPECIFIED; } } diff --git a/src/lib/waku_store/index.ts b/src/lib/waku_store/index.ts index 9b8b6afb49..36f5e15b8f 100644 --- a/src/lib/waku_store/index.ts +++ b/src/lib/waku_store/index.ts @@ -6,6 +6,7 @@ import Libp2p from "libp2p"; import { Peer } from "libp2p/src/peer-store"; import PeerId from "peer-id"; +import * as protoV2Beta4 from "../../proto/store_v2beta4"; import { DefaultPubSubTopic, StoreCodecs } from "../constants"; import { getPeersForProtocol, selectRandomPeer } from "../select_peer"; import { hexToBytes } from "../utils"; @@ -211,11 +212,12 @@ export class WakuStore { ); const reply = historyRpcQuery.decode(res.slice()); - const response = reply.response; - if (!response) { + if (!reply.response) { throw "History response misses response field"; } + const response = reply.response as protoV2Beta4.HistoryResponse; + if (response.error) { throw "History response contains an Error" + response.error; } diff --git a/proto/waku/v2/filter.proto b/src/proto/filter.proto similarity index 74% rename from proto/waku/v2/filter.proto rename to src/proto/filter.proto index 2ab26e2dee..369d369560 100644 --- a/proto/waku/v2/filter.proto +++ b/src/proto/filter.proto @@ -1,8 +1,6 @@ syntax = "proto3"; -package waku.v2; - -import "waku/v2/message.proto"; +import "message.proto"; message FilterRequest { bool subscribe = 1; @@ -20,6 +18,6 @@ message MessagePush { message FilterRPC { string request_id = 1; - FilterRequest request = 2; - MessagePush push = 3; -} \ No newline at end of file + optional FilterRequest request = 2; + optional MessagePush push = 3; +} diff --git a/src/proto/filter.ts b/src/proto/filter.ts new file mode 100644 index 0000000000..ea8911ac25 --- /dev/null +++ b/src/proto/filter.ts @@ -0,0 +1,135 @@ +/* eslint-disable import/export */ +/* eslint-disable @typescript-eslint/no-namespace */ + +import { + encodeMessage, + decodeMessage, + message, + string, + bool, + bytes, + uint32, + double, + sint64, +} from "protons-runtime"; +import type { Codec } from "protons-runtime"; + +export interface FilterRequest { + subscribe: boolean; + topic: string; + contentFilters: FilterRequest.ContentFilter[]; +} + +export namespace FilterRequest { + export interface ContentFilter { + contentTopic: string; + } + + export namespace ContentFilter { + export const codec = (): Codec => { + return message({ + 1: { name: "contentTopic", codec: string }, + }); + }; + + export const encode = (obj: ContentFilter): Uint8Array => { + return encodeMessage(obj, ContentFilter.codec()); + }; + + export const decode = (buf: Uint8Array): ContentFilter => { + return decodeMessage(buf, ContentFilter.codec()); + }; + } + + export const codec = (): Codec => { + return message({ + 1: { name: "subscribe", codec: bool }, + 2: { name: "topic", codec: string }, + 3: { + name: "contentFilters", + codec: FilterRequest.ContentFilter.codec(), + repeats: true, + }, + }); + }; + + export const encode = (obj: FilterRequest): Uint8Array => { + return encodeMessage(obj, FilterRequest.codec()); + }; + + export const decode = (buf: Uint8Array): FilterRequest => { + return decodeMessage(buf, FilterRequest.codec()); + }; +} + +export interface MessagePush { + messages: WakuMessage[]; +} + +export namespace MessagePush { + export const codec = (): Codec => { + return message({ + 1: { name: "messages", codec: WakuMessage.codec(), repeats: true }, + }); + }; + + export const encode = (obj: MessagePush): Uint8Array => { + return encodeMessage(obj, MessagePush.codec()); + }; + + export const decode = (buf: Uint8Array): MessagePush => { + return decodeMessage(buf, MessagePush.codec()); + }; +} + +export interface FilterRPC { + requestId: string; + request?: FilterRequest; + push?: MessagePush; +} + +export namespace FilterRPC { + export const codec = (): Codec => { + return message({ + 1: { name: "requestId", codec: string }, + 2: { name: "request", codec: FilterRequest.codec(), optional: true }, + 3: { name: "push", codec: MessagePush.codec(), optional: true }, + }); + }; + + export const encode = (obj: FilterRPC): Uint8Array => { + return encodeMessage(obj, FilterRPC.codec()); + }; + + export const decode = (buf: Uint8Array): FilterRPC => { + return decodeMessage(buf, FilterRPC.codec()); + }; +} + +export interface WakuMessage { + payload?: Uint8Array; + contentTopic?: string; + version?: number; + timestampDeprecated?: number; + timestamp?: bigint; +} + +export namespace WakuMessage { + export const codec = (): Codec => { + return message({ + 1: { name: "payload", codec: bytes, optional: true }, + 2: { name: "contentTopic", codec: string, optional: true }, + 3: { name: "version", codec: uint32, optional: true }, + 4: { name: "timestampDeprecated", codec: double, optional: true }, + 10: { name: "timestamp", codec: sint64, optional: true }, + }); + }; + + export const encode = (obj: WakuMessage): Uint8Array => { + return encodeMessage(obj, WakuMessage.codec()); + }; + + export const decode = (buf: Uint8Array): WakuMessage => { + return decodeMessage(buf, WakuMessage.codec()); + }; +} diff --git a/proto/waku/v2/light_push.proto b/src/proto/light_push.proto similarity index 66% rename from proto/waku/v2/light_push.proto rename to src/proto/light_push.proto index 6ec111db71..7d52944317 100644 --- a/proto/waku/v2/light_push.proto +++ b/src/proto/light_push.proto @@ -1,8 +1,6 @@ syntax = "proto3"; -package waku.v2; - -import "waku/v2/message.proto"; +import "message.proto"; message PushRequest { string pub_sub_topic = 1; @@ -16,6 +14,6 @@ message PushResponse { message PushRPC { string request_id = 1; - PushRequest request = 2; - PushResponse response = 3; + optional PushRequest request = 2; + optional PushResponse response = 3; } diff --git a/src/proto/light_push.ts b/src/proto/light_push.ts new file mode 100644 index 0000000000..2081fd2f98 --- /dev/null +++ b/src/proto/light_push.ts @@ -0,0 +1,111 @@ +/* eslint-disable import/export */ +/* eslint-disable @typescript-eslint/no-namespace */ + +import { + encodeMessage, + decodeMessage, + message, + string, + bool, + bytes, + uint32, + double, + sint64, +} from "protons-runtime"; +import type { Codec } from "protons-runtime"; + +export interface PushRequest { + pubSubTopic: string; + message: WakuMessage; +} + +export namespace PushRequest { + export const codec = (): Codec => { + return message({ + 1: { name: "pubSubTopic", codec: string }, + 2: { name: "message", codec: WakuMessage.codec() }, + }); + }; + + export const encode = (obj: PushRequest): Uint8Array => { + return encodeMessage(obj, PushRequest.codec()); + }; + + export const decode = (buf: Uint8Array): PushRequest => { + return decodeMessage(buf, PushRequest.codec()); + }; +} + +export interface PushResponse { + isSuccess: boolean; + info: string; +} + +export namespace PushResponse { + export const codec = (): Codec => { + return message({ + 1: { name: "isSuccess", codec: bool }, + 2: { name: "info", codec: string }, + }); + }; + + export const encode = (obj: PushResponse): Uint8Array => { + return encodeMessage(obj, PushResponse.codec()); + }; + + export const decode = (buf: Uint8Array): PushResponse => { + return decodeMessage(buf, PushResponse.codec()); + }; +} + +export interface PushRPC { + requestId: string; + request?: PushRequest; + response?: PushResponse; +} + +export namespace PushRPC { + export const codec = (): Codec => { + return message({ + 1: { name: "requestId", codec: string }, + 2: { name: "request", codec: PushRequest.codec(), optional: true }, + 3: { name: "response", codec: PushResponse.codec(), optional: true }, + }); + }; + + export const encode = (obj: PushRPC): Uint8Array => { + return encodeMessage(obj, PushRPC.codec()); + }; + + export const decode = (buf: Uint8Array): PushRPC => { + return decodeMessage(buf, PushRPC.codec()); + }; +} + +export interface WakuMessage { + payload?: Uint8Array; + contentTopic?: string; + version?: number; + timestampDeprecated?: number; + timestamp?: bigint; +} + +export namespace WakuMessage { + export const codec = (): Codec => { + return message({ + 1: { name: "payload", codec: bytes, optional: true }, + 2: { name: "contentTopic", codec: string, optional: true }, + 3: { name: "version", codec: uint32, optional: true }, + 4: { name: "timestampDeprecated", codec: double, optional: true }, + 10: { name: "timestamp", codec: sint64, optional: true }, + }); + }; + + export const encode = (obj: WakuMessage): Uint8Array => { + return encodeMessage(obj, WakuMessage.codec()); + }; + + export const decode = (buf: Uint8Array): WakuMessage => { + return decodeMessage(buf, WakuMessage.codec()); + }; +} diff --git a/proto/waku/v2/message.proto b/src/proto/message.proto similarity index 92% rename from proto/waku/v2/message.proto rename to src/proto/message.proto index 6142752e9e..25a8e0c3ac 100644 --- a/proto/waku/v2/message.proto +++ b/src/proto/message.proto @@ -1,7 +1,5 @@ syntax = "proto3"; -package waku.v2; - message WakuMessage { optional bytes payload = 1; optional string content_topic = 2; diff --git a/src/proto/message.ts b/src/proto/message.ts new file mode 100644 index 0000000000..0a57c5d9df --- /dev/null +++ b/src/proto/message.ts @@ -0,0 +1,42 @@ +/* eslint-disable import/export */ +/* eslint-disable @typescript-eslint/no-namespace */ + +import { + encodeMessage, + decodeMessage, + message, + bytes, + string, + uint32, + double, + sint64, +} from "protons-runtime"; +import type { Codec } from "protons-runtime"; + +export interface WakuMessage { + payload?: Uint8Array; + contentTopic?: string; + version?: number; + timestampDeprecated?: number; + timestamp?: bigint; +} + +export namespace WakuMessage { + export const codec = (): Codec => { + return message({ + 1: { name: "payload", codec: bytes, optional: true }, + 2: { name: "contentTopic", codec: string, optional: true }, + 3: { name: "version", codec: uint32, optional: true }, + 4: { name: "timestampDeprecated", codec: double, optional: true }, + 10: { name: "timestamp", codec: sint64, optional: true }, + }); + }; + + export const encode = (obj: WakuMessage): Uint8Array => { + return encodeMessage(obj, WakuMessage.codec()); + }; + + export const decode = (buf: Uint8Array): WakuMessage => { + return decodeMessage(buf, WakuMessage.codec()); + }; +} diff --git a/proto/waku/v2/store/v2beta3/store.proto b/src/proto/store_v2beta3.proto similarity index 86% rename from proto/waku/v2/store/v2beta3/store.proto rename to src/proto/store_v2beta3.proto index c2eb65e28e..2ac4139754 100644 --- a/proto/waku/v2/store/v2beta3/store.proto +++ b/src/proto/store_v2beta3.proto @@ -1,8 +1,6 @@ syntax = "proto3"; -package waku.v2.store.v2beta3; - -import "waku/v2/message.proto"; +import "message.proto"; message Index { bytes digest = 1; @@ -44,6 +42,6 @@ message HistoryResponse { message HistoryRPC { string request_id = 1; - HistoryQuery query = 2; - HistoryResponse response = 3; + optional HistoryQuery query = 2; + optional HistoryResponse response = 3; } diff --git a/src/proto/store_v2beta3.ts b/src/proto/store_v2beta3.ts new file mode 100644 index 0000000000..f92bde640a --- /dev/null +++ b/src/proto/store_v2beta3.ts @@ -0,0 +1,224 @@ +/* eslint-disable import/export */ +/* eslint-disable @typescript-eslint/no-namespace */ + +import { + encodeMessage, + decodeMessage, + message, + bytes, + double, + enumeration, + uint64, + string, + uint32, + sint64, +} from "protons-runtime"; +import type { Codec } from "protons-runtime"; + +export interface Index { + digest: Uint8Array; + receivedTime: number; + senderTime: number; +} + +export namespace Index { + export const codec = (): Codec => { + return message({ + 1: { name: "digest", codec: bytes }, + 2: { name: "receivedTime", codec: double }, + 3: { name: "senderTime", codec: double }, + }); + }; + + export const encode = (obj: Index): Uint8Array => { + return encodeMessage(obj, Index.codec()); + }; + + export const decode = (buf: Uint8Array): Index => { + return decodeMessage(buf, Index.codec()); + }; +} + +export interface PagingInfo { + pageSize: bigint; + cursor: Index; + direction: PagingInfo.Direction; +} + +export namespace PagingInfo { + export enum Direction { + DIRECTION_BACKWARD_UNSPECIFIED = "DIRECTION_BACKWARD_UNSPECIFIED", + DIRECTION_FORWARD = "DIRECTION_FORWARD", + } + + enum __DirectionValues { + DIRECTION_BACKWARD_UNSPECIFIED = 0, + DIRECTION_FORWARD = 1, + } + + export namespace Direction { + export const codec = () => { + return enumeration(__DirectionValues); + }; + } + + export const codec = (): Codec => { + return message({ + 1: { name: "pageSize", codec: uint64 }, + 2: { name: "cursor", codec: Index.codec() }, + 3: { name: "direction", codec: PagingInfo.Direction.codec() }, + }); + }; + + export const encode = (obj: PagingInfo): Uint8Array => { + return encodeMessage(obj, PagingInfo.codec()); + }; + + export const decode = (buf: Uint8Array): PagingInfo => { + return decodeMessage(buf, PagingInfo.codec()); + }; +} + +export interface ContentFilter { + contentTopic: string; +} + +export namespace ContentFilter { + export const codec = (): Codec => { + return message({ + 1: { name: "contentTopic", codec: string }, + }); + }; + + export const encode = (obj: ContentFilter): Uint8Array => { + return encodeMessage(obj, ContentFilter.codec()); + }; + + export const decode = (buf: Uint8Array): ContentFilter => { + return decodeMessage(buf, ContentFilter.codec()); + }; +} + +export interface HistoryQuery { + pubSubTopic?: string; + contentFilters: ContentFilter[]; + pagingInfo?: PagingInfo; + startTime?: number; + endTime?: number; +} + +export namespace HistoryQuery { + export const codec = (): Codec => { + return message({ + 2: { name: "pubSubTopic", codec: string, optional: true }, + 3: { + name: "contentFilters", + codec: ContentFilter.codec(), + repeats: true, + }, + 4: { name: "pagingInfo", codec: PagingInfo.codec(), optional: true }, + 5: { name: "startTime", codec: double, optional: true }, + 6: { name: "endTime", codec: double, optional: true }, + }); + }; + + export const encode = (obj: HistoryQuery): Uint8Array => { + return encodeMessage(obj, HistoryQuery.codec()); + }; + + export const decode = (buf: Uint8Array): HistoryQuery => { + return decodeMessage(buf, HistoryQuery.codec()); + }; +} + +export interface HistoryResponse { + messages: WakuMessage[]; + pagingInfo: PagingInfo; + error: HistoryResponse.Error; +} + +export namespace HistoryResponse { + export enum Error { + ERROR_NONE_UNSPECIFIED = "ERROR_NONE_UNSPECIFIED", + ERROR_INVALID_CURSOR = "ERROR_INVALID_CURSOR", + } + + enum __ErrorValues { + ERROR_NONE_UNSPECIFIED = 0, + ERROR_INVALID_CURSOR = 1, + } + + export namespace Error { + export const codec = () => { + return enumeration(__ErrorValues); + }; + } + + export const codec = (): Codec => { + return message({ + 2: { name: "messages", codec: WakuMessage.codec(), repeats: true }, + 3: { name: "pagingInfo", codec: PagingInfo.codec() }, + 4: { name: "error", codec: HistoryResponse.Error.codec() }, + }); + }; + + export const encode = (obj: HistoryResponse): Uint8Array => { + return encodeMessage(obj, HistoryResponse.codec()); + }; + + export const decode = (buf: Uint8Array): HistoryResponse => { + return decodeMessage(buf, HistoryResponse.codec()); + }; +} + +export interface HistoryRPC { + requestId: string; + query?: HistoryQuery; + response?: HistoryResponse; +} + +export namespace HistoryRPC { + export const codec = (): Codec => { + return message({ + 1: { name: "requestId", codec: string }, + 2: { name: "query", codec: HistoryQuery.codec(), optional: true }, + 3: { name: "response", codec: HistoryResponse.codec(), optional: true }, + }); + }; + + export const encode = (obj: HistoryRPC): Uint8Array => { + return encodeMessage(obj, HistoryRPC.codec()); + }; + + export const decode = (buf: Uint8Array): HistoryRPC => { + return decodeMessage(buf, HistoryRPC.codec()); + }; +} + +export interface WakuMessage { + payload?: Uint8Array; + contentTopic?: string; + version?: number; + timestampDeprecated?: number; + timestamp?: bigint; +} + +export namespace WakuMessage { + export const codec = (): Codec => { + return message({ + 1: { name: "payload", codec: bytes, optional: true }, + 2: { name: "contentTopic", codec: string, optional: true }, + 3: { name: "version", codec: uint32, optional: true }, + 4: { name: "timestampDeprecated", codec: double, optional: true }, + 10: { name: "timestamp", codec: sint64, optional: true }, + }); + }; + + export const encode = (obj: WakuMessage): Uint8Array => { + return encodeMessage(obj, WakuMessage.codec()); + }; + + export const decode = (buf: Uint8Array): WakuMessage => { + return decodeMessage(buf, WakuMessage.codec()); + }; +} diff --git a/proto/waku/v2/store/v2beta4/store.proto b/src/proto/store_v2beta4.proto similarity index 87% rename from proto/waku/v2/store/v2beta4/store.proto rename to src/proto/store_v2beta4.proto index 0a72ec6f09..3166dc588b 100644 --- a/proto/waku/v2/store/v2beta4/store.proto +++ b/src/proto/store_v2beta4.proto @@ -1,8 +1,6 @@ syntax = "proto3"; -package waku.v2.store.v2beta4; - -import "waku/v2/message.proto"; +import "message.proto"; message Index { bytes digest = 1; @@ -45,6 +43,6 @@ message HistoryResponse { message HistoryRPC { string request_id = 1; - HistoryQuery query = 2; - HistoryResponse response = 3; + optional HistoryQuery query = 2; + optional HistoryResponse response = 3; } diff --git a/src/proto/store_v2beta4.ts b/src/proto/store_v2beta4.ts new file mode 100644 index 0000000000..7a5adedd22 --- /dev/null +++ b/src/proto/store_v2beta4.ts @@ -0,0 +1,226 @@ +/* eslint-disable import/export */ +/* eslint-disable @typescript-eslint/no-namespace */ + +import { + encodeMessage, + decodeMessage, + message, + bytes, + sint64, + string, + enumeration, + uint64, + uint32, + double, +} from "protons-runtime"; +import type { Codec } from "protons-runtime"; + +export interface Index { + digest: Uint8Array; + receivedTime: bigint; + senderTime: bigint; + pubsubTopic: string; +} + +export namespace Index { + export const codec = (): Codec => { + return message({ + 1: { name: "digest", codec: bytes }, + 2: { name: "receivedTime", codec: sint64 }, + 3: { name: "senderTime", codec: sint64 }, + 4: { name: "pubsubTopic", codec: string }, + }); + }; + + export const encode = (obj: Index): Uint8Array => { + return encodeMessage(obj, Index.codec()); + }; + + export const decode = (buf: Uint8Array): Index => { + return decodeMessage(buf, Index.codec()); + }; +} + +export interface PagingInfo { + pageSize: bigint; + cursor: Index; + direction: PagingInfo.Direction; +} + +export namespace PagingInfo { + export enum Direction { + DIRECTION_BACKWARD_UNSPECIFIED = "DIRECTION_BACKWARD_UNSPECIFIED", + DIRECTION_FORWARD = "DIRECTION_FORWARD", + } + + enum __DirectionValues { + DIRECTION_BACKWARD_UNSPECIFIED = 0, + DIRECTION_FORWARD = 1, + } + + export namespace Direction { + export const codec = () => { + return enumeration(__DirectionValues); + }; + } + + export const codec = (): Codec => { + return message({ + 1: { name: "pageSize", codec: uint64 }, + 2: { name: "cursor", codec: Index.codec() }, + 3: { name: "direction", codec: PagingInfo.Direction.codec() }, + }); + }; + + export const encode = (obj: PagingInfo): Uint8Array => { + return encodeMessage(obj, PagingInfo.codec()); + }; + + export const decode = (buf: Uint8Array): PagingInfo => { + return decodeMessage(buf, PagingInfo.codec()); + }; +} + +export interface ContentFilter { + contentTopic: string; +} + +export namespace ContentFilter { + export const codec = (): Codec => { + return message({ + 1: { name: "contentTopic", codec: string }, + }); + }; + + export const encode = (obj: ContentFilter): Uint8Array => { + return encodeMessage(obj, ContentFilter.codec()); + }; + + export const decode = (buf: Uint8Array): ContentFilter => { + return decodeMessage(buf, ContentFilter.codec()); + }; +} + +export interface HistoryQuery { + pubSubTopic?: string; + contentFilters: ContentFilter[]; + pagingInfo?: PagingInfo; + startTime?: bigint; + endTime?: bigint; +} + +export namespace HistoryQuery { + export const codec = (): Codec => { + return message({ + 2: { name: "pubSubTopic", codec: string, optional: true }, + 3: { + name: "contentFilters", + codec: ContentFilter.codec(), + repeats: true, + }, + 4: { name: "pagingInfo", codec: PagingInfo.codec(), optional: true }, + 5: { name: "startTime", codec: sint64, optional: true }, + 6: { name: "endTime", codec: sint64, optional: true }, + }); + }; + + export const encode = (obj: HistoryQuery): Uint8Array => { + return encodeMessage(obj, HistoryQuery.codec()); + }; + + export const decode = (buf: Uint8Array): HistoryQuery => { + return decodeMessage(buf, HistoryQuery.codec()); + }; +} + +export interface HistoryResponse { + messages: WakuMessage[]; + pagingInfo: PagingInfo; + error: HistoryResponse.Error; +} + +export namespace HistoryResponse { + export enum Error { + ERROR_NONE_UNSPECIFIED = "ERROR_NONE_UNSPECIFIED", + ERROR_INVALID_CURSOR = "ERROR_INVALID_CURSOR", + } + + enum __ErrorValues { + ERROR_NONE_UNSPECIFIED = 0, + ERROR_INVALID_CURSOR = 1, + } + + export namespace Error { + export const codec = () => { + return enumeration(__ErrorValues); + }; + } + + export const codec = (): Codec => { + return message({ + 2: { name: "messages", codec: WakuMessage.codec(), repeats: true }, + 3: { name: "pagingInfo", codec: PagingInfo.codec() }, + 4: { name: "error", codec: HistoryResponse.Error.codec() }, + }); + }; + + export const encode = (obj: HistoryResponse): Uint8Array => { + return encodeMessage(obj, HistoryResponse.codec()); + }; + + export const decode = (buf: Uint8Array): HistoryResponse => { + return decodeMessage(buf, HistoryResponse.codec()); + }; +} + +export interface HistoryRPC { + requestId: string; + query?: HistoryQuery; + response?: HistoryResponse; +} + +export namespace HistoryRPC { + export const codec = (): Codec => { + return message({ + 1: { name: "requestId", codec: string }, + 2: { name: "query", codec: HistoryQuery.codec(), optional: true }, + 3: { name: "response", codec: HistoryResponse.codec(), optional: true }, + }); + }; + + export const encode = (obj: HistoryRPC): Uint8Array => { + return encodeMessage(obj, HistoryRPC.codec()); + }; + + export const decode = (buf: Uint8Array): HistoryRPC => { + return decodeMessage(buf, HistoryRPC.codec()); + }; +} + +export interface WakuMessage { + payload?: Uint8Array; + contentTopic?: string; + version?: number; + timestampDeprecated?: number; + timestamp?: bigint; +} + +export namespace WakuMessage { + export const codec = (): Codec => { + return message({ + 1: { name: "payload", codec: bytes, optional: true }, + 2: { name: "contentTopic", codec: string, optional: true }, + 3: { name: "version", codec: uint32, optional: true }, + 4: { name: "timestampDeprecated", codec: double, optional: true }, + 10: { name: "timestamp", codec: sint64, optional: true }, + }); + }; + + export const encode = (obj: WakuMessage): Uint8Array => { + return encodeMessage(obj, WakuMessage.codec()); + }; + + export const decode = (buf: Uint8Array): WakuMessage => { + return decodeMessage(buf, WakuMessage.codec()); + }; +} diff --git a/src/proto/waku/v2/filter.ts b/src/proto/waku/v2/filter.ts deleted file mode 100644 index 97ab03a3d9..0000000000 --- a/src/proto/waku/v2/filter.ts +++ /dev/null @@ -1,358 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; -import { WakuMessage } from "../../waku/v2/message"; - -export const protobufPackage = "waku.v2"; - -export interface FilterRequest { - subscribe: boolean; - topic: string; - contentFilters: FilterRequest_ContentFilter[]; -} - -export interface FilterRequest_ContentFilter { - contentTopic: string; -} - -export interface MessagePush { - messages: WakuMessage[]; -} - -export interface FilterRPC { - requestId: string; - request: FilterRequest | undefined; - push: MessagePush | undefined; -} - -function createBaseFilterRequest(): FilterRequest { - return { subscribe: false, topic: "", contentFilters: [] }; -} - -export const FilterRequest = { - encode( - message: FilterRequest, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.subscribe === true) { - writer.uint32(8).bool(message.subscribe); - } - if (message.topic !== "") { - writer.uint32(18).string(message.topic); - } - for (const v of message.contentFilters) { - FilterRequest_ContentFilter.encode(v!, writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): FilterRequest { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseFilterRequest(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.subscribe = reader.bool(); - break; - case 2: - message.topic = reader.string(); - break; - case 3: - message.contentFilters.push( - FilterRequest_ContentFilter.decode(reader, reader.uint32()) - ); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): FilterRequest { - return { - subscribe: isSet(object.subscribe) ? Boolean(object.subscribe) : false, - topic: isSet(object.topic) ? String(object.topic) : "", - contentFilters: Array.isArray(object?.contentFilters) - ? object.contentFilters.map((e: any) => - FilterRequest_ContentFilter.fromJSON(e) - ) - : [], - }; - }, - - toJSON(message: FilterRequest): unknown { - const obj: any = {}; - message.subscribe !== undefined && (obj.subscribe = message.subscribe); - message.topic !== undefined && (obj.topic = message.topic); - if (message.contentFilters) { - obj.contentFilters = message.contentFilters.map((e) => - e ? FilterRequest_ContentFilter.toJSON(e) : undefined - ); - } else { - obj.contentFilters = []; - } - return obj; - }, - - fromPartial, I>>( - object: I - ): FilterRequest { - const message = createBaseFilterRequest(); - message.subscribe = object.subscribe ?? false; - message.topic = object.topic ?? ""; - message.contentFilters = - object.contentFilters?.map((e) => - FilterRequest_ContentFilter.fromPartial(e) - ) || []; - return message; - }, -}; - -function createBaseFilterRequest_ContentFilter(): FilterRequest_ContentFilter { - return { contentTopic: "" }; -} - -export const FilterRequest_ContentFilter = { - encode( - message: FilterRequest_ContentFilter, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.contentTopic !== "") { - writer.uint32(10).string(message.contentTopic); - } - return writer; - }, - - decode( - input: _m0.Reader | Uint8Array, - length?: number - ): FilterRequest_ContentFilter { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseFilterRequest_ContentFilter(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.contentTopic = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): FilterRequest_ContentFilter { - return { - contentTopic: isSet(object.contentTopic) - ? String(object.contentTopic) - : "", - }; - }, - - toJSON(message: FilterRequest_ContentFilter): unknown { - const obj: any = {}; - message.contentTopic !== undefined && - (obj.contentTopic = message.contentTopic); - return obj; - }, - - fromPartial, I>>( - object: I - ): FilterRequest_ContentFilter { - const message = createBaseFilterRequest_ContentFilter(); - message.contentTopic = object.contentTopic ?? ""; - return message; - }, -}; - -function createBaseMessagePush(): MessagePush { - return { messages: [] }; -} - -export const MessagePush = { - encode( - message: MessagePush, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - for (const v of message.messages) { - WakuMessage.encode(v!, writer.uint32(10).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): MessagePush { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseMessagePush(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.messages.push(WakuMessage.decode(reader, reader.uint32())); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): MessagePush { - return { - messages: Array.isArray(object?.messages) - ? object.messages.map((e: any) => WakuMessage.fromJSON(e)) - : [], - }; - }, - - toJSON(message: MessagePush): unknown { - const obj: any = {}; - if (message.messages) { - obj.messages = message.messages.map((e) => - e ? WakuMessage.toJSON(e) : undefined - ); - } else { - obj.messages = []; - } - return obj; - }, - - fromPartial, I>>( - object: I - ): MessagePush { - const message = createBaseMessagePush(); - message.messages = - object.messages?.map((e) => WakuMessage.fromPartial(e)) || []; - return message; - }, -}; - -function createBaseFilterRPC(): FilterRPC { - return { requestId: "", request: undefined, push: undefined }; -} - -export const FilterRPC = { - encode( - message: FilterRPC, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.requestId !== "") { - writer.uint32(10).string(message.requestId); - } - if (message.request !== undefined) { - FilterRequest.encode(message.request, writer.uint32(18).fork()).ldelim(); - } - if (message.push !== undefined) { - MessagePush.encode(message.push, writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): FilterRPC { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseFilterRPC(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.requestId = reader.string(); - break; - case 2: - message.request = FilterRequest.decode(reader, reader.uint32()); - break; - case 3: - message.push = MessagePush.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): FilterRPC { - return { - requestId: isSet(object.requestId) ? String(object.requestId) : "", - request: isSet(object.request) - ? FilterRequest.fromJSON(object.request) - : undefined, - push: isSet(object.push) ? MessagePush.fromJSON(object.push) : undefined, - }; - }, - - toJSON(message: FilterRPC): unknown { - const obj: any = {}; - message.requestId !== undefined && (obj.requestId = message.requestId); - message.request !== undefined && - (obj.request = message.request - ? FilterRequest.toJSON(message.request) - : undefined); - message.push !== undefined && - (obj.push = message.push ? MessagePush.toJSON(message.push) : undefined); - return obj; - }, - - fromPartial, I>>( - object: I - ): FilterRPC { - const message = createBaseFilterRPC(); - message.requestId = object.requestId ?? ""; - message.request = - object.request !== undefined && object.request !== null - ? FilterRequest.fromPartial(object.request) - : undefined; - message.push = - object.push !== undefined && object.push !== null - ? MessagePush.fromPartial(object.push) - : undefined; - return message; - }, -}; - -type Builtin = - | Date - | Function - | Uint8Array - | string - | number - | boolean - | undefined; - -export type DeepPartial = T extends Builtin - ? T - : T extends Long - ? string | number | Long - : 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 - >; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/proto/waku/v2/light_push.ts b/src/proto/waku/v2/light_push.ts deleted file mode 100644 index 7a7977c2b2..0000000000 --- a/src/proto/waku/v2/light_push.ts +++ /dev/null @@ -1,281 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; -import { WakuMessage } from "../../waku/v2/message"; - -export const protobufPackage = "waku.v2"; - -export interface PushRequest { - pubSubTopic: string; - message: WakuMessage | undefined; -} - -export interface PushResponse { - isSuccess: boolean; - info: string; -} - -export interface PushRPC { - requestId: string; - request: PushRequest | undefined; - response: PushResponse | undefined; -} - -function createBasePushRequest(): PushRequest { - return { pubSubTopic: "", message: undefined }; -} - -export const PushRequest = { - encode( - message: PushRequest, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.pubSubTopic !== "") { - writer.uint32(10).string(message.pubSubTopic); - } - if (message.message !== undefined) { - WakuMessage.encode(message.message, writer.uint32(18).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): PushRequest { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBasePushRequest(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pubSubTopic = reader.string(); - break; - case 2: - message.message = WakuMessage.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): PushRequest { - return { - pubSubTopic: isSet(object.pubSubTopic) ? String(object.pubSubTopic) : "", - message: isSet(object.message) - ? WakuMessage.fromJSON(object.message) - : undefined, - }; - }, - - toJSON(message: PushRequest): unknown { - const obj: any = {}; - message.pubSubTopic !== undefined && - (obj.pubSubTopic = message.pubSubTopic); - message.message !== undefined && - (obj.message = message.message - ? WakuMessage.toJSON(message.message) - : undefined); - return obj; - }, - - fromPartial, I>>( - object: I - ): PushRequest { - const message = createBasePushRequest(); - message.pubSubTopic = object.pubSubTopic ?? ""; - message.message = - object.message !== undefined && object.message !== null - ? WakuMessage.fromPartial(object.message) - : undefined; - return message; - }, -}; - -function createBasePushResponse(): PushResponse { - return { isSuccess: false, info: "" }; -} - -export const PushResponse = { - encode( - message: PushResponse, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.isSuccess === true) { - writer.uint32(8).bool(message.isSuccess); - } - if (message.info !== "") { - writer.uint32(18).string(message.info); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): PushResponse { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBasePushResponse(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.isSuccess = reader.bool(); - break; - case 2: - message.info = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): PushResponse { - return { - isSuccess: isSet(object.isSuccess) ? Boolean(object.isSuccess) : false, - info: isSet(object.info) ? String(object.info) : "", - }; - }, - - toJSON(message: PushResponse): unknown { - const obj: any = {}; - message.isSuccess !== undefined && (obj.isSuccess = message.isSuccess); - message.info !== undefined && (obj.info = message.info); - return obj; - }, - - fromPartial, I>>( - object: I - ): PushResponse { - const message = createBasePushResponse(); - message.isSuccess = object.isSuccess ?? false; - message.info = object.info ?? ""; - return message; - }, -}; - -function createBasePushRPC(): PushRPC { - return { requestId: "", request: undefined, response: undefined }; -} - -export const PushRPC = { - encode( - message: PushRPC, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.requestId !== "") { - writer.uint32(10).string(message.requestId); - } - if (message.request !== undefined) { - PushRequest.encode(message.request, writer.uint32(18).fork()).ldelim(); - } - if (message.response !== undefined) { - PushResponse.encode(message.response, writer.uint32(26).fork()).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): PushRPC { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBasePushRPC(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.requestId = reader.string(); - break; - case 2: - message.request = PushRequest.decode(reader, reader.uint32()); - break; - case 3: - message.response = PushResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): PushRPC { - return { - requestId: isSet(object.requestId) ? String(object.requestId) : "", - request: isSet(object.request) - ? PushRequest.fromJSON(object.request) - : undefined, - response: isSet(object.response) - ? PushResponse.fromJSON(object.response) - : undefined, - }; - }, - - toJSON(message: PushRPC): unknown { - const obj: any = {}; - message.requestId !== undefined && (obj.requestId = message.requestId); - message.request !== undefined && - (obj.request = message.request - ? PushRequest.toJSON(message.request) - : undefined); - message.response !== undefined && - (obj.response = message.response - ? PushResponse.toJSON(message.response) - : undefined); - return obj; - }, - - fromPartial, I>>(object: I): PushRPC { - const message = createBasePushRPC(); - message.requestId = object.requestId ?? ""; - message.request = - object.request !== undefined && object.request !== null - ? PushRequest.fromPartial(object.request) - : undefined; - message.response = - object.response !== undefined && object.response !== null - ? PushResponse.fromPartial(object.response) - : undefined; - return message; - }, -}; - -type Builtin = - | Date - | Function - | Uint8Array - | string - | number - | boolean - | undefined; - -export type DeepPartial = T extends Builtin - ? T - : T extends Long - ? string | number | Long - : 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 - >; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/proto/waku/v2/message.ts b/src/proto/waku/v2/message.ts deleted file mode 100644 index c60ae7528a..0000000000 --- a/src/proto/waku/v2/message.ts +++ /dev/null @@ -1,200 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; - -export const protobufPackage = "waku.v2"; - -export interface WakuMessage { - payload?: Uint8Array | undefined; - contentTopic?: string | undefined; - version?: number | undefined; - timestampDeprecated?: number | undefined; - timestamp?: Long | undefined; -} - -function createBaseWakuMessage(): WakuMessage { - return { - payload: undefined, - contentTopic: undefined, - version: undefined, - timestampDeprecated: undefined, - timestamp: undefined, - }; -} - -export const WakuMessage = { - encode( - message: WakuMessage, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.payload !== undefined) { - writer.uint32(10).bytes(message.payload); - } - if (message.contentTopic !== undefined) { - writer.uint32(18).string(message.contentTopic); - } - if (message.version !== undefined) { - writer.uint32(24).uint32(message.version); - } - if (message.timestampDeprecated !== undefined) { - writer.uint32(33).double(message.timestampDeprecated); - } - if (message.timestamp !== undefined) { - writer.uint32(80).sint64(message.timestamp); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): WakuMessage { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseWakuMessage(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.payload = reader.bytes(); - break; - case 2: - message.contentTopic = reader.string(); - break; - case 3: - message.version = reader.uint32(); - break; - case 4: - message.timestampDeprecated = reader.double(); - break; - case 10: - message.timestamp = reader.sint64() as Long; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): WakuMessage { - return { - payload: isSet(object.payload) - ? bytesFromBase64(object.payload) - : undefined, - contentTopic: isSet(object.contentTopic) - ? String(object.contentTopic) - : undefined, - version: isSet(object.version) ? Number(object.version) : undefined, - timestampDeprecated: isSet(object.timestampDeprecated) - ? Number(object.timestampDeprecated) - : undefined, - timestamp: isSet(object.timestamp) - ? Long.fromString(object.timestamp) - : undefined, - }; - }, - - toJSON(message: WakuMessage): unknown { - const obj: any = {}; - message.payload !== undefined && - (obj.payload = - message.payload !== undefined - ? base64FromBytes(message.payload) - : undefined); - message.contentTopic !== undefined && - (obj.contentTopic = message.contentTopic); - message.version !== undefined && - (obj.version = Math.round(message.version)); - message.timestampDeprecated !== undefined && - (obj.timestampDeprecated = message.timestampDeprecated); - message.timestamp !== undefined && - (obj.timestamp = (message.timestamp || undefined).toString()); - return obj; - }, - - fromPartial, I>>( - object: I - ): WakuMessage { - const message = createBaseWakuMessage(); - message.payload = object.payload ?? undefined; - message.contentTopic = object.contentTopic ?? undefined; - message.version = object.version ?? undefined; - message.timestampDeprecated = object.timestampDeprecated ?? undefined; - message.timestamp = - object.timestamp !== undefined && object.timestamp !== null - ? Long.fromValue(object.timestamp) - : undefined; - 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 Long - ? string | number | Long - : 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 - >; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/proto/waku/v2/store/v2beta3/store.ts b/src/proto/waku/v2/store/v2beta3/store.ts deleted file mode 100644 index 5dfda93966..0000000000 --- a/src/proto/waku/v2/store/v2beta3/store.ts +++ /dev/null @@ -1,704 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; -import { WakuMessage } from "../../../../waku/v2/message"; - -export const protobufPackage = "waku.v2.store.v2beta3"; - -export interface Index { - digest: Uint8Array; - receivedTime: number; - senderTime: number; -} - -export interface PagingInfo { - pageSize: Long; - cursor: Index | undefined; - direction: PagingInfo_Direction; -} - -export enum PagingInfo_Direction { - DIRECTION_BACKWARD_UNSPECIFIED = 0, - DIRECTION_FORWARD = 1, - UNRECOGNIZED = -1, -} - -export function pagingInfo_DirectionFromJSON( - object: any -): PagingInfo_Direction { - switch (object) { - case 0: - case "DIRECTION_BACKWARD_UNSPECIFIED": - return PagingInfo_Direction.DIRECTION_BACKWARD_UNSPECIFIED; - case 1: - case "DIRECTION_FORWARD": - return PagingInfo_Direction.DIRECTION_FORWARD; - case -1: - case "UNRECOGNIZED": - default: - return PagingInfo_Direction.UNRECOGNIZED; - } -} - -export function pagingInfo_DirectionToJSON( - object: PagingInfo_Direction -): string { - switch (object) { - case PagingInfo_Direction.DIRECTION_BACKWARD_UNSPECIFIED: - return "DIRECTION_BACKWARD_UNSPECIFIED"; - case PagingInfo_Direction.DIRECTION_FORWARD: - return "DIRECTION_FORWARD"; - default: - return "UNKNOWN"; - } -} - -export interface ContentFilter { - contentTopic: string; -} - -export interface HistoryQuery { - pubSubTopic?: string | undefined; - contentFilters: ContentFilter[]; - pagingInfo?: PagingInfo | undefined; - startTime?: number | undefined; - endTime?: number | undefined; -} - -export interface HistoryResponse { - messages: WakuMessage[]; - pagingInfo: PagingInfo | undefined; - error: HistoryResponse_Error; -} - -export enum HistoryResponse_Error { - ERROR_NONE_UNSPECIFIED = 0, - ERROR_INVALID_CURSOR = 1, - UNRECOGNIZED = -1, -} - -export function historyResponse_ErrorFromJSON( - object: any -): HistoryResponse_Error { - switch (object) { - case 0: - case "ERROR_NONE_UNSPECIFIED": - return HistoryResponse_Error.ERROR_NONE_UNSPECIFIED; - case 1: - case "ERROR_INVALID_CURSOR": - return HistoryResponse_Error.ERROR_INVALID_CURSOR; - case -1: - case "UNRECOGNIZED": - default: - return HistoryResponse_Error.UNRECOGNIZED; - } -} - -export function historyResponse_ErrorToJSON( - object: HistoryResponse_Error -): string { - switch (object) { - case HistoryResponse_Error.ERROR_NONE_UNSPECIFIED: - return "ERROR_NONE_UNSPECIFIED"; - case HistoryResponse_Error.ERROR_INVALID_CURSOR: - return "ERROR_INVALID_CURSOR"; - default: - return "UNKNOWN"; - } -} - -export interface HistoryRPC { - requestId: string; - query: HistoryQuery | undefined; - response: HistoryResponse | undefined; -} - -function createBaseIndex(): Index { - return { digest: new Uint8Array(), receivedTime: 0, senderTime: 0 }; -} - -export const Index = { - encode(message: Index, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.digest.length !== 0) { - writer.uint32(10).bytes(message.digest); - } - if (message.receivedTime !== 0) { - writer.uint32(17).double(message.receivedTime); - } - if (message.senderTime !== 0) { - writer.uint32(25).double(message.senderTime); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Index { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseIndex(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.digest = reader.bytes(); - break; - case 2: - message.receivedTime = reader.double(); - break; - case 3: - message.senderTime = reader.double(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Index { - return { - digest: isSet(object.digest) - ? bytesFromBase64(object.digest) - : new Uint8Array(), - receivedTime: isSet(object.receivedTime) - ? Number(object.receivedTime) - : 0, - senderTime: isSet(object.senderTime) ? Number(object.senderTime) : 0, - }; - }, - - toJSON(message: Index): unknown { - const obj: any = {}; - message.digest !== undefined && - (obj.digest = base64FromBytes( - message.digest !== undefined ? message.digest : new Uint8Array() - )); - message.receivedTime !== undefined && - (obj.receivedTime = message.receivedTime); - message.senderTime !== undefined && (obj.senderTime = message.senderTime); - return obj; - }, - - fromPartial, I>>(object: I): Index { - const message = createBaseIndex(); - message.digest = object.digest ?? new Uint8Array(); - message.receivedTime = object.receivedTime ?? 0; - message.senderTime = object.senderTime ?? 0; - return message; - }, -}; - -function createBasePagingInfo(): PagingInfo { - return { pageSize: Long.UZERO, cursor: undefined, direction: 0 }; -} - -export const PagingInfo = { - encode( - message: PagingInfo, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (!message.pageSize.isZero()) { - writer.uint32(8).uint64(message.pageSize); - } - if (message.cursor !== undefined) { - Index.encode(message.cursor, writer.uint32(18).fork()).ldelim(); - } - if (message.direction !== 0) { - writer.uint32(24).int32(message.direction); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): PagingInfo { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBasePagingInfo(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pageSize = reader.uint64() as Long; - break; - case 2: - message.cursor = Index.decode(reader, reader.uint32()); - break; - case 3: - message.direction = reader.int32() as any; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): PagingInfo { - return { - pageSize: isSet(object.pageSize) - ? Long.fromString(object.pageSize) - : Long.UZERO, - cursor: isSet(object.cursor) ? Index.fromJSON(object.cursor) : undefined, - direction: isSet(object.direction) - ? pagingInfo_DirectionFromJSON(object.direction) - : 0, - }; - }, - - toJSON(message: PagingInfo): unknown { - const obj: any = {}; - message.pageSize !== undefined && - (obj.pageSize = (message.pageSize || Long.UZERO).toString()); - message.cursor !== undefined && - (obj.cursor = message.cursor ? Index.toJSON(message.cursor) : undefined); - message.direction !== undefined && - (obj.direction = pagingInfo_DirectionToJSON(message.direction)); - return obj; - }, - - fromPartial, I>>( - object: I - ): PagingInfo { - const message = createBasePagingInfo(); - message.pageSize = - object.pageSize !== undefined && object.pageSize !== null - ? Long.fromValue(object.pageSize) - : Long.UZERO; - message.cursor = - object.cursor !== undefined && object.cursor !== null - ? Index.fromPartial(object.cursor) - : undefined; - message.direction = object.direction ?? 0; - return message; - }, -}; - -function createBaseContentFilter(): ContentFilter { - return { contentTopic: "" }; -} - -export const ContentFilter = { - encode( - message: ContentFilter, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.contentTopic !== "") { - writer.uint32(10).string(message.contentTopic); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ContentFilter { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseContentFilter(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.contentTopic = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ContentFilter { - return { - contentTopic: isSet(object.contentTopic) - ? String(object.contentTopic) - : "", - }; - }, - - toJSON(message: ContentFilter): unknown { - const obj: any = {}; - message.contentTopic !== undefined && - (obj.contentTopic = message.contentTopic); - return obj; - }, - - fromPartial, I>>( - object: I - ): ContentFilter { - const message = createBaseContentFilter(); - message.contentTopic = object.contentTopic ?? ""; - return message; - }, -}; - -function createBaseHistoryQuery(): HistoryQuery { - return { - pubSubTopic: undefined, - contentFilters: [], - pagingInfo: undefined, - startTime: undefined, - endTime: undefined, - }; -} - -export const HistoryQuery = { - encode( - message: HistoryQuery, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.pubSubTopic !== undefined) { - writer.uint32(18).string(message.pubSubTopic); - } - for (const v of message.contentFilters) { - ContentFilter.encode(v!, writer.uint32(26).fork()).ldelim(); - } - if (message.pagingInfo !== undefined) { - PagingInfo.encode(message.pagingInfo, writer.uint32(34).fork()).ldelim(); - } - if (message.startTime !== undefined) { - writer.uint32(41).double(message.startTime); - } - if (message.endTime !== undefined) { - writer.uint32(49).double(message.endTime); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): HistoryQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHistoryQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 2: - message.pubSubTopic = reader.string(); - break; - case 3: - message.contentFilters.push( - ContentFilter.decode(reader, reader.uint32()) - ); - break; - case 4: - message.pagingInfo = PagingInfo.decode(reader, reader.uint32()); - break; - case 5: - message.startTime = reader.double(); - break; - case 6: - message.endTime = reader.double(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): HistoryQuery { - return { - pubSubTopic: isSet(object.pubSubTopic) - ? String(object.pubSubTopic) - : undefined, - contentFilters: Array.isArray(object?.contentFilters) - ? object.contentFilters.map((e: any) => ContentFilter.fromJSON(e)) - : [], - pagingInfo: isSet(object.pagingInfo) - ? PagingInfo.fromJSON(object.pagingInfo) - : undefined, - startTime: isSet(object.startTime) ? Number(object.startTime) : undefined, - endTime: isSet(object.endTime) ? Number(object.endTime) : undefined, - }; - }, - - toJSON(message: HistoryQuery): unknown { - const obj: any = {}; - message.pubSubTopic !== undefined && - (obj.pubSubTopic = message.pubSubTopic); - if (message.contentFilters) { - obj.contentFilters = message.contentFilters.map((e) => - e ? ContentFilter.toJSON(e) : undefined - ); - } else { - obj.contentFilters = []; - } - message.pagingInfo !== undefined && - (obj.pagingInfo = message.pagingInfo - ? PagingInfo.toJSON(message.pagingInfo) - : undefined); - message.startTime !== undefined && (obj.startTime = message.startTime); - message.endTime !== undefined && (obj.endTime = message.endTime); - return obj; - }, - - fromPartial, I>>( - object: I - ): HistoryQuery { - const message = createBaseHistoryQuery(); - message.pubSubTopic = object.pubSubTopic ?? undefined; - message.contentFilters = - object.contentFilters?.map((e) => ContentFilter.fromPartial(e)) || []; - message.pagingInfo = - object.pagingInfo !== undefined && object.pagingInfo !== null - ? PagingInfo.fromPartial(object.pagingInfo) - : undefined; - message.startTime = object.startTime ?? undefined; - message.endTime = object.endTime ?? undefined; - return message; - }, -}; - -function createBaseHistoryResponse(): HistoryResponse { - return { messages: [], pagingInfo: undefined, error: 0 }; -} - -export const HistoryResponse = { - encode( - message: HistoryResponse, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - for (const v of message.messages) { - WakuMessage.encode(v!, writer.uint32(18).fork()).ldelim(); - } - if (message.pagingInfo !== undefined) { - PagingInfo.encode(message.pagingInfo, writer.uint32(26).fork()).ldelim(); - } - if (message.error !== 0) { - writer.uint32(32).int32(message.error); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): HistoryResponse { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHistoryResponse(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 2: - message.messages.push(WakuMessage.decode(reader, reader.uint32())); - break; - case 3: - message.pagingInfo = PagingInfo.decode(reader, reader.uint32()); - break; - case 4: - message.error = reader.int32() as any; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): HistoryResponse { - return { - messages: Array.isArray(object?.messages) - ? object.messages.map((e: any) => WakuMessage.fromJSON(e)) - : [], - pagingInfo: isSet(object.pagingInfo) - ? PagingInfo.fromJSON(object.pagingInfo) - : undefined, - error: isSet(object.error) - ? historyResponse_ErrorFromJSON(object.error) - : 0, - }; - }, - - toJSON(message: HistoryResponse): unknown { - const obj: any = {}; - if (message.messages) { - obj.messages = message.messages.map((e) => - e ? WakuMessage.toJSON(e) : undefined - ); - } else { - obj.messages = []; - } - message.pagingInfo !== undefined && - (obj.pagingInfo = message.pagingInfo - ? PagingInfo.toJSON(message.pagingInfo) - : undefined); - message.error !== undefined && - (obj.error = historyResponse_ErrorToJSON(message.error)); - return obj; - }, - - fromPartial, I>>( - object: I - ): HistoryResponse { - const message = createBaseHistoryResponse(); - message.messages = - object.messages?.map((e) => WakuMessage.fromPartial(e)) || []; - message.pagingInfo = - object.pagingInfo !== undefined && object.pagingInfo !== null - ? PagingInfo.fromPartial(object.pagingInfo) - : undefined; - message.error = object.error ?? 0; - return message; - }, -}; - -function createBaseHistoryRPC(): HistoryRPC { - return { requestId: "", query: undefined, response: undefined }; -} - -export const HistoryRPC = { - encode( - message: HistoryRPC, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.requestId !== "") { - writer.uint32(10).string(message.requestId); - } - if (message.query !== undefined) { - HistoryQuery.encode(message.query, writer.uint32(18).fork()).ldelim(); - } - if (message.response !== undefined) { - HistoryResponse.encode( - message.response, - writer.uint32(26).fork() - ).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): HistoryRPC { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHistoryRPC(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.requestId = reader.string(); - break; - case 2: - message.query = HistoryQuery.decode(reader, reader.uint32()); - break; - case 3: - message.response = HistoryResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): HistoryRPC { - return { - requestId: isSet(object.requestId) ? String(object.requestId) : "", - query: isSet(object.query) - ? HistoryQuery.fromJSON(object.query) - : undefined, - response: isSet(object.response) - ? HistoryResponse.fromJSON(object.response) - : undefined, - }; - }, - - toJSON(message: HistoryRPC): unknown { - const obj: any = {}; - message.requestId !== undefined && (obj.requestId = message.requestId); - message.query !== undefined && - (obj.query = message.query - ? HistoryQuery.toJSON(message.query) - : undefined); - message.response !== undefined && - (obj.response = message.response - ? HistoryResponse.toJSON(message.response) - : undefined); - return obj; - }, - - fromPartial, I>>( - object: I - ): HistoryRPC { - const message = createBaseHistoryRPC(); - message.requestId = object.requestId ?? ""; - message.query = - object.query !== undefined && object.query !== null - ? HistoryQuery.fromPartial(object.query) - : undefined; - message.response = - object.response !== undefined && object.response !== null - ? HistoryResponse.fromPartial(object.response) - : undefined; - 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 Long - ? string | number | Long - : 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 - >; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/proto/waku/v2/store/v2beta4/store.ts b/src/proto/waku/v2/store/v2beta4/store.ts deleted file mode 100644 index 1fe800b925..0000000000 --- a/src/proto/waku/v2/store/v2beta4/store.ts +++ /dev/null @@ -1,741 +0,0 @@ -/* eslint-disable */ -import Long from "long"; -import _m0 from "protobufjs/minimal"; -import { WakuMessage } from "../../../../waku/v2/message"; - -export const protobufPackage = "waku.v2.store.v2beta4"; - -export interface Index { - digest: Uint8Array; - receivedTime: Long; - senderTime: Long; - pubsubTopic: string; -} - -export interface PagingInfo { - pageSize: Long; - cursor: Index | undefined; - direction: PagingInfo_Direction; -} - -export enum PagingInfo_Direction { - DIRECTION_BACKWARD_UNSPECIFIED = 0, - DIRECTION_FORWARD = 1, - UNRECOGNIZED = -1, -} - -export function pagingInfo_DirectionFromJSON( - object: any -): PagingInfo_Direction { - switch (object) { - case 0: - case "DIRECTION_BACKWARD_UNSPECIFIED": - return PagingInfo_Direction.DIRECTION_BACKWARD_UNSPECIFIED; - case 1: - case "DIRECTION_FORWARD": - return PagingInfo_Direction.DIRECTION_FORWARD; - case -1: - case "UNRECOGNIZED": - default: - return PagingInfo_Direction.UNRECOGNIZED; - } -} - -export function pagingInfo_DirectionToJSON( - object: PagingInfo_Direction -): string { - switch (object) { - case PagingInfo_Direction.DIRECTION_BACKWARD_UNSPECIFIED: - return "DIRECTION_BACKWARD_UNSPECIFIED"; - case PagingInfo_Direction.DIRECTION_FORWARD: - return "DIRECTION_FORWARD"; - default: - return "UNKNOWN"; - } -} - -export interface ContentFilter { - contentTopic: string; -} - -export interface HistoryQuery { - pubSubTopic?: string | undefined; - contentFilters: ContentFilter[]; - pagingInfo?: PagingInfo | undefined; - startTime?: Long | undefined; - endTime?: Long | undefined; -} - -export interface HistoryResponse { - messages: WakuMessage[]; - pagingInfo: PagingInfo | undefined; - error: HistoryResponse_Error; -} - -export enum HistoryResponse_Error { - ERROR_NONE_UNSPECIFIED = 0, - ERROR_INVALID_CURSOR = 1, - UNRECOGNIZED = -1, -} - -export function historyResponse_ErrorFromJSON( - object: any -): HistoryResponse_Error { - switch (object) { - case 0: - case "ERROR_NONE_UNSPECIFIED": - return HistoryResponse_Error.ERROR_NONE_UNSPECIFIED; - case 1: - case "ERROR_INVALID_CURSOR": - return HistoryResponse_Error.ERROR_INVALID_CURSOR; - case -1: - case "UNRECOGNIZED": - default: - return HistoryResponse_Error.UNRECOGNIZED; - } -} - -export function historyResponse_ErrorToJSON( - object: HistoryResponse_Error -): string { - switch (object) { - case HistoryResponse_Error.ERROR_NONE_UNSPECIFIED: - return "ERROR_NONE_UNSPECIFIED"; - case HistoryResponse_Error.ERROR_INVALID_CURSOR: - return "ERROR_INVALID_CURSOR"; - default: - return "UNKNOWN"; - } -} - -export interface HistoryRPC { - requestId: string; - query: HistoryQuery | undefined; - response: HistoryResponse | undefined; -} - -function createBaseIndex(): Index { - return { - digest: new Uint8Array(), - receivedTime: Long.ZERO, - senderTime: Long.ZERO, - pubsubTopic: "", - }; -} - -export const Index = { - encode(message: Index, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer { - if (message.digest.length !== 0) { - writer.uint32(10).bytes(message.digest); - } - if (!message.receivedTime.isZero()) { - writer.uint32(16).sint64(message.receivedTime); - } - if (!message.senderTime.isZero()) { - writer.uint32(24).sint64(message.senderTime); - } - if (message.pubsubTopic !== "") { - writer.uint32(34).string(message.pubsubTopic); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): Index { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseIndex(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.digest = reader.bytes(); - break; - case 2: - message.receivedTime = reader.sint64() as Long; - break; - case 3: - message.senderTime = reader.sint64() as Long; - break; - case 4: - message.pubsubTopic = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): Index { - return { - digest: isSet(object.digest) - ? bytesFromBase64(object.digest) - : new Uint8Array(), - receivedTime: isSet(object.receivedTime) - ? Long.fromString(object.receivedTime) - : Long.ZERO, - senderTime: isSet(object.senderTime) - ? Long.fromString(object.senderTime) - : Long.ZERO, - pubsubTopic: isSet(object.pubsubTopic) ? String(object.pubsubTopic) : "", - }; - }, - - toJSON(message: Index): unknown { - const obj: any = {}; - message.digest !== undefined && - (obj.digest = base64FromBytes( - message.digest !== undefined ? message.digest : new Uint8Array() - )); - message.receivedTime !== undefined && - (obj.receivedTime = (message.receivedTime || Long.ZERO).toString()); - message.senderTime !== undefined && - (obj.senderTime = (message.senderTime || Long.ZERO).toString()); - message.pubsubTopic !== undefined && - (obj.pubsubTopic = message.pubsubTopic); - return obj; - }, - - fromPartial, I>>(object: I): Index { - const message = createBaseIndex(); - message.digest = object.digest ?? new Uint8Array(); - message.receivedTime = - object.receivedTime !== undefined && object.receivedTime !== null - ? Long.fromValue(object.receivedTime) - : Long.ZERO; - message.senderTime = - object.senderTime !== undefined && object.senderTime !== null - ? Long.fromValue(object.senderTime) - : Long.ZERO; - message.pubsubTopic = object.pubsubTopic ?? ""; - return message; - }, -}; - -function createBasePagingInfo(): PagingInfo { - return { pageSize: Long.UZERO, cursor: undefined, direction: 0 }; -} - -export const PagingInfo = { - encode( - message: PagingInfo, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (!message.pageSize.isZero()) { - writer.uint32(8).uint64(message.pageSize); - } - if (message.cursor !== undefined) { - Index.encode(message.cursor, writer.uint32(18).fork()).ldelim(); - } - if (message.direction !== 0) { - writer.uint32(24).int32(message.direction); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): PagingInfo { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBasePagingInfo(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.pageSize = reader.uint64() as Long; - break; - case 2: - message.cursor = Index.decode(reader, reader.uint32()); - break; - case 3: - message.direction = reader.int32() as any; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): PagingInfo { - return { - pageSize: isSet(object.pageSize) - ? Long.fromString(object.pageSize) - : Long.UZERO, - cursor: isSet(object.cursor) ? Index.fromJSON(object.cursor) : undefined, - direction: isSet(object.direction) - ? pagingInfo_DirectionFromJSON(object.direction) - : 0, - }; - }, - - toJSON(message: PagingInfo): unknown { - const obj: any = {}; - message.pageSize !== undefined && - (obj.pageSize = (message.pageSize || Long.UZERO).toString()); - message.cursor !== undefined && - (obj.cursor = message.cursor ? Index.toJSON(message.cursor) : undefined); - message.direction !== undefined && - (obj.direction = pagingInfo_DirectionToJSON(message.direction)); - return obj; - }, - - fromPartial, I>>( - object: I - ): PagingInfo { - const message = createBasePagingInfo(); - message.pageSize = - object.pageSize !== undefined && object.pageSize !== null - ? Long.fromValue(object.pageSize) - : Long.UZERO; - message.cursor = - object.cursor !== undefined && object.cursor !== null - ? Index.fromPartial(object.cursor) - : undefined; - message.direction = object.direction ?? 0; - return message; - }, -}; - -function createBaseContentFilter(): ContentFilter { - return { contentTopic: "" }; -} - -export const ContentFilter = { - encode( - message: ContentFilter, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.contentTopic !== "") { - writer.uint32(10).string(message.contentTopic); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): ContentFilter { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseContentFilter(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.contentTopic = reader.string(); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): ContentFilter { - return { - contentTopic: isSet(object.contentTopic) - ? String(object.contentTopic) - : "", - }; - }, - - toJSON(message: ContentFilter): unknown { - const obj: any = {}; - message.contentTopic !== undefined && - (obj.contentTopic = message.contentTopic); - return obj; - }, - - fromPartial, I>>( - object: I - ): ContentFilter { - const message = createBaseContentFilter(); - message.contentTopic = object.contentTopic ?? ""; - return message; - }, -}; - -function createBaseHistoryQuery(): HistoryQuery { - return { - pubSubTopic: undefined, - contentFilters: [], - pagingInfo: undefined, - startTime: undefined, - endTime: undefined, - }; -} - -export const HistoryQuery = { - encode( - message: HistoryQuery, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.pubSubTopic !== undefined) { - writer.uint32(18).string(message.pubSubTopic); - } - for (const v of message.contentFilters) { - ContentFilter.encode(v!, writer.uint32(26).fork()).ldelim(); - } - if (message.pagingInfo !== undefined) { - PagingInfo.encode(message.pagingInfo, writer.uint32(34).fork()).ldelim(); - } - if (message.startTime !== undefined) { - writer.uint32(40).sint64(message.startTime); - } - if (message.endTime !== undefined) { - writer.uint32(48).sint64(message.endTime); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): HistoryQuery { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHistoryQuery(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 2: - message.pubSubTopic = reader.string(); - break; - case 3: - message.contentFilters.push( - ContentFilter.decode(reader, reader.uint32()) - ); - break; - case 4: - message.pagingInfo = PagingInfo.decode(reader, reader.uint32()); - break; - case 5: - message.startTime = reader.sint64() as Long; - break; - case 6: - message.endTime = reader.sint64() as Long; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): HistoryQuery { - return { - pubSubTopic: isSet(object.pubSubTopic) - ? String(object.pubSubTopic) - : undefined, - contentFilters: Array.isArray(object?.contentFilters) - ? object.contentFilters.map((e: any) => ContentFilter.fromJSON(e)) - : [], - pagingInfo: isSet(object.pagingInfo) - ? PagingInfo.fromJSON(object.pagingInfo) - : undefined, - startTime: isSet(object.startTime) - ? Long.fromString(object.startTime) - : undefined, - endTime: isSet(object.endTime) - ? Long.fromString(object.endTime) - : undefined, - }; - }, - - toJSON(message: HistoryQuery): unknown { - const obj: any = {}; - message.pubSubTopic !== undefined && - (obj.pubSubTopic = message.pubSubTopic); - if (message.contentFilters) { - obj.contentFilters = message.contentFilters.map((e) => - e ? ContentFilter.toJSON(e) : undefined - ); - } else { - obj.contentFilters = []; - } - message.pagingInfo !== undefined && - (obj.pagingInfo = message.pagingInfo - ? PagingInfo.toJSON(message.pagingInfo) - : undefined); - message.startTime !== undefined && - (obj.startTime = (message.startTime || undefined).toString()); - message.endTime !== undefined && - (obj.endTime = (message.endTime || undefined).toString()); - return obj; - }, - - fromPartial, I>>( - object: I - ): HistoryQuery { - const message = createBaseHistoryQuery(); - message.pubSubTopic = object.pubSubTopic ?? undefined; - message.contentFilters = - object.contentFilters?.map((e) => ContentFilter.fromPartial(e)) || []; - message.pagingInfo = - object.pagingInfo !== undefined && object.pagingInfo !== null - ? PagingInfo.fromPartial(object.pagingInfo) - : undefined; - message.startTime = - object.startTime !== undefined && object.startTime !== null - ? Long.fromValue(object.startTime) - : undefined; - message.endTime = - object.endTime !== undefined && object.endTime !== null - ? Long.fromValue(object.endTime) - : undefined; - return message; - }, -}; - -function createBaseHistoryResponse(): HistoryResponse { - return { messages: [], pagingInfo: undefined, error: 0 }; -} - -export const HistoryResponse = { - encode( - message: HistoryResponse, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - for (const v of message.messages) { - WakuMessage.encode(v!, writer.uint32(18).fork()).ldelim(); - } - if (message.pagingInfo !== undefined) { - PagingInfo.encode(message.pagingInfo, writer.uint32(26).fork()).ldelim(); - } - if (message.error !== 0) { - writer.uint32(32).int32(message.error); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): HistoryResponse { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHistoryResponse(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 2: - message.messages.push(WakuMessage.decode(reader, reader.uint32())); - break; - case 3: - message.pagingInfo = PagingInfo.decode(reader, reader.uint32()); - break; - case 4: - message.error = reader.int32() as any; - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): HistoryResponse { - return { - messages: Array.isArray(object?.messages) - ? object.messages.map((e: any) => WakuMessage.fromJSON(e)) - : [], - pagingInfo: isSet(object.pagingInfo) - ? PagingInfo.fromJSON(object.pagingInfo) - : undefined, - error: isSet(object.error) - ? historyResponse_ErrorFromJSON(object.error) - : 0, - }; - }, - - toJSON(message: HistoryResponse): unknown { - const obj: any = {}; - if (message.messages) { - obj.messages = message.messages.map((e) => - e ? WakuMessage.toJSON(e) : undefined - ); - } else { - obj.messages = []; - } - message.pagingInfo !== undefined && - (obj.pagingInfo = message.pagingInfo - ? PagingInfo.toJSON(message.pagingInfo) - : undefined); - message.error !== undefined && - (obj.error = historyResponse_ErrorToJSON(message.error)); - return obj; - }, - - fromPartial, I>>( - object: I - ): HistoryResponse { - const message = createBaseHistoryResponse(); - message.messages = - object.messages?.map((e) => WakuMessage.fromPartial(e)) || []; - message.pagingInfo = - object.pagingInfo !== undefined && object.pagingInfo !== null - ? PagingInfo.fromPartial(object.pagingInfo) - : undefined; - message.error = object.error ?? 0; - return message; - }, -}; - -function createBaseHistoryRPC(): HistoryRPC { - return { requestId: "", query: undefined, response: undefined }; -} - -export const HistoryRPC = { - encode( - message: HistoryRPC, - writer: _m0.Writer = _m0.Writer.create() - ): _m0.Writer { - if (message.requestId !== "") { - writer.uint32(10).string(message.requestId); - } - if (message.query !== undefined) { - HistoryQuery.encode(message.query, writer.uint32(18).fork()).ldelim(); - } - if (message.response !== undefined) { - HistoryResponse.encode( - message.response, - writer.uint32(26).fork() - ).ldelim(); - } - return writer; - }, - - decode(input: _m0.Reader | Uint8Array, length?: number): HistoryRPC { - const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input); - let end = length === undefined ? reader.len : reader.pos + length; - const message = createBaseHistoryRPC(); - while (reader.pos < end) { - const tag = reader.uint32(); - switch (tag >>> 3) { - case 1: - message.requestId = reader.string(); - break; - case 2: - message.query = HistoryQuery.decode(reader, reader.uint32()); - break; - case 3: - message.response = HistoryResponse.decode(reader, reader.uint32()); - break; - default: - reader.skipType(tag & 7); - break; - } - } - return message; - }, - - fromJSON(object: any): HistoryRPC { - return { - requestId: isSet(object.requestId) ? String(object.requestId) : "", - query: isSet(object.query) - ? HistoryQuery.fromJSON(object.query) - : undefined, - response: isSet(object.response) - ? HistoryResponse.fromJSON(object.response) - : undefined, - }; - }, - - toJSON(message: HistoryRPC): unknown { - const obj: any = {}; - message.requestId !== undefined && (obj.requestId = message.requestId); - message.query !== undefined && - (obj.query = message.query - ? HistoryQuery.toJSON(message.query) - : undefined); - message.response !== undefined && - (obj.response = message.response - ? HistoryResponse.toJSON(message.response) - : undefined); - return obj; - }, - - fromPartial, I>>( - object: I - ): HistoryRPC { - const message = createBaseHistoryRPC(); - message.requestId = object.requestId ?? ""; - message.query = - object.query !== undefined && object.query !== null - ? HistoryQuery.fromPartial(object.query) - : undefined; - message.response = - object.response !== undefined && object.response !== null - ? HistoryResponse.fromPartial(object.response) - : undefined; - 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 Long - ? string | number | Long - : 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 - >; - -if (_m0.util.Long !== Long) { - _m0.util.Long = Long as any; - _m0.configure(); -} - -function isSet(value: any): boolean { - return value !== null && value !== undefined; -} diff --git a/src/test_utils/nwaku.ts b/src/test_utils/nwaku.ts index bca896fb63..89365fe8c7 100644 --- a/src/test_utils/nwaku.ts +++ b/src/test_utils/nwaku.ts @@ -14,7 +14,7 @@ import portfinder from "portfinder"; import { DefaultPubSubTopic } from "../lib/constants"; import { hexToBytes } from "../lib/utils"; import { WakuMessage } from "../lib/waku_message"; -import * as proto from "../proto/waku/v2/message"; +import * as proto from "../proto/message"; import { existsAsync, mkdirAsync, openAsync } from "./async_fs"; import waitForLine from "./log_file"; @@ -88,7 +88,7 @@ export class Nwaku { let timestamp; if (message.proto.timestamp) { - timestamp = message.proto.timestamp.toNumber(); + timestamp = Number.parseInt(message.proto.timestamp.toString(10)); } return {