From 583467408f6c34e52ab94c1c5b3085cd965d4d1f Mon Sep 17 00:00:00 2001 From: Mani Brar Date: Sun, 12 Jan 2025 18:52:10 +0530 Subject: [PATCH 01/10] feat: proof & relay tests --- relayer-cli/src/testnetRelayer.ts | 11 +- relayer-cli/src/utils/ethers.ts | 2 +- relayer-cli/src/utils/proof.test.ts | 20 +++ relayer-cli/src/utils/proof.ts | 45 ++++-- relayer-cli/src/utils/relay.test.ts | 186 ++++++++++++++++++++++++ relayer-cli/src/utils/relay.ts | 81 +++++++++-- relayer-cli/src/utils/relayerHelpers.ts | 4 +- 7 files changed, 322 insertions(+), 27 deletions(-) create mode 100644 relayer-cli/src/utils/proof.test.ts create mode 100644 relayer-cli/src/utils/relay.test.ts diff --git a/relayer-cli/src/testnetRelayer.ts b/relayer-cli/src/testnetRelayer.ts index 247345f9..5ec104a0 100644 --- a/relayer-cli/src/testnetRelayer.ts +++ b/relayer-cli/src/testnetRelayer.ts @@ -1,5 +1,5 @@ require("dotenv").config(); -import { relayBatch } from "utils/relay"; +import { relayBatch, RelayBatchDeps } from "utils/relay"; import { initialize, updateStateFile, delay, setupExitHandlers, ShutdownManager } from "utils/relayerHelpers"; import { getEpochPeriod } from "consts/bridgeRoutes"; @@ -7,13 +7,18 @@ export async function start(shutdownManager: ShutdownManager = new ShutdownManag const network = "testnet"; const chainId = parseInt(process.env.VEAOUTBOX_CHAIN_ID); const epochPeriod = getEpochPeriod(chainId); - const batchSize = 10; // 10 messages per batch + const maxBatchSize = 10; // 10 messages per batch await setupExitHandlers(chainId, shutdownManager, network); while (!shutdownManager.getIsShuttingDown()) { let nonce = await initialize(chainId, network); - nonce = await relayBatch(chainId, nonce, batchSize); + const relayBatchDeps: RelayBatchDeps = { + chainId, + nonce, + maxBatchSize, + }; + nonce = await relayBatch(relayBatchDeps); if (nonce != null) await updateStateFile(chainId, Math.floor(Date.now() / 1000), nonce, network); const currentTS = Math.floor(Date.now() / 1000); const delayAmount = (epochPeriod - (currentTS % epochPeriod)) * 1000 + 100 * 1000; diff --git a/relayer-cli/src/utils/ethers.ts b/relayer-cli/src/utils/ethers.ts index 3aee5308..e8f44ce2 100644 --- a/relayer-cli/src/utils/ethers.ts +++ b/relayer-cli/src/utils/ethers.ts @@ -6,7 +6,7 @@ import { VeaInboxArbToGnosis__factory, VeaOutboxArbToGnosis__factory, } from "@kleros/vea-contracts/typechain-types"; -import { getBridgeConfig } from "consts/bridgeRoutes"; +import { getBridgeConfig } from "../consts/bridgeRoutes"; function getWallet(privateKey: string, web3ProviderURL: string): Wallet { return new Wallet(privateKey, new JsonRpcProvider(web3ProviderURL)); diff --git a/relayer-cli/src/utils/proof.test.ts b/relayer-cli/src/utils/proof.test.ts new file mode 100644 index 00000000..b6438b2b --- /dev/null +++ b/relayer-cli/src/utils/proof.test.ts @@ -0,0 +1,20 @@ +import { getProofIndices } from "./proof"; + +describe("proof", () => { + describe("getProofIndices", () => { + it("should return an empty array", () => { + const result = getProofIndices(7, 7); + expect(result).toEqual([]); + }); + it("should return the proof indices", () => { + const expectedProofIndices = ["3", "0,1", "4,6"]; + const result = getProofIndices(2, 7); + expect(result).toEqual(expectedProofIndices); + }); + it("should return the proof indices(for a large count", () => { + const expectedProofIndices = ["6", "4,5", "0,3", "8,14"]; + const result = getProofIndices(7, 15); + expect(result).toEqual(expectedProofIndices); + }); + }); +}); diff --git a/relayer-cli/src/utils/proof.ts b/relayer-cli/src/utils/proof.ts index 15d0765e..693e13bf 100644 --- a/relayer-cli/src/utils/proof.ts +++ b/relayer-cli/src/utils/proof.ts @@ -1,11 +1,17 @@ import request from "graphql-request"; import { getInboxSubgraph } from "../consts/bridgeRoutes"; -const getMessageDataToRelay = async (chainid: number, nonce: number) => { +/** + * Get the message data to relay from the subgraph + * @param chainId The chain id of the veaOutbox chain + * @param nonce The nonce of the message + * @returns The message id and data to relay + */ +const getMessageDataToRelay = async (chainId: number, nonce: number, requestGraph: typeof request = request) => { try { - const subgraph = getInboxSubgraph(chainid); + const subgraph = getInboxSubgraph(chainId); - const result = await request( + const result = await requestGraph( `https://api.studio.thegraph.com/query/${subgraph}`, `{ messageSents(first: 5, where: {nonce: ${nonce}}) { @@ -24,9 +30,22 @@ const getMessageDataToRelay = async (chainid: number, nonce: number) => { } }; -const getProofAtCount = async (chainid: number, nonce: number, count: number): Promise => { - const proofIndices = getProofIndices(nonce, count); - +/** + * Get the proof of the message at a given count + * @param chainId The chain id of the veaOutbox chain + * @param nonce The nonce of the message + * @param count The current veaOutbox count + * @returns The proof of the message + */ +const getProofAtCount = async ( + chainId: number, + nonce: number, + count: number, + requestGraph: typeof request = request, + calculateProofIndices: typeof getProofIndices = getProofIndices, + fetchInboxSubgraph: typeof getInboxSubgraph = getInboxSubgraph +): Promise => { + const proofIndices = calculateProofIndices(nonce, count); if (proofIndices.length == 0) return []; let query = "{"; @@ -38,16 +57,14 @@ const getProofAtCount = async (chainid: number, nonce: number, count: number): P query += "}"; try { - const subgraph = getInboxSubgraph(chainid); + const subgraph = fetchInboxSubgraph(chainId); - const result = await request(`https://api.studio.thegraph.com/query/${subgraph}`, query); + const result = await requestGraph(`https://api.studio.thegraph.com/query/${subgraph}`, query); const proof = []; - for (let i = 0; i < proofIndices.length; i++) { proof.push(result[`layer${i}`][0].hash); } - return proof; } catch (e) { console.log(e); @@ -55,6 +72,12 @@ const getProofAtCount = async (chainid: number, nonce: number, count: number): P } }; +/** + * Get the proof indices of the message + * @param nonce The nonce of the message + * @param count The current veaOutbox count + * @returns The proof indices of the message + */ const getProofIndices = (nonce: number, count: number) => { let proof = []; if (nonce >= count) return proof; @@ -76,4 +99,4 @@ const getProofIndices = (nonce: number, count: number) => { return proof; }; -export { getProofAtCount, getMessageDataToRelay }; +export { getProofAtCount, getMessageDataToRelay, getProofIndices }; diff --git a/relayer-cli/src/utils/relay.test.ts b/relayer-cli/src/utils/relay.test.ts new file mode 100644 index 00000000..0ae6d551 --- /dev/null +++ b/relayer-cli/src/utils/relay.test.ts @@ -0,0 +1,186 @@ +import { abi } from "web3/lib/commonjs/eth.exports"; +import { relayBatch } from "./relay"; + +describe("relay", () => { + describe("relayBatch", () => { + const veaOutboxAddress = "0x123"; + const chainId = 1; + const nonce = 0; + const maxBatchSize = 10; + const fetchBridgeConfig = jest.fn(); + const fetchCount = jest.fn(); + const setBatchedSend = jest.fn(); + const fetchVeaOutbox = jest.fn(); + const fetchProofAtCount = jest.fn(); + const fetchMessageDataToRelay = jest.fn(); + const web3 = jest.fn() as any; + const mockBatchedSend = jest.fn(async (txns) => Promise.resolve()); + beforeEach(() => { + fetchBridgeConfig.mockReturnValue({ + veaOutboxContract: { + abi: [], + }, + }); + fetchCount.mockReturnValue(1); + setBatchedSend.mockReturnValue(mockBatchedSend); + fetchVeaOutbox.mockReturnValue({ + isMsgRelayed: jest.fn(), + sendMessage: jest.fn(), + }); + fetchProofAtCount.mockReturnValue([]); + fetchMessageDataToRelay.mockReturnValue(["to", "data"]); + web3.mockReturnValue({ + eth: { + Contract: jest.fn().mockReturnValue({ + methods: { + sendMessage: jest.fn(), + }, + options: { + address: veaOutboxAddress, + }, + }), + }, + }); + }); + afterEach(() => { + jest.clearAllMocks(); + }); + it("should not relay any messages if there are no messages to relay", async () => { + fetchCount.mockReturnValue(0); + const sendBatch = jest.fn(); + setBatchedSend.mockReturnValue({ + sendBatch, + }); + const updatedNonce = await relayBatch({ + chainId, + nonce, + maxBatchSize, + fetchBridgeConfig, + fetchCount, + setBatchedSend, + fetchVeaOutbox, + fetchProofAtCount, + fetchMessageDataToRelay, + web3, + }); + expect(sendBatch).not.toHaveBeenCalled(); + expect(updatedNonce).toBe(0); + }); + + it("should relay a single message", async () => { + fetchCount.mockReturnValue(1); + const updatedNonce = await relayBatch({ + chainId, + nonce, + maxBatchSize, + fetchBridgeConfig, + fetchCount, + setBatchedSend, + fetchVeaOutbox, + fetchProofAtCount, + fetchMessageDataToRelay, + web3, + }); + expect(mockBatchedSend).toHaveBeenCalledTimes(1); + expect(mockBatchedSend).toHaveBeenCalledWith([ + { + args: [[], 0, "to", "data"], + method: expect.any(Function), // sendMessage function + to: veaOutboxAddress, + }, + ]); + expect(updatedNonce).toBe(1); + }); + + it("should relay multiple messages in a single batch", async () => { + fetchCount.mockReturnValue(7); + const updatedNonce = await relayBatch({ + chainId, + nonce, + maxBatchSize, + fetchBridgeConfig, + fetchCount, + setBatchedSend, + fetchVeaOutbox, + fetchProofAtCount, + fetchMessageDataToRelay, + web3, + }); + expect(mockBatchedSend).toHaveBeenCalledTimes(1); + const expectedCalls = Array.from({ length: 7 }, (_, index) => ({ + args: [[], index, "to", "data"], + method: expect.any(Function), + to: veaOutboxAddress, + })); + + expect(mockBatchedSend).toHaveBeenCalledWith(expectedCalls); + + expect(updatedNonce).toBe(7); + }); + it("should relay multiple messages in multiple batches", async () => { + fetchCount.mockReturnValue(15); + const updatedNonce = await relayBatch({ + chainId, + nonce, + maxBatchSize, + fetchBridgeConfig, + fetchCount, + setBatchedSend, + fetchVeaOutbox, + fetchProofAtCount, + fetchMessageDataToRelay, + web3, + }); + expect(mockBatchedSend).toHaveBeenCalledTimes(2); + const firstBatchCalls = Array.from({ length: 10 }, (_, index) => ({ + args: [[], index, "to", "data"], + method: expect.any(Function), + to: veaOutboxAddress, + })); + + const secondBatchCalls = Array.from({ length: 5 }, (_, index) => ({ + args: [[], index + 10, "to", "data"], + method: expect.any(Function), + to: veaOutboxAddress, + })); + + expect(mockBatchedSend).toHaveBeenNthCalledWith(1, firstBatchCalls); + expect(mockBatchedSend).toHaveBeenNthCalledWith(2, secondBatchCalls); + expect(updatedNonce).toBe(15); + }); + it("should not relay messages that have already been relayed", async () => { + fetchCount.mockReturnValue(3); + fetchVeaOutbox.mockReturnValue({ + isMsgRelayed: jest.fn().mockImplementation((nonce) => nonce === 1), + sendMessage: jest.fn(), + }); + const updatedNonce = await relayBatch({ + chainId, + nonce, + maxBatchSize, + fetchBridgeConfig, + fetchCount, + setBatchedSend, + fetchVeaOutbox, + fetchProofAtCount, + fetchMessageDataToRelay, + web3, + }); + expect(mockBatchedSend).toHaveBeenCalledTimes(1); + const batchCall = [ + { + args: [[], 0, "to", "data"], + method: expect.any(Function), + to: veaOutboxAddress, + }, + { + args: [[], 2, "to", "data"], + method: expect.any(Function), + to: veaOutboxAddress, + }, + ]; + expect(mockBatchedSend).toHaveBeenCalledWith(batchCall); + expect(updatedNonce).toBe(3); + }); + }); +}); diff --git a/relayer-cli/src/utils/relay.ts b/relayer-cli/src/utils/relay.ts index 3b3a0f06..0fb96e12 100644 --- a/relayer-cli/src/utils/relay.ts +++ b/relayer-cli/src/utils/relay.ts @@ -7,6 +7,11 @@ import { getProofAtCount, getMessageDataToRelay } from "./proof"; import { getVeaOutbox } from "./ethers"; import { getBridgeConfig, getInboxSubgraph } from "../consts/bridgeRoutes"; +/** + * Get the count of the veaOutbox + * @param veaOutbox The veaOutbox contract instance + * @param chainId The chain id of the veaOutbox chain + */ const getCount = async (veaOutbox: VeaOutboxArbToEth | VeaOutboxArbToGnosis, chainId: number): Promise => { const subgraph = getInboxSubgraph(chainId); const stateRoot = await veaOutbox.stateRoot(); @@ -25,6 +30,11 @@ const getCount = async (veaOutbox: VeaOutboxArbToEth | VeaOutboxArbToGnosis, cha return Number(result["snapshotSaveds"][0].count); }; +/** + * Relay a message from the veaOutbox + * @param chainId The chain id of the veaOutbox chain + * @param nonce The nonce of the message + */ const relay = async (chainId: number, nonce: number) => { const routeParams = getBridgeConfig(chainId); const veaOutbox = getVeaOutbox(routeParams.veaOutboxAddress, process.env.PRIVATE_KEY, routeParams.rpcOutbox, chainId); @@ -40,13 +50,52 @@ const relay = async (chainId: number, nonce: number) => { return receipt; }; -const relayBatch = async (chainId: number, nonce: number, maxBatchSize: number) => { - const routeParams = getBridgeConfig(chainId); - const web3 = new Web3(routeParams.rpcOutbox); - const batchedSend = initializeBatchedSend(web3, routeParams.batcher, process.env.PRIVATE_KEY, 0); - const veaOutboxInstance = new web3.eth.Contract(routeParams.veaOutboxContract.abi, routeParams.veaOutboxAddress); - const veaOutbox = getVeaOutbox(routeParams.veaOutboxAddress, process.env.PRIVATE_KEY, routeParams.rpcOutbox, chainId); - const count = await getCount(veaOutbox, chainId); +interface RelayBatchDeps { + chainId: number; + nonce: number; + maxBatchSize: number; + fetchVeaOutbox?: typeof getVeaOutbox; + fetchCount?: typeof getCount; + setBatchedSend?: typeof initializeBatchedSend; + fetchBridgeConfig?: typeof getBridgeConfig; + fetchProofAtCount?: typeof getProofAtCount; + fetchMessageDataToRelay?: typeof getMessageDataToRelay; + web3?: typeof Web3; +} + +/** + * Relay a batch of messages from the veaOutbox + * @param chainId The chain id of the veaOutbox chain + * @param nonce The nonce of the message + * @param maxBatchSize The maximum number of messages to relay in a single batch + */ +const relayBatch = async ({ + chainId, + nonce, + maxBatchSize, + fetchBridgeConfig = getBridgeConfig, + fetchCount = getCount, + setBatchedSend = initializeBatchedSend, + fetchVeaOutbox = getVeaOutbox, + fetchProofAtCount = getProofAtCount, + fetchMessageDataToRelay = getMessageDataToRelay, + web3 = Web3, +}: RelayBatchDeps) => { + const routeParams = fetchBridgeConfig(chainId); + const web3Instance = new web3(routeParams.rpcOutbox); + + const batchedSend = setBatchedSend(web3Instance, routeParams.batcher, process.env.PRIVATE_KEY, 0); + const veaOutboxInstance = new web3Instance.eth.Contract( + routeParams.veaOutboxContract.abi, + routeParams.veaOutboxAddress + ); + const veaOutbox = fetchVeaOutbox( + routeParams.veaOutboxAddress, + process.env.PRIVATE_KEY, + routeParams.rpcOutbox, + chainId + ); + const count = await fetchCount(veaOutbox, chainId); while (nonce < count) { let batchMessages = 0; @@ -58,8 +107,8 @@ const relayBatch = async (chainId: number, nonce: number, maxBatchSize: number) continue; } const [proof, [to, data]] = await Promise.all([ - getProofAtCount(chainId, nonce, count), - getMessageDataToRelay(chainId, nonce), + fetchProofAtCount(chainId, nonce, count), + fetchMessageDataToRelay(chainId, nonce), ]); txns.push({ args: [proof, nonce, to, data], @@ -76,6 +125,12 @@ const relayBatch = async (chainId: number, nonce: number, maxBatchSize: number) return nonce; }; +/** + * Relay all messages from the veaOutbox for a given sender + * @param chainId The chain id of the veaOutbox chain + * @param nonce The nonce of the first message to relay + * @param msgSender The address of the sender + */ const relayAllFrom = async (chainId: number, nonce: number, msgSender: string): Promise => { const routeParams = getBridgeConfig(chainId); @@ -115,6 +170,12 @@ const relayAllFrom = async (chainId: number, nonce: number, msgSender: string): return nonces[nonces.length - 1]; }; +/** + * Get the nonces of messages sent by a given sender + * @param chainId The chain id of the veaOutbox chain + * @param nonce The nonce of the first message to relay + * @param msgSender The address of the sender + */ const getNonceFrom = async (chainId: number, nonce: number, msgSender: string) => { const subgraph = getInboxSubgraph(chainId); @@ -138,4 +199,4 @@ const getNonceFrom = async (chainId: number, nonce: number, msgSender: string) = return result[`messageSents`].map((a: { nonce: number }) => a.nonce); }; -export { relayAllFrom, relay, relayBatch }; +export { relayAllFrom, relay, relayBatch, RelayBatchDeps }; diff --git a/relayer-cli/src/utils/relayerHelpers.ts b/relayer-cli/src/utils/relayerHelpers.ts index 28e48ebe..f9782672 100644 --- a/relayer-cli/src/utils/relayerHelpers.ts +++ b/relayer-cli/src/utils/relayerHelpers.ts @@ -4,7 +4,7 @@ import ShutdownManager from "./shutdownManager"; async function initialize(chainId: number, network: string): Promise { claimLock(network, chainId); - + console.log("lock claimed"); // STATE_DIR is absolute path of the directory where the state files are stored // STATE_DIR must have trailing slash const state_file = process.env.STATE_DIR + network + "_" + chainId + ".json"; @@ -13,9 +13,9 @@ async function initialize(chainId: number, network: string): Promise { const tsnow = Math.floor(Date.now() / 1000); await updateStateFile(chainId, tsnow, 0, network); } - // print pwd for debugging console.log(process.cwd()); + const chain_state_raw = fs.readFileSync(state_file, { encoding: "utf8" }); const chain_state = JSON.parse(chain_state_raw); let nonce = 0; From 7130a0f73bef2b6cb87eb86f1bc60debb6cd5dcb Mon Sep 17 00:00:00 2001 From: Mani Brar Date: Mon, 13 Jan 2025 19:19:00 +0530 Subject: [PATCH 02/10] feat: relayerHelper tests --- relayer-cli/src/utils/relayerHelpers.test.ts | 62 ++++++++++++++++++++ relayer-cli/src/utils/relayerHelpers.ts | 30 +++++++--- 2 files changed, 83 insertions(+), 9 deletions(-) create mode 100644 relayer-cli/src/utils/relayerHelpers.test.ts diff --git a/relayer-cli/src/utils/relayerHelpers.test.ts b/relayer-cli/src/utils/relayerHelpers.test.ts new file mode 100644 index 00000000..9a5671a7 --- /dev/null +++ b/relayer-cli/src/utils/relayerHelpers.test.ts @@ -0,0 +1,62 @@ +import { initialize, updateStateFile } from "./relayerHelpers"; + +describe("relayerHelpers", () => { + const chainId = 1; + const network = "testing"; + const claimLock = jest.fn(); + const mockUpdateStateFile = jest.fn(); + const fileSystem = { + readFileSync: jest.fn(), + existsSync: jest.fn(), + writeFileSync: jest.fn(), + promises: { + unlink: jest.fn(), + }, + }; + const releaseLock = jest.fn(); + afterEach(() => { + jest.clearAllMocks(); + }); + describe("initialize", () => { + it("should claimLock and create a state file if it doesn't exist", async () => { + fileSystem.existsSync.mockReturnValue(false); + fileSystem.readFileSync.mockReturnValue('{"nonce":0}'); + const nonce = await initialize(chainId, network, claimLock, mockUpdateStateFile, fileSystem as any); + expect(claimLock).toHaveBeenCalledWith(network, chainId); + expect(mockUpdateStateFile).toHaveBeenCalledWith(chainId, expect.any(Number), 0, network); + expect(nonce).toBe(0); + }); + it("should claimLock and return nonce from existing state file", async () => { + fileSystem.existsSync.mockReturnValue(true); + fileSystem.readFileSync.mockReturnValue('{"nonce":10}'); + const nonce = await initialize(chainId, network, claimLock, mockUpdateStateFile, fileSystem as any); + expect(claimLock).toHaveBeenCalledWith(network, chainId); + expect(mockUpdateStateFile).not.toHaveBeenCalled(); + expect(nonce).toBe(10); + }); + }); + + describe("updateStateFile", () => { + it("should write a state file with the provided nonce", async () => { + const createdTimestamp = 123456; + const fileDirectory = "./state/testing_1.json"; + await updateStateFile(chainId, createdTimestamp, 10, network, fileSystem as any, releaseLock); + expect(fileSystem.writeFileSync).toHaveBeenCalledWith( + fileDirectory, + JSON.stringify({ ts: createdTimestamp, nonce: 10 }), + { encoding: "utf8" } + ); + expect(releaseLock).toHaveBeenCalledWith(network, chainId); + }); + }); + + describe("setupExitHandlers", () => { + it.todo("should register signal handlers for SIGINT, SIGTERM, and SIGQUIT"); + + it.todo("should trigger shutdown and cleanup on SIGINT signal"); + + it.todo("should trigger shutdown and cleanup on SIGTERM signal"); + + it.todo("should trigger shutdown and cleanup on SIGQUIT signal"); + }); +}); diff --git a/relayer-cli/src/utils/relayerHelpers.ts b/relayer-cli/src/utils/relayerHelpers.ts index f9782672..f0d5f53c 100644 --- a/relayer-cli/src/utils/relayerHelpers.ts +++ b/relayer-cli/src/utils/relayerHelpers.ts @@ -2,21 +2,27 @@ import * as fs from "fs"; import { claimLock, releaseLock } from "./lock"; import ShutdownManager from "./shutdownManager"; -async function initialize(chainId: number, network: string): Promise { - claimLock(network, chainId); +async function initialize( + chainId: number, + network: string, + setLock: typeof claimLock = claimLock, + syncStateFile: typeof updateStateFile = updateStateFile, + fileSystem: typeof fs = fs +): Promise { + setLock(network, chainId); console.log("lock claimed"); // STATE_DIR is absolute path of the directory where the state files are stored // STATE_DIR must have trailing slash const state_file = process.env.STATE_DIR + network + "_" + chainId + ".json"; - if (!fs.existsSync(state_file)) { + if (!fileSystem.existsSync(state_file)) { // No state file so initialize starting now const tsnow = Math.floor(Date.now() / 1000); - await updateStateFile(chainId, tsnow, 0, network); + await syncStateFile(chainId, tsnow, 0, network); } // print pwd for debugging console.log(process.cwd()); - const chain_state_raw = fs.readFileSync(state_file, { encoding: "utf8" }); + const chain_state_raw = fileSystem.readFileSync(state_file, { encoding: "utf8" }); const chain_state = JSON.parse(chain_state_raw); let nonce = 0; if ("nonce" in chain_state) { @@ -26,15 +32,22 @@ async function initialize(chainId: number, network: string): Promise { return nonce; } -async function updateStateFile(chainId: number, createdTimestamp: number, nonceFrom: number, network: string) { +async function updateStateFile( + chainId: number, + createdTimestamp: number, + nonceFrom: number, + network: string, + fileSystem: typeof fs = fs, + removeLock: typeof releaseLock = releaseLock +) { const chain_state_file = "./state/" + network + "_" + chainId + ".json"; const json = { ts: createdTimestamp, nonce: nonceFrom, }; - fs.writeFileSync(chain_state_file, JSON.stringify(json), { encoding: "utf8" }); + fileSystem.writeFileSync(chain_state_file, JSON.stringify(json), { encoding: "utf8" }); - releaseLock(network, chainId); + removeLock(network, chainId); } async function setupExitHandlers(chainId: number, shutdownManager: ShutdownManager, network: string) { @@ -54,7 +67,6 @@ async function setupExitHandlers(chainId: number, shutdownManager: ShutdownManag ["SIGINT", "SIGTERM", "SIGQUIT"].forEach((signal) => process.on(signal, async () => { await handleExit(0); - process.exit(0); }) ); From 3178c6702c6da3201d3dda1cda5bbfbd16fb2527 Mon Sep 17 00:00:00 2001 From: Mani Brar Date: Tue, 14 Jan 2025 17:47:40 +0530 Subject: [PATCH 03/10] feat: logger --- relayer-cli/src/testnetRelayer.ts | 49 ++++++++++++++++---- relayer-cli/src/utils/botEvents.ts | 15 ++++++ relayer-cli/src/utils/logger.ts | 49 ++++++++++++++++++++ relayer-cli/src/utils/relay.test.ts | 1 - relayer-cli/src/utils/relay.ts | 6 +++ relayer-cli/src/utils/relayerHelpers.test.ts | 24 ++++++++-- relayer-cli/src/utils/relayerHelpers.ts | 31 ++++++++++--- relayer-cli/state/testnet_11155111.json | 4 ++ 8 files changed, 158 insertions(+), 21 deletions(-) create mode 100644 relayer-cli/src/utils/botEvents.ts create mode 100644 relayer-cli/src/utils/logger.ts create mode 100644 relayer-cli/state/testnet_11155111.json diff --git a/relayer-cli/src/testnetRelayer.ts b/relayer-cli/src/testnetRelayer.ts index 5ec104a0..6708894e 100644 --- a/relayer-cli/src/testnetRelayer.ts +++ b/relayer-cli/src/testnetRelayer.ts @@ -1,33 +1,64 @@ require("dotenv").config(); +import { EventEmitter } from "node:events"; import { relayBatch, RelayBatchDeps } from "utils/relay"; -import { initialize, updateStateFile, delay, setupExitHandlers, ShutdownManager } from "utils/relayerHelpers"; +import { + initialize as initializeNonce, + updateStateFile, + delay, + setupExitHandlers, + ShutdownManager, +} from "utils/relayerHelpers"; import { getEpochPeriod } from "consts/bridgeRoutes"; +import { initialize as initializeEmitter } from "utils/logger"; +import { BotEvents } from "utils/botEvents"; -export async function start(shutdownManager: ShutdownManager = new ShutdownManager()) { - const network = "testnet"; - const chainId = parseInt(process.env.VEAOUTBOX_CHAIN_ID); +interface RelayerConfig { + chainId: number; + network: string; + shutdownManager: ShutdownManager; + emitter: EventEmitter; +} + +/** + * Start the relayer + * @param chainId The chain id of the relayer + * @param network The network of the relayer + * @param shutdownManager The shutdown manager + * @param emitter The event emitter + */ +export async function start({ chainId, network, shutdownManager, emitter }: RelayerConfig) { + initializeEmitter(emitter); + emitter.emit(BotEvents.STARTED, chainId, network); const epochPeriod = getEpochPeriod(chainId); const maxBatchSize = 10; // 10 messages per batch - await setupExitHandlers(chainId, shutdownManager, network); + await setupExitHandlers(chainId, shutdownManager, network, emitter); while (!shutdownManager.getIsShuttingDown()) { - let nonce = await initialize(chainId, network); + let nonce = await initializeNonce(chainId, network, emitter); const relayBatchDeps: RelayBatchDeps = { chainId, nonce, maxBatchSize, }; nonce = await relayBatch(relayBatchDeps); - if (nonce != null) await updateStateFile(chainId, Math.floor(Date.now() / 1000), nonce, network); + if (nonce != null) await updateStateFile(chainId, Math.floor(Date.now() / 1000), nonce, network, emitter); const currentTS = Math.floor(Date.now() / 1000); const delayAmount = (epochPeriod - (currentTS % epochPeriod)) * 1000 + 100 * 1000; - console.log("waiting for the next epoch. . .", Math.floor(delayAmount / 1000), "seconds"); + emitter.emit(BotEvents.WAITING, delayAmount); await delay(delayAmount); } } if (require.main === module) { + const emitter = new EventEmitter(); const shutdownManager = new ShutdownManager(false); - start(shutdownManager); + const testnetRelayerConfig: RelayerConfig = { + shutdownManager, + emitter, + chainId: Number(process.env.VEAOUTBOX_CHAIN_ID), + network: "testnet", + }; + + start(testnetRelayerConfig); } diff --git a/relayer-cli/src/utils/botEvents.ts b/relayer-cli/src/utils/botEvents.ts new file mode 100644 index 00000000..566509e7 --- /dev/null +++ b/relayer-cli/src/utils/botEvents.ts @@ -0,0 +1,15 @@ +export enum BotEvents { + // Bridger state + STARTED = "started", + WAITING = "waiting", + EXIT = "exit", + + // Bot health + EXCEPTION = "exception", + PROMISE_REJECTION = "promise_rejection", + + // Lock file + LOCK_CLAIMED = "lock_claimed", + LOCK_DIRECTORY = "lock_directory", + LOCK_RELEASED = "lock_released", +} diff --git a/relayer-cli/src/utils/logger.ts b/relayer-cli/src/utils/logger.ts new file mode 100644 index 00000000..aa860940 --- /dev/null +++ b/relayer-cli/src/utils/logger.ts @@ -0,0 +1,49 @@ +import { EventEmitter } from "node:events"; +import { BotEvents } from "./botEvents"; + +/** + * Listens to relevant events of an EventEmitter instance and issues log lines + * + * @param emitter - The event emitter instance that issues the relevant events + * + * @example + * + * const emitter = new EventEmitter(); + * initialize(emitter); + */ + +export const initialize = (emitter: EventEmitter) => { + return configurableInitialize(emitter); +}; + +export const configurableInitialize = (emitter: EventEmitter) => { + // Relayer state logs + emitter.on(BotEvents.STARTED, (chainId, network) => { + console.log(`Relayer started for ${chainId} on ${network}`); + }); + emitter.on(BotEvents.WAITING, (delayAmount) => { + console.log(`Waiting for next epoch: ${delayAmount} ms`); + }); + emitter.on(BotEvents.EXIT, () => { + console.log("Exiting"); + }); + + // Bot health logs + emitter.on(BotEvents.EXCEPTION, (err) => { + console.error("Uncaught Exception occurred", err); + }); + emitter.on(BotEvents.PROMISE_REJECTION, (reason, promise) => { + console.error("Unhandled promise rejection:", reason, "at", promise); + }); + + // Lock file logs + emitter.on(BotEvents.LOCK_CLAIMED, () => { + console.log("Lock claimed"); + }); + emitter.on(BotEvents.LOCK_DIRECTORY, (pwd) => { + console.log(`Lock file directory: ${pwd}`); + }); + emitter.on(BotEvents.LOCK_RELEASED, () => { + console.log("Lock released"); + }); +}; diff --git a/relayer-cli/src/utils/relay.test.ts b/relayer-cli/src/utils/relay.test.ts index 0ae6d551..51b7b906 100644 --- a/relayer-cli/src/utils/relay.test.ts +++ b/relayer-cli/src/utils/relay.test.ts @@ -1,4 +1,3 @@ -import { abi } from "web3/lib/commonjs/eth.exports"; import { relayBatch } from "./relay"; describe("relay", () => { diff --git a/relayer-cli/src/utils/relay.ts b/relayer-cli/src/utils/relay.ts index 0fb96e12..d4eabd82 100644 --- a/relayer-cli/src/utils/relay.ts +++ b/relayer-cli/src/utils/relay.ts @@ -11,6 +11,7 @@ import { getBridgeConfig, getInboxSubgraph } from "../consts/bridgeRoutes"; * Get the count of the veaOutbox * @param veaOutbox The veaOutbox contract instance * @param chainId The chain id of the veaOutbox chain + * @returns The count of the veaOutbox */ const getCount = async (veaOutbox: VeaOutboxArbToEth | VeaOutboxArbToGnosis, chainId: number): Promise => { const subgraph = getInboxSubgraph(chainId); @@ -34,6 +35,7 @@ const getCount = async (veaOutbox: VeaOutboxArbToEth | VeaOutboxArbToGnosis, cha * Relay a message from the veaOutbox * @param chainId The chain id of the veaOutbox chain * @param nonce The nonce of the message + * @returns The transaction receipt */ const relay = async (chainId: number, nonce: number) => { const routeParams = getBridgeConfig(chainId); @@ -68,6 +70,8 @@ interface RelayBatchDeps { * @param chainId The chain id of the veaOutbox chain * @param nonce The nonce of the message * @param maxBatchSize The maximum number of messages to relay in a single batch + * + * @returns The nonce of the last message relayed */ const relayBatch = async ({ chainId, @@ -130,6 +134,7 @@ const relayBatch = async ({ * @param chainId The chain id of the veaOutbox chain * @param nonce The nonce of the first message to relay * @param msgSender The address of the sender + * @returns The nonce of the last message relayed */ const relayAllFrom = async (chainId: number, nonce: number, msgSender: string): Promise => { const routeParams = getBridgeConfig(chainId); @@ -175,6 +180,7 @@ const relayAllFrom = async (chainId: number, nonce: number, msgSender: string): * @param chainId The chain id of the veaOutbox chain * @param nonce The nonce of the first message to relay * @param msgSender The address of the sender + * @returns The nonces of the messages sent by the sender */ const getNonceFrom = async (chainId: number, nonce: number, msgSender: string) => { const subgraph = getInboxSubgraph(chainId); diff --git a/relayer-cli/src/utils/relayerHelpers.test.ts b/relayer-cli/src/utils/relayerHelpers.test.ts index 9a5671a7..c21c5301 100644 --- a/relayer-cli/src/utils/relayerHelpers.test.ts +++ b/relayer-cli/src/utils/relayerHelpers.test.ts @@ -1,6 +1,8 @@ +import EventEmitter from "events"; import { initialize, updateStateFile } from "./relayerHelpers"; describe("relayerHelpers", () => { + const emitter = new EventEmitter(); const chainId = 1; const network = "testing"; const claimLock = jest.fn(); @@ -21,15 +23,29 @@ describe("relayerHelpers", () => { it("should claimLock and create a state file if it doesn't exist", async () => { fileSystem.existsSync.mockReturnValue(false); fileSystem.readFileSync.mockReturnValue('{"nonce":0}'); - const nonce = await initialize(chainId, network, claimLock, mockUpdateStateFile, fileSystem as any); + const nonce = await initialize( + chainId, + network, + emitter as any, + claimLock, + mockUpdateStateFile, + fileSystem as any + ); expect(claimLock).toHaveBeenCalledWith(network, chainId); - expect(mockUpdateStateFile).toHaveBeenCalledWith(chainId, expect.any(Number), 0, network); + expect(mockUpdateStateFile).toHaveBeenCalledWith(chainId, expect.any(Number), 0, network, emitter); expect(nonce).toBe(0); }); it("should claimLock and return nonce from existing state file", async () => { fileSystem.existsSync.mockReturnValue(true); fileSystem.readFileSync.mockReturnValue('{"nonce":10}'); - const nonce = await initialize(chainId, network, claimLock, mockUpdateStateFile, fileSystem as any); + const nonce = await initialize( + chainId, + network, + emitter as any, + claimLock, + mockUpdateStateFile, + fileSystem as any + ); expect(claimLock).toHaveBeenCalledWith(network, chainId); expect(mockUpdateStateFile).not.toHaveBeenCalled(); expect(nonce).toBe(10); @@ -40,7 +56,7 @@ describe("relayerHelpers", () => { it("should write a state file with the provided nonce", async () => { const createdTimestamp = 123456; const fileDirectory = "./state/testing_1.json"; - await updateStateFile(chainId, createdTimestamp, 10, network, fileSystem as any, releaseLock); + await updateStateFile(chainId, createdTimestamp, 10, network, emitter as any, fileSystem as any, releaseLock); expect(fileSystem.writeFileSync).toHaveBeenCalledWith( fileDirectory, JSON.stringify({ ts: createdTimestamp, nonce: 10 }), diff --git a/relayer-cli/src/utils/relayerHelpers.ts b/relayer-cli/src/utils/relayerHelpers.ts index f0d5f53c..2cfd71e4 100644 --- a/relayer-cli/src/utils/relayerHelpers.ts +++ b/relayer-cli/src/utils/relayerHelpers.ts @@ -1,26 +1,36 @@ import * as fs from "fs"; +import { EventEmitter } from "events"; import { claimLock, releaseLock } from "./lock"; import ShutdownManager from "./shutdownManager"; +import { BotEvents } from "./botEvents"; +/** + * Initialize the relayer by claiming the lock and reading the nonce from the state file. + * If the state file does not exist, it will be created with the current timestamp and nonce 0. + * + * @param chainId Chain ID of the relayer + * @param network Network name of the relayer (e.g. "testnet") + */ async function initialize( chainId: number, network: string, + emitter: EventEmitter, setLock: typeof claimLock = claimLock, syncStateFile: typeof updateStateFile = updateStateFile, fileSystem: typeof fs = fs ): Promise { setLock(network, chainId); - console.log("lock claimed"); + emitter.emit(BotEvents.LOCK_CLAIMED); // STATE_DIR is absolute path of the directory where the state files are stored // STATE_DIR must have trailing slash const state_file = process.env.STATE_DIR + network + "_" + chainId + ".json"; if (!fileSystem.existsSync(state_file)) { // No state file so initialize starting now const tsnow = Math.floor(Date.now() / 1000); - await syncStateFile(chainId, tsnow, 0, network); + await syncStateFile(chainId, tsnow, 0, network, emitter); } // print pwd for debugging - console.log(process.cwd()); + emitter.emit(BotEvents.LOCK_DIRECTORY, process.cwd()); const chain_state_raw = fileSystem.readFileSync(state_file, { encoding: "utf8" }); const chain_state = JSON.parse(chain_state_raw); @@ -37,6 +47,7 @@ async function updateStateFile( createdTimestamp: number, nonceFrom: number, network: string, + emitter: EventEmitter, fileSystem: typeof fs = fs, removeLock: typeof releaseLock = releaseLock ) { @@ -48,11 +59,17 @@ async function updateStateFile( fileSystem.writeFileSync(chain_state_file, JSON.stringify(json), { encoding: "utf8" }); removeLock(network, chainId); + emitter.emit(BotEvents.LOCK_RELEASED); } -async function setupExitHandlers(chainId: number, shutdownManager: ShutdownManager, network: string) { +async function setupExitHandlers( + chainId: number, + shutdownManager: ShutdownManager, + network: string, + emitter: EventEmitter +) { const cleanup = async () => { - console.log("exit"); + emitter.emit(BotEvents.EXIT); const lockFileName = "./state/" + network + "_" + chainId + ".pid"; if (fs.existsSync(lockFileName)) { await fs.promises.unlink(lockFileName); @@ -75,12 +92,12 @@ async function setupExitHandlers(chainId: number, shutdownManager: ShutdownManag }); process.on("uncaughtException", async (err) => { - console.error("Uncaught exception:", err); + emitter.emit(BotEvents.EXCEPTION, err); await handleExit(1); }); process.on("unhandledRejection", async (reason, promise) => { - console.error("Unhandled promise rejection:", reason, "at", promise); + emitter.emit(BotEvents.PROMISE_REJECTION, reason, promise); await handleExit(1); }); } diff --git a/relayer-cli/state/testnet_11155111.json b/relayer-cli/state/testnet_11155111.json new file mode 100644 index 00000000..120b3930 --- /dev/null +++ b/relayer-cli/state/testnet_11155111.json @@ -0,0 +1,4 @@ +{ + "ts": 1736856288, + "nonce": 10 +} From b9c20633f35beb80472b1b4cc47a790b3f3a47c9 Mon Sep 17 00:00:00 2001 From: Mani Brar Date: Wed, 15 Jan 2025 12:26:12 +0530 Subject: [PATCH 04/10] feat: static msg execution before batching --- relayer-cli/src/utils/relay.test.ts | 48 ++++++++++++++++++++++++++++- relayer-cli/src/utils/relay.ts | 6 ++++ 2 files changed, 53 insertions(+), 1 deletion(-) diff --git a/relayer-cli/src/utils/relay.test.ts b/relayer-cli/src/utils/relay.test.ts index 51b7b906..9b45012f 100644 --- a/relayer-cli/src/utils/relay.test.ts +++ b/relayer-cli/src/utils/relay.test.ts @@ -32,7 +32,9 @@ describe("relay", () => { eth: { Contract: jest.fn().mockReturnValue({ methods: { - sendMessage: jest.fn(), + sendMessage: jest.fn().mockReturnValue({ + call: jest.fn(), + }), }, options: { address: veaOutboxAddress, @@ -181,5 +183,49 @@ describe("relay", () => { expect(mockBatchedSend).toHaveBeenCalledWith(batchCall); expect(updatedNonce).toBe(3); }); + it("should not relay messages that fail to execute", async () => { + fetchCount.mockReturnValue(3); + web3.mockReturnValue({ + eth: { + Contract: jest.fn().mockReturnValue({ + methods: { + sendMessage: jest.fn().mockReturnValue({ + call: jest.fn().mockResolvedValueOnce(Promise.reject("Error")).mockResolvedValueOnce(Promise.resolve()), + }), + }, + options: { + address: veaOutboxAddress, + }, + }), + }, + }); + const updatedNonce = await relayBatch({ + chainId, + nonce, + maxBatchSize, + fetchBridgeConfig, + fetchCount, + setBatchedSend, + fetchVeaOutbox, + fetchProofAtCount, + fetchMessageDataToRelay, + web3, + }); + expect(mockBatchedSend).toHaveBeenCalledTimes(1); + const batchCall = [ + { + args: [[], 1, "to", "data"], + method: expect.any(Function), + to: veaOutboxAddress, + }, + { + args: [[], 2, "to", "data"], + method: expect.any(Function), + to: veaOutboxAddress, + }, + ]; + expect(mockBatchedSend).toHaveBeenCalledWith(batchCall); + expect(updatedNonce).toBe(3); + }); }); }); diff --git a/relayer-cli/src/utils/relay.ts b/relayer-cli/src/utils/relay.ts index d4eabd82..e8a05782 100644 --- a/relayer-cli/src/utils/relay.ts +++ b/relayer-cli/src/utils/relay.ts @@ -114,6 +114,12 @@ const relayBatch = async ({ fetchProofAtCount(chainId, nonce, count), fetchMessageDataToRelay(chainId, nonce), ]); + try { + await veaOutboxInstance.methods.sendMessage(proof, nonce, to, data).call(); + } catch { + nonce++; + continue; + } txns.push({ args: [proof, nonce, to, data], method: veaOutboxInstance.methods.sendMessage, From 9a19159c0d230668799aeadfa507d9532add7ebf Mon Sep 17 00:00:00 2001 From: Mani Brar Date: Wed, 15 Jan 2025 12:27:22 +0530 Subject: [PATCH 05/10] feat(devnet): logger --- relayer-cli/src/devnetRelayExample.ts | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/relayer-cli/src/devnetRelayExample.ts b/relayer-cli/src/devnetRelayExample.ts index 555cc126..2ee043aa 100644 --- a/relayer-cli/src/devnetRelayExample.ts +++ b/relayer-cli/src/devnetRelayExample.ts @@ -1,26 +1,29 @@ +import { EventEmitter } from "events"; import { relayAllFrom } from "./utils/relay"; import { initialize, ShutdownManager, updateStateFile, setupExitHandlers, delay } from "./utils/relayerHelpers"; +import { BotEvents } from "utils/botEvents"; -export async function start(shutdownManager: ShutdownManager = new ShutdownManager()) { +export async function start(shutdownManager: ShutdownManager = new ShutdownManager(), emitter: EventEmitter) { const chainId = parseInt(process.env.VEAOUTBOX_CHAIN_ID); const epochPeriod = 1800; // 30 min const network = "devnet"; - await setupExitHandlers(chainId, shutdownManager, network); + await setupExitHandlers(chainId, shutdownManager, network, emitter); while (!shutdownManager.getIsShuttingDown()) { - let nonce = await initialize(chainId, network); + let nonce = await initialize(chainId, network, emitter); // This is libghtbulb switch address in arbitrum sepolia const sender = process.env.DEVNET_SENDER; nonce = await relayAllFrom(chainId, nonce, sender); - if (nonce != null) await updateStateFile(chainId, Math.floor(Date.now() / 1000), nonce, network); + if (nonce != null) await updateStateFile(chainId, Math.floor(Date.now() / 1000), nonce, network, emitter); const currentTS = Math.floor(Date.now() / 1000); const delayAmount = (epochPeriod - (currentTS % epochPeriod)) * 1000 + 100 * 1000; - console.log("waiting for the next epoch. . .", Math.floor(delayAmount / 1000), "seconds"); + emitter.emit(BotEvents.WAITING, delayAmount); await delay(delayAmount); } } if (require.main === module) { + const emitter = new EventEmitter(); const shutdownManager = new ShutdownManager(false); - start(shutdownManager); + start(shutdownManager, emitter); } From b6c735a02a9c23366b591c04705321e772ed6047 Mon Sep 17 00:00:00 2001 From: Mani Brar Date: Wed, 15 Jan 2025 12:27:58 +0530 Subject: [PATCH 06/10] fix: web3 dep --- relayer-cli/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/relayer-cli/package.json b/relayer-cli/package.json index 39f1c2a0..19db6e6a 100644 --- a/relayer-cli/package.json +++ b/relayer-cli/package.json @@ -20,7 +20,7 @@ "dotenv": "^16.4.5", "pm2": "^5.2.2", "typescript": "^4.9.5", - "web3": "^4.16.0", + "web3": "^1.10.4", "web3-batched-send": "^1.0.3" }, "devDependencies": { From 47900e95abbeb28eff4fe4e1dd7215e138dfd279 Mon Sep 17 00:00:00 2001 From: Mani Brar Date: Wed, 15 Jan 2025 13:12:10 +0530 Subject: [PATCH 07/10] fix: chain state file dir --- relayer-cli/src/utils/relayerHelpers.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/relayer-cli/src/utils/relayerHelpers.ts b/relayer-cli/src/utils/relayerHelpers.ts index 2cfd71e4..28a887ef 100644 --- a/relayer-cli/src/utils/relayerHelpers.ts +++ b/relayer-cli/src/utils/relayerHelpers.ts @@ -51,7 +51,7 @@ async function updateStateFile( fileSystem: typeof fs = fs, removeLock: typeof releaseLock = releaseLock ) { - const chain_state_file = "./state/" + network + "_" + chainId + ".json"; + const chain_state_file = process.env.STATE_DIR + network + "_" + chainId + ".json"; const json = { ts: createdTimestamp, nonce: nonceFrom, @@ -70,7 +70,7 @@ async function setupExitHandlers( ) { const cleanup = async () => { emitter.emit(BotEvents.EXIT); - const lockFileName = "./state/" + network + "_" + chainId + ".pid"; + const lockFileName = process.env.STATE_DIR + network + "_" + chainId + ".pid"; if (fs.existsSync(lockFileName)) { await fs.promises.unlink(lockFileName); } From 4da75bff91c174834bc5433e1a851c70e0f00ad7 Mon Sep 17 00:00:00 2001 From: Mani Brar Date: Mon, 27 Jan 2025 17:50:10 +0530 Subject: [PATCH 08/10] fix: jsdoc comments --- relayer-cli/src/testnetRelayer.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/relayer-cli/src/testnetRelayer.ts b/relayer-cli/src/testnetRelayer.ts index 6708894e..81ff016a 100644 --- a/relayer-cli/src/testnetRelayer.ts +++ b/relayer-cli/src/testnetRelayer.ts @@ -21,10 +21,10 @@ interface RelayerConfig { /** * Start the relayer - * @param chainId The chain id of the relayer - * @param network The network of the relayer - * @param shutdownManager The shutdown manager - * @param emitter The event emitter + * @param config.chainId The chain id of the veaOutbox chain + * @param config.network The network of the veaOutbox chain + * @param config.shutdownManager The shutdown manager + * @param config.emitter The event emitter */ export async function start({ chainId, network, shutdownManager, emitter }: RelayerConfig) { initializeEmitter(emitter); From 160930069ef5f812b1d3a5f9327165276d7d4e92 Mon Sep 17 00:00:00 2001 From: Mani Brar Date: Mon, 27 Jan 2025 17:50:45 +0530 Subject: [PATCH 09/10] fix: state file dir --- relayer-cli/src/utils/relayerHelpers.test.ts | 2 +- relayer-cli/src/utils/relayerHelpers.ts | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/relayer-cli/src/utils/relayerHelpers.test.ts b/relayer-cli/src/utils/relayerHelpers.test.ts index c21c5301..f788077e 100644 --- a/relayer-cli/src/utils/relayerHelpers.test.ts +++ b/relayer-cli/src/utils/relayerHelpers.test.ts @@ -55,7 +55,7 @@ describe("relayerHelpers", () => { describe("updateStateFile", () => { it("should write a state file with the provided nonce", async () => { const createdTimestamp = 123456; - const fileDirectory = "./state/testing_1.json"; + const fileDirectory = process.env.STATE_DIR + network + "_" + chainId + ".json"; await updateStateFile(chainId, createdTimestamp, 10, network, emitter as any, fileSystem as any, releaseLock); expect(fileSystem.writeFileSync).toHaveBeenCalledWith( fileDirectory, diff --git a/relayer-cli/src/utils/relayerHelpers.ts b/relayer-cli/src/utils/relayerHelpers.ts index 28a887ef..9007165b 100644 --- a/relayer-cli/src/utils/relayerHelpers.ts +++ b/relayer-cli/src/utils/relayerHelpers.ts @@ -3,6 +3,7 @@ import { EventEmitter } from "events"; import { claimLock, releaseLock } from "./lock"; import ShutdownManager from "./shutdownManager"; import { BotEvents } from "./botEvents"; +require("dotenv").config(); /** * Initialize the relayer by claiming the lock and reading the nonce from the state file. @@ -51,6 +52,7 @@ async function updateStateFile( fileSystem: typeof fs = fs, removeLock: typeof releaseLock = releaseLock ) { + console.log(process.env.STATE_DIR); const chain_state_file = process.env.STATE_DIR + network + "_" + chainId + ".json"; const json = { ts: createdTimestamp, From 8488602e574fdc85ab417601b6efe75641888b48 Mon Sep 17 00:00:00 2001 From: jaybuidl Date: Fri, 28 Feb 2025 14:58:20 +0000 Subject: [PATCH 10/10] chore: lock file --- yarn.lock | 2052 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 1996 insertions(+), 56 deletions(-) diff --git a/yarn.lock b/yarn.lock index 231bfe42..24c672ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1175,6 +1175,16 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/common@npm:2.6.5, @ethereumjs/common@npm:^2.6.4": + version: 2.6.5 + resolution: "@ethereumjs/common@npm:2.6.5" + dependencies: + crc-32: "npm:^1.2.0" + ethereumjs-util: "npm:^7.1.5" + checksum: 10/e931e16cafc908b086492ca5fcbb1820fff3edfb83cfd4ae48002517b3be0d1f7622c750874b3b347c122d06372e133ddae44ac129b5ba141f68808a79430135 + languageName: node + linkType: hard + "@ethereumjs/rlp@npm:^4.0.1": version: 4.0.1 resolution: "@ethereumjs/rlp@npm:4.0.1" @@ -1193,6 +1203,16 @@ __metadata: languageName: node linkType: hard +"@ethereumjs/tx@npm:3.5.2": + version: 3.5.2 + resolution: "@ethereumjs/tx@npm:3.5.2" + dependencies: + "@ethereumjs/common": "npm:^2.6.4" + ethereumjs-util: "npm:^7.1.5" + checksum: 10/891e12738206229ac428685536844f7765e8547ae794462b1e406399445bf1f6f918af6ebc33ee5fa4a1340f14f48871a579f11c0e1d7c142ba0dd525bae5df5 + languageName: node + linkType: hard + "@ethereumjs/util@npm:^8.1.0": version: 8.1.0 resolution: "@ethereumjs/util@npm:8.1.0" @@ -1238,6 +1258,23 @@ __metadata: languageName: node linkType: hard +"@ethersproject/abi@npm:^5.6.3": + version: 5.8.0 + resolution: "@ethersproject/abi@npm:5.8.0" + dependencies: + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/hash": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10/a63ebc2c8ea795ceca5289abaf817bb402c83c330cffd0ae2d355be70c54050a21ddd408abd4fd0dce4c3fd5c5f091707be2095011c233022a52f2110e7012d6 + languageName: node + linkType: hard + "@ethersproject/abstract-provider@npm:5.7.0, @ethersproject/abstract-provider@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/abstract-provider@npm:5.7.0" @@ -1253,6 +1290,21 @@ __metadata: languageName: node linkType: hard +"@ethersproject/abstract-provider@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/abstract-provider@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/networks": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/transactions": "npm:^5.8.0" + "@ethersproject/web": "npm:^5.8.0" + checksum: 10/2066aa717c7ecf0b6defe47f4f0af21943ee76e47f6fdc461d89b15d8af76c37d25355b4f5d635ed30e7378eafb0599b283df8ef9133cef389d938946874200d + languageName: node + linkType: hard + "@ethersproject/abstract-signer@npm:5.7.0, @ethersproject/abstract-signer@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/abstract-signer@npm:5.7.0" @@ -1266,6 +1318,19 @@ __metadata: languageName: node linkType: hard +"@ethersproject/abstract-signer@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/abstract-signer@npm:5.8.0" + dependencies: + "@ethersproject/abstract-provider": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + checksum: 10/10986eb1520dd94efb34bc19de4f53a49bea023493a0df686711872eb2cb446f3cca3c98c1ecec7831497004822e16ead756d6c7d6977971eaa780f4d41db327 + languageName: node + linkType: hard + "@ethersproject/address@npm:5.7.0, @ethersproject/address@npm:^5.0.4, @ethersproject/address@npm:^5.0.8, @ethersproject/address@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/address@npm:5.7.0" @@ -1279,6 +1344,19 @@ __metadata: languageName: node linkType: hard +"@ethersproject/address@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/address@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/rlp": "npm:^5.8.0" + checksum: 10/4b8ef5b3001f065fae571d86f113395d0dd081a2f411c99e354da912d4138e14a1fbe206265725daeb55c4e735ddb761891b58779208c5e2acec03f3219ce6ef + languageName: node + linkType: hard + "@ethersproject/base64@npm:5.7.0, @ethersproject/base64@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/base64@npm:5.7.0" @@ -1288,6 +1366,15 @@ __metadata: languageName: node linkType: hard +"@ethersproject/base64@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/base64@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + checksum: 10/c83e4ee01a1e69d874277d05c0e3fbc2afcdb9c80507be6963d31c77e505e355191cbba2d8fecf1c922b68c1ff072ede7914981fd965f1d8771c5b0706beb911 + languageName: node + linkType: hard + "@ethersproject/basex@npm:5.7.0, @ethersproject/basex@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/basex@npm:5.7.0" @@ -1309,6 +1396,17 @@ __metadata: languageName: node linkType: hard +"@ethersproject/bignumber@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/bignumber@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + bn.js: "npm:^5.2.1" + checksum: 10/15538ba9eef8475bc14a2a2bb5f0d7ae8775cf690283cb4c7edc836761a4310f83d67afe33f6d0b8befd896b10f878d8ca79b89de6e6ebd41a9e68375ec77123 + languageName: node + linkType: hard + "@ethersproject/bytes@npm:5.7.0, @ethersproject/bytes@npm:^5.0.4, @ethersproject/bytes@npm:^5.0.8, @ethersproject/bytes@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/bytes@npm:5.7.0" @@ -1318,6 +1416,15 @@ __metadata: languageName: node linkType: hard +"@ethersproject/bytes@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/bytes@npm:5.8.0" + dependencies: + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10/b8956aa4f607d326107cec522a881effed62585d5b5c5ad66ada4f7f83b42fd6c6acb76f355ec7a57e4cadea62a0194e923f4b5142d50129fe03d2fe7fc664f8 + languageName: node + linkType: hard + "@ethersproject/constants@npm:5.7.0, @ethersproject/constants@npm:^5.0.4, @ethersproject/constants@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/constants@npm:5.7.0" @@ -1327,6 +1434,15 @@ __metadata: languageName: node linkType: hard +"@ethersproject/constants@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/constants@npm:5.8.0" + dependencies: + "@ethersproject/bignumber": "npm:^5.8.0" + checksum: 10/74830c44f4315a1058b905c73be7a9bb92850e45213cb28a957447b8a100f22a514f4500b0ea5ac7a995427cecef9918af39ae4e0e0ecf77aa4835b1ea5c3432 + languageName: node + linkType: hard + "@ethersproject/contracts@npm:5.7.0, @ethersproject/contracts@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/contracts@npm:5.7.0" @@ -1362,6 +1478,23 @@ __metadata: languageName: node linkType: hard +"@ethersproject/hash@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/hash@npm:5.8.0" + dependencies: + "@ethersproject/abstract-signer": "npm:^5.8.0" + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/base64": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10/a355cc1120b51c5912d960c66e2d1e2fb9cceca7d02e48c3812abd32ac2480035d8345885f129d2ed1cde9fb044adad1f98e4ea39652fa96c5de9c2720e83d28 + languageName: node + linkType: hard + "@ethersproject/hdnode@npm:5.7.0, @ethersproject/hdnode@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/hdnode@npm:5.7.0" @@ -1413,6 +1546,16 @@ __metadata: languageName: node linkType: hard +"@ethersproject/keccak256@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/keccak256@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + js-sha3: "npm:0.8.0" + checksum: 10/af3621d2b18af6c8f5181dacad91e1f6da4e8a6065668b20e4c24684bdb130b31e45e0d4dbaed86d4f1314d01358aa119f05be541b696e455424c47849d81913 + languageName: node + linkType: hard + "@ethersproject/logger@npm:5.7.0, @ethersproject/logger@npm:^5.0.5, @ethersproject/logger@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/logger@npm:5.7.0" @@ -1420,6 +1563,13 @@ __metadata: languageName: node linkType: hard +"@ethersproject/logger@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/logger@npm:5.8.0" + checksum: 10/dab862d6cc3a4312f4c49d62b4a603f4b60707da8b8ff0fee6bdfee3cbed48b34ec8f23fedfef04dd3d24f2fa2d7ad2be753c775aa00fe24dcd400631d65004a + languageName: node + linkType: hard + "@ethersproject/networks@npm:5.7.1, @ethersproject/networks@npm:^5.7.0": version: 5.7.1 resolution: "@ethersproject/networks@npm:5.7.1" @@ -1429,6 +1579,15 @@ __metadata: languageName: node linkType: hard +"@ethersproject/networks@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/networks@npm:5.8.0" + dependencies: + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10/8e2f4c3fd3a701ebd3d767a5f3217f8ced45a9f8ebf830c73b2dd87107dd50777f4869c3c9cc946698e2c597d3fe53eadeec55d19af7769c7d6bdb4a1493fb6f + languageName: node + linkType: hard + "@ethersproject/pbkdf2@npm:5.7.0, @ethersproject/pbkdf2@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/pbkdf2@npm:5.7.0" @@ -1448,6 +1607,15 @@ __metadata: languageName: node linkType: hard +"@ethersproject/properties@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/properties@npm:5.8.0" + dependencies: + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10/3bc1af678c1cf7c87f39aec24b1d86cfaa5da1f9f54e426558701fff1c088c1dcc9ec3e1f395e138bdfcda94a0161e7192f0596e11c8ff25d31735e6b33edc59 + languageName: node + linkType: hard + "@ethersproject/providers@npm:5.7.2, @ethersproject/providers@npm:^5.7.2": version: 5.7.2 resolution: "@ethersproject/providers@npm:5.7.2" @@ -1496,6 +1664,16 @@ __metadata: languageName: node linkType: hard +"@ethersproject/rlp@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/rlp@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10/353f04618f44c822d20da607b055286b3374fc6ab9fc50b416140f21e410f6d6e89ff9d951bef667b8baf1314e2d5f0b47c5615c3f994a2c8b2d6c01c6329bb4 + languageName: node + linkType: hard + "@ethersproject/sha2@npm:5.7.0, @ethersproject/sha2@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/sha2@npm:5.7.0" @@ -1521,6 +1699,20 @@ __metadata: languageName: node linkType: hard +"@ethersproject/signing-key@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/signing-key@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + bn.js: "npm:^5.2.1" + elliptic: "npm:6.6.1" + hash.js: "npm:1.1.7" + checksum: 10/07e5893bf9841e1d608c52b58aa240ed10c7aa01613ff45b15c312c1403887baa8ed543871721052d7b7dd75d80b1fa90945377b231d18ccb6986c6677c8315d + languageName: node + linkType: hard + "@ethersproject/solidity@npm:5.7.0, @ethersproject/solidity@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/solidity@npm:5.7.0" @@ -1546,6 +1738,17 @@ __metadata: languageName: node linkType: hard +"@ethersproject/strings@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/strings@npm:5.8.0" + dependencies: + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + checksum: 10/536264dad4b9ad42d8287be7b7a9f3e243d0172fafa459e22af2d416eb6fe6a46ff623ca5456457f841dec4b080939da03ed02ab9774dcd1f2391df9ef5a96bb + languageName: node + linkType: hard + "@ethersproject/transactions@npm:5.7.0, @ethersproject/transactions@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/transactions@npm:5.7.0" @@ -1563,6 +1766,23 @@ __metadata: languageName: node linkType: hard +"@ethersproject/transactions@npm:^5.6.2, @ethersproject/transactions@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/transactions@npm:5.8.0" + dependencies: + "@ethersproject/address": "npm:^5.8.0" + "@ethersproject/bignumber": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/constants": "npm:^5.8.0" + "@ethersproject/keccak256": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/rlp": "npm:^5.8.0" + "@ethersproject/signing-key": "npm:^5.8.0" + checksum: 10/b43fd97ee359154c9162037c7aedc23abafae3cedf78d8fd2e641e820a0443120d22c473ec9bb79e8301f179f61a6120d61b0b757560e3aad8ae2110127018ba + languageName: node + linkType: hard + "@ethersproject/units@npm:5.7.0, @ethersproject/units@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/units@npm:5.7.0" @@ -1610,6 +1830,19 @@ __metadata: languageName: node linkType: hard +"@ethersproject/web@npm:^5.8.0": + version: 5.8.0 + resolution: "@ethersproject/web@npm:5.8.0" + dependencies: + "@ethersproject/base64": "npm:^5.8.0" + "@ethersproject/bytes": "npm:^5.8.0" + "@ethersproject/logger": "npm:^5.8.0" + "@ethersproject/properties": "npm:^5.8.0" + "@ethersproject/strings": "npm:^5.8.0" + checksum: 10/93aad7041ffae7a4f881cc8df3356a297d736b50e6e48952b3b76e547b83e4d9189bbf2f417543031e91e74568c54395d1bb43c3252c3adf4f7e1c0187012912 + languageName: node + linkType: hard + "@ethersproject/wordlists@npm:5.7.0, @ethersproject/wordlists@npm:^5.7.0": version: 5.7.0 resolution: "@ethersproject/wordlists@npm:5.7.0" @@ -3416,7 +3649,7 @@ __metadata: ts-jest: "npm:^29.2.5" ts-node: "npm:^10.9.2" typescript: "npm:^4.9.5" - web3: "npm:^4.16.0" + web3: "npm:^1.10.4" web3-batched-send: "npm:^1.0.3" languageName: unknown linkType: soft @@ -5494,6 +5727,13 @@ __metadata: languageName: node linkType: hard +"@sindresorhus/is@npm:^4.0.0, @sindresorhus/is@npm:^4.6.0": + version: 4.6.0 + resolution: "@sindresorhus/is@npm:4.6.0" + checksum: 10/e7f36ed72abfcd5e0355f7423a72918b9748bb1ef370a59f3e5ad8d40b728b85d63b272f65f63eec1faf417cda89dcb0aeebe94015647b6054659c1442fe5ce0 + languageName: node + linkType: hard + "@sindresorhus/is@npm:^5.2.0": version: 5.6.0 resolution: "@sindresorhus/is@npm:5.6.0" @@ -5819,6 +6059,15 @@ __metadata: languageName: node linkType: hard +"@szmarczak/http-timer@npm:^4.0.5": + version: 4.0.6 + resolution: "@szmarczak/http-timer@npm:4.0.6" + dependencies: + defer-to-connect: "npm:^2.0.0" + checksum: 10/c29df3bcec6fc3bdec2b17981d89d9c9fc9bd7d0c9bcfe92821dc533f4440bc890ccde79971838b4ceed1921d456973c4180d7175ee1d0023ad0562240a58d95 + languageName: node + linkType: hard + "@szmarczak/http-timer@npm:^5.0.1": version: 5.0.1 resolution: "@szmarczak/http-timer@npm:5.0.1" @@ -5957,7 +6206,7 @@ __metadata: languageName: node linkType: hard -"@types/bn.js@npm:^5.1.0": +"@types/bn.js@npm:^5.1.0, @types/bn.js@npm:^5.1.1": version: 5.1.6 resolution: "@types/bn.js@npm:5.1.6" dependencies: @@ -5966,6 +6215,18 @@ __metadata: languageName: node linkType: hard +"@types/cacheable-request@npm:^6.0.1, @types/cacheable-request@npm:^6.0.2": + version: 6.0.3 + resolution: "@types/cacheable-request@npm:6.0.3" + dependencies: + "@types/http-cache-semantics": "npm:*" + "@types/keyv": "npm:^3.1.4" + "@types/node": "npm:*" + "@types/responselike": "npm:^1.0.0" + checksum: 10/159f9fdb2a1b7175eef453ae2ced5ea04c0d2b9610cc9ccd9f9abb066d36dacb1f37acd879ace10ad7cbb649490723feb396fb7307004c9670be29636304b988 + languageName: node + linkType: hard + "@types/chai-as-promised@npm:^7.1.3": version: 7.1.8 resolution: "@types/chai-as-promised@npm:7.1.8" @@ -6063,7 +6324,7 @@ __metadata: languageName: node linkType: hard -"@types/http-cache-semantics@npm:^4.0.2": +"@types/http-cache-semantics@npm:*, @types/http-cache-semantics@npm:^4.0.2": version: 4.0.4 resolution: "@types/http-cache-semantics@npm:4.0.4" checksum: 10/a59566cff646025a5de396d6b3f44a39ab6a74f2ed8150692e0f31cc52f3661a68b04afe3166ebe0d566bd3259cb18522f46e949576d5204781cd6452b7fe0c5 @@ -6140,6 +6401,15 @@ __metadata: languageName: node linkType: hard +"@types/keyv@npm:^3.1.4": + version: 3.1.4 + resolution: "@types/keyv@npm:3.1.4" + dependencies: + "@types/node": "npm:*" + checksum: 10/e009a2bfb50e90ca9b7c6e8f648f8464067271fd99116f881073fa6fa76dc8d0133181dd65e6614d5fb1220d671d67b0124aef7d97dc02d7e342ab143a47779d + languageName: node + linkType: hard + "@types/long@npm:^4.0.1": version: 4.0.2 resolution: "@types/long@npm:4.0.2" @@ -6214,7 +6484,7 @@ __metadata: languageName: node linkType: hard -"@types/node@npm:^12.12.54": +"@types/node@npm:^12.12.54, @types/node@npm:^12.12.6": version: 12.20.55 resolution: "@types/node@npm:12.20.55" checksum: 10/1f916a06fff02faadb09a16ed6e31820ce170798b202ef0b14fc244bfbd721938c54a3a99836e185e4414ca461fe96c5bb5c67c3d248f153555b7e6347f061dd @@ -6307,6 +6577,15 @@ __metadata: languageName: node linkType: hard +"@types/responselike@npm:^1.0.0": + version: 1.0.3 + resolution: "@types/responselike@npm:1.0.3" + dependencies: + "@types/node": "npm:*" + checksum: 10/6ac4b35723429b11b117e813c7acc42c3af8b5554caaf1fc750404c1ae59f9b7376bc69b9e9e194a5a97357a597c2228b7173d317320f0360d617b6425212f58 + languageName: node + linkType: hard + "@types/secp256k1@npm:^4.0.1": version: 4.0.6 resolution: "@types/secp256k1@npm:4.0.6" @@ -6693,6 +6972,23 @@ __metadata: languageName: node linkType: hard +"abortcontroller-polyfill@npm:^1.7.5": + version: 1.7.8 + resolution: "abortcontroller-polyfill@npm:1.7.8" + checksum: 10/8f3e35bd571fb636abf140660372b3e6e98c5b2ac6b881c5fcabd62b022a70cfb65edcc8102001770b83773d044c250d4ad2b914d70eb06ecfcf96a5c353ddb5 + languageName: node + linkType: hard + +"accepts@npm:~1.3.8": + version: 1.3.8 + resolution: "accepts@npm:1.3.8" + dependencies: + mime-types: "npm:~2.1.34" + negotiator: "npm:0.6.3" + checksum: 10/67eaaa90e2917c58418e7a9b89392002d2b1ccd69bcca4799135d0c632f3b082f23f4ae4ddeedbced5aa59bcc7bdf4699c69ebed4593696c922462b7bc5744d6 + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.2": version: 5.3.2 resolution: "acorn-jsx@npm:5.3.2" @@ -6788,7 +7084,7 @@ __metadata: languageName: node linkType: hard -"ajv@npm:^6.12.4, ajv@npm:^6.12.6": +"ajv@npm:^6.12.3, ajv@npm:^6.12.4, ajv@npm:^6.12.6": version: 6.12.6 resolution: "ajv@npm:6.12.6" dependencies: @@ -7035,6 +7331,13 @@ __metadata: languageName: node linkType: hard +"array-flatten@npm:1.1.1": + version: 1.1.1 + resolution: "array-flatten@npm:1.1.1" + checksum: 10/e13c9d247241be82f8b4ec71d035ed7204baa82fae820d4db6948d30d3c4a9f2b3905eb2eec2b937d4aa3565200bd3a1c500480114cff649fa748747d2a50feb + languageName: node + linkType: hard + "array-ify@npm:^1.0.0": version: 1.0.0 resolution: "array-ify@npm:1.0.0" @@ -7158,6 +7461,15 @@ __metadata: languageName: node linkType: hard +"asn1@npm:~0.2.3": + version: 0.2.6 + resolution: "asn1@npm:0.2.6" + dependencies: + safer-buffer: "npm:~2.1.0" + checksum: 10/cf629291fee6c1a6f530549939433ebf32200d7849f38b810ff26ee74235e845c0c12b2ed0f1607ac17383d19b219b69cefa009b920dab57924c5c544e495078 + languageName: node + linkType: hard + "asn1js@npm:^3.0.5": version: 3.0.5 resolution: "asn1js@npm:3.0.5" @@ -7196,6 +7508,13 @@ __metadata: languageName: node linkType: hard +"assert-plus@npm:1.0.0, assert-plus@npm:^1.0.0": + version: 1.0.0 + resolution: "assert-plus@npm:1.0.0" + checksum: 10/f4f991ae2df849cc678b1afba52d512a7cbf0d09613ba111e72255409ff9158550c775162a47b12d015d1b82b3c273e8e25df0e4783d3ddb008a293486d00a07 + languageName: node + linkType: hard + "assertion-error@npm:^1.1.0": version: 1.1.0 resolution: "assertion-error@npm:1.1.0" @@ -7226,6 +7545,13 @@ __metadata: languageName: node linkType: hard +"async-limiter@npm:~1.0.0": + version: 1.0.1 + resolution: "async-limiter@npm:1.0.1" + checksum: 10/2b849695b465d93ad44c116220dee29a5aeb63adac16c1088983c339b0de57d76e82533e8e364a93a9f997f28bbfc6a92948cefc120652bd07f3b59f8d75cf2b + languageName: node + linkType: hard + "async-mutex@npm:^0.4.0": version: 0.4.1 resolution: "async-mutex@npm:0.4.1" @@ -7288,6 +7614,20 @@ __metadata: languageName: node linkType: hard +"aws-sign2@npm:~0.7.0": + version: 0.7.0 + resolution: "aws-sign2@npm:0.7.0" + checksum: 10/2ac497d739f71be3264cf096a33ab256a1fea7fe80b87dc51ec29374505bd5a661279ef1c22989d68528ea61ed634021ca63b31cf1d3c2a3682ffc106f7d0e96 + languageName: node + linkType: hard + +"aws4@npm:^1.8.0": + version: 1.13.2 + resolution: "aws4@npm:1.13.2" + checksum: 10/290b9f84facbad013747725bfd8b4c42d0b3b04b5620d8418f0219832ef95a7dc597a4af7b1589ae7fce18bacde96f40911c3cda36199dd04d9f8e01f72fa50a + languageName: node + linkType: hard + "axios@npm:^0.21.1, axios@npm:^0.21.4": version: 0.21.4 resolution: "axios@npm:0.21.4" @@ -7492,6 +7832,15 @@ __metadata: languageName: node linkType: hard +"bcrypt-pbkdf@npm:^1.0.0": + version: 1.0.2 + resolution: "bcrypt-pbkdf@npm:1.0.2" + dependencies: + tweetnacl: "npm:^0.14.3" + checksum: 10/13a4cde058250dbf1fa77a4f1b9a07d32ae2e3b9e28e88a0c7a1827835bc3482f3e478c4a0cfd4da6ff0c46dae07da1061123a995372b32cc563d9975f975404 + languageName: node + linkType: hard + "bech32@npm:1.1.4": version: 1.1.4 resolution: "bech32@npm:1.1.4" @@ -7499,6 +7848,13 @@ __metadata: languageName: node linkType: hard +"bignumber.js@npm:^9.0.0": + version: 9.1.2 + resolution: "bignumber.js@npm:9.1.2" + checksum: 10/d89b8800a987225d2c00dcbf8a69dc08e92aa0880157c851c287b307d31ceb2fc2acb0c62c3e3a3d42b6c5fcae9b004035f13eb4386e56d529d7edac18d5c9d8 + languageName: node + linkType: hard + "binary-extensions@npm:^2.0.0": version: 2.3.0 resolution: "binary-extensions@npm:2.3.0" @@ -7581,6 +7937,13 @@ __metadata: languageName: node linkType: hard +"bluebird@npm:^3.5.0": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 10/007c7bad22c5d799c8dd49c85b47d012a1fe3045be57447721e6afbd1d5be43237af1db62e26cb9b0d9ba812d2e4ca3bac82f6d7e016b6b88de06ee25ceb96e7 + languageName: node + linkType: hard + "bn.js@npm:4.11.6": version: 4.11.6 resolution: "bn.js@npm:4.11.6" @@ -7588,7 +7951,7 @@ __metadata: languageName: node linkType: hard -"bn.js@npm:^4.11.0, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9": +"bn.js@npm:^4.11.0, bn.js@npm:^4.11.6, bn.js@npm:^4.11.8, bn.js@npm:^4.11.9": version: 4.12.1 resolution: "bn.js@npm:4.12.1" checksum: 10/07f22df8880b423c4890648e95791319898b96712b6ebc5d6b1082b34074f09dedb8601e717d67f905ce29bb1a5313f9a2b1a2015a679e42c9eed94392c0d379 @@ -7609,6 +7972,26 @@ __metadata: languageName: node linkType: hard +"body-parser@npm:1.20.3, body-parser@npm:^1.16.0": + version: 1.20.3 + resolution: "body-parser@npm:1.20.3" + dependencies: + bytes: "npm:3.1.2" + content-type: "npm:~1.0.5" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + http-errors: "npm:2.0.0" + iconv-lite: "npm:0.4.24" + on-finished: "npm:2.4.1" + qs: "npm:6.13.0" + raw-body: "npm:2.5.2" + type-is: "npm:~1.6.18" + unpipe: "npm:1.0.0" + checksum: 10/8723e3d7a672eb50854327453bed85ac48d045f4958e81e7d470c56bf111f835b97e5b73ae9f6393d0011cc9e252771f46fd281bbabc57d33d3986edf1e6aeca + languageName: node + linkType: hard + "boxen@npm:^5.1.2": version: 5.1.2 resolution: "boxen@npm:5.1.2" @@ -7794,6 +8177,13 @@ __metadata: languageName: node linkType: hard +"buffer-to-arraybuffer@npm:^0.0.5": + version: 0.0.5 + resolution: "buffer-to-arraybuffer@npm:0.0.5" + checksum: 10/df16190b3bf0ecdf70e761514ecc8dbb9b8310e7c2882c800dc6d2d06859b9c85baa67f4cad53aaf9f0cbdd936f4b1c09f549eed8ae33c1c1258d7b6b1648cde + languageName: node + linkType: hard + "buffer-xor@npm:^1.0.3": version: 1.0.3 resolution: "buffer-xor@npm:1.0.3" @@ -7801,7 +8191,7 @@ __metadata: languageName: node linkType: hard -"buffer@npm:^5.5.0": +"buffer@npm:^5.0.5, buffer@npm:^5.5.0, buffer@npm:^5.6.0": version: 5.7.1 resolution: "buffer@npm:5.7.1" dependencies: @@ -7821,6 +8211,16 @@ __metadata: languageName: node linkType: hard +"bufferutil@npm:^4.0.1": + version: 4.0.9 + resolution: "bufferutil@npm:4.0.9" + dependencies: + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.3.0" + checksum: 10/335bb716d4b3bf0cee9b65d309cc40c7f858b32c6a685088a54c45bdd6e229a7a1b8a1dde464d758d913d3dcc064beb46c58cfb1093b98618aa3d78dbea753d6 + languageName: node + linkType: hard + "busboy@npm:^1.6.0": version: 1.6.0 resolution: "busboy@npm:1.6.0" @@ -7857,6 +8257,20 @@ __metadata: languageName: node linkType: hard +"cacheable-lookup@npm:^5.0.3": + version: 5.0.4 + resolution: "cacheable-lookup@npm:5.0.4" + checksum: 10/618a8b3eea314060e74cb3285a6154e8343c244a34235acf91cfe626ee0705c24e3cd11e4b1a7b3900bd749ee203ae65afe13adf610c8ab173e99d4a208faf75 + languageName: node + linkType: hard + +"cacheable-lookup@npm:^6.0.4": + version: 6.1.0 + resolution: "cacheable-lookup@npm:6.1.0" + checksum: 10/9b37d31fba27ff244254294814dfdad69e3d257cb283932f58823141de5043a46d35339fa81ec40fdbb5d76d1578324258995f41a4fd37ed05d4e9b54823802e + languageName: node + linkType: hard + "cacheable-lookup@npm:^7.0.0": version: 7.0.0 resolution: "cacheable-lookup@npm:7.0.0" @@ -7879,6 +8293,21 @@ __metadata: languageName: node linkType: hard +"cacheable-request@npm:^7.0.2": + version: 7.0.4 + resolution: "cacheable-request@npm:7.0.4" + dependencies: + clone-response: "npm:^1.0.2" + get-stream: "npm:^5.1.0" + http-cache-semantics: "npm:^4.0.0" + keyv: "npm:^4.0.0" + lowercase-keys: "npm:^2.0.0" + normalize-url: "npm:^6.0.1" + responselike: "npm:^2.0.0" + checksum: 10/0f4f2001260ecca78b9f64fc8245e6b5a5dcde24ea53006daab71f5e0e1338095aa1512ec099c4f9895a9e5acfac9da423cb7c079e131485891e9214aca46c41 + languageName: node + linkType: hard + "call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1": version: 1.0.1 resolution: "call-bind-apply-helpers@npm:1.0.1" @@ -8233,7 +8662,7 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^1.0.1": +"chownr@npm:^1.0.1, chownr@npm:^1.1.4": version: 1.1.4 resolution: "chownr@npm:1.1.4" checksum: 10/115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d @@ -8275,6 +8704,19 @@ __metadata: languageName: node linkType: hard +"cids@npm:^0.7.1": + version: 0.7.5 + resolution: "cids@npm:0.7.5" + dependencies: + buffer: "npm:^5.5.0" + class-is: "npm:^1.1.0" + multibase: "npm:~0.6.0" + multicodec: "npm:^1.0.0" + multihashes: "npm:~0.4.15" + checksum: 10/b916b0787e238dd9f84fb5e155333cadf07fd7ad34ea8dbd47f98bb618eecc9c70760767c0966d0eae73050c4fa6080fdc387e515565b009d2126253c7775fac + languageName: node + linkType: hard + "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": version: 1.0.6 resolution: "cipher-base@npm:1.0.6" @@ -8292,6 +8734,13 @@ __metadata: languageName: node linkType: hard +"class-is@npm:^1.1.0": + version: 1.1.0 + resolution: "class-is@npm:1.1.0" + checksum: 10/8147a3e4ce86eb103d78621d665b87e8e33fcb3f54932fdca894b8222820903b43b2f6b4335d8822104702a5dc904c8f187127fdea4e7d48d905488b35c9e6a7 + languageName: node + linkType: hard + "classnames@npm:2.x, classnames@npm:^2.2.1, classnames@npm:^2.2.5, classnames@npm:^2.2.6, classnames@npm:^2.3.1": version: 2.5.1 resolution: "classnames@npm:2.5.1" @@ -8466,6 +8915,15 @@ __metadata: languageName: node linkType: hard +"clone-response@npm:^1.0.2": + version: 1.0.3 + resolution: "clone-response@npm:1.0.3" + dependencies: + mimic-response: "npm:^1.0.0" + checksum: 10/4e671cac39b11c60aa8ba0a450657194a5d6504df51bca3fac5b3bd0145c4f8e8464898f87c8406b83232e3bc5cca555f51c1f9c8ac023969ebfbf7f6bdabb2e + languageName: node + linkType: hard + "clone@npm:^1.0.2": version: 1.0.4 resolution: "clone@npm:1.0.4" @@ -8540,7 +8998,7 @@ __metadata: languageName: node linkType: hard -"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8": +"combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" dependencies: @@ -8711,6 +9169,33 @@ __metadata: languageName: node linkType: hard +"content-disposition@npm:0.5.4": + version: 0.5.4 + resolution: "content-disposition@npm:0.5.4" + dependencies: + safe-buffer: "npm:5.2.1" + checksum: 10/b7f4ce176e324f19324be69b05bf6f6e411160ac94bc523b782248129eb1ef3be006f6cff431aaea5e337fe5d176ce8830b8c2a1b721626ead8933f0cbe78720 + languageName: node + linkType: hard + +"content-hash@npm:^2.5.2": + version: 2.5.2 + resolution: "content-hash@npm:2.5.2" + dependencies: + cids: "npm:^0.7.1" + multicodec: "npm:^0.5.5" + multihashes: "npm:^0.4.15" + checksum: 10/7c5d05052aecead40a1bbdd251468a6cc9bf4c48b361b4f138d60e6d876dc3028da6142031578ddc42e44e0024f91cc01b7a539bdb0bf7187e36bec15052e02d + languageName: node + linkType: hard + +"content-type@npm:~1.0.4, content-type@npm:~1.0.5": + version: 1.0.5 + resolution: "content-type@npm:1.0.5" + checksum: 10/585847d98dc7fb8035c02ae2cb76c7a9bd7b25f84c447e5ed55c45c2175e83617c8813871b4ee22f368126af6b2b167df655829007b21aa10302873ea9c62662 + languageName: node + linkType: hard + "conventional-changelog-angular@npm:^5.0.12": version: 5.0.13 resolution: "conventional-changelog-angular@npm:5.0.13" @@ -8943,6 +9428,20 @@ __metadata: languageName: node linkType: hard +"cookie-signature@npm:1.0.6": + version: 1.0.6 + resolution: "cookie-signature@npm:1.0.6" + checksum: 10/f4e1b0a98a27a0e6e66fd7ea4e4e9d8e038f624058371bf4499cfcd8f3980be9a121486995202ba3fca74fbed93a407d6d54d43a43f96fd28d0bd7a06761591a + languageName: node + linkType: hard + +"cookie@npm:0.7.1": + version: 0.7.1 + resolution: "cookie@npm:0.7.1" + checksum: 10/aec6a6aa0781761bf55d60447d6be08861d381136a0fe94aa084fddd4f0300faa2b064df490c6798adfa1ebaef9e0af9b08a189c823e0811b8b313b3d9a03380 + languageName: node + linkType: hard + "cookie@npm:^0.4.1": version: 0.4.2 resolution: "cookie@npm:0.4.2" @@ -8966,6 +9465,13 @@ __metadata: languageName: node linkType: hard +"core-util-is@npm:1.0.2": + version: 1.0.2 + resolution: "core-util-is@npm:1.0.2" + checksum: 10/d0f7587346b44a1fe6c269267e037dd34b4787191e473c3e685f507229d88561c40eb18872fabfff02977301815d474300b7bfbd15396c13c5377393f7e87ec3 + languageName: node + linkType: hard + "core-util-is@npm:~1.0.0": version: 1.0.3 resolution: "core-util-is@npm:1.0.3" @@ -8973,6 +9479,16 @@ __metadata: languageName: node linkType: hard +"cors@npm:^2.8.1": + version: 2.8.5 + resolution: "cors@npm:2.8.5" + dependencies: + object-assign: "npm:^4" + vary: "npm:^1" + checksum: 10/66e88e08edee7cbce9d92b4d28a2028c88772a4c73e02f143ed8ca76789f9b59444eed6b1c167139e76fa662998c151322720093ba229f9941365ada5a6fc2c6 + languageName: node + linkType: hard + "cosmiconfig-typescript-loader@npm:^4.0.0": version: 4.4.0 resolution: "cosmiconfig-typescript-loader@npm:4.4.0" @@ -9057,7 +9573,7 @@ __metadata: languageName: node linkType: hard -"crc-32@npm:^1.2.2": +"crc-32@npm:^1.2.0, crc-32@npm:^1.2.2": version: 1.2.2 resolution: "crc-32@npm:1.2.2" bin: @@ -9238,6 +9754,16 @@ __metadata: languageName: node linkType: hard +"d@npm:1, d@npm:^1.0.1, d@npm:^1.0.2": + version: 1.0.2 + resolution: "d@npm:1.0.2" + dependencies: + es5-ext: "npm:^0.10.64" + type: "npm:^2.7.2" + checksum: 10/a3f45ef964622f683f6a1cb9b8dcbd75ce490cd2f4ac9794099db3d8f0e2814d412d84cd3fe522e58feb1f273117bb480f29c5381f6225f0abca82517caaa77a + languageName: node + linkType: hard + "dargs@npm:^7.0.0": version: 7.0.0 resolution: "dargs@npm:7.0.0" @@ -9245,6 +9771,15 @@ __metadata: languageName: node linkType: hard +"dashdash@npm:^1.12.0": + version: 1.14.1 + resolution: "dashdash@npm:1.14.1" + dependencies: + assert-plus: "npm:^1.0.0" + checksum: 10/137b287fa021201ce100cef772c8eeeaaafdd2aa7282864022acf3b873021e54cb809e9c060fa164840bf54ff72d00d6e2d8da1ee5a86d7200eeefa1123a8f7f + languageName: node + linkType: hard + "data-uri-to-buffer@npm:^6.0.2": version: 6.0.2 resolution: "data-uri-to-buffer@npm:6.0.2" @@ -9350,6 +9885,15 @@ __metadata: languageName: node linkType: hard +"debug@npm:2.6.9, debug@npm:^2.2.0": + version: 2.6.9 + resolution: "debug@npm:2.6.9" + dependencies: + ms: "npm:2.0.0" + checksum: 10/e07005f2b40e04f1bd14a3dd20520e9c4f25f60224cb006ce9d6781732c917964e9ec029fc7f1a151083cd929025ad5133814d4dc624a9aaf020effe4914ed14 + languageName: node + linkType: hard + "debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.5": version: 4.4.0 resolution: "debug@npm:4.4.0" @@ -9419,6 +9963,22 @@ __metadata: languageName: node linkType: hard +"decode-uri-component@npm:^0.2.0": + version: 0.2.2 + resolution: "decode-uri-component@npm:0.2.2" + checksum: 10/17a0e5fa400bf9ea84432226e252aa7b5e72793e16bf80b907c99b46a799aeacc139ec20ea57121e50c7bd875a1a4365928f884e92abf02e21a5a13790a0f33e + languageName: node + linkType: hard + +"decompress-response@npm:^3.3.0": + version: 3.3.0 + resolution: "decompress-response@npm:3.3.0" + dependencies: + mimic-response: "npm:^1.0.0" + checksum: 10/952552ac3bd7de2fc18015086b09468645c9638d98a551305e485230ada278c039c91116e946d07894b39ee53c0f0d5b6473f25a224029344354513b412d7380 + languageName: node + linkType: hard + "decompress-response@npm:^6.0.0": version: 6.0.0 resolution: "decompress-response@npm:6.0.0" @@ -9479,7 +10039,7 @@ __metadata: languageName: node linkType: hard -"defer-to-connect@npm:^2.0.1": +"defer-to-connect@npm:^2.0.0, defer-to-connect@npm:^2.0.1": version: 2.0.1 resolution: "defer-to-connect@npm:2.0.1" checksum: 10/8a9b50d2f25446c0bfefb55a48e90afd58f85b21bcf78e9207cd7b804354f6409032a1705c2491686e202e64fc05f147aa5aa45f9aa82627563f045937f5791b @@ -9554,6 +10114,13 @@ __metadata: languageName: node linkType: hard +"destroy@npm:1.2.0": + version: 1.2.0 + resolution: "destroy@npm:1.2.0" + checksum: 10/0acb300b7478a08b92d810ab229d5afe0d2f4399272045ab22affa0d99dbaf12637659411530a6fcd597a9bdac718fc94373a61a95b4651bbc7b83684a565e38 + languageName: node + linkType: hard + "detect-indent@npm:^6.0.0": version: 6.1.0 resolution: "detect-indent@npm:6.1.0" @@ -9723,6 +10290,13 @@ __metadata: languageName: node linkType: hard +"dom-walk@npm:^0.1.0": + version: 0.1.2 + resolution: "dom-walk@npm:0.1.2" + checksum: 10/19eb0ce9c6de39d5e231530685248545d9cd2bd97b2cb3486e0bfc0f2a393a9addddfd5557463a932b52fdfcf68ad2a619020cd2c74a5fe46fbecaa8e80872f3 + languageName: node + linkType: hard + "domelementtype@npm:^2.0.1, domelementtype@npm:^2.2.0, domelementtype@npm:^2.3.0": version: 2.3.0 resolution: "domelementtype@npm:2.3.0" @@ -9839,6 +10413,23 @@ __metadata: languageName: node linkType: hard +"ecc-jsbn@npm:~0.1.1": + version: 0.1.2 + resolution: "ecc-jsbn@npm:0.1.2" + dependencies: + jsbn: "npm:~0.1.0" + safer-buffer: "npm:^2.1.0" + checksum: 10/d43591f2396196266e186e6d6928038cc11c76c3699a912cb9c13757060f7bbc7f17f47c4cb16168cdeacffc7965aef021142577e646fb3cb88810c15173eb57 + languageName: node + linkType: hard + +"ee-first@npm:1.1.1": + version: 1.1.1 + resolution: "ee-first@npm:1.1.1" + checksum: 10/1b4cac778d64ce3b582a7e26b218afe07e207a0f9bfe13cc7395a6d307849cfe361e65033c3251e00c27dd060cab43014c2d6b2647676135e18b77d2d05b3f4f + languageName: node + linkType: hard + "ejs@npm:3.1.10, ejs@npm:^3.1.10, ejs@npm:^3.1.8": version: 3.1.10 resolution: "ejs@npm:3.1.10" @@ -9881,7 +10472,7 @@ __metadata: languageName: node linkType: hard -"elliptic@npm:^6.5.2, elliptic@npm:^6.5.7": +"elliptic@npm:6.6.1, elliptic@npm:^6.4.0, elliptic@npm:^6.5.2, elliptic@npm:^6.5.7": version: 6.6.1 resolution: "elliptic@npm:6.6.1" dependencies: @@ -9924,6 +10515,20 @@ __metadata: languageName: node linkType: hard +"encodeurl@npm:~1.0.2": + version: 1.0.2 + resolution: "encodeurl@npm:1.0.2" + checksum: 10/e50e3d508cdd9c4565ba72d2012e65038e5d71bdc9198cb125beb6237b5b1ade6c0d343998da9e170fb2eae52c1bed37d4d6d98a46ea423a0cddbed5ac3f780c + languageName: node + linkType: hard + +"encodeurl@npm:~2.0.0": + version: 2.0.0 + resolution: "encodeurl@npm:2.0.0" + checksum: 10/abf5cd51b78082cf8af7be6785813c33b6df2068ce5191a40ca8b1afe6a86f9230af9a9ce694a5ce4665955e5c1120871826df9c128a642e09c58d592e2807fe + languageName: node + linkType: hard + "encoding@npm:^0.1.13": version: 0.1.13 resolution: "encoding@npm:0.1.13" @@ -10152,7 +10757,30 @@ __metadata: languageName: node linkType: hard -"es6-promise@npm:^4.0.3": +"es5-ext@npm:^0.10.35, es5-ext@npm:^0.10.62, es5-ext@npm:^0.10.63, es5-ext@npm:^0.10.64, es5-ext@npm:~0.10.14": + version: 0.10.64 + resolution: "es5-ext@npm:0.10.64" + dependencies: + es6-iterator: "npm:^2.0.3" + es6-symbol: "npm:^3.1.3" + esniff: "npm:^2.0.1" + next-tick: "npm:^1.1.0" + checksum: 10/0c5d8657708b1695ddc4b06f4e0b9fbdda4d2fe46d037b6bedb49a7d1931e542ec9eecf4824d59e1d357e93229deab014bb4b86485db2d41b1d68e54439689ce + languageName: node + linkType: hard + +"es6-iterator@npm:^2.0.3": + version: 2.0.3 + resolution: "es6-iterator@npm:2.0.3" + dependencies: + d: "npm:1" + es5-ext: "npm:^0.10.35" + es6-symbol: "npm:^3.1.1" + checksum: 10/dbadecf3d0e467692815c2b438dfa99e5a97cbbecf4a58720adcb467a04220e0e36282399ba297911fd472c50ae4158fffba7ed0b7d4273fe322b69d03f9e3a5 + languageName: node + linkType: hard + +"es6-promise@npm:^4.0.3, es6-promise@npm:^4.2.8": version: 4.2.8 resolution: "es6-promise@npm:4.2.8" checksum: 10/b250c55523c496c43c9216c2646e58ec182b819e036fe5eb8d83fa16f044ecc6b8dcefc88ace2097be3d3c4d02b6aa8eeae1a66deeaf13e7bee905ebabb350a3 @@ -10168,6 +10796,16 @@ __metadata: languageName: node linkType: hard +"es6-symbol@npm:^3.1.1, es6-symbol@npm:^3.1.3": + version: 3.1.4 + resolution: "es6-symbol@npm:3.1.4" + dependencies: + d: "npm:^1.0.2" + ext: "npm:^1.7.0" + checksum: 10/3743119fe61f89e2f049a6ce52bd82fab5f65d13e2faa72453b73f95c15292c3cb9bdf3747940d504517e675e45fd375554c6b5d35d2bcbefd35f5489ecba546 + languageName: node + linkType: hard + "escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" @@ -10182,6 +10820,13 @@ __metadata: languageName: node linkType: hard +"escape-html@npm:~1.0.3": + version: 1.0.3 + resolution: "escape-html@npm:1.0.3" + checksum: 10/6213ca9ae00d0ab8bccb6d8d4e0a98e76237b2410302cf7df70aaa6591d509a2a37ce8998008cbecae8fc8ffaadf3fb0229535e6a145f3ce0b211d060decbb24 + languageName: node + linkType: hard + "escape-string-regexp@npm:4.0.0, escape-string-regexp@npm:^4.0.0": version: 4.0.0 resolution: "escape-string-regexp@npm:4.0.0" @@ -10531,6 +11176,18 @@ __metadata: languageName: node linkType: hard +"esniff@npm:^2.0.1": + version: 2.0.1 + resolution: "esniff@npm:2.0.1" + dependencies: + d: "npm:^1.0.1" + es5-ext: "npm:^0.10.62" + event-emitter: "npm:^0.3.5" + type: "npm:^2.7.2" + checksum: 10/f6a2abd2f8c5fe57c5fcf53e5407c278023313d0f6c3a92688e7122ab9ac233029fd424508a196ae5bc561aa1f67d23f4e2435b1a0d378030f476596129056ac + languageName: node + linkType: hard + "espree@npm:^9.6.0, espree@npm:^9.6.1": version: 9.6.1 resolution: "espree@npm:9.6.1" @@ -10608,6 +11265,48 @@ __metadata: languageName: node linkType: hard +"etag@npm:~1.8.1": + version: 1.8.1 + resolution: "etag@npm:1.8.1" + checksum: 10/571aeb3dbe0f2bbd4e4fadbdb44f325fc75335cd5f6f6b6a091e6a06a9f25ed5392f0863c5442acb0646787446e816f13cbfc6edce5b07658541dff573cab1ff + languageName: node + linkType: hard + +"eth-ens-namehash@npm:2.0.8": + version: 2.0.8 + resolution: "eth-ens-namehash@npm:2.0.8" + dependencies: + idna-uts46-hx: "npm:^2.3.1" + js-sha3: "npm:^0.5.7" + checksum: 10/098c04378b0b998191b4bcd2f1a59be976946bbb80cea7bc2a6d1df3a035e061b2fd120b16bf41558c4beb2dd846433742058b091b20195e4b0e1fc64b67979f + languageName: node + linkType: hard + +"eth-lib@npm:0.2.8": + version: 0.2.8 + resolution: "eth-lib@npm:0.2.8" + dependencies: + bn.js: "npm:^4.11.6" + elliptic: "npm:^6.4.0" + xhr-request-promise: "npm:^0.1.2" + checksum: 10/85a6f1673c7106252864fdf6c86973d6bfdf454b238ee8d07d8f642599fa9f390129b6fbd060742a5be7c197be924951535a0c0ebb3e912cfd9f2130b64f74ce + languageName: node + linkType: hard + +"eth-lib@npm:^0.1.26": + version: 0.1.29 + resolution: "eth-lib@npm:0.1.29" + dependencies: + bn.js: "npm:^4.11.6" + elliptic: "npm:^6.4.0" + nano-json-stream-parser: "npm:^0.1.2" + servify: "npm:^0.1.12" + ws: "npm:^3.0.0" + xhr-request-promise: "npm:^0.1.2" + checksum: 10/ee4fcd8400fad0b637c25bd0a4483a54c986b78ac6c4d7fd2a5df12b41468abfa50a66684e315e16894b870d2fcf5d2273a81f429f89c460b275bf4477365f60 + languageName: node + linkType: hard + "ethereum-bloom-filters@npm:^1.0.6": version: 1.2.0 resolution: "ethereum-bloom-filters@npm:1.2.0" @@ -10775,6 +11474,16 @@ __metadata: languageName: node linkType: hard +"event-emitter@npm:^0.3.5": + version: 0.3.5 + resolution: "event-emitter@npm:0.3.5" + dependencies: + d: "npm:1" + es5-ext: "npm:~0.10.14" + checksum: 10/a7f5ea80029193f4869782d34ef7eb43baa49cd397013add1953491b24588468efbe7e3cc9eb87d53f33397e7aab690fd74c079ec440bf8b12856f6bdb6e9396 + languageName: node + linkType: hard + "event-target-shim@npm:^5.0.0": version: 5.0.1 resolution: "event-target-shim@npm:5.0.1" @@ -10803,6 +11512,13 @@ __metadata: languageName: node linkType: hard +"eventemitter3@npm:4.0.4": + version: 4.0.4 + resolution: "eventemitter3@npm:4.0.4" + checksum: 10/6a85beb36d7ff2363de71aa19a17c24ecde7a92f706347891befc5901793e41ac847ce9c04c96dc0f5095384890cc737e64f21ed334e75c523d2352056fc6a9e + languageName: node + linkType: hard + "eventemitter3@npm:5.0.1, eventemitter3@npm:^5.0.1": version: 5.0.1 resolution: "eventemitter3@npm:5.0.1" @@ -10882,6 +11598,61 @@ __metadata: languageName: node linkType: hard +"express@npm:^4.14.0": + version: 4.21.2 + resolution: "express@npm:4.21.2" + dependencies: + accepts: "npm:~1.3.8" + array-flatten: "npm:1.1.1" + body-parser: "npm:1.20.3" + content-disposition: "npm:0.5.4" + content-type: "npm:~1.0.4" + cookie: "npm:0.7.1" + cookie-signature: "npm:1.0.6" + debug: "npm:2.6.9" + depd: "npm:2.0.0" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + finalhandler: "npm:1.3.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + merge-descriptors: "npm:1.0.3" + methods: "npm:~1.1.2" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + path-to-regexp: "npm:0.1.12" + proxy-addr: "npm:~2.0.7" + qs: "npm:6.13.0" + range-parser: "npm:~1.2.1" + safe-buffer: "npm:5.2.1" + send: "npm:0.19.0" + serve-static: "npm:1.16.2" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + type-is: "npm:~1.6.18" + utils-merge: "npm:1.0.1" + vary: "npm:~1.1.2" + checksum: 10/34571c442fc8c9f2c4b442d2faa10ea1175cf8559237fc6a278f5ce6254a8ffdbeb9a15d99f77c1a9f2926ab183e3b7ba560e3261f1ad4149799e3412ab66bd1 + languageName: node + linkType: hard + +"ext@npm:^1.7.0": + version: 1.7.0 + resolution: "ext@npm:1.7.0" + dependencies: + type: "npm:^2.7.2" + checksum: 10/666a135980b002df0e75c8ac6c389140cdc59ac953db62770479ee2856d58ce69d2f845e5f2586716350b725400f6945e51e9159573158c39f369984c72dcd84 + languageName: node + linkType: hard + +"extend@npm:~3.0.2": + version: 3.0.2 + resolution: "extend@npm:3.0.2" + checksum: 10/59e89e2dc798ec0f54b36d82f32a27d5f6472c53974f61ca098db5d4648430b725387b53449a34df38fd0392045434426b012f302b3cc049a6500ccf82877e4e + languageName: node + linkType: hard + "external-editor@npm:^3.0.3": version: 3.1.0 resolution: "external-editor@npm:3.1.0" @@ -10909,6 +11680,20 @@ __metadata: languageName: node linkType: hard +"extsprintf@npm:1.3.0": + version: 1.3.0 + resolution: "extsprintf@npm:1.3.0" + checksum: 10/26967d6c7ecbfb5bc5b7a6c43503dc5fafd9454802037e9fa1665e41f615da4ff5918bd6cb871a3beabed01a31eca1ccd0bdfb41231f50ad50d405a430f78377 + languageName: node + linkType: hard + +"extsprintf@npm:^1.2.0": + version: 1.4.1 + resolution: "extsprintf@npm:1.4.1" + checksum: 10/bfd6d55f3c0c04d826fe0213264b383c03f32825af6b1ff777f3f2dc49467e599361993568d75b7b19a8ea1bb08c8e7cd8c3d87d179ced91bb0dcf81ca6938e0 + languageName: node + linkType: hard + "eyes@npm:^0.1.8": version: 0.1.8 resolution: "eyes@npm:0.1.8" @@ -11136,6 +11921,21 @@ __metadata: languageName: node linkType: hard +"finalhandler@npm:1.3.1": + version: 1.3.1 + resolution: "finalhandler@npm:1.3.1" + dependencies: + debug: "npm:2.6.9" + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + on-finished: "npm:2.4.1" + parseurl: "npm:~1.3.3" + statuses: "npm:2.0.1" + unpipe: "npm:~1.0.0" + checksum: 10/4babe72969b7373b5842bc9f75c3a641a4d0f8eb53af6b89fa714d4460ce03fb92b28de751d12ba415e96e7e02870c436d67412120555e2b382640535697305b + languageName: node + linkType: hard + "find-replace@npm:^3.0.0": version: 3.0.0 resolution: "find-replace@npm:3.0.0" @@ -11246,6 +12046,20 @@ __metadata: languageName: node linkType: hard +"forever-agent@npm:~0.6.1": + version: 0.6.1 + resolution: "forever-agent@npm:0.6.1" + checksum: 10/c1e1644d5e074ac063ecbc3fb8582013ef91fff0e3fa41e76db23d2f62bc6d9677aac86db950917deed4fe1fdd772df780cfaa352075f23deec9c015313afb97 + languageName: node + linkType: hard + +"form-data-encoder@npm:1.7.1": + version: 1.7.1 + resolution: "form-data-encoder@npm:1.7.1" + checksum: 10/1abc9059d991b105ba4122a36f9b5c17fd0af77ce8fa59a826a5b9ce56d616807e7780963616dd7e7906ec7aa1ba28cfb7c9defd9747ad10484e039a2b946cca + languageName: node + linkType: hard + "form-data-encoder@npm:^2.1.2": version: 2.1.4 resolution: "form-data-encoder@npm:2.1.4" @@ -11276,6 +12090,24 @@ __metadata: languageName: node linkType: hard +"form-data@npm:~2.3.2": + version: 2.3.3 + resolution: "form-data@npm:2.3.3" + dependencies: + asynckit: "npm:^0.4.0" + combined-stream: "npm:^1.0.6" + mime-types: "npm:^2.1.12" + checksum: 10/1b6f3ccbf4540e535887b42218a2431a3f6cfdea320119c2affa2a7a374ad8fdd1e60166fc865181f45d49b1684c3e90e7b2190d3fe016692957afb9cf0d0d02 + languageName: node + linkType: hard + +"forwarded@npm:0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: 10/29ba9fd347117144e97cbb8852baae5e8b2acb7d1b591ef85695ed96f5b933b1804a7fac4a15dd09ca7ac7d0cdc104410e8102aae2dd3faa570a797ba07adb81 + languageName: node + linkType: hard + "fp-ts@npm:1.19.3": version: 1.19.3 resolution: "fp-ts@npm:1.19.3" @@ -11290,6 +12122,13 @@ __metadata: languageName: node linkType: hard +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10/64c88e489b5d08e2f29664eb3c79c705ff9a8eb15d3e597198ef76546d4ade295897a44abb0abd2700e7ef784b2e3cbf1161e4fbf16f59129193fd1030d16da1 + languageName: node + linkType: hard + "fs-constants@npm:^1.0.0": version: 1.0.0 resolution: "fs-constants@npm:1.0.0" @@ -11331,6 +12170,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^4.0.2": + version: 4.0.3 + resolution: "fs-extra@npm:4.0.3" + dependencies: + graceful-fs: "npm:^4.1.2" + jsonfile: "npm:^4.0.0" + universalify: "npm:^0.1.0" + checksum: 10/c1ab28ac6b19a1e37f9c0fb3a233b7333bd4d12ea2a514b5469ba956f022fa0e2aefa3b351d1117b80ed45495bb779427c8f64727c150bb1599c2ce9ab3b42ac + languageName: node + linkType: hard + "fs-extra@npm:^7.0.0, fs-extra@npm:^7.0.1": version: 7.0.1 resolution: "fs-extra@npm:7.0.1" @@ -11363,6 +12213,15 @@ __metadata: languageName: node linkType: hard +"fs-minipass@npm:^1.2.7": + version: 1.2.7 + resolution: "fs-minipass@npm:1.2.7" + dependencies: + minipass: "npm:^2.6.0" + checksum: 10/6a2d39963eaad748164530ffab49606d0f3462c7867748521af3b7039d13689be533636d50a04e8ba6bd327d4d2e899d0907f8830d1161fe2db467d59cc46dc3 + languageName: node + linkType: hard + "fs-minipass@npm:^2.0.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" @@ -11523,6 +12382,15 @@ __metadata: languageName: node linkType: hard +"get-stream@npm:^5.1.0": + version: 5.2.0 + resolution: "get-stream@npm:5.2.0" + dependencies: + pump: "npm:^3.0.0" + checksum: 10/13a73148dca795e41421013da6e3ebff8ccb7fba4d2f023fd0c6da2c166ec4e789bec9774a73a7b49c08daf2cae552f8a3e914042ac23b5f59dd278cc8f9cbfb + languageName: node + linkType: hard + "get-stream@npm:^6.0.0, get-stream@npm:^6.0.1": version: 6.0.1 resolution: "get-stream@npm:6.0.1" @@ -11552,6 +12420,15 @@ __metadata: languageName: node linkType: hard +"getpass@npm:^0.1.1": + version: 0.1.7 + resolution: "getpass@npm:0.1.7" + dependencies: + assert-plus: "npm:^1.0.0" + checksum: 10/ab18d55661db264e3eac6012c2d3daeafaab7a501c035ae0ccb193c3c23e9849c6e29b6ac762b9c2adae460266f925d55a3a2a3a3c8b94be2f222df94d70c046 + languageName: node + linkType: hard + "ghost-testrpc@npm:^0.0.2": version: 0.0.2 resolution: "ghost-testrpc@npm:0.0.2" @@ -11776,6 +12653,16 @@ __metadata: languageName: node linkType: hard +"global@npm:~4.4.0": + version: 4.4.0 + resolution: "global@npm:4.4.0" + dependencies: + min-document: "npm:^2.19.0" + process: "npm:^0.11.10" + checksum: 10/9c057557c8f5a5bcfbeb9378ba4fe2255d04679452be504608dd5f13b54edf79f7be1db1031ea06a4ec6edd3b9f5f17d2d172fb47e6c69dae57fd84b7e72b77f + languageName: node + linkType: hard + "globals@npm:^11.1.0": version: 11.12.0 resolution: "globals@npm:11.12.0" @@ -11919,6 +12806,46 @@ __metadata: languageName: node linkType: hard +"got@npm:12.1.0": + version: 12.1.0 + resolution: "got@npm:12.1.0" + dependencies: + "@sindresorhus/is": "npm:^4.6.0" + "@szmarczak/http-timer": "npm:^5.0.1" + "@types/cacheable-request": "npm:^6.0.2" + "@types/responselike": "npm:^1.0.0" + cacheable-lookup: "npm:^6.0.4" + cacheable-request: "npm:^7.0.2" + decompress-response: "npm:^6.0.0" + form-data-encoder: "npm:1.7.1" + get-stream: "npm:^6.0.1" + http2-wrapper: "npm:^2.1.10" + lowercase-keys: "npm:^3.0.0" + p-cancelable: "npm:^3.0.0" + responselike: "npm:^2.0.0" + checksum: 10/d1dab1884b14d1f59d10005ee3834faf6d9b43530c7faf603c176d35dceb2b8e0e2e01b9e0d4fc320409ac1b4d958196ff928dc6df0ddd0a3e7a254aa9edfd45 + languageName: node + linkType: hard + +"got@npm:^11.8.5": + version: 11.8.6 + resolution: "got@npm:11.8.6" + dependencies: + "@sindresorhus/is": "npm:^4.0.0" + "@szmarczak/http-timer": "npm:^4.0.5" + "@types/cacheable-request": "npm:^6.0.1" + "@types/responselike": "npm:^1.0.0" + cacheable-lookup: "npm:^5.0.3" + cacheable-request: "npm:^7.0.2" + decompress-response: "npm:^6.0.0" + http2-wrapper: "npm:^1.0.0-beta.5.2" + lowercase-keys: "npm:^2.0.0" + p-cancelable: "npm:^2.0.0" + responselike: "npm:^2.0.0" + checksum: 10/a30c74029d81bd5fe50dea1a0c970595d792c568e188ff8be254b5bc11e6158d1b014570772d4a30d0a97723e7dd34e7c8cc1a2f23018f60aece3070a7a5c2a5 + languageName: node + linkType: hard + "got@npm:^12.1.0": version: 12.6.1 resolution: "got@npm:12.6.1" @@ -12088,6 +13015,23 @@ __metadata: languageName: node linkType: hard +"har-schema@npm:^2.0.0": + version: 2.0.0 + resolution: "har-schema@npm:2.0.0" + checksum: 10/d8946348f333fb09e2bf24cc4c67eabb47c8e1d1aa1c14184c7ffec1140a49ec8aa78aa93677ae452d71d5fc0fdeec20f0c8c1237291fc2bcb3f502a5d204f9b + languageName: node + linkType: hard + +"har-validator@npm:~5.1.3": + version: 5.1.5 + resolution: "har-validator@npm:5.1.5" + dependencies: + ajv: "npm:^6.12.3" + har-schema: "npm:^2.0.0" + checksum: 10/b998a7269ca560d7f219eedc53e2c664cd87d487e428ae854a6af4573fc94f182fe9d2e3b92ab968249baec7ebaf9ead69cf975c931dc2ab282ec182ee988280 + languageName: node + linkType: hard + "hard-rejection@npm:^2.1.0": version: 2.1.0 resolution: "hard-rejection@npm:2.1.0" @@ -12532,7 +13476,7 @@ __metadata: languageName: node linkType: hard -"http-cache-semantics@npm:^4.1.1": +"http-cache-semantics@npm:^4.0.0, http-cache-semantics@npm:^4.1.1": version: 4.1.1 resolution: "http-cache-semantics@npm:4.1.1" checksum: 10/362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f @@ -12552,6 +13496,13 @@ __metadata: languageName: node linkType: hard +"http-https@npm:^1.0.0": + version: 1.0.0 + resolution: "http-https@npm:1.0.0" + checksum: 10/fd3c0802982b1e951a03206690271dacb641b39b80d1820e95095db923d8f63cc7f0df1259969400c8487787a2a46f7b33383c0427ec780a78131b153741b144 + languageName: node + linkType: hard + "http-proxy-agent@npm:^6.0.0": version: 6.1.1 resolution: "http-proxy-agent@npm:6.1.1" @@ -12581,6 +13532,27 @@ __metadata: languageName: node linkType: hard +"http-signature@npm:~1.2.0": + version: 1.2.0 + resolution: "http-signature@npm:1.2.0" + dependencies: + assert-plus: "npm:^1.0.0" + jsprim: "npm:^1.2.2" + sshpk: "npm:^1.7.0" + checksum: 10/2ff7112e6b0d8f08b382dfe705078c655501f2ddd76cf589d108445a9dd388a0a9be928c37108261519a7f53e6bbd1651048d74057b804807cce1ec49e87a95b + languageName: node + linkType: hard + +"http2-wrapper@npm:^1.0.0-beta.5.2": + version: 1.0.3 + resolution: "http2-wrapper@npm:1.0.3" + dependencies: + quick-lru: "npm:^5.1.1" + resolve-alpn: "npm:^1.0.0" + checksum: 10/8097ee2699440c2e64bda52124990cc5b0fb347401c7797b1a0c1efd5a0f79a4ebaa68e8a6ac3e2dde5f09460c1602764da6da2412bad628ed0a3b0ae35e72d4 + languageName: node + linkType: hard + "http2-wrapper@npm:^2.1.10": version: 2.2.1 resolution: "http2-wrapper@npm:2.2.1" @@ -12676,6 +13648,15 @@ __metadata: languageName: node linkType: hard +"idna-uts46-hx@npm:^2.3.1": + version: 2.3.1 + resolution: "idna-uts46-hx@npm:2.3.1" + dependencies: + punycode: "npm:2.1.0" + checksum: 10/5cb65dbc375d42ce9b38dab6e2a7f41b8c059f9a88d236bc9ca32084485f5f22fec11ea5b4e6b61239448148443c3f825fddaa5f298d22e12ecfe845de71a807 + languageName: node + linkType: hard + "ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" @@ -12909,6 +13890,13 @@ __metadata: languageName: node linkType: hard +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 10/864d0cced0c0832700e9621913a6429ccdc67f37c1bd78fb8c6789fff35c9d167cb329134acad2290497a53336813ab4798d2794fd675d5eb33b5fdf0982b9ca + languageName: node + linkType: hard + "ipfs-core-types@npm:^0.9.0": version: 0.9.0 resolution: "ipfs-core-types@npm:0.9.0" @@ -13177,6 +14165,13 @@ __metadata: languageName: node linkType: hard +"is-function@npm:^1.0.1": + version: 1.0.2 + resolution: "is-function@npm:1.0.2" + checksum: 10/7d564562e07b4b51359547d3ccc10fb93bb392fd1b8177ae2601ee4982a0ece86d952323fc172a9000743a3971f09689495ab78a1d49a9b14fc97a7e28521dc0 + languageName: node + linkType: hard + "is-generator-fn@npm:^2.0.0": version: 2.1.0 resolution: "is-generator-fn@npm:2.1.0" @@ -13407,7 +14402,7 @@ __metadata: languageName: node linkType: hard -"is-typedarray@npm:^1.0.0": +"is-typedarray@npm:^1.0.0, is-typedarray@npm:~1.0.0": version: 1.0.0 resolution: "is-typedarray@npm:1.0.0" checksum: 10/4b433bfb0f9026f079f4eb3fbaa4ed2de17c9995c3a0b5c800bec40799b4b2a8b4e051b1ada77749deb9ded4ae52fe2096973f3a93ff83df1a5a7184a669478c @@ -13557,6 +14552,13 @@ __metadata: languageName: node linkType: hard +"isstream@npm:~0.1.2": + version: 0.1.2 + resolution: "isstream@npm:0.1.2" + checksum: 10/22d9c181015226d4534a227539256897bbbcb7edd1066ca4fc4d3a06dbd976325dfdd16b3983c7d236a89f256805c1a685a772e0364e98873d3819b064ad35a1 + languageName: node + linkType: hard + "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": version: 3.2.2 resolution: "istanbul-lib-coverage@npm:3.2.2" @@ -14234,6 +15236,13 @@ __metadata: languageName: node linkType: hard +"js-sha3@npm:^0.5.7": + version: 0.5.7 + resolution: "js-sha3@npm:0.5.7" + checksum: 10/32885c7edb50fca04017bacada8e5315c072d21d3d35e071e9640fc5577e200076a4718e0b2f33d86ab704accb68d2ade44f1e2ca424cc73a5929b9129dab948 + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -14271,6 +15280,13 @@ __metadata: languageName: node linkType: hard +"jsbn@npm:~0.1.0": + version: 0.1.1 + resolution: "jsbn@npm:0.1.1" + checksum: 10/5450133242845100e694f0ef9175f44c012691a9b770b2571e677314e6f70600abb10777cdfc9a0c6a9f2ac6d134577403633de73e2fcd0f97875a67744e2d14 + languageName: node + linkType: hard + "jsesc@npm:^3.0.2": version: 3.1.0 resolution: "jsesc@npm:3.1.0" @@ -14342,7 +15358,7 @@ __metadata: languageName: node linkType: hard -"json-schema@npm:^0.4.0": +"json-schema@npm:0.4.0, json-schema@npm:^0.4.0": version: 0.4.0 resolution: "json-schema@npm:0.4.0" checksum: 10/8b3b64eff4a807dc2a3045b104ed1b9335cd8d57aa74c58718f07f0f48b8baa3293b00af4dcfbdc9144c3aafea1e97982cc27cc8e150fc5d93c540649507a458 @@ -14375,7 +15391,7 @@ __metadata: languageName: node linkType: hard -"json-stringify-safe@npm:^5.0.1": +"json-stringify-safe@npm:^5.0.1, json-stringify-safe@npm:~5.0.1": version: 5.0.1 resolution: "json-stringify-safe@npm:5.0.1" checksum: 10/59169a081e4eeb6f9559ae1f938f656191c000e0512aa6df9f3c8b2437a4ab1823819c6b9fd1818a4e39593ccfd72e9a051fdd3e2d1e340ed913679e888ded8c @@ -14458,6 +15474,18 @@ __metadata: languageName: node linkType: hard +"jsprim@npm:^1.2.2": + version: 1.4.2 + resolution: "jsprim@npm:1.4.2" + dependencies: + assert-plus: "npm:1.0.0" + extsprintf: "npm:1.3.0" + json-schema: "npm:0.4.0" + verror: "npm:1.10.0" + checksum: 10/df2bf234eab1b5078d01bcbff3553d50a243f7b5c10a169745efeda6344d62798bd1d85bcca6a8446f3b5d0495e989db45f9de8dae219f0f9796e70e0c776089 + languageName: node + linkType: hard + "jsx-ast-utils@npm:^2.4.1 || ^3.0.0": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" @@ -14482,7 +15510,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3": +"keyv@npm:^4.0.0, keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -15138,6 +16166,13 @@ __metadata: languageName: node linkType: hard +"lowercase-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "lowercase-keys@npm:2.0.0" + checksum: 10/1c233d2da35056e8c49fae8097ee061b8c799b2f02e33c2bf32f9913c7de8fb481ab04dab7df35e94156c800f5f34e99acbf32b21781d87c3aa43ef7b748b79e + languageName: node + linkType: hard + "lowercase-keys@npm:^3.0.0": version: 3.0.0 resolution: "lowercase-keys@npm:3.0.0" @@ -15299,6 +16334,13 @@ __metadata: languageName: node linkType: hard +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10/38e0984db39139604756903a01397e29e17dcb04207bb3e081412ce725ab17338ecc47220c1b186b6bbe79a658aad1b0d41142884f5a481f36290cdefbe6aa46 + languageName: node + linkType: hard + "memorystream@npm:^0.3.1": version: 0.3.1 resolution: "memorystream@npm:0.3.1" @@ -15325,6 +16367,13 @@ __metadata: languageName: node linkType: hard +"merge-descriptors@npm:1.0.3": + version: 1.0.3 + resolution: "merge-descriptors@npm:1.0.3" + checksum: 10/52117adbe0313d5defa771c9993fe081e2d2df9b840597e966aadafde04ae8d0e3da46bac7ca4efc37d4d2b839436582659cd49c6a43eacb3fe3050896a105d1 + languageName: node + linkType: hard + "merge-options@npm:^3.0.4": version: 3.0.4 resolution: "merge-options@npm:3.0.4" @@ -15367,6 +16416,13 @@ __metadata: languageName: node linkType: hard +"methods@npm:~1.1.2": + version: 1.1.2 + resolution: "methods@npm:1.1.2" + checksum: 10/a385dd974faa34b5dd021b2bbf78c722881bf6f003bfe6d391d7da3ea1ed625d1ff10ddd13c57531f628b3e785be38d3eed10ad03cebd90b76932413df9a1820 + languageName: node + linkType: hard + "micro-ftch@npm:^0.3.1": version: 0.3.1 resolution: "micro-ftch@npm:0.3.1" @@ -15401,7 +16457,7 @@ __metadata: languageName: node linkType: hard -"mime-types@npm:^2.1.12": +"mime-types@npm:^2.1.12, mime-types@npm:^2.1.16, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34": version: 2.1.35 resolution: "mime-types@npm:2.1.35" dependencies: @@ -15410,6 +16466,15 @@ __metadata: languageName: node linkType: hard +"mime@npm:1.6.0": + version: 1.6.0 + resolution: "mime@npm:1.6.0" + bin: + mime: cli.js + checksum: 10/b7d98bb1e006c0e63e2c91b590fe1163b872abf8f7ef224d53dd31499c2197278a6d3d0864c45239b1a93d22feaf6f9477e9fc847eef945838150b8c02d03170 + languageName: node + linkType: hard + "mimic-fn@npm:^2.1.0": version: 2.1.0 resolution: "mimic-fn@npm:2.1.0" @@ -15424,6 +16489,13 @@ __metadata: languageName: node linkType: hard +"mimic-response@npm:^1.0.0": + version: 1.0.1 + resolution: "mimic-response@npm:1.0.1" + checksum: 10/034c78753b0e622bc03c983663b1cdf66d03861050e0c8606563d149bc2b02d63f62ce4d32be4ab50d0553ae0ffe647fc34d1f5281184c6e1e8cf4d85e8d9823 + languageName: node + linkType: hard + "mimic-response@npm:^3.1.0": version: 3.1.0 resolution: "mimic-response@npm:3.1.0" @@ -15438,6 +16510,15 @@ __metadata: languageName: node linkType: hard +"min-document@npm:^2.19.0": + version: 2.19.0 + resolution: "min-document@npm:2.19.0" + dependencies: + dom-walk: "npm:^0.1.0" + checksum: 10/4e45a0686c81cc04509989235dc6107e2678a59bb48ce017d3c546d7d9a18d782e341103e66c78081dd04544704e2196e529905c41c2550bca069b69f95f07c8 + languageName: node + linkType: hard + "min-indent@npm:^1.0.0": version: 1.0.1 resolution: "min-indent@npm:1.0.1" @@ -15573,9 +16654,19 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^3.0.0": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" +"minipass@npm:^2.6.0, minipass@npm:^2.9.0": + version: 2.9.0 + resolution: "minipass@npm:2.9.0" + dependencies: + safe-buffer: "npm:^5.1.2" + yallist: "npm:^3.0.0" + checksum: 10/fdd1a77996c184991f8d2ce7c5b3979bec624e2a3225e2e1e140c4038fd65873d7eb90fb29779f8733735a8827b2686f283871a0c74c908f4f7694c56fa8dadf + languageName: node + linkType: hard + +"minipass@npm:^3.0.0": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" dependencies: yallist: "npm:^4.0.0" checksum: 10/a5c6ef069f70d9a524d3428af39f2b117ff8cd84172e19b754e7264a33df460873e6eb3d6e55758531580970de50ae950c496256bb4ad3691a2974cddff189f0 @@ -15603,6 +16694,15 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^1.3.3": + version: 1.3.3 + resolution: "minizlib@npm:1.3.3" + dependencies: + minipass: "npm:^2.9.0" + checksum: 10/9c2c47e5687d7f896431a9b5585988ef72f848b56c6a974c9489534e8f619388d500d986ef82e1c13aedd46f3a0e81b6a88110cb1b27de7524cc8dabe8885e17 + languageName: node + linkType: hard + "minizlib@npm:^2.1.1": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -15635,7 +16735,25 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:0.5.x, mkdirp@npm:^0.5.1": +"mkdirp-promise@npm:^5.0.1": + version: 5.0.1 + resolution: "mkdirp-promise@npm:5.0.1" + dependencies: + mkdirp: "npm:*" + checksum: 10/31ddc9478216adf6d6bee9ea7ce9ccfe90356d9fcd1dfb18128eac075390b4161356d64c3a7b0a75f9de01a90aadd990a0ec8c7434036563985c4b853a053ee2 + languageName: node + linkType: hard + +"mkdirp@npm:*, mkdirp@npm:^3.0.0, mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" + bin: + mkdirp: dist/cjs/src/bin.js + checksum: 10/16fd79c28645759505914561e249b9a1f5fe3362279ad95487a4501e4467abeb714fd35b95307326b8fd03f3c7719065ef11a6f97b7285d7888306d1bd2232ba + languageName: node + linkType: hard + +"mkdirp@npm:0.5.x, mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.5": version: 0.5.6 resolution: "mkdirp@npm:0.5.6" dependencies: @@ -15655,15 +16773,6 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^3.0.0, mkdirp@npm:^3.0.1": - version: 3.0.1 - resolution: "mkdirp@npm:3.0.1" - bin: - mkdirp: dist/cjs/src/bin.js - checksum: 10/16fd79c28645759505914561e249b9a1f5fe3362279ad95487a4501e4467abeb714fd35b95307326b8fd03f3c7719065ef11a6f97b7285d7888306d1bd2232ba - languageName: node - linkType: hard - "mnemonist@npm:^0.38.0": version: 0.38.5 resolution: "mnemonist@npm:0.38.5" @@ -15704,6 +16813,13 @@ __metadata: languageName: node linkType: hard +"mock-fs@npm:^4.1.0": + version: 4.14.0 + resolution: "mock-fs@npm:4.14.0" + checksum: 10/20facbc85bb62df02dbfc946b354fcdd8b2b2aeafef4986adab18dc9a23efccb34ce49d4dac22aaed1a24420fc50c53d77e90984cc888bcce314e18e0e21872a + languageName: node + linkType: hard + "modify-values@npm:^1.0.0": version: 1.0.1 resolution: "modify-values@npm:1.0.1" @@ -15718,6 +16834,13 @@ __metadata: languageName: node linkType: hard +"ms@npm:2.0.0": + version: 2.0.0 + resolution: "ms@npm:2.0.0" + checksum: 10/0e6a22b8b746d2e0b65a430519934fefd41b6db0682e3477c10f60c76e947c4c0ad06f63ffdf1d78d335f83edee8c0aa928aa66a36c7cd95b69b26f468d527f4 + languageName: node + linkType: hard + "ms@npm:2.1.2": version: 2.1.2 resolution: "ms@npm:2.1.2" @@ -15725,7 +16848,7 @@ __metadata: languageName: node linkType: hard -"ms@npm:^2.1.1, ms@npm:^2.1.3": +"ms@npm:2.1.3, ms@npm:^2.1.1, ms@npm:^2.1.3": version: 2.1.3 resolution: "ms@npm:2.1.3" checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d @@ -15798,6 +16921,45 @@ __metadata: languageName: node linkType: hard +"multibase@npm:^0.7.0": + version: 0.7.0 + resolution: "multibase@npm:0.7.0" + dependencies: + base-x: "npm:^3.0.8" + buffer: "npm:^5.5.0" + checksum: 10/a5cbbf00b8aa61bcb92a706e210d8f258e8413cff2893584fedbc316c98bf2a44b8f648b57c124ddfaa29750c3b686ee5ba973cb8da84a896c19d63101b09445 + languageName: node + linkType: hard + +"multibase@npm:~0.6.0": + version: 0.6.1 + resolution: "multibase@npm:0.6.1" + dependencies: + base-x: "npm:^3.0.8" + buffer: "npm:^5.5.0" + checksum: 10/c9e3bf20dc1b109019b94b14a76731ea0a6b0e654a4ef627ba154bfc2b8602ac43b160c44d8245d18cd6a9ed971826efb204230f22b929c8b3e72da13dbc1859 + languageName: node + linkType: hard + +"multicodec@npm:^0.5.5": + version: 0.5.7 + resolution: "multicodec@npm:0.5.7" + dependencies: + varint: "npm:^5.0.0" + checksum: 10/b61bbf04e1bfff180f77693661b8111bf94f65580abc455e6d83d2240c227d8c2e8af99ca93b6c02500c5da43d16e2b028dbbec1b376a85145a774f542d9ca2c + languageName: node + linkType: hard + +"multicodec@npm:^1.0.0": + version: 1.0.4 + resolution: "multicodec@npm:1.0.4" + dependencies: + buffer: "npm:^5.6.0" + varint: "npm:^5.0.0" + checksum: 10/3a78ac54d3715e6b095a1805f63b4c4e7d5bb4642445691c0c4e6442cad9f97823469634e73ee362ba748596570db1050d69d5cc74a88928b1e9658916cdfbcd + languageName: node + linkType: hard + "multiformats@npm:^9.4.13, multiformats@npm:^9.4.2, multiformats@npm:^9.4.5, multiformats@npm:^9.5.4": version: 9.9.0 resolution: "multiformats@npm:9.9.0" @@ -15805,6 +16967,17 @@ __metadata: languageName: node linkType: hard +"multihashes@npm:^0.4.15, multihashes@npm:~0.4.15": + version: 0.4.21 + resolution: "multihashes@npm:0.4.21" + dependencies: + buffer: "npm:^5.5.0" + multibase: "npm:^0.7.0" + varint: "npm:^5.0.0" + checksum: 10/a482d9ba7ed0ad41db22ca589f228e4b7a30207a229a64dfc9888796752314fca00a8d03025fe40d6d73965bbb246f54b73626c5a235463e30c06c7bf7a8785f + languageName: node + linkType: hard + "murmur-128@npm:^0.2.1": version: 0.2.1 resolution: "murmur-128@npm:0.2.1" @@ -15842,6 +17015,13 @@ __metadata: languageName: node linkType: hard +"nano-json-stream-parser@npm:^0.1.2": + version: 0.1.2 + resolution: "nano-json-stream-parser@npm:0.1.2" + checksum: 10/00a3ce63d3b66220def9fd6c26cd495100efd155e7bda54a11f1dfd185ba6750d5ce266076e0f229bad3f5ef892e2017f24da012669f146b404a8e47a44568ec + languageName: node + linkType: hard + "nanoid@npm:^3.0.2, nanoid@npm:^3.1.20, nanoid@npm:^3.1.23": version: 3.3.8 resolution: "nanoid@npm:3.3.8" @@ -15903,6 +17083,13 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10/2723fb822a17ad55c93a588a4bc44d53b22855bf4be5499916ca0cab1e7165409d0b288ba2577d7b029f10ce18cf2ed8e703e5af31c984e1e2304277ef979837 + languageName: node + linkType: hard + "negotiator@npm:^1.0.0": version: 1.0.0 resolution: "negotiator@npm:1.0.0" @@ -15924,6 +17111,13 @@ __metadata: languageName: node linkType: hard +"next-tick@npm:^1.1.0": + version: 1.1.0 + resolution: "next-tick@npm:1.1.0" + checksum: 10/83b5cf36027a53ee6d8b7f9c0782f2ba87f4858d977342bfc3c20c21629290a2111f8374d13a81221179603ffc4364f38374b5655d17b6a8f8a8c77bdea4fe8b + languageName: node + linkType: hard + "no-case@npm:^3.0.4": version: 3.0.4 resolution: "no-case@npm:3.0.4" @@ -16019,7 +17213,7 @@ __metadata: languageName: node linkType: hard -"node-gyp-build@npm:^4.2.0": +"node-gyp-build@npm:^4.2.0, node-gyp-build@npm:^4.3.0": version: 4.8.4 resolution: "node-gyp-build@npm:4.8.4" bin: @@ -16126,6 +17320,13 @@ __metadata: languageName: node linkType: hard +"normalize-url@npm:^6.0.1": + version: 6.1.0 + resolution: "normalize-url@npm:6.1.0" + checksum: 10/5ae699402c9d5ffa330adc348fcd6fc6e6a155ab7c811b96e30b7ecab60ceef821d8f86443869671dda71bbc47f4b9625739c82ad247e883e9aefe875bfb8659 + languageName: node + linkType: hard + "normalize-url@npm:^8.0.0": version: 8.0.1 resolution: "normalize-url@npm:8.0.1" @@ -16178,7 +17379,14 @@ __metadata: languageName: node linkType: hard -"object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": +"oauth-sign@npm:~0.9.0": + version: 0.9.0 + resolution: "oauth-sign@npm:0.9.0" + checksum: 10/1809a366d258f41fdf4ab5310cff3d1e15f96b187503bc7333cef4351de7bd0f52cb269bc95800f1fae5fb04dd886287df1471985fd67e8484729fdbcf857119 + languageName: node + linkType: hard + +"object-assign@npm:^4, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" checksum: 10/fcc6e4ea8c7fe48abfbb552578b1c53e0d194086e2e6bbbf59e0a536381a292f39943c6e9628af05b5528aa5e3318bb30d6b2e53cadaf5b8fe9e12c4b69af23f @@ -16277,6 +17485,24 @@ __metadata: languageName: node linkType: hard +"oboe@npm:2.1.5": + version: 2.1.5 + resolution: "oboe@npm:2.1.5" + dependencies: + http-https: "npm:^1.0.0" + checksum: 10/451d0c28b45f518fc86d4689075cf74c7fea92fb09e2f994dd1208e5c5516a6958f9dc476714b61c62c959a3e7e0db8a69999c59ff63777c7a8af24fbddd0848 + languageName: node + linkType: hard + +"on-finished@npm:2.4.1": + version: 2.4.1 + resolution: "on-finished@npm:2.4.1" + dependencies: + ee-first: "npm:1.1.1" + checksum: 10/8e81472c5028125c8c39044ac4ab8ba51a7cdc19a9fbd4710f5d524a74c6d8c9ded4dd0eed83f28d3d33ac1d7a6a439ba948ccb765ac6ce87f30450a26bfe2ea + languageName: node + linkType: hard + "once@npm:1.x, once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": version: 1.4.0 resolution: "once@npm:1.4.0" @@ -16413,6 +17639,13 @@ __metadata: languageName: node linkType: hard +"p-cancelable@npm:^2.0.0": + version: 2.1.1 + resolution: "p-cancelable@npm:2.1.1" + checksum: 10/7f1b64db17fc54acf359167d62898115dcf2a64bf6b3b038e4faf36fc059e5ed762fb9624df8ed04b25bee8de3ab8d72dea9879a2a960cd12e23c420a4aca6ed + languageName: node + linkType: hard + "p-cancelable@npm:^3.0.0": version: 3.0.0 resolution: "p-cancelable@npm:3.0.0" @@ -16642,6 +17875,13 @@ __metadata: languageName: node linkType: hard +"parse-headers@npm:^2.0.0": + version: 2.0.5 + resolution: "parse-headers@npm:2.0.5" + checksum: 10/210b13bc0f99cf6f1183896f01de164797ac35b2720c9f1c82a3e2ceab256f87b9048e8e16a14cfd1b75448771f8379cd564bd1674a179ab0168c90005d4981b + languageName: node + linkType: hard + "parse-json@npm:^4.0.0": version: 4.0.0 resolution: "parse-json@npm:4.0.0" @@ -16664,6 +17904,13 @@ __metadata: languageName: node linkType: hard +"parseurl@npm:~1.3.3": + version: 1.3.3 + resolution: "parseurl@npm:1.3.3" + checksum: 10/407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 + languageName: node + linkType: hard + "pascal-case@npm:^3.1.2": version: 3.1.2 resolution: "pascal-case@npm:3.1.2" @@ -16769,6 +18016,13 @@ __metadata: languageName: node linkType: hard +"path-to-regexp@npm:0.1.12": + version: 0.1.12 + resolution: "path-to-regexp@npm:0.1.12" + checksum: 10/2e30f6a0144679c1f95c98e166b96e6acd1e72be9417830fefc8de7ac1992147eb9a4c7acaa59119fb1b3c34eec393b2129ef27e24b2054a3906fc4fb0d1398e + languageName: node + linkType: hard + "path-type@npm:^3.0.0": version: 3.0.0 resolution: "path-type@npm:3.0.0" @@ -16805,6 +18059,13 @@ __metadata: languageName: node linkType: hard +"performance-now@npm:^2.1.0": + version: 2.1.0 + resolution: "performance-now@npm:2.1.0" + checksum: 10/534e641aa8f7cba160f0afec0599b6cecefbb516a2e837b512be0adbe6c1da5550e89c78059c7fabc5c9ffdf6627edabe23eb7c518c4500067a898fa65c2b550 + languageName: node + linkType: hard + "picocolors@npm:^1.0.0, picocolors@npm:^1.1.0": version: 1.1.1 resolution: "picocolors@npm:1.1.1" @@ -17118,6 +18379,13 @@ __metadata: languageName: node linkType: hard +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10/dbaa7e8d1d5cf375c36963ff43116772a989ef2bb47c9bdee20f38fd8fc061119cf38140631cf90c781aca4d3f0f0d2c834711952b728953f04fd7d238f59f5b + languageName: node + linkType: hard + "promise-retry@npm:^2.0.1": version: 2.0.1 resolution: "promise-retry@npm:2.0.1" @@ -17207,6 +18475,16 @@ __metadata: languageName: node linkType: hard +"proxy-addr@npm:~2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10/f24a0c80af0e75d31e3451398670d73406ec642914da11a2965b80b1898ca6f66a0e3e091a11a4327079b2b268795f6fa06691923fef91887215c3d0e8ea3f68 + languageName: node + linkType: hard + "proxy-agent@npm:~6.3.0": version: 6.3.1 resolution: "proxy-agent@npm:6.3.1" @@ -17230,6 +18508,15 @@ __metadata: languageName: node linkType: hard +"psl@npm:^1.1.28": + version: 1.15.0 + resolution: "psl@npm:1.15.0" + dependencies: + punycode: "npm:^2.3.1" + checksum: 10/5e7467eb5196eb7900d156783d12907d445c0122f76c73203ce96b148a6ccf8c5450cc805887ffada38ff92d634afcf33720c24053cb01d5b6598d1c913c5caf + languageName: node + linkType: hard + "pump@npm:^1.0.0": version: 1.0.3 resolution: "pump@npm:1.0.3" @@ -17240,6 +18527,23 @@ __metadata: languageName: node linkType: hard +"pump@npm:^3.0.0": + version: 3.0.2 + resolution: "pump@npm:3.0.2" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10/e0c4216874b96bd25ddf31a0b61a5613e26cc7afa32379217cf39d3915b0509def3565f5f6968fafdad2894c8bbdbd67d340e84f3634b2a29b950cffb6442d9f + languageName: node + linkType: hard + +"punycode@npm:2.1.0": + version: 2.1.0 + resolution: "punycode@npm:2.1.0" + checksum: 10/012f9443fe56baf485db702d0d07cef7d89c0670ce1ac4da8fb8b5bd3677e42a8f5d2b35f595ffa31ba843661c9c6766f2feb1e1e3393e1ff1033120d0f94d60 + languageName: node + linkType: hard + "punycode@npm:^1.3.2": version: 1.4.1 resolution: "punycode@npm:1.4.1" @@ -17247,7 +18551,7 @@ __metadata: languageName: node linkType: hard -"punycode@npm:^2.1.0": +"punycode@npm:^2.1.0, punycode@npm:^2.1.1, punycode@npm:^2.3.1": version: 2.3.1 resolution: "punycode@npm:2.3.1" checksum: 10/febdc4362bead22f9e2608ff0171713230b57aff9dddc1c273aa2a651fbd366f94b7d6a71d78342a7c0819906750351ca7f2edd26ea41b626d87d6a13d1bd059 @@ -17293,6 +18597,15 @@ __metadata: languageName: node linkType: hard +"qs@npm:6.13.0": + version: 6.13.0 + resolution: "qs@npm:6.13.0" + dependencies: + side-channel: "npm:^1.0.6" + checksum: 10/f548b376e685553d12e461409f0d6e5c59ec7c7d76f308e2a888fd9db3e0c5e89902bedd0754db3a9038eda5f27da2331a6f019c8517dc5e0a16b3c9a6e9cef8 + languageName: node + linkType: hard + "qs@npm:^6.4.0, qs@npm:^6.9.4": version: 6.13.1 resolution: "qs@npm:6.13.1" @@ -17302,6 +18615,24 @@ __metadata: languageName: node linkType: hard +"qs@npm:~6.5.2": + version: 6.5.3 + resolution: "qs@npm:6.5.3" + checksum: 10/485c990fba7ad17671e16c92715fb064c1600337738f5d140024eb33a49fbc1ed31890d3db850117c760caeb9c9cc9f4ba22a15c20dd119968e41e3d3fe60b28 + languageName: node + linkType: hard + +"query-string@npm:^5.0.1": + version: 5.1.1 + resolution: "query-string@npm:5.1.1" + dependencies: + decode-uri-component: "npm:^0.2.0" + object-assign: "npm:^4.1.0" + strict-uri-encode: "npm:^1.0.0" + checksum: 10/8834591ed02c324ac10397094c2ae84a3d3460477ef30acd5efe03b1afbf15102ccc0829ab78cc58ecb12f70afeb7a1f81e604487a9ad4859742bb14748e98cc + languageName: node + linkType: hard + "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -17332,7 +18663,14 @@ __metadata: languageName: node linkType: hard -"raw-body@npm:^2.4.1": +"range-parser@npm:~1.2.1": + version: 1.2.1 + resolution: "range-parser@npm:1.2.1" + checksum: 10/ce21ef2a2dd40506893157970dc76e835c78cf56437e26e19189c48d5291e7279314477b06ac38abd6a401b661a6840f7b03bd0b1249da9b691deeaa15872c26 + languageName: node + linkType: hard + +"raw-body@npm:2.5.2, raw-body@npm:^2.4.1": version: 2.5.2 resolution: "raw-body@npm:2.5.2" dependencies: @@ -17883,6 +19221,34 @@ __metadata: languageName: node linkType: hard +"request@npm:^2.79.0": + version: 2.88.2 + resolution: "request@npm:2.88.2" + dependencies: + aws-sign2: "npm:~0.7.0" + aws4: "npm:^1.8.0" + caseless: "npm:~0.12.0" + combined-stream: "npm:~1.0.6" + extend: "npm:~3.0.2" + forever-agent: "npm:~0.6.1" + form-data: "npm:~2.3.2" + har-validator: "npm:~5.1.3" + http-signature: "npm:~1.2.0" + is-typedarray: "npm:~1.0.0" + isstream: "npm:~0.1.2" + json-stringify-safe: "npm:~5.0.1" + mime-types: "npm:~2.1.19" + oauth-sign: "npm:~0.9.0" + performance-now: "npm:^2.1.0" + qs: "npm:~6.5.2" + safe-buffer: "npm:^5.1.2" + tough-cookie: "npm:~2.5.0" + tunnel-agent: "npm:^0.6.0" + uuid: "npm:^3.3.2" + checksum: 10/005b8b237b56f1571cfd4ecc09772adaa2e82dcb884fc14ea2bb25e23dbf7c2009f9929e0b6d3fd5802e33ed8ee705a3b594c8f9467c1458cd973872bf89db8e + languageName: node + linkType: hard + "require-directory@npm:^2.1.1": version: 2.1.1 resolution: "require-directory@npm:2.1.1" @@ -17922,7 +19288,7 @@ __metadata: languageName: node linkType: hard -"resolve-alpn@npm:^1.2.0": +"resolve-alpn@npm:^1.0.0, resolve-alpn@npm:^1.2.0": version: 1.2.1 resolution: "resolve-alpn@npm:1.2.1" checksum: 10/744e87888f0b6fa0b256ab454ca0b9c0b80808715e2ef1f3672773665c92a941f6181194e30ccae4a8cd0adbe0d955d3f133102636d2ee0cca0119fec0bc9aec @@ -18052,6 +19418,15 @@ __metadata: languageName: node linkType: hard +"responselike@npm:^2.0.0": + version: 2.0.1 + resolution: "responselike@npm:2.0.1" + dependencies: + lowercase-keys: "npm:^2.0.0" + checksum: 10/b122535466e9c97b55e69c7f18e2be0ce3823c5d47ee8de0d9c0b114aa55741c6db8bfbfce3766a94d1272e61bfb1ebf0a15e9310ac5629fbb7446a861b4fd3a + languageName: node + linkType: hard + "responselike@npm:^3.0.0": version: 3.0.0 resolution: "responselike@npm:3.0.0" @@ -18217,7 +19592,7 @@ __metadata: languageName: node linkType: hard -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:5.2.1, safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: 10/32872cd0ff68a3ddade7a7617b8f4c2ae8764d8b7d884c651b74457967a9e0e886267d3ecc781220629c44a865167b61c375d2da6c720c840ecd73f45d5d9451 @@ -18251,7 +19626,7 @@ __metadata: languageName: node linkType: hard -"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0": +"safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" checksum: 10/7eaf7a0cf37cc27b42fb3ef6a9b1df6e93a1c6d98c6c6702b02fe262d5fcbd89db63320793b99b21cb5348097d0a53de81bd5f4e8b86e20cc9412e3f1cfb4e83 @@ -18314,7 +19689,7 @@ __metadata: languageName: node linkType: hard -"scrypt-js@npm:3.0.1, scrypt-js@npm:^3.0.0": +"scrypt-js@npm:3.0.1, scrypt-js@npm:^3.0.0, scrypt-js@npm:^3.0.1": version: 3.0.1 resolution: "scrypt-js@npm:3.0.1" checksum: 10/2f8aa72b7f76a6f9c446bbec5670f80d47497bccce98474203d89b5667717223eeb04a50492ae685ed7adc5a060fc2d8f9fd988f8f7ebdaf3341967f3aeff116 @@ -18407,6 +19782,27 @@ __metadata: languageName: node linkType: hard +"send@npm:0.19.0": + version: 0.19.0 + resolution: "send@npm:0.19.0" + dependencies: + debug: "npm:2.6.9" + depd: "npm:2.0.0" + destroy: "npm:1.2.0" + encodeurl: "npm:~1.0.2" + escape-html: "npm:~1.0.3" + etag: "npm:~1.8.1" + fresh: "npm:0.5.2" + http-errors: "npm:2.0.0" + mime: "npm:1.6.0" + ms: "npm:2.1.3" + on-finished: "npm:2.4.1" + range-parser: "npm:~1.2.1" + statuses: "npm:2.0.1" + checksum: 10/1f6064dea0ae4cbe4878437aedc9270c33f2a6650a77b56a16b62d057527f2766d96ee282997dd53ec0339082f2aad935bc7d989b46b48c82fc610800dc3a1d0 + languageName: node + linkType: hard + "sentence-case@npm:^3.0.4": version: 3.0.4 resolution: "sentence-case@npm:3.0.4" @@ -18427,6 +19823,31 @@ __metadata: languageName: node linkType: hard +"serve-static@npm:1.16.2": + version: 1.16.2 + resolution: "serve-static@npm:1.16.2" + dependencies: + encodeurl: "npm:~2.0.0" + escape-html: "npm:~1.0.3" + parseurl: "npm:~1.3.3" + send: "npm:0.19.0" + checksum: 10/7fa9d9c68090f6289976b34fc13c50ac8cd7f16ae6bce08d16459300f7fc61fbc2d7ebfa02884c073ec9d6ab9e7e704c89561882bbe338e99fcacb2912fde737 + languageName: node + linkType: hard + +"servify@npm:^0.1.12": + version: 0.1.12 + resolution: "servify@npm:0.1.12" + dependencies: + body-parser: "npm:^1.16.0" + cors: "npm:^2.8.1" + express: "npm:^4.14.0" + request: "npm:^2.79.0" + xhr: "npm:^2.3.3" + checksum: 10/d61b145034aa26c143d7081a56c544aceff256eead27a5894b6785346254438d2b387ac7411bf664024d258779a00dc6c5d9da65f8d60382dac23a8cba0b0d9e + languageName: node + linkType: hard + "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -18622,6 +20043,24 @@ __metadata: languageName: node linkType: hard +"simple-concat@npm:^1.0.0": + version: 1.0.1 + resolution: "simple-concat@npm:1.0.1" + checksum: 10/4d211042cc3d73a718c21ac6c4e7d7a0363e184be6a5ad25c8a1502e49df6d0a0253979e3d50dbdd3f60ef6c6c58d756b5d66ac1e05cda9cacd2e9fc59e3876a + languageName: node + linkType: hard + +"simple-get@npm:^2.7.0": + version: 2.8.2 + resolution: "simple-get@npm:2.8.2" + dependencies: + decompress-response: "npm:^3.3.0" + once: "npm:^1.3.1" + simple-concat: "npm:^1.0.0" + checksum: 10/b827672695bbe504217311c47c6a106358babcfbf3d69c8d67ad56da40c2ed05185eec12538dfe3637e1cf0441bcd5931b022a84dc7f8f2d84969d595f7f7fda + languageName: node + linkType: hard + "simplebar-react@npm:^2.3.6": version: 2.4.3 resolution: "simplebar-react@npm:2.4.3" @@ -19004,6 +20443,27 @@ __metadata: languageName: node linkType: hard +"sshpk@npm:^1.7.0": + version: 1.18.0 + resolution: "sshpk@npm:1.18.0" + dependencies: + asn1: "npm:~0.2.3" + assert-plus: "npm:^1.0.0" + bcrypt-pbkdf: "npm:^1.0.0" + dashdash: "npm:^1.12.0" + ecc-jsbn: "npm:~0.1.1" + getpass: "npm:^0.1.1" + jsbn: "npm:~0.1.0" + safer-buffer: "npm:^2.0.2" + tweetnacl: "npm:~0.14.0" + bin: + sshpk-conv: bin/sshpk-conv + sshpk-sign: bin/sshpk-sign + sshpk-verify: bin/sshpk-verify + checksum: 10/858339d43e3c6b6a848772a66f69442ce74f1a37655d9f35ba9d1f85329499ff0000af9f8ab83dbb39ad24c0c370edabe0be1e39863f70c6cded9924b8458c34 + languageName: node + linkType: hard + "ssri@npm:^12.0.0": version: 12.0.0 resolution: "ssri@npm:12.0.0" @@ -19091,6 +20551,13 @@ __metadata: languageName: node linkType: hard +"strict-uri-encode@npm:^1.0.0": + version: 1.1.0 + resolution: "strict-uri-encode@npm:1.1.0" + checksum: 10/9466d371f7b36768d43f7803f26137657559e4c8b0161fb9e320efb8edba3ae22f8e99d4b0d91da023b05a13f62ec5412c3f4f764b5788fac11d1fea93720bb3 + languageName: node + linkType: hard + "string-argv@npm:0.3.2": version: 0.3.2 resolution: "string-argv@npm:0.3.2" @@ -19422,6 +20889,25 @@ __metadata: languageName: node linkType: hard +"swarm-js@npm:^0.1.40": + version: 0.1.42 + resolution: "swarm-js@npm:0.1.42" + dependencies: + bluebird: "npm:^3.5.0" + buffer: "npm:^5.0.5" + eth-lib: "npm:^0.1.26" + fs-extra: "npm:^4.0.2" + got: "npm:^11.8.5" + mime-types: "npm:^2.1.16" + mkdirp-promise: "npm:^5.0.1" + mock-fs: "npm:^4.1.0" + setimmediate: "npm:^1.0.5" + tar: "npm:^4.0.2" + xhr-request: "npm:^1.0.1" + checksum: 10/341bcfef6daadc1904ea87b1781f10dc99ec14e33c9a9041e43e9617dcc3b7d632230e1baf2fafecb8e10e63c2e4eeb7cce7c85592dc0cf0dde935f49c77050b + languageName: node + linkType: hard + "swr@npm:^2.2.5": version: 2.2.5 resolution: "swr@npm:2.2.5" @@ -19515,6 +21001,21 @@ __metadata: languageName: node linkType: hard +"tar@npm:^4.0.2": + version: 4.4.19 + resolution: "tar@npm:4.4.19" + dependencies: + chownr: "npm:^1.1.4" + fs-minipass: "npm:^1.2.7" + minipass: "npm:^2.9.0" + minizlib: "npm:^1.3.3" + mkdirp: "npm:^0.5.5" + safe-buffer: "npm:^5.2.1" + yallist: "npm:^3.1.1" + checksum: 10/2715b5964578424ba5164632905a85e5a98c8dffeba657860aafa3a771b2602e6fd2a350bca891d78b8bda8cab5c53134c683ed2269b9925533477a24722e73b + languageName: node + linkType: hard + "tar@npm:^6.1.0": version: 6.2.1 resolution: "tar@npm:6.2.1" @@ -19644,6 +21145,13 @@ __metadata: languageName: node linkType: hard +"timed-out@npm:^4.0.1": + version: 4.0.1 + resolution: "timed-out@npm:4.0.1" + checksum: 10/d52648e5fc0ebb0cae1633737a1db1b7cb464d5d43d754bd120ddebd8067a1b8f42146c250d8cfb9952183b7b0f341a99fc71b59c52d659218afae293165004f + languageName: node + linkType: hard + "timeout-abort-controller@npm:^2.0.0": version: 2.0.0 resolution: "timeout-abort-controller@npm:2.0.0" @@ -19740,6 +21248,16 @@ __metadata: languageName: node linkType: hard +"tough-cookie@npm:~2.5.0": + version: 2.5.0 + resolution: "tough-cookie@npm:2.5.0" + dependencies: + psl: "npm:^1.1.28" + punycode: "npm:^2.1.1" + checksum: 10/024cb13a4d1fe9af57f4323dff765dd9b217cc2a69be77e3b8a1ca45600aa33a097b6ad949f225d885e904f4bd3ceccef104741ef202d8378e6ca78e850ff82f + languageName: node + linkType: hard + "tr46@npm:~0.0.3": version: 0.0.3 resolution: "tr46@npm:0.0.3" @@ -19956,6 +21474,15 @@ __metadata: languageName: node linkType: hard +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10/7f0d9ed5c22404072b2ae8edc45c071772affd2ed14a74f03b4e71b4dd1a14c3714d85aed64abcaaee5fec2efc79002ba81155c708f4df65821b444abb0cfade + languageName: node + linkType: hard + "tv4@npm:^1.3.0": version: 1.3.0 resolution: "tv4@npm:1.3.0" @@ -19970,6 +21497,13 @@ __metadata: languageName: node linkType: hard +"tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": + version: 0.14.5 + resolution: "tweetnacl@npm:0.14.5" + checksum: 10/04ee27901cde46c1c0a64b9584e04c96c5fe45b38c0d74930710751ea991408b405747d01dfae72f80fc158137018aea94f9c38c651cb9c318f0861a310c3679 + languageName: node + linkType: hard + "tweetnacl@npm:^1.0.3": version: 1.0.3 resolution: "tweetnacl@npm:1.0.3" @@ -20074,6 +21608,23 @@ __metadata: languageName: node linkType: hard +"type-is@npm:~1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10/0bd9eeae5efd27d98fd63519f999908c009e148039d8e7179a074f105362d4fcc214c38b24f6cda79c87e563cbd12083a4691381ed28559220d4a10c2047bed4 + languageName: node + linkType: hard + +"type@npm:^2.7.2": + version: 2.7.3 + resolution: "type@npm:2.7.3" + checksum: 10/82e99e7795b3de3ecfe685680685e79a77aea515fad9f60b7c55fbf6d43a5c360b1e6e9443354ec8906b38cdf5325829c69f094cb7cd2a1238e85bef9026dc04 + languageName: node + linkType: hard + "typechain@npm:^8.1.1": version: 8.3.2 resolution: "typechain@npm:8.3.2" @@ -20246,6 +21797,13 @@ __metadata: languageName: node linkType: hard +"ultron@npm:~1.1.0": + version: 1.1.1 + resolution: "ultron@npm:1.1.1" + checksum: 10/7cc6e8e98a2c62c87ab25a79a274f90492f13f5cf7c622dbda1ec85913e207aed392c26e76ed6250c4f05f842571b05dcce1f8ad0f5ecded64a99002b1fdf6e5 + languageName: node + linkType: hard + "unbox-primitive@npm:^1.0.2": version: 1.0.2 resolution: "unbox-primitive@npm:1.0.2" @@ -20338,7 +21896,7 @@ __metadata: languageName: node linkType: hard -"unpipe@npm:1.0.0": +"unpipe@npm:1.0.0, unpipe@npm:~1.0.0": version: 1.0.0 resolution: "unpipe@npm:1.0.0" checksum: 10/4fa18d8d8d977c55cb09715385c203197105e10a6d220087ec819f50cb68870f02942244f1017565484237f1f8c5d3cd413631b1ae104d3096f24fdfde1b4aa2 @@ -20408,6 +21966,13 @@ __metadata: languageName: node linkType: hard +"url-set-query@npm:^1.0.0": + version: 1.0.0 + resolution: "url-set-query@npm:1.0.0" + checksum: 10/a6e4d1ac5c3e7db8644655a2774b9462d8d95ec7abae341ff53d4a3d03adc2dabc38650dc757659fcbce4859372bbea4a896ac842dd5b54cc22aae087ba35664 + languageName: node + linkType: hard + "urlpattern-polyfill@npm:^8.0.0": version: 8.0.2 resolution: "urlpattern-polyfill@npm:8.0.2" @@ -20435,6 +22000,16 @@ __metadata: languageName: node linkType: hard +"utf-8-validate@npm:^5.0.2": + version: 5.0.10 + resolution: "utf-8-validate@npm:5.0.10" + dependencies: + node-gyp: "npm:latest" + node-gyp-build: "npm:^4.3.0" + checksum: 10/b89cbc13b4badad04828349ebb7aa2ab1edcb02b46ab12ce0ba5b2d6886d684ad4e93347819e3c8d36224c8742422d2dca69f5cc16c72ae4d7eeecc0c5cb544b + languageName: node + linkType: hard + "utf8@npm:3.0.0, utf8@npm:^3.0.0": version: 3.0.0 resolution: "utf8@npm:3.0.0" @@ -20469,6 +22044,13 @@ __metadata: languageName: node linkType: hard +"utils-merge@npm:1.0.1": + version: 1.0.1 + resolution: "utils-merge@npm:1.0.1" + checksum: 10/5d6949693d58cb2e636a84f3ee1c6e7b2f9c16cb1d42d0ecb386d8c025c69e327205aa1c69e2868cc06a01e5e20681fbba55a4e0ed0cce913d60334024eae798 + languageName: node + linkType: hard + "uuid@npm:^3.3.2": version: 3.4.0 resolution: "uuid@npm:3.4.0" @@ -20487,6 +22069,15 @@ __metadata: languageName: node linkType: hard +"uuid@npm:^9.0.0": + version: 9.0.1 + resolution: "uuid@npm:9.0.1" + bin: + uuid: dist/bin/uuid + checksum: 10/9d0b6adb72b736e36f2b1b53da0d559125ba3e39d913b6072f6f033e0c87835b414f0836b45bcfaf2bdf698f92297fea1c3cc19b0b258bc182c9c43cc0fab9f2 + languageName: node + linkType: hard + "v8-compile-cache-lib@npm:^3.0.1": version: 3.0.1 resolution: "v8-compile-cache-lib@npm:3.0.1" @@ -20522,6 +22113,13 @@ __metadata: languageName: node linkType: hard +"varint@npm:^5.0.0": + version: 5.0.2 + resolution: "varint@npm:5.0.2" + checksum: 10/e1a66bf9a6cea96d1f13259170d4d41b845833acf3a9df990ea1e760d279bd70d5b1f4c002a50197efd2168a2fd43eb0b808444600fd4d23651e8d42fe90eb05 + languageName: node + linkType: hard + "varint@npm:^6.0.0": version: 6.0.0 resolution: "varint@npm:6.0.0" @@ -20529,6 +22127,13 @@ __metadata: languageName: node linkType: hard +"vary@npm:^1, vary@npm:~1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10/31389debef15a480849b8331b220782230b9815a8e0dbb7b9a8369559aed2e9a7800cd904d4371ea74f4c3527db456dc8e7ac5befce5f0d289014dbdf47b2242 + languageName: node + linkType: hard + "vea@workspace:.": version: 0.0.0-use.local resolution: "vea@workspace:." @@ -20553,6 +22158,17 @@ __metadata: languageName: unknown linkType: soft +"verror@npm:1.10.0": + version: 1.10.0 + resolution: "verror@npm:1.10.0" + dependencies: + assert-plus: "npm:^1.0.0" + core-util-is: "npm:1.0.2" + extsprintf: "npm:^1.2.0" + checksum: 10/da548149dd9c130a8a2587c9ee71ea30128d1526925707e2d01ed9c5c45c9e9f86733c66a328247cdd5f7c1516fb25b0f959ba754bfbe15072aa99ff96468a29 + languageName: node + linkType: hard + "viem@npm:2.7.14": version: 2.7.14 resolution: "viem@npm:2.7.14" @@ -20646,6 +22262,87 @@ __metadata: languageName: node linkType: hard +"web3-bzz@npm:1.10.4": + version: 1.10.4 + resolution: "web3-bzz@npm:1.10.4" + dependencies: + "@types/node": "npm:^12.12.6" + got: "npm:12.1.0" + swarm-js: "npm:^0.1.40" + checksum: 10/03b9e48e85d97c0a0d2fdec06fb42188adaf81e83c35ab73b3f6eafbdda2b43c0a9ed1a3b4ce86360544818eec34c056f0e4b67395685df97c1901f4a1c4a02e + languageName: node + linkType: hard + +"web3-core-helpers@npm:1.10.4": + version: 1.10.4 + resolution: "web3-core-helpers@npm:1.10.4" + dependencies: + web3-eth-iban: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/9c22942827bed0e46ae491a0bee3cd60cea636f9b0408b11bb341b0370e58a94358025657405142c2a24f3912a8f947e6e977d594d9ba66e11dedce3c5c4a7f4 + languageName: node + linkType: hard + +"web3-core-method@npm:1.10.4": + version: 1.10.4 + resolution: "web3-core-method@npm:1.10.4" + dependencies: + "@ethersproject/transactions": "npm:^5.6.2" + web3-core-helpers: "npm:1.10.4" + web3-core-promievent: "npm:1.10.4" + web3-core-subscriptions: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/d942beba3999c084333f5c808ada2a90930d55d148d5f8cc51a2135f8ab3f101fa5ce0d732a60830e8cad2af844bbed6cf0b6250863003adafb08c7ffa9fbd5f + languageName: node + linkType: hard + +"web3-core-promievent@npm:1.10.4": + version: 1.10.4 + resolution: "web3-core-promievent@npm:1.10.4" + dependencies: + eventemitter3: "npm:4.0.4" + checksum: 10/a792c74aa5c91dc63fb493af04628ecfa08b9e6ceea402dfe53f718b019c41d63a0200bf3045dd23ec3c42b8d7474ac96eb4cb4456060becc551c2cacbd02bb1 + languageName: node + linkType: hard + +"web3-core-requestmanager@npm:1.10.4": + version: 1.10.4 + resolution: "web3-core-requestmanager@npm:1.10.4" + dependencies: + util: "npm:^0.12.5" + web3-core-helpers: "npm:1.10.4" + web3-providers-http: "npm:1.10.4" + web3-providers-ipc: "npm:1.10.4" + web3-providers-ws: "npm:1.10.4" + checksum: 10/c26bf616cc156b2198bf634084978d66cf384cf2b174324b6ada071a8c9e9be7855d72c09453308d1a46b50874c18ff9b75193f8736c2b285cdc32209391880c + languageName: node + linkType: hard + +"web3-core-subscriptions@npm:1.10.4": + version: 1.10.4 + resolution: "web3-core-subscriptions@npm:1.10.4" + dependencies: + eventemitter3: "npm:4.0.4" + web3-core-helpers: "npm:1.10.4" + checksum: 10/b1652988c0925ab1d5c27e67a816ec6bcb32f37f59c7314e1f02552233fbc486a0de579aeb660d77d82452b63e9feaa98317ec7897cd7aeb140595c8e176d0eb + languageName: node + linkType: hard + +"web3-core@npm:1.10.4": + version: 1.10.4 + resolution: "web3-core@npm:1.10.4" + dependencies: + "@types/bn.js": "npm:^5.1.1" + "@types/node": "npm:^12.12.6" + bignumber.js: "npm:^9.0.0" + web3-core-helpers: "npm:1.10.4" + web3-core-method: "npm:1.10.4" + web3-core-requestmanager: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/138c5abff27a48d16584fdbe56b940f9efe7cd2463d768f42c5fcdfc97d0dc4fc41e09ff1ffb8c8ff79b22a69e9efbf5af27c4b6a0d888c351202f03a8b01b8e + languageName: node + linkType: hard + "web3-core@npm:^4.4.0, web3-core@npm:^4.5.0, web3-core@npm:^4.6.0, web3-core@npm:^4.7.1": version: 4.7.1 resolution: "web3-core@npm:4.7.1" @@ -20675,6 +22372,16 @@ __metadata: languageName: node linkType: hard +"web3-eth-abi@npm:1.10.4": + version: 1.10.4 + resolution: "web3-eth-abi@npm:1.10.4" + dependencies: + "@ethersproject/abi": "npm:^5.6.3" + web3-utils: "npm:1.10.4" + checksum: 10/c601e45303c607a18f6f8e793aa9c5432fcaf83a34732dc9667b7e2eeb53a4cb8c2dec6fff9f33061fcc5130ec6c8f656f3c3ef962d7ff2af3247f828cffe559 + languageName: node + linkType: hard + "web3-eth-abi@npm:1.7.0": version: 1.7.0 resolution: "web3-eth-abi@npm:1.7.0" @@ -20698,6 +22405,24 @@ __metadata: languageName: node linkType: hard +"web3-eth-accounts@npm:1.10.4": + version: 1.10.4 + resolution: "web3-eth-accounts@npm:1.10.4" + dependencies: + "@ethereumjs/common": "npm:2.6.5" + "@ethereumjs/tx": "npm:3.5.2" + "@ethereumjs/util": "npm:^8.1.0" + eth-lib: "npm:0.2.8" + scrypt-js: "npm:^3.0.1" + uuid: "npm:^9.0.0" + web3-core: "npm:1.10.4" + web3-core-helpers: "npm:1.10.4" + web3-core-method: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/994c9f8b3fd8c5fc72e1f2ca6770ad61a2618de2ddc38a898a7d956d22cbdedac7cc683319252a7c9a26c06f337942bf5af84a4ff4001e784e90d061c2733fc2 + languageName: node + linkType: hard + "web3-eth-accounts@npm:^4.3.1": version: 4.3.1 resolution: "web3-eth-accounts@npm:4.3.1" @@ -20713,6 +22438,22 @@ __metadata: languageName: node linkType: hard +"web3-eth-contract@npm:1.10.4": + version: 1.10.4 + resolution: "web3-eth-contract@npm:1.10.4" + dependencies: + "@types/bn.js": "npm:^5.1.1" + web3-core: "npm:1.10.4" + web3-core-helpers: "npm:1.10.4" + web3-core-method: "npm:1.10.4" + web3-core-promievent: "npm:1.10.4" + web3-core-subscriptions: "npm:1.10.4" + web3-eth-abi: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/8b0aa58c268b4be94a2ee14ff7fbdd9a2a20b912e580a69cbbbf57493331f60b96d88108ad4deabac3c3810d94483c449b1e5a06b414bc7b1ef326c682603836 + languageName: node + linkType: hard + "web3-eth-contract@npm:^4.5.0, web3-eth-contract@npm:^4.7.2": version: 4.7.2 resolution: "web3-eth-contract@npm:4.7.2" @@ -20729,6 +22470,22 @@ __metadata: languageName: node linkType: hard +"web3-eth-ens@npm:1.10.4": + version: 1.10.4 + resolution: "web3-eth-ens@npm:1.10.4" + dependencies: + content-hash: "npm:^2.5.2" + eth-ens-namehash: "npm:2.0.8" + web3-core: "npm:1.10.4" + web3-core-helpers: "npm:1.10.4" + web3-core-promievent: "npm:1.10.4" + web3-eth-abi: "npm:1.10.4" + web3-eth-contract: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/1296b523a79bd46dc2485d21888454dbca7b7005af5156e58f2515e09f8b30973697a8032429fdaab01d2f8e3e605716789875dadc87cadd3ec9a2ce5d182742 + languageName: node + linkType: hard + "web3-eth-ens@npm:^4.4.0": version: 4.4.0 resolution: "web3-eth-ens@npm:4.4.0" @@ -20746,6 +22503,16 @@ __metadata: languageName: node linkType: hard +"web3-eth-iban@npm:1.10.4": + version: 1.10.4 + resolution: "web3-eth-iban@npm:1.10.4" + dependencies: + bn.js: "npm:^5.2.1" + web3-utils: "npm:1.10.4" + checksum: 10/b5e33aaf3d41608ed59ea98c703271eefcd30aea15163cda4bc8713f9716eb40b816e8047022ebf71391250983acfe58e65551461109a53e266f4b824c4a0678 + languageName: node + linkType: hard + "web3-eth-iban@npm:^4.0.7": version: 4.0.7 resolution: "web3-eth-iban@npm:4.0.7" @@ -20758,6 +22525,20 @@ __metadata: languageName: node linkType: hard +"web3-eth-personal@npm:1.10.4": + version: 1.10.4 + resolution: "web3-eth-personal@npm:1.10.4" + dependencies: + "@types/node": "npm:^12.12.6" + web3-core: "npm:1.10.4" + web3-core-helpers: "npm:1.10.4" + web3-core-method: "npm:1.10.4" + web3-net: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/1b0818aa3dc9d58ece45af85ea57ddd3fbc3cd2d8b325e18f2071236ab9e9ba2e878d3f77fddfb9ab1a37ee441209f07302638b13c86bc372b2e22989dc1d903 + languageName: node + linkType: hard + "web3-eth-personal@npm:^4.1.0": version: 4.1.0 resolution: "web3-eth-personal@npm:4.1.0" @@ -20772,6 +22553,26 @@ __metadata: languageName: node linkType: hard +"web3-eth@npm:1.10.4": + version: 1.10.4 + resolution: "web3-eth@npm:1.10.4" + dependencies: + web3-core: "npm:1.10.4" + web3-core-helpers: "npm:1.10.4" + web3-core-method: "npm:1.10.4" + web3-core-subscriptions: "npm:1.10.4" + web3-eth-abi: "npm:1.10.4" + web3-eth-accounts: "npm:1.10.4" + web3-eth-contract: "npm:1.10.4" + web3-eth-ens: "npm:1.10.4" + web3-eth-iban: "npm:1.10.4" + web3-eth-personal: "npm:1.10.4" + web3-net: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/0da77f76715711cbae7ec0f13300cf5cf364eed2955077f55462f162de9e133305d6534203f50aa786f496b4064d6b46577f30b8f8d0a0cad4476f7e7f30980e + languageName: node + linkType: hard + "web3-eth@npm:^4.11.1, web3-eth@npm:^4.8.0, web3-eth@npm:^4.9.0": version: 4.11.1 resolution: "web3-eth@npm:4.11.1" @@ -20791,6 +22592,17 @@ __metadata: languageName: node linkType: hard +"web3-net@npm:1.10.4": + version: 1.10.4 + resolution: "web3-net@npm:1.10.4" + dependencies: + web3-core: "npm:1.10.4" + web3-core-method: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/7f28f58ed1521bd805d63340994be436812e771e8edaa00aea568fa7ae3374746fb5f5aa6ac67632862a739833dfea6ffa92f4df4bca7c394b2608c603e1eda6 + languageName: node + linkType: hard + "web3-net@npm:^4.1.0": version: 4.1.0 resolution: "web3-net@npm:4.1.0" @@ -20803,6 +22615,18 @@ __metadata: languageName: node linkType: hard +"web3-providers-http@npm:1.10.4": + version: 1.10.4 + resolution: "web3-providers-http@npm:1.10.4" + dependencies: + abortcontroller-polyfill: "npm:^1.7.5" + cross-fetch: "npm:^4.0.0" + es6-promise: "npm:^4.2.8" + web3-core-helpers: "npm:1.10.4" + checksum: 10/2ff27d45cc7c7b1e8f07a7917fe1502fef59e211b2ee97851369f9b6dab99ce81b0bef50f9ecf36286137fc41f1230f04b55b090d30f870fbc5ef1972d165b5f + languageName: node + linkType: hard + "web3-providers-http@npm:^4.2.0": version: 4.2.0 resolution: "web3-providers-http@npm:4.2.0" @@ -20815,6 +22639,16 @@ __metadata: languageName: node linkType: hard +"web3-providers-ipc@npm:1.10.4": + version: 1.10.4 + resolution: "web3-providers-ipc@npm:1.10.4" + dependencies: + oboe: "npm:2.1.5" + web3-core-helpers: "npm:1.10.4" + checksum: 10/cd33a954f59ba3a9ca466dca0d6563f46c56879dc249d885b8edfee077f9f58ccf591ba06855e1d69baba52a8719c03684b0ba7b33d836bfdd4c6166e289c0d4 + languageName: node + linkType: hard + "web3-providers-ipc@npm:^4.0.7": version: 4.0.7 resolution: "web3-providers-ipc@npm:4.0.7" @@ -20826,6 +22660,17 @@ __metadata: languageName: node linkType: hard +"web3-providers-ws@npm:1.10.4": + version: 1.10.4 + resolution: "web3-providers-ws@npm:1.10.4" + dependencies: + eventemitter3: "npm:4.0.4" + web3-core-helpers: "npm:1.10.4" + websocket: "npm:^1.0.32" + checksum: 10/98cb76473ae1060e21ff474768a04c6dcd91724f24a1fac2d4a5f186a35bd2f119605fbb28423dfe5be33755b1e5808b10514ddaf326b57573b447efc84ef730 + languageName: node + linkType: hard + "web3-providers-ws@npm:^4.0.8": version: 4.0.8 resolution: "web3-providers-ws@npm:4.0.8" @@ -20865,6 +22710,18 @@ __metadata: languageName: node linkType: hard +"web3-shh@npm:1.10.4": + version: 1.10.4 + resolution: "web3-shh@npm:1.10.4" + dependencies: + web3-core: "npm:1.10.4" + web3-core-method: "npm:1.10.4" + web3-core-subscriptions: "npm:1.10.4" + web3-net: "npm:1.10.4" + checksum: 10/73e497ba841ad378481fa786790fc929808b67d5824a41f48943332033a239028afb360723bcd463254fb0298c767289d749796718c07a3718e944b9b5fb156d + languageName: node + linkType: hard + "web3-types@npm:^1.10.0, web3-types@npm:^1.3.0, web3-types@npm:^1.6.0, web3-types@npm:^1.7.0, web3-types@npm:^1.8.0": version: 1.10.0 resolution: "web3-types@npm:1.10.0" @@ -20872,34 +22729,34 @@ __metadata: languageName: node linkType: hard -"web3-utils@npm:1.7.0": - version: 1.7.0 - resolution: "web3-utils@npm:1.7.0" +"web3-utils@npm:1.10.4, web3-utils@npm:^1.3.6": + version: 1.10.4 + resolution: "web3-utils@npm:1.10.4" dependencies: - bn.js: "npm:^4.11.9" + "@ethereumjs/util": "npm:^8.1.0" + bn.js: "npm:^5.2.1" ethereum-bloom-filters: "npm:^1.0.6" - ethereumjs-util: "npm:^7.1.0" + ethereum-cryptography: "npm:^2.1.2" ethjs-unit: "npm:0.1.6" number-to-bn: "npm:1.7.0" randombytes: "npm:^2.1.0" utf8: "npm:3.0.0" - checksum: 10/05d2091630a9bcf4e7e90cfabf46e62d47546511abaecc271f1cb442d42ba91232a6d41813f245544821214fca41c92d34635370ad00f744281305427dc68576 + checksum: 10/3e586b638cdae9fa45b7698e8a511ae2cbf60e219a900351ae38d384beaaf67424ac6e1d9c5098c3fb8f2ff3cc65a70d977a20bdce3dad542cb50deb666ea2a3 languageName: node linkType: hard -"web3-utils@npm:^1.3.6": - version: 1.10.4 - resolution: "web3-utils@npm:1.10.4" +"web3-utils@npm:1.7.0": + version: 1.7.0 + resolution: "web3-utils@npm:1.7.0" dependencies: - "@ethereumjs/util": "npm:^8.1.0" - bn.js: "npm:^5.2.1" + bn.js: "npm:^4.11.9" ethereum-bloom-filters: "npm:^1.0.6" - ethereum-cryptography: "npm:^2.1.2" + ethereumjs-util: "npm:^7.1.0" ethjs-unit: "npm:0.1.6" number-to-bn: "npm:1.7.0" randombytes: "npm:^2.1.0" utf8: "npm:3.0.0" - checksum: 10/3e586b638cdae9fa45b7698e8a511ae2cbf60e219a900351ae38d384beaaf67424ac6e1d9c5098c3fb8f2ff3cc65a70d977a20bdce3dad542cb50deb666ea2a3 + checksum: 10/05d2091630a9bcf4e7e90cfabf46e62d47546511abaecc271f1cb442d42ba91232a6d41813f245544821214fca41c92d34635370ad00f744281305427dc68576 languageName: node linkType: hard @@ -20929,6 +22786,21 @@ __metadata: languageName: node linkType: hard +"web3@npm:^1.10.4": + version: 1.10.4 + resolution: "web3@npm:1.10.4" + dependencies: + web3-bzz: "npm:1.10.4" + web3-core: "npm:1.10.4" + web3-eth: "npm:1.10.4" + web3-eth-personal: "npm:1.10.4" + web3-net: "npm:1.10.4" + web3-shh: "npm:1.10.4" + web3-utils: "npm:1.10.4" + checksum: 10/3e6132a6fe7a76d071ab89cd4895f816d0af2fea5db04721483e9850e23f8c955a905ad3e583473aff3dcdab6e385eb6d7f727cc05738fb795aeadc0075e2179 + languageName: node + linkType: hard + "web3@npm:^4.16.0": version: 4.16.0 resolution: "web3@npm:4.16.0" @@ -20974,6 +22846,20 @@ __metadata: languageName: node linkType: hard +"websocket@npm:^1.0.32": + version: 1.0.35 + resolution: "websocket@npm:1.0.35" + dependencies: + bufferutil: "npm:^4.0.1" + debug: "npm:^2.2.0" + es5-ext: "npm:^0.10.63" + typedarray-to-buffer: "npm:^3.1.5" + utf-8-validate: "npm:^5.0.2" + yaeti: "npm:^0.0.6" + checksum: 10/c05a80c536de7befadc530e5134947f7cc000493038ab78e3ed03080bb873b4ecedf95ea4e7087e6a98d04f02f31723bd98ec67f85e9159525a769b5a478fa8d + languageName: node + linkType: hard + "whatwg-url@npm:^5.0.0": version: 5.0.0 resolution: "whatwg-url@npm:5.0.0" @@ -21239,6 +23125,17 @@ __metadata: languageName: node linkType: hard +"ws@npm:^3.0.0": + version: 3.3.3 + resolution: "ws@npm:3.3.3" + dependencies: + async-limiter: "npm:~1.0.0" + safe-buffer: "npm:~5.1.0" + ultron: "npm:~1.1.0" + checksum: 10/4b4a7e5d11025e399d82a7471bfb4818d563c892f5d953c2de937d262bd8e8acc8b340220001c01f8392574fccbc2df153d6031e285b8b38441187ea0c2cfd72 + languageName: node + linkType: hard + "ws@npm:^7.0.0, ws@npm:^7.4.5, ws@npm:^7.4.6, ws@npm:~7.5.10": version: 7.5.10 resolution: "ws@npm:7.5.10" @@ -21276,6 +23173,42 @@ __metadata: languageName: node linkType: hard +"xhr-request-promise@npm:^0.1.2": + version: 0.1.3 + resolution: "xhr-request-promise@npm:0.1.3" + dependencies: + xhr-request: "npm:^1.1.0" + checksum: 10/49ec3474884858faa55349894b1879c872422a24485097c8b71ba9046027d27f1d54eb61dfdb9d72e78892c7371d22d9cc6a4e101b6767bb4df89a0b6d739f85 + languageName: node + linkType: hard + +"xhr-request@npm:^1.0.1, xhr-request@npm:^1.1.0": + version: 1.1.0 + resolution: "xhr-request@npm:1.1.0" + dependencies: + buffer-to-arraybuffer: "npm:^0.0.5" + object-assign: "npm:^4.1.1" + query-string: "npm:^5.0.1" + simple-get: "npm:^2.7.0" + timed-out: "npm:^4.0.1" + url-set-query: "npm:^1.0.0" + xhr: "npm:^2.0.4" + checksum: 10/531c5e1e47d2e680c1ae1296af7fa375d752cd83c3fa1f9bd9e82fc4fb305ce8e7aaf266256e82bbd34e2a4891ec535bcc4e9f8db2691ab64bb3b6ff40296b9a + languageName: node + linkType: hard + +"xhr@npm:^2.0.4, xhr@npm:^2.3.3": + version: 2.6.0 + resolution: "xhr@npm:2.6.0" + dependencies: + global: "npm:~4.4.0" + is-function: "npm:^1.0.1" + parse-headers: "npm:^2.0.0" + xtend: "npm:^4.0.0" + checksum: 10/31f34aba708955008c87bcd21482be6afc7ff8adc28090e633b1d3f8d3e8e93150bac47b262738b046d7729023a884b655d55cf34e9d14d5850a1275ab49fb37 + languageName: node + linkType: hard + "xtend@npm:^4.0.0, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" @@ -21297,7 +23230,14 @@ __metadata: languageName: node linkType: hard -"yallist@npm:^3.0.2": +"yaeti@npm:^0.0.6": + version: 0.0.6 + resolution: "yaeti@npm:0.0.6" + checksum: 10/6db12c152f7c363b80071086a3ebf5032e03332604eeda988872be50d6c8469e1f13316175544fa320f72edad696c2d83843ad0ff370659045c1a68bcecfcfea + languageName: node + linkType: hard + +"yallist@npm:^3.0.0, yallist@npm:^3.0.2, yallist@npm:^3.1.1": version: 3.1.1 resolution: "yallist@npm:3.1.1" checksum: 10/9af0a4329c3c6b779ac4736c69fae4190ac03029fa27c1aef4e6bcc92119b73dea6fe5db5fe881fb0ce2a0e9539a42cdf60c7c21eda04d1a0b8c082e38509efb