From 8cd150adcdbf1daa02d75562192f3107bfaa9e13 Mon Sep 17 00:00:00 2001 From: vol4tim Date: Sat, 9 Mar 2024 13:41:08 +0400 Subject: [PATCH] switch for telemetry --- babel.config.js | 7 +- package.json | 11 +- src/plugins/robonomicsAccountManager.js | 43 ++ src/router.js | 2 +- src/utils/encryptor.js | 25 +- src/utils/libp2p/ha.js | 77 ++ src/utils/libp2p/libp2p.js | 103 +++ src/views/RwsSetup.vue | 4 +- src/views/telemetry/Launch.vue | 38 + src/views/telemetry/Libp2p.vue | 50 ++ src/views/telemetry/Telemetry.vue | 58 ++ src/views/telemetry/common.js | 199 +++++ src/views/telemetry/launch.js | 165 ++++ src/views/telemetry/libp2p.js | 95 +++ yarn.lock | 956 +++++++++++++++++++++++- 15 files changed, 1800 insertions(+), 33 deletions(-) create mode 100644 src/utils/libp2p/ha.js create mode 100644 src/utils/libp2p/libp2p.js create mode 100644 src/views/telemetry/Launch.vue create mode 100644 src/views/telemetry/Libp2p.vue create mode 100644 src/views/telemetry/Telemetry.vue create mode 100644 src/views/telemetry/common.js create mode 100644 src/views/telemetry/launch.js create mode 100644 src/views/telemetry/libp2p.js diff --git a/babel.config.js b/babel.config.js index e955840..1e8424c 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1,5 +1,4 @@ module.exports = { - presets: [ - '@vue/cli-plugin-babel/preset' - ] -} + presets: ["@vue/cli-plugin-babel/preset"], + plugins: ["@babel/plugin-transform-private-methods"] +}; diff --git a/package.json b/package.json index d22f902..448c9a8 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,12 @@ "lint": "vue-cli-service lint" }, "dependencies": { + "@chainsafe/libp2p-noise": "^15.0.0", + "@libp2p/circuit-relay-v2": "^1.0.16", + "@libp2p/identify": "^1.0.15", + "@libp2p/mplex": "^10.0.16", + "@libp2p/webrtc": "^4.0.20", + "@libp2p/websockets": "^8.0.16", "@polkadot/api": "^9.14.1", "@polkadot/ui-keyring": "^2.11.1", "axios": "^1.4.0", @@ -17,8 +23,10 @@ "dayjs": "^1.11.9", "decimal.js-light": "^2.5.1", "ipfs-http-client": "^60.0.0", - "robonomics-interface": "^0.3.1", + "libp2p": "^1.2.4", + "robonomics-interface": "^0.3.2", "robonomics-ui-vue": "^0.2.7", + "uuid": "^9.0.1", "vue": "^3.4.15", "vue-router": "^4.2.5", "vuex": "^4.1.0" @@ -26,6 +34,7 @@ "devDependencies": { "@babel/core": "^7.23.7", "@babel/eslint-parser": "^7.23.3", + "@babel/plugin-transform-private-methods": "^7.23.3", "@vue/cli-plugin-babel": "^5.0.8", "@vue/cli-plugin-eslint": "^5.0.8", "@vue/cli-service": "^5.0.8", diff --git a/src/plugins/robonomicsAccountManager.js b/src/plugins/robonomicsAccountManager.js index 28b4b17..7f5e0fc 100644 --- a/src/plugins/robonomicsAccountManager.js +++ b/src/plugins/robonomicsAccountManager.js @@ -1,4 +1,7 @@ +import { encryptor } from "@/utils/encryptor"; +import { decodePair } from "@polkadot/keyring/pair/decode"; import { u8aToHex, u8aWrapBytes } from "@polkadot/util"; +import { base64Decode } from "@polkadot/util-crypto"; import { AccountManager } from "robonomics-interface"; export default class AccountManagerDapp extends AccountManager { @@ -10,6 +13,10 @@ export default class AccountManagerDapp extends AccountManager { } async beforeSetSender(address, { type, extension }) { + // if (this.account && !this.account.meta.isInjected) { + // // this.keyring.forgetAccount(this.account.address); + // this.account.lock(); + // } this.extension = extension; try { this.keyring.getPair(address); @@ -20,6 +27,7 @@ export default class AccountManagerDapp extends AccountManager { } async afterSetSender() { + await super.afterSetSender(); if (this.account.meta.isInjected && this.extension) { this.api.setSigner(this.extension.signer); this.account.signMsg = async (data) => { @@ -33,4 +41,39 @@ export default class AccountManagerDapp extends AccountManager { }; } } + + async addUri(suri, meta = {}, type = "ed25519") { + const pair = this.keyring.keyring.addFromUri(suri, meta, type); + return await this.setSender(pair.address, { + type: type + }); + } + + async addUriPassword( + suri, + password = undefined, + meta = {}, + type = "ed25519" + ) { + const { pair } = this.keyring.addUri(suri, password, meta, type); + return await this.setSender(pair.address, { + type: type + }); + } + + async addJsonPassword(json, password) { + const pair = this.keyring.createFromJson(json); + this.keyring.addPair(pair, password); + return await this.setSender(pair.address, { + type: pair.type + }); + } + + encryptor(password) { + if (!this.account.meta.isInjected && this.account.type === "ed25519") { + const json = this.account.toJson(password); + const decoded = decodePair(password, base64Decode(json.encoded)); + return encryptor(decoded); + } + } } diff --git a/src/router.js b/src/router.js index ccc3028..8fe19e6 100644 --- a/src/router.js +++ b/src/router.js @@ -5,7 +5,7 @@ import RwsActivate from "./views/RwsActivate.vue"; import RwsSetup from "./views/RwsSetup.vue"; import RwsSetupNew from "./views/RwsSetupNew.vue"; import Services from "./views/Services.vue"; -import Telemetry from "./views/Telemetry.vue"; +import Telemetry from "./views/telemetry/Telemetry.vue"; const routes = [ { diff --git a/src/utils/encryptor.js b/src/utils/encryptor.js index 9ce0d53..1b1f640 100644 --- a/src/utils/encryptor.js +++ b/src/utils/encryptor.js @@ -57,13 +57,12 @@ export function encryptMessage( ); return u8aConcat(nonce, sealed); } -export function getPair(mnemonic) { +export function createPair(mnemonic) { const seed = mnemonicToMiniSecret(mnemonic); const pair = ed25519PairFromSeed(seed); return pair; } -export function encryptor(mnemonic) { - const pair = getPair(mnemonic); +export function encryptor(pair) { return { pair, address: encodeAddress(pair.publicKey, 32), @@ -82,3 +81,23 @@ export function encryptor(mnemonic) { } }; } +// export function encryptor(mnemonic) { +// const pair = createPair(mnemonic); +// return { +// pair, +// address: encodeAddress(pair.publicKey, 32), +// encodeAddress: (ss58Format = 32) => { +// return encodeAddress(pair.publicKey, ss58Format); +// }, +// decryptMessage: (encryptedMessageWithNonce, senderPublicKey) => { +// return decryptMessage( +// encryptedMessageWithNonce, +// senderPublicKey, +// pair.secretKey +// ); +// }, +// encryptMessage: (message, recipientPublicKey, nonce) => { +// return encryptMessage(message, recipientPublicKey, pair.secretKey, nonce); +// } +// }; +// } diff --git a/src/utils/libp2p/ha.js b/src/utils/libp2p/ha.js new file mode 100644 index 0000000..9044db4 --- /dev/null +++ b/src/utils/libp2p/ha.js @@ -0,0 +1,77 @@ +import { pipe } from "it-pipe"; +import { fromString as uint8ArrayFromString } from "uint8arrays/from-string"; +import { toString as uint8ArrayToString } from "uint8arrays/to-string"; + +export function createHa() { + return (components) => { + async function getRequest(stream) { + return pipe(stream, async function (source) { + let result = ""; + for await (const data of source) { + result += uint8ArrayToString(data.subarray()); + } + return JSON.parse(result); + }); + } + + async function sendResponse(stream, msg) { + return pipe( + [uint8ArrayFromString(JSON.stringify(msg))], + stream.sink + ).finally(() => { + stream.close(); + }); + } + + return { + async handle( + protocol, + handler, + options = { + runOnTransientConnection: true + } + ) { + await components.registrar.handle( + protocol, + async ({ stream }) => { + handler(await getRequest(stream), stream); + }, + options + ); + }, + async request( + connection, + protocol, + data, + options = { + runOnTransientConnection: true + } + ) { + if (connection.status !== "open") { + return; + } + const stream = await connection.newStream([protocol], options); + return pipe( + [uint8ArrayFromString(JSON.stringify(data))], + stream, + async function (source) { + let result = ""; + for await (const data of source) { + result += uint8ArrayToString(data.subarray()); + } + try { + // stream.close(); + return JSON.parse(result); + } catch (error) { + return result; + } + } + ); + }, + utils: { + getRequest, + sendResponse + } + }; + }; +} diff --git a/src/utils/libp2p/libp2p.js b/src/utils/libp2p/libp2p.js new file mode 100644 index 0000000..07ca8c6 --- /dev/null +++ b/src/utils/libp2p/libp2p.js @@ -0,0 +1,103 @@ +import { noise } from "@chainsafe/libp2p-noise"; +import { mplex } from "@libp2p/mplex"; +import { webRTC } from "@libp2p/webrtc"; +import { webSockets } from "@libp2p/websockets"; +import * as filters from "@libp2p/websockets/filters"; +import { multiaddr } from "@multiformats/multiaddr"; +import { createLibp2p } from "libp2p"; +import { circuitRelayTransport } from "@libp2p/circuit-relay-v2"; +import { identify } from "@libp2p/identify"; +import { createHa } from "./ha"; + +export async function createNode() { + const node = await createLibp2p({ + addresses: { + listen: ["/webrtc"] + }, + transports: [ + webSockets({ + filter: filters.all + }), + webRTC(), + circuitRelayTransport() + ], + streamMuxers: [mplex()], + connectionEncryption: [noise()], + services: { + identify: identify(), + ha: createHa() + }, + connectionGater: { + denyDialMultiaddr: () => { + return false; + } + }, + connectionManager: { + minConnections: 0 + } + }); + + return node; +} + +let node = null; +let connections = []; +let connection = null; + +export async function start() { + if (node) { + return; + } + node = await createNode(); + await node.start(); + console.log(`Node started with id ${node.peerId.toString()}`); + + function updateConnectionsList() { + connections = node.getConnections().map((item) => { + return item.remoteAddr.toString(); + }); + console.log("Update Connections List", connections); + } + + node.addEventListener("connection:open", (event) => { + console.log("connected", event.detail.remoteAddr.toString()); + updateConnectionsList(); + }); + + node.addEventListener("connection:close", (event) => { + console.log("disconected", event.detail.remoteAddr.toString()); + updateConnectionsList(); + if ( + event.detail.remoteAddr.toString() === connection.remoteAddr.toString() + ) { + reconnect(connection.remoteAddr.toString()); + } + }); + + return node; +} + +export async function reconnect(addr) { + try { + await connect(addr); + } catch (error) { + console.log(error); + setTimeout(async () => { + if (addr && !connections.includes(addr)) { + await reconnect(addr); + } + }, 3000); + } +} + +export async function connect(addr) { + const listenerMultiaddr = multiaddr(addr); + connection = await node.dial(listenerMultiaddr); +} + +export function request(data) { + if (node && connection) { + return node.services.ha.request(connection, "/call", data); + } + throw new Error("error"); +} diff --git a/src/views/RwsSetup.vue b/src/views/RwsSetup.vue index 448af53..5a135af 100644 --- a/src/views/RwsSetup.vue +++ b/src/views/RwsSetup.vue @@ -14,7 +14,7 @@ import { useAccount } from "@/hooks/useAccount"; import { useDevices } from "@/hooks/useDevices"; import { useRobonomics } from "@/hooks/useRobonomics"; import { useSend } from "@/hooks/useSend"; -import { encryptor } from "@/utils/encryptor"; +import { createPair, encryptor } from "@/utils/encryptor"; import { Keyring } from "@polkadot/api"; import { u8aToHex } from "@polkadot/util"; import { decodeAddress, encodeAddress } from "@polkadot/util-crypto"; @@ -162,7 +162,7 @@ export default { (item) => item.owner === setupOwner.value ); - const user = encryptor(userSeed); + const user = encryptor(createPair(userSeed)); const passwordForAdmin = user.encryptMessage( passToSave, diff --git a/src/views/telemetry/Launch.vue b/src/views/telemetry/Launch.vue new file mode 100644 index 0000000..d473fb4 --- /dev/null +++ b/src/views/telemetry/Launch.vue @@ -0,0 +1,38 @@ + + + diff --git a/src/views/telemetry/Libp2p.vue b/src/views/telemetry/Libp2p.vue new file mode 100644 index 0000000..bd8b986 --- /dev/null +++ b/src/views/telemetry/Libp2p.vue @@ -0,0 +1,50 @@ + + + diff --git a/src/views/telemetry/Telemetry.vue b/src/views/telemetry/Telemetry.vue new file mode 100644 index 0000000..bf9911d --- /dev/null +++ b/src/views/telemetry/Telemetry.vue @@ -0,0 +1,58 @@ + + + diff --git a/src/views/telemetry/common.js b/src/views/telemetry/common.js new file mode 100644 index 0000000..eee806a --- /dev/null +++ b/src/views/telemetry/common.js @@ -0,0 +1,199 @@ +import { useIpfs } from "@/hooks/useIpfs"; +import { useRobonomics } from "@/hooks/useRobonomics"; +import { createPair, encryptor } from "@/utils/encryptor"; +import { getConfigCid, getLastDatalog, parseJson } from "@/utils/telemetry"; +import { u8aToString } from "@polkadot/util"; +import { ref, watch } from "vue"; +import { useStore } from "vuex"; + +export const chainSS58 = 32; + +const catFile = async (store, ipfs, cid) => { + if (!cid) { + return false; + } + try { + return await ipfs.catViaGateway( + store.state.robonomicsUIvue.ipfs.activegateway, + cid, + 2 + ); + } catch (_) { + try { + const res = await ipfs.catViaGateways( + store.state.robonomicsUIvue.ipfs.gateways, + cid + ); + store.commit("ipfs/setActiveGateway", res.gateway); + return res.result; + } catch (error) { + console.log(error.message); + } + } + return false; +}; + +export const decryptMsgContoller = async (encryptedMsg, controller) => { + if (encryptedMsg) { + try { + const seed = controller.decryptMessage( + encryptedMsg[controller.address], + controller.pair.publicKey + ); + + const admin = encryptor(createPair(u8aToString(seed))); + const data = admin.decryptMessage( + encryptedMsg.data, + controller.pair.publicKey + ); + return parseJson(u8aToString(data)); + } catch (error) { + console.log(error.message); + } + } + return false; +}; + +export const catFileController = async (cid, controller, store, ipfs) => { + if (cid) { + const data = await catFile(store, ipfs, cid); + if (!data) { + console.log(`Error: ${cid} not found in ipfs`); + return null; + } + const result = await decryptMsgContoller(data, controller); + if (result) { + return result; + } else { + console.log(`Error: decryptMsg`); + } + } + return null; +}; + +const loadSetup = (store) => { + if (!store.state.robonomicsUIvue.rws.active) { + return; + } + const setupRaw = store.state.robonomicsUIvue.rws.list.find( + (item) => item.owner === store.state.robonomicsUIvue.rws.active + ); + if (setupRaw) { + try { + return { + controller: encryptor(createPair(setupRaw.scontroller)), + owner: setupRaw.owner + }; + } catch (error) { + console.log(error); + } + } + return { + controller: null, + owner: null + }; +}; + +export const useSetup = () => { + const controller = ref(null); + const owner = ref(null); + + const store = useStore(); + + watch( + () => store.state.robonomicsUIvue.rws.active, + () => { + const setup = loadSetup(store); + controller.value = setup.controller; + owner.value = setup.owner; + }, + { immediate: true } + ); + + return { controller, owner }; +}; + +export const notify = (store, text, timeout = 3000) => { + store.dispatch("app/setStatus", { + value: text, + timeout + }); + console.log(text); +}; + +export const setStatusLaunch = (store, command, status) => { + store.commit( + "rws/setLaunch", + JSON.stringify({ ...command, tx: { tx_status: status } }) + ); +}; + +export const useLastDatalog = () => { + const cid = ref(null); + const updateTime = ref(null); + const data = ref(null); + + const store = useStore(); + const ipfs = useIpfs(); + const robonomics = useRobonomics(); + const { controller } = useSetup(); + + (async () => { + const datalog = await getLastDatalog(robonomics, controller.value.address); + cid.value = datalog.cid; + updateTime.value = datalog.timestamp; + data.value = await catFileController( + cid.value, + controller.value, + store, + ipfs + ); + })(); + + return { cid, updateTime, data }; +}; + +export const useConfig = () => { + const cid = ref(null); + const config = ref(null); + + const store = useStore(); + const ipfs = useIpfs(); + const robonomics = useRobonomics(); + const { controller } = useSetup(); + + (async () => { + notify(store, "Find twin id"); + const datalog = await getLastDatalog(robonomics, controller.value.address); + const result = await catFileController( + datalog.cid, + controller.value, + store, + ipfs + ); + + if (result) { + const twin_id = result.twin_id; + notify(store, `Twin id #${twin_id}`); + + notify(store, `Start load config`); + cid.value = await getConfigCid( + robonomics, + controller.value.address, + twin_id + ); + + config.value = await catFileController( + cid.value, + controller.value, + store, + ipfs + ); + notify(store, `Config loaded`); + } else { + notify(store, "Error: not found twin id"); + } + })(); + + return { config, cid }; +}; diff --git a/src/views/telemetry/launch.js b/src/views/telemetry/launch.js new file mode 100644 index 0000000..0b5109c --- /dev/null +++ b/src/views/telemetry/launch.js @@ -0,0 +1,165 @@ +import { useDevices } from "@/hooks/useDevices"; +import { useIpfs } from "@/hooks/useIpfs"; +import { useRobonomics } from "@/hooks/useRobonomics"; +import { useSend } from "@/hooks/useSend"; +import { getLastDatalog } from "@/utils/telemetry"; +import { Keyring } from "@polkadot/keyring"; +import { stringToU8a } from "@polkadot/util"; +import { onUnmounted, ref, watch } from "vue"; +import { useStore } from "vuex"; +import { + catFileController, + chainSS58, + notify, + setStatusLaunch, + useSetup +} from "./common"; + +export const useData = () => { + const cid = ref(null); + const updateTime = ref(null); + const data = ref(null); + + const store = useStore(); + const ipfs = useIpfs(); + const robonomics = useRobonomics(); + const transaction = useSend(); + const devices = useDevices(); + const { controller, owner } = useSetup(); + + watch( + () => store.state.robonomicsUIvue.rws.active, + () => { + devices.owner.value = store.state.robonomicsUIvue.rws.active; + }, + { immediate: true } + ); + + const keyring = new Keyring({ + ss58Format: chainSS58 + }); + + let unsubscribeDatalog; + const watchDatalog = async () => { + unsubscribeDatalog = await robonomics.datalog.on( + { method: "NewRecord" }, + (results) => { + const r = results.filter((item) => { + return ( + item.success && item.data[0].toHuman() === controller.value.address + ); + }); + for (const item of r) { + updateTime.value = item.data[1].toNumber(); + cid.value = item.data[2].toHuman(); + } + } + ); + }; + + watch(cid, async () => { + data.value = await catFileController( + cid.value, + controller.value, + store, + ipfs, + keyring + ); + }); + + const run = async () => { + const datalog = await getLastDatalog(robonomics, controller.value.address); + cid.value = datalog.cid; + updateTime.value = datalog.timestamp; + watchDatalog(); + }; + + const stop = () => { + if (unsubscribeDatalog) { + unsubscribeDatalog(); + } + }; + + onUnmounted(() => { + console.log("unmount launch"); + stop(); + }); + + const launch = async (command) => { + console.log(command.launch.params.entity_id, command.tx.tx_status); + if (command.tx.tx_status !== "pending") { + return; + } + + notify(store, `Launch command`); + console.log(`command ${JSON.stringify(command)}`); + + if ( + robonomics.accountManager.account.address !== + store.state.robonomicsUIvue.rws.active && + !devices.devices.value.includes(robonomics.accountManager.account.address) + ) { + notify(store, `Error: You do not have access to device management.`); + setStatusLaunch(store, command, "error"); + return; + } + + if (!ipfs.isAuth()) { + notify(store, `Authorization on ipfs node`); + try { + const signature = ( + await robonomics.accountManager.account.signMsg( + stringToU8a(robonomics.accountManager.account.address) + ) + ).toString(); + ipfs.auth( + owner.value, + robonomics.accountManager.account.address, + signature + ); + } catch (error) { + if (error.message === "Cancelled") { + setStatusLaunch(store, command, "declined"); + } else { + console.log(error); + setStatusLaunch(store, command, "error"); + } + return; + } + setStatusLaunch(store, command, "approved"); + } + + let commandCid; + try { + commandCid = await ipfs.add(JSON.stringify(command.launch)); + } catch (error) { + setStatusLaunch(store, command, "error"); + notify(store, `Error: ${error.message}`); + return; + } + console.log(`launch ipfs file ${commandCid.path}`); + + notify(store, `Send launch`); + const call = robonomics.launch.send( + controller.value.address, + commandCid.path + ); + const tx = transaction.createTx(); + await transaction.send(tx, call, owner.value); + if (tx.error.value) { + if (tx.error.value !== "Cancelled") { + setStatusLaunch(store, command, "error"); + notify(store, `Error: ${tx.error.value}`); + } else { + setStatusLaunch(store, command, "declined"); + notify(store, "Calcel"); + } + } else { + console.log(command); + setStatusLaunch(store, command, "success"); + notify(store, "Launch sended"); + } + }; + + return { cid, updateTime, data, run, stop, launch }; +}; diff --git a/src/views/telemetry/libp2p.js b/src/views/telemetry/libp2p.js new file mode 100644 index 0000000..6c365a8 --- /dev/null +++ b/src/views/telemetry/libp2p.js @@ -0,0 +1,95 @@ +import { useDevices } from "@/hooks/useDevices"; +import { useRobonomics } from "@/hooks/useRobonomics"; +import { connect, request, start } from "@/utils/libp2p/libp2p"; +import { Keyring } from "@polkadot/keyring"; +import { ref, watch } from "vue"; +import { useStore } from "vuex"; +import { + chainSS58, + decryptMsgContoller, + notify, + setStatusLaunch, + useSetup +} from "./common"; + +export const useData = () => { + const data = ref(null); + const updateTime = ref(null); + + const store = useStore(); + const robonomics = useRobonomics(); + const devices = useDevices(); + const { controller } = useSetup(); + + watch( + () => store.state.robonomicsUIvue.rws.active, + () => { + devices.owner.value = store.state.robonomicsUIvue.rws.active; + }, + { immediate: true } + ); + + const keyring = new Keyring({ + ss58Format: chainSS58 + }); + + const run = async (peer_id) => { + const node = await start(); + try { + notify(store, `Connect to peer id ${peer_id}`); + await connect( + `/dns4/libp2p-relay.robonomics.network/tcp/443/wss/p2p/12D3KooWEmZfGh3HEy7rQPKZ8DpJRYfFcbULN97t3hGwkB5xPmjn/p2p-circuit/p2p/${peer_id}` + // `/dns4/vol4.work.gd/tcp/443/wss/p2p/12D3KooWEmZfGh3HEy7rQPKZ8DpJRYfFcbULN97t3hGwkB5xPmjn/p2p-circuit/p2p/${result.peer_id}` + ); + notify(store, `Connected`); + node.services.ha.handle("/update", async (dataRow, stream) => { + const result = await decryptMsgContoller( + JSON.parse(dataRow), + controller.value, + keyring + ); + if (result) { + data.value = result; + updateTime.value = Date.now(); + await node.services.ha.utils.sendResponse(stream, { + result: true + }); + } else { + notify(store, `Error: decryptMsg`); + } + }); + return true; + } catch (error) { + notify(store, `Error: ${error.message}`); + console.log(error); + } + return false; + }; + + const launch = async (command) => { + console.log(command.launch.params.entity_id, command.tx.tx_status); + if (command.tx.tx_status !== "pending") { + return; + } + + notify(store, `Launch command`); + console.log(`command ${JSON.stringify(command)}`); + + if ( + robonomics.accountManager.account.address !== + store.state.robonomicsUIvue.rws.active && + !devices.devices.value.includes(robonomics.accountManager.account.address) + ) { + notify(store, `Error: You do not have access to device management.`); + setStatusLaunch(store, command, "error"); + return; + } + + const response = await request(command.launch); + console.log(`response: ${response}`); + + setStatusLaunch(store, command, "success"); + }; + + return { data, updateTime, run, launch }; +}; diff --git a/yarn.lock b/yarn.lock index 8e38f42..febb9c1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -171,6 +171,21 @@ "@babel/helper-split-export-declaration" "^7.22.6" semver "^6.3.1" +"@babel/helper-create-class-features-plugin@^7.22.15": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz#fc7554141bdbfa2d17f7b4b80153b9b090e5d158" + integrity sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g== + dependencies: + "@babel/helper-annotate-as-pure" "^7.22.5" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-member-expression-to-functions" "^7.23.0" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers" "^7.22.20" + "@babel/helper-skip-transparent-expression-wrappers" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + semver "^6.3.1" + "@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.22.5": version "7.22.9" resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.9.tgz" @@ -224,6 +239,13 @@ dependencies: "@babel/types" "^7.22.5" +"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0": + version "7.23.0" + resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366" + integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA== + dependencies: + "@babel/types" "^7.23.0" + "@babel/helper-member-expression-to-functions@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.22.5.tgz" @@ -288,6 +310,15 @@ "@babel/helper-environment-visitor" "^7.22.5" "@babel/helper-wrap-function" "^7.22.9" +"@babel/helper-replace-supers@^7.22.20": + version "7.22.20" + resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793" + integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-member-expression-to-functions" "^7.22.15" + "@babel/helper-optimise-call-expression" "^7.22.5" + "@babel/helper-replace-supers@^7.22.5", "@babel/helper-replace-supers@^7.22.9": version "7.22.9" resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.9.tgz" @@ -876,6 +907,14 @@ "@babel/helper-create-class-features-plugin" "^7.22.5" "@babel/helper-plugin-utils" "^7.22.5" +"@babel/plugin-transform-private-methods@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4" + integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g== + dependencies: + "@babel/helper-create-class-features-plugin" "^7.22.15" + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-transform-private-property-in-object@^7.22.5": version "7.22.5" resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.22.5.tgz" @@ -1164,11 +1203,49 @@ "@babel/helper-validator-identifier" "^7.22.5" to-fast-properties "^2.0.0" +"@chainsafe/as-chacha20poly1305@^0.1.0": + version "0.1.0" + resolved "https://registry.yarnpkg.com/@chainsafe/as-chacha20poly1305/-/as-chacha20poly1305-0.1.0.tgz#7da6f8796f9b42dac6e830a086d964f1f9189e09" + integrity sha512-BpNcL8/lji/GM3+vZ/bgRWqJ1q5kwvTFmGPk7pxm/QQZDbaMI98waOHjEymTjq2JmdD/INdNBFOVSyJofXg7ew== + +"@chainsafe/as-sha256@^0.4.1": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@chainsafe/as-sha256/-/as-sha256-0.4.1.tgz#cfc0737e25f8c206767bdb6703e7943e5d44513e" + integrity sha512-IqeeGwQihK6Y2EYLFofqs2eY2ep1I2MvQXHzOAI+5iQN51OZlUkrLgyAugu2x86xZewDk5xas7lNczkzFzF62w== + "@chainsafe/is-ip@^2.0.1": version "2.0.1" resolved "https://registry.npmjs.org/@chainsafe/is-ip/-/is-ip-2.0.1.tgz" integrity sha512-nqSJ8u2a1Rv9FYbyI8qpDhTYujaKEyLknNrTejLYoSWmdeg+2WB7R6BZqPZYfrJzDxVi3rl6ZQuoaEvpKRZWgQ== +"@chainsafe/is-ip@^2.0.2": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@chainsafe/is-ip/-/is-ip-2.0.2.tgz#7311e7403f11d8c5cfa48111f56fcecaac37c9f6" + integrity sha512-ndGqEMG1W5WkGagaqOZHpPU172AGdxr+LD15sv3WIUvT5oCFUrG1Y0CW/v2Egwj4JXEvSibaIIIqImsm98y1nA== + +"@chainsafe/libp2p-noise@^15.0.0": + version "15.0.0" + resolved "https://registry.yarnpkg.com/@chainsafe/libp2p-noise/-/libp2p-noise-15.0.0.tgz#c3f38a31d03d96b475f7e35b592a22f5fe9269a0" + integrity sha512-O8Y/WVU4J/qrnG72jwVhbmdXiBzv1dT9B3PMClCRmZ9z/5vVPEGRVXE/SVYeGF3bNuBTLoh+F+GaKG/9UHlMhg== + dependencies: + "@chainsafe/as-chacha20poly1305" "^0.1.0" + "@chainsafe/as-sha256" "^0.4.1" + "@libp2p/crypto" "^4.0.0" + "@libp2p/interface" "^1.0.0" + "@libp2p/peer-id" "^4.0.0" + "@noble/ciphers" "^0.4.0" + "@noble/curves" "^1.1.0" + "@noble/hashes" "^1.3.1" + it-length-prefixed "^9.0.1" + it-length-prefixed-stream "^1.0.0" + it-pair "^2.0.6" + it-pipe "^3.0.1" + it-stream-types "^2.0.1" + protons-runtime "^5.0.0" + uint8arraylist "^2.4.3" + uint8arrays "^5.0.0" + wherearewe "^2.0.1" + "@chainsafe/netmask@^2.0.0": version "2.0.0" resolved "https://registry.npmjs.org/@chainsafe/netmask/-/netmask-2.0.0.tgz" @@ -1317,6 +1394,60 @@ resolved "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz" integrity sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A== +"@libp2p/circuit-relay-v2@^1.0.16": + version "1.0.16" + resolved "https://registry.yarnpkg.com/@libp2p/circuit-relay-v2/-/circuit-relay-v2-1.0.16.tgz#e2681b9d84192abeb6510b94c18426e24a99d0a6" + integrity sha512-QKpMPTdjxKv+6XArEGxRMoQ9WbQeJLjDaRHTybbt25KbHahwdK24kfJsnqUD4BHrax/gWFNfNlsr4tbUjgTOGQ== + dependencies: + "@libp2p/interface" "^1.1.4" + "@libp2p/interface-internal" "^1.0.9" + "@libp2p/peer-collections" "^5.1.7" + "@libp2p/peer-id" "^4.0.7" + "@libp2p/peer-record" "^7.0.10" + "@libp2p/utils" "^5.2.6" + "@multiformats/mafmt" "^12.1.6" + "@multiformats/multiaddr" "^12.1.14" + any-signal "^4.1.1" + it-protobuf-stream "^1.1.2" + it-stream-types "^2.0.1" + multiformats "^13.1.0" + p-defer "^4.0.0" + p-retry "^6.2.0" + protons-runtime "^5.4.0" + uint8arraylist "^2.4.8" + uint8arrays "^5.0.2" + +"@libp2p/crypto@^4.0.0", "@libp2p/crypto@^4.0.3": + version "4.0.3" + resolved "https://registry.yarnpkg.com/@libp2p/crypto/-/crypto-4.0.3.tgz#134edd6d9b562b307c02d467d3a9a9c7afad00be" + integrity sha512-UT11dl5Bxi9gyXXSyoIfi+7USk2S+46mY9W3t435tS9Y83BeFcdSLAmuiHaKZB/gtnngKfTdjUqEsPSOc79d+w== + dependencies: + "@libp2p/interface" "^1.1.4" + "@noble/curves" "^1.3.0" + "@noble/hashes" "^1.3.3" + asn1js "^3.0.5" + multiformats "^13.1.0" + protons-runtime "^5.4.0" + uint8arraylist "^2.4.8" + uint8arrays "^5.0.2" + +"@libp2p/identify@^1.0.15": + version "1.0.15" + resolved "https://registry.yarnpkg.com/@libp2p/identify/-/identify-1.0.15.tgz#b8d6f40244bb202fb88be5c56304354c084a0b9d" + integrity sha512-Pve7UJKbEqN6nMpc2yjUiNvjpVwewixL3iX/bvhHQi9P4/x9zJkDIgncbdSUAXT0VePkJRRqvFJOye9Pdw4zRQ== + dependencies: + "@libp2p/interface" "^1.1.4" + "@libp2p/interface-internal" "^1.0.9" + "@libp2p/peer-id" "^4.0.7" + "@libp2p/peer-record" "^7.0.10" + "@multiformats/multiaddr" "^12.1.14" + "@multiformats/multiaddr-matcher" "^1.1.2" + it-protobuf-stream "^1.1.2" + protons-runtime "^5.4.0" + uint8arraylist "^2.4.8" + uint8arrays "^5.0.2" + wherearewe "^2.0.1" + "@libp2p/interface-connection@^4.0.0": version "4.0.0" resolved "https://registry.npmjs.org/@libp2p/interface-connection/-/interface-connection-4.0.0.tgz" @@ -1328,6 +1459,16 @@ it-stream-types "^1.0.4" uint8arraylist "^2.1.2" +"@libp2p/interface-internal@^1.0.9": + version "1.0.9" + resolved "https://registry.yarnpkg.com/@libp2p/interface-internal/-/interface-internal-1.0.9.tgz#7d0ac6804ad349b01e9d4fac12d26e515a1f77f4" + integrity sha512-c5BzjXdRnuI+xjLiPjGMxh6QbU51wEIdz/OrgQqo2dKDjWz3Qu0due9H2wzzB8nvSNWTLHRr1ucVga3SrmbngQ== + dependencies: + "@libp2p/interface" "^1.1.4" + "@libp2p/peer-collections" "^5.1.7" + "@multiformats/multiaddr" "^12.1.14" + uint8arraylist "^2.4.8" + "@libp2p/interface-keychain@^2.0.0": version "2.0.5" resolved "https://registry.npmjs.org/@libp2p/interface-keychain/-/interface-keychain-2.0.5.tgz" @@ -1362,6 +1503,18 @@ it-pushable "^3.0.0" uint8arraylist "^2.1.2" +"@libp2p/interface@^1.0.0", "@libp2p/interface@^1.1.4": + version "1.1.4" + resolved "https://registry.yarnpkg.com/@libp2p/interface/-/interface-1.1.4.tgz#21c7bbbe7628419d1e4902f0c953db1423b0f40f" + integrity sha512-gJXQycTF50tI02X/IlReAav4XoGPs3Yr917vNXsTUsZQRzQaPjbvKfXqA5hkLFpZ1lnxQ8wto/EVw4ca4XaL1A== + dependencies: + "@multiformats/multiaddr" "^12.1.14" + it-pushable "^3.2.3" + it-stream-types "^2.0.1" + multiformats "^13.1.0" + progress-events "^1.0.0" + uint8arraylist "^2.4.8" + "@libp2p/interfaces@^3.0.0", "@libp2p/interfaces@^3.2.0", "@libp2p/interfaces@^3.3.1": version "3.3.2" resolved "https://registry.npmjs.org/@libp2p/interfaces/-/interfaces-3.3.2.tgz" @@ -1378,6 +1531,66 @@ interface-datastore "^8.2.0" multiformats "^11.0.2" +"@libp2p/logger@^4.0.6", "@libp2p/logger@^4.0.7": + version "4.0.7" + resolved "https://registry.yarnpkg.com/@libp2p/logger/-/logger-4.0.7.tgz#b5e82135f5c8a6f275c1b2e183333db956f3ed90" + integrity sha512-oyICns7G18S4eDhbFHUwZ7gLQnZTBVQtUMmMgEmrs8LnQu2GvXADxmQAPPkKtLNSCvRudg4hN3hP04Y+vNvlBQ== + dependencies: + "@libp2p/interface" "^1.1.4" + "@multiformats/multiaddr" "^12.1.14" + debug "^4.3.4" + interface-datastore "^8.2.11" + multiformats "^13.1.0" + +"@libp2p/mplex@^10.0.16": + version "10.0.16" + resolved "https://registry.yarnpkg.com/@libp2p/mplex/-/mplex-10.0.16.tgz#0c4b96ffbcdd02f6c655232ce8618b47a6df061f" + integrity sha512-F5H322kVCkPoM0FKalmyo5HwVQ/c5vKNpw2uLLyr26bqy7/GQMNkKvs88Rv7O2s2OHe7txC9Uwo9mapF/j4LlQ== + dependencies: + "@libp2p/interface" "^1.1.4" + "@libp2p/utils" "^5.2.6" + it-pipe "^3.0.1" + it-pushable "^3.2.3" + it-stream-types "^2.0.1" + uint8-varint "^2.0.4" + uint8arraylist "^2.4.8" + uint8arrays "^5.0.2" + +"@libp2p/multistream-select@^5.1.4": + version "5.1.4" + resolved "https://registry.yarnpkg.com/@libp2p/multistream-select/-/multistream-select-5.1.4.tgz#e9232014d8784e37c8c62a8d655414145df688aa" + integrity sha512-hFK831x8SRQwWO6sZ0PLdLMJdxSw/HFWTZLqwFGsQbgfgBd+Via3Fztb7xe6VRqHpnAwZkVujP+iubAI7AghGg== + dependencies: + "@libp2p/interface" "^1.1.4" + it-length-prefixed "^9.0.4" + it-length-prefixed-stream "^1.1.6" + it-stream-types "^2.0.1" + p-defer "^4.0.0" + race-signal "^1.0.2" + uint8-varint "^2.0.4" + uint8arraylist "^2.4.8" + uint8arrays "^5.0.2" + +"@libp2p/peer-collections@^5.1.7": + version "5.1.7" + resolved "https://registry.yarnpkg.com/@libp2p/peer-collections/-/peer-collections-5.1.7.tgz#e089920c330f5edaf55ec38faea571bab3860150" + integrity sha512-9XXWSJtC7XvbH32h2bK3fygyzd4B2/JeWzsjX8cUDtO69jKNiVJglB8UqajZBuwLZSOQG5aRNWK4RWXJDrsh/w== + dependencies: + "@libp2p/interface" "^1.1.4" + "@libp2p/peer-id" "^4.0.7" + +"@libp2p/peer-id-factory@^4.0.7": + version "4.0.7" + resolved "https://registry.yarnpkg.com/@libp2p/peer-id-factory/-/peer-id-factory-4.0.7.tgz#1dedfc85c32f7c23dea6ec6b0b26b592239711d8" + integrity sha512-ueSjkodKPhYw7C0ysRGscY+e9vJ+ixpmJvi5w8vbnOn0ex9cAT+9S7DGL03d8vGMAT3xjEbUsI2GpF17uZ9Rpg== + dependencies: + "@libp2p/crypto" "^4.0.3" + "@libp2p/interface" "^1.1.4" + "@libp2p/peer-id" "^4.0.7" + protons-runtime "^5.4.0" + uint8arraylist "^2.4.8" + uint8arrays "^5.0.2" + "@libp2p/peer-id@^2.0.0": version "2.0.4" resolved "https://registry.npmjs.org/@libp2p/peer-id/-/peer-id-2.0.4.tgz" @@ -1388,11 +1601,143 @@ multiformats "^11.0.0" uint8arrays "^4.0.2" +"@libp2p/peer-id@^4.0.0", "@libp2p/peer-id@^4.0.7": + version "4.0.7" + resolved "https://registry.yarnpkg.com/@libp2p/peer-id/-/peer-id-4.0.7.tgz#e1902bc3dd68813210d37816d52edb9d3523fae9" + integrity sha512-kbslH0VBmcHO1Osr/qQlFljPOYuldUC6OdYM5c6Tdy+KFU/W4P9Ouv/4e7o3uX6LtlQ8QqIsZH+/bR6AJxC8Gw== + dependencies: + "@libp2p/interface" "^1.1.4" + multiformats "^13.1.0" + uint8arrays "^5.0.2" + +"@libp2p/peer-record@^7.0.10": + version "7.0.10" + resolved "https://registry.yarnpkg.com/@libp2p/peer-record/-/peer-record-7.0.10.tgz#228dbfa8e0740701cf124a3773b3d7a51a362d4f" + integrity sha512-njVSa2mMcGqQoCnhmZQOadHIQMsO52wqKO6fP1On8sVRmb9yXNGBkZ+b5pRXjjPzUpJeUmC+/SZHpeLqpdpPMQ== + dependencies: + "@libp2p/crypto" "^4.0.3" + "@libp2p/interface" "^1.1.4" + "@libp2p/peer-id" "^4.0.7" + "@libp2p/utils" "^5.2.6" + "@multiformats/multiaddr" "^12.1.14" + protons-runtime "^5.4.0" + uint8-varint "^2.0.4" + uint8arraylist "^2.4.8" + uint8arrays "^5.0.2" + +"@libp2p/peer-store@^10.0.11": + version "10.0.11" + resolved "https://registry.yarnpkg.com/@libp2p/peer-store/-/peer-store-10.0.11.tgz#d2e6b827749c7083c4c277711c3da73d694d8ffd" + integrity sha512-egcEzHRQUTW7mQuLPyN/y0Rtunk8zFoxLdTRNjJTrvQRmkCeLIDZ8VsYB0KF7feA85nbpRFR62dVjN46I65yFA== + dependencies: + "@libp2p/interface" "^1.1.4" + "@libp2p/peer-collections" "^5.1.7" + "@libp2p/peer-id" "^4.0.7" + "@libp2p/peer-record" "^7.0.10" + "@multiformats/multiaddr" "^12.1.14" + interface-datastore "^8.2.11" + it-all "^3.0.4" + mortice "^3.0.4" + multiformats "^13.1.0" + protons-runtime "^5.4.0" + uint8arraylist "^2.4.8" + uint8arrays "^5.0.2" + +"@libp2p/utils@^5.2.6": + version "5.2.6" + resolved "https://registry.yarnpkg.com/@libp2p/utils/-/utils-5.2.6.tgz#9cbc5a9276d3599bd8ecc76dc5de79611933a00e" + integrity sha512-2Y2zi2TsyhOl+8TH27YZiEJWfdrKRogTzYRxQUKNTX03izXpUcwGsFLPjK7nR39LzYQrQ8si1Kx2ayA3zk7BKg== + dependencies: + "@chainsafe/is-ip" "^2.0.2" + "@libp2p/interface" "^1.1.4" + "@libp2p/logger" "^4.0.7" + "@multiformats/multiaddr" "^12.1.14" + "@multiformats/multiaddr-matcher" "^1.1.2" + delay "^6.0.0" + get-iterator "^2.0.1" + is-loopback-addr "^2.0.2" + it-pushable "^3.2.3" + it-stream-types "^2.0.1" + netmask "^2.0.2" + p-defer "^4.0.0" + race-event "^1.2.0" + race-signal "^1.0.2" + uint8arraylist "^2.4.8" + +"@libp2p/webrtc@^4.0.20": + version "4.0.20" + resolved "https://registry.yarnpkg.com/@libp2p/webrtc/-/webrtc-4.0.20.tgz#029075d5e3acae86ce51678ff403d9de3529a10f" + integrity sha512-TJ/T9ce2Y5qhX6VcGi8prq6qal3u3cGdM1N8CnNYJ3EFP9T8VYgbwnY/9D7RK08f0r33Z/CMUP0phK4LhS6EWQ== + dependencies: + "@chainsafe/libp2p-noise" "^15.0.0" + "@libp2p/interface" "^1.1.4" + "@libp2p/interface-internal" "^1.0.9" + "@libp2p/peer-id" "^4.0.7" + "@libp2p/utils" "^5.2.6" + "@multiformats/mafmt" "^12.1.6" + "@multiformats/multiaddr" "^12.1.14" + "@multiformats/multiaddr-matcher" "^1.1.2" + detect-browser "^5.3.0" + it-length-prefixed "^9.0.4" + it-protobuf-stream "^1.1.2" + it-pushable "^3.2.3" + it-stream-types "^2.0.1" + multiformats "^13.1.0" + multihashes "^4.0.3" + node-datachannel "^0.5.3" + p-defer "^4.0.0" + p-event "^6.0.0" + p-timeout "^6.1.2" + protons-runtime "^5.4.0" + race-signal "^1.0.2" + react-native-webrtc "^118.0.1" + uint8arraylist "^2.4.8" + uint8arrays "^5.0.2" + +"@libp2p/websockets@^8.0.16": + version "8.0.16" + resolved "https://registry.yarnpkg.com/@libp2p/websockets/-/websockets-8.0.16.tgz#504fa0dbd3946b856f3b743b1950554384e14f9c" + integrity sha512-8SNuGCDtjzObIAr05mXaY7kB1Bz85Tda3T3byHpUVvn7IPbkdkGe0NiKB+ZvK7ZJhBL/7FdQZmVp3GBffWWrmg== + dependencies: + "@libp2p/interface" "^1.1.4" + "@libp2p/utils" "^5.2.6" + "@multiformats/mafmt" "^12.1.6" + "@multiformats/multiaddr" "^12.1.14" + "@multiformats/multiaddr-to-uri" "^10.0.1" + "@types/ws" "^8.5.10" + it-ws "^6.1.1" + p-defer "^4.0.0" + wherearewe "^2.0.1" + ws "^8.16.0" + "@multiformats/base-x@^4.0.1": version "4.0.1" resolved "https://registry.npmjs.org/@multiformats/base-x/-/base-x-4.0.1.tgz" integrity sha512-eMk0b9ReBbV23xXU693TAIrLyeO5iTgBZGSJfpqriG8UkYvr/hC9u9pyMlAakDNHWmbhMZCDs6KQO0jzKD8OTw== +"@multiformats/mafmt@^12.1.6": + version "12.1.6" + resolved "https://registry.yarnpkg.com/@multiformats/mafmt/-/mafmt-12.1.6.tgz#e7c1831c1e94c94932621826049afc89f3ad43b7" + integrity sha512-tlJRfL21X+AKn9b5i5VnaTD6bNttpSpcqwKVmDmSHLwxoz97fAHaepqFOk/l1fIu94nImIXneNbhsJx/RQNIww== + dependencies: + "@multiformats/multiaddr" "^12.0.0" + +"@multiformats/multiaddr-matcher@^1.1.2": + version "1.1.2" + resolved "https://registry.yarnpkg.com/@multiformats/multiaddr-matcher/-/multiaddr-matcher-1.1.2.tgz#628ec7d4fceddebbf7fba345be5a7c5c093dd6d9" + integrity sha512-O7hO+TYsweMjNCqTYKYn8iki2GXA46mxmgqnsOb2Wpr6ca4dRGnPldWTai2WwTeZpQyRJ/7GE+N9zPTfP0xE+Q== + dependencies: + "@chainsafe/is-ip" "^2.0.1" + "@multiformats/multiaddr" "^12.0.0" + multiformats "^13.0.0" + +"@multiformats/multiaddr-to-uri@^10.0.1": + version "10.0.1" + resolved "https://registry.yarnpkg.com/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-10.0.1.tgz#f26a480d35766e601cd02d48d148c7a4c6ff6e62" + integrity sha512-RtOBRJucMCzINPytvt1y7tJ2jr4aSKJmv3DF7/C515RJO9+nu9sZHdsk9vn251OtN8k21rAGlIHESt/BSJWAnQ== + dependencies: + "@multiformats/multiaddr" "^12.0.0" + "@multiformats/multiaddr-to-uri@^9.0.1": version "9.0.7" resolved "https://registry.npmjs.org/@multiformats/multiaddr-to-uri/-/multiaddr-to-uri-9.0.7.tgz" @@ -1425,6 +1770,19 @@ uint8arrays "^4.0.2" varint "^6.0.0" +"@multiformats/multiaddr@^12.1.14": + version "12.1.14" + resolved "https://registry.yarnpkg.com/@multiformats/multiaddr/-/multiaddr-12.1.14.tgz#d021072667f4dfc566cdddcb45feee60fecc8cfd" + integrity sha512-1C0Mo73chzu7pTzTquuKs5vUtw70jhqg1i6pUNznGb0WV6RFa6vyB+D697Os5+cLx+DiItrAY6VzMtlGQsMzYg== + dependencies: + "@chainsafe/is-ip" "^2.0.1" + "@chainsafe/netmask" "^2.0.0" + "@libp2p/interface" "^1.0.0" + dns-over-http-resolver "^3.0.2" + multiformats "^13.0.0" + uint8-varint "^2.0.1" + uint8arrays "^5.0.0" + "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" resolved "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz" @@ -1432,7 +1790,12 @@ dependencies: eslint-scope "5.1.1" -"@noble/curves@^1.3.0": +"@noble/ciphers@^0.4.0": + version "0.4.1" + resolved "https://registry.yarnpkg.com/@noble/ciphers/-/ciphers-0.4.1.tgz#977fc35f563a4ca315ebbc4cbb1f9b670bd54456" + integrity sha512-QCOA9cgf3Rc33owG0AYBB9wszz+Ul2kramWN8tXG44Gyciud/tbkEqvxRF/IpqQaBpRBNi9f4jdNxqB2CQCIXg== + +"@noble/curves@^1.1.0", "@noble/curves@^1.3.0": version "1.3.0" resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.3.0.tgz" integrity sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA== @@ -1444,7 +1807,7 @@ resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz" integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== -"@noble/hashes@1.3.3", "@noble/hashes@^1.3.3": +"@noble/hashes@1.3.3", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3": version "1.3.3" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.3.tgz" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== @@ -2287,6 +2650,11 @@ resolved "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz" integrity sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA== +"@types/retry@0.12.2": + version "0.12.2" + resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a" + integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== + "@types/send@*": version "0.17.1" resolved "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz" @@ -2325,6 +2693,13 @@ dependencies: "@types/node" "*" +"@types/ws@^8.2.2", "@types/ws@^8.5.10": + version "8.5.10" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + dependencies: + "@types/node" "*" + "@types/ws@^8.5.5": version "8.5.5" resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.5.tgz" @@ -2941,6 +3316,11 @@ any-signal@^3.0.0: resolved "https://registry.npmjs.org/any-signal/-/any-signal-3.0.1.tgz" integrity sha512-xgZgJtKEa9YmDqXodIgl7Fl1C8yNXr8w6gXjqK3LW4GcEiYT+6AQfJSE/8SPsEpLLmcvbv8YU+qet94UewHxqg== +any-signal@^4.1.1: + version "4.1.1" + resolved "https://registry.yarnpkg.com/any-signal/-/any-signal-4.1.1.tgz#928416c355c66899e6b2a91cad4488f0324bae03" + integrity sha512-iADenERppdC+A2YKbOXXB2WUeABLaM6qnpZ70kZbPZ1cZMMJ7eF+3CaYm+/PhBizgkzlvssC7QuHS30oOiQYWA== + anymatch@~3.1.2: version "3.1.3" resolved "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz" @@ -2974,6 +3354,15 @@ array-union@^2.1.0: resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== +asn1js@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/asn1js/-/asn1js-3.0.5.tgz#5ea36820443dbefb51cc7f88a2ebb5b462114f38" + integrity sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ== + dependencies: + pvtsutils "^1.3.2" + pvutils "^1.1.3" + tslib "^2.4.0" + async@^2.6.4: version "2.6.4" resolved "https://registry.npmjs.org/async/-/async-2.6.4.tgz" @@ -3058,7 +3447,7 @@ balanced-match@^1.0.0: resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base64-js@^1.3.1: +base64-js@1.5.1, base64-js@^1.3.1: version "1.5.1" resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -3078,7 +3467,7 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz" integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== -bl@^4.1.0: +bl@^4.0.3, bl@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== @@ -3333,6 +3722,11 @@ chokidar@^3.5.3: optionalDependencies: fsevents "~2.3.2" +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" @@ -3769,6 +4163,24 @@ data-uri-to-buffer@^4.0.0: resolved "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz" integrity sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A== +datastore-core@^9.2.8: + version "9.2.9" + resolved "https://registry.yarnpkg.com/datastore-core/-/datastore-core-9.2.9.tgz#74b4dd53d4597b59038488ba5f92a7f81769f8df" + integrity sha512-wraWTPsbtdE7FFaVo3pwPuTB/zXsgwGGAm8BgBYwYAuzZCTS0MfXmd/HH1vR9s0/NFFjOVmBkGiWCvKxZ+QjVw== + dependencies: + "@libp2p/logger" "^4.0.6" + err-code "^3.0.1" + interface-datastore "^8.0.0" + interface-store "^5.0.0" + it-drain "^3.0.5" + it-filter "^3.0.4" + it-map "^3.0.5" + it-merge "^3.0.3" + it-pipe "^3.0.1" + it-pushable "^3.2.3" + it-sort "^3.0.4" + it-take "^3.0.4" + dayjs@^1.11.9: version "1.11.9" resolved "https://registry.npmjs.org/dayjs/-/dayjs-1.11.9.tgz" @@ -3781,6 +4193,13 @@ debug@2.6.9, debug@^2.2.0: dependencies: ms "2.0.0" +debug@4.3.4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + debug@^3.2.7: version "3.2.7" resolved "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz" @@ -3788,18 +4207,23 @@ debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - decimal.js-light@^2.5.1: version "2.5.1" resolved "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + deep-is@^0.1.3: version "0.1.4" resolved "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz" @@ -3837,6 +4261,11 @@ define-properties@^1.1.4: has-property-descriptors "^1.0.0" object-keys "^1.1.1" +delay@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/delay/-/delay-6.0.0.tgz#43749aefdf6cabd9e17b0d00bd3904525137e607" + integrity sha512-2NJozoOHQ4NuZuVIr5CWd0iiLVIRSDepakaovIN+9eIDHEhdCAEvSy2cuf1DCrPPQLvHmbqTHODlhHg8UCy4zw== + delayed-stream@~1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz" @@ -3857,6 +4286,16 @@ destroy@1.2.0: resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== +detect-browser@^5.3.0: + version "5.3.0" + resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" + integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== + +detect-libc@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.2.tgz#8ccf2ba9315350e1241b88d0ac3b0e1fbd99605d" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + detect-node@^2.0.4: version "2.1.0" resolved "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz" @@ -3884,6 +4323,14 @@ dns-over-http-resolver@^2.1.0: receptacle "^1.3.2" undici "^5.12.0" +dns-over-http-resolver@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/dns-over-http-resolver/-/dns-over-http-resolver-3.0.2.tgz#71644cbab3c5a94f53e357da68771e0781ea3407" + integrity sha512-5batkHOjCkuAfrFa+IPmt3jyeZqLtSMfAo1HQp3hfwtzgUwHooecTFplnYC093u5oRNL4CQHCXh3OfER7+vWrA== + dependencies: + debug "^4.3.4" + receptacle "^1.3.2" + dns-packet@^5.2.2: version "5.6.0" resolved "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz" @@ -4014,7 +4461,7 @@ encoding@^0.1.13: dependencies: iconv-lite "^0.6.2" -end-of-stream@^1.1.0: +end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -4256,11 +4703,21 @@ etag@~1.8.1: resolved "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== +event-iterator@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/event-iterator/-/event-iterator-2.0.0.tgz#10f06740cc1e9fd6bc575f334c2bc1ae9d2dbf62" + integrity sha512-KGft0ldl31BZVV//jj+IAIGCxkvvUkkON+ScH6zfoX+l+omX6001ggyRSpI0Io2Hlro0ThXotswCtfzS8UkIiQ== + event-pubsub@4.3.0: version "4.3.0" resolved "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz" integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ== +event-target-shim@6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-6.0.2.tgz#ea5348c3618ee8b62ff1d344f01908ee2b8a2b71" + integrity sha512-8q3LsZjRezbFZ2PN+uP+Q7pnHUMmAOziU2vA2OwoFaKIXxlxl38IylhSSgUorWu/rf4er67w0ikBqjBFk/pomA== + eventemitter3@^4.0.0, eventemitter3@^4.0.7: version "4.0.7" resolved "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz" @@ -4317,6 +4774,11 @@ execa@^5.0.0: signal-exit "^3.0.3" strip-final-newline "^2.0.0" +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + express@^4.17.3: version "4.18.2" resolved "https://registry.npmjs.org/express/-/express-4.18.2.tgz" @@ -4536,6 +4998,11 @@ fresh@0.5.2: resolved "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz" integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + fs-extra@^9.1.0: version "9.1.0" resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz" @@ -4591,6 +5058,11 @@ get-iterator@^1.0.2: resolved "https://registry.npmjs.org/get-iterator/-/get-iterator-1.0.2.tgz" integrity sha512-v+dm9bNVfOYsY1OrhaCrmyOcYoSeVvbt+hHZ0Au+T+p1y+0Uyj9aMaGIeUTT6xdpRbWzDeYKvfOslPhggQMcsg== +get-iterator@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/get-iterator/-/get-iterator-2.0.1.tgz#a904829f61bace789e0d64bd1a504c511a015c3f" + integrity sha512-7HuY/hebu4gryTDT7O/XY/fvY9wRByEGdK6QOa4of8npTcv0+NS6frFKABcf6S9EBAsveTuKTsZQQBFMMNILIg== + get-stream@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz" @@ -4608,6 +5080,11 @@ get-stream@^6.0.0: resolved "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz" integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce" + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== + glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" @@ -4919,6 +5396,11 @@ inherits@2.0.3: resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz" integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw== +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + interface-datastore@^7.0.0: version "7.0.4" resolved "https://registry.npmjs.org/interface-datastore/-/interface-datastore-7.0.4.tgz" @@ -4928,6 +5410,14 @@ interface-datastore@^7.0.0: nanoid "^4.0.0" uint8arrays "^4.0.2" +interface-datastore@^8.0.0, interface-datastore@^8.2.11: + version "8.2.11" + resolved "https://registry.yarnpkg.com/interface-datastore/-/interface-datastore-8.2.11.tgz#1d555ce6218ab6cba6291fc361debe9713590207" + integrity sha512-9E0iXehfp/j0UbZ2mvlYB4K9pP7uQBCppfuy8WHs1EHF6wLQrM9+zwyX+8Qt6HnH4GKZRyXX/CNXm6oD4+QYgA== + dependencies: + interface-store "^5.0.0" + uint8arrays "^5.0.2" + interface-datastore@^8.2.0: version "8.2.3" resolved "https://registry.npmjs.org/interface-datastore/-/interface-datastore-8.2.3.tgz" @@ -5124,6 +5614,16 @@ is-interactive@^1.0.0: resolved "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz" integrity sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w== +is-loopback-addr@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/is-loopback-addr/-/is-loopback-addr-2.0.2.tgz#70a6668fa3555d47caebdcee045745ab80adf5e4" + integrity sha512-26POf2KRCno/KTNL5Q0b/9TYnL00xEsSaLfiFRmjM7m7Lw7ZMmFybzzuX4CcsLAluZGd+niLUiMRxEooVE3aqg== + +is-network-error@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-network-error/-/is-network-error-1.0.1.tgz#a68061a20387e9144e145571bea693056a370b92" + integrity sha512-OwQXkwBJeESyhFw+OumbJVD58BFBJJI5OM5S1+eyrDKlgDZPX2XNT5gXS56GSD3NPbbwUuMlR1Q71SRp5SobuQ== + is-number@^7.0.0: version "7.0.0" resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" @@ -5208,6 +5708,33 @@ it-all@^2.0.0: resolved "https://registry.npmjs.org/it-all/-/it-all-2.0.1.tgz" integrity sha512-9UuJcCRZsboz+HBQTNOau80Dw+ryGaHYFP/cPYzFBJBFcfDathMYnhHk4t52en9+fcyDGPTdLB+lFc1wzQIroA== +it-all@^3.0.0, it-all@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/it-all/-/it-all-3.0.4.tgz#08f2e3eb3df04fa4525a343dcacfbdf91ffee162" + integrity sha512-UMiy0i9DqCHBdWvMbzdYvVGa5/w4t1cc4nchpbnjdLhklglv8mQeEYnii0gvKESJuL1zV32Cqdb33R6/GPfxpQ== + +it-byte-stream@^1.0.0: + version "1.0.8" + resolved "https://registry.yarnpkg.com/it-byte-stream/-/it-byte-stream-1.0.8.tgz#c0d91a7f5adbfdb5e411eef9caf119b85f695126" + integrity sha512-H32LbN6kdX8HXqH68z5uivfkVYJEi5tIPRwIQNR5Qsx3uoDRhYdBRHzf3NOVAf6vqulFUSQLuU+Y0rs/QeWn3A== + dependencies: + it-stream-types "^2.0.1" + p-defer "^4.0.0" + race-signal "^1.0.1" + uint8arraylist "^2.4.1" + +it-drain@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/it-drain/-/it-drain-3.0.5.tgz#d7aed18a16a12c157fa477653fb42c1b4f08491c" + integrity sha512-qYFe4SWdvs9oJGUY5bSjvmiLUMLzFEODNOQUdYdCIkuIgQF+AUB2INhM4yQ09buJ2rhHKDFxvTD/+yUq6qg0XA== + +it-filter@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/it-filter/-/it-filter-3.0.4.tgz#f8af5919ca7fc72f718edb3e7c0d71581aa149c6" + integrity sha512-e0sz+st4sudK/zH6GZ/gRTRP8A/ADuJFCYDmRgMbZvR79y5+v4ZXav850bBZk5wL9zXaYZFxS1v/6Qi+Vjwh5g== + dependencies: + it-peekable "^3.0.0" + it-first@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/it-first/-/it-first-2.0.1.tgz" @@ -5226,16 +5753,91 @@ it-last@^2.0.0: resolved "https://registry.npmjs.org/it-last/-/it-last-2.0.1.tgz" integrity sha512-uVMedYW0wa2Cx0TAmcOCLbfuLLII7+vyURmhKa8Zovpd+aBTMsmINtsta2n364wJ5qsEDBH+akY1sUtAkaYBlg== +it-length-prefixed-stream@^1.0.0, it-length-prefixed-stream@^1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/it-length-prefixed-stream/-/it-length-prefixed-stream-1.1.6.tgz#b757b96d352da6e97b66002dd2ead32893ba2337" + integrity sha512-MEby4r8n3XIYXjaWT3DweCuhBPQmFVT8RdI1BNjYQ5gelbFD3NLdjYpTI3TVmSEs/aJfgpfVFZzy6iP7OCxIgw== + dependencies: + it-byte-stream "^1.0.0" + it-stream-types "^2.0.1" + uint8-varint "^2.0.1" + uint8arraylist "^2.4.1" + +it-length-prefixed@^9.0.1, it-length-prefixed@^9.0.4: + version "9.0.4" + resolved "https://registry.yarnpkg.com/it-length-prefixed/-/it-length-prefixed-9.0.4.tgz#8096c3270420fe8abaa920c7b4d5e5895144008e" + integrity sha512-lz28fykbG0jq7s5XtvlzGxO5BeSOw6ikymkRllxjL21V5VKLcvB4pHr9wPvEnsAJ2et1xpOk3BRTMq9XrhgKsg== + dependencies: + err-code "^3.0.1" + it-reader "^6.0.1" + it-stream-types "^2.0.1" + uint8-varint "^2.0.1" + uint8arraylist "^2.0.0" + uint8arrays "^5.0.1" + it-map@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/it-map/-/it-map-2.0.1.tgz" integrity sha512-a2GcYDHiAh/eSU628xlvB56LA98luXZnniH2GlD0IdBzf15shEq9rBeb0Rg3o1SWtNILUAwqmQxEXcewGCdvmQ== +it-map@^3.0.5: + version "3.0.5" + resolved "https://registry.yarnpkg.com/it-map/-/it-map-3.0.5.tgz#30b1e1324cdb4aaadba29cd989485168d1dc4136" + integrity sha512-hB0TDXo/h4KSJJDSRLgAPmDroiXP6Fx1ck4Bzl3US9hHfZweTKsuiP0y4gXuTMcJlS6vj0bb+f70rhkD47ZA3w== + dependencies: + it-peekable "^3.0.0" + +it-merge@^3.0.0, it-merge@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/it-merge/-/it-merge-3.0.3.tgz#c7d407c8e0473accf7f9958ce2e0f60276002e84" + integrity sha512-FYVU15KC5pb/GQX1Ims+lee8d4pdqGVCpWr0lkNj8o4xuNo7jY71k6GuEiWdP+T7W1bJqewSxX5yoTy5yZpRVA== + dependencies: + it-pushable "^3.2.0" + +it-pair@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/it-pair/-/it-pair-2.0.6.tgz#072defa6b96f611af34e0b0c84573107ddb9f28f" + integrity sha512-5M0t5RAcYEQYNG5BV7d7cqbdwbCAp5yLdzvkxsZmkuZsLbTdZzah6MQySYfaAQjNDCq6PUnDt0hqBZ4NwMfW6g== + dependencies: + it-stream-types "^2.0.1" + p-defer "^4.0.0" + +it-parallel@^3.0.6: + version "3.0.6" + resolved "https://registry.yarnpkg.com/it-parallel/-/it-parallel-3.0.6.tgz#d8f9efa56dac5f960545b3a148d2ca171694d228" + integrity sha512-i7UM7I9LTkDJw3YIqXHFAPZX6CWYzGc+X3irdNrVExI4vPazrJdI7t5OqrSVN8CONXLAunCiqaSV/zZRbQR56A== + dependencies: + p-defer "^4.0.0" + it-peekable@^2.0.0: version "2.0.1" resolved "https://registry.npmjs.org/it-peekable/-/it-peekable-2.0.1.tgz" integrity sha512-fJ/YTU9rHRhGJOM2hhQKKEfRM6uKB9r4yGGFLBHqp72ACC8Yi6+7/FhuBAMG8cpN6mLoj9auVX7ZJ3ul6qFpTA== +it-peekable@^3.0.0: + version "3.0.3" + resolved "https://registry.yarnpkg.com/it-peekable/-/it-peekable-3.0.3.tgz#5f5741f34f3acd5735804f40d198652c54a3d8c1" + integrity sha512-Wx21JX/rMzTEl9flx3DGHuPV1KQFGOl8uoKfQtmZHgPQtGb89eQ6RyVd82h3HuP9Ghpt0WgBDlmmdWeHXqyx7w== + +it-pipe@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/it-pipe/-/it-pipe-3.0.1.tgz#b25720df82f4c558a8532602b5fbc37bbe4e7ba5" + integrity sha512-sIoNrQl1qSRg2seYSBH/3QxWhJFn9PKYvOf/bHdtCBF0bnghey44VyASsWzn5dAx0DCDDABq1hZIuzKmtBZmKA== + dependencies: + it-merge "^3.0.0" + it-pushable "^3.1.2" + it-stream-types "^2.0.1" + +it-protobuf-stream@^1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/it-protobuf-stream/-/it-protobuf-stream-1.1.2.tgz#4444d78fcae0fce949b4cbea622bf1d92667e64f" + integrity sha512-epZBuG+7cPaTxCR/Lf3ApshBdA9qfflGPQLfLLrp9VQ0w67Z2xo4H+SLLetav57/29oPtAXwVaoyemg99JOWzA== + dependencies: + it-length-prefixed-stream "^1.0.0" + it-stream-types "^2.0.1" + protons-runtime "^5.0.0" + uint8arraylist "^2.4.1" + it-pushable@^3.0.0: version "3.2.1" resolved "https://registry.npmjs.org/it-pushable/-/it-pushable-3.2.1.tgz" @@ -5243,11 +5845,43 @@ it-pushable@^3.0.0: dependencies: p-defer "^4.0.0" +it-pushable@^3.1.2, it-pushable@^3.2.0, it-pushable@^3.2.3: + version "3.2.3" + resolved "https://registry.yarnpkg.com/it-pushable/-/it-pushable-3.2.3.tgz#e2b80aed90cfbcd54b620c0a0785e546d4e5f334" + integrity sha512-gzYnXYK8Y5t5b/BnJUr7glfQLO4U5vyb05gPx/TyTw+4Bv1zM9gFk4YsOrnulWefMewlphCjKkakFvj1y99Tcg== + dependencies: + p-defer "^4.0.0" + +it-reader@^6.0.1: + version "6.0.4" + resolved "https://registry.yarnpkg.com/it-reader/-/it-reader-6.0.4.tgz#439cb88225dcd15116be0ffde9e846a928c3871a" + integrity sha512-XCWifEcNFFjjBHtor4Sfaj8rcpt+FkY0L6WdhD578SCDhV4VUm7fCkF3dv5a+fTcfQqvN9BsxBTvWbYO6iCjTg== + dependencies: + it-stream-types "^2.0.1" + uint8arraylist "^2.0.0" + +it-sort@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/it-sort/-/it-sort-3.0.4.tgz#250152bf4abf3fa9572954305424bafb3199fa63" + integrity sha512-tvnC93JZZWjX4UxALy0asow0dzXabkoaRbrPJKClTKhNCqw4gzHr+H5axf1gohcthedRRkqd/ae+wl7WqoxFhw== + dependencies: + it-all "^3.0.0" + it-stream-types@^1.0.4: version "1.0.5" resolved "https://registry.npmjs.org/it-stream-types/-/it-stream-types-1.0.5.tgz" integrity sha512-I88Ka1nHgfX62e5mi5LLL+oueqz7Ltg0bUdtsUKDe9SoUqbQPf2Mp5kxDTe9pNhHQGs4pvYPAINwuZ1HAt42TA== +it-stream-types@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/it-stream-types/-/it-stream-types-2.0.1.tgz#69cb4d7e79e707b8257a8997e02751ccb6c3af32" + integrity sha512-6DmOs5r7ERDbvS4q8yLKENcj6Yecr7QQTqWApbZdfAUTEC947d+PEha7PCqhm//9oxaLYL7TWRekwhoXl2s6fg== + +it-take@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/it-take/-/it-take-3.0.4.tgz#a1614d6ee03f1bee9af89255897de3e249e49d1d" + integrity sha512-RG8HDjAZlvkzz5Nav4xq6gK5zNT+Ff1UTIf+CrSJW8nIl6N1FpBH5e7clUshiCn+MmmMoSdIEpw4UaTolszxhA== + it-to-stream@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/it-to-stream/-/it-to-stream-1.0.0.tgz" @@ -5260,6 +5894,17 @@ it-to-stream@^1.0.0: p-fifo "^1.0.0" readable-stream "^3.6.0" +it-ws@^6.1.1: + version "6.1.1" + resolved "https://registry.yarnpkg.com/it-ws/-/it-ws-6.1.1.tgz#925d37955cc5bfa3e718ee5c98bf395a138daab9" + integrity sha512-oyk4eCeZto2lzWDnJOa3j1S2M+VOGKUh8isEf94ySoaL6IFlyie0T4P9E0ZUaIvX8LyJxYFHFKCt8Zk7Sm/XPQ== + dependencies: + "@types/ws" "^8.2.2" + event-iterator "^2.0.0" + it-stream-types "^2.0.1" + uint8arrays "^5.0.0" + ws "^8.4.0" + javascript-stringify@^2.0.1: version "2.1.0" resolved "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz" @@ -5410,6 +6055,31 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" +libp2p@^1.2.4: + version "1.2.4" + resolved "https://registry.yarnpkg.com/libp2p/-/libp2p-1.2.4.tgz#e3b41d8dfb4b692b2f179a15d89bc4e0315124d4" + integrity sha512-K3Hc4Ty0zTS0+CHgM7w1d66kDV6GHJnSlZWkSBEQdnpQ+TiEdRDeT0+Ie3bIaAQlSzEWVuqda5mW4dzl1V6EcQ== + dependencies: + "@libp2p/crypto" "^4.0.3" + "@libp2p/interface" "^1.1.4" + "@libp2p/interface-internal" "^1.0.9" + "@libp2p/logger" "^4.0.7" + "@libp2p/multistream-select" "^5.1.4" + "@libp2p/peer-collections" "^5.1.7" + "@libp2p/peer-id" "^4.0.7" + "@libp2p/peer-id-factory" "^4.0.7" + "@libp2p/peer-store" "^10.0.11" + "@libp2p/utils" "^5.2.6" + "@multiformats/multiaddr" "^12.1.14" + any-signal "^4.1.1" + datastore-core "^9.2.8" + interface-datastore "^8.2.11" + it-merge "^3.0.3" + it-parallel "^3.0.6" + merge-options "^3.0.4" + multiformats "^13.1.0" + uint8arrays "^5.0.2" + lilconfig@^2.0.3: version "2.1.0" resolved "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz" @@ -5648,6 +6318,11 @@ mimic-fn@^2.1.0: resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + mini-css-extract-plugin@^2.5.3: version "2.7.6" resolved "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.6.tgz" @@ -5667,7 +6342,7 @@ minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: dependencies: brace-expansion "^1.1.7" -minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6: +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6: version "1.2.8" resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -5679,6 +6354,11 @@ minipass@^3.1.1: dependencies: yallist "^4.0.0" +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp@^0.5.6: version "0.5.6" resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz" @@ -5706,6 +6386,15 @@ module-alias@^2.2.2: resolved "https://registry.npmjs.org/module-alias/-/module-alias-2.2.3.tgz" integrity sha512-23g5BFj4zdQL/b6tor7Ji+QY4pEfNH784BMslY9Qb0UnJWRAt+lQGLYmRaM0KDBwIG23ffEBELhZDP2rhi9f/Q== +mortice@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/mortice/-/mortice-3.0.4.tgz#34aadef768161e9dc49a7f73637b7858bcb7c6fa" + integrity sha512-MUHRCAztSl4v/dAmK8vbYi5u1n9NZtQu4H3FsqS7qgMFQIAFw9lTpHiErd9kJpapqmvEdD1L3dUmiikifAvLsQ== + dependencies: + observable-webworkers "^2.0.1" + p-queue "^8.0.1" + p-timeout "^6.0.0" + mrmime@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz" @@ -5759,12 +6448,17 @@ multiformats@^12.0.1: resolved "https://registry.npmjs.org/multiformats/-/multiformats-12.0.1.tgz" integrity sha512-s01wijBJoDUqESWSzePY0lvTw7J3PVO9x2Cc6ASI5AMZM2Gnhh7BC17+nlFhHKU7dDzaCaRfb+NiqNzOsgPUoQ== +multiformats@^13.0.0, multiformats@^13.1.0: + version "13.1.0" + resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-13.1.0.tgz#5aa9d2175108a448fc3bdb54ba8a3d0b6cab3ac3" + integrity sha512-HzdtdBwxsIkzpeXzhQ5mAhhuxcHbjEHH+JQoxt7hG/2HGFjjwyolLo7hbaexcnhoEuV4e0TNJ8kkpMjiEYY4VQ== + multiformats@^9.4.2: version "9.9.0" resolved "https://registry.npmjs.org/multiformats/-/multiformats-9.9.0.tgz" integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== -multihashes@^4.0.1: +multihashes@^4.0.1, multihashes@^4.0.3: version "4.0.3" resolved "https://registry.npmjs.org/multihashes/-/multihashes-4.0.3.tgz" integrity sha512-0AhMH7Iu95XjDLxIeuCOOE4t9+vQZsACyKZ9Fxw2pcsRmlX4iCn1mby0hS0bb+nQOVpdQYWPpnyusw4da5RPhA== @@ -5814,6 +6508,11 @@ nanoid@^4.0.0: resolved "https://registry.npmjs.org/nanoid/-/nanoid-4.0.2.tgz" integrity sha512-7ZtY5KTCNheRGfEFxnedV5zFiORN1+Y1N6zvPTnHQd8ENUvfaDBeuJDZb2bN/oXwXxu3qkTXDzy57W5vAmDTBw== +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + native-fetch@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/native-fetch/-/native-fetch-3.0.0.tgz" @@ -5839,6 +6538,11 @@ neo-async@^2.6.2: resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== +netmask@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/netmask/-/netmask-2.0.2.tgz#8b01a07644065d536383835823bc52004ebac5e7" + integrity sha512-dBpDMdxv9Irdq66304OLfEmQ9tbNRFnFTuZiLo+bD+r332bBmMJ8GBLXklIXXgxd3+v9+KUnZaUR5PJMa75Gsg== + next-tick@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz" @@ -5866,11 +6570,31 @@ nock@^13.3.0: json-stringify-safe "^5.0.1" propagate "^2.0.0" +node-abi@^3.3.0: + version "3.56.0" + resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.56.0.tgz#ca807d5ff735ac6bbbd684ae3ff2debc1c2a40a7" + integrity sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q== + dependencies: + semver "^7.3.5" + +node-datachannel@^0.5.3: + version "0.5.3" + resolved "https://registry.yarnpkg.com/node-datachannel/-/node-datachannel-0.5.3.tgz#bdf2da7493e22f7960801d65ddd97991d6b2e851" + integrity sha512-aOp+6P2TC6+u36L06yeUAYpBp5FqpDGjIbIJQvC5AY9HX9ZVoqUO3ysLlswnpQRM7wJt8LhBuHxiPkLoM5xEUA== + dependencies: + node-domexception "^2.0.1" + prebuild-install "^7.0.1" + node-domexception@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== +node-domexception@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/node-domexception/-/node-domexception-2.0.1.tgz#83b0d101123b5bbf91018fd569a58b88ae985e5b" + integrity sha512-M85rnSC7WQ7wnfQTARPT4LrK7nwCHLdDFOCcItZMhTQjyCebJH8GciKqYJNgaOFZs9nFmTmd/VMyi3OW5jA47w== + node-fetch@^2.6.7, node-fetch@^2.6.8: version "2.6.12" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz" @@ -5983,6 +6707,11 @@ object.assign@^4.1.0: has-symbols "^1.0.3" object-keys "^1.1.1" +observable-webworkers@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/observable-webworkers/-/observable-webworkers-2.0.1.tgz#7d9086ebc567bd318b46ba0506b10cedf3813878" + integrity sha512-JI1vB0u3pZjoQKOK1ROWzp0ygxSi7Yb0iR+7UNsw4/Zn4cQ0P3R7XL38zac/Dy2tEA7Lg88/wIJTjF8vYXZ0uw== + obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" @@ -6072,6 +6801,13 @@ p-defer@^4.0.0: resolved "https://registry.npmjs.org/p-defer/-/p-defer-4.0.0.tgz" integrity sha512-Vb3QRvQ0Y5XnF40ZUWW7JfLogicVh/EnA5gBIvKDJoYpeI82+1E3AlB9yOcKFS0AhHrWVnAQO39fbR0G99IVEQ== +p-event@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/p-event/-/p-event-6.0.1.tgz#8f62a1e3616d4bc01fce3abda127e0383ef4715b" + integrity sha512-Q6Bekk5wpzW5qIyUP4gdMEujObYstZl6DMMOSenwBvV0BlE5LkDwkjs5yHbZmdCEq2o4RJx4tE1vwxFVf2FG1w== + dependencies: + p-timeout "^6.1.2" + p-fifo@^1.0.0: version "1.0.0" resolved "https://registry.npmjs.org/p-fifo/-/p-fifo-1.0.0.tgz" @@ -6113,6 +6849,14 @@ p-locate@^5.0.0: dependencies: p-limit "^3.0.2" +p-queue@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/p-queue/-/p-queue-8.0.1.tgz#718b7f83836922ef213ddec263ff4223ce70bef8" + integrity sha512-NXzu9aQJTAzbBqOt2hwsR63ea7yvxJc0PwN/zobNAudYfb1B7R08SzB4TsLeSbUCuG467NhnoT0oO6w1qRO+BA== + dependencies: + eventemitter3 "^5.0.1" + p-timeout "^6.1.2" + p-retry@^4.5.0: version "4.6.2" resolved "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz" @@ -6121,6 +6865,20 @@ p-retry@^4.5.0: "@types/retry" "0.12.0" retry "^0.13.1" +p-retry@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/p-retry/-/p-retry-6.2.0.tgz#8d6df01af298750009691ce2f9b3ad2d5968f3bd" + integrity sha512-JA6nkq6hKyWLLasXQXUrO4z8BUZGUt/LjlJxx8Gb2+2ntodU/SS63YZ8b0LUTbQ8ZB9iwOfhEPhg4ykKnn2KsA== + dependencies: + "@types/retry" "0.12.2" + is-network-error "^1.0.0" + retry "^0.13.1" + +p-timeout@^6.0.0, p-timeout@^6.1.2: + version "6.1.2" + resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-6.1.2.tgz#22b8d8a78abf5e103030211c5fc6dee1166a6aa5" + integrity sha512-UbD77BuZ9Bc9aABo74gfXhNvzC9Tx7SxtHSh1fxvx3jTLLYvmVhiQZZrJzqqU0jKbN32kb5VOKiLEQI/3bIjgQ== + p-try@^2.0.0: version "2.2.0" resolved "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz" @@ -6529,6 +7287,24 @@ postcss@^8.2.6, postcss@^8.3.5, postcss@^8.4.21, postcss@^8.4.33: picocolors "^1.0.0" source-map-js "^1.0.2" +prebuild-install@^7.0.1: + version "7.1.2" + resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.1.2.tgz#a5fd9986f5a6251fbc47e1e5c65de71e68c0a056" + integrity sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" @@ -6552,6 +7328,11 @@ process-nextick-args@~2.0.0: resolved "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== +progress-events@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/progress-events/-/progress-events-1.0.0.tgz#34f5e8fdb5dae3561837b22672d1e02277bb2109" + integrity sha512-zIB6QDrSbPfRg+33FZalluFIowkbV5Xh1xSuetjG+rlC5he6u2dc6VQJ0TbMdlN3R1RHdpOqxEFMKTnQ+itUwA== + progress-webpack-plugin@^1.0.12: version "1.0.16" resolved "https://registry.npmjs.org/progress-webpack-plugin/-/progress-webpack-plugin-1.0.16.tgz" @@ -6584,6 +7365,15 @@ protobufjs@^7.0.0: "@types/node" ">=13.7.0" long "^5.0.0" +protons-runtime@^5.0.0, protons-runtime@^5.4.0: + version "5.4.0" + resolved "https://registry.yarnpkg.com/protons-runtime/-/protons-runtime-5.4.0.tgz#2751ce22cae6c35eebba89acfd9d783419ae3726" + integrity sha512-XfA++W/WlQOSyjUyuF5lgYBfXZUEMP01Oh1C2dSwZAlF2e/ZrMRPfWonXj6BGM+o8Xciv7w0tsRMKYwYEuQvaw== + dependencies: + uint8-varint "^2.0.2" + uint8arraylist "^2.4.3" + uint8arrays "^5.0.1" + proxy-addr@~2.0.7: version "2.0.7" resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" @@ -6620,6 +7410,18 @@ punycode@^2.1.0: resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz" integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== +pvtsutils@^1.3.2: + version "1.3.5" + resolved "https://registry.yarnpkg.com/pvtsutils/-/pvtsutils-1.3.5.tgz#b8705b437b7b134cd7fd858f025a23456f1ce910" + integrity sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA== + dependencies: + tslib "^2.6.1" + +pvutils@^1.1.3: + version "1.1.3" + resolved "https://registry.yarnpkg.com/pvutils/-/pvutils-1.1.3.tgz#f35fc1d27e7cd3dfbd39c0826d173e806a03f5a3" + integrity sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ== + qs@6.11.0: version "6.11.0" resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz" @@ -6639,6 +7441,16 @@ queue-microtask@^1.2.2: resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== +race-event@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/race-event/-/race-event-1.2.0.tgz#6d3a72358db6e9fedabab7380636d1420abb0edb" + integrity sha512-7EvAjTu9uuKa03Jky8yfSy6/SnnMTh6nouNmdeWv9b0dT8eDZC5ylx30cOR9YO9otQorVjjkIuSHQ5Ml/bKwMw== + +race-signal@^1.0.1, race-signal@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/race-signal/-/race-signal-1.0.2.tgz#e42379fba0cec4ee8dab7c9bbbd4aa6e0d14c25f" + integrity sha512-o3xNv0iTcIDQCXFlF6fPAMEBRjFxssgGoRqLbg06m+AdzEXXLUmoNOoUHTVz2NoBI8hHwKFKoC6IqyNtWr2bww== + randombytes@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" @@ -6661,6 +7473,16 @@ raw-body@2.5.1: iconv-lite "0.4.24" unpipe "1.0.0" +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + react-native-fetch-api@^3.0.0: version "3.0.0" resolved "https://registry.npmjs.org/react-native-fetch-api/-/react-native-fetch-api-3.0.0.tgz" @@ -6668,6 +7490,15 @@ react-native-fetch-api@^3.0.0: dependencies: p-defer "^3.0.0" +react-native-webrtc@^118.0.1: + version "118.0.2" + resolved "https://registry.yarnpkg.com/react-native-webrtc/-/react-native-webrtc-118.0.2.tgz#c965ff3da8aa57a2a0598de637d246826acbaa61" + integrity sha512-ICSv/iYXRILIHgWJXVI1ZlYkQeWZIuqi02FI+38Ch6YRbFZWUwcfhALZ5AhTRAlnUzpt+qsBxWrsq8eIG+3lTw== + dependencies: + base64-js "1.5.1" + debug "4.3.4" + event-target-shim "6.0.2" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz" @@ -6700,7 +7531,7 @@ readable-stream@^2.0.1: string_decoder "~1.1.1" util-deprecate "~1.0.1" -readable-stream@^3.0.6, readable-stream@^3.4.0, readable-stream@^3.6.0: +readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.2" resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== @@ -6849,10 +7680,10 @@ rimraf@^3.0.2: dependencies: glob "^7.1.3" -robonomics-interface@^0.3.1: - version "0.3.1" - resolved "https://registry.npmjs.org/robonomics-interface/-/robonomics-interface-0.3.1.tgz" - integrity sha512-F3jbcKF9m0I1EewxKNe5kcUQvNtvSEDNqp6va6pcvOar2icpVbvpKtzVtVz0Wgb+VUBX1SxfaUeSOHvCEjRXaQ== +robonomics-interface@^0.3.2: + version "0.3.2" + resolved "https://registry.yarnpkg.com/robonomics-interface/-/robonomics-interface-0.3.2.tgz#afbe399fda7371f845a02d4f258e8c562689daed" + integrity sha512-LUUhSdJxiTFMIMwVjC6x5aR8XW2uOAMjKPJ0dg6bsan7WMjottvPrmgJn8opewyCNMTDYb0GgG1xJqdhVvt5Lw== dependencies: cids "^1.1.9" multihashing-async "^2.1.4" @@ -6888,7 +7719,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: +safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: version "5.2.1" resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -7064,6 +7895,20 @@ signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^4.0.0: + version "4.0.1" + resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + sirv@^1.0.7: version "1.0.19" resolved "https://registry.npmjs.org/sirv/-/sirv-1.0.19.tgz" @@ -7263,6 +8108,11 @@ strip-json-comments@^3.1.1: resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + stylehacks@^5.1.1: version "5.1.1" resolved "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.1.tgz" @@ -7320,6 +8170,27 @@ tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tar-fs@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + terser-webpack-plugin@^5.1.1, terser-webpack-plugin@^5.3.7: version "5.3.9" resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz" @@ -7410,11 +8281,18 @@ tr46@~0.0.3: resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== -tslib@^2.0.3, tslib@^2.1.0, tslib@^2.6.2: +tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.1, tslib@^2.6.2: version "2.6.2" resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + tweetnacl@1.x.x, tweetnacl@^1.0.3: version "1.0.3" resolved "https://registry.npmjs.org/tweetnacl/-/tweetnacl-1.0.3.tgz" @@ -7467,6 +8345,21 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +uint8-varint@^2.0.1, uint8-varint@^2.0.2, uint8-varint@^2.0.4: + version "2.0.4" + resolved "https://registry.yarnpkg.com/uint8-varint/-/uint8-varint-2.0.4.tgz#85be52b3849eb30f2c3640a2df8a14364180affb" + integrity sha512-FwpTa7ZGA/f/EssWAb5/YV6pHgVF1fViKdW8cWaEarjB8t7NyofSWBdOTyFPaGuUG4gx3v1O3PQ8etsiOs3lcw== + dependencies: + uint8arraylist "^2.0.0" + uint8arrays "^5.0.0" + +uint8arraylist@^2.0.0, uint8arraylist@^2.4.1, uint8arraylist@^2.4.3, uint8arraylist@^2.4.8: + version "2.4.8" + resolved "https://registry.yarnpkg.com/uint8arraylist/-/uint8arraylist-2.4.8.tgz#5a4d17f4defd77799cb38e93fd5db0f0dceddc12" + integrity sha512-vc1PlGOzglLF0eae1M8mLRTBivsvrGsdmJ5RbK3e+QRvRLOZfZhQROTwH/OfyF3+ZVUg9/8hE8bmKP2CvP9quQ== + dependencies: + uint8arrays "^5.0.1" + uint8arraylist@^2.1.2: version "2.4.3" resolved "https://registry.npmjs.org/uint8arraylist/-/uint8arraylist-2.4.3.tgz" @@ -7488,6 +8381,13 @@ uint8arrays@^4.0.2: dependencies: multiformats "^11.0.0" +uint8arrays@^5.0.0, uint8arrays@^5.0.1, uint8arrays@^5.0.2: + version "5.0.2" + resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-5.0.2.tgz#f05479bcd521d37c2e7710b24132a460b0ac80e3" + integrity sha512-S0GaeR+orZt7LaqzTRs4ZP8QqzAauJ+0d4xvP2lJTA99jIkKsE2FgDs4tGF/K/z5O9I/2W5Yvrh7IuqNeYH+0Q== + dependencies: + multiformats "^13.0.0" + undici@^5.12.0: version "5.22.1" resolved "https://registry.npmjs.org/undici/-/undici-5.22.1.tgz" @@ -7586,6 +8486,11 @@ uuid@^8.3.2: resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== +uuid@^9.0.1: + version "9.0.1" + resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30" + integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA== + validate-npm-package-license@^3.0.1: version "3.0.4" resolved "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz" @@ -7864,6 +8769,13 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" +wherearewe@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/wherearewe/-/wherearewe-2.0.1.tgz#37c97a7bf112dca8db34bfefb2f6c997af312bb8" + integrity sha512-XUguZbDxCA2wBn2LoFtcEhXL6AXo+hVjGonwhSTTTU9SzbWG8Xu3onNIpzf9j/mYUcJQ0f+m37SzG77G851uFw== + dependencies: + is-electron "^2.2.0" + which@^1.2.9: version "1.3.1" resolved "https://registry.npmjs.org/which/-/which-1.3.1.tgz" @@ -7910,7 +8822,7 @@ ws@^7.3.1: resolved "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.13.0, ws@^8.8.1: +ws@^8.13.0, ws@^8.16.0, ws@^8.4.0, ws@^8.8.1: version "8.16.0" resolved "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz" integrity sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==