diff --git a/packages/cli/src/rpc.ts b/packages/cli/src/rpc.ts index e715a0b5b..527fceb7c 100644 --- a/packages/cli/src/rpc.ts +++ b/packages/cli/src/rpc.ts @@ -185,7 +185,7 @@ export function getProvider(expectedAnvilInstance: ChildProcess): typeof anvilPr export function createProviderProxy(provider: viem.Client): Promise { return new Promise((resolve) => { - const server = http.createServer(async (req, res) => { + const server = http.createServer(async (req: any, res: any) => { res.setHeader('Content-Type', 'application/json'); const reqJson = JSON.parse(await streamToString(req)); diff --git a/packages/cli/src/util/on-keypress.ts b/packages/cli/src/util/on-keypress.ts index 9fc4a0086..9d5b2ca38 100644 --- a/packages/cli/src/util/on-keypress.ts +++ b/packages/cli/src/util/on-keypress.ts @@ -15,11 +15,11 @@ interface Controls { export default function onKeypress(handleKeyPress: (evt: KeyboardEvent, controls: Controls) => void) { return new Promise((resolve) => { const rl = readline.createInterface({ - input: process.stdin, + input: process.stdin as unknown as any, escapeCodeTimeout: 50, }); - readline.emitKeypressEvents(process.stdin, rl); + readline.emitKeypressEvents(process.stdin as unknown as any, rl); if (process.stdin.isTTY) { process.stdin.setRawMode(true); } diff --git a/packages/registry/package.json b/packages/registry/package.json index 069cfcf5b..796d49457 100644 --- a/packages/registry/package.json +++ b/packages/registry/package.json @@ -25,7 +25,7 @@ "@typechain/ethers-v5": "10.1.0", "@typechain/hardhat": "6.1.2", "@types/mocha": "9.1.1", - "@types/node": "18.0.0", + "@types/node": "22.7.5", "@usecannon/builder": "workspace:*", "@usecannon/cli": "workspace:*", "at-least-node": "^1.0.0", @@ -40,6 +40,7 @@ "solidity-coverage": "0.7.21", "ts-node": "10.8.1", "typechain": "8.1.0", - "typescript": "^5.3.3" + "typescript": "^5.3.3", + "viem": "^2.21.15" } } diff --git a/packages/registry/scripts/list-packages.ts b/packages/registry/scripts/list-packages.ts index 9948f69e4..3829ac591 100755 --- a/packages/registry/scripts/list-packages.ts +++ b/packages/registry/scripts/list-packages.ts @@ -2,60 +2,82 @@ /* eslint-disable no-console */ +import 'dotenv/config'; import { DEFAULT_REGISTRY_ADDRESS } from '@usecannon/builder'; import CannonRegistryAbi from '@usecannon/builder/dist/src/abis/CannonRegistry'; import * as viem from 'viem'; import { mainnet, optimism } from 'viem/chains'; -const { PROVIDER_URL } = process.env; +const { ETHEREUM_PROVIDER_URL, OPTIMISM_PROVIDER_URL } = process.env; -// Used only for getting additional publishers -const OPTIMISM_PROVIDER_URL = 'wss://optimism-rpc.publicnode.com'; +const ETH_START_BLOCK = 19543644; +const OP_START_BLOCK = 119000000; -// const REGISTRY_DEPLOY_BLOCK = 16493645; // Contract deployment block -const REGISTRY_DEPLOY_BLOCK = 19543644; // First publish event emitted +if (typeof ETHEREUM_PROVIDER_URL !== 'string' || !ETHEREUM_PROVIDER_URL) { + throw new Error('Missing RPC Provider url to use. Needs to have archival node, e.g. Alchemy.'); +} -if (typeof PROVIDER_URL !== 'string' || !PROVIDER_URL) { +if (typeof OPTIMISM_PROVIDER_URL !== 'string' || !OPTIMISM_PROVIDER_URL) { throw new Error('Missing RPC Provider url to use. Needs to have archival node, e.g. Alchemy.'); } +const ownerOrPublisher = process.argv[2] ? viem.getAddress(process.argv[2]) : undefined; + async function main() { - const client = viem.createPublicClient({ + const ethClient = viem.createPublicClient({ chain: mainnet, - transport: PROVIDER_URL?.startsWith('wss://') ? viem.webSocket(PROVIDER_URL) : viem.http(PROVIDER_URL), + transport: ETHEREUM_PROVIDER_URL!.startsWith('wss://') + ? viem.webSocket(ETHEREUM_PROVIDER_URL) + : viem.http(ETHEREUM_PROVIDER_URL), + }); + + const opClient = viem.createPublicClient({ + chain: optimism, + transport: OPTIMISM_PROVIDER_URL!.startsWith('wss://') + ? viem.webSocket(OPTIMISM_PROVIDER_URL) + : viem.http(OPTIMISM_PROVIDER_URL), }); - const contract = viem.getContract({ + const ethContract = viem.getContract({ address: DEFAULT_REGISTRY_ADDRESS, abi: CannonRegistryAbi, - client, + client: ethClient, }); const opContract = viem.getContract({ address: DEFAULT_REGISTRY_ADDRESS, abi: CannonRegistryAbi, - client: viem.createPublicClient({ - chain: optimism, - transport: OPTIMISM_PROVIDER_URL?.startsWith('wss://') - ? viem.webSocket(OPTIMISM_PROVIDER_URL) - : viem.http(OPTIMISM_PROVIDER_URL), - }), + client: opClient, }); - const packageNames = await getPackageNames(client); + const [ethPackageNames, opPackageNames] = await Promise.all([ + _getPackageNames(ethClient as viem.PublicClient, ETH_START_BLOCK), + _getPackageNames(opClient as viem.PublicClient, OP_START_BLOCK), + ]); + + const packageNames = new Set([...Array.from(ethPackageNames), ...Array.from(opPackageNames)]); console.log('{'); - for (const [i, [bytes32name, name]] of Object.entries(packageNames)) { - const owner = await contract.read.getPackageOwner([bytes32name]); + for (const [i, bytes32name] of packageNames.entries()) { + const name = viem.hexToString(bytes32name, { size: 32 }); + const [owner, ethPublishers, opPublishers] = await Promise.all([ + ethContract.read.getPackageOwner([bytes32name]).then((o: any) => viem.getAddress(o)), + ethContract.read.getAdditionalPublishers([bytes32name]).then((p: any) => p.map((p: any) => viem.getAddress(p))), + opContract.read.getAdditionalPublishers([bytes32name]).then((p: any) => p.map((p: any) => viem.getAddress(p))), + ]); - const ethPublishers = await contract.read.getAdditionalPublishers([bytes32name]); - const opPublishers = await opContract.read.getAdditionalPublishers([bytes32name]); const publishers = Array.from(new Set([...ethPublishers, ...opPublishers])); - const comma = Number.parseInt(i) === packageNames.length - 1 ? '' : ','; + if (ownerOrPublisher && !viem.isAddressEqual(owner, ownerOrPublisher) && !publishers.includes(ownerOrPublisher)) { + continue; + } + + const comma = Number.parseInt(i) === packageNames.size - 1 ? '' : ','; console.log(` "${name}": { "owner:": "${owner}", "publishers": ${JSON.stringify(publishers)} }${comma}`); } console.log('}'); + + process.exit(0); } const _packagePublishEvents = viem.parseAbi([ @@ -93,12 +115,12 @@ const _packagePublishEvents = viem.parseAbi([ * OwnerNominated (address newOwner) */ -async function getPackageNames(client: viem.PublicClient) { - const names = new Set<[string, string]>(); +async function _getPackageNames(client: viem.PublicClient, startBlock: number) { + const names = new Set(); const latestBlock = Number((await client.getBlockNumber()).toString()); - for (const [fromBlock, toBlock] of batches(REGISTRY_DEPLOY_BLOCK, latestBlock, 50000)) { + for (const [fromBlock, toBlock] of _batches(startBlock, latestBlock, 50000)) { const filter = await client.createEventFilter({ address: DEFAULT_REGISTRY_ADDRESS, events: _packagePublishEvents, @@ -112,15 +134,14 @@ async function getPackageNames(client: viem.PublicClient) { console.error(log); throw new Error('Invalid event'); } - const name = viem.hexToString(log.args.name, { size: 32 }); - names.add([log.args.name, name]); + names.add(log.args.name); } } - return Array.from(names); + return names; } -function* batches(start: number, end: number, batchSize: number) { +function* _batches(start: number, end: number, batchSize: number) { const count = Math.ceil((end - start) / batchSize); for (let i = 0; i < count; i++) { const batchStart = start + batchSize * i; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c7fba3f58..a5f8b0d16 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -551,7 +551,7 @@ importers: devDependencies: '@nomiclabs/hardhat-ethers': specifier: 2.0.6 - version: 2.0.6(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + version: 2.0.6(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) '@synthetixio/core-contracts': specifier: 1.1.1 version: 1.1.1 @@ -560,13 +560,13 @@ importers: version: 10.1.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4))(typescript@5.5.4) '@typechain/hardhat': specifier: 6.1.2 - version: 6.1.2(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@typechain/ethers-v5@10.1.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4))(typescript@5.5.4))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4)) + version: 6.1.2(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@typechain/ethers-v5@10.1.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4))(typescript@5.5.4))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4)) '@types/mocha': specifier: 9.1.1 version: 9.1.1 '@types/node': - specifier: 18.0.0 - version: 18.0.0 + specifier: 22.7.5 + version: 22.7.5 '@usecannon/builder': specifier: workspace:* version: link:../builder @@ -587,16 +587,16 @@ importers: version: 5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) hardhat: specifier: ^2.22.3 - version: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + version: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) hardhat-cannon: specifier: workspace:* version: link:../hardhat-cannon hardhat-contract-sizer: specifier: ^2.7.0 - version: 2.10.0(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) + version: 2.10.0(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)) hardhat-gas-reporter: specifier: ^1.0.9 - version: 1.0.10(bufferutil@4.0.8)(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) + version: 1.0.10(bufferutil@4.0.8)(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10) mocha: specifier: 10.0.0 version: 10.0.0 @@ -605,13 +605,16 @@ importers: version: 0.7.21(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) ts-node: specifier: 10.8.1 - version: 10.8.1(@types/node@18.0.0)(typescript@5.5.4) + version: 10.8.1(@types/node@22.7.5)(typescript@5.5.4) typechain: specifier: 8.1.0 version: 8.1.0(typescript@5.5.4) typescript: specifier: ^5.3.3 version: 5.5.4 + viem: + specifier: ^2.21.15 + version: 2.21.15(bufferutil@4.0.8)(typescript@5.5.4)(utf-8-validate@5.0.10)(zod@3.23.8) packages/repo: dependencies: @@ -700,7 +703,7 @@ importers: version: 0.2.6 axios: specifier: ^1.7.7 - version: 1.7.7 + version: 1.7.7(debug@4.3.7) get-port-please: specifier: ^3.1.2 version: 3.1.2 @@ -6545,9 +6548,6 @@ packages: '@types/node@16.18.105': resolution: {integrity: sha512-w2d0Z9yMk07uH3+Cx0N8lqFyi3yjXZxlbYappPj+AsOlT02OyxyiuNoNHdGt6EuiSm8Wtgp2YV7vWg+GMFrvFA==} - '@types/node@18.0.0': - resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} - '@types/node@18.15.13': resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} @@ -14886,6 +14886,7 @@ packages: sudo-prompt@9.2.1: resolution: {integrity: sha512-Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. superagent@10.1.1: resolution: {integrity: sha512-9pIwrHrOj3uAnqg9gDlW7EA2xv+N5au/dSM0kM22HTqmUu8jBxNT+8uA7tA3UoCnmiqzpSbu8rasIUZvbyamMQ==} @@ -16005,6 +16006,9 @@ packages: web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} + web-solc@0.5.1: + resolution: {integrity: sha512-Z/hBplZq1+4i4bYeIeD9N3vP1BLUBXpSDa4h0Ipm2Z2cHv7x7DtZ2zFb0E1L1VZo4BF+OJGVtGlT+nTUXGgncQ==} + web-streams-polyfill@3.3.3: resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} engines: {node: '>= 8'} @@ -19364,7 +19368,7 @@ snapshots: '@cucumber/ci-environment': 10.0.1 '@cucumber/cucumber-expressions': 17.1.0 '@cucumber/gherkin': 28.0.0 - '@cucumber/gherkin-streams': 5.0.1(@cucumber/gherkin@28.0.0)(@cucumber/message-streams@4.0.1(@cucumber/messages@24.1.0))(@cucumber/messages@24.1.0) + '@cucumber/gherkin-streams': 5.0.1(@cucumber/gherkin@28.0.0)(@cucumber/message-streams@4.0.1(@cucumber/messages@25.0.1))(@cucumber/messages@24.1.0) '@cucumber/gherkin-utils': 9.0.0 '@cucumber/html-formatter': 21.6.0(@cucumber/messages@24.1.0) '@cucumber/message-streams': 4.0.1(@cucumber/messages@24.1.0) @@ -19404,7 +19408,7 @@ snapshots: yaml: 2.5.0 yup: 1.2.0 - '@cucumber/gherkin-streams@5.0.1(@cucumber/gherkin@28.0.0)(@cucumber/message-streams@4.0.1(@cucumber/messages@24.1.0))(@cucumber/messages@24.1.0)': + '@cucumber/gherkin-streams@5.0.1(@cucumber/gherkin@28.0.0)(@cucumber/message-streams@4.0.1(@cucumber/messages@25.0.1))(@cucumber/messages@24.1.0)': dependencies: '@cucumber/gherkin': 28.0.0 '@cucumber/message-streams': 4.0.1(@cucumber/messages@24.1.0) @@ -20540,7 +20544,7 @@ snapshots: '@koa/router@9.4.0': dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) http-errors: 1.8.1 koa-compose: 4.1.0 methods: 1.1.2 @@ -21262,10 +21266,10 @@ snapshots: '@nomicfoundation/solidity-analyzer-linux-x64-musl': 0.1.2 '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.2 - '@nomiclabs/hardhat-ethers@2.0.6(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': + '@nomiclabs/hardhat-ethers@2.0.6(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': dependencies: ethers: 5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) - hardhat: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) '@nomiclabs/hardhat-ethers@2.2.3(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.9.2(@types/node@16.18.105)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))': dependencies: @@ -23988,14 +23992,14 @@ snapshots: lodash: 4.17.21 typechain: 5.2.0(typescript@5.5.4) - '@typechain/hardhat@6.1.2(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@typechain/ethers-v5@10.1.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4))(typescript@5.5.4))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4))': + '@typechain/hardhat@6.1.2(@ethersproject/abi@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(@typechain/ethers-v5@10.1.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4))(typescript@5.5.4))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4))': dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/providers': 5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10) '@typechain/ethers-v5': 10.1.0(@ethersproject/abi@5.7.0)(@ethersproject/bytes@5.7.0)(@ethersproject/providers@5.7.2(bufferutil@4.0.8)(utf-8-validate@5.0.10))(ethers@5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10))(typechain@8.1.0(typescript@5.5.4))(typescript@5.5.4) ethers: 5.7.1(bufferutil@4.0.8)(utf-8-validate@5.0.10) fs-extra: 9.1.0 - hardhat: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) lodash: 4.17.21 typechain: 8.1.0(typescript@5.5.4) @@ -24016,7 +24020,7 @@ snapshots: '@types/adm-zip@0.5.5': dependencies: - '@types/node': 22.5.0 + '@types/node': 22.7.5 '@types/babel__core@7.20.5': dependencies: @@ -24079,7 +24083,7 @@ snapshots: dependencies: '@types/busboy': 1.5.4 '@types/express': 4.17.21 - '@types/node': 22.5.0 + '@types/node': 22.7.5 '@types/connect@3.4.36': dependencies: @@ -24259,7 +24263,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 22.5.0 + '@types/node': 22.7.5 '@types/geojson@7946.0.14': {} @@ -24351,7 +24355,7 @@ snapshots: '@types/mock-fs@4.13.4': dependencies: - '@types/node': 22.5.0 + '@types/node': 22.7.5 '@types/morgan@1.9.9': dependencies: @@ -24373,8 +24377,6 @@ snapshots: '@types/node@16.18.105': {} - '@types/node@18.0.0': {} - '@types/node@18.15.13': {} '@types/node@20.16.1': @@ -24421,7 +24423,7 @@ snapshots: '@types/prompts@2.4.9': dependencies: - '@types/node': 22.5.0 + '@types/node': 22.7.5 kleur: 3.0.3 '@types/prop-types@15.7.12': {} @@ -24699,7 +24701,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@usecannon/web-solc@0.5.1': {} + '@usecannon/web-solc@0.5.1': + dependencies: + web-solc: 0.5.1 '@vanilla-extract/css@1.14.0': dependencies: @@ -25331,7 +25335,7 @@ snapshots: agent-base@7.1.1: dependencies: - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -25667,14 +25671,6 @@ snapshots: transitivePeerDependencies: - debug - axios@1.7.7: - dependencies: - follow-redirects: 1.15.6 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - axios@1.7.7(debug@4.3.7): dependencies: follow-redirects: 1.15.6(debug@4.3.7) @@ -27214,21 +27210,12 @@ snapshots: optionalDependencies: supports-color: 8.1.1 - debug@4.3.6: - dependencies: - ms: 2.1.2 - optional: true - debug@4.3.6(supports-color@8.1.1): dependencies: ms: 2.1.2 optionalDependencies: supports-color: 8.1.1 - debug@4.3.7: - dependencies: - ms: 2.1.3 - debug@4.3.7(supports-color@8.1.1): dependencies: ms: 2.1.3 @@ -28738,17 +28725,6 @@ snapshots: iconv-lite: 0.4.24 tmp: 0.0.33 - extract-zip@2.0.1: - dependencies: - debug: 4.3.7 - get-stream: 5.2.0 - yauzl: 2.10.0 - optionalDependencies: - '@types/yauzl': 2.10.3 - transitivePeerDependencies: - - supports-color - optional: true - extract-zip@2.0.1(supports-color@8.1.1): dependencies: debug: 4.3.7(supports-color@8.1.1) @@ -28952,8 +28928,6 @@ snapshots: dependencies: tslib: 2.8.0 - follow-redirects@1.15.6: {} - follow-redirects@1.15.6(debug@4.3.6): optionalDependencies: debug: 4.3.6(supports-color@8.1.1) @@ -29458,18 +29432,18 @@ snapshots: hard-rejection@2.1.0: {} - hardhat-contract-sizer@2.10.0(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)): + hardhat-contract-sizer@2.10.0(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10)): dependencies: chalk: 4.1.2 cli-table3: 0.6.5 - hardhat: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) strip-ansi: 6.0.1 - hardhat-gas-reporter@1.0.10(bufferutil@4.0.8)(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10): + hardhat-gas-reporter@1.0.10(bufferutil@4.0.8)(hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10))(utf-8-validate@5.0.10): dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.27(bufferutil@4.0.8)(utf-8-validate@5.0.10) - hardhat: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) + hardhat: 2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10) sha1: 1.1.1 transitivePeerDependencies: - '@codechecks/client' @@ -29501,7 +29475,7 @@ snapshots: - debug - utf-8-validate - hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10): + hardhat@2.22.9(bufferutil@4.0.8)(ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4))(typescript@5.5.4)(utf-8-validate@5.0.10): dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 @@ -29547,7 +29521,7 @@ snapshots: uuid: 8.3.2 ws: 7.5.10(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: - ts-node: 10.8.1(@types/node@18.0.0)(typescript@5.5.4) + ts-node: 10.8.1(@types/node@22.7.5)(typescript@5.5.4) typescript: 5.5.4 transitivePeerDependencies: - bufferutil @@ -30130,7 +30104,7 @@ snapshots: https-proxy-agent@7.0.5: dependencies: agent-base: 7.1.1 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -31262,7 +31236,7 @@ snapshots: content-disposition: 0.5.4 content-type: 1.0.5 cookies: 0.9.1 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) delegates: 1.0.0 depd: 2.0.0 destroy: 1.2.0 @@ -34787,8 +34761,8 @@ snapshots: dependencies: camelcase: 6.3.0 cross-spawn: 7.0.3 - debug: 4.3.6 - extract-zip: 2.0.1 + debug: 4.3.6(supports-color@8.1.1) + extract-zip: 2.0.1(supports-color@8.1.1) find-cache-dir: 3.3.2 find-package-json: 1.2.0 get-port: 5.1.1 @@ -36138,7 +36112,7 @@ snapshots: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) fast-safe-stringify: 2.1.1 form-data: 4.0.0 formidable: 3.5.2 @@ -36152,7 +36126,7 @@ snapshots: dependencies: component-emitter: 1.3.1 cookiejar: 2.1.4 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) fast-safe-stringify: 2.1.1 form-data: 4.0.0 formidable: 3.5.2 @@ -36557,14 +36531,14 @@ snapshots: - '@swc/wasm' - '@types/node' - ts-node@10.8.1(@types/node@18.0.0)(typescript@5.5.4): + ts-node@10.8.1(@types/node@22.7.5)(typescript@5.5.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.0.0 + '@types/node': 22.7.5 acorn: 8.12.1 acorn-walk: 8.3.3 arg: 4.1.3 @@ -37345,7 +37319,7 @@ snapshots: vite-node@2.1.8(@types/node@22.7.5)(sass@1.77.8)(terser@5.36.0): dependencies: cac: 6.7.14 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) es-module-lexer: 1.5.4 pathe: 1.1.2 vite: 5.4.11(@types/node@22.7.5)(sass@1.77.8)(terser@5.36.0) @@ -37381,7 +37355,7 @@ snapshots: '@vitest/spy': 2.1.8 '@vitest/utils': 2.1.8 chai: 5.1.2 - debug: 4.3.7 + debug: 4.3.7(supports-color@8.1.1) expect-type: 1.1.0 magic-string: 0.30.14 pathe: 1.1.2 @@ -37466,6 +37440,10 @@ snapshots: web-namespaces@2.0.1: {} + web-solc@0.5.1: + dependencies: + semver: 7.6.3 + web-streams-polyfill@3.3.3: {} web3-bzz@1.10.0(bufferutil@4.0.8)(utf-8-validate@5.0.10):