diff --git a/contracts/hardhat.config.ts b/contracts/hardhat.config.ts index 6e01dba..a795f99 100644 --- a/contracts/hardhat.config.ts +++ b/contracts/hardhat.config.ts @@ -11,6 +11,7 @@ import "hardhat-deploy-ethers"; import "hardhat-watcher"; import "hardhat-docgen"; require("./scripts/setDisputeTemplate"); +require("./scripts/changeArbitrator"); // import "hardhat-contract-sizer"; // prevents hardhat-deploy from finding chalk... // import "hardhat-tracer"; // prevents hardhat-deploy from finding chalk... diff --git a/contracts/package.json b/contracts/package.json index b4239a6..3e1d366 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -86,6 +86,6 @@ }, "dependencies": { "@kleros/curate-v2-templates": "workspace:^", - "@kleros/kleros-v2-contracts": "^0.9.3" + "@kleros/kleros-v2-contracts": "^0.10.0" } } diff --git a/contracts/scripts/changeArbitrator.ts b/contracts/scripts/changeArbitrator.ts new file mode 100644 index 0000000..9b7ffeb --- /dev/null +++ b/contracts/scripts/changeArbitrator.ts @@ -0,0 +1,58 @@ +import { task } from "hardhat/config"; +import { CurateFactory, CurateV2 } from "../typechain-types"; +import { DeploymentName, getContractsEthers } from "@kleros/kleros-v2-contracts"; + +const NETWORK_TO_DEPLOYMENT: Record = { + arbitrumSepoliaDevnet: "devnet", + arbitrumSepolia: "testnet", + arbitrum: "mainnetNeo", +} as const; + +task("change-arbitrator", "Changes the arbitrator").setAction(async (args, hre) => { + const { ethers, deployments } = hre; + const deployer = await ethers.getSigners().then((signers) => signers[0].getAddress()); + const networkName = deployments.getNetworkName(); + const deploymentName = NETWORK_TO_DEPLOYMENT[networkName]; + const { klerosCore, evidence } = await getContractsEthers(ethers.provider, deploymentName); + + const changeArbitrator = async (curate: CurateV2) => { + const extraData = await curate.getArbitratorExtraData(); + console.log("Changing the arbitrator for", curate.target); + console.log("klerosCore.target", klerosCore.target); + console.log("extraData", extraData); + console.log("evidence.target", evidence.target); + const tx = await curate + .changeArbitrationParams(klerosCore.target, extraData, evidence.target) + .then((tx) => tx.wait()); + console.log("Arbitration params changed", tx?.hash); + }; + + // Update the master copy of CurateV2 + console.log("Updating the CurateV2 master copy..."); + const curateMaster = await ethers.getContract("CurateV2"); + await changeArbitrator(curateMaster); + + // Update every curated lists created by the factory + const factory = await ethers.getContract("CurateFactory"); + const events = await factory.queryFilter(factory.filters.NewList(), 0, "latest"); + console.log(`Found ${events.length} NewList events:`); + for (let i = 0; i < events.length; i++) { + const event = events[i]; + const curate = await ethers.getContractAtWithSignerAddress("CurateV2", event.args._address, deployer); + const governor = await curate.governor(); + console.log( + `${i + 1}. List address: ${ + curate.target + }, governor: ${governor}, templateIdRegistration: ${await curate.templateIdRegistration()}, templateIdRemoval: ${await curate.templateIdRemoval()}` + ); + + if (deployer.toLowerCase() !== governor.toLowerCase()) { + console.log(`Skipping curate ${curate.target} - signer ${deployer} is not the governor ${governor}`); + continue; + } + + await changeArbitrator(curate); + } + + hre.run("set-dispute-template"); +}); diff --git a/contracts/scripts/getDisputeTemplate.ts b/contracts/scripts/getDisputeTemplate.ts new file mode 100644 index 0000000..5f58701 --- /dev/null +++ b/contracts/scripts/getDisputeTemplate.ts @@ -0,0 +1,33 @@ +import { task } from "hardhat/config"; +import { HardhatRuntimeEnvironment } from "hardhat/types"; +import { IDisputeTemplateRegistry } from "@kleros/kleros-v2-contracts"; + +task("getDisputeTemplate", "Gets a dispute template by ID") + .addPositionalParam("templateId", "The ID of the template to query") + .setAction(async function ({ templateId }: { templateId: string }, hre: HardhatRuntimeEnvironment) { + const { ethers } = hre; + + // Get the contract instance + const disputeTemplateRegistry = await ethers.getContract("DisputeTemplateRegistry"); + + // Query the events + const filter = disputeTemplateRegistry.filters.DisputeTemplate(BigInt(templateId)); + const events = await disputeTemplateRegistry.queryFilter(filter); + + if (events.length === 0) { + console.log(`No template found with ID ${templateId}`); + return; + } + + // Process events synchronously + for (const event of events) { + console.log("\nTemplate Details:"); + console.log("----------------"); + console.log(`Template ID: ${event.args._templateId}`); + console.log(`Template Tag: ${event.args._templateTag}`); + console.log(`Template Data: ${event.args._templateData}`); + console.log(`Template Data Mappings: ${event.args._templateDataMappings}`); + console.log(`Block Number: ${event.blockNumber}`); + console.log(`Transaction Hash: ${event.transactionHash}`); + } + }); diff --git a/contracts/scripts/setDisputeTemplate.ts b/contracts/scripts/setDisputeTemplate.ts index 66177bd..4cbfae8 100644 --- a/contracts/scripts/setDisputeTemplate.ts +++ b/contracts/scripts/setDisputeTemplate.ts @@ -18,6 +18,7 @@ task("set-dispute-template", "Sets the dispute template").setAction(async (args, }; // Update the master copy of CurateV2 + console.log("Updating the CurateV2 master copy..."); const curateMaster = await ethers.getContract("CurateV2"); await changeTemplates(curateMaster); diff --git a/templates/index.ts b/templates/index.ts index 1700b3c..aa24654 100644 --- a/templates/index.ts +++ b/templates/index.ts @@ -7,7 +7,7 @@ const sharedTemplateProperties = ` "arbitrableChainID": "421614", "arbitrableAddress": "{{arbitrableAddress}}", "arbitratorChainID": "421614", - "arbitratorAddress": "0x4838e31E0ea315232c431598110FE677cAF2D6E6", + "arbitratorAddress": "0x1Bd44c4a4511DbFa7DC1d5BC201635596E7200f9", "metadata": { "itemName": "{{itemName}}", "itemDescription": "{{itemDescription}}", diff --git a/web/package.json b/web/package.json index d2e2bb9..672c636 100644 --- a/web/package.json +++ b/web/package.json @@ -47,7 +47,7 @@ "@graphql-codegen/cli": "^4.0.1", "@graphql-codegen/client-preset": "^4.2.0", "@kleros/curate-v2-tsconfig": "workspace:^", - "@kleros/kleros-v2-contracts": "^0.9.3", + "@kleros/kleros-v2-contracts": "^0.10.0", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@types/react-modal": "^3.16.3", diff --git a/yarn.lock b/yarn.lock index 5562bed..ba5852a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -26,7 +26,7 @@ __metadata: languageName: node linkType: hard -"@adraffy/ens-normalize@npm:^1.10.1": +"@adraffy/ens-normalize@npm:^1.10.1, @adraffy/ens-normalize@npm:^1.11.0": version: 1.11.0 resolution: "@adraffy/ens-normalize@npm:1.11.0" checksum: abef75f21470ea43dd6071168e092d2d13e38067e349e76186c78838ae174a46c3e18ca50921d05bea6ec3203074147c9e271f8cb6531d1c2c0e146f3199ddcb @@ -63,43 +63,16 @@ __metadata: languageName: node linkType: hard -"@arbitrum/nitro-contracts@npm:1.1.1": - version: 1.1.1 - resolution: "@arbitrum/nitro-contracts@npm:1.1.1" - dependencies: - "@offchainlabs/upgrade-executor": "npm:1.1.0-beta.0" - "@openzeppelin/contracts": "npm:4.5.0" - "@openzeppelin/contracts-upgradeable": "npm:4.5.2" - patch-package: "npm:^6.4.7" - checksum: 6ea79388bd8ed6de2fdb2e1334d37b520928732c86540eaebed1e21a9f2a04dbc11dbae89f06bd66a169130f9b54d90c9fe6ed45cd4d286bc28b4d77fd49c1f8 - languageName: node - linkType: hard - -"@arbitrum/nitro-contracts@npm:^1.0.0-beta.8": - version: 1.3.0 - resolution: "@arbitrum/nitro-contracts@npm:1.3.0" +"@arbitrum/nitro-contracts@npm:3.0.0": + version: 3.0.0 + resolution: "@arbitrum/nitro-contracts@npm:3.0.0" dependencies: "@offchainlabs/upgrade-executor": "npm:1.1.0-beta.0" - "@openzeppelin/contracts": "npm:4.5.0" - "@openzeppelin/contracts-upgradeable": "npm:4.5.2" + "@openzeppelin/contracts": "npm:4.7.3" + "@openzeppelin/contracts-upgradeable": "npm:4.7.3" patch-package: "npm:^6.4.7" - checksum: cc931bf6d65f8249cfe0527b5e7be2bfb30c40ea8408320949db76e20076b91dcbb384f5b5fb997f303f1b4b83310a0f98a5382d4ec1a58be8cf92267d615121 - languageName: node - linkType: hard - -"@arbitrum/token-bridge-contracts@npm:1.1.2": - version: 1.1.2 - resolution: "@arbitrum/token-bridge-contracts@npm:1.1.2" - dependencies: - "@arbitrum/nitro-contracts": "npm:^1.0.0-beta.8" - "@offchainlabs/upgrade-executor": "npm:1.1.0-beta.0" - "@openzeppelin/contracts": "npm:4.8.3" - "@openzeppelin/contracts-upgradeable": "npm:4.8.3" - "@openzeppelin/upgrades-core": "npm:^1.24.1" - dependenciesMeta: - "@openzeppelin/upgrades-core": - optional: true - checksum: d9a1b69db886e4d34f34f9b92dc226ee2add122328da9dc79a4046322a486a731f5992b8e22a0929b1bb717f9d1d1b60b43085fb952a50e955447b3d7aa1bf0c + solady: "npm:0.0.182" + checksum: 9f2ddd2871f86c23ab8c584fa9d205cc2a8de29dc1124544eb7b070a96e85a6301587902f0c86547e9be63716848da202a8cead01fbd884f73e0b0a01582ba81 languageName: node linkType: hard @@ -1965,28 +1938,20 @@ __metadata: languageName: node linkType: hard -"@bytecodealliance/preview2-shim@npm:0.17.0": - version: 0.17.0 - resolution: "@bytecodealliance/preview2-shim@npm:0.17.0" - checksum: 28a273227d8e8f2b61ad0260be612fd854ace756784c409c6ac4b65bf6b48426e6c058e45c07675303ef844a981fbdda7257df9833ca12bd3e5e4a0480ca5193 - languageName: node - linkType: hard - -"@chainlink/contracts@npm:^1.3.0": - version: 1.3.0 - resolution: "@chainlink/contracts@npm:1.3.0" +"@chainlink/contracts@npm:^1.4.0": + version: 1.4.0 + resolution: "@chainlink/contracts@npm:1.4.0" dependencies: - "@arbitrum/nitro-contracts": "npm:1.1.1" - "@arbitrum/token-bridge-contracts": "npm:1.1.2" - "@changesets/changelog-github": "npm:^0.5.0" - "@changesets/cli": "npm:~2.27.8" + "@arbitrum/nitro-contracts": "npm:3.0.0" + "@changesets/cli": "npm:~2.28.1" + "@changesets/get-github-info": "npm:^0.6.0" "@eth-optimism/contracts": "npm:0.6.0" - "@openzeppelin/contracts": "npm:4.9.3" - "@openzeppelin/contracts-upgradeable": "npm:4.9.3" + "@openzeppelin/contracts": "npm:4.9.6" + "@openzeppelin/contracts-upgradeable": "npm:4.9.6" "@scroll-tech/contracts": "npm:0.1.0" - "@zksync/contracts": "git+https://github.com/matter-labs/era-contracts.git#446d391d34bdb48255d5f8fef8a8248925fc98b9" - semver: "npm:^7.6.3" - checksum: 223e80492520cccad301ba360a27c11c73070cc8e9d03af73f68db987f9ad1e0a43f98e9feb8f284d68e9c79273647d3fadb7477532259de96840cfc67d2ebf3 + "@zksync/contracts": "github:matter-labs/era-contracts#446d391d34bdb48255d5f8fef8a8248925fc98b9" + semver: "npm:^7.7.1" + checksum: df6259b00fbed15cbe4723ce4ff93e2d2d49dc2463b5851f6ffc7b4c07ee3a3d517fb5b3a44adae06cf9bd7aa0cd26185b4fe0ee4a0ad16a9c5f9440b73ec9ac languageName: node linkType: hard @@ -2006,7 +1971,7 @@ __metadata: languageName: node linkType: hard -"@changesets/apply-release-plan@npm:^7.0.8": +"@changesets/apply-release-plan@npm:^7.0.10": version: 7.0.12 resolution: "@changesets/apply-release-plan@npm:7.0.12" dependencies: @@ -2027,7 +1992,7 @@ __metadata: languageName: node linkType: hard -"@changesets/assemble-release-plan@npm:^6.0.5, @changesets/assemble-release-plan@npm:^6.0.6": +"@changesets/assemble-release-plan@npm:^6.0.6": version: 6.0.6 resolution: "@changesets/assemble-release-plan@npm:6.0.6" dependencies: @@ -2041,44 +2006,47 @@ __metadata: languageName: node linkType: hard -"@changesets/changelog-git@npm:^0.2.0": - version: 0.2.1 - resolution: "@changesets/changelog-git@npm:0.2.1" +"@changesets/assemble-release-plan@npm:^6.0.9": + version: 6.0.9 + resolution: "@changesets/assemble-release-plan@npm:6.0.9" dependencies: + "@changesets/errors": "npm:^0.2.0" + "@changesets/get-dependents-graph": "npm:^2.1.3" + "@changesets/should-skip-package": "npm:^0.1.2" "@changesets/types": "npm:^6.1.0" - checksum: c22f3c0baf50c102a6890046351ee42f65ff6d58747ba4f75e5e40da1ed5fbcfd0dc2d11cdfb86acbb3262e58acb93f096c798827cac570c1e22e8f32f58a30f + "@manypkg/get-packages": "npm:^1.1.3" + semver: "npm:^7.5.3" + checksum: f84656eabb700ed77f97751b282e1701636ed45a44b443abd9af0291870495cc046fee301478010f39a1dc455799065ae007b9d7d2bb5ae8b793b65bbb8e052a languageName: node linkType: hard -"@changesets/changelog-github@npm:^0.5.0": - version: 0.5.1 - resolution: "@changesets/changelog-github@npm:0.5.1" +"@changesets/changelog-git@npm:^0.2.1": + version: 0.2.1 + resolution: "@changesets/changelog-git@npm:0.2.1" dependencies: - "@changesets/get-github-info": "npm:^0.6.0" "@changesets/types": "npm:^6.1.0" - dotenv: "npm:^8.1.0" - checksum: 1284e7dc067652edfa14792196e6036849455d121afabe63e8d1a7dc0e8fb0310edb58d1130f2a5944819ae4011eeecc7e0c44c1cda43e6a581a3add187c3447 + checksum: c22f3c0baf50c102a6890046351ee42f65ff6d58747ba4f75e5e40da1ed5fbcfd0dc2d11cdfb86acbb3262e58acb93f096c798827cac570c1e22e8f32f58a30f languageName: node linkType: hard -"@changesets/cli@npm:~2.27.8": - version: 2.27.12 - resolution: "@changesets/cli@npm:2.27.12" +"@changesets/cli@npm:~2.28.1": + version: 2.28.1 + resolution: "@changesets/cli@npm:2.28.1" dependencies: - "@changesets/apply-release-plan": "npm:^7.0.8" - "@changesets/assemble-release-plan": "npm:^6.0.5" - "@changesets/changelog-git": "npm:^0.2.0" - "@changesets/config": "npm:^3.0.5" + "@changesets/apply-release-plan": "npm:^7.0.10" + "@changesets/assemble-release-plan": "npm:^6.0.6" + "@changesets/changelog-git": "npm:^0.2.1" + "@changesets/config": "npm:^3.1.1" "@changesets/errors": "npm:^0.2.0" - "@changesets/get-dependents-graph": "npm:^2.1.2" - "@changesets/get-release-plan": "npm:^4.0.6" + "@changesets/get-dependents-graph": "npm:^2.1.3" + "@changesets/get-release-plan": "npm:^4.0.8" "@changesets/git": "npm:^3.0.2" "@changesets/logger": "npm:^0.1.1" - "@changesets/pre": "npm:^2.0.1" - "@changesets/read": "npm:^0.6.2" - "@changesets/should-skip-package": "npm:^0.1.1" - "@changesets/types": "npm:^6.0.0" - "@changesets/write": "npm:^0.3.2" + "@changesets/pre": "npm:^2.0.2" + "@changesets/read": "npm:^0.6.3" + "@changesets/should-skip-package": "npm:^0.1.2" + "@changesets/types": "npm:^6.1.0" + "@changesets/write": "npm:^0.4.0" "@manypkg/get-packages": "npm:^1.1.3" ansi-colors: "npm:^4.1.3" ci-info: "npm:^3.7.0" @@ -2095,11 +2063,11 @@ __metadata: term-size: "npm:^2.1.0" bin: changeset: bin.js - checksum: 06618abc60ddd9bb82d0380ee6bdea926cce8ebd76e18eb38487fa2501ee1386ffaf55042c8d052d783bcfd2669c51f3eef8b0b0cfc7624486bcec42ac0da9da + checksum: c2cb4063bfd02147970bd629565d05d7e13b9649446997ea5c17e250ef290a1b093f2a2cfaf1e6856597aa435499758f9d6d98bfb24035533376a9d2cc7f37f2 languageName: node linkType: hard -"@changesets/config@npm:^3.0.5, @changesets/config@npm:^3.1.1": +"@changesets/config@npm:^3.1.1": version: 3.1.1 resolution: "@changesets/config@npm:3.1.1" dependencies: @@ -2123,7 +2091,7 @@ __metadata: languageName: node linkType: hard -"@changesets/get-dependents-graph@npm:^2.1.2, @changesets/get-dependents-graph@npm:^2.1.3": +"@changesets/get-dependents-graph@npm:^2.1.3": version: 2.1.3 resolution: "@changesets/get-dependents-graph@npm:2.1.3" dependencies: @@ -2145,17 +2113,17 @@ __metadata: languageName: node linkType: hard -"@changesets/get-release-plan@npm:^4.0.6": - version: 4.0.10 - resolution: "@changesets/get-release-plan@npm:4.0.10" +"@changesets/get-release-plan@npm:^4.0.8": + version: 4.0.13 + resolution: "@changesets/get-release-plan@npm:4.0.13" dependencies: - "@changesets/assemble-release-plan": "npm:^6.0.6" + "@changesets/assemble-release-plan": "npm:^6.0.9" "@changesets/config": "npm:^3.1.1" "@changesets/pre": "npm:^2.0.2" "@changesets/read": "npm:^0.6.5" "@changesets/types": "npm:^6.1.0" "@manypkg/get-packages": "npm:^1.1.3" - checksum: 372087faf29262bc1373721b5793090828fd3dabd9ff64f0fadf2c7dcb6dfcba19d690d9ea86ca3cab9d5c7a45878d64e302cc30f59e159e7074034cf9e806e7 + checksum: 9983fae5a68012c4c418ddd62f2fb3d325363f21160252ff7b868503a1a2effb8fdd32e4a0289b72653afc3605ce19d163ff69205c942a0004efb571a5f78fd0 languageName: node linkType: hard @@ -2198,7 +2166,7 @@ __metadata: languageName: node linkType: hard -"@changesets/pre@npm:^2.0.1, @changesets/pre@npm:^2.0.2": +"@changesets/pre@npm:^2.0.2": version: 2.0.2 resolution: "@changesets/pre@npm:2.0.2" dependencies: @@ -2210,7 +2178,7 @@ __metadata: languageName: node linkType: hard -"@changesets/read@npm:^0.6.2, @changesets/read@npm:^0.6.5": +"@changesets/read@npm:^0.6.3, @changesets/read@npm:^0.6.5": version: 0.6.5 resolution: "@changesets/read@npm:0.6.5" dependencies: @@ -2225,7 +2193,7 @@ __metadata: languageName: node linkType: hard -"@changesets/should-skip-package@npm:^0.1.1, @changesets/should-skip-package@npm:^0.1.2": +"@changesets/should-skip-package@npm:^0.1.2": version: 0.1.2 resolution: "@changesets/should-skip-package@npm:0.1.2" dependencies: @@ -2242,22 +2210,22 @@ __metadata: languageName: node linkType: hard -"@changesets/types@npm:^6.0.0, @changesets/types@npm:^6.1.0": +"@changesets/types@npm:^6.1.0": version: 6.1.0 resolution: "@changesets/types@npm:6.1.0" checksum: 2dcd00712cb85d0c53afdd8d0e856b4bf9c0ce8dc36c838c918d44799aacd9ba8659b9ff610ff92b94fc03c8fd2b52c5b05418fcf8a1bd138cd9182414ede373 languageName: node linkType: hard -"@changesets/write@npm:^0.3.2": - version: 0.3.2 - resolution: "@changesets/write@npm:0.3.2" +"@changesets/write@npm:^0.4.0": + version: 0.4.0 + resolution: "@changesets/write@npm:0.4.0" dependencies: - "@changesets/types": "npm:^6.0.0" + "@changesets/types": "npm:^6.1.0" fs-extra: "npm:^7.0.1" - human-id: "npm:^1.0.2" + human-id: "npm:^4.1.1" prettier: "npm:^2.7.1" - checksum: c16b0a731fa43ae0028fd1f956c7b080030c42ff763f8dac74da8b178a4ea65632831c30550b784286277bdc75a3c44dda46aad8db97f43bb1eb4d61922152aa + checksum: bcea8431a09e282bdf66adbd8411d5d3cc19b4a2df519a42586c912b23a7b3ef18d1d0765e2d1a27ff175e2dfc9ef4c2df95cfa920dd4dd2972aaaf662afc6b9 languageName: node linkType: hard @@ -5375,7 +5343,7 @@ __metadata: "@kleros/curate-v2-prettier-config": "workspace:^" "@kleros/curate-v2-templates": "workspace:^" "@kleros/curate-v2-tsconfig": "workspace:^" - "@kleros/kleros-v2-contracts": "npm:^0.9.3" + "@kleros/kleros-v2-contracts": "npm:^0.10.0" "@logtail/pino": "npm:^0.4.0" "@nomicfoundation/hardhat-chai-matchers": "npm:^2.0.8" "@nomicfoundation/hardhat-ethers": "npm:^3.0.8" @@ -5477,7 +5445,7 @@ __metadata: "@kleros/curate-v2-templates": "workspace:^" "@kleros/curate-v2-tsconfig": "workspace:^" "@kleros/kleros-app": "npm:^2.0.2" - "@kleros/kleros-v2-contracts": "npm:^0.9.3" + "@kleros/kleros-v2-contracts": "npm:^0.10.0" "@kleros/ui-components-library": "npm:^2.20.0" "@reown/appkit": "npm:^1.6.6" "@reown/appkit-adapter-wagmi": "npm:^1.6.6" @@ -5553,15 +5521,17 @@ __metadata: languageName: node linkType: hard -"@kleros/kleros-v2-contracts@npm:^0.9.3": - version: 0.9.3 - resolution: "@kleros/kleros-v2-contracts@npm:0.9.3" +"@kleros/kleros-v2-contracts@npm:^0.10.0": + version: 0.10.0 + resolution: "@kleros/kleros-v2-contracts@npm:0.10.0" dependencies: - "@chainlink/contracts": "npm:^1.3.0" + "@chainlink/contracts": "npm:^1.4.0" "@kleros/vea-contracts": "npm:^0.6.0" - "@openzeppelin/contracts": "npm:^5.2.0" + "@openzeppelin/contracts": "npm:^5.4.0" + "@shutter-network/shutter-sdk": "npm:^0.0.2" + isomorphic-fetch: "npm:^3.0.0" viem: "npm:^2.24.1" - checksum: 39862f09fc516f24e1ec2fc3bdde22aa83f58bada40c58e83ca15c8422b713cb8eac666673c67daf4873f4ca3d7c80ca3b7448d56936165847298b93ca2a9478 + checksum: a0937144cbd4e39fb58fb4ef6e9cac6b4bb56284fc2acf4f8ebdec26e396cf0eeec9e90d6cf588e78e4c35aedccac1a4cb7077d09b615326451c24fa67f3f294 languageName: node linkType: hard @@ -6177,6 +6147,13 @@ __metadata: languageName: node linkType: hard +"@noble/ciphers@npm:^1.3.0": + version: 1.3.0 + resolution: "@noble/ciphers@npm:1.3.0" + checksum: 051660051e3e9e2ca5fb9dece2885532b56b7e62946f89afa7284a0fb8bc02e2bd1c06554dba68162ff42d295b54026456084198610f63c296873b2f1cd7a586 + languageName: node + linkType: hard + "@noble/curves@npm:1.2.0, @noble/curves@npm:~1.2.0": version: 1.2.0 resolution: "@noble/curves@npm:1.2.0" @@ -6231,6 +6208,15 @@ __metadata: languageName: node linkType: hard +"@noble/curves@npm:1.9.2": + version: 1.9.2 + resolution: "@noble/curves@npm:1.9.2" + dependencies: + "@noble/hashes": "npm:1.8.0" + checksum: f60f00ad86296054566b67be08fd659999bb64b692bfbf11dbe3be1f422ad4d826bf5ebb2015ce2e246538eab2b677707e0a46ffa8323a6fae7a9a30ec1fe318 + languageName: node + linkType: hard + "@noble/curves@npm:^1.6.0, @noble/curves@npm:~1.6.0": version: 1.6.0 resolution: "@noble/curves@npm:1.6.0" @@ -6240,6 +6226,15 @@ __metadata: languageName: node linkType: hard +"@noble/curves@npm:^1.9.1, @noble/curves@npm:~1.9.0": + version: 1.9.4 + resolution: "@noble/curves@npm:1.9.4" + dependencies: + "@noble/hashes": "npm:1.8.0" + checksum: e8e9a05f27dc79e8f67001ddf81b69c527e3879085841647a07e150fc1c28fd5b576cce1f411daaa0cae40f8c65b2fd6c457f4165b2c4c9fbe327173ba1d8845 + languageName: node + linkType: hard + "@noble/hashes@npm:1.2.0, @noble/hashes@npm:~1.2.0": version: 1.2.0 resolution: "@noble/hashes@npm:1.2.0" @@ -6289,6 +6284,13 @@ __metadata: languageName: node linkType: hard +"@noble/hashes@npm:1.8.0, @noble/hashes@npm:^1.8.0, @noble/hashes@npm:~1.8.0": + version: 1.8.0 + resolution: "@noble/hashes@npm:1.8.0" + checksum: 474b7f56bc6fb2d5b3a42132561e221b0ea4f91e590f4655312ca13667840896b34195e2b53b7f097ec080a1fdd3b58d902c2a8d0fbdf51d2e238b53808a177e + languageName: node + linkType: hard + "@noble/hashes@npm:^1.5.0, @noble/hashes@npm:~1.6.0": version: 1.6.1 resolution: "@noble/hashes@npm:1.6.1" @@ -6454,15 +6456,6 @@ __metadata: languageName: node linkType: hard -"@nomicfoundation/slang@npm:^0.18.3": - version: 0.18.3 - resolution: "@nomicfoundation/slang@npm:0.18.3" - dependencies: - "@bytecodealliance/preview2-shim": "npm:0.17.0" - checksum: 1dcf687e4719844bffc688d13d15c0db3218ab05983d6b53777a3172c7df157c105171e802fe7812d9fd2bdb4dcd8d7287367c851eed4dfd76621e799c14574f - languageName: node - linkType: hard - "@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.1": version: 0.1.1 resolution: "@nomicfoundation/solidity-analyzer-darwin-arm64@npm:0.1.1" @@ -6705,13 +6698,6 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts-upgradeable@npm:4.5.2": - version: 4.5.2 - resolution: "@openzeppelin/contracts-upgradeable@npm:4.5.2" - checksum: 5e246da7a44bb982a312ebf79978735712140692d46273566e490159b98b9041ca72cc08c3d05172137a389be4caad5afc001480bc5557f3d47162f4626e3723 - languageName: node - linkType: hard - "@openzeppelin/contracts-upgradeable@npm:4.7.3": version: 4.7.3 resolution: "@openzeppelin/contracts-upgradeable@npm:4.7.3" @@ -6719,24 +6705,10 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts-upgradeable@npm:4.8.3": - version: 4.8.3 - resolution: "@openzeppelin/contracts-upgradeable@npm:4.8.3" - checksum: 1ff70629f509221ef948da6de582fd19a6cf7deea884f0c2de1347ca5eb1f3910099f92fcaf1a70fcae982d8f95b58f48548d833e6ad708e5d7afbae1556fae8 - languageName: node - linkType: hard - -"@openzeppelin/contracts-upgradeable@npm:4.9.3": - version: 4.9.3 - resolution: "@openzeppelin/contracts-upgradeable@npm:4.9.3" - checksum: d8fd6fd9d2271fbdd3958c20769b72a241687883ecd3bea05a3969568cdcabdee9d53c21ac776a651c397507d9c22d8db0a4fb970d27bdab918979fae7285a2f - languageName: node - linkType: hard - -"@openzeppelin/contracts@npm:4.5.0": - version: 4.5.0 - resolution: "@openzeppelin/contracts@npm:4.5.0" - checksum: 8bfa1733732420331728cedd7f1f5f4e4ae0700b32c9e5def19b2d42dbb0b246709e8e22abd457e8269d743012ff2aed4e3f100a942f45d9507cb78d5dbd435b +"@openzeppelin/contracts-upgradeable@npm:4.9.6": + version: 4.9.6 + resolution: "@openzeppelin/contracts-upgradeable@npm:4.9.6" + checksum: af9057147f13b6f0e13ca69581777f615f2cce8c6c274ec00fbea906a9095cd9ca1fb70e2c1282122a9f522fd639641c180bf1ad79bb2722494aac5ae9e565bc languageName: node linkType: hard @@ -6747,45 +6719,17 @@ __metadata: languageName: node linkType: hard -"@openzeppelin/contracts@npm:4.8.3": - version: 4.8.3 - resolution: "@openzeppelin/contracts@npm:4.8.3" - checksum: 276481d76afdc71690bd4204cdd47e6add30d183e20df57c76e5ffc481c783ca756842f3b0ac7e3e6336217dcde448cef8279fafae1176ac436ad86594c4bdc2 - languageName: node - linkType: hard - -"@openzeppelin/contracts@npm:4.9.3": - version: 4.9.3 - resolution: "@openzeppelin/contracts@npm:4.9.3" - checksum: ce0a16a56a39b62d72370ac702bce1917096492442ff05de88521beda2c3f3935b93ee2b9a184614dd543a6181f2f0be10243f5a629be87aab284ade68c18320 +"@openzeppelin/contracts@npm:4.9.6": + version: 4.9.6 + resolution: "@openzeppelin/contracts@npm:4.9.6" + checksum: 71f45ad42e68c0559be4ba502115462a01c76fc805c08d3005c10b5550a093f1a2b00b2d7e9d6d1f331e147c50fd4ad832f71c4470ec5b34f5a2d0751cd19a47 languageName: node linkType: hard -"@openzeppelin/contracts@npm:^5.2.0": - version: 5.3.0 - resolution: "@openzeppelin/contracts@npm:5.3.0" - checksum: d1b379a56eb443b6ba2caee51f38bd3e2d5be2d3b2c935a083ed3311c106aa3903d7cadd05457999b24175bb80cc405dd6c70297c9825b15471b38051021fd88 - languageName: node - linkType: hard - -"@openzeppelin/upgrades-core@npm:^1.24.1": - version: 1.44.0 - resolution: "@openzeppelin/upgrades-core@npm:1.44.0" - dependencies: - "@nomicfoundation/slang": "npm:^0.18.3" - bignumber.js: "npm:^9.1.2" - cbor: "npm:^10.0.0" - chalk: "npm:^4.1.0" - compare-versions: "npm:^6.0.0" - debug: "npm:^4.1.1" - ethereumjs-util: "npm:^7.0.3" - minimatch: "npm:^9.0.5" - minimist: "npm:^1.2.7" - proper-lockfile: "npm:^4.1.1" - solidity-ast: "npm:^0.4.60" - bin: - openzeppelin-upgrades-core: dist/cli/cli.js - checksum: 255eaf514726e8e4fab35b7c63688318665aaf91d526bed8d1f87602122754863575a06f0bf54c489d752fbfa3e4d860c4e3c302d320851051cd038f5f983b49 +"@openzeppelin/contracts@npm:^5.4.0": + version: 5.4.0 + resolution: "@openzeppelin/contracts@npm:5.4.0" + checksum: 4f7f926ebd98279ba8223cae5d2cd38e0806e60e3e3a615c9d739ffab870ffab7a1e85f47092faa123c0f26d1699ca15252adea8bcdcaf360b21781acc93b218 languageName: node linkType: hard @@ -7488,6 +7432,13 @@ __metadata: languageName: node linkType: hard +"@scure/base@npm:~1.2.5": + version: 1.2.6 + resolution: "@scure/base@npm:1.2.6" + checksum: c1a7bd5e0b0c8f94c36fbc220f4a67cc832b00e2d2065c7d8a404ed81ab1c94c5443def6d361a70fc382db3496e9487fb9941728f0584782b274c18a4bed4187 + languageName: node + linkType: hard + "@scure/bip32@npm:1.1.5": version: 1.1.5 resolution: "@scure/bip32@npm:1.1.5" @@ -7543,6 +7494,17 @@ __metadata: languageName: node linkType: hard +"@scure/bip32@npm:1.7.0, @scure/bip32@npm:^1.7.0": + version: 1.7.0 + resolution: "@scure/bip32@npm:1.7.0" + dependencies: + "@noble/curves": "npm:~1.9.0" + "@noble/hashes": "npm:~1.8.0" + "@scure/base": "npm:~1.2.5" + checksum: f90e0c23ab6a31a164856ae9cb9a8cae2886df608c74a6c0c4875095b017e30ffd92f28f73b8c52890d9a89fca86d19f6d60bb1ea7cad64c7987f92ae83509ad + languageName: node + linkType: hard + "@scure/bip32@npm:^1.5.0": version: 1.5.0 resolution: "@scure/bip32@npm:1.5.0" @@ -7614,6 +7576,16 @@ __metadata: languageName: node linkType: hard +"@scure/bip39@npm:1.6.0, @scure/bip39@npm:^1.6.0": + version: 1.6.0 + resolution: "@scure/bip39@npm:1.6.0" + dependencies: + "@noble/hashes": "npm:~1.8.0" + "@scure/base": "npm:~1.2.5" + checksum: 63e60c40fa1bda2c1b50351546fee6d7b0947cc814aa7a4209dcedd3693b5053302c8fca28292f5f50735e11c613265359acdc019127393dbab17e53489fc449 + languageName: node + linkType: hard + "@scure/bip39@npm:^1.4.0": version: 1.5.0 resolution: "@scure/bip39@npm:1.5.0" @@ -7817,6 +7789,18 @@ __metadata: languageName: node linkType: hard +"@shutter-network/shutter-sdk@npm:^0.0.2": + version: 0.0.2 + resolution: "@shutter-network/shutter-sdk@npm:0.0.2" + dependencies: + browser-or-node: "npm:^3.0.0" + buffer: "npm:^6.0.3" + lodash: "npm:^4.17.21" + viem: "npm:^2.23.2" + checksum: da53a9cf757be3204fa0e806e6a39e9dee6f6141471c9220c82f5a8f461615b565d30516880eaaa5d31308345839e7f8e9b5534fd9f0eb0abc243ff4c774becd + languageName: node + linkType: hard + "@sinclair/typebox@npm:^0.24.1": version: 0.24.51 resolution: "@sinclair/typebox@npm:0.24.51" @@ -10531,7 +10515,7 @@ __metadata: languageName: node linkType: hard -"@zksync/contracts@git+https://github.com/matter-labs/era-contracts.git#446d391d34bdb48255d5f8fef8a8248925fc98b9": +"@zksync/contracts@github:matter-labs/era-contracts#446d391d34bdb48255d5f8fef8a8248925fc98b9": version: 0.1.0 resolution: "@zksync/contracts@https://github.com/matter-labs/era-contracts.git#commit=446d391d34bdb48255d5f8fef8a8248925fc98b9" checksum: 982b27c109e55a332f6690e164230a033f3c8292dc816b46798704410796caee5b7b3336d9fd238b5b2aedc7a8ffb54ee294e948d11cfb22e925a4c17392e5ab @@ -10634,7 +10618,7 @@ __metadata: languageName: node linkType: hard -"abitype@npm:1.0.8": +"abitype@npm:1.0.8, abitype@npm:^1.0.8": version: 1.0.8 resolution: "abitype@npm:1.0.8" peerDependencies: @@ -11844,13 +11828,6 @@ __metadata: languageName: node linkType: hard -"bignumber.js@npm:^9.1.2": - version: 9.2.1 - resolution: "bignumber.js@npm:9.2.1" - checksum: dc0b979aea8e35b00281f675c96185d512548cf90be097f84b9e831729d2c60eef50792006075878c029b57881e5c5e9cc0d5283e0fa69aad144dc6f4ac77216 - languageName: node - linkType: hard - "binary-extensions@npm:^2.0.0": version: 2.2.0 resolution: "binary-extensions@npm:2.2.0" @@ -12057,6 +12034,13 @@ __metadata: languageName: node linkType: hard +"browser-or-node@npm:^3.0.0": + version: 3.0.0 + resolution: "browser-or-node@npm:3.0.0" + checksum: 51d74cc5d0139da3d37e83ff3906fcca20d02c42aa8b81a48d9ea01806f36df1a4b55006670071b1d7423967777275920054ec8b723410534b580b0232c5093d + languageName: node + linkType: hard + "browser-process-hrtime@npm:^1.0.0": version: 1.0.0 resolution: "browser-process-hrtime@npm:1.0.0" @@ -12532,15 +12516,6 @@ __metadata: languageName: node linkType: hard -"cbor@npm:^10.0.0": - version: 10.0.3 - resolution: "cbor@npm:10.0.3" - dependencies: - nofilter: "npm:^3.0.2" - checksum: ff33c3404c3acc8afc448163a7b32eea39f4f99d641ac496352a6830256617a0b1d49b2862746b6b150e8931b6f6da10572d78c28af3a64b6836881c33c5d942 - languageName: node - linkType: hard - "cbor@npm:^8.1.0": version: 8.1.0 resolution: "cbor@npm:8.1.0" @@ -13263,13 +13238,6 @@ __metadata: languageName: node linkType: hard -"compare-versions@npm:^6.0.0": - version: 6.1.1 - resolution: "compare-versions@npm:6.1.1" - checksum: 9325c0fadfba81afa0ec17e6fc2ef823ba785c693089698b8d9374e5460509f1916a88591644d4cb4045c9a58e47fafbcc0724fe8bf446d2a875a3d6eeddf165 - languageName: node - linkType: hard - "compressible@npm:~2.0.16": version: 2.0.18 resolution: "compressible@npm:2.0.18" @@ -15044,13 +15012,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^8.1.0": - version: 8.6.0 - resolution: "dotenv@npm:8.6.0" - checksum: 31d7b5c010cebb80046ba6853d703f9573369b00b15129536494f04b0af4ea0060ce8646e3af58b455af2f6f1237879dd261a5831656410ec92561ae1ea44508 - languageName: node - linkType: hard - "dset@npm:^3.1.2": version: 3.1.3 resolution: "dset@npm:3.1.3" @@ -16494,7 +16455,7 @@ __metadata: languageName: node linkType: hard -"ethereumjs-util@npm:^7.0.3, ethereumjs-util@npm:^7.1.4": +"ethereumjs-util@npm:^7.1.4": version: 7.1.5 resolution: "ethereumjs-util@npm:7.1.5" dependencies: @@ -18778,10 +18739,12 @@ __metadata: languageName: node linkType: hard -"human-id@npm:^1.0.2": - version: 1.0.2 - resolution: "human-id@npm:1.0.2" - checksum: 16b116ef68c3fc3f65c90b32a338abd0f9ee656a6257baa92c4d7e1154c66469bb6bd4ee840018c35e972aa817f5ae3f0cbabffb78f2ac90aaf02d88a299a371 +"human-id@npm:^4.1.1": + version: 4.1.1 + resolution: "human-id@npm:4.1.1" + bin: + human-id: dist/cli.js + checksum: 84fef1edd470fc155a34161107beed8baf77bafd20bf515c3fadfbce3690ecc9aa0bacf3fcf4cf9add3c274772ead3ef64aa6531374538ffebe8129fccfb0015 languageName: node linkType: hard @@ -19755,6 +19718,16 @@ __metadata: languageName: node linkType: hard +"isomorphic-fetch@npm:^3.0.0": + version: 3.0.0 + resolution: "isomorphic-fetch@npm:3.0.0" + dependencies: + node-fetch: "npm:^2.6.1" + whatwg-fetch: "npm:^3.4.1" + checksum: 568fe0307528c63405c44dd3873b7b6c96c0d19ff795cb15846e728b6823bdbc68cc8c97ac23324509661316f12f551e43dac2929bc7030b8bc4d6aa1158b857 + languageName: node + linkType: hard + "isomorphic-timers-promises@npm:^1.0.1": version: 1.0.1 resolution: "isomorphic-timers-promises@npm:1.0.1" @@ -19807,6 +19780,15 @@ __metadata: languageName: node linkType: hard +"isows@npm:1.0.7": + version: 1.0.7 + resolution: "isows@npm:1.0.7" + peerDependencies: + ws: "*" + checksum: 044b949b369872882af07b60b613b5801ae01b01a23b5b72b78af80c8103bbeed38352c3e8ceff13a7834bc91fd2eb41cf91ec01d59a041d8705680e6b0ec546 + 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" @@ -22565,7 +22547,7 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6, minimist@npm:^1.2.7": +"minimist@npm:^1.2.0, minimist@npm:^1.2.5, minimist@npm:^1.2.6": version: 1.2.8 resolution: "minimist@npm:1.2.8" checksum: 908491b6cc15a6c440ba5b22780a0ba89b9810e1aea684e253e43c4e3b8d56ec1dcdd7ea96dde119c29df59c936cde16062159eae4225c691e19c70b432b6e6f @@ -23165,7 +23147,7 @@ __metadata: languageName: node linkType: hard -"nofilter@npm:^3.0.2, nofilter@npm:^3.1.0": +"nofilter@npm:^3.1.0": version: 3.1.0 resolution: "nofilter@npm:3.1.0" checksum: f63d87231dfda4b783db17d75b15aac948f78e65f4f1043096ef441147f6667ff74cd4b3f57ada5dbe240be282d3e9838558ac863a66cb04ef25fff7b2b4be4e @@ -23717,6 +23699,27 @@ __metadata: languageName: node linkType: hard +"ox@npm:0.8.1": + version: 0.8.1 + resolution: "ox@npm:0.8.1" + dependencies: + "@adraffy/ens-normalize": "npm:^1.11.0" + "@noble/ciphers": "npm:^1.3.0" + "@noble/curves": "npm:^1.9.1" + "@noble/hashes": "npm:^1.8.0" + "@scure/bip32": "npm:^1.7.0" + "@scure/bip39": "npm:^1.6.0" + abitype: "npm:^1.0.8" + eventemitter3: "npm:5.0.1" + peerDependencies: + typescript: ">=5.4.0" + peerDependenciesMeta: + typescript: + optional: true + checksum: a3c967e5b30792d89e7ecbdf976c00c625738e96263e1f0a95ad43c27b57ac18f21357eb7a651ce3c0ff0dc54b3ed071516c9804bc48fa2134262a5066b62fcc + languageName: node + linkType: hard + "p-defer@npm:^3.0.0": version: 3.0.0 resolution: "p-defer@npm:3.0.0" @@ -25557,17 +25560,6 @@ __metadata: languageName: node linkType: hard -"proper-lockfile@npm:^4.1.1": - version: 4.1.2 - resolution: "proper-lockfile@npm:4.1.2" - dependencies: - graceful-fs: "npm:^4.2.4" - retry: "npm:^0.12.0" - signal-exit: "npm:^3.0.2" - checksum: 000a4875f543f591872b36ca94531af8a6463ddb0174f41c0b004d19e231d7445268b422ff1ea595e43d238655c702250cd3d27f408e7b9d97b56f1533ba26bf - languageName: node - linkType: hard - "property-information@npm:^6.0.0": version: 6.4.1 resolution: "property-information@npm:6.4.1" @@ -27482,6 +27474,15 @@ __metadata: languageName: node linkType: hard +"semver@npm:^7.7.1": + version: 7.7.2 + resolution: "semver@npm:7.7.2" + bin: + semver: bin/semver.js + checksum: 7a24cffcaa13f53c09ce55e05efe25cd41328730b2308678624f8b9f5fc3093fc4d189f47950f0b811ff8f3c3039c24a2c36717ba7961615c682045bf03e1dda + languageName: node + linkType: hard + "send@npm:0.18.0": version: 0.18.0 resolution: "send@npm:0.18.0" @@ -27969,6 +27970,13 @@ __metadata: languageName: node linkType: hard +"solady@npm:0.0.182": + version: 0.0.182 + resolution: "solady@npm:0.0.182" + checksum: 3bc02c37da3e791b366ecbfa1b28bf204926c206f3c36da59cc11c16b97775fa62720022a5b3b7849b4a5efda33bcc829a0a24a411782232e247c85bc945c971 + languageName: node + linkType: hard + "solc@npm:0.8.26": version: 0.8.26 resolution: "solc@npm:0.8.26" @@ -28017,13 +28025,6 @@ __metadata: languageName: node linkType: hard -"solidity-ast@npm:^0.4.60": - version: 0.4.60 - resolution: "solidity-ast@npm:0.4.60" - checksum: 1811d4f5c3b767875819127a9eed125700840124d4d958a09f77cca33f224b4d075567344e366d12569fc6a1974798a30359fb817abf7cbaf320fbd7891e95bd - languageName: node - linkType: hard - "solidity-comments-extractor@npm:^0.0.8": version: 0.0.8 resolution: "solidity-comments-extractor@npm:0.0.8" @@ -30671,6 +30672,27 @@ __metadata: languageName: node linkType: hard +"viem@npm:^2.23.2": + version: 2.32.1 + resolution: "viem@npm:2.32.1" + dependencies: + "@noble/curves": "npm:1.9.2" + "@noble/hashes": "npm:1.8.0" + "@scure/bip32": "npm:1.7.0" + "@scure/bip39": "npm:1.6.0" + abitype: "npm:1.0.8" + isows: "npm:1.0.7" + ox: "npm:0.8.1" + ws: "npm:8.18.2" + peerDependencies: + typescript: ">=5.0.4" + peerDependenciesMeta: + typescript: + optional: true + checksum: 890c82d32c8db6717c65d9a37daf6223bc9313ceb1cc22b19b8fc49ded18198bf060fd2fd27676a5b1cdbf1ea36cb9b4a44b75a608218251d54b41d189a7022c + languageName: node + linkType: hard + "viem@npm:^2.24.1, viem@npm:^2.27.2": version: 2.27.2 resolution: "viem@npm:2.27.2" @@ -31275,7 +31297,7 @@ __metadata: languageName: node linkType: hard -"whatwg-fetch@npm:^3.6.2": +"whatwg-fetch@npm:^3.4.1, whatwg-fetch@npm:^3.6.2": version: 3.6.20 resolution: "whatwg-fetch@npm:3.6.20" checksum: 2b4ed92acd6a7ad4f626a6cb18b14ec982bbcaf1093e6fe903b131a9c6decd14d7f9c9ca3532663c2759d1bdf01d004c77a0adfb2716a5105465c20755a8c57c @@ -31809,6 +31831,21 @@ __metadata: languageName: node linkType: hard +"ws@npm:8.18.2": + version: 8.18.2 + resolution: "ws@npm:8.18.2" + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ">=5.0.2" + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + checksum: 018e04ec95561d88248d53a2eaf094b4ae131e9b062f2679e6e8a62f04649bc543448f1e038125225ac6bbb25f54c1e65d7a2cc9dbc1e28b43e5e6b7162ad88e + languageName: node + linkType: hard + "ws@npm:^7.4.6, ws@npm:^7.5.1": version: 7.5.9 resolution: "ws@npm:7.5.9"