diff --git a/lib/tsconfig.build.tsbuildinfo b/lib/tsconfig.build.tsbuildinfo index 1083986..a491459 100644 --- a/lib/tsconfig.build.tsbuildinfo +++ b/lib/tsconfig.build.tsbuildinfo @@ -1 +1 @@ -{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/constants.ts","../src/errors.ts","../temp-deps/blst-ts/lib/index.d.ts","../src/types.ts","../src/helpers/hex.ts","../node_modules/@types/node/ts4.8/assert.d.ts","../node_modules/@types/node/ts4.8/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/ts4.8/globals.d.ts","../node_modules/@types/node/ts4.8/async_hooks.d.ts","../node_modules/@types/node/ts4.8/buffer.d.ts","../node_modules/@types/node/ts4.8/child_process.d.ts","../node_modules/@types/node/ts4.8/cluster.d.ts","../node_modules/@types/node/ts4.8/console.d.ts","../node_modules/@types/node/ts4.8/constants.d.ts","../node_modules/@types/node/ts4.8/crypto.d.ts","../node_modules/@types/node/ts4.8/dgram.d.ts","../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../node_modules/@types/node/ts4.8/dns.d.ts","../node_modules/@types/node/ts4.8/dns/promises.d.ts","../node_modules/@types/node/ts4.8/domain.d.ts","../node_modules/@types/node/ts4.8/dom-events.d.ts","../node_modules/@types/node/ts4.8/events.d.ts","../node_modules/@types/node/ts4.8/fs.d.ts","../node_modules/@types/node/ts4.8/fs/promises.d.ts","../node_modules/@types/node/ts4.8/http.d.ts","../node_modules/@types/node/ts4.8/http2.d.ts","../node_modules/@types/node/ts4.8/https.d.ts","../node_modules/@types/node/ts4.8/inspector.d.ts","../node_modules/@types/node/ts4.8/module.d.ts","../node_modules/@types/node/ts4.8/net.d.ts","../node_modules/@types/node/ts4.8/os.d.ts","../node_modules/@types/node/ts4.8/path.d.ts","../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../node_modules/@types/node/ts4.8/process.d.ts","../node_modules/@types/node/ts4.8/punycode.d.ts","../node_modules/@types/node/ts4.8/querystring.d.ts","../node_modules/@types/node/ts4.8/readline.d.ts","../node_modules/@types/node/ts4.8/readline/promises.d.ts","../node_modules/@types/node/ts4.8/repl.d.ts","../node_modules/@types/node/ts4.8/stream.d.ts","../node_modules/@types/node/ts4.8/stream/promises.d.ts","../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../node_modules/@types/node/ts4.8/stream/web.d.ts","../node_modules/@types/node/ts4.8/string_decoder.d.ts","../node_modules/@types/node/ts4.8/test.d.ts","../node_modules/@types/node/ts4.8/timers.d.ts","../node_modules/@types/node/ts4.8/timers/promises.d.ts","../node_modules/@types/node/ts4.8/tls.d.ts","../node_modules/@types/node/ts4.8/trace_events.d.ts","../node_modules/@types/node/ts4.8/tty.d.ts","../node_modules/@types/node/ts4.8/url.d.ts","../node_modules/@types/node/ts4.8/util.d.ts","../node_modules/@types/node/ts4.8/v8.d.ts","../node_modules/@types/node/ts4.8/vm.d.ts","../node_modules/@types/node/ts4.8/wasi.d.ts","../node_modules/@types/node/ts4.8/worker_threads.d.ts","../node_modules/@types/node/ts4.8/zlib.d.ts","../node_modules/@types/node/ts4.8/globals.global.d.ts","../node_modules/@types/node/ts4.8/index.d.ts","../node_modules/@types/randombytes/index.d.ts","../src/helpers/utils.ts","../src/helpers/index.ts","../src/functional.ts","../node_modules/bls-eth-wasm/src/index.d.ts","../node_modules/@chainsafe/bls-keygen/lib/index.d.ts","../src/herumi/context.ts","../src/herumi/publickey.ts","../src/herumi/signature.ts","../src/herumi/secretkey.ts","../src/herumi/index.ts","../src/blst-native/publickey.ts","../src/blst-native/signature.ts","../src/blst-native/secretkey.ts","../src/blst-native/index.ts","../src/getimplementation.ts","../src/index.ts","../src/switchable.ts","../src/herumi/web.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@types/cookie/index.d.ts","../node_modules/@types/cors/index.d.ts","../node_modules/@types/eslint/helpers.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/triple-beam/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},{"version":"76417a4e334d47b4cc8fa93b2ebd5a1904713ed0bb46971d192cc476ca28dd38","signature":"d4a6a453f57822218b3b9f700a1e8460a97e437dd71ba71d34c9141739b91b5b"},{"version":"064df212285cc6f6f1903d2a598ddd91042857a67f8d153dd2035e10bace4a5a","signature":"45c2b5275a6bfe99fb1924a3eb9060db018dfa78a8c6f6b800c20c1d16dc6825"},"ff94dff7f8704c1567100844fb2c8205f53d8ef6c79deff13d8f7d6368eba02c",{"version":"901e803f9548db99a33f59d13607da4e6ff27690655cd137b9ccab6057b76394","signature":"07950113829f6b419ab01b7d7566d1e685a8679db912fb6092f4b7d5635b2c0c"},{"version":"9160c1c1f4a2e8fb5db003d8292669269a917b425fcff3e3390e6d9a3660c1a1","signature":"5a1e78b6c77de53cf6d8a0925cd944deb4e0466a967f1d4f0bff96fdac9ef568"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"e2eb1ce13a9c0fa7ab62c63909d81973ef4b707292667c64f1e25e6e53fa7afa","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","b9eb34e3aad1f35f1f423761e938679b48ecf7247acb924c829c8540092f8057","bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","f1ace2d2f98429e007d017c7a445efad2aaebf8233135abdb2c88b8c0fef91ab","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"84c3905d1f213d4572c0db8dfab896a4994173a044882aafc901498fb34fc76b","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","8013f6c4d1632da8f1c4d3d702ae559acccd0f1be05360c31755f272587199c9",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","cc6bdeb756593c9c914204f158057b328ed53c898f176a0706a8dafcc108b49e",{"version":"abe94c1a7701d5b279d48298fb131da56c87f73aaff5421dfa503a4666235315","signature":"73349e07e1e57d0dde722964828c19f054060e6e429a50c7ee8e399f67fda0ab"},"0ebed0a0e918d9fd5ea48a3733f8cfbf1e91b96b4aeceaf4b959b14e2e00198d",{"version":"3f8a92537606d330e5b75bd96e0a9d9d705e3bd23e00b06d21a16fb2e7c77b63","signature":"0203413ce9577a5834b3dc3732bee9bb66ec55264f0669c4e4418007756de4ef"},"874b46794b2cad03ddd1321099422756be81b69631792b60ae31b65489cfd91a","d8ac9de2e79312762f120c4dc8d39ee490b5d7ccedbf998f7fc7a6b6c6610d70",{"version":"8527af601aac4517073959b4095e74b7f9adc6b65ae7c51a54cb1e649acef619","signature":"603d70d0e56b786b2d7d1ba360dbff901608faf47989d699c44df6a20ef0b543","affectsGlobalScope":true},{"version":"a3454218023a72ec281b9e2f4d6d4138f9be11197677688d4c03d3db03966ee9","signature":"459b41b40be3d57e012a724287faa367e09430757c11ff568f47d37e5cc03166"},{"version":"7683f26aa9edb248ec357b4b407ca51c922bfa30a66ff4e0f593ac36f704534f","signature":"c14380a33a0c225791ed558c86eb0a2dbbe32cb97eab937969c8d5315c5c67e4"},{"version":"878d9c666839537aea36fe01cc9371dd257a6f2c0cc8d9182c0dc70e54cc96f9","signature":"869d1edc2ab5ef671fd3b60840d0772682643990aaffd5e144fea2b7e5c3e7f7"},{"version":"32b17c2eab96c922e6b22770d1c1b089b93a97ef935542986f057f303f4226ce","signature":"a966743c902ee16138eadf12efa3604c394913b7c3c617ff0223f147462c348e"},{"version":"b167eecd36fb19e54d47583f504e6e81ef34329b9c41ae746b64c0f648e81349","signature":"47b3ef8b5cba78aef8dfd90db1503551ac217bcbcb9267e88fc4a8f0ef0c1c88"},{"version":"4b14388705d0895d6a5e325c3988741b5f5dc16e2f6b76524c6b4f7021be3af6","signature":"b4e0fc7db51cc07e367fe2de12932bd26c63a616a0294fbbeaf1e4ff901745be"},{"version":"baf16db4474ba2aa299ed4c80f3e5af5d386b68a0233fb4a6ae50e23faf34bfb","signature":"6166e11ec70f4422dd49580feebc529a75dad4f971ef40ad0e6d4c10eef26638"},{"version":"9a981833f580db2735dea3206b8dfdc65ac933ffdbae4f669af1ac92743b6f51","signature":"27ad3335388047cb0b7c2863967f450610e72c34240283e3a9df1baa1e543980"},{"version":"d7fbd5e4a48c6a4dd1038606c9d4021ea2fa32a7b1f4e0b0dbedafdf46c98188","signature":"df2caaead546885eff8c456a8fc4f8609f457e00eee54aff74a919d3ffdd69c2"},{"version":"ddd45e38035536a797371b22d23ac5e08336f767090b80d3837351c07c73eb1d","signature":"ae42077e1c6e601f99cfda1a685a3222924a16a5caefefe4c78bf0971f9b2469"},{"version":"af475b3744974254fd44e66dac9853c42d3aca499a851454bb07d91f0da9aa7b","signature":"6945cd6705baac4115f0d3650bcf9127693f3833bb800c303c3824275fe5d02e"},{"version":"00711a9d641ed723b6b19ff08e99858962fcec0bbbe8a694e444b5cefab2cde5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4a2c144ea6f441e9616ec77fe9b1009b0cdf6db0cd9727b8d99623975cd6c693","affectsGlobalScope":true},"117ffeecf6c55e25b6446f449ad079029b5e7317399b0a693858faaaea5ca73e","3937b50a4de68f6d21614461e9d47af0d8421ca80fc2a72b667ca2151f492120",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","0c5a621a8cf10464c2020f05c99a86d8ac6875d9e17038cb8522cc2f604d539f","1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538",{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true},"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc"],"options":{"declaration":true,"esModuleInterop":true,"module":99,"outDir":"./","strict":true,"strictNullChecks":true,"target":6},"fileIdsList":[[99,133],[157,159],[156,157,158],[47],[83],[84,89,117],[85,96,97,104,114,125],[85,86,96,104],[87,126],[88,89,97,105],[89,114,122],[90,92,96,104],[83,91],[92,93],[96],[94,96],[83,96],[96,97,98,114,125],[96,97,98,111,114,117],[81,84,130],[92,96,99,104,114,125],[96,97,99,100,104,114,122,125],[99,101,114,122,125],[47,48,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132],[96,102],[103,125,130],[92,96,104,114],[105],[106],[83,107],[108,124,130],[109],[110],[96,111,112],[111,113,126,128],[84,96,114,115,116,117],[84,114,116],[114,115],[117],[118],[83,114],[96,120,121],[120,121],[89,104,114,122],[123],[104,124],[84,99,110,125],[89,126],[114,127],[103,128],[129],[84,89,96,98,107,114,125,128,130],[114,131],[89,133],[58,62,125],[58,114,125],[53],[55,58,122,125],[104,122],[133],[53,133],[55,58,104,125],[50,51,54,57,84,96,114,125],[50,56],[54,58,84,117,125,133],[84,133],[74,84,133],[52,53,133],[58],[52,53,54,55,56,57,58,59,60,62,63,64,65,66,67,68,69,70,71,72,73,75,76,77,78,79,80],[58,65,66],[56,58,66,67],[57],[50,53,58],[58,62,66,67],[62],[56,58,61,125],[50,55,56,58,62,65],[84,114],[53,58,74,84,130,133],[42,45,137,145,146,147],[43,44,45,136],[42,43,44,45,136,145,146],[43,44,45,136,145],[45,144,148],[46,135],[134],[43,138],[42,45,137,140,141,142,143],[42,43,45,136,138,140],[42,43,45,136,138,139,140,141,142],[42,43,45,136,138,140,141],[144],[45,149],[44],[42,45,145,146,147],[45],[44,45,145,146],[44,45,145],[138],[42,45,140,141,142,143],[45,138],[45,138,141,142],[45,138,141]],"referencedMap":[[155,1],[160,2],[159,3],[47,4],[48,4],[83,5],[84,6],[85,7],[86,8],[87,9],[88,10],[89,11],[90,12],[91,13],[92,14],[93,14],[95,15],[94,16],[96,17],[97,18],[98,19],[82,20],[99,21],[100,22],[101,23],[133,24],[102,25],[103,26],[104,27],[105,28],[106,29],[107,30],[108,31],[109,32],[110,33],[111,34],[112,34],[113,35],[114,36],[116,37],[115,38],[117,39],[118,40],[119,41],[120,42],[121,43],[122,44],[123,45],[124,46],[125,47],[126,48],[127,49],[128,50],[129,51],[130,52],[131,53],[134,54],[65,55],[72,56],[64,55],[79,57],[56,58],[55,59],[78,60],[73,61],[76,62],[58,63],[57,64],[53,65],[52,66],[75,67],[54,68],[59,69],[63,69],[81,70],[80,69],[67,71],[68,72],[70,73],[66,74],[69,75],[74,60],[61,76],[62,77],[71,78],[51,79],[77,80],[148,81],[145,82],[147,83],[146,84],[137,82],[149,85],[136,86],[135,87],[140,88],[144,89],[141,90],[143,91],[142,92],[152,93],[150,94],[151,94],[45,95]],"exportedModulesMap":[[155,1],[160,2],[159,3],[47,4],[48,4],[83,5],[84,6],[85,7],[86,8],[87,9],[88,10],[89,11],[90,12],[91,13],[92,14],[93,14],[95,15],[94,16],[96,17],[97,18],[98,19],[82,20],[99,21],[100,22],[101,23],[133,24],[102,25],[103,26],[104,27],[105,28],[106,29],[107,30],[108,31],[109,32],[110,33],[111,34],[112,34],[113,35],[114,36],[116,37],[115,38],[117,39],[118,40],[119,41],[120,42],[121,43],[122,44],[123,45],[124,46],[125,47],[126,48],[127,49],[128,50],[129,51],[130,52],[131,53],[134,54],[65,55],[72,56],[64,55],[79,57],[56,58],[55,59],[78,60],[73,61],[76,62],[58,63],[57,64],[53,65],[52,66],[75,67],[54,68],[59,69],[63,69],[81,70],[80,69],[67,71],[68,72],[70,73],[66,74],[69,75],[74,60],[61,76],[62,77],[71,78],[51,79],[77,80],[148,96],[145,97],[147,98],[146,99],[137,97],[149,97],[136,86],[135,87],[140,100],[144,101],[141,102],[143,103],[142,104],[150,97],[151,97],[45,95]],"semanticDiagnosticsPerFile":[139,153,154,155,160,156,159,157,158,161,162,47,48,83,84,85,86,87,88,89,90,91,92,93,95,94,96,97,98,82,132,99,100,101,133,102,103,104,105,106,107,108,109,110,111,112,113,114,116,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,134,163,138,49,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,65,72,64,79,56,55,78,73,76,58,57,53,52,75,54,59,60,63,50,81,80,67,68,70,66,69,74,61,62,71,51,77,148,145,147,146,42,43,137,149,46,136,135,140,144,141,143,142,152,150,151,45,44]},"version":"4.7.4"} \ No newline at end of file +{"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/constants.ts","../src/errors.ts","../temp-deps/blst-ts/lib/index.d.ts","../src/types.ts","../src/helpers/hex.ts","../node_modules/@types/node/ts4.8/assert.d.ts","../node_modules/@types/node/ts4.8/assert/strict.d.ts","../node_modules/buffer/index.d.ts","../node_modules/undici-types/header.d.ts","../node_modules/undici-types/readable.d.ts","../node_modules/undici-types/file.d.ts","../node_modules/undici-types/fetch.d.ts","../node_modules/undici-types/formdata.d.ts","../node_modules/undici-types/connector.d.ts","../node_modules/undici-types/client.d.ts","../node_modules/undici-types/errors.d.ts","../node_modules/undici-types/dispatcher.d.ts","../node_modules/undici-types/global-dispatcher.d.ts","../node_modules/undici-types/global-origin.d.ts","../node_modules/undici-types/pool-stats.d.ts","../node_modules/undici-types/pool.d.ts","../node_modules/undici-types/handlers.d.ts","../node_modules/undici-types/balanced-pool.d.ts","../node_modules/undici-types/agent.d.ts","../node_modules/undici-types/mock-interceptor.d.ts","../node_modules/undici-types/mock-agent.d.ts","../node_modules/undici-types/mock-client.d.ts","../node_modules/undici-types/mock-pool.d.ts","../node_modules/undici-types/mock-errors.d.ts","../node_modules/undici-types/proxy-agent.d.ts","../node_modules/undici-types/api.d.ts","../node_modules/undici-types/cookies.d.ts","../node_modules/undici-types/patch.d.ts","../node_modules/undici-types/filereader.d.ts","../node_modules/undici-types/diagnostics-channel.d.ts","../node_modules/undici-types/websocket.d.ts","../node_modules/undici-types/content-type.d.ts","../node_modules/undici-types/cache.d.ts","../node_modules/undici-types/interceptors.d.ts","../node_modules/undici-types/index.d.ts","../node_modules/@types/node/ts4.8/globals.d.ts","../node_modules/@types/node/ts4.8/async_hooks.d.ts","../node_modules/@types/node/ts4.8/buffer.d.ts","../node_modules/@types/node/ts4.8/child_process.d.ts","../node_modules/@types/node/ts4.8/cluster.d.ts","../node_modules/@types/node/ts4.8/console.d.ts","../node_modules/@types/node/ts4.8/constants.d.ts","../node_modules/@types/node/ts4.8/crypto.d.ts","../node_modules/@types/node/ts4.8/dgram.d.ts","../node_modules/@types/node/ts4.8/diagnostics_channel.d.ts","../node_modules/@types/node/ts4.8/dns.d.ts","../node_modules/@types/node/ts4.8/dns/promises.d.ts","../node_modules/@types/node/ts4.8/domain.d.ts","../node_modules/@types/node/ts4.8/dom-events.d.ts","../node_modules/@types/node/ts4.8/events.d.ts","../node_modules/@types/node/ts4.8/fs.d.ts","../node_modules/@types/node/ts4.8/fs/promises.d.ts","../node_modules/@types/node/ts4.8/http.d.ts","../node_modules/@types/node/ts4.8/http2.d.ts","../node_modules/@types/node/ts4.8/https.d.ts","../node_modules/@types/node/ts4.8/inspector.d.ts","../node_modules/@types/node/ts4.8/module.d.ts","../node_modules/@types/node/ts4.8/net.d.ts","../node_modules/@types/node/ts4.8/os.d.ts","../node_modules/@types/node/ts4.8/path.d.ts","../node_modules/@types/node/ts4.8/perf_hooks.d.ts","../node_modules/@types/node/ts4.8/process.d.ts","../node_modules/@types/node/ts4.8/punycode.d.ts","../node_modules/@types/node/ts4.8/querystring.d.ts","../node_modules/@types/node/ts4.8/readline.d.ts","../node_modules/@types/node/ts4.8/readline/promises.d.ts","../node_modules/@types/node/ts4.8/repl.d.ts","../node_modules/@types/node/ts4.8/stream.d.ts","../node_modules/@types/node/ts4.8/stream/promises.d.ts","../node_modules/@types/node/ts4.8/stream/consumers.d.ts","../node_modules/@types/node/ts4.8/stream/web.d.ts","../node_modules/@types/node/ts4.8/string_decoder.d.ts","../node_modules/@types/node/ts4.8/test.d.ts","../node_modules/@types/node/ts4.8/timers.d.ts","../node_modules/@types/node/ts4.8/timers/promises.d.ts","../node_modules/@types/node/ts4.8/tls.d.ts","../node_modules/@types/node/ts4.8/trace_events.d.ts","../node_modules/@types/node/ts4.8/tty.d.ts","../node_modules/@types/node/ts4.8/url.d.ts","../node_modules/@types/node/ts4.8/util.d.ts","../node_modules/@types/node/ts4.8/v8.d.ts","../node_modules/@types/node/ts4.8/vm.d.ts","../node_modules/@types/node/ts4.8/wasi.d.ts","../node_modules/@types/node/ts4.8/worker_threads.d.ts","../node_modules/@types/node/ts4.8/zlib.d.ts","../node_modules/@types/node/ts4.8/globals.global.d.ts","../node_modules/@types/node/ts4.8/index.d.ts","../node_modules/@types/randombytes/index.d.ts","../src/helpers/utils.ts","../src/helpers/index.ts","../src/functional.ts","../node_modules/bls-eth-wasm/src/index.d.ts","../node_modules/@chainsafe/bls-keygen/lib/index.d.ts","../src/herumi/context.ts","../src/herumi/publickey.ts","../src/herumi/signature.ts","../src/herumi/secretkey.ts","../src/herumi/index.ts","../src/blst-native/publickey.ts","../src/blst-native/signature.ts","../src/blst-native/secretkey.ts","../src/blst-native/index.ts","../src/getimplementation.ts","../src/index.ts","../src/switchable.ts","../src/herumi/web.ts","../node_modules/@types/chai/index.d.ts","../node_modules/@types/cookie/index.d.ts","../node_modules/@types/cors/index.d.ts","../node_modules/@types/eslint/helpers.d.ts","../node_modules/@types/estree/index.d.ts","../node_modules/@types/json-schema/index.d.ts","../node_modules/@types/eslint/index.d.ts","../node_modules/@types/eslint-scope/index.d.ts","../node_modules/@types/json5/index.d.ts","../node_modules/@types/mocha/index.d.ts","../node_modules/@types/triple-beam/index.d.ts"],"fileInfos":[{"version":"f5c28122bee592cfaf5c72ed7bcc47f453b79778ffa6e301f45d21a0970719d4","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"3f149f903dd20dfeb7c80e228b659f0e436532de772469980dbd00702cc05cc1","affectsGlobalScope":true},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"cd483c056da900716879771893a3c9772b66c3c88f8943b4205aec738a94b1d0","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"c37f8a49593a0030eecb51bbfa270e709bec9d79a6cc3bb851ef348d4e6b26f8","affectsGlobalScope":true},{"version":"76417a4e334d47b4cc8fa93b2ebd5a1904713ed0bb46971d192cc476ca28dd38","signature":"d4a6a453f57822218b3b9f700a1e8460a97e437dd71ba71d34c9141739b91b5b"},{"version":"064df212285cc6f6f1903d2a598ddd91042857a67f8d153dd2035e10bace4a5a","signature":"45c2b5275a6bfe99fb1924a3eb9060db018dfa78a8c6f6b800c20c1d16dc6825"},"1768797e35adf4e7fb6294eefbc63db597c8eb0e2e69c020c6fb73fd7bbfa1c6",{"version":"901e803f9548db99a33f59d13607da4e6ff27690655cd137b9ccab6057b76394","signature":"07950113829f6b419ab01b7d7566d1e685a8679db912fb6092f4b7d5635b2c0c"},{"version":"9160c1c1f4a2e8fb5db003d8292669269a917b425fcff3e3390e6d9a3660c1a1","signature":"5a1e78b6c77de53cf6d8a0925cd944deb4e0466a967f1d4f0bff96fdac9ef568"},"efc7d584a33fe3422847783d228f315c4cd1afe74bd7cf8e3f0e4c1125129fef","7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","4967529644e391115ca5592184d4b63980569adf60ee685f968fd59ab1557188","5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","7180c03fd3cb6e22f911ce9ba0f8a7008b1a6ddbe88ccf16a9c8140ef9ac1686","25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","54cb85a47d760da1c13c00add10d26b5118280d44d58e6908d8e89abbd9d7725","3e4825171442666d31c845aeb47fcd34b62e14041bb353ae2b874285d78482aa","c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","a967bfe3ad4e62243eb604bf956101e4c740f5921277c60debaf325c1320bf88","e9775e97ac4877aebf963a0289c81abe76d1ec9a2a7778dbe637e5151f25c5f3","471e1da5a78350bc55ef8cef24eb3aca6174143c281b8b214ca2beda51f5e04a","cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","db3435f3525cd785bf21ec6769bf8da7e8a776be1a99e2e7efb5f244a2ef5fee","c3b170c45fc031db31f782e612adf7314b167e60439d304b49e704010e7bafe5","40383ebef22b943d503c6ce2cb2e060282936b952a01bea5f9f493d5fb487cc7","4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","3a84b7cb891141824bd00ef8a50b6a44596aded4075da937f180c90e362fe5f6","13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","33203609eba548914dc83ddf6cadbc0bcb6e8ef89f6d648ca0908ae887f9fcc5","0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","e53a3c2a9f624d90f24bf4588aacd223e7bec1b9d0d479b68d2f4a9e6011147f","339dc5265ee5ed92e536a93a04c4ebbc2128f45eeec6ed29f379e0085283542c","9f0a92164925aa37d4a5d9dd3e0134cff8177208dba55fd2310cd74beea40ee2","8bfdb79bf1a9d435ec48d9372dc93291161f152c0865b81fc0b2694aedb4578d","2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","d32275be3546f252e3ad33976caf8c5e842c09cb87d468cb40d5f4cf092d1acc","4a0c3504813a3289f7fb1115db13967c8e004aa8e4f8a9021b95285502221bd1",{"version":"a14ed46fa3f5ffc7a8336b497cd07b45c2084213aaca933a22443fcb2eef0d07","affectsGlobalScope":true},"cce1f5f86974c1e916ec4a8cab6eec9aa8e31e8148845bf07fbaa8e1d97b1a2c",{"version":"e2eb1ce13a9c0fa7ab62c63909d81973ef4b707292667c64f1e25e6e53fa7afa","affectsGlobalScope":true},"16d74fe4d8e183344d3beb15d48b123c5980ff32ff0cc8c3b96614ddcdf9b239","7b43160a49cf2c6082da0465876c4a0b164e160b81187caeb0a6ca7a281e85ba",{"version":"41fb2a1c108fbf46609ce5a451b7ec78eb9b5ada95fd5b94643e4b26397de0b3","affectsGlobalScope":true},"a40826e8476694e90da94aa008283a7de50d1dafd37beada623863f1901cb7fb","b9eb34e3aad1f35f1f423761e938679b48ecf7247acb924c829c8540092f8057","bd3f5d05b6b5e4bfcea7739a45f3ffb4a7f4a3442ba7baf93e0200799285b8f1","4c775c2fccabf49483c03cd5e3673f87c1ffb6079d98e7b81089c3def79e29c6","8806ae97308ef26363bd7ec8071bca4d07fb575f905ee3d8a91aff226df6d618","af5bf1db6f1804fb0069039ae77a05d60133c77a2158d9635ea27b6bb2828a8f","b7fe70be794e13d1b7940e318b8770cd1fb3eced7707805318a2e3aaac2c3e9e",{"version":"2c71199d1fc83bf17636ad5bf63a945633406b7b94887612bba4ef027c662b3e","affectsGlobalScope":true},{"version":"7ae9dc7dbb58cd843065639707815df85c044babaa0947116f97bdb824d07204","affectsGlobalScope":true},"fe1fd6afdfe77976d4c702f3746c05fb05a7e566845c890e0e970fe9376d6a90","313a0b063f5188037db113509de1b934a0e286f14e9479af24fada241435e707","f1ace2d2f98429e007d017c7a445efad2aaebf8233135abdb2c88b8c0fef91ab","87ef1a23caa071b07157c72077fa42b86d30568f9dc9e31eed24d5d14fc30ba8","396a8939b5e177542bdf9b5262b4eee85d29851b2d57681fa9d7eae30e225830","21773f5ac69ddf5a05636ba1f50b5239f4f2d27e4420db147fc2f76a5ae598ac",{"version":"ea455cc68871b049bcecd9f56d4cf27b852d6dafd5e3b54468ca87cc11604e4d","affectsGlobalScope":true},"a5fe4cc622c3bf8e09ababde5f4096ceac53163eefcd95e9cd53f062ff9bb67a","45b1053e691c5af9bfe85060a3e1542835f8d84a7e6e2e77ca305251eda0cb3c","0f05c06ff6196958d76b865ae17245b52d8fe01773626ac3c43214a2458ea7b7",{"version":"ae5507fc333d637dec9f37c6b3f4d423105421ea2820a64818de55db85214d66","affectsGlobalScope":true},{"version":"0666f4c99b8688c7be5956df8fecf5d1779d3b22f8f2a88258ae7072c7b6026f","affectsGlobalScope":true},"8abd0566d2854c4bd1c5e48e05df5c74927187f1541e6770001d9637ac41542e","54e854615c4eafbdd3fd7688bd02a3aafd0ccf0e87c98f79d3e9109f047ce6b8","d8dba11dc34d50cb4202de5effa9a1b296d7a2f4a029eec871f894bddfb6430d","8b71dd18e7e63b6f991b511a201fad7c3bf8d1e0dd98acb5e3d844f335a73634","01d8e1419c84affad359cc240b2b551fb9812b450b4d3d456b64cda8102d4f60","8221b00f271cf7f535a8eeec03b0f80f0929c7a16116e2d2df089b41066de69b","269929a24b2816343a178008ac9ae9248304d92a8ba8e233055e0ed6dbe6ef71","93452d394fdd1dc551ec62f5042366f011a00d342d36d50793b3529bfc9bd633","7424817d5eb498771e6d1808d726ec38f75d2eaf3fa359edd5c0c540c52725c1","831c22d257717bf2cbb03afe9c4bcffc5ccb8a2074344d4238bf16d3a857bb12",{"version":"bddce945d552a963c9733db106b17a25474eefcab7fc990157a2134ef55d4954","affectsGlobalScope":true},{"version":"7052b7b0c3829df3b4985bab2fd74531074b4835d5a7b263b75c82f0916ad62f","affectsGlobalScope":true},"aa34c3aa493d1c699601027c441b9664547c3024f9dbab1639df7701d63d18fa","eefcdf86cefff36e5d87de36a3638ab5f7d16c2b68932be4a72c14bb924e43c1","7c651f8dce91a927ab62925e73f190763574c46098f2b11fb8ddc1b147a6709a","7440ab60f4cb031812940cc38166b8bb6fbf2540cfe599f87c41c08011f0c1df",{"version":"4d0405568cf6e0ff36a4861c4a77e641366feaefa751600b0a4d12a5e8f730a8","affectsGlobalScope":true},{"version":"84c3905d1f213d4572c0db8dfab896a4994173a044882aafc901498fb34fc76b","affectsGlobalScope":true},"e393915d3dc385e69c0e2390739c87b2d296a610662eb0b1cb85224e55992250","79bad8541d5779c85e82a9fb119c1fe06af77a71cc40f869d62ad379473d4b75","8013f6c4d1632da8f1c4d3d702ae559acccd0f1be05360c31755f272587199c9",{"version":"629d20681ca284d9e38c0a019f647108f5fe02f9c59ac164d56f5694fc3faf4d","affectsGlobalScope":true},"e7dbf5716d76846c7522e910896c5747b6df1abd538fee8f5291bdc843461795",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"652ee9c5103e89102d87bc20d167a02a0e3e5e53665674466c8cfea8a9e418c7","cc6bdeb756593c9c914204f158057b328ed53c898f176a0706a8dafcc108b49e",{"version":"abe94c1a7701d5b279d48298fb131da56c87f73aaff5421dfa503a4666235315","signature":"73349e07e1e57d0dde722964828c19f054060e6e429a50c7ee8e399f67fda0ab"},"0ebed0a0e918d9fd5ea48a3733f8cfbf1e91b96b4aeceaf4b959b14e2e00198d",{"version":"3f8a92537606d330e5b75bd96e0a9d9d705e3bd23e00b06d21a16fb2e7c77b63","signature":"0203413ce9577a5834b3dc3732bee9bb66ec55264f0669c4e4418007756de4ef"},"874b46794b2cad03ddd1321099422756be81b69631792b60ae31b65489cfd91a","d8ac9de2e79312762f120c4dc8d39ee490b5d7ccedbf998f7fc7a6b6c6610d70",{"version":"8527af601aac4517073959b4095e74b7f9adc6b65ae7c51a54cb1e649acef619","signature":"603d70d0e56b786b2d7d1ba360dbff901608faf47989d699c44df6a20ef0b543","affectsGlobalScope":true},{"version":"a3454218023a72ec281b9e2f4d6d4138f9be11197677688d4c03d3db03966ee9","signature":"459b41b40be3d57e012a724287faa367e09430757c11ff568f47d37e5cc03166"},{"version":"7683f26aa9edb248ec357b4b407ca51c922bfa30a66ff4e0f593ac36f704534f","signature":"c14380a33a0c225791ed558c86eb0a2dbbe32cb97eab937969c8d5315c5c67e4"},{"version":"878d9c666839537aea36fe01cc9371dd257a6f2c0cc8d9182c0dc70e54cc96f9","signature":"869d1edc2ab5ef671fd3b60840d0772682643990aaffd5e144fea2b7e5c3e7f7"},{"version":"32b17c2eab96c922e6b22770d1c1b089b93a97ef935542986f057f303f4226ce","signature":"a966743c902ee16138eadf12efa3604c394913b7c3c617ff0223f147462c348e"},{"version":"b167eecd36fb19e54d47583f504e6e81ef34329b9c41ae746b64c0f648e81349","signature":"47b3ef8b5cba78aef8dfd90db1503551ac217bcbcb9267e88fc4a8f0ef0c1c88"},{"version":"4b14388705d0895d6a5e325c3988741b5f5dc16e2f6b76524c6b4f7021be3af6","signature":"b4e0fc7db51cc07e367fe2de12932bd26c63a616a0294fbbeaf1e4ff901745be"},{"version":"baf16db4474ba2aa299ed4c80f3e5af5d386b68a0233fb4a6ae50e23faf34bfb","signature":"6166e11ec70f4422dd49580feebc529a75dad4f971ef40ad0e6d4c10eef26638"},{"version":"9a981833f580db2735dea3206b8dfdc65ac933ffdbae4f669af1ac92743b6f51","signature":"27ad3335388047cb0b7c2863967f450610e72c34240283e3a9df1baa1e543980"},{"version":"d7fbd5e4a48c6a4dd1038606c9d4021ea2fa32a7b1f4e0b0dbedafdf46c98188","signature":"df2caaead546885eff8c456a8fc4f8609f457e00eee54aff74a919d3ffdd69c2"},{"version":"ddd45e38035536a797371b22d23ac5e08336f767090b80d3837351c07c73eb1d","signature":"ae42077e1c6e601f99cfda1a685a3222924a16a5caefefe4c78bf0971f9b2469"},{"version":"af475b3744974254fd44e66dac9853c42d3aca499a851454bb07d91f0da9aa7b","signature":"6945cd6705baac4115f0d3650bcf9127693f3833bb800c303c3824275fe5d02e"},{"version":"00711a9d641ed723b6b19ff08e99858962fcec0bbbe8a694e444b5cefab2cde5","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"4a2c144ea6f441e9616ec77fe9b1009b0cdf6db0cd9727b8d99623975cd6c693","affectsGlobalScope":true},"117ffeecf6c55e25b6446f449ad079029b5e7317399b0a693858faaaea5ca73e","3937b50a4de68f6d21614461e9d47af0d8421ca80fc2a72b667ca2151f492120",{"version":"64d4b35c5456adf258d2cf56c341e203a073253f229ef3208fc0d5020253b241","affectsGlobalScope":true},"ee7d8894904b465b072be0d2e4b45cf6b887cdba16a467645c4e200982ece7ea","f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","0c5a621a8cf10464c2020f05c99a86d8ac6875d9e17038cb8522cc2f604d539f","1f68ab0e055994eb337b67aa87d2a15e0200951e9664959b3866ee6f6b11a0fe","96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538",{"version":"0ea93d01083b3d5863cc98cb589b5d0eac55d14417487f9e5e455dfa0b17c660","affectsGlobalScope":true},"908217c4f2244ec402b73533ebfcc46d6dcd34fc1c807ff403d7f98702abb3bc"],"options":{"declaration":true,"esModuleInterop":true,"module":99,"outDir":"./","strict":true,"strictNullChecks":true,"target":6},"fileIdsList":[[99,133],[157,159],[156,157,158],[47],[83],[84,89,117],[85,96,97,104,114,125],[85,86,96,104],[87,126],[88,89,97,105],[89,114,122],[90,92,96,104],[83,91],[92,93],[96],[94,96],[83,96],[96,97,98,114,125],[96,97,98,111,114,117],[81,84,130],[92,96,99,104,114,125],[96,97,99,100,104,114,122,125],[99,101,114,122,125],[47,48,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132],[96,102],[103,125,130],[92,96,104,114],[105],[106],[83,107],[108,124,130],[109],[110],[96,111,112],[111,113,126,128],[84,96,114,115,116,117],[84,114,116],[114,115],[117],[118],[83,114],[96,120,121],[120,121],[89,104,114,122],[123],[104,124],[84,99,110,125],[89,126],[114,127],[103,128],[129],[84,89,96,98,107,114,125,128,130],[114,131],[89,133],[58,62,125],[58,114,125],[53],[55,58,122,125],[104,122],[133],[53,133],[55,58,104,125],[50,51,54,57,84,96,114,125],[50,56],[54,58,84,117,125,133],[84,133],[74,84,133],[52,53,133],[58],[52,53,54,55,56,57,58,59,60,62,63,64,65,66,67,68,69,70,71,72,73,75,76,77,78,79,80],[58,65,66],[56,58,66,67],[57],[50,53,58],[58,62,66,67],[62],[56,58,61,125],[50,55,56,58,62,65],[84,114],[53,58,74,84,130,133],[42,45,137,145,146,147],[43,44,45,136],[42,43,44,45,136,145,146],[43,44,45,136,145],[45,144,148],[46,135],[134],[43,138],[42,45,137,140,141,142,143],[42,43,45,136,138,140],[42,43,45,136,138,139,140,141,142],[42,43,45,136,138,140,141],[144],[45,149],[44],[42,45,145,146,147],[45],[44,45,145,146],[44,45,145],[138],[42,45,140,141,142,143],[45,138],[45,138,141,142],[45,138,141]],"referencedMap":[[155,1],[160,2],[159,3],[47,4],[48,4],[83,5],[84,6],[85,7],[86,8],[87,9],[88,10],[89,11],[90,12],[91,13],[92,14],[93,14],[95,15],[94,16],[96,17],[97,18],[98,19],[82,20],[99,21],[100,22],[101,23],[133,24],[102,25],[103,26],[104,27],[105,28],[106,29],[107,30],[108,31],[109,32],[110,33],[111,34],[112,34],[113,35],[114,36],[116,37],[115,38],[117,39],[118,40],[119,41],[120,42],[121,43],[122,44],[123,45],[124,46],[125,47],[126,48],[127,49],[128,50],[129,51],[130,52],[131,53],[134,54],[65,55],[72,56],[64,55],[79,57],[56,58],[55,59],[78,60],[73,61],[76,62],[58,63],[57,64],[53,65],[52,66],[75,67],[54,68],[59,69],[63,69],[81,70],[80,69],[67,71],[68,72],[70,73],[66,74],[69,75],[74,60],[61,76],[62,77],[71,78],[51,79],[77,80],[148,81],[145,82],[147,83],[146,84],[137,82],[149,85],[136,86],[135,87],[140,88],[144,89],[141,90],[143,91],[142,92],[152,93],[150,94],[151,94],[45,95]],"exportedModulesMap":[[155,1],[160,2],[159,3],[47,4],[48,4],[83,5],[84,6],[85,7],[86,8],[87,9],[88,10],[89,11],[90,12],[91,13],[92,14],[93,14],[95,15],[94,16],[96,17],[97,18],[98,19],[82,20],[99,21],[100,22],[101,23],[133,24],[102,25],[103,26],[104,27],[105,28],[106,29],[107,30],[108,31],[109,32],[110,33],[111,34],[112,34],[113,35],[114,36],[116,37],[115,38],[117,39],[118,40],[119,41],[120,42],[121,43],[122,44],[123,45],[124,46],[125,47],[126,48],[127,49],[128,50],[129,51],[130,52],[131,53],[134,54],[65,55],[72,56],[64,55],[79,57],[56,58],[55,59],[78,60],[73,61],[76,62],[58,63],[57,64],[53,65],[52,66],[75,67],[54,68],[59,69],[63,69],[81,70],[80,69],[67,71],[68,72],[70,73],[66,74],[69,75],[74,60],[61,76],[62,77],[71,78],[51,79],[77,80],[148,96],[145,97],[147,98],[146,99],[137,97],[149,97],[136,86],[135,87],[140,100],[144,101],[141,102],[143,103],[142,104],[150,97],[151,97],[45,95]],"semanticDiagnosticsPerFile":[139,153,154,155,160,156,159,157,158,161,162,47,48,83,84,85,86,87,88,89,90,91,92,93,95,94,96,97,98,82,132,99,100,101,133,102,103,104,105,106,107,108,109,110,111,112,113,114,116,115,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,134,163,138,49,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,65,72,64,79,56,55,78,73,76,58,57,53,52,75,54,59,60,63,50,81,80,67,68,70,66,69,74,61,62,71,51,77,148,145,147,146,42,43,137,149,46,136,135,140,144,141,143,142,152,150,151,45,44]},"version":"4.7.4"} \ No newline at end of file diff --git a/temp-deps/blst-ts/lib/index.d.ts b/temp-deps/blst-ts/lib/index.d.ts index bde0749..a37356a 100644 --- a/temp-deps/blst-ts/lib/index.d.ts +++ b/temp-deps/blst-ts/lib/index.d.ts @@ -55,7 +55,7 @@ export const BLST_CONSTANTS: { * ``` */ export class SecretKey implements Serializable { - constructor(); + private constructor(); /** * `fromKeygen` takes two parameters. The first parameter is a salt and is * required. IKM MUST be at least 32 bytes long, but it MAY be longer. The @@ -77,7 +77,7 @@ export class SecretKey implements Serializable { } export class PublicKey implements Serializable { - constructor(); + private constructor(); static deserialize(pkBytes: BlstBuffer, coordType?: CoordType): PublicKey; serialize(compress?: boolean): Buffer; toHex(compress?: boolean): string; @@ -86,7 +86,7 @@ export class PublicKey implements Serializable { } export class Signature implements Serializable { - constructor(); + private constructor(); static deserialize(sigBytes: BlstBuffer, coordType?: CoordType): Signature; serialize(compress?: boolean): Buffer; toHex(compress?: boolean): string; diff --git a/temp-deps/blst-ts/src/addon.h b/temp-deps/blst-ts/src/addon.h index 5775098..0c88dd5 100644 --- a/temp-deps/blst-ts/src/addon.h +++ b/temp-deps/blst-ts/src/addon.h @@ -23,165 +23,60 @@ using std::endl; Napi::EscapableHandleScope scope(env); \ BlstTsAddon *module = env.GetInstanceData(); -#define BLST_TS_UNWRAP_UINT_8_ARRAY(value_name, arr_name, js_name, ret_val) \ +#define BLST_TS_IS_INFINITY \ + Napi::Env env = info.Env(); \ + Napi::EscapableHandleScope scope(env); \ + return scope.Escape(Napi::Boolean::New(env, _point->IsInfinite())); + +#define BLST_TS_SERIALIZE_POINT(macro_name) \ + Napi::Env env = info.Env(); \ + Napi::EscapableHandleScope scope(env); \ + bool compressed{true}; \ + if (!info[0].IsUndefined()) { \ + compressed = info[0].ToBoolean().Value(); \ + } \ + Napi::Buffer serialized = Napi::Buffer::New( \ + env, \ + compressed ? BLST_TS_##macro_name##_LENGTH_COMPRESSED \ + : BLST_TS_##macro_name##_LENGTH_UNCOMPRESSED); \ + _point->Serialize(compressed, serialized.Data()); \ + return scope.Escape(serialized); + +#define BLST_TS_UNWRAP_UINT_8_ARRAY(value_name, arr_name, js_name) \ if (!value_name.IsTypedArray()) { \ Napi::TypeError::New( \ env, "BLST_ERROR: " js_name " must be a BlstBuffer") \ .ThrowAsJavaScriptException(); \ - return ret_val; \ + return env.Undefined(); \ } \ Napi::TypedArray arr_name##_array = value_name.As(); \ if (arr_name##_array.TypedArrayType() != napi_uint8_array) { \ Napi::TypeError::New( \ env, "BLST_ERROR: " js_name " must be a BlstBuffer") \ .ThrowAsJavaScriptException(); \ - return ret_val; \ + return env.Undefined(); \ } \ Napi::Uint8Array arr_name = \ arr_name##_array.As>(); -#define BLST_TS_CREATE_JHEAP_OBJECT( \ - wrapped_name, obj_name, class_name, instance_name) \ - /* Allocate object in javascript heap */ \ - Napi::Object wrapped_name = module->_##obj_name##_ctr.New( \ - {Napi::External::New(env, nullptr)}); \ - /* Setup object correctly. Start with type tagging wrapper class. */ \ - wrapped_name.TypeTag(&module->_##obj_name##_tag); \ - /* Unwrap object to get native instance */ \ - class_name *instance_name = class_name::Unwrap(wrapped_name); - -#define BLST_TS_SERIALIZE_POINT(macro_name, class_name) \ - Napi::Env env = info.Env(); \ - Napi::EscapableHandleScope scope(env); \ - \ - bool compressed{true}; \ - if (!info[0].IsUndefined()) { \ - compressed = info[0].ToBoolean().Value(); \ - } \ - Napi::Buffer serialized = Napi::Buffer::New( \ - env, \ - compressed ? BLST_TS_##macro_name##_LENGTH_COMPRESSED \ - : BLST_TS_##macro_name##_LENGTH_UNCOMPRESSED); \ - \ - if (_has_jacobian) { \ - compressed ? _jacobian->compress(serialized.Data()) \ - : _jacobian->serialize(serialized.Data()); \ - } else if (_has_affine) { \ - compressed ? _affine->compress(serialized.Data()) \ - : _affine->serialize(serialized.Data()); \ - } else { \ - Napi::Error::New( \ - env, \ - "BLST_ERROR: " class_name \ - " cannot be serialized. No point found!") \ +#define BLST_TS_CLASS_UNWRAP_UINT_8_ARRAY(value_name, arr_name, js_name) \ + if (!value_name.IsTypedArray()) { \ + Napi::TypeError::New( \ + env, "BLST_ERROR: " js_name " must be a BlstBuffer") \ .ThrowAsJavaScriptException(); \ - return scope.Escape(env.Undefined()); \ + m_has_error = true; \ + return; \ } \ - \ - return scope.Escape(serialized); - -#define BLST_TS_UNWRAP_POINT_ARG( \ - env, \ - module, \ - val_name, \ - ptr_group, \ - has_error, \ - snake_case_name, \ - pascal_case_name, \ - capital_case_name, \ - pascal_case_string, \ - blst_point, \ - group_num, \ - coord_type, \ - member_name) \ - /* Arg is a serialized point */ \ - if (val_name.IsTypedArray()) { \ - Napi::TypedArray untyped = val_name.As(); \ - if (untyped.TypedArrayType() != napi_uint8_array) { \ - Napi::TypeError::New( \ - env, \ - "BLST_ERROR: " pascal_case_string "Arg must be a BlstBuffer") \ - .ThrowAsJavaScriptException(); \ - has_error = true; \ - } \ - Napi::Uint8Array typed = untyped.As(); \ - std::string err_out{"BLST_ERROR: " pascal_case_string "Arg"}; \ - if (!is_valid_length( \ - err_out, \ - typed.ByteLength(), \ - BLST_TS_##capital_case_name##_LENGTH_COMPRESSED, \ - BLST_TS_##capital_case_name##_LENGTH_UNCOMPRESSED)) { \ - Napi::TypeError::New(env, err_out).ThrowAsJavaScriptException(); \ - has_error = true; \ - } \ - if (pascal_case_string[0] == 'P' && \ - is_zero_bytes(typed.Data(), 0, typed.ByteLength())) { \ - Napi::TypeError::New( \ - env, "BLST_ERROR: PublicKeyArg must not be zero key") \ - .ThrowAsJavaScriptException(); \ - has_error = true; \ - } \ - /** this can potentially throw. macro must be in try/catch. Leave in \ - * outer context so that loop counter can be used in error message \ - * \ - * Only need to create this ptr to hold the blst::point and make sure \ - * its deleted. Deserialized objects have a member smart pointer \ - */ \ - ptr_group.unique_ptr.reset( \ - new blst_point{typed.Data(), typed.ByteLength()}); \ - ptr_group.raw_pointer = ptr_group.unique_ptr.get(); \ - \ - /* Arg is a deserialized point */ \ - } else if (val_name.IsObject()) { \ - Napi::Object wrapped = val_name.As(); \ - if (!wrapped.CheckTypeTag(&module->_##snake_case_name##_tag)) { \ - Napi::TypeError::New( \ - env, \ - "BLST_ERROR: " pascal_case_string \ - " must be a " pascal_case_string "Arg") \ - .ThrowAsJavaScriptException(); \ - has_error = true; \ - } \ - pascal_case_name *snake_case_name = pascal_case_name::Unwrap(wrapped); \ - /* Check that the required point type has been created */ \ - if (coord_type == CoordType::Jacobian) { \ - if (!snake_case_name->_has_jacobian) { \ - if (!snake_case_name->_has_affine) { \ - Napi::Error::New( \ - env, \ - "BLST_ERROR: " pascal_case_string " not initialized") \ - .ThrowAsJavaScriptException(); \ - has_error = true; \ - } \ - snake_case_name->_jacobian.reset(new blst::P##group_num{ \ - snake_case_name->_affine->to_jacobian()}); \ - snake_case_name->_has_jacobian = true; \ - } \ - } else { \ - if (!snake_case_name->_has_affine) { \ - if (!snake_case_name->_has_jacobian) { \ - Napi::Error::New( \ - env, \ - "BLST_ERROR: " pascal_case_string " not initialized") \ - .ThrowAsJavaScriptException(); \ - has_error = true; \ - } \ - snake_case_name->_affine.reset( \ - new blst::P##group_num##_Affine{ \ - snake_case_name->_jacobian->to_affine()}); \ - snake_case_name->_has_affine = true; \ - } \ - } \ - /* copy raw_pointer to context outside of macro */ \ - ptr_group.raw_pointer = snake_case_name->member_name.get(); \ - } else { \ + Napi::TypedArray arr_name##_array = value_name.As(); \ + if (arr_name##_array.TypedArrayType() != napi_uint8_array) { \ Napi::TypeError::New( \ - env, \ - "BLST_ERROR: " pascal_case_string " must be a " pascal_case_string \ - "Arg") \ + env, "BLST_ERROR: " js_name " must be a BlstBuffer") \ .ThrowAsJavaScriptException(); \ - has_error = true; \ - } + m_has_error = true; \ + return; \ + } \ + Napi::Uint8Array arr_name = \ + arr_name##_array.As>(); class BlstTsAddon; @@ -235,11 +130,8 @@ class BlstTsAddon : public Napi::Addon { std::string _dst; std::string _blst_error_strings[8]; Napi::FunctionReference _secret_key_ctr; - napi_type_tag _secret_key_tag; Napi::FunctionReference _public_key_ctr; - napi_type_tag _public_key_tag; Napi::FunctionReference _signature_ctr; - napi_type_tag _signature_tag; /** * BlstTsAddon::BlstTsAddon constructor used by Node.js to create an diff --git a/temp-deps/blst-ts/src/functions.cc b/temp-deps/blst-ts/src/functions.cc index ecdb2d0..9d04a3e 100644 --- a/temp-deps/blst-ts/src/functions.cc +++ b/temp-deps/blst-ts/src/functions.cc @@ -18,43 +18,58 @@ Napi::Value AggregatePublicKeys(const Napi::CallbackInfo &info) { return scope.Escape(env.Undefined()); } - BLST_TS_CREATE_JHEAP_OBJECT(wrapped, public_key, PublicKey, result) - result->_has_jacobian = true; - result->_jacobian.reset(new blst::P1); - + blst::P1 aggregate{}; bool has_error = false; for (uint32_t i = 0; i < length; i++) { Napi::Value val = arr[i]; - PointerGroup ptr_group; try { - BLST_TS_UNWRAP_POINT_ARG( - env, - module, - val, - ptr_group, - has_error, - public_key, - PublicKey, - PUBLIC_KEY, - "PublicKey", - blst::P1, - 1, - CoordType::Jacobian, - _jacobian) + if (val.IsTypedArray()) { + Napi::Uint8Array typed_array = val.As(); + std::string err_out{"BLST_ERROR: PublicKeyArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_PUBLIC_KEY_LENGTH_COMPRESSED, + BLST_TS_PUBLIC_KEY_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out) + .ThrowAsJavaScriptException(); + has_error = true; + } else if (is_zero_bytes( + typed_array.Data(), + 0, + typed_array.ByteLength())) { + Napi::TypeError::New( + env, "BLST_ERROR: PublicKeyArg must not be zero key") + .ThrowAsJavaScriptException(); + has_error = true; + } else { + aggregate.add( + blst::P1{typed_array.Data(), typed_array.ByteLength()}); + } + } else { + PublicKey *to_aggregate = + PublicKey::Unwrap(val.As()); + to_aggregate->_point->AddTo(aggregate); + } if (has_error) { - return scope.Escape(env.Undefined()); + return env.Undefined(); } - result->_jacobian->add(*ptr_group.raw_pointer); } catch (const blst::BLST_ERROR &err) { std::ostringstream msg; msg << "BLST_ERROR::" << module->GetBlstErrorString(err) << ": Invalid key at index " << i; Napi::Error::New(env, msg.str()).ThrowAsJavaScriptException(); return env.Undefined(); + } catch (...) { + std::ostringstream msg; + msg << "BLST_ERROR: Invalid PublicKeyArg at index " << i; + Napi::Error::New(env, msg.str()).ThrowAsJavaScriptException(); + return env.Undefined(); } } - return scope.Escape(wrapped); + return scope.Escape(module->_public_key_ctr.New( + {Napi::External::New(env, new P1{std::move(aggregate)})})); } Napi::Value AggregateSignatures(const Napi::CallbackInfo &info) { @@ -74,60 +89,91 @@ Napi::Value AggregateSignatures(const Napi::CallbackInfo &info) { return scope.Escape(env.Undefined()); } - BLST_TS_CREATE_JHEAP_OBJECT(wrapped, signature, Signature, result) - result->_has_jacobian = true; - result->_jacobian.reset(new blst::P2); - + blst::P2 aggregate{}; bool has_error = false; - for (uint32_t i = 0; i < arr.Length(); i++) { + for (uint32_t i = 0; i < length; i++) { Napi::Value val = arr[i]; - PointerGroup ptr_group; try { - BLST_TS_UNWRAP_POINT_ARG( - env, - module, - val, - ptr_group, - has_error, - signature, - Signature, - SIGNATURE, - "Signature", - blst::P2, - 2, - CoordType::Jacobian, - _jacobian) + if (val.IsTypedArray()) { + Napi::Uint8Array typed_array = val.As(); + std::string err_out{"BLST_ERROR: SignatureArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_SIGNATURE_LENGTH_COMPRESSED, + BLST_TS_SIGNATURE_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out) + .ThrowAsJavaScriptException(); + has_error = true; + } else { + aggregate.add( + blst::P2{typed_array.Data(), typed_array.ByteLength()}); + } + } else { + Signature *to_aggregate = + Signature::Unwrap(val.As()); + to_aggregate->_point->AddTo(aggregate); + } if (has_error) { - return scope.Escape(env.Undefined()); + return env.Undefined(); } - result->_jacobian->add(*ptr_group.raw_pointer); } catch (const blst::BLST_ERROR &err) { std::ostringstream msg; - msg << "BLST_ERROR::" << module->GetBlstErrorString(err) + msg << module->GetBlstErrorString(err) << " - Invalid signature at index " << i; Napi::Error::New(env, msg.str()).ThrowAsJavaScriptException(); return env.Undefined(); + } catch (...) { + std::ostringstream msg; + msg << "BLST_ERROR - Invalid SignatureArg at index " << i; + Napi::Error::New(env, msg.str()).ThrowAsJavaScriptException(); + return env.Undefined(); } } - return scope.Escape(wrapped); + return scope.Escape(module->_signature_ctr.New( + {Napi::External::New(env, new P2{std::move(aggregate)})})); } Napi::Value AggregateVerify(const Napi::CallbackInfo &info) { - Napi::Env env = info.Env(); - Napi::EscapableHandleScope scope(env); + BLST_TS_FUNCTION_PREAMBLE(info, env, module) try { - BlstTsAddon *module = env.GetInstanceData(); - bool has_error = false; + Napi::Value sig_val = info[2]; + P2AffineGroup sig_point; + if (sig_val.IsTypedArray()) { + Napi::Uint8Array typed_array = sig_val.As(); + std::string err_out{"BLST_ERROR: SignatureArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_SIGNATURE_LENGTH_COMPRESSED, + BLST_TS_SIGNATURE_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out).ThrowAsJavaScriptException(); + return env.Undefined(); + } else { + sig_point.smart_pointer = std::make_unique( + typed_array.Data(), typed_array.ByteLength()); + sig_point.raw_point = sig_point.smart_pointer.get(); + } + } else { + Signature *to_verify = + Signature::Unwrap(sig_val.As()); + sig_point = to_verify->_point->AsAffine(); + } if (!info[0].IsArray()) { Napi::TypeError::New( env, "BLST_ERROR: msgs must be of type BlstBuffer[]") .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } Napi::Array msgs_array = info[0].As(); uint32_t msgs_array_length = msgs_array.Length(); + if (msgs_array_length == 0) { + Napi::TypeError::New(env, "BLST_ERROR: msgs must have length > 0") + .ThrowAsJavaScriptException(); + return env.Undefined(); + } if (!info[1].IsArray()) { Napi::TypeError::New( @@ -137,79 +183,64 @@ Napi::Value AggregateVerify(const Napi::CallbackInfo &info) { } Napi::Array pk_array = info[1].As(); uint32_t pk_array_length = pk_array.Length(); - - Napi::Value sig_val = info[2]; - PointerGroup sig_ptr_group; - BLST_TS_UNWRAP_POINT_ARG( - env, - module, - sig_val, - sig_ptr_group, - has_error, - signature, - Signature, - SIGNATURE, - "Signature", - blst::P2_Affine, - 2, - CoordType::Affine, - _affine) - if (has_error) { - return scope.Escape(env.Undefined()); - } - if (pk_array_length == 0) { - if (sig_ptr_group.raw_pointer->is_inf()) { + if (sig_point.raw_point->is_inf()) { return scope.Escape(Napi::Boolean::New(env, false)); } Napi::TypeError::New( env, "BLST_ERROR: publicKeys must have length > 0") .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); - } - if (msgs_array_length == 0) { - Napi::TypeError::New(env, "BLST_ERROR: msgs must have length > 0") - .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } + if (msgs_array_length != pk_array_length) { Napi::TypeError::New( env, "BLST_ERROR: msgs and publicKeys must be the same length") .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } std::unique_ptr ctx{ new blst::Pairing(true, module->_dst)}; - for (uint32_t i = 0; i < pk_array_length; i++) { Napi::Value msg_value = msgs_array[i]; - BLST_TS_UNWRAP_UINT_8_ARRAY( - msg_value, msg, "msg", scope.Escape(env.Undefined())) - - Napi::Value val = pk_array[i]; - PointerGroup pk_ptr_group; - BLST_TS_UNWRAP_POINT_ARG( - env, - module, - val, - pk_ptr_group, - has_error, - public_key, - PublicKey, - PUBLIC_KEY, - "PublicKey", - blst::P1_Affine, - 1, - CoordType::Affine, - _affine) - if (has_error) { - return scope.Escape(env.Undefined()); + BLST_TS_UNWRAP_UINT_8_ARRAY(msg_value, msg, "msg") + + Napi::Value pk_val = pk_array[i]; + P1AffineGroup pk_point; + if (pk_val.IsTypedArray()) { + Napi::Uint8Array typed_array = pk_val.As(); + std::string err_out{"BLST_ERROR: PublicKeyArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_PUBLIC_KEY_LENGTH_COMPRESSED, + BLST_TS_PUBLIC_KEY_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out) + .ThrowAsJavaScriptException(); + return env.Undefined(); + } else if (is_zero_bytes( + typed_array.Data(), + 0, + typed_array.ByteLength())) { + Napi::TypeError::New( + env, "BLST_ERROR: PublicKeyArg must not be zero key") + .ThrowAsJavaScriptException(); + return env.Undefined(); + } else { + pk_point.smart_pointer = std::make_unique( + typed_array.Data(), typed_array.ByteLength()); + pk_point.raw_point = pk_point.smart_pointer.get(); + } + } else { + PublicKey *to_verify = + PublicKey::Unwrap(pk_val.As()); + pk_point = to_verify->_point->AsAffine(); } blst::BLST_ERROR err = ctx->aggregate( - pk_ptr_group.raw_pointer, - sig_ptr_group.raw_pointer, + pk_point.raw_point, + sig_point.raw_point, msg.Data(), msg.ByteLength()); if (err != blst::BLST_ERROR::BLST_SUCCESS) { @@ -217,35 +248,227 @@ Napi::Value AggregateVerify(const Napi::CallbackInfo &info) { msg << "BLST_ERROR::" << module->GetBlstErrorString(err) << ": Invalid verification aggregate at index " << i; Napi::Error::New(env, msg.str()).ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } } ctx->commit(); - blst::PT pt{*sig_ptr_group.raw_pointer}; + blst::PT pt{*sig_point.raw_point}; return Napi::Boolean::New(env, ctx->finalverify(&pt)); } catch (...) { return Napi::Boolean::New(env, false); } } +typedef struct { + P1AffineGroup pk_point; + uint8_t *msg; + size_t msg_len; +} AggregateVerifySet; + +class AggregateVerifyWorker : public Napi::AsyncWorker { + public: + AggregateVerifyWorker(const Napi::CallbackInfo &info) + : Napi::AsyncWorker{info.Env(), "AggregateVerifyWorker"}, + m_deferred{Env()}, + m_has_error{false}, + m_module{Env().GetInstanceData()}, + m_ctx{new blst::Pairing(true, m_module->_dst)}, + m_sig_point{}, + m_sets{}, + m_is_invalid{false}, + m_result{false} { + Napi::Env env = Env(); + try { + Napi::Value sig_val = info[2]; + if (sig_val.IsTypedArray()) { + Napi::Uint8Array typed_array = sig_val.As(); + std::string err_out{"BLST_ERROR: SignatureArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_SIGNATURE_LENGTH_COMPRESSED, + BLST_TS_SIGNATURE_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out) + .ThrowAsJavaScriptException(); + m_has_error = true; + return; + } else { + m_sig_point.smart_pointer = + std::make_unique( + typed_array.Data(), typed_array.ByteLength()); + m_sig_point.raw_point = m_sig_point.smart_pointer.get(); + } + } else { + Signature *to_verify = + Signature::Unwrap(sig_val.As()); + m_sig_point = to_verify->_point->AsAffine(); + } + + if (!info[0].IsArray()) { + Napi::TypeError::New( + env, "BLST_ERROR: msgs must be of type BlstBuffer[]") + .ThrowAsJavaScriptException(); + m_has_error = true; + return; + } + Napi::Array msgs_array = info[0].As(); + uint32_t msgs_array_length = msgs_array.Length(); + if (msgs_array_length == 0) { + Napi::TypeError::New( + env, "BLST_ERROR: msgs must have length > 0") + .ThrowAsJavaScriptException(); + m_has_error = true; + return; + } + + if (!info[1].IsArray()) { + Napi::TypeError::New( + env, "publicKeys must be of type PublicKeyArg[]") + .ThrowAsJavaScriptException(); + m_has_error = true; + return; + } + Napi::Array pk_array = info[1].As(); + uint32_t pk_array_length = pk_array.Length(); + if (pk_array_length == 0) { + if (m_sig_point.raw_point->is_inf()) { + m_is_invalid = true; + return; + } + Napi::TypeError::New( + env, "BLST_ERROR: publicKeys must have length > 0") + .ThrowAsJavaScriptException(); + m_has_error = true; + return; + } + + if (msgs_array_length != pk_array_length) { + Napi::TypeError::New( + env, + "BLST_ERROR: msgs and publicKeys must be the same length") + .ThrowAsJavaScriptException(); + m_has_error = true; + return; + } + + m_sets.reserve(pk_array_length); + for (uint32_t i = 0; i < pk_array_length; i++) { + m_sets.push_back({P1AffineGroup{}, nullptr, 0}); + + Napi::Value msg_value = msgs_array[i]; + BLST_TS_CLASS_UNWRAP_UINT_8_ARRAY(msg_value, msg, "msg") + m_sets[i].msg = msg.Data(); + m_sets[i].msg_len = msg.ByteLength(); + + Napi::Value pk_val = pk_array[i]; + if (pk_val.IsTypedArray()) { + Napi::Uint8Array typed_array = + pk_val.As(); + std::string err_out{"BLST_ERROR: PublicKeyArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_PUBLIC_KEY_LENGTH_COMPRESSED, + BLST_TS_PUBLIC_KEY_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out) + .ThrowAsJavaScriptException(); + m_is_invalid = true; + return; + } else if (is_zero_bytes( + typed_array.Data(), + 0, + typed_array.ByteLength())) { + Napi::TypeError::New( + env, + "BLST_ERROR: PublicKeyArg must not be zero key") + .ThrowAsJavaScriptException(); + m_is_invalid = true; + return; + } else { + m_sets[i].pk_point.smart_pointer = + std::make_unique( + typed_array.Data(), typed_array.ByteLength()); + m_sets[i].pk_point.raw_point = + m_sets[i].pk_point.smart_pointer.get(); + } + } else { + PublicKey *to_verify = + PublicKey::Unwrap(pk_val.As()); + m_sets[i].pk_point = to_verify->_point->AsAffine(); + } + } + } catch (...) { + m_is_invalid = true; + } + } + + /** + * GetPromise associated with _deferred for return to JS + */ + Napi::Promise GetPromise() { return m_deferred.Promise(); } + + protected: + void Execute() { + if (m_is_invalid) { + return; + } + for (uint32_t i = 0; i < m_sets.size(); i++) { + blst::BLST_ERROR err = m_ctx->aggregate( + m_sets[i].pk_point.raw_point, + m_sig_point.raw_point, + m_sets[i].msg, + m_sets[i].msg_len); + if (err != blst::BLST_ERROR::BLST_SUCCESS) { + std::ostringstream msg; + msg << "BLST_ERROR::" << m_module->GetBlstErrorString(err) + << ": Invalid verification aggregate at index " << i; + SetError(msg.str()); + return; + } + } + m_ctx->commit(); + blst::PT pt{*m_sig_point.raw_point}; + m_result = m_ctx->finalverify(&pt); + } + void OnOK() { m_deferred.Resolve(Napi::Boolean::New(Env(), m_result)); } + void OnError(const Napi::Error &err) { m_deferred.Reject(err.Value()); } + + public: + Napi::Promise::Deferred m_deferred; + bool m_has_error; + + private: + BlstTsAddon *m_module; + std::unique_ptr m_ctx; + P2AffineGroup m_sig_point; + std::vector m_sets; + bool m_is_invalid; + bool m_result; +}; + +Napi::Value AsyncAggregateVerify(const Napi::CallbackInfo &info) { + AggregateVerifyWorker *worker = new AggregateVerifyWorker(info); + if (worker->m_has_error) { + delete worker; + return info.Env().Undefined(); + } + worker->Queue(); + return worker->GetPromise(); +} + Napi::Value VerifyMultipleAggregateSignatures(const Napi::CallbackInfo &info) { - Napi::Env env = info.Env(); - Napi::EscapableHandleScope scope(env); + BLST_TS_FUNCTION_PREAMBLE(info, env, module) + std::unique_ptr ctx{new blst::Pairing(true, module->_dst)}; try { - BlstTsAddon *module = env.GetInstanceData(); - bool has_error = false; - if (!info[0].IsArray()) { Napi::TypeError::New( env, "BLST_ERROR: signatureSets must be of type SignatureSet[]") .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } Napi::Array sets_array = info[0].As(); uint32_t sets_array_length = sets_array.Length(); - std::unique_ptr ctx{ - new blst::Pairing(true, module->_dst)}; for (uint32_t i = 0; i < sets_array_length; i++) { blst::byte rand[BLST_TS_RANDOM_BYTES_LENGTH]; @@ -253,7 +476,7 @@ Napi::Value VerifyMultipleAggregateSignatures(const Napi::CallbackInfo &info) { Napi::Error::New( env, "BLST_ERROR: Failed to generate random bytes") .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } Napi::Value set_value = sets_array[i]; @@ -261,57 +484,72 @@ Napi::Value VerifyMultipleAggregateSignatures(const Napi::CallbackInfo &info) { Napi::TypeError::New( env, "BLST_ERROR: signatureSet must be an object") .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } Napi::Object set = set_value.As(); Napi::Value msg_value = set.Get("message"); - BLST_TS_UNWRAP_UINT_8_ARRAY( - msg_value, msg, "message", scope.Escape(env.Undefined())) + BLST_TS_UNWRAP_UINT_8_ARRAY(msg_value, msg, "message") Napi::Value pk_val = set.Get("publicKey"); - PointerGroup pk_ptr_group; - BLST_TS_UNWRAP_POINT_ARG( - env, - module, - pk_val, - pk_ptr_group, - has_error, - public_key, - PublicKey, - PUBLIC_KEY, - "PublicKey", - blst::P1_Affine, - 1, - CoordType::Affine, - _affine) - if (has_error) { - return scope.Escape(env.Undefined()); + P1AffineGroup pk_point; + if (pk_val.IsTypedArray()) { + Napi::Uint8Array typed_array = pk_val.As(); + std::string err_out{"BLST_ERROR: PublicKeyArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_PUBLIC_KEY_LENGTH_COMPRESSED, + BLST_TS_PUBLIC_KEY_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out) + .ThrowAsJavaScriptException(); + return env.Undefined(); + } else if (is_zero_bytes( + typed_array.Data(), + 0, + typed_array.ByteLength())) { + Napi::TypeError::New( + env, "BLST_ERROR: PublicKeyArg must not be zero key") + .ThrowAsJavaScriptException(); + return env.Undefined(); + } else { + pk_point.smart_pointer = std::make_unique( + typed_array.Data(), typed_array.ByteLength()); + pk_point.raw_point = pk_point.smart_pointer.get(); + } + } else { + PublicKey *to_verify = + PublicKey::Unwrap(pk_val.As()); + pk_point = to_verify->_point->AsAffine(); } Napi::Value sig_val = set.Get("signature"); - PointerGroup sig_ptr_group; - BLST_TS_UNWRAP_POINT_ARG( - env, - module, - sig_val, - sig_ptr_group, - has_error, - signature, - Signature, - SIGNATURE, - "Signature", - blst::P2_Affine, - 2, - CoordType::Affine, - _affine) - if (has_error) { - return scope.Escape(env.Undefined()); + P2AffineGroup sig_point; + if (sig_val.IsTypedArray()) { + Napi::Uint8Array typed_array = sig_val.As(); + std::string err_out{"BLST_ERROR: SignatureArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_SIGNATURE_LENGTH_COMPRESSED, + BLST_TS_SIGNATURE_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out) + .ThrowAsJavaScriptException(); + return env.Undefined(); + } else { + sig_point.smart_pointer = std::make_unique( + typed_array.Data(), typed_array.ByteLength()); + sig_point.raw_point = sig_point.smart_pointer.get(); + } + } else { + Signature *to_verify = + Signature::Unwrap(sig_val.As()); + sig_point = to_verify->_point->AsAffine(); } blst::BLST_ERROR err = ctx->mul_n_aggregate( - pk_ptr_group.raw_pointer, - sig_ptr_group.raw_pointer, + pk_point.raw_point, + sig_point.raw_point, rand, BLST_TS_RANDOM_BYTES_LENGTH, msg.Data(), @@ -321,7 +559,7 @@ Napi::Value VerifyMultipleAggregateSignatures(const Napi::CallbackInfo &info) { msg << module->GetBlstErrorString(err) << ": Invalid batch aggregation at index " << i; Napi::Error::New(env, msg.str()).ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } } ctx->commit(); @@ -332,8 +570,8 @@ Napi::Value VerifyMultipleAggregateSignatures(const Napi::CallbackInfo &info) { } typedef struct { - PointerGroup pk_ptr_group; - PointerGroup sig_ptr_group; + P1AffineGroup pk_point; + P2AffineGroup sig_point; uint8_t *msg; size_t msg_len; } SignatureSet; @@ -359,8 +597,8 @@ class VerifyMultipleAggregateSignaturesWorker : public Napi::AsyncWorker { } Napi::Array sets_array = info[0].As(); uint32_t sets_array_length = sets_array.Length(); - m_sets.reserve(sets_array_length); + m_sets.reserve(sets_array_length); try { for (uint32_t i = 0; i < sets_array_length; i++) { Napi::Value set_value = sets_array[i]; @@ -374,50 +612,76 @@ class VerifyMultipleAggregateSignaturesWorker : public Napi::AsyncWorker { Napi::Object set = set_value.As(); Napi::Value msg_value = set.Get("message"); - BLST_TS_UNWRAP_UINT_8_ARRAY(msg_value, msg, "message", ) + BLST_TS_CLASS_UNWRAP_UINT_8_ARRAY(msg_value, msg, "message") m_sets.push_back( - {PointerGroup(), - PointerGroup(), + {P1AffineGroup{}, + P2AffineGroup{}, msg.Data(), msg.ByteLength()}); Napi::Value pk_val = set.Get("publicKey"); - BLST_TS_UNWRAP_POINT_ARG( - env, - m_module, - pk_val, - m_sets[i].pk_ptr_group, - m_has_error, - public_key, - PublicKey, - PUBLIC_KEY, - "PublicKey", - blst::P1_Affine, - 1, - CoordType::Affine, - _affine) - if (m_has_error) { - return; + if (pk_val.IsTypedArray()) { + Napi::Uint8Array typed_array = + pk_val.As(); + std::string err_out{"BLST_ERROR: PublicKeyArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_PUBLIC_KEY_LENGTH_COMPRESSED, + BLST_TS_PUBLIC_KEY_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out) + .ThrowAsJavaScriptException(); + m_has_error = true; + return; + } else if (is_zero_bytes( + typed_array.Data(), + 0, + typed_array.ByteLength())) { + Napi::TypeError::New( + env, + "BLST_ERROR: PublicKeyArg must not be zero key") + .ThrowAsJavaScriptException(); + m_has_error = true; + return; + } else { + m_sets[i].pk_point.smart_pointer = + std::make_unique( + typed_array.Data(), typed_array.ByteLength()); + m_sets[i].pk_point.raw_point = + m_sets[i].pk_point.smart_pointer.get(); + } + } else { + PublicKey *to_verify = + PublicKey::Unwrap(pk_val.As()); + m_sets[i].pk_point = to_verify->_point->AsAffine(); } Napi::Value sig_val = set.Get("signature"); - BLST_TS_UNWRAP_POINT_ARG( - env, - m_module, - sig_val, - m_sets[i].sig_ptr_group, - m_has_error, - signature, - Signature, - SIGNATURE, - "Signature", - blst::P2_Affine, - 2, - CoordType::Affine, - _affine) - if (m_has_error) { - return; + if (sig_val.IsTypedArray()) { + Napi::Uint8Array typed_array = + sig_val.As(); + std::string err_out{"BLST_ERROR: SignatureArg"}; + if (!is_valid_length( + err_out, + typed_array.ByteLength(), + BLST_TS_SIGNATURE_LENGTH_COMPRESSED, + BLST_TS_SIGNATURE_LENGTH_UNCOMPRESSED)) { + Napi::TypeError::New(env, err_out) + .ThrowAsJavaScriptException(); + m_has_error = true; + return; + } else { + m_sets[i].sig_point.smart_pointer = + std::make_unique( + typed_array.Data(), typed_array.ByteLength()); + m_sets[i].sig_point.raw_point = + m_sets[i].sig_point.smart_pointer.get(); + } + } else { + Signature *to_verify = + Signature::Unwrap(sig_val.As()); + m_sets[i].sig_point = to_verify->_point->AsAffine(); } } } catch (const blst::BLST_ERROR &err) { @@ -442,8 +706,8 @@ class VerifyMultipleAggregateSignaturesWorker : public Napi::AsyncWorker { } blst::BLST_ERROR err = m_ctx->mul_n_aggregate( - m_sets[i].pk_ptr_group.raw_pointer, - m_sets[i].sig_ptr_group.raw_pointer, + m_sets[i].pk_point.raw_point, + m_sets[i].sig_point.raw_point, rand, BLST_TS_RANDOM_BYTES_LENGTH, m_sets[i].msg, @@ -485,179 +749,6 @@ Napi::Value AsyncVerifyMultipleAggregateSignatures( return worker->GetPromise(); } -typedef struct { - PointerGroup pk_ptr_group; - uint8_t *msg; - size_t msg_len; -} AggregateVerifySet; - -class AggregateVerifyWorker : public Napi::AsyncWorker { - public: - AggregateVerifyWorker(const Napi::CallbackInfo &info) - : Napi::AsyncWorker{info.Env(), "AggregateVerifyWorker"}, - m_deferred{Env()}, - m_has_error{false}, - m_module{Env().GetInstanceData()}, - m_ctx{new blst::Pairing(true, m_module->_dst)}, - m_sig_ptr_group(), - m_sets{}, - m_is_invalid{false}, - m_result{false} { - Napi::Env env = Env(); - try { - if (!info[0].IsArray()) { - Napi::TypeError::New( - env, "BLST_ERROR: msgs must be of type BlstBuffer[]") - .ThrowAsJavaScriptException(); - m_has_error = true; - return; - } - Napi::Array msgs_array = info[0].As(); - uint32_t msgs_array_length = msgs_array.Length(); - - if (!info[1].IsArray()) { - Napi::TypeError::New( - env, - "BLST_ERROR: publicKeys must be of type PublicKeyArg[]") - .ThrowAsJavaScriptException(); - m_has_error = true; - return; - } - Napi::Array pk_array = info[1].As(); - uint32_t pk_array_length = pk_array.Length(); - - Napi::Value sig_val = info[2]; - BLST_TS_UNWRAP_POINT_ARG( - env, - m_module, - sig_val, - m_sig_ptr_group, - m_has_error, - signature, - Signature, - SIGNATURE, - "Signature", - blst::P2_Affine, - 2, - CoordType::Affine, - _affine) - if (m_has_error) { - return; - } - - if (pk_array_length == 0) { - if (m_sig_ptr_group.raw_pointer->is_inf()) { - m_is_invalid = true; - return; - } - Napi::TypeError::New( - env, "BLST_ERROR: publicKeys must have length > 0") - .ThrowAsJavaScriptException(); - m_has_error = true; - return; - } - if (msgs_array_length == 0) { - Napi::TypeError::New( - env, "BLST_ERROR: msgs must have length > 0") - .ThrowAsJavaScriptException(); - m_has_error = true; - return; - } - if (msgs_array_length != pk_array_length) { - Napi::TypeError::New( - env, - "BLST_ERROR: msgs and publicKeys must be the same length") - .ThrowAsJavaScriptException(); - m_has_error = true; - return; - } - - m_sets.reserve(pk_array_length); - for (uint32_t i = 0; i < pk_array_length; i++) { - m_sets.push_back({PointerGroup(), nullptr, 0}); - - Napi::Value msg_value = msgs_array[i]; - BLST_TS_UNWRAP_UINT_8_ARRAY(msg_value, msg, "msg", ) - m_sets[i].msg = msg.Data(); - m_sets[i].msg_len = msg.ByteLength(); - - Napi::Value pk_val = pk_array[i]; - BLST_TS_UNWRAP_POINT_ARG( - env, - m_module, - pk_val, - m_sets[i].pk_ptr_group, - m_has_error, - public_key, - PublicKey, - PUBLIC_KEY, - "PublicKey", - blst::P1_Affine, - 1, - CoordType::Affine, - _affine) - if (m_has_error) { - return; - } - } - } catch (...) { - m_is_invalid = true; - } - } - - /** - * GetPromise associated with _deferred for return to JS - */ - Napi::Promise GetPromise() { return m_deferred.Promise(); } - - protected: - void Execute() { - if (m_is_invalid) { - return; - } - for (uint32_t i = 0; i < m_sets.size(); i++) { - blst::BLST_ERROR err = m_ctx->aggregate( - m_sets[i].pk_ptr_group.raw_pointer, - m_sig_ptr_group.raw_pointer, - m_sets[i].msg, - m_sets[i].msg_len); - if (err != blst::BLST_ERROR::BLST_SUCCESS) { - std::ostringstream msg; - msg << "BLST_ERROR::" << m_module->GetBlstErrorString(err) - << ": Invalid verification aggregate at index " << i; - SetError(msg.str()); - return; - } - } - m_ctx->commit(); - blst::PT pt{*m_sig_ptr_group.raw_pointer}; - m_result = m_ctx->finalverify(&pt); - } - void OnOK() { m_deferred.Resolve(Napi::Boolean::New(Env(), m_result)); } - void OnError(const Napi::Error &err) { m_deferred.Reject(err.Value()); } - - public: - Napi::Promise::Deferred m_deferred; - bool m_has_error; - - private: - BlstTsAddon *m_module; - std::unique_ptr m_ctx; - PointerGroup m_sig_ptr_group; - std::vector m_sets; - bool m_is_invalid; - bool m_result; -}; - -Napi::Value AsyncAggregateVerify(const Napi::CallbackInfo &info) { - AggregateVerifyWorker *worker = new AggregateVerifyWorker(info); - if (worker->m_has_error) { - delete worker; - return info.Env().Undefined(); - } - worker->Queue(); - return worker->GetPromise(); -} } // anonymous namespace namespace Functions { diff --git a/temp-deps/blst-ts/src/functions.h b/temp-deps/blst-ts/src/functions.h index ab11750..dc3c5f3 100644 --- a/temp-deps/blst-ts/src/functions.h +++ b/temp-deps/blst-ts/src/functions.h @@ -5,16 +5,6 @@ #include "blst.hpp" #include "napi.h" -/** - * @note The unique_ptr is used to hold the blst::P* object if a Uint8Array is - * being converted instead of a PublicKey or Signature object. - */ -template -struct PointerGroup { - std::unique_ptr unique_ptr = std::make_unique(); - T *raw_pointer = nullptr; -}; - namespace Functions { void Init(const Napi::Env &env, Napi::Object &exports); } diff --git a/temp-deps/blst-ts/src/public_key.cc b/temp-deps/blst-ts/src/public_key.cc index 75916ef..6828589 100644 --- a/temp-deps/blst-ts/src/public_key.cc +++ b/temp-deps/blst-ts/src/public_key.cc @@ -2,8 +2,7 @@ void PublicKey::Init( Napi::Env env, Napi::Object &exports, BlstTsAddon *module) { - Napi::HandleScope scope( - env); // no need to Escape, Persistent will take care of it + Napi::HandleScope scope(env); auto proto = { StaticMethod( "deserialize", @@ -26,8 +25,6 @@ void PublicKey::Init( Napi::Function ctr = DefineClass(env, "PublicKey", proto, module); module->_public_key_ctr = Napi::Persistent(ctr); - // These tag values must be unique across all classes - module->_public_key_tag = {2ULL, 3ULL}; exports.Set(Napi::String::New(env, "PublicKey"), ctr); Napi::Object js_exports = exports.Get("BLST_CONSTANTS").As(); @@ -41,10 +38,9 @@ void PublicKey::Init( Napi::Value PublicKey::Deserialize(const Napi::CallbackInfo &info) { BLST_TS_FUNCTION_PREAMBLE(info, env, module) - Napi::Value pk_bytes_value = info[0]; + Napi::Value pk_bytes_val = info[0]; + BLST_TS_UNWRAP_UINT_8_ARRAY(pk_bytes_val, pk_bytes, "pkBytes") - BLST_TS_UNWRAP_UINT_8_ARRAY( - pk_bytes_value, pk_bytes, "pkBytes", scope.Escape(env.Undefined())) std::string err_out{"BLST_ERROR: pkBytes"}; if (!is_valid_length( err_out, @@ -52,13 +48,10 @@ Napi::Value PublicKey::Deserialize(const Napi::CallbackInfo &info) { BLST_TS_PUBLIC_KEY_LENGTH_COMPRESSED, BLST_TS_PUBLIC_KEY_LENGTH_UNCOMPRESSED)) { Napi::TypeError::New(env, err_out).ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } - BLST_TS_CREATE_JHEAP_OBJECT(wrapped, public_key, PublicKey, pk) - // default to jacobian - pk->_has_jacobian = true; - + bool is_affine = false; // but figure out if request for affine if (!info[1].IsUndefined()) { Napi::Value type_val = info[1].As(); @@ -66,41 +59,48 @@ Napi::Value PublicKey::Deserialize(const Napi::CallbackInfo &info) { Napi::TypeError::New( env, "BLST_ERROR: type must be of enum CoordType (number)") .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } - if (type_val.As().Uint32Value() == 0) { - pk->_has_jacobian = false; - pk->_has_affine = true; + switch (type_val.As().Uint32Value()) { + case 0: + is_affine = true; + break; + case 1: + // is_affine defaults to false + break; + default: + Napi::TypeError::New( + env, + "BLST_ERROR: must be CoordType.affine or " + "CoordType.jacobian") + .ThrowAsJavaScriptException(); + return env.Undefined(); } } + // try/catch here because using untrusted bytes for point creation and + // blst library will throw for invalid points try { - if (pk->_has_jacobian) { - pk->_jacobian.reset( - new blst::P1{pk_bytes.Data(), pk_bytes.ByteLength()}); - } else { - pk->_affine.reset( - new blst::P1_Affine{pk_bytes.Data(), pk_bytes.ByteLength()}); + if (is_affine) { + return scope.Escape( + module->_public_key_ctr.New({Napi::External::New( + env, + new P1Affine{blst::P1_Affine{ + pk_bytes.Data(), pk_bytes.ByteLength()}})})); } + return scope.Escape( + module->_public_key_ctr.New({Napi::External::New( + env, + new P1{blst::P1{pk_bytes.Data(), pk_bytes.ByteLength()}})})); } catch (blst::BLST_ERROR err) { Napi::RangeError::New(env, module->GetBlstErrorString(err)) .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } - - /** - * TODO: Check for zero key for spec tests - */ - - return scope.Escape(wrapped); } PublicKey::PublicKey(const Napi::CallbackInfo &info) - : Napi::ObjectWrap{info}, - _has_jacobian{false}, - _has_affine{false}, - _jacobian{nullptr}, - _affine{nullptr} { + : Napi::ObjectWrap{info}, _point{nullptr} { Napi::Env env = info.Env(); Napi::HandleScope scope(env); // Check that constructor was called from C++ and not JS. Externals can only @@ -110,51 +110,26 @@ PublicKey::PublicKey(const Napi::CallbackInfo &info) .ThrowAsJavaScriptException(); return; } + _point.reset(info[0].As>().Data()); } -Napi::Value PublicKey::Serialize(const Napi::CallbackInfo &info) { - BLST_TS_SERIALIZE_POINT(PUBLIC_KEY, "PublicKey"); -} +Napi::Value PublicKey::Serialize(const Napi::CallbackInfo &info){ + BLST_TS_SERIALIZE_POINT(PUBLIC_KEY)} Napi::Value PublicKey::KeyValidate(const Napi::CallbackInfo &info) { Napi::Env env = info.Env(); - Napi::EscapableHandleScope scope(env); - - if (_has_jacobian) { - if (_jacobian->is_inf()) { - Napi::Error::New(env, "BLST_ERROR::BLST_PK_IS_INFINITY") - .ThrowAsJavaScriptException(); - } else if (!_jacobian->in_group()) { - Napi::Error::New(env, "BLST_ERROR::BLST_POINT_NOT_IN_GROUP") - .ThrowAsJavaScriptException(); - } - } else if (_has_affine) { - if (_affine->is_inf()) { - Napi::Error::New(env, "BLST_ERROR::BLST_PK_IS_INFINITY") - .ThrowAsJavaScriptException(); - } else if (!_affine->in_group()) { - Napi::Error::New(env, "BLST_ERROR::BLST_POINT_NOT_IN_GROUP") - .ThrowAsJavaScriptException(); - } - } else { + Napi::HandleScope scope(env); + if (_point->IsInfinite()) { Napi::Error::New(env, "BLST_ERROR::BLST_PK_IS_INFINITY") .ThrowAsJavaScriptException(); } - - return scope.Escape(info.Env().Undefined()); + if (!_point->InGroup()) { + Napi::Error::New(env, "BLST_ERROR::BLST_POINT_NOT_IN_GROUP") + .ThrowAsJavaScriptException(); + } + return info.Env().Undefined(); } Napi::Value PublicKey::IsInfinity(const Napi::CallbackInfo &info) { - Napi::Env env = info.Env(); - Napi::EscapableHandleScope scope(env); - - if (!_has_jacobian && !_has_affine) { - Napi::Error::New(env, "BLST_ERROR: PublicKey not initialized") - .ThrowAsJavaScriptException(); - } else if (_has_jacobian && _jacobian->is_inf()) { - return scope.Escape(Napi::Boolean::New(env, true)); - } else if (_has_affine && _affine->is_inf()) { - return scope.Escape(Napi::Boolean::New(env, true)); - } - return scope.Escape(Napi::Boolean::New(env, false)); + BLST_TS_IS_INFINITY } diff --git a/temp-deps/blst-ts/src/public_key.h b/temp-deps/blst-ts/src/public_key.h index 2240fe8..d1bb7b0 100644 --- a/temp-deps/blst-ts/src/public_key.h +++ b/temp-deps/blst-ts/src/public_key.h @@ -10,12 +10,59 @@ #define BLST_TS_PUBLIC_KEY_LENGTH_COMPRESSED 48U #define BLST_TS_PUBLIC_KEY_LENGTH_UNCOMPRESSED 96U +typedef struct { + std::unique_ptr smart_pointer; + blst::P1_Affine *raw_point; +} P1AffineGroup; + +class P1Wrapper { + public: + virtual ~P1Wrapper() = default; + virtual bool IsInfinite() = 0; + virtual bool InGroup() = 0; + virtual void Serialize(bool compress, blst::byte *out) = 0; + virtual void AddTo(blst::P1 &point) = 0; + virtual P1AffineGroup AsAffine() = 0; +}; + +class P1 : public P1Wrapper { + blst::P1 _point; + + public: + P1(blst::P1 point) : _point(std::move(point)) {} + bool IsInfinite() override { return _point.is_inf(); } + bool InGroup() override { return _point.in_group(); } + void Serialize(bool compress, blst::byte *out) override { + compress ? _point.compress(out) : _point.serialize(out); + } + void AddTo(blst::P1 &point) override { point.add(_point); }; + P1AffineGroup AsAffine() override { + P1AffineGroup group{std::make_unique(_point), nullptr}; + group.raw_point = group.smart_pointer.get(); + return group; + }; +}; + +class P1Affine : public P1Wrapper { + blst::P1_Affine _point; + + public: + P1Affine(blst::P1_Affine point) : _point(std::move(point)) {} + bool IsInfinite() override { return _point.is_inf(); } + bool InGroup() override { return _point.in_group(); } + void Serialize(bool compress, blst::byte *out) override { + compress ? _point.compress(out) : _point.serialize(out); + } + void AddTo(blst::P1 &point) override { point.add(_point); }; + P1AffineGroup AsAffine() override { + P1AffineGroup group{.raw_point = &_point}; + return group; + } +}; + class PublicKey : public Napi::ObjectWrap { public: - bool _has_jacobian; - bool _has_affine; - std::shared_ptr _jacobian; - std::shared_ptr _affine; + std::unique_ptr _point; static void Init(Napi::Env env, Napi::Object &exports, BlstTsAddon *module); static Napi::Value Deserialize(const Napi::CallbackInfo &info); diff --git a/temp-deps/blst-ts/src/secret_key.cc b/temp-deps/blst-ts/src/secret_key.cc index 6ca03b9..0041b6f 100644 --- a/temp-deps/blst-ts/src/secret_key.cc +++ b/temp-deps/blst-ts/src/secret_key.cc @@ -2,8 +2,7 @@ void SecretKey::Init( Napi::Env env, Napi::Object &exports, BlstTsAddon *module) { - Napi::HandleScope scope( - env); // no need to EscapeHandleScope, Persistent will take care of it + Napi::HandleScope scope(env); auto proto = { StaticMethod( "fromKeygen", @@ -31,8 +30,6 @@ void SecretKey::Init( Napi::Function ctr = DefineClass(env, "SecretKey", proto, module); module->_secret_key_ctr = Napi::Persistent(ctr); - // These tag values must be unique across all classes - module->_secret_key_tag = {0ULL, 1ULL}; exports.Set(Napi::String::New(env, "SecretKey"), ctr); exports.Get("BLST_CONSTANTS") @@ -46,8 +43,7 @@ Napi::Value SecretKey::FromKeygen(const Napi::CallbackInfo &info) { BLST_TS_FUNCTION_PREAMBLE(info, env, module) Napi::Value ikm_value = info[0]; - BLST_TS_UNWRAP_UINT_8_ARRAY( - ikm_value, ikm, "ikm", scope.Escape(env.Undefined())) + BLST_TS_UNWRAP_UINT_8_ARRAY(ikm_value, ikm, "ikm") if (ikm.ByteLength() < BLST_TS_SECRET_KEY_LENGTH) { std::ostringstream msg; msg << "ikm must be greater than or equal to " @@ -56,9 +52,12 @@ Napi::Value SecretKey::FromKeygen(const Napi::CallbackInfo &info) { return scope.Escape(env.Undefined()); } - BLST_TS_CREATE_JHEAP_OBJECT(wrapped, secret_key, SecretKey, sk) - // If `info` string is passed use it otherwise use default without. Is - // optional parameter from blst library. + bool is_external = true; + Napi::Object wrapped = module->_secret_key_ctr.New( + {Napi::External::New(env, &is_external)}); + SecretKey *sk = SecretKey::Unwrap(wrapped); + + // If `info` string is passed use it otherwise use default without if (!info[1].IsUndefined()) { if (!info[1].IsString()) { Napi::TypeError::New(env, "BLST_ERROR: info must be a string") @@ -74,7 +73,8 @@ Napi::Value SecretKey::FromKeygen(const Napi::CallbackInfo &info) { } // Check if key is zero and set flag if so. Several specs depend on this - // check + // check. Do after building instead of checking incoming bytes incase + // info changes the key blst::byte key_bytes[BLST_TS_SECRET_KEY_LENGTH]; sk->_key->to_bendian(key_bytes); if (is_zero_bytes(key_bytes, 0, BLST_TS_SECRET_KEY_LENGTH)) { @@ -88,33 +88,31 @@ Napi::Value SecretKey::Deserialize(const Napi::CallbackInfo &info) { BLST_TS_FUNCTION_PREAMBLE(info, env, module) Napi::Value sk_bytes_value = info[0]; - BLST_TS_UNWRAP_UINT_8_ARRAY( - sk_bytes_value, sk_bytes, "skBytes", scope.Escape(env.Undefined())) + BLST_TS_UNWRAP_UINT_8_ARRAY(sk_bytes_value, sk_bytes, "skBytes") std::string err_out{"BLST_ERROR: skBytes"}; if (!is_valid_length( err_out, sk_bytes.ByteLength(), BLST_TS_SECRET_KEY_LENGTH)) { Napi::TypeError::New(env, err_out).ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } - BLST_TS_CREATE_JHEAP_OBJECT(wrapped, secret_key, SecretKey, sk) - // Deserialize key - sk->_key->from_bendian(sk_bytes.Data()); + bool is_external = true; + Napi::Object wrapped = module->_secret_key_ctr.New( + {Napi::External::New(env, &is_external)}); + SecretKey *sk = SecretKey::Unwrap(wrapped); - // Check if key is zero and set flag if so. Several specs depend on this - // check - blst::byte key_bytes[BLST_TS_SECRET_KEY_LENGTH]; - sk->_key->to_bendian(key_bytes); - if (is_zero_bytes(key_bytes, 0, BLST_TS_SECRET_KEY_LENGTH)) { + if (is_zero_bytes(sk_bytes.Data(), 0, sk_bytes.ByteLength())) { sk->_is_zero_key = true; } + // Deserialize key + sk->_key->from_bendian(sk_bytes.Data()); return scope.Escape(wrapped); } SecretKey::SecretKey(const Napi::CallbackInfo &info) : Napi::ObjectWrap{info}, - _key{new blst::SecretKey}, + _key{std::make_unique()}, _is_zero_key{false} { Napi::Env env = info.Env(); Napi::HandleScope scope(env); @@ -140,36 +138,30 @@ Napi::Value SecretKey::Serialize(const Napi::CallbackInfo &info) { Napi::Value SecretKey::ToPublicKey(const Napi::CallbackInfo &info) { BLST_TS_FUNCTION_PREAMBLE(info, env, module) - - BLST_TS_CREATE_JHEAP_OBJECT(wrapped, public_key, PublicKey, pk) - // Derive public key from secret key. Default to jacobian coordinates - pk->_jacobian.reset(new blst::P1{*_key}); - pk->_has_jacobian = true; - - return scope.Escape(wrapped); + return scope.Escape(module->_public_key_ctr.New( + {Napi::External::New(env, new P1{blst::P1{*_key}}), + Napi::Boolean::New(env, false)})); } Napi::Value SecretKey::Sign(const Napi::CallbackInfo &info) { BLST_TS_FUNCTION_PREAMBLE(info, env, module) - // Check for zero key and throw error to meet spec requirements if (_is_zero_key) { Napi::TypeError::New( env, "BLST_ERROR: cannot sign message with zero private key") .ThrowAsJavaScriptException(); - return scope.Escape(info.Env().Undefined()); + return info.Env().Undefined(); } Napi::Value msg_value = info[0]; - BLST_TS_UNWRAP_UINT_8_ARRAY( - msg_value, msg, "msg", scope.Escape(env.Undefined())) - BLST_TS_CREATE_JHEAP_OBJECT(wrapped, signature, Signature, sig) - // Default to jacobian coordinates - sig->_jacobian.reset(new blst::P2); - sig->_has_jacobian = true; - // Hash to point and sign message - sig->_jacobian->hash_to(msg.Data(), msg.ByteLength(), module->_dst); - sig->_jacobian->sign_with(*_key); - - return scope.Escape(wrapped); + BLST_TS_UNWRAP_UINT_8_ARRAY(msg_value, msg, "msg") + + Napi::Object sig_obj = module->_signature_ctr.New( + // Default to jacobian coordinates + {Napi::External::New(env, new P2{blst::P2{}}), + Napi::Boolean::New(env, false)}); + Signature *sig = Napi::ObjectWrap::Unwrap(sig_obj); + sig->_point->Sign(*_key, msg.Data(), msg.ByteLength(), module->_dst); + + return scope.Escape(sig_obj); } diff --git a/temp-deps/blst-ts/src/secret_key.h b/temp-deps/blst-ts/src/secret_key.h index ad9a308..1b9ca9f 100644 --- a/temp-deps/blst-ts/src/secret_key.h +++ b/temp-deps/blst-ts/src/secret_key.h @@ -13,7 +13,7 @@ class SecretKey : public Napi::ObjectWrap { public: - std::shared_ptr _key; + std::unique_ptr _key; bool _is_zero_key; static void Init(Napi::Env env, Napi::Object &exports, BlstTsAddon *module); diff --git a/temp-deps/blst-ts/src/signature.cc b/temp-deps/blst-ts/src/signature.cc index cd4941d..067920e 100644 --- a/temp-deps/blst-ts/src/signature.cc +++ b/temp-deps/blst-ts/src/signature.cc @@ -26,8 +26,6 @@ void Signature::Init( Napi::Function ctr = DefineClass(env, "Signature", proto, module); module->_signature_ctr = Napi::Persistent(ctr); - // These tag values must be unique across all classes - module->_signature_tag = {4ULL, 5ULL}; exports.Set(Napi::String::New(env, "Signature"), ctr); Napi::Object js_exports = exports.Get("BLST_CONSTANTS").As(); @@ -41,10 +39,9 @@ void Signature::Init( Napi::Value Signature::Deserialize(const Napi::CallbackInfo &info) { BLST_TS_FUNCTION_PREAMBLE(info, env, module) - Napi::Value sig_bytes_value = info[0]; + Napi::Value sig_bytes_val = info[0]; + BLST_TS_UNWRAP_UINT_8_ARRAY(sig_bytes_val, sig_bytes, "sigBytes") - BLST_TS_UNWRAP_UINT_8_ARRAY( - sig_bytes_value, sig_bytes, "sigBytes", scope.Escape(env.Undefined())) std::string err_out{"BLST_ERROR: sigBytes"}; if (!is_valid_length( err_out, @@ -52,13 +49,10 @@ Napi::Value Signature::Deserialize(const Napi::CallbackInfo &info) { BLST_TS_SIGNATURE_LENGTH_COMPRESSED, BLST_TS_SIGNATURE_LENGTH_UNCOMPRESSED)) { Napi::TypeError::New(env, err_out).ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } - BLST_TS_CREATE_JHEAP_OBJECT(wrapped, signature, Signature, sig) - // default to jacobian for now - sig->_has_jacobian = true; - + bool is_affine = false; // but figure out if request for affine if (!info[1].IsUndefined()) { Napi::Value type_val = info[1].As(); @@ -66,37 +60,48 @@ Napi::Value Signature::Deserialize(const Napi::CallbackInfo &info) { Napi::TypeError::New( env, "BLST_ERROR: type must be of enum CoordType (number)") .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } - if (type_val.As().Uint32Value() == 0) { - sig->_has_jacobian = false; - sig->_has_affine = true; + switch (type_val.As().Uint32Value()) { + case 0: + is_affine = true; + break; + case 1: + // is_affine defaults to false + break; + default: + Napi::TypeError::New( + env, + "BLST_ERROR: must be CoordType.affine or " + "CoordType.jacobian") + .ThrowAsJavaScriptException(); + return env.Undefined(); } } + // try/catch here because using untrusted bytes for point creation and + // blst library will throw for invalid points try { - if (sig->_has_jacobian) { - sig->_jacobian.reset( - new blst::P2{sig_bytes.Data(), sig_bytes.ByteLength()}); - } else { - sig->_affine.reset( - new blst::P2_Affine{sig_bytes.Data(), sig_bytes.ByteLength()}); + if (is_affine) { + return scope.Escape( + module->_signature_ctr.New({Napi::External::New( + env, + new P2Affine{blst::P2_Affine{ + sig_bytes.Data(), sig_bytes.ByteLength()}})})); } + return scope.Escape( + module->_signature_ctr.New({Napi::External::New( + env, + new P2{blst::P2{sig_bytes.Data(), sig_bytes.ByteLength()}})})); } catch (blst::BLST_ERROR err) { Napi::RangeError::New(env, module->GetBlstErrorString(err)) .ThrowAsJavaScriptException(); - return scope.Escape(env.Undefined()); + return env.Undefined(); } - - return scope.Escape(wrapped); } Signature::Signature(const Napi::CallbackInfo &info) - : Napi::ObjectWrap{info}, - _has_jacobian{false}, - _has_affine{false}, - _jacobian{nullptr}, - _affine{nullptr} { + : Napi::ObjectWrap{info}, _point{nullptr} { Napi::Env env = info.Env(); Napi::HandleScope scope(env); // Check that constructor was called from C++ and not JS. Externals can only @@ -106,40 +111,22 @@ Signature::Signature(const Napi::CallbackInfo &info) .ThrowAsJavaScriptException(); return; } + _point.reset(info[0].As>().Data()); } Napi::Value Signature::Serialize(const Napi::CallbackInfo &info){ - BLST_TS_SERIALIZE_POINT(SIGNATURE, "Signature")} + BLST_TS_SERIALIZE_POINT(SIGNATURE)} Napi::Value Signature::SigValidate(const Napi::CallbackInfo &info) { Napi::Env env = info.Env(); - Napi::EscapableHandleScope scope(env); - - if (!_has_jacobian && !_has_affine) { - Napi::Error::New(env, "BLST_ERROR: Signature not initialized") - .ThrowAsJavaScriptException(); - } else if (_has_jacobian && !_jacobian->in_group()) { - Napi::Error::New(env, "BLST_ERROR::BLST_POINT_NOT_IN_GROUP") - .ThrowAsJavaScriptException(); - } else if (_has_affine && !_affine->in_group()) { + Napi::HandleScope scope(env); + if (!_point->InGroup()) { Napi::Error::New(env, "BLST_ERROR::BLST_POINT_NOT_IN_GROUP") .ThrowAsJavaScriptException(); } - - return scope.Escape(env.Undefined()); + return env.Undefined(); } Napi::Value Signature::IsInfinity(const Napi::CallbackInfo &info) { - Napi::Env env = info.Env(); - Napi::EscapableHandleScope scope(env); - - if (!_has_jacobian && !_has_affine) { - Napi::Error::New(env, "BLST_ERROR: Signature not initialized") - .ThrowAsJavaScriptException(); - } else if (_has_jacobian && _jacobian->is_inf()) { - return scope.Escape(Napi::Boolean::New(env, true)); - } else if (_has_affine && _affine->is_inf()) { - return scope.Escape(Napi::Boolean::New(env, true)); - } - return scope.Escape(Napi::Boolean::New(env, false)); + BLST_TS_IS_INFINITY } diff --git a/temp-deps/blst-ts/src/signature.h b/temp-deps/blst-ts/src/signature.h index a1f71ab..a5e8291 100644 --- a/temp-deps/blst-ts/src/signature.h +++ b/temp-deps/blst-ts/src/signature.h @@ -10,12 +10,82 @@ #define BLST_TS_SIGNATURE_LENGTH_COMPRESSED 96U #define BLST_TS_SIGNATURE_LENGTH_UNCOMPRESSED 192U +typedef struct { + std::unique_ptr smart_pointer; + blst::P2_Affine *raw_point; +} P2AffineGroup; + +class P2Wrapper { + public: + virtual ~P2Wrapper() = default; + virtual bool IsInfinite() = 0; + virtual bool InGroup() = 0; + virtual void Serialize(bool compress, blst::byte *out) = 0; + virtual void AddTo(blst::P2 &point) = 0; + virtual P2AffineGroup AsAffine() = 0; + virtual void Sign( + const blst::SecretKey &key, + uint8_t *msg, + size_t msg_length, + const std::string &dst) = 0; +}; + +class P2 : public P2Wrapper { + blst::P2 _point; + + public: + P2(blst::P2 point) : _point(std::move(point)) {} + bool IsInfinite() override { return _point.is_inf(); } + bool InGroup() override { return _point.in_group(); } + void Serialize(bool compress, blst::byte *out) override { + compress ? _point.compress(out) : _point.serialize(out); + } + void AddTo(blst::P2 &point) override { point.add(_point); }; + P2AffineGroup AsAffine() override { + P2AffineGroup group{std::make_unique(_point), nullptr}; + group.raw_point = group.smart_pointer.get(); + return group; + }; + void Sign( + const blst::SecretKey &key, + uint8_t *msg, + size_t msg_length, + const std::string &dst) override { + _point.hash_to(msg, msg_length, dst); + _point.sign_with(key); + }; +}; + +class P2Affine : public P2Wrapper { + blst::P2_Affine _point; + + public: + P2Affine(blst::P2_Affine point) : _point(std::move(point)) {} + bool IsInfinite() override { return _point.is_inf(); } + bool InGroup() override { return _point.in_group(); } + void Serialize(bool compress, blst::byte *out) override { + compress ? _point.compress(out) : _point.serialize(out); + } + void AddTo(blst::P2 &point) override { point.add(_point); }; + P2AffineGroup AsAffine() override { + P2AffineGroup group{.raw_point = &_point}; + return group; + } + void Sign( + const blst::SecretKey &key, + uint8_t *msg, + size_t msg_length, + const std::string &dst) override { + blst::P2 jacobian{_point}; + jacobian.hash_to(msg, msg_length, dst); + jacobian.sign_with(key); + _point = jacobian.to_affine(); + }; +}; + class Signature : public Napi::ObjectWrap { public: - bool _has_jacobian; - bool _has_affine; - std::shared_ptr _jacobian; - std::shared_ptr _affine; + std::unique_ptr _point; static void Init(Napi::Env env, Napi::Object &exports, BlstTsAddon *module); static Napi::Value Deserialize(const Napi::CallbackInfo &info); diff --git a/yarn.lock b/yarn.lock index c59da42..3fc5b95 100644 --- a/yarn.lock +++ b/yarn.lock @@ -259,13 +259,6 @@ bls-eth-wasm "^0.4.4" randombytes "^2.1.0" -"@chainsafe/blst-ts@file:./temp-deps/blst-ts": - version "1.0.0" - dependencies: - bindings "^1.5.0" - node-addon-api "^6.1.0" - node-gyp "^9.3.1" - "@chainsafe/eslint-plugin-node@^11.2.3": version "11.2.3" resolved "https://registry.yarnpkg.com/@chainsafe/eslint-plugin-node/-/eslint-plugin-node-11.2.3.tgz#ff2c3fbf11db204aeaa72dcee60233140ad1c34a" @@ -384,11 +377,6 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" -"@gar/promisify@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@gar/promisify/-/promisify-1.1.3.tgz#555193ab2e3bb3b6adc3d551c9c030d9e860daf6" - integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== - "@humanwhocodes/config-array@^0.5.0": version "0.5.0" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" @@ -493,22 +481,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@npmcli/fs@^2.1.0": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@npmcli/fs/-/fs-2.1.2.tgz#a9e2541a4a2fec2e69c29b35e6060973da79b865" - integrity sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ== - dependencies: - "@gar/promisify" "^1.1.3" - semver "^7.3.5" - -"@npmcli/move-file@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@npmcli/move-file/-/move-file-2.0.1.tgz#26f6bdc379d87f75e55739bab89db525b06100e4" - integrity sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - "@scure/base@~1.1.4": version "1.1.5" resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.5.tgz#1d85d17269fe97694b9c592552dd9e5e33552157" @@ -527,11 +499,6 @@ resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== -"@tootallnate/once@2": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-2.0.0.tgz#f544a148d3ab35801c1f633a7441fd87c2e484bf" - integrity sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A== - "@tsconfig/node10@^1.0.7": version "1.0.9" resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" @@ -847,11 +814,6 @@ resolved "https://registry.yarnpkg.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d" integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== -abbrev@^1.0.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -892,20 +854,6 @@ acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== -agent-base@6, agent-base@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agentkeepalive@^4.2.1: - version "4.5.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" - integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== - dependencies: - humanize-ms "^1.2.1" - aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" @@ -991,24 +939,11 @@ append-transform@^2.0.0: dependencies: default-require-extensions "^3.0.0" -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/aproba/-/aproba-2.0.0.tgz#52520b8ae5b569215b354efc0caa3fe1e45a8adc" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - archy@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/archy/-/archy-1.0.0.tgz#f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40" integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== -are-we-there-yet@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz#679df222b278c64f2cdba1175cdc00b0d96164bd" - integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - arg@^4.1.0: version "4.1.3" resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" @@ -1167,7 +1102,7 @@ binary-extensions@^2.0.0: resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bindings@^1.3.0, bindings@^1.5.0: +bindings@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== @@ -1277,30 +1212,6 @@ bytes@3.1.2: resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== -cacache@^16.1.0: - version "16.1.3" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-16.1.3.tgz#a02b9f34ecfaf9a78c9f4bc16fceb94d5d67a38e" - integrity sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ== - dependencies: - "@npmcli/fs" "^2.1.0" - "@npmcli/move-file" "^2.0.0" - chownr "^2.0.0" - fs-minipass "^2.1.0" - glob "^8.0.1" - infer-owner "^1.0.4" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - mkdirp "^1.0.4" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^9.0.0" - tar "^6.1.11" - unique-filename "^2.0.0" - caching-transform@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/caching-transform/-/caching-transform-4.0.0.tgz#00d297a4206d71e2163c39eaffa8157ac0651f0f" @@ -1471,11 +1382,6 @@ color-string@^1.6.0: color-name "^1.0.0" simple-swizzle "^0.2.2" -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - color@^3.1.3: version "3.2.1" resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" @@ -1532,11 +1438,6 @@ connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" -console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - content-type@~1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" @@ -1596,13 +1497,6 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - debug@4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" @@ -1610,6 +1504,13 @@ debug@4.3.3: dependencies: ms "2.1.2" +debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: + version "4.3.4" + resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + debug@^3.2.7: version "3.2.7" resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" @@ -1664,11 +1565,6 @@ define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1: has-property-descriptors "^1.0.0" object-keys "^1.1.1" -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - depd@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" @@ -1750,13 +1646,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -encoding@^0.1.13: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - engine.io-parser@~5.2.1: version "5.2.1" resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.2.1.tgz#9f213c77512ff1a6cc0c7a86108a7ffceb16fcfb" @@ -1799,21 +1688,11 @@ ent@~2.2.0: resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" integrity sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA== -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - envinfo@^7.7.3: version "7.11.0" resolved "https://registry.yarnpkg.com/envinfo/-/envinfo-7.11.0.tgz#c3793f44284a55ff8c82faf1ffd91bc6478ea01f" integrity sha512-G9/6xF1FPbIw0TtalAMaVPpiq2aDEuKLXM314jPVAO9r2fo2a4BLqMNkmRS7O/xPPZ+COAhGIz3ETvHEV3eUcg== -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - es-abstract@^1.22.1: version "1.22.3" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32" @@ -2114,11 +1993,6 @@ events@^3.2.0: resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== -exponential-backoff@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.1.tgz#64ac7526fe341ab18a39016cd22c787d01e00bf6" - integrity sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw== - extend@^3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" @@ -2287,7 +2161,7 @@ fs-extra@^8.1.0: jsonfile "^4.0.0" universalify "^0.1.0" -fs-minipass@^2.0.0, fs-minipass@^2.1.0: +fs-minipass@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-2.1.0.tgz#7f5036fdbf12c63c169190cbe4199c852271f9fb" integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== @@ -2329,20 +2203,6 @@ functions-have-names@^1.2.3: resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== -gauge@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/gauge/-/gauge-4.0.4.tgz#52ff0652f2bbf607a989793d53b751bef2328dce" - integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^3.0.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - gensync@^1.0.0-beta.2: version "1.0.0-beta.2" resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" @@ -2417,17 +2277,6 @@ glob@^7.1.3, glob@^7.1.4, glob@^7.1.6, glob@^7.1.7: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^8.0.1: - version "8.1.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-8.1.0.tgz#d388f656593ef708ee3e34640fdfb99a9fd1c33e" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - globals@^11.1.0: version "11.12.0" resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" @@ -2515,11 +2364,6 @@ has-tostringtag@^1.0.0: dependencies: has-symbols "^1.0.2" -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - hasha@^5.0.0: version "5.2.2" resolved "https://registry.yarnpkg.com/hasha/-/hasha-5.2.2.tgz#a48477989b3b327aea3c04f53096d816d97522a1" @@ -2545,11 +2389,6 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -http-cache-semantics@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - http-errors@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" @@ -2561,15 +2400,6 @@ http-errors@2.0.0: statuses "2.0.1" toidentifier "1.0.1" -http-proxy-agent@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43" - integrity sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w== - dependencies: - "@tootallnate/once" "2" - agent-base "6" - debug "4" - http-proxy@^1.18.1: version "1.18.1" resolved "https://registry.yarnpkg.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549" @@ -2579,21 +2409,6 @@ http-proxy@^1.18.1: follow-redirects "^1.0.0" requires-port "^1.0.0" -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - iconv-lite@0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -2601,13 +2416,6 @@ iconv-lite@0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -2649,11 +2457,6 @@ indent-string@^4.0.0: resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -2681,11 +2484,6 @@ interpret@^2.2.0: resolved "https://registry.yarnpkg.com/interpret/-/interpret-2.2.0.tgz#1a78a0b5965c40a5416d007ad6f50ad27c417df9" integrity sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw== -ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== - is-arguments@^1.0.4: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" @@ -2773,11 +2571,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-lambda/-/is-lambda-1.0.1.tgz#3d9877899e6a53efc0160504cde15f82e6f061d5" - integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== - is-nan@^1.3.2: version "1.3.2" resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" @@ -3234,11 +3027,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.7.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - make-dir@^3.0.0, make-dir@^3.0.2: version "3.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" @@ -3258,28 +3046,6 @@ make-error@^1.1.1: resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== -make-fetch-happen@^10.0.3: - version "10.2.1" - resolved "https://registry.yarnpkg.com/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz#f5e3835c5e9817b617f2770870d9492d28678164" - integrity sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w== - dependencies: - agentkeepalive "^4.2.1" - cacache "^16.1.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^5.0.0" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^7.7.1" - minipass "^3.1.6" - minipass-collect "^1.0.2" - minipass-fetch "^2.0.3" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.3" - promise-retry "^2.0.1" - socks-proxy-agent "^7.0.0" - ssri "^9.0.0" - media-typer@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" @@ -3341,58 +3107,12 @@ minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/minipass-collect/-/minipass-collect-1.0.2.tgz#22b813bf745dc6edba2576b940022ad6edc8c617" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-fetch@^2.0.3: - version "2.1.2" - resolved "https://registry.yarnpkg.com/minipass-fetch/-/minipass-fetch-2.1.2.tgz#95560b50c472d81a3bc76f20ede80eaed76d8add" - integrity sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA== - dependencies: - minipass "^3.1.6" - minipass-sized "^1.0.3" - minizlib "^2.1.2" - optionalDependencies: - encoding "^0.1.13" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/minipass-flush/-/minipass-flush-1.0.5.tgz#82e7135d7e89a50ffe64610a787953c4c4cbb373" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz#68472f79711c084657c067c5c6ad93cddea8214c" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/minipass-sized/-/minipass-sized-1.0.3.tgz#70ee5a7c5052070afacfbc22977ea79def353b70" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.1, minipass@^3.1.6: +minipass@^3.0.0: version "3.3.6" resolved "https://registry.yarnpkg.com/minipass/-/minipass-3.3.6.tgz#7bba384db3a1520d18c9c0e5251c3444e95dd94a" integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== @@ -3404,7 +3124,7 @@ minipass@^5.0.0: resolved "https://registry.yarnpkg.com/minipass/-/minipass-5.0.0.tgz#3e9788ffb90b694a5d0ec94479a45b5d8738133d" integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== -minizlib@^2.1.1, minizlib@^2.1.2: +minizlib@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-2.1.2.tgz#e90d3466ba209b932451508a11ce3d3632145931" integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== @@ -3419,7 +3139,7 @@ mkdirp@^0.5.5: dependencies: minimist "^1.2.6" -mkdirp@^1.0.3, mkdirp@^1.0.4: +mkdirp@^1.0.3: version "1.0.4" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== @@ -3491,7 +3211,7 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@2.1.3, ms@^2.0.0, ms@^2.1.1: +ms@2.1.3, ms@^2.1.1: version "2.1.3" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== @@ -3523,7 +3243,7 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -negotiator@0.6.3, negotiator@^0.6.3: +negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== @@ -3533,28 +3253,6 @@ neo-async@^2.6.2: resolved "https://registry.yarnpkg.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== -node-addon-api@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-6.1.0.tgz#ac8470034e58e67d0c6f1204a18ae6995d9c0d76" - integrity sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA== - -node-gyp@^9.3.1: - version "9.4.1" - resolved "https://registry.yarnpkg.com/node-gyp/-/node-gyp-9.4.1.tgz#8a1023e0d6766ecb52764cc3a734b36ff275e185" - integrity sha512-OQkWKbjQKbGkMf/xqI1jjy3oCTgMKJac58G2+bjZb3fza6gW2YrCSdMQYaoTb70crvE//Gngr4f0AgVHmqHvBQ== - dependencies: - env-paths "^2.2.0" - exponential-backoff "^3.1.1" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^10.0.3" - nopt "^6.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - node-preload@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/node-preload/-/node-preload-0.2.1.tgz#c03043bb327f417a18fee7ab7ee57b408a144301" @@ -3567,28 +3265,11 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== -nopt@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-6.0.0.tgz#245801d8ebf409c6df22ab9d95b65e1309cdb16d" - integrity sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g== - dependencies: - abbrev "^1.0.0" - normalize-path@^3.0.0, normalize-path@~3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== -npmlog@^6.0.0: - version "6.0.2" - resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-6.0.2.tgz#c8166017a42f2dea92d6453168dd865186a70830" - integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== - dependencies: - are-we-there-yet "^3.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.3" - set-blocking "^2.0.0" - nyc@^15.0.0: version "15.1.0" resolved "https://registry.yarnpkg.com/nyc/-/nyc-15.1.0.tgz#1335dae12ddc87b6e249d5a1994ca4bdaea75f02" @@ -3763,13 +3444,6 @@ p-map@^3.0.0: dependencies: aggregate-error "^3.0.0" -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - p-try@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" @@ -3873,19 +3547,6 @@ progress@^2.0.0: resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - punycode@^2.1.0: version "2.3.1" resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5" @@ -4027,11 +3688,6 @@ resolve@^1.10.1, resolve@^1.22.4, resolve@^1.3.3, resolve@^1.9.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== - reusify@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" @@ -4085,7 +3741,7 @@ safe-stable-stringify@^2.3.1: resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0": +"safer-buffer@>= 2.1.2 < 3": version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -4183,7 +3839,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.2, signal-exit@^3.0.7: +signal-exit@^3.0.2: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -4209,11 +3865,6 @@ slice-ansi@^4.0.0: astral-regex "^2.0.0" is-fullwidth-code-point "^3.0.0" -smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - socket.io-adapter@~2.5.2: version "2.5.2" resolved "https://registry.yarnpkg.com/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz#5de9477c9182fdc171cd8c8364b9a8894ec75d12" @@ -4242,23 +3893,6 @@ socket.io@^4.4.1: socket.io-adapter "~2.5.2" socket.io-parser "~4.2.4" -socks-proxy-agent@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz#dc069ecf34436621acb41e3efa66ca1b5fed15b6" - integrity sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww== - dependencies: - agent-base "^6.0.2" - debug "^4.3.3" - socks "^2.6.2" - -socks@^2.6.2: - version "2.7.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" - integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== - dependencies: - ip "^2.0.0" - smart-buffer "^4.2.0" - source-map-support@~0.5.20: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" @@ -4294,13 +3928,6 @@ sprintf-js@~1.0.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== -ssri@^9.0.0: - version "9.0.1" - resolved "https://registry.yarnpkg.com/ssri/-/ssri-9.0.1.tgz#544d4c357a8d7b71a19700074b6883fcb4eae057" - integrity sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q== - dependencies: - minipass "^3.1.1" - stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -4325,7 +3952,7 @@ streamroller@^3.1.5: debug "^4.3.4" fs-extra "^8.1.0" -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -4432,7 +4059,7 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar@^6.0.5, tar@^6.1.11, tar@^6.1.2: +tar@^6.0.5: version "6.2.0" resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73" integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== @@ -4678,20 +4305,6 @@ undici-types@~5.26.4: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== -unique-filename@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-2.0.1.tgz#e785f8675a9a7589e0ac77e0b5c34d2eaeac6da2" - integrity sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A== - dependencies: - unique-slug "^3.0.0" - -unique-slug@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-3.0.0.tgz#6d347cf57c8a7a7a6044aabd0e2d74e4d76dc7c9" - integrity sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w== - dependencies: - imurmurhash "^0.1.4" - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -4874,7 +4487,7 @@ which-typed-array@^1.1.11, which-typed-array@^1.1.13, which-typed-array@^1.1.2: gopd "^1.0.1" has-tostringtag "^1.0.0" -which@2.0.2, which@^2.0.1, which@^2.0.2: +which@2.0.2, which@^2.0.1: version "2.0.2" resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== @@ -4888,13 +4501,6 @@ which@^1.2.1: dependencies: isexe "^2.0.0" -wide-align@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - wildcard@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67"