diff --git a/.env.example b/.env.example deleted file mode 100644 index 4633c545..00000000 --- a/.env.example +++ /dev/null @@ -1,10 +0,0 @@ -export INFURA_API_KEY="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" -export MNEMONIC="here is where your twelve words mnemonic should be put my friend" - -# Block explorer API keys -export ARBISCAN_API_KEY="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" -export BSCSCAN_API_KEY="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" -export ETHERSCAN_API_KEY="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" -export OPTIMISM_API_KEY="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" -export POLYGONSCAN_API_KEY="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" -export SNOWTRACE_API_KEY="zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index c5cd627e..3fc021af 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,7 +1,18 @@ name: "CI" env: - DOTENV_CONFIG_PATH: "./.env.example" + HARDHAT_VAR_MNEMONIC: "test test test test test test test test test test test junk" + HARDHAT_VAR_INFURA_API_KEY: "zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz" +# Uncomment the following lines to set your configuration variables using +# GitHub secrets (https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions) +# HARDHAT_VAR_MNEMONIC: ${{ secrets.Mnemonic }} +# HARDHAT_VAR_INFURA_API_KEY: ${{ secrets.InfuraApiKey }} +# HARDHAT_VAR_ARBISCAN_API_KEY: ${{ secrets.ArbiscanApiKey }} +# HARDHAT_VAR_BSCSCAN_API_KEY: ${{ secrets.BscscanApiKey }} +# HARDHAT_VAR_ETHERSCAN_API_KEY: ${{ secrets.EtherscanApiKey }} +# HARDHAT_VAR_OPTIMISM_API_KEY: ${{ secrets.OptimismApiKey }} +# HARDHAT_VAR_POLYGONSCAN_API_KEY: ${{ secrets.PolygonscanApiKey }} +# HARDHAT_VAR_SNOWTRACE_API_KEY: ${{ secrets.SnowtraceApiKey }} on: workflow_dispatch: diff --git a/.solcover.js b/.solcover.js index d71a6697..c61d16c7 100644 --- a/.solcover.js +++ b/.solcover.js @@ -1,7 +1,4 @@ module.exports = { istanbulReporter: ["html", "lcov"], - providerOptions: { - mnemonic: process.env.MNEMONIC, - }, skipFiles: ["test"], }; diff --git a/README.md b/README.md index aa1332c1..b2050628 100644 --- a/README.md +++ b/README.md @@ -60,22 +60,35 @@ request made to the `main` branch. Note though that to make this work, you must use your `INFURA_API_KEY` and your `MNEMONIC` as GitHub secrets. +For more information on how to set up GitHub secrets, check out the +[docs](https://docs.github.com/en/actions/security-guides/using-secrets-in-github-actions). + You can edit the CI script in [.github/workflows/ci.yml](./.github/workflows/ci.yml). ## Usage ### Pre Requisites -Before being able to run any command, you need to create a `.env` file and set a BIP-39 compatible mnemonic as an -environment variable. You can follow the example in `.env.example`. If you don't already have a mnemonic, you can use -this [website](https://iancoleman.io/bip39/) to generate one. - -Then, proceed with installing dependencies: +First, you need to install the dependencies: ```sh $ pnpm install ``` +Then, you need to set up all the required +[Hardhat Configuration Variables](https://hardhat.org/hardhat-runner/docs/guides/configuration-variables). You might +also want to install some that are optional. + +To assist with the setup process, run `pnpm dlx hardhat vars setup`. To set a particular value, such as a BIP-39 +mnemonic variable, execute this: + +```sh +$ pnpm dlx hardhat vars set MNEMONIC +? Enter value: ‣ here is where your twelve words mnemonic should be put my friend +``` + +If you do not already have a mnemonic, you can generate one using this [website](https://iancoleman.io/bip39/). + ### Compile Compile the smart contracts with Hardhat: diff --git a/hardhat.config.ts b/hardhat.config.ts index 58f12d03..12f70bbb 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -1,27 +1,17 @@ import "@nomicfoundation/hardhat-toolbox"; -import { config as dotenvConfig } from "dotenv"; import "hardhat-deploy"; import type { HardhatUserConfig } from "hardhat/config"; +import { vars } from "hardhat/config"; import type { NetworkUserConfig } from "hardhat/types"; -import { resolve } from "path"; import "./tasks/accounts"; import "./tasks/greet"; import "./tasks/taskDeploy"; -const dotenvConfigPath: string = process.env.DOTENV_CONFIG_PATH || "./.env"; -dotenvConfig({ path: resolve(__dirname, dotenvConfigPath) }); +// Run 'npx hardhat vars setup' to see the list of variables that need to be set -// Ensure that we have all the environment variables we need. -const mnemonic: string | undefined = process.env.MNEMONIC; -if (!mnemonic) { - throw new Error("Please set your MNEMONIC in a .env file"); -} - -const infuraApiKey: string | undefined = process.env.INFURA_API_KEY; -if (!infuraApiKey) { - throw new Error("Please set your INFURA_API_KEY in a .env file"); -} +const mnemonic: string = vars.get("MNEMONIC"); +const infuraApiKey: string = vars.get("INFURA_API_KEY"); const chainIds = { "arbitrum-mainnet": 42161, @@ -66,14 +56,14 @@ const config: HardhatUserConfig = { }, etherscan: { apiKey: { - arbitrumOne: process.env.ARBISCAN_API_KEY || "", - avalanche: process.env.SNOWTRACE_API_KEY || "", - bsc: process.env.BSCSCAN_API_KEY || "", - mainnet: process.env.ETHERSCAN_API_KEY || "", - optimisticEthereum: process.env.OPTIMISM_API_KEY || "", - polygon: process.env.POLYGONSCAN_API_KEY || "", - polygonMumbai: process.env.POLYGONSCAN_API_KEY || "", - sepolia: process.env.ETHERSCAN_API_KEY || "", + arbitrumOne: vars.get("ARBISCAN_API_KEY", ""), + avalanche: vars.get("SNOWTRACE_API_KEY", ""), + bsc: vars.get("BSCSCAN_API_KEY", ""), + mainnet: vars.get("ETHERSCAN_API_KEY", ""), + optimisticEthereum: vars.get("OPTIMISM_API_KEY", ""), + polygon: vars.get("POLYGONSCAN_API_KEY", ""), + polygonMumbai: vars.get("POLYGONSCAN_API_KEY", ""), + sepolia: vars.get("ETHERSCAN_API_KEY", ""), }, }, gasReporter: { diff --git a/package.json b/package.json index 861559c0..f62dabca 100644 --- a/package.json +++ b/package.json @@ -23,12 +23,11 @@ "@typescript-eslint/parser": "^5.44.0", "chai": "^4.3.7", "cross-env": "^7.0.3", - "dotenv": "^16.0.3", "eslint": "^8.28.0", "eslint-config-prettier": "^8.5.0", "ethers": "^6.4.0", "fs-extra": "^10.1.0", - "hardhat": "^2.12.2", + "hardhat": "^2.19.0", "hardhat-deploy": "^0.11.29", "hardhat-gas-reporter": "^1.0.9", "lodash": "^4.17.21", @@ -38,7 +37,7 @@ "rimraf": "^4.1.2", "solhint": "^3.4.0", "solhint-plugin-prettier": "^0.0.5", - "solidity-coverage": "^0.8.2", + "solidity-coverage": "^0.8.5", "ts-generator": "^0.1.1", "ts-node": "^10.9.1", "typechain": "^8.2.0", @@ -69,7 +68,7 @@ "lint": "pnpm lint:sol && pnpm lint:ts && pnpm prettier:check", "lint:sol": "solhint --max-warnings 0 \"contracts/**/*.sol\"", "lint:ts": "eslint --ignore-path ./.eslintignore --ext .js,.ts .", - "postinstall": "DOTENV_CONFIG_PATH=./.env.example pnpm typechain", + "postcompile": "pnpm typechain", "prettier:check": "prettier --check \"**/*.{js,json,md,sol,ts,yml}\"", "prettier:write": "prettier --write \"**/*.{js,json,md,sol,ts,yml}\"", "task:deployGreeter": "hardhat task:deployGreeter", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8b96b79..8d719095 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3,19 +3,19 @@ lockfileVersion: '6.0' devDependencies: '@nomicfoundation/hardhat-chai-matchers': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-ethers@3.0.0)(chai@4.3.7)(ethers@6.4.0)(hardhat@2.12.2) + version: 2.0.0(@nomicfoundation/hardhat-ethers@3.0.0)(chai@4.3.7)(ethers@6.4.0)(hardhat@2.19.0) '@nomicfoundation/hardhat-ethers': specifier: ^3.0.0 - version: 3.0.0(ethers@6.4.0)(hardhat@2.12.2) + version: 3.0.0(ethers@6.4.0)(hardhat@2.19.0) '@nomicfoundation/hardhat-network-helpers': specifier: ^1.0.6 - version: 1.0.6(hardhat@2.12.2) + version: 1.0.6(hardhat@2.19.0) '@nomicfoundation/hardhat-toolbox': specifier: ^3.0.0 - version: 3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.0)(@nomicfoundation/hardhat-ethers@3.0.0)(@nomicfoundation/hardhat-network-helpers@1.0.6)(@nomicfoundation/hardhat-verify@1.0.0)(@typechain/ethers-v6@0.4.0)(@typechain/hardhat@8.0.0)(@types/chai@4.3.4)(@types/mocha@10.0.0)(@types/node@18.11.9)(chai@4.3.7)(ethers@6.4.0)(hardhat-gas-reporter@1.0.9)(hardhat@2.12.2)(solidity-coverage@0.8.2)(ts-node@10.9.1)(typechain@8.2.0)(typescript@4.9.3) + version: 3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.0)(@nomicfoundation/hardhat-ethers@3.0.0)(@nomicfoundation/hardhat-network-helpers@1.0.6)(@nomicfoundation/hardhat-verify@1.0.0)(@typechain/ethers-v6@0.4.0)(@typechain/hardhat@8.0.0)(@types/chai@4.3.4)(@types/mocha@10.0.0)(@types/node@18.11.9)(chai@4.3.7)(ethers@6.4.0)(hardhat-gas-reporter@1.0.9)(hardhat@2.19.0)(solidity-coverage@0.8.5)(ts-node@10.9.1)(typechain@8.2.0)(typescript@4.9.3) '@nomicfoundation/hardhat-verify': specifier: ^1.0.0 - version: 1.0.0(hardhat@2.12.2) + version: 1.0.0(hardhat@2.19.0) '@trivago/prettier-plugin-sort-imports': specifier: ^4.0.0 version: 4.0.0(@vue/compiler-sfc@3.3.4)(prettier@2.8.4) @@ -24,7 +24,7 @@ devDependencies: version: 0.4.0(ethers@6.4.0)(typechain@8.2.0)(typescript@4.9.3) '@typechain/hardhat': specifier: ^8.0.0 - version: 8.0.0(@typechain/ethers-v6@0.4.0)(ethers@6.4.0)(hardhat@2.12.2)(typechain@8.2.0) + version: 8.0.0(@typechain/ethers-v6@0.4.0)(ethers@6.4.0)(hardhat@2.19.0)(typechain@8.2.0) '@types/chai': specifier: ^4.3.4 version: 4.3.4 @@ -49,9 +49,6 @@ devDependencies: cross-env: specifier: ^7.0.3 version: 7.0.3 - dotenv: - specifier: ^16.0.3 - version: 16.0.3 eslint: specifier: ^8.28.0 version: 8.28.0 @@ -65,14 +62,14 @@ devDependencies: specifier: ^10.1.0 version: 10.1.0 hardhat: - specifier: ^2.12.2 - version: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + specifier: ^2.19.0 + version: 2.19.0(ts-node@10.9.1)(typescript@4.9.3) hardhat-deploy: specifier: ^0.11.29 version: 0.11.29 hardhat-gas-reporter: specifier: ^1.0.9 - version: 1.0.9(hardhat@2.12.2) + version: 1.0.9(hardhat@2.19.0) lodash: specifier: ^4.17.21 version: 4.17.21 @@ -95,8 +92,8 @@ devDependencies: specifier: ^0.0.5 version: 0.0.5(prettier-plugin-solidity@1.1.2)(prettier@2.8.4) solidity-coverage: - specifier: ^0.8.2 - version: 0.8.2(hardhat@2.12.2) + specifier: ^0.8.5 + version: 0.8.5(hardhat@2.19.0) ts-generator: specifier: ^0.1.1 version: 0.1.1 @@ -358,6 +355,37 @@ packages: to-fast-properties: 2.0.0 dev: true + /@chainsafe/as-sha256@0.3.1: + resolution: {integrity: sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg==} + dev: true + + /@chainsafe/persistent-merkle-tree@0.4.2: + resolution: {integrity: sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + dev: true + + /@chainsafe/persistent-merkle-tree@0.5.0: + resolution: {integrity: sha512-l0V1b5clxA3iwQLXP40zYjyZYospQLZXzBVIhhr9kDg/1qHZfzzHw0jj4VPBijfYCArZDlPkRi1wZaV2POKeuw==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + dev: true + + /@chainsafe/ssz@0.10.2: + resolution: {integrity: sha512-/NL3Lh8K+0q7A3LsiFq09YXS9fPE+ead2rr7vM2QK8PLzrNsw3uqrif9bpRX5UxgeRjM+vYi+boCM3+GM4ovXg==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + '@chainsafe/persistent-merkle-tree': 0.5.0 + dev: true + + /@chainsafe/ssz@0.9.4: + resolution: {integrity: sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ==} + dependencies: + '@chainsafe/as-sha256': 0.3.1 + '@chainsafe/persistent-merkle-tree': 0.4.2 + case: 1.6.3 + dev: true + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -824,28 +852,33 @@ packages: fastq: 1.15.0 dev: true - /@nomicfoundation/ethereumjs-block@4.2.2: - resolution: {integrity: sha512-atjpt4gc6ZGZUPHBAQaUJsm1l/VCo7FmyQ780tMGO8QStjLdhz09dXynmhwVTy5YbRr0FOh/uX3QaEM0yIB2Zg==} + /@nomicfoundation/ethereumjs-block@5.0.2: + resolution: {integrity: sha512-hSe6CuHI4SsSiWWjHDIzWhSiAVpzMUcDRpWYzN0T9l8/Rz7xNn3elwVOJ/tAyS0LqL6vitUD78Uk7lQDXZun7Q==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-common': 3.1.2 - '@nomicfoundation/ethereumjs-rlp': 4.0.3 - '@nomicfoundation/ethereumjs-trie': 5.0.5 - '@nomicfoundation/ethereumjs-tx': 4.1.2 - '@nomicfoundation/ethereumjs-util': 8.0.6 + '@nomicfoundation/ethereumjs-common': 4.0.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.2 + '@nomicfoundation/ethereumjs-trie': 6.0.2 + '@nomicfoundation/ethereumjs-tx': 5.0.2 + '@nomicfoundation/ethereumjs-util': 9.0.2 ethereum-cryptography: 0.1.3 + ethers: 5.7.2 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: true - /@nomicfoundation/ethereumjs-blockchain@6.2.2: - resolution: {integrity: sha512-6AIB2MoTEPZJLl6IRKcbd8mUmaBAQ/NMe3O7OsAOIiDjMNPPH5KaUQiLfbVlegT4wKIg/GOsFH7XlH2KDVoJNg==} + /@nomicfoundation/ethereumjs-blockchain@7.0.2: + resolution: {integrity: sha512-8UUsSXJs+MFfIIAKdh3cG16iNmWzWC/91P40sazNvrqhhdR/RtGDlFk2iFTGbBAZPs2+klZVzhRX8m2wvuvz3w==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-block': 4.2.2 - '@nomicfoundation/ethereumjs-common': 3.1.2 - '@nomicfoundation/ethereumjs-ethash': 2.0.5 - '@nomicfoundation/ethereumjs-rlp': 4.0.3 - '@nomicfoundation/ethereumjs-trie': 5.0.5 - '@nomicfoundation/ethereumjs-util': 8.0.6 + '@nomicfoundation/ethereumjs-block': 5.0.2 + '@nomicfoundation/ethereumjs-common': 4.0.2 + '@nomicfoundation/ethereumjs-ethash': 3.0.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.2 + '@nomicfoundation/ethereumjs-trie': 6.0.2 + '@nomicfoundation/ethereumjs-tx': 5.0.2 + '@nomicfoundation/ethereumjs-util': 9.0.2 abstract-level: 1.0.3 debug: 4.3.4(supports-color@8.1.1) ethereum-cryptography: 0.1.3 @@ -853,117 +886,131 @@ packages: lru-cache: 5.1.1 memory-level: 1.0.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate dev: true - /@nomicfoundation/ethereumjs-common@3.1.2: - resolution: {integrity: sha512-JAEBpIua62dyObHM9KI2b4wHZcRQYYge9gxiygTWa3lNCr2zo+K0TbypDpgiNij5MCGNWP1eboNfNfx1a3vkvA==} + /@nomicfoundation/ethereumjs-common@4.0.2: + resolution: {integrity: sha512-I2WGP3HMGsOoycSdOTSqIaES0ughQTueOsddJ36aYVpI3SN8YSusgRFLwzDJwRFVIYDKx/iJz0sQ5kBHVgdDwg==} dependencies: - '@nomicfoundation/ethereumjs-util': 8.0.6 + '@nomicfoundation/ethereumjs-util': 9.0.2 crc-32: 1.2.2 dev: true - /@nomicfoundation/ethereumjs-ethash@2.0.5: - resolution: {integrity: sha512-xlLdcICGgAYyYmnI3r1t0R5fKGBJNDQSOQxXNjVO99JmxJIdXR5MgPo5CSJO1RpyzKOgzi3uIFn8agv564dZEQ==} + /@nomicfoundation/ethereumjs-ethash@3.0.2: + resolution: {integrity: sha512-8PfoOQCcIcO9Pylq0Buijuq/O73tmMVURK0OqdjhwqcGHYC2PwhbajDh7GZ55ekB0Px197ajK3PQhpKoiI/UPg==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-block': 4.2.2 - '@nomicfoundation/ethereumjs-rlp': 4.0.3 - '@nomicfoundation/ethereumjs-util': 8.0.6 + '@nomicfoundation/ethereumjs-block': 5.0.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.2 + '@nomicfoundation/ethereumjs-util': 9.0.2 abstract-level: 1.0.3 bigint-crypto-utils: 3.2.2 ethereum-cryptography: 0.1.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: true - /@nomicfoundation/ethereumjs-evm@1.3.2: - resolution: {integrity: sha512-I00d4MwXuobyoqdPe/12dxUQxTYzX8OckSaWsMcWAfQhgVDvBx6ffPyP/w1aL0NW7MjyerySPcSVfDJAMHjilw==} + /@nomicfoundation/ethereumjs-evm@2.0.2: + resolution: {integrity: sha512-rBLcUaUfANJxyOx9HIdMX6uXGin6lANCulIm/pjMgRqfiCRMZie3WKYxTSd8ZE/d+qT+zTedBF4+VHTdTSePmQ==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-common': 3.1.2 - '@nomicfoundation/ethereumjs-util': 8.0.6 - '@types/async-eventemitter': 0.2.1 - async-eventemitter: 0.2.4 + '@ethersproject/providers': 5.7.2 + '@nomicfoundation/ethereumjs-common': 4.0.2 + '@nomicfoundation/ethereumjs-tx': 5.0.2 + '@nomicfoundation/ethereumjs-util': 9.0.2 debug: 4.3.4(supports-color@8.1.1) ethereum-cryptography: 0.1.3 mcl-wasm: 0.7.9 rustbn.js: 0.2.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate dev: true - /@nomicfoundation/ethereumjs-rlp@4.0.3: - resolution: {integrity: sha512-DZMzB/lqPK78T6MluyXqtlRmOMcsZbTTbbEyAjo0ncaff2mqu/k8a79PBcyvpgAhWD/R59Fjq/x3ro5Lof0AtA==} + /@nomicfoundation/ethereumjs-rlp@5.0.2: + resolution: {integrity: sha512-QwmemBc+MMsHJ1P1QvPl8R8p2aPvvVcKBbvHnQOKBpBztEo0omN0eaob6FeZS/e3y9NSe+mfu3nNFBHszqkjTA==} engines: {node: '>=14'} hasBin: true dev: true - /@nomicfoundation/ethereumjs-statemanager@1.0.5: - resolution: {integrity: sha512-CAhzpzTR5toh/qOJIZUUOnWekUXuRqkkzaGAQrVcF457VhtCmr+ddZjjK50KNZ524c1XP8cISguEVNqJ6ij1sA==} + /@nomicfoundation/ethereumjs-statemanager@2.0.2: + resolution: {integrity: sha512-dlKy5dIXLuDubx8Z74sipciZnJTRSV/uHG48RSijhgm1V7eXYFC567xgKtsKiVZB1ViTP9iFL4B6Je0xD6X2OA==} dependencies: - '@nomicfoundation/ethereumjs-common': 3.1.2 - '@nomicfoundation/ethereumjs-rlp': 4.0.3 - '@nomicfoundation/ethereumjs-trie': 5.0.5 - '@nomicfoundation/ethereumjs-util': 8.0.6 + '@nomicfoundation/ethereumjs-common': 4.0.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.2 debug: 4.3.4(supports-color@8.1.1) ethereum-cryptography: 0.1.3 - functional-red-black-tree: 1.0.1 + ethers: 5.7.2 + js-sdsl: 4.4.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate dev: true - /@nomicfoundation/ethereumjs-trie@5.0.5: - resolution: {integrity: sha512-+8sNZrXkzvA1NH5F4kz5RSYl1I6iaRz7mAZRsyxOm0IVY4UaP43Ofvfp/TwOalFunurQrYB5pRO40+8FBcxFMA==} + /@nomicfoundation/ethereumjs-trie@6.0.2: + resolution: {integrity: sha512-yw8vg9hBeLYk4YNg5MrSJ5H55TLOv2FSWUTROtDtTMMmDGROsAu+0tBjiNGTnKRi400M6cEzoFfa89Fc5k8NTQ==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-rlp': 4.0.3 - '@nomicfoundation/ethereumjs-util': 8.0.6 + '@nomicfoundation/ethereumjs-rlp': 5.0.2 + '@nomicfoundation/ethereumjs-util': 9.0.2 + '@types/readable-stream': 2.3.15 ethereum-cryptography: 0.1.3 readable-stream: 3.6.2 dev: true - /@nomicfoundation/ethereumjs-tx@4.1.2: - resolution: {integrity: sha512-emJBJZpmTdUa09cqxQqHaysbBI9Od353ZazeH7WgPb35miMgNY6mb7/3vBA98N5lUW/rgkiItjX0KZfIzihSoQ==} + /@nomicfoundation/ethereumjs-tx@5.0.2: + resolution: {integrity: sha512-T+l4/MmTp7VhJeNloMkM+lPU3YMUaXdcXgTGCf8+ZFvV9NYZTRLFekRwlG6/JMmVfIfbrW+dRRJ9A6H5Q/Z64g==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-common': 3.1.2 - '@nomicfoundation/ethereumjs-rlp': 4.0.3 - '@nomicfoundation/ethereumjs-util': 8.0.6 + '@chainsafe/ssz': 0.9.4 + '@ethersproject/providers': 5.7.2 + '@nomicfoundation/ethereumjs-common': 4.0.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.2 + '@nomicfoundation/ethereumjs-util': 9.0.2 ethereum-cryptography: 0.1.3 + transitivePeerDependencies: + - bufferutil + - utf-8-validate dev: true - /@nomicfoundation/ethereumjs-util@8.0.6: - resolution: {integrity: sha512-jOQfF44laa7xRfbfLXojdlcpkvxeHrE2Xu7tSeITsWFgoII163MzjOwFEzSNozHYieFysyoEMhCdP+NY5ikstw==} + /@nomicfoundation/ethereumjs-util@9.0.2: + resolution: {integrity: sha512-4Wu9D3LykbSBWZo8nJCnzVIYGvGCuyiYLIJa9XXNVt1q1jUzHdB+sJvx95VGCpPkCT+IbLecW6yfzy3E1bQrwQ==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-rlp': 4.0.3 + '@chainsafe/ssz': 0.10.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.2 ethereum-cryptography: 0.1.3 dev: true - /@nomicfoundation/ethereumjs-vm@6.4.2: - resolution: {integrity: sha512-PRTyxZMP6kx+OdAzBhuH1LD2Yw+hrSpaytftvaK//thDy2OI07S0nrTdbrdk7b8ZVPAc9H9oTwFBl3/wJ3w15g==} + /@nomicfoundation/ethereumjs-vm@7.0.2: + resolution: {integrity: sha512-Bj3KZT64j54Tcwr7Qm/0jkeZXJMfdcAtRBedou+Hx0dPOSIgqaIr0vvLwP65TpHbak2DmAq+KJbW2KNtIoFwvA==} engines: {node: '>=14'} dependencies: - '@nomicfoundation/ethereumjs-block': 4.2.2 - '@nomicfoundation/ethereumjs-blockchain': 6.2.2 - '@nomicfoundation/ethereumjs-common': 3.1.2 - '@nomicfoundation/ethereumjs-evm': 1.3.2 - '@nomicfoundation/ethereumjs-rlp': 4.0.3 - '@nomicfoundation/ethereumjs-statemanager': 1.0.5 - '@nomicfoundation/ethereumjs-trie': 5.0.5 - '@nomicfoundation/ethereumjs-tx': 4.1.2 - '@nomicfoundation/ethereumjs-util': 8.0.6 - '@types/async-eventemitter': 0.2.1 - async-eventemitter: 0.2.4 + '@nomicfoundation/ethereumjs-block': 5.0.2 + '@nomicfoundation/ethereumjs-blockchain': 7.0.2 + '@nomicfoundation/ethereumjs-common': 4.0.2 + '@nomicfoundation/ethereumjs-evm': 2.0.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.2 + '@nomicfoundation/ethereumjs-statemanager': 2.0.2 + '@nomicfoundation/ethereumjs-trie': 6.0.2 + '@nomicfoundation/ethereumjs-tx': 5.0.2 + '@nomicfoundation/ethereumjs-util': 9.0.2 debug: 4.3.4(supports-color@8.1.1) ethereum-cryptography: 0.1.3 - functional-red-black-tree: 1.0.1 mcl-wasm: 0.7.9 rustbn.js: 0.2.0 transitivePeerDependencies: + - bufferutil - supports-color + - utf-8-validate dev: true - /@nomicfoundation/hardhat-chai-matchers@2.0.0(@nomicfoundation/hardhat-ethers@3.0.0)(chai@4.3.7)(ethers@6.4.0)(hardhat@2.12.2): + /@nomicfoundation/hardhat-chai-matchers@2.0.0(@nomicfoundation/hardhat-ethers@3.0.0)(chai@4.3.7)(ethers@6.4.0)(hardhat@2.19.0): resolution: {integrity: sha512-e2ZFunJBIWDcFKIxQt6GpFRRKUn8ZshoiZ5cmgaKOR1S9XwimiCs2aLUCZ/xjNrdl049kPqdVKYDj6aYeR6WuQ==} peerDependencies: '@nomicfoundation/hardhat-ethers': ^3.0.0 @@ -972,36 +1019,36 @@ packages: hardhat: ^2.9.4 dependencies: '@ethersproject/abi': 5.7.0 - '@nomicfoundation/hardhat-ethers': 3.0.0(ethers@6.4.0)(hardhat@2.12.2) + '@nomicfoundation/hardhat-ethers': 3.0.0(ethers@6.4.0)(hardhat@2.19.0) '@types/chai-as-promised': 7.1.5 chai: 4.3.7 chai-as-promised: 7.1.1(chai@4.3.7) deep-eql: 4.1.3 ethers: 6.4.0 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.19.0(ts-node@10.9.1)(typescript@4.9.3) ordinal: 1.0.3 dev: true - /@nomicfoundation/hardhat-ethers@3.0.0(ethers@6.4.0)(hardhat@2.12.2): + /@nomicfoundation/hardhat-ethers@3.0.0(ethers@6.4.0)(hardhat@2.19.0): resolution: {integrity: sha512-0A2hs39YUta//O9EcITnFw/iGzUztJ4FB4UIc2mgdZ2nXvDZUmkQO+Vtdt/guJ6gP66EPbwvFW7t1SRReMGrvg==} peerDependencies: ethers: ^6.1.0 hardhat: ^2.0.0 dependencies: ethers: 6.4.0 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.19.0(ts-node@10.9.1)(typescript@4.9.3) dev: true - /@nomicfoundation/hardhat-network-helpers@1.0.6(hardhat@2.12.2): + /@nomicfoundation/hardhat-network-helpers@1.0.6(hardhat@2.19.0): resolution: {integrity: sha512-a35iVD4ycF6AoTfllAnKm96IPIzzHpgKX/ep4oKc2bsUKFfMlacWdyntgC/7d5blyCTXfFssgNAvXDZfzNWVGQ==} peerDependencies: hardhat: ^2.9.5 dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.19.0(ts-node@10.9.1)(typescript@4.9.3) dev: true - /@nomicfoundation/hardhat-toolbox@3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.0)(@nomicfoundation/hardhat-ethers@3.0.0)(@nomicfoundation/hardhat-network-helpers@1.0.6)(@nomicfoundation/hardhat-verify@1.0.0)(@typechain/ethers-v6@0.4.0)(@typechain/hardhat@8.0.0)(@types/chai@4.3.4)(@types/mocha@10.0.0)(@types/node@18.11.9)(chai@4.3.7)(ethers@6.4.0)(hardhat-gas-reporter@1.0.9)(hardhat@2.12.2)(solidity-coverage@0.8.2)(ts-node@10.9.1)(typechain@8.2.0)(typescript@4.9.3): + /@nomicfoundation/hardhat-toolbox@3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.0)(@nomicfoundation/hardhat-ethers@3.0.0)(@nomicfoundation/hardhat-network-helpers@1.0.6)(@nomicfoundation/hardhat-verify@1.0.0)(@typechain/ethers-v6@0.4.0)(@typechain/hardhat@8.0.0)(@types/chai@4.3.4)(@types/mocha@10.0.0)(@types/node@18.11.9)(chai@4.3.7)(ethers@6.4.0)(hardhat-gas-reporter@1.0.9)(hardhat@2.19.0)(solidity-coverage@0.8.5)(ts-node@10.9.1)(typechain@8.2.0)(typescript@4.9.3): resolution: {integrity: sha512-MsteDXd0UagMksqm9KvcFG6gNKYNa3GGNCy73iQ6bEasEgg2v8Qjl6XA5hjs8o5UD5A3153B6W2BIVJ8SxYUtA==} peerDependencies: '@nomicfoundation/hardhat-chai-matchers': ^2.0.0 @@ -1022,26 +1069,26 @@ packages: typechain: ^8.2.0 typescript: '>=4.5.0' dependencies: - '@nomicfoundation/hardhat-chai-matchers': 2.0.0(@nomicfoundation/hardhat-ethers@3.0.0)(chai@4.3.7)(ethers@6.4.0)(hardhat@2.12.2) - '@nomicfoundation/hardhat-ethers': 3.0.0(ethers@6.4.0)(hardhat@2.12.2) - '@nomicfoundation/hardhat-network-helpers': 1.0.6(hardhat@2.12.2) - '@nomicfoundation/hardhat-verify': 1.0.0(hardhat@2.12.2) + '@nomicfoundation/hardhat-chai-matchers': 2.0.0(@nomicfoundation/hardhat-ethers@3.0.0)(chai@4.3.7)(ethers@6.4.0)(hardhat@2.19.0) + '@nomicfoundation/hardhat-ethers': 3.0.0(ethers@6.4.0)(hardhat@2.19.0) + '@nomicfoundation/hardhat-network-helpers': 1.0.6(hardhat@2.19.0) + '@nomicfoundation/hardhat-verify': 1.0.0(hardhat@2.19.0) '@typechain/ethers-v6': 0.4.0(ethers@6.4.0)(typechain@8.2.0)(typescript@4.9.3) - '@typechain/hardhat': 8.0.0(@typechain/ethers-v6@0.4.0)(ethers@6.4.0)(hardhat@2.12.2)(typechain@8.2.0) + '@typechain/hardhat': 8.0.0(@typechain/ethers-v6@0.4.0)(ethers@6.4.0)(hardhat@2.19.0)(typechain@8.2.0) '@types/chai': 4.3.4 '@types/mocha': 10.0.0 '@types/node': 18.11.9 chai: 4.3.7 ethers: 6.4.0 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) - hardhat-gas-reporter: 1.0.9(hardhat@2.12.2) - solidity-coverage: 0.8.2(hardhat@2.12.2) + hardhat: 2.19.0(ts-node@10.9.1)(typescript@4.9.3) + hardhat-gas-reporter: 1.0.9(hardhat@2.19.0) + solidity-coverage: 0.8.5(hardhat@2.19.0) ts-node: 10.9.1(@types/node@18.11.9)(typescript@4.9.3) typechain: 8.2.0(typescript@4.9.3) typescript: 4.9.3 dev: true - /@nomicfoundation/hardhat-verify@1.0.0(hardhat@2.12.2): + /@nomicfoundation/hardhat-verify@1.0.0(hardhat@2.19.0): resolution: {integrity: sha512-R3UM/w2+e4D9PZRaeJHbC0caHSu/FV3ykAFBFg+RPNsfSzNgtHeRJXS+V+2HnVJYPaucBUD0v/6qtU8BZAouoQ==} peerDependencies: hardhat: ^2.0.4 @@ -1051,7 +1098,7 @@ packages: cbor: 8.1.0 chalk: 2.4.2 debug: 4.3.4(supports-color@8.1.1) - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.19.0(ts-node@10.9.1)(typescript@4.9.3) lodash.clonedeep: 4.5.0 semver: 6.3.0 table: 6.8.1 @@ -1267,6 +1314,12 @@ packages: antlr4ts: 0.5.0-alpha.4 dev: true + /@solidity-parser/parser@0.16.1: + resolution: {integrity: sha512-PdhRFNhbTtu3x8Axm0uYpqOy/lODYQK+MlYSgqIsq2L8SFYEHJPHNUiOTAJbDGzNjjr1/n9AcIayxafR/fWmYw==} + dependencies: + antlr4ts: 0.5.0-alpha.4 + dev: true + /@trivago/prettier-plugin-sort-imports@4.0.0(@vue/compiler-sfc@3.3.4)(prettier@2.8.4): resolution: {integrity: sha512-Tyuk5ZY4a0e2MNFLdluQO9F6d1awFQYXVVujEPFfvKPPXz8DADNHzz73NMhwCSXGSuGGZcA/rKOyZBrxVNMxaA==} peerDependencies: @@ -1316,7 +1369,7 @@ packages: typescript: 4.9.3 dev: true - /@typechain/hardhat@8.0.0(@typechain/ethers-v6@0.4.0)(ethers@6.4.0)(hardhat@2.12.2)(typechain@8.2.0): + /@typechain/hardhat@8.0.0(@typechain/ethers-v6@0.4.0)(ethers@6.4.0)(hardhat@2.19.0)(typechain@8.2.0): resolution: {integrity: sha512-XUVbqlMx8tJTOmzZCD/r196CidtNWAnTBZRcYxjLTKgcJMvc/kHQpWBnVMMB5QHxVKpYpCiz8g07FYCpG8rrjA==} peerDependencies: '@typechain/ethers-v6': ^0.4.0 @@ -1327,24 +1380,20 @@ packages: '@typechain/ethers-v6': 0.4.0(ethers@6.4.0)(typechain@8.2.0)(typescript@4.9.3) ethers: 6.4.0 fs-extra: 9.1.0 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.19.0(ts-node@10.9.1)(typescript@4.9.3) typechain: 8.2.0(typescript@4.9.3) dev: true - /@types/async-eventemitter@0.2.1: - resolution: {integrity: sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg==} - dev: true - /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.15.13 dev: true /@types/bn.js@5.1.1: resolution: {integrity: sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.15.13 dev: true /@types/chai-as-promised@7.1.5: @@ -1360,13 +1409,13 @@ packages: /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.15.13 dev: true /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.15.13 dev: true /@types/fs-extra@9.0.13: @@ -1379,7 +1428,7 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.11.9 + '@types/node': 18.15.13 dev: true /@types/json-schema@7.0.11: @@ -1423,7 +1472,7 @@ packages: /@types/pbkdf2@3.1.0: resolution: {integrity: sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.15.13 dev: true /@types/prettier@2.7.2: @@ -1434,6 +1483,13 @@ packages: resolution: {integrity: sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==} dev: true + /@types/readable-stream@2.3.15: + resolution: {integrity: sha512-oM5JSKQCcICF1wvGgmecmHldZ48OZamtMxcGGVICOJA8o8cahXC1zEVAif8iwoc5j8etxFaRFnf095+CDsuoFQ==} + dependencies: + '@types/node': 18.15.13 + safe-buffer: 5.1.2 + dev: true + /@types/resolve@0.0.8: resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} dependencies: @@ -1443,7 +1499,7 @@ packages: /@types/secp256k1@4.0.3: resolution: {integrity: sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w==} dependencies: - '@types/node': 18.11.9 + '@types/node': 18.15.13 dev: true /@types/semver@7.5.0: @@ -1635,13 +1691,6 @@ packages: resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} dev: true - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: true - /abstract-level@1.0.3: resolution: {integrity: sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA==} engines: {node: '>=12'} @@ -1730,6 +1779,7 @@ packages: /amdefine@1.0.1: resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} engines: {node: '>=0.4.2'} + requiresBuild: true dev: true optional: true @@ -1881,22 +1931,10 @@ packages: engines: {node: '>=8'} dev: true - /async-eventemitter@0.2.4: - resolution: {integrity: sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw==} - dependencies: - async: 2.6.4 - dev: true - /async@1.5.2: resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} dev: true - /async@2.6.4: - resolution: {integrity: sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==} - dependencies: - lodash: 4.17.21 - dev: true - /asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} dev: true @@ -2103,6 +2141,11 @@ packages: resolution: {integrity: sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==} dev: true + /case@1.6.3: + resolution: {integrity: sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ==} + engines: {node: '>= 0.8.0'} + dev: true + /caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: true @@ -2535,11 +2578,6 @@ packages: esutils: 2.0.3 dev: true - /dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - dev: true - /ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} dependencies: @@ -3009,11 +3047,6 @@ packages: strip-hex-prefix: 1.0.0 dev: true - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: true - /evp_bytestokey@1.0.3: resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: @@ -3363,7 +3396,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.0.4 + minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 dev: true @@ -3552,22 +3585,21 @@ packages: - utf-8-validate dev: true - /hardhat-gas-reporter@1.0.9(hardhat@2.12.2): + /hardhat-gas-reporter@1.0.9(hardhat@2.19.0): resolution: {integrity: sha512-INN26G3EW43adGKBNzYWOlI3+rlLnasXTwW79YNnUhXPDa+yHESgt639dJEs37gCjhkbNKcRRJnomXEuMFBXJg==} peerDependencies: hardhat: ^2.0.2 dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.25 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.19.0(ts-node@10.9.1)(typescript@4.9.3) sha1: 1.1.1 transitivePeerDependencies: - '@codechecks/client' dev: true - /hardhat@2.12.2(ts-node@10.9.1)(typescript@4.9.3): - resolution: {integrity: sha512-f3ZhzXy1uyQv0UXnAQ8GCBOWjzv++WJNb7bnm10SsyC3dB7vlPpsMWBNhq7aoRxKrNhX9tCev81KFV3i5BTeMQ==} - engines: {node: ^14.0.0 || ^16.0.0 || ^18.0.0} + /hardhat@2.19.0(ts-node@10.9.1)(typescript@4.9.3): + resolution: {integrity: sha512-kMpwovOEfrFRQXEopCP+JTcKVwSYVj8rnXE0LynxDqnh06yvyKCQknmXL6IVYTHQL6Csysc/yNbCHQbjSeJGpA==} hasBin: true peerDependencies: ts-node: '*' @@ -3580,21 +3612,20 @@ packages: dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 - '@nomicfoundation/ethereumjs-block': 4.2.2 - '@nomicfoundation/ethereumjs-blockchain': 6.2.2 - '@nomicfoundation/ethereumjs-common': 3.1.2 - '@nomicfoundation/ethereumjs-evm': 1.3.2 - '@nomicfoundation/ethereumjs-rlp': 4.0.3 - '@nomicfoundation/ethereumjs-statemanager': 1.0.5 - '@nomicfoundation/ethereumjs-trie': 5.0.5 - '@nomicfoundation/ethereumjs-tx': 4.1.2 - '@nomicfoundation/ethereumjs-util': 8.0.6 - '@nomicfoundation/ethereumjs-vm': 6.4.2 + '@nomicfoundation/ethereumjs-block': 5.0.2 + '@nomicfoundation/ethereumjs-blockchain': 7.0.2 + '@nomicfoundation/ethereumjs-common': 4.0.2 + '@nomicfoundation/ethereumjs-evm': 2.0.2 + '@nomicfoundation/ethereumjs-rlp': 5.0.2 + '@nomicfoundation/ethereumjs-statemanager': 2.0.2 + '@nomicfoundation/ethereumjs-trie': 6.0.2 + '@nomicfoundation/ethereumjs-tx': 5.0.2 + '@nomicfoundation/ethereumjs-util': 9.0.2 + '@nomicfoundation/ethereumjs-vm': 7.0.2 '@nomicfoundation/solidity-analyzer': 0.1.1 '@sentry/node': 5.30.0 '@types/bn.js': 5.1.1 '@types/lru-cache': 5.1.1 - abort-controller: 3.0.0 adm-zip: 0.4.16 aggregate-error: 3.1.0 ansi-escapes: 4.3.2 @@ -3617,7 +3648,6 @@ packages: mnemonist: 0.38.5 mocha: 10.1.0 p-map: 4.0.0 - qs: 6.11.2 raw-body: 2.5.2 resolve: 1.17.0 semver: 6.3.0 @@ -4452,6 +4482,34 @@ packages: yargs-unparser: 2.0.0 dev: true + /mocha@10.2.0: + resolution: {integrity: sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg==} + engines: {node: '>= 14.0.0'} + hasBin: true + dependencies: + ansi-colors: 4.1.1 + browser-stdout: 1.3.1 + chokidar: 3.5.3 + debug: 4.3.4(supports-color@8.1.1) + diff: 5.0.0 + escape-string-regexp: 4.0.0 + find-up: 5.0.0 + glob: 7.2.0 + he: 1.2.0 + js-yaml: 4.1.0 + log-symbols: 4.1.0 + minimatch: 5.0.1 + ms: 2.1.3 + nanoid: 3.3.3 + serialize-javascript: 6.0.0 + strip-json-comments: 3.1.1 + supports-color: 8.1.1 + workerpool: 6.2.1 + yargs: 16.2.0 + yargs-parser: 20.2.4 + yargs-unparser: 2.0.0 + dev: true + /mocha@7.1.2: resolution: {integrity: sha512-o96kdRKMKI3E8U0bjnfqW4QMk12MwZ4mhdBTf+B5a1q9+aq2HRnj+3ZdJu0B/ZhJeK78MgYuv6L8d/rA5AeBJA==} engines: {node: '>= 8.10.0'} @@ -5105,7 +5163,7 @@ packages: resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} hasBin: true dependencies: - glob: 7.2.0 + glob: 7.2.3 dev: true /rimraf@3.0.2: @@ -5377,14 +5435,14 @@ packages: resolution: {integrity: sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw==} dev: true - /solidity-coverage@0.8.2(hardhat@2.12.2): - resolution: {integrity: sha512-cv2bWb7lOXPE9/SSleDO6czkFiMHgP4NXPj+iW9W7iEKLBk7Cj0AGBiNmGX3V1totl9wjPrT0gHmABZKZt65rQ==} + /solidity-coverage@0.8.5(hardhat@2.19.0): + resolution: {integrity: sha512-6C6N6OV2O8FQA0FWA95FdzVH+L16HU94iFgg5wAFZ29UpLFkgNI/DRR2HotG1bC0F4gAc/OMs2BJI44Q/DYlKQ==} hasBin: true peerDependencies: hardhat: ^2.11.0 dependencies: '@ethersproject/abi': 5.7.0 - '@solidity-parser/parser': 0.14.5 + '@solidity-parser/parser': 0.16.1 chalk: 2.4.2 death: 1.1.0 detect-port: 1.5.1 @@ -5393,10 +5451,10 @@ packages: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.12.2(ts-node@10.9.1)(typescript@4.9.3) + hardhat: 2.19.0(ts-node@10.9.1)(typescript@4.9.3) jsonschema: 1.4.1 lodash: 4.17.21 - mocha: 7.1.2 + mocha: 10.2.0 node-emoji: 1.11.0 pify: 4.0.1 recursive-readdir: 2.2.3 @@ -6257,3 +6315,7 @@ packages: name: '@adraffy/ens-normalize' version: 1.9.0 dev: true + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false