From 98a05bf0c4e294f2a8485121a8ee21525e55db87 Mon Sep 17 00:00:00 2001 From: jatZama Date: Wed, 4 Dec 2024 12:32:45 +0100 Subject: [PATCH] feat: update to new fhevmjs (WIP) chore: updated asyncDecrypt chore: cleaner reject test --- .env.example | 11 +- contracts/EncryptedERC20.sol | 4 +- contracts/TestAsyncDecrypt.sol | 7 +- package.json | 31 +- pnpm-lock.yaml | 1277 ++++++++++++++----------- tasks/accounts.ts | 44 +- tasks/taskDeploy.ts | 14 +- test/asyncDecrypt.ts | 20 +- test/constants.ts | 10 + test/coprocessorUtils.ts | 14 +- test/encryptedERC20/EncryptedERC20.ts | 20 +- test/fhevmjsMocked.ts | 56 +- test/instance.ts | 13 +- test/utils.ts | 39 +- 14 files changed, 886 insertions(+), 674 deletions(-) create mode 100644 test/constants.ts diff --git a/.env.example b/.env.example index 88ddfce..37f0cdc 100644 --- a/.env.example +++ b/.env.example @@ -1,11 +1,2 @@ export MNEMONIC="exchange vintage ocean narrow danger return culture ignore trim solve clock hidden buddy wise emotion" -export PRIVATE_KEY_FHEVM_DEPLOYER="f2caf1b49a8f33e5a95fc55b0903daddd261d5a874ff154dc5d809a5f1c90449" -export PRIVATE_KEY_GATEWAY_DEPLOYER="e956ca0c96995551256523af64ac2f134c6b65d3e9d5c7b24ac4cd0a12f07bfd" -export PRIVATE_KEY_GATEWAY_RELAYER="049bdaae72bcc269f5edf17be5a01d61374e139b425984431242a3a74f73e92a" -export NUM_KMS_SIGNERS="1" -export PRIVATE_KEY_KMS_SIGNER_0="d5b160a52fe6015861d0a1bea9523aaab3699d52af8f3cede5fcdbdfdd4c77cc" -export PRIVATE_KEY_COPROCESSOR_ACCOUNT="83e0173b9d07abd53958da9f417df515b0957c4f8afd7171b518d192b52ae313" -export IS_COPROCESSOR="true" - -export SEPOLIA_RPC_URL="https://sepolia.infura.io/v3/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" -export ETHERSCAN_API_KEY="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \ No newline at end of file +export SEPOLIA_RPC_URL="https://sepolia.infura.io/v3/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" \ No newline at end of file diff --git a/contracts/EncryptedERC20.sol b/contracts/EncryptedERC20.sol index 31ab564..646b77d 100644 --- a/contracts/EncryptedERC20.sol +++ b/contracts/EncryptedERC20.sol @@ -3,11 +3,12 @@ pragma solidity ^0.8.24; import "fhevm/lib/TFHE.sol"; +import "fhevm/config/ZamaFHEVMConfig.sol"; import "@openzeppelin/contracts/access/Ownable2Step.sol"; /// @notice This contract implements an encrypted ERC20-like token with confidential balances using Zama's FHE (Fully Homomorphic Encryption) library. /// @dev It supports typical ERC20 functionality such as transferring tokens, minting, and setting allowances, but uses encrypted data types. -contract EncryptedERC20 is Ownable2Step { +contract EncryptedERC20 is SepoliaZamaFHEVMConfig, Ownable2Step { /// @notice Emitted when tokens are transferred event Transfer(address indexed from, address indexed to); /// @notice Emitted when a spender is approved to spend tokens on behalf of an owner @@ -34,7 +35,6 @@ contract EncryptedERC20 is Ownable2Step { /// @param name_ The name of the token /// @param symbol_ The symbol of the token constructor(string memory name_, string memory symbol_) Ownable(msg.sender) { - TFHE.setFHEVM(FHEVMConfig.defaultConfig()); // Set up the FHEVM configuration for this contract _name = name_; _symbol = symbol_; } diff --git a/contracts/TestAsyncDecrypt.sol b/contracts/TestAsyncDecrypt.sol index 7204750..0a5e6e9 100644 --- a/contracts/TestAsyncDecrypt.sol +++ b/contracts/TestAsyncDecrypt.sol @@ -3,10 +3,12 @@ pragma solidity ^0.8.24; import "fhevm/lib/TFHE.sol"; +import "fhevm/config/ZamaFHEVMConfig.sol"; +import "fhevm/config/ZamaGatewayConfig.sol"; import "fhevm/gateway/GatewayCaller.sol"; /// @notice Contract for testing asynchronous decryption using the Gateway -contract TestAsyncDecrypt is GatewayCaller { +contract TestAsyncDecrypt is SepoliaZamaFHEVMConfig, SepoliaZamaGatewayConfig, GatewayCaller { /// @dev Encrypted state variables ebool xBool; euint4 xUint4; @@ -43,9 +45,6 @@ contract TestAsyncDecrypt is GatewayCaller { /// @notice Constructor to initialize the contract and set up encrypted values constructor() { - TFHE.setFHEVM(FHEVMConfig.defaultConfig()); - Gateway.setGateway(Gateway.defaultGatewayAddress()); - /// @dev Initialize encrypted variables with sample values xBool = TFHE.asEbool(true); TFHE.allowThis(xBool); diff --git a/package.json b/package.json index a149a81..5ea54a7 100644 --- a/package.json +++ b/package.json @@ -14,14 +14,13 @@ "@nomicfoundation/hardhat-chai-matchers": "^2.0.0", "@nomicfoundation/hardhat-ethers": "^3.0.0", "@nomicfoundation/hardhat-network-helpers": "^1.0.6", - "@nomicfoundation/hardhat-toolbox": "^3.0.0", - "@nomicfoundation/hardhat-verify": "^1.0.0", - "@openzeppelin/contracts": "^5.0.2", - "@openzeppelin/contracts-upgradeable": "5.0.2", - "@openzeppelin/hardhat-upgrades": "^3.5.0", + "@nomicfoundation/hardhat-toolbox": "^5.0.0", + "@nomicfoundation/hardhat-verify": "^2.0.12", + "@openzeppelin/contracts": "^5.1.0", + "@openzeppelin/hardhat-upgrades": "^3.6.0", "@trivago/prettier-plugin-sort-imports": "^4.0.0", - "@typechain/ethers-v6": "^0.4.0", - "@typechain/hardhat": "^8.0.0", + "@typechain/ethers-v6": "^0.5.1", + "@typechain/hardhat": "^9.1.0", "@types/chai": "^4.3.4", "@types/eslint__js": "^8.42.3", "@types/fs-extra": "^9.0.13", @@ -35,9 +34,10 @@ "eslint": "^9.9.0", "eslint-config-prettier": "^8.5.0", "ethers": "^6.8.0", - "fhevm": "^0.6.0-0", - "fhevm-core-contracts": "0.1.0-2", - "fhevmjs": "^0.6.0-4", + "extra-bigint": "^1.1.18", + "fhevm": "^0.6.0-8", + "fhevm-core-contracts": "0.6.0-5", + "fhevmjs": "^0.6.0-16", "fs-extra": "^10.1.0", "globals": "^15.9.0", "hardhat": "^2.22.8", @@ -50,14 +50,17 @@ "prettier": "^2.8.4", "prettier-plugin-solidity": "^1.1.2", "rimraf": "^4.1.2", + "sha3": "^2.1.4", "solhint": "^3.4.0", "solhint-plugin-prettier": "^0.0.5", "solidity-coverage": "0.8.12", + "sqlite3": "^5.1.7", "ts-generator": "^0.1.1", "ts-node": "^10.9.1", "typechain": "^8.2.0", "typescript": "^5.5.4", - "typescript-eslint": "^8.0.1" + "typescript-eslint": "^8.0.1", + "web3-validator": "^2.0.6" }, "files": [ "contracts" @@ -77,7 +80,7 @@ "access": "public" }, "scripts": { - "clean": "rimraf ./fhevmTemp ./artifacts ./cache ./coverage ./types ./coverage.json && pnpm typechain", + "clean": "rimraf ./artifacts ./cache ./coverage ./types ./coverage.json && pnpm typechain", "compile": "cross-env TS_NODE_TRANSPILE_ONLY=true hardhat compile", "lint": "pnpm lint:sol && pnpm lint:ts && pnpm prettier:check", "lint:sol": "solhint --max-warnings 25 \"contracts/**/*.sol\"", @@ -88,9 +91,5 @@ "typechain": "cross-env TS_NODE_TRANSPILE_ONLY=true hardhat typechain", "test": "hardhat test --network hardhat", "coverage": "hardhat coverage" - }, - "dependencies": { - "extra-bigint": "^1.1.18", - "sqlite3": "^5.1.7" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5d5b513..493b0da 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4,51 +4,40 @@ settings: autoInstallPeers: true excludeLinksFromLockfile: false -dependencies: - extra-bigint: - specifier: ^1.1.18 - version: 1.2.0 - sqlite3: - specifier: ^5.1.7 - version: 5.1.7 - devDependencies: '@eslint/js': specifier: ^9.9.0 - version: 9.13.0 + version: 9.16.0 '@nomicfoundation/hardhat-chai-matchers': specifier: ^2.0.0 - version: 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8)(chai@4.5.0)(ethers@6.13.4)(hardhat@2.22.15) + version: 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8)(chai@4.5.0)(ethers@6.13.4)(hardhat@2.22.17) '@nomicfoundation/hardhat-ethers': specifier: ^3.0.0 - version: 3.0.8(ethers@6.13.4)(hardhat@2.22.15) + version: 3.0.8(ethers@6.13.4)(hardhat@2.22.17) '@nomicfoundation/hardhat-network-helpers': specifier: ^1.0.6 - version: 1.0.12(hardhat@2.22.15) + version: 1.0.12(hardhat@2.22.17) '@nomicfoundation/hardhat-toolbox': - specifier: ^3.0.0 - version: 3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.8)(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-network-helpers@1.0.12)(@nomicfoundation/hardhat-verify@1.1.1)(@typechain/ethers-v6@0.4.3)(@typechain/hardhat@8.0.3)(@types/chai@4.3.20)(@types/mocha@10.0.9)(@types/node@18.19.59)(chai@4.5.0)(ethers@6.13.4)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.15)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typechain@8.3.2)(typescript@5.6.3) + specifier: ^5.0.0 + version: 5.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.8)(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-ignition-ethers@0.15.8)(@nomicfoundation/hardhat-network-helpers@1.0.12)(@nomicfoundation/hardhat-verify@2.0.12)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.20)(@types/mocha@10.0.10)(@types/node@18.19.67)(chai@4.5.0)(ethers@6.13.4)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.17)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typechain@8.3.2)(typescript@5.7.2) '@nomicfoundation/hardhat-verify': - specifier: ^1.0.0 - version: 1.1.1(hardhat@2.22.15) + specifier: ^2.0.12 + version: 2.0.12(hardhat@2.22.17) '@openzeppelin/contracts': - specifier: ^5.0.2 + specifier: ^5.1.0 version: 5.1.0 - '@openzeppelin/contracts-upgradeable': - specifier: 5.0.2 - version: 5.0.2(@openzeppelin/contracts@5.1.0) '@openzeppelin/hardhat-upgrades': - specifier: ^3.5.0 - version: 3.5.0(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-verify@1.1.1)(ethers@6.13.4)(hardhat@2.22.15) + specifier: ^3.6.0 + version: 3.6.0(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-verify@2.0.12)(ethers@6.13.4)(hardhat@2.22.17) '@trivago/prettier-plugin-sort-imports': specifier: ^4.0.0 version: 4.3.0(prettier@2.8.8) '@typechain/ethers-v6': - specifier: ^0.4.0 - version: 0.4.3(ethers@6.13.4)(typechain@8.3.2)(typescript@5.6.3) + specifier: ^0.5.1 + version: 0.5.1(ethers@6.13.4)(typechain@8.3.2)(typescript@5.7.2) '@typechain/hardhat': - specifier: ^8.0.0 - version: 8.0.3(@typechain/ethers-v6@0.4.3)(ethers@6.13.4)(hardhat@2.22.15)(typechain@8.3.2) + specifier: ^9.1.0 + version: 9.1.0(@typechain/ethers-v6@0.5.1)(ethers@6.13.4)(hardhat@2.22.17)(typechain@8.3.2) '@types/chai': specifier: ^4.3.4 version: 4.3.20 @@ -60,16 +49,16 @@ devDependencies: version: 9.0.13 '@types/mocha': specifier: ^10.0.0 - version: 10.0.9 + version: 10.0.10 '@types/node': specifier: ^18.19.59 - version: 18.19.59 + version: 18.19.67 '@typescript-eslint/eslint-plugin': specifier: ^8.0.1 - version: 8.11.0(@typescript-eslint/parser@8.11.0)(eslint@9.13.0)(typescript@5.6.3) + version: 8.17.0(@typescript-eslint/parser@8.17.0)(eslint@9.16.0)(typescript@5.7.2) '@typescript-eslint/parser': specifier: ^8.0.1 - version: 8.11.0(eslint@9.13.0)(typescript@5.6.3) + version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) chai: specifier: ^4.3.7 version: 4.5.0 @@ -78,52 +67,55 @@ devDependencies: version: 7.0.3 dotenv: specifier: ^16.0.3 - version: 16.4.5 + version: 16.4.6 eslint: specifier: ^9.9.0 - version: 9.13.0 + version: 9.16.0 eslint-config-prettier: specifier: ^8.5.0 - version: 8.10.0(eslint@9.13.0) + version: 8.10.0(eslint@9.16.0) ethers: specifier: ^6.8.0 version: 6.13.4 + extra-bigint: + specifier: ^1.1.18 + version: 1.2.0 fhevm: - specifier: ^0.6.0-0 - version: 0.6.0-0 + specifier: ^0.6.0-8 + version: 0.6.0-8 fhevm-core-contracts: - specifier: 0.1.0-2 - version: 0.1.0-2 + specifier: 0.6.0-5 + version: 0.6.0-5 fhevmjs: - specifier: ^0.6.0-4 - version: 0.6.0-4 + specifier: ^0.6.0-16 + version: 0.6.0-16 fs-extra: specifier: ^10.1.0 version: 10.1.0 globals: specifier: ^15.9.0 - version: 15.11.0 + version: 15.13.0 hardhat: specifier: ^2.22.8 - version: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) + version: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) hardhat-deploy: specifier: ^0.12.4 version: 0.12.4 hardhat-gas-reporter: specifier: ^1.0.9 - version: 1.0.10(hardhat@2.22.15) + version: 1.0.10(hardhat@2.22.17) hardhat-ignore-warnings: specifier: ^0.2.11 - version: 0.2.11 + version: 0.2.12 hardhat-preprocessor: specifier: ^0.1.5 - version: 0.1.5(hardhat@2.22.15) + version: 0.1.5(hardhat@2.22.17) lodash: specifier: ^4.17.21 version: 4.17.21 mocha: specifier: ^10.1.0 - version: 10.7.3 + version: 10.8.2 prettier: specifier: ^2.8.4 version: 2.8.8 @@ -133,30 +125,39 @@ devDependencies: rimraf: specifier: ^4.1.2 version: 4.4.1 + sha3: + specifier: ^2.1.4 + version: 2.1.4 solhint: specifier: ^3.4.0 - version: 3.6.2(typescript@5.6.3) + version: 3.6.2(typescript@5.7.2) solhint-plugin-prettier: specifier: ^0.0.5 version: 0.0.5(prettier-plugin-solidity@1.4.1)(prettier@2.8.8) solidity-coverage: specifier: 0.8.12 - version: 0.8.12(hardhat@2.22.15) + version: 0.8.12(hardhat@2.22.17) + sqlite3: + specifier: ^5.1.7 + version: 5.1.7 ts-generator: specifier: ^0.1.1 version: 0.1.1 ts-node: specifier: ^10.9.1 - version: 10.9.2(@types/node@18.19.59)(typescript@5.6.3) + version: 10.9.2(@types/node@18.19.67)(typescript@5.7.2) typechain: specifier: ^8.2.0 - version: 8.3.2(typescript@5.6.3) + version: 8.3.2(typescript@5.7.2) typescript: specifier: ^5.5.4 - version: 5.6.3 + version: 5.7.2 typescript-eslint: specifier: ^8.0.1 - version: 8.11.0(eslint@9.13.0)(typescript@5.6.3) + version: 8.17.0(eslint@9.16.0)(typescript@5.7.2) + web3-validator: + specifier: ^2.0.6 + version: 2.0.6 packages: @@ -168,34 +169,34 @@ packages: resolution: {integrity: sha512-Nr1QJIbW/afYYGzYvrF70LtaHrIRtd4TNAglX8BvlfxJLZ45SAmueIKYl5tWoNBPzp65ymXGFK0Bb1vZUpuc9g==} dependencies: '@aws-crypto/util': 1.2.2 - '@aws-sdk/types': 3.679.0 + '@aws-sdk/types': 3.696.0 tslib: 1.14.1 dev: true /@aws-crypto/util@1.2.2: resolution: {integrity: sha512-H8PjG5WJ4wz0UXAFXeJjWCW1vkvIJ3qUUD+rGRwJ2/hj+xT58Qle2MTql/2MGzkU+1JLAFuR6aJpLAjHwhmwwg==} dependencies: - '@aws-sdk/types': 3.679.0 + '@aws-sdk/types': 3.696.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: true - /@aws-sdk/types@3.679.0: - resolution: {integrity: sha512-NwVq8YvInxQdJ47+zz4fH3BRRLC6lL+WLkvr242PVBbUOLRyK/lkwHlfiKUoeVIMyK5NF+up6TRg71t/8Bny6Q==} + /@aws-sdk/types@3.696.0: + resolution: {integrity: sha512-9rTvUJIAj5d3//U5FDPWGJ1nFJLuWb30vugGOrWk7aNZ6y9tuA3PI7Cc9dP8WEXKVyK1vuuk8rSFP2iqXnlgrw==} engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 3.6.0 - tslib: 2.7.0 + '@smithy/types': 3.7.1 + tslib: 2.8.1 dev: true /@aws-sdk/util-utf8-browser@3.259.0: resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} dependencies: - tslib: 2.7.0 + tslib: 2.8.1 dev: true - /@babel/code-frame@7.26.0: - resolution: {integrity: sha512-INCKxTtbXtcNbUZ3YXutwMpEleqttcswhAdee7dhuoVrD2cnuc3PqtERBtxkX5nziX9vnBL8WXmSGwv8CuPV6g==} + /@babel/code-frame@7.26.2: + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.25.9 @@ -212,11 +213,11 @@ packages: source-map: 0.5.7 dev: true - /@babel/generator@7.26.0: - resolution: {integrity: sha512-/AIkAmInnWwgEAJGQr9vY0c66Mj6kjkE2ZPB1PurTRaRAh3U+J45sAQMjQDJdh4WbR3l0x5xkimXBKyBXXAu2w==} + /@babel/generator@7.26.2: + resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/parser': 7.26.1 + '@babel/parser': 7.26.2 '@babel/types': 7.26.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 @@ -262,8 +263,8 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/parser@7.26.1: - resolution: {integrity: sha512-reoQYNiAJreZNsJzyrDNzFQ+IQ5JFiIzAHJg9bn94S3l+4++J7RsIhNMoB+lgP/9tpmiAQqspv+xfdxTSzREOw==} + /@babel/parser@7.26.2: + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} engines: {node: '>=6.0.0'} hasBin: true dependencies: @@ -274,8 +275,8 @@ packages: resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.26.0 - '@babel/parser': 7.26.1 + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.2 '@babel/types': 7.26.0 dev: true @@ -283,13 +284,13 @@ packages: resolution: {integrity: sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/code-frame': 7.26.0 - '@babel/generator': 7.26.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 '@babel/helper-environment-visitor': 7.24.7 '@babel/helper-function-name': 7.24.7 '@babel/helper-hoist-variables': 7.24.7 '@babel/helper-split-export-declaration': 7.24.7 - '@babel/parser': 7.26.1 + '@babel/parser': 7.26.2 '@babel/types': 7.26.0 debug: 4.3.7(supports-color@8.1.1) globals: 11.12.0 @@ -313,6 +314,10 @@ packages: '@babel/helper-validator-identifier': 7.25.9 dev: true + /@bytecodealliance/preview2-shim@0.17.0: + resolution: {integrity: sha512-JorcEwe4ud0x5BS/Ar2aQWOQoFzjq/7jcnxYXCvSMh0oRm0dQXzOA+hqLDBnOMks1LLBA7dmiLLsEBl09Yd6iQ==} + dev: true + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -320,23 +325,23 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: true - /@eslint-community/eslint-utils@4.4.1(eslint@9.13.0): + /@eslint-community/eslint-utils@4.4.1(eslint@9.16.0): resolution: {integrity: sha512-s3O3waFUrMV8P/XaF/+ZTp1X9XBZW1a4B97ZnjQF2KYWaFD2A8KyFBsrsfSjEmjn3RGWAIuvlneuZm3CUK3jbA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 9.13.0 + eslint: 9.16.0 eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.11.2: - resolution: {integrity: sha512-2WwyTYNVaMNUWPZTOJdkax9iqTdirrApgTbk+Qoq5EPX6myqZvG8QGFRgdKmkjKVG6/G/a565vpPauHk0+hpBA==} + /@eslint-community/regexpp@4.12.1: + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/config-array@0.18.0: - resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} + /@eslint/config-array@0.19.0: + resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: '@eslint/object-schema': 2.1.4 @@ -346,18 +351,18 @@ packages: - supports-color dev: true - /@eslint/core@0.7.0: - resolution: {integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==} + /@eslint/core@0.9.0: + resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@eslint/eslintrc@3.1.0: - resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} + /@eslint/eslintrc@3.2.0: + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 debug: 4.3.7(supports-color@8.1.1) - espree: 10.2.0 + espree: 10.3.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.0 @@ -368,8 +373,8 @@ packages: - supports-color dev: true - /@eslint/js@9.13.0: - resolution: {integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==} + /@eslint/js@9.16.0: + resolution: {integrity: sha512-tw2HxzQkrbeuvyj1tG2Yqq+0H9wGoI2IMk4EOsQeX+vmd75FtJAzf+gTA69WF+baUKRYQ3x2kbLE08js5OsTVg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true @@ -378,8 +383,8 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@eslint/plugin-kit@0.2.1: - resolution: {integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==} + /@eslint/plugin-kit@0.2.3: + resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: levn: 0.4.1 @@ -436,6 +441,16 @@ packages: '@ethersproject/properties': 5.7.0 dev: true + /@ethersproject/address@5.6.1: + resolution: {integrity: sha512-uOgF0kS5MJv9ZvCz7x6T2EXJSzotiybApn4XlOgoTX0xdtyVIJ7pF+6cGPxiEq/dpBiTfMiw7Yc81JcwhSYA0Q==} + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/rlp': 5.7.0 + dev: true + /@ethersproject/address@5.7.0: resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} dependencies: @@ -723,18 +738,19 @@ packages: /@gar/promisify@1.1.3: resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} requiresBuild: true + dev: true optional: true - /@humanfs/core@0.19.0: - resolution: {integrity: sha512-2cbWIHbZVEweE853g8jymffCA+NCMiuqeECeBBLm8dg2oFdjuGJhgN4UAbI+6v0CKbbhvtXA4qV8YR5Ji86nmw==} + /@humanfs/core@0.19.1: + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} engines: {node: '>=18.18.0'} dev: true - /@humanfs/node@0.16.5: - resolution: {integrity: sha512-KSPA4umqSG4LHYRodq31VDwKAvaTF4xmVlzM8Aeh4PlU1JQ3IG0wiA8C25d3RQ9nJyM3mBHyI53K06VVL/oFFg==} + /@humanfs/node@0.16.6: + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} engines: {node: '>=18.18.0'} dependencies: - '@humanfs/core': 0.19.0 + '@humanfs/core': 0.19.1 '@humanwhocodes/retry': 0.3.1 dev: true @@ -748,6 +764,11 @@ packages: engines: {node: '>=18.18'} dev: true + /@humanwhocodes/retry@0.4.1: + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} + dev: true + /@jridgewell/gen-mapping@0.3.5: resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -822,8 +843,8 @@ packages: engines: {node: '>= 16'} dev: true - /@noble/hashes@1.5.0: - resolution: {integrity: sha512-1j6kQFb7QRru7eKN3ZDvRcP13rugwdxZqCjbiAVZfIJwgj2A65UmT4TgARXGlXgnRkORLTDTrO19ZErt7+QXgA==} + /@noble/hashes@1.6.1: + resolution: {integrity: sha512-pq5D8h10hHBjyqX+cfBm0i8JUXJ0UhczFc4r74zbuT9XgewFo2E3J1cOaGtdZynILNmQ685YWGzGE1Zv6io50w==} engines: {node: ^14.21.3 || >=16} dev: true @@ -852,52 +873,52 @@ packages: fastq: 1.17.1 dev: true - /@nomicfoundation/edr-darwin-arm64@0.6.4: - resolution: {integrity: sha512-QNQErISLgssV9+qia8sIjRANqtbW8snSDvjspixT/kSQ5ZSGxxctTg7x72wPSrcu8+EBEveIe5uqENIp5GH8HQ==} + /@nomicfoundation/edr-darwin-arm64@0.6.5: + resolution: {integrity: sha512-A9zCCbbNxBpLgjS1kEJSpqxIvGGAX4cYbpDYCU2f3jVqOwaZ/NU761y1SvuCRVpOwhoCXqByN9b7HPpHi0L4hw==} engines: {node: '>= 18'} dev: true - /@nomicfoundation/edr-darwin-x64@0.6.4: - resolution: {integrity: sha512-cjVmREiwByyc9+oGfvAh49IAw+oVJHF9WWYRD+Tm/ZlSpnEVWxrGNBak2bd/JSYjn+mZE7gmWS4SMRi4nKaLUg==} + /@nomicfoundation/edr-darwin-x64@0.6.5: + resolution: {integrity: sha512-x3zBY/v3R0modR5CzlL6qMfFMdgwd6oHrWpTkuuXnPFOX8SU31qq87/230f4szM+ukGK8Hi+mNq7Ro2VF4Fj+w==} engines: {node: '>= 18'} dev: true - /@nomicfoundation/edr-linux-arm64-gnu@0.6.4: - resolution: {integrity: sha512-96o9kRIVD6W5VkgKvUOGpWyUGInVQ5BRlME2Fa36YoNsRQMaKtmYJEU0ACosYES6ZTpYC8U5sjMulvPtVoEfOA==} + /@nomicfoundation/edr-linux-arm64-gnu@0.6.5: + resolution: {integrity: sha512-HGpB8f1h8ogqPHTyUpyPRKZxUk2lu061g97dOQ/W4CxevI0s/qiw5DB3U3smLvSnBHKOzYS1jkxlMeGN01ky7A==} engines: {node: '>= 18'} dev: true - /@nomicfoundation/edr-linux-arm64-musl@0.6.4: - resolution: {integrity: sha512-+JVEW9e5plHrUfQlSgkEj/UONrIU6rADTEk+Yp9pbe+mzNkJdfJYhs5JYiLQRP4OjxH4QOrXI97bKU6FcEbt5Q==} + /@nomicfoundation/edr-linux-arm64-musl@0.6.5: + resolution: {integrity: sha512-ESvJM5Y9XC03fZg9KaQg3Hl+mbx7dsSkTIAndoJS7X2SyakpL9KZpOSYrDk135o8s9P9lYJdPOyiq+Sh+XoCbQ==} engines: {node: '>= 18'} dev: true - /@nomicfoundation/edr-linux-x64-gnu@0.6.4: - resolution: {integrity: sha512-nzYWW+fO3EZItOeP4CrdMgDXfaGBIBkKg0Y/7ySpUxLqzut40O4Mb0/+quqLAFkacUSWMlFp8nsmypJfOH5zoA==} + /@nomicfoundation/edr-linux-x64-gnu@0.6.5: + resolution: {integrity: sha512-HCM1usyAR1Ew6RYf5AkMYGvHBy64cPA5NMbaeY72r0mpKaH3txiMyydcHibByOGdQ8iFLWpyUdpl1egotw+Tgg==} engines: {node: '>= 18'} dev: true - /@nomicfoundation/edr-linux-x64-musl@0.6.4: - resolution: {integrity: sha512-QFRoE9qSQ2boRrVeQ1HdzU+XN7NUgwZ1SIy5DQt4d7jCP+5qTNsq8LBNcqhRBOATgO63nsweNUhxX/Suj5r1Sw==} + /@nomicfoundation/edr-linux-x64-musl@0.6.5: + resolution: {integrity: sha512-nB2uFRyczhAvWUH7NjCsIO6rHnQrof3xcCe6Mpmnzfl2PYcGyxN7iO4ZMmRcQS7R1Y670VH6+8ZBiRn8k43m7A==} engines: {node: '>= 18'} dev: true - /@nomicfoundation/edr-win32-x64-msvc@0.6.4: - resolution: {integrity: sha512-2yopjelNkkCvIjUgBGhrn153IBPLwnsDeNiq6oA0WkeM8tGmQi4td+PGi9jAriUDAkc59Yoi2q9hYA6efiY7Zw==} + /@nomicfoundation/edr-win32-x64-msvc@0.6.5: + resolution: {integrity: sha512-B9QD/4DSSCFtWicO8A3BrsnitO1FPv7axB62wq5Q+qeJ50yJlTmyeGY3cw62gWItdvy2mh3fRM6L1LpnHiB77A==} engines: {node: '>= 18'} dev: true - /@nomicfoundation/edr@0.6.4: - resolution: {integrity: sha512-YgrSuT3yo5ZQkbvBGqQ7hG+RDvz3YygSkddg4tb1Z0Y6pLXFzwrcEwWaJCFAVeeZxdxGfCgGMUYgRVneK+WXkw==} + /@nomicfoundation/edr@0.6.5: + resolution: {integrity: sha512-tAqMslLP+/2b2sZP4qe9AuGxG3OkQ5gGgHE4isUuq6dUVjwCRPFhAOhpdFl+OjY5P3yEv3hmq9HjUGRa2VNjng==} engines: {node: '>= 18'} dependencies: - '@nomicfoundation/edr-darwin-arm64': 0.6.4 - '@nomicfoundation/edr-darwin-x64': 0.6.4 - '@nomicfoundation/edr-linux-arm64-gnu': 0.6.4 - '@nomicfoundation/edr-linux-arm64-musl': 0.6.4 - '@nomicfoundation/edr-linux-x64-gnu': 0.6.4 - '@nomicfoundation/edr-linux-x64-musl': 0.6.4 - '@nomicfoundation/edr-win32-x64-msvc': 0.6.4 + '@nomicfoundation/edr-darwin-arm64': 0.6.5 + '@nomicfoundation/edr-darwin-x64': 0.6.5 + '@nomicfoundation/edr-linux-arm64-gnu': 0.6.5 + '@nomicfoundation/edr-linux-arm64-musl': 0.6.5 + '@nomicfoundation/edr-linux-x64-gnu': 0.6.5 + '@nomicfoundation/edr-linux-x64-musl': 0.6.5 + '@nomicfoundation/edr-win32-x64-msvc': 0.6.5 dev: true /@nomicfoundation/ethereumjs-common@4.0.4: @@ -942,7 +963,7 @@ packages: ethereum-cryptography: 0.1.3 dev: true - /@nomicfoundation/hardhat-chai-matchers@2.0.8(@nomicfoundation/hardhat-ethers@3.0.8)(chai@4.5.0)(ethers@6.13.4)(hardhat@2.22.15): + /@nomicfoundation/hardhat-chai-matchers@2.0.8(@nomicfoundation/hardhat-ethers@3.0.8)(chai@4.5.0)(ethers@6.13.4)(hardhat@2.22.17): resolution: {integrity: sha512-Z5PiCXH4xhNLASROlSUOADfhfpfhYO6D7Hn9xp8PddmHey0jq704cr6kfU8TRrQ4PUZbpfsZadPj+pCfZdjPIg==} peerDependencies: '@nomicfoundation/hardhat-ethers': ^3.0.0 @@ -950,17 +971,17 @@ packages: ethers: ^6.1.0 hardhat: ^2.9.4 dependencies: - '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.4)(hardhat@2.22.15) + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.4)(hardhat@2.22.17) '@types/chai-as-promised': 7.1.8 chai: 4.5.0 chai-as-promised: 7.1.2(chai@4.5.0) deep-eql: 4.1.4 ethers: 6.13.4 - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) ordinal: 1.0.3 dev: true - /@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.4)(hardhat@2.22.15): + /@nomicfoundation/hardhat-ethers@3.0.8(ethers@6.13.4)(hardhat@2.22.17): resolution: {integrity: sha512-zhOZ4hdRORls31DTOqg+GmEZM0ujly8GGIuRY7t7szEk2zW/arY1qDug/py8AEktT00v5K+b6RvbVog+va51IA==} peerDependencies: ethers: ^6.1.0 @@ -968,73 +989,112 @@ packages: dependencies: debug: 4.3.7(supports-color@8.1.1) ethers: 6.13.4 - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) lodash.isequal: 4.5.0 transitivePeerDependencies: - supports-color dev: true - /@nomicfoundation/hardhat-network-helpers@1.0.12(hardhat@2.22.15): + /@nomicfoundation/hardhat-ignition-ethers@0.15.8(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-ignition@0.15.8)(@nomicfoundation/ignition-core@0.15.8)(ethers@6.13.4)(hardhat@2.22.17): + resolution: {integrity: sha512-5Ev8cXBKgqqOsFXxWe8iijsRabWGd/Vclx3SC903KeKVePdssVsZcYTtRNRcIwRcPJ0RIKJPIZz7MNDo64l3+w==} + peerDependencies: + '@nomicfoundation/hardhat-ethers': ^3.0.4 + '@nomicfoundation/hardhat-ignition': ^0.15.8 + '@nomicfoundation/ignition-core': ^0.15.8 + ethers: ^6.7.0 + hardhat: ^2.18.0 + dependencies: + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.4)(hardhat@2.22.17) + '@nomicfoundation/hardhat-ignition': 0.15.8(@nomicfoundation/hardhat-verify@2.0.12)(hardhat@2.22.17) + '@nomicfoundation/ignition-core': 0.15.8 + ethers: 6.13.4 + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) + dev: true + + /@nomicfoundation/hardhat-ignition@0.15.8(@nomicfoundation/hardhat-verify@2.0.12)(hardhat@2.22.17): + resolution: {integrity: sha512-TN8TFQokcd7VyqGfbXO+KS8Q4K/gmsOFlv8dPnt/N596AncgV2Igxh5C3O+KVez11PDHNqoj1JzcDzzNVHrIRw==} + peerDependencies: + '@nomicfoundation/hardhat-verify': ^2.0.1 + hardhat: ^2.18.0 + dependencies: + '@nomicfoundation/hardhat-verify': 2.0.12(hardhat@2.22.17) + '@nomicfoundation/ignition-core': 0.15.8 + '@nomicfoundation/ignition-ui': 0.15.8 + chalk: 4.1.2 + debug: 4.3.7(supports-color@8.1.1) + fs-extra: 10.1.0 + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) + json5: 2.2.3 + prompts: 2.4.2 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate + dev: true + + /@nomicfoundation/hardhat-network-helpers@1.0.12(hardhat@2.22.17): resolution: {integrity: sha512-xTNQNI/9xkHvjmCJnJOTyqDSl8uq1rKb2WOVmixQxFtRd7Oa3ecO8zM0cyC2YmOK+jHB9WPZ+F/ijkHg1CoORA==} peerDependencies: hardhat: ^2.9.5 dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) dev: true - /@nomicfoundation/hardhat-toolbox@3.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.8)(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-network-helpers@1.0.12)(@nomicfoundation/hardhat-verify@1.1.1)(@typechain/ethers-v6@0.4.3)(@typechain/hardhat@8.0.3)(@types/chai@4.3.20)(@types/mocha@10.0.9)(@types/node@18.19.59)(chai@4.5.0)(ethers@6.13.4)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.15)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typechain@8.3.2)(typescript@5.6.3): - resolution: {integrity: sha512-MsteDXd0UagMksqm9KvcFG6gNKYNa3GGNCy73iQ6bEasEgg2v8Qjl6XA5hjs8o5UD5A3153B6W2BIVJ8SxYUtA==} + /@nomicfoundation/hardhat-toolbox@5.0.0(@nomicfoundation/hardhat-chai-matchers@2.0.8)(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-ignition-ethers@0.15.8)(@nomicfoundation/hardhat-network-helpers@1.0.12)(@nomicfoundation/hardhat-verify@2.0.12)(@typechain/ethers-v6@0.5.1)(@typechain/hardhat@9.1.0)(@types/chai@4.3.20)(@types/mocha@10.0.10)(@types/node@18.19.67)(chai@4.5.0)(ethers@6.13.4)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.17)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typechain@8.3.2)(typescript@5.7.2): + resolution: {integrity: sha512-FnUtUC5PsakCbwiVNsqlXVIWG5JIb5CEZoSXbJUsEBun22Bivx2jhF1/q9iQbzuaGpJKFQyOhemPB2+XlEE6pQ==} peerDependencies: '@nomicfoundation/hardhat-chai-matchers': ^2.0.0 '@nomicfoundation/hardhat-ethers': ^3.0.0 + '@nomicfoundation/hardhat-ignition-ethers': ^0.15.0 '@nomicfoundation/hardhat-network-helpers': ^1.0.0 - '@nomicfoundation/hardhat-verify': ^1.0.0 - '@typechain/ethers-v6': ^0.4.0 - '@typechain/hardhat': ^8.0.0 + '@nomicfoundation/hardhat-verify': ^2.0.0 + '@typechain/ethers-v6': ^0.5.0 + '@typechain/hardhat': ^9.0.0 '@types/chai': ^4.2.0 '@types/mocha': '>=9.1.0' - '@types/node': '>=12.0.0' + '@types/node': '>=18.0.0' chai: ^4.2.0 ethers: ^6.4.0 hardhat: ^2.11.0 hardhat-gas-reporter: ^1.0.8 solidity-coverage: ^0.8.1 ts-node: '>=8.0.0' - typechain: ^8.2.0 + typechain: ^8.3.0 typescript: '>=4.5.0' dependencies: - '@nomicfoundation/hardhat-chai-matchers': 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8)(chai@4.5.0)(ethers@6.13.4)(hardhat@2.22.15) - '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.4)(hardhat@2.22.15) - '@nomicfoundation/hardhat-network-helpers': 1.0.12(hardhat@2.22.15) - '@nomicfoundation/hardhat-verify': 1.1.1(hardhat@2.22.15) - '@typechain/ethers-v6': 0.4.3(ethers@6.13.4)(typechain@8.3.2)(typescript@5.6.3) - '@typechain/hardhat': 8.0.3(@typechain/ethers-v6@0.4.3)(ethers@6.13.4)(hardhat@2.22.15)(typechain@8.3.2) + '@nomicfoundation/hardhat-chai-matchers': 2.0.8(@nomicfoundation/hardhat-ethers@3.0.8)(chai@4.5.0)(ethers@6.13.4)(hardhat@2.22.17) + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.4)(hardhat@2.22.17) + '@nomicfoundation/hardhat-ignition-ethers': 0.15.8(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-ignition@0.15.8)(@nomicfoundation/ignition-core@0.15.8)(ethers@6.13.4)(hardhat@2.22.17) + '@nomicfoundation/hardhat-network-helpers': 1.0.12(hardhat@2.22.17) + '@nomicfoundation/hardhat-verify': 2.0.12(hardhat@2.22.17) + '@typechain/ethers-v6': 0.5.1(ethers@6.13.4)(typechain@8.3.2)(typescript@5.7.2) + '@typechain/hardhat': 9.1.0(@typechain/ethers-v6@0.5.1)(ethers@6.13.4)(hardhat@2.22.17)(typechain@8.3.2) '@types/chai': 4.3.20 - '@types/mocha': 10.0.9 - '@types/node': 18.19.59 + '@types/mocha': 10.0.10 + '@types/node': 18.19.67 chai: 4.5.0 ethers: 6.13.4 - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) - hardhat-gas-reporter: 1.0.10(hardhat@2.22.15) - solidity-coverage: 0.8.12(hardhat@2.22.15) - ts-node: 10.9.2(@types/node@18.19.59)(typescript@5.6.3) - typechain: 8.3.2(typescript@5.6.3) - typescript: 5.6.3 + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) + hardhat-gas-reporter: 1.0.10(hardhat@2.22.17) + solidity-coverage: 0.8.12(hardhat@2.22.17) + ts-node: 10.9.2(@types/node@18.19.67)(typescript@5.7.2) + typechain: 8.3.2(typescript@5.7.2) + typescript: 5.7.2 dev: true - /@nomicfoundation/hardhat-verify@1.1.1(hardhat@2.22.15): - resolution: {integrity: sha512-9QsTYD7pcZaQFEA3tBb/D/oCStYDiEVDN7Dxeo/4SCyHRSm86APypxxdOMEPlGmXsAvd+p1j/dTODcpxb8aztA==} + /@nomicfoundation/hardhat-verify@2.0.12(hardhat@2.22.17): + resolution: {integrity: sha512-Lg3Nu7DCXASQRVI/YysjuAX2z8jwOCbS0w5tz2HalWGSTZThqA0v9N0v0psHbKNqzPJa8bNOeapIVSziyJTnAg==} peerDependencies: hardhat: ^2.0.4 dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/address': 5.7.0 cbor: 8.1.0 - chalk: 2.4.2 debug: 4.3.7(supports-color@8.1.1) - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) lodash.clonedeep: 4.5.0 + picocolors: 1.1.1 semver: 6.3.1 table: 6.8.2 undici: 5.28.4 @@ -1042,64 +1102,32 @@ packages: - supports-color dev: true - /@nomicfoundation/slang-darwin-arm64@0.17.0: - resolution: {integrity: sha512-O0q94EUtoWy9A5kOTOa9/khtxXDYnLqmuda9pQELurSiwbQEVCPQL8kb34VbOW+ifdre66JM/05Xw9JWhIZ9sA==} - engines: {node: '>= 10'} - dev: true - - /@nomicfoundation/slang-darwin-x64@0.17.0: - resolution: {integrity: sha512-IaDbHzvT08sBK2HyGzonWhq1uu8IxdjmTqAWHr25Oh/PYnamdi8u4qchZXXYKz/DHLoYN3vIpBXoqLQIomhD/g==} - engines: {node: '>= 10'} - dev: true - - /@nomicfoundation/slang-linux-arm64-gnu@0.17.0: - resolution: {integrity: sha512-Lj4anvOsQZxs1SycG8VyT2Rl2oqIhyLSUCgGepTt3CiJ/bM+8r8bLJIgh8vKkki4BWz49YsYIgaJB2IPv8FFTw==} - engines: {node: '>= 10'} - dev: true - - /@nomicfoundation/slang-linux-arm64-musl@0.17.0: - resolution: {integrity: sha512-/xkTCa9d5SIWUBQE3BmLqDFfJRr4yUBwbl4ynPiGUpRXrD69cs6pWKkwjwz/FdBpXqVo36I+zY95qzoTj/YhOA==} - engines: {node: '>= 10'} - dev: true - - /@nomicfoundation/slang-linux-x64-gnu@0.17.0: - resolution: {integrity: sha512-oe5IO5vntOqYvTd67deCHPIWuSuWm6aYtT2/0Kqz2/VLtGz4ClEulBSRwfnNzBVtw2nksWipE1w8BzhImI7Syg==} - engines: {node: '>= 10'} - dev: true - - /@nomicfoundation/slang-linux-x64-musl@0.17.0: - resolution: {integrity: sha512-PpYCI5K/kgLAMXaPY0V4VST5gCDprEOh7z/47tbI8kJQumI5odjsj/Cs8MpTo7/uRH6flKYbVNgUzcocWVYrAQ==} - engines: {node: '>= 10'} - dev: true - - /@nomicfoundation/slang-win32-arm64-msvc@0.17.0: - resolution: {integrity: sha512-u/Mkf7OjokdBilP7QOJj6QYJU4/mjkbKnTX21wLyCIzeVWS7yafRPYpBycKIBj2pRRZ6ceAY5EqRpb0aiCq+0Q==} - engines: {node: '>= 10'} - dev: true - - /@nomicfoundation/slang-win32-ia32-msvc@0.17.0: - resolution: {integrity: sha512-XJBVQfNnZQUv0tP2JSJ573S+pmgrLWgqSZOGaMllnB/TL1gRci4Z7dYRJUF2s82GlRJE+FHSI2Ro6JISKmlXCg==} - engines: {node: '>= 10'} + /@nomicfoundation/ignition-core@0.15.8: + resolution: {integrity: sha512-U+CmTjKU9uwvh7qIabqboy/K/sDoClDgpsFRHoFvAj87DPDkXYb/mZBSkXPTU1wxTxrW6GTFE4lG3e7LAyF+kw==} + dependencies: + '@ethersproject/address': 5.6.1 + '@nomicfoundation/solidity-analyzer': 0.1.2 + cbor: 9.0.2 + debug: 4.3.7(supports-color@8.1.1) + ethers: 6.13.4 + fs-extra: 10.1.0 + immer: 10.0.2 + lodash: 4.17.21 + ndjson: 2.0.0 + transitivePeerDependencies: + - bufferutil + - supports-color + - utf-8-validate dev: true - /@nomicfoundation/slang-win32-x64-msvc@0.17.0: - resolution: {integrity: sha512-zPGsAeiTfqfPNYHD8BfrahQmYzA78ZraoHKTGraq/1xwJwzBK4bu/NtvVA4pJjBV+B4L6DCxVhSbpn40q26JQA==} - engines: {node: '>= 10'} + /@nomicfoundation/ignition-ui@0.15.8: + resolution: {integrity: sha512-VUD5MsWrrv7E2P0AJO01pV8w8m66Du0uwBKXM0oUV5DRIzqm6eYHt9eCDb1KBINDpiFxOQiuyWQMdeKxgPp3qw==} dev: true - /@nomicfoundation/slang@0.17.0: - resolution: {integrity: sha512-1GlkGRcGpVnjFw9Z1vvDKOKo2mzparFt7qrl2pDxWp+jrVtlvej98yCMX52pVyrYE7ZeOSZFnx/DtsSgoukStQ==} - engines: {node: '>= 10'} + /@nomicfoundation/slang@0.18.3: + resolution: {integrity: sha512-YqAWgckqbHM0/CZxi9Nlf4hjk9wUNLC9ngWCWBiqMxPIZmzsVKYuChdlrfeBPQyvQQBoOhbx+7C1005kLVQDZQ==} dependencies: - '@nomicfoundation/slang-darwin-arm64': 0.17.0 - '@nomicfoundation/slang-darwin-x64': 0.17.0 - '@nomicfoundation/slang-linux-arm64-gnu': 0.17.0 - '@nomicfoundation/slang-linux-arm64-musl': 0.17.0 - '@nomicfoundation/slang-linux-x64-gnu': 0.17.0 - '@nomicfoundation/slang-linux-x64-musl': 0.17.0 - '@nomicfoundation/slang-win32-arm64-msvc': 0.17.0 - '@nomicfoundation/slang-win32-ia32-msvc': 0.17.0 - '@nomicfoundation/slang-win32-x64-msvc': 0.17.0 + '@bytecodealliance/preview2-shim': 0.17.0 dev: true /@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.2: @@ -1170,6 +1198,7 @@ packages: dependencies: '@gar/promisify': 1.1.3 semver: 7.6.3 + dev: true optional: true /@npmcli/move-file@1.1.2: @@ -1180,22 +1209,15 @@ packages: dependencies: mkdirp: 1.0.4 rimraf: 3.0.2 - optional: true - - /@openzeppelin/contracts-upgradeable@5.0.2(@openzeppelin/contracts@5.1.0): - resolution: {integrity: sha512-0MmkHSHiW2NRFiT9/r5Lu4eJq5UJ4/tzlOgYXNAIj/ONkQTVnz22pLxDvp4C4uZ9he7ZFvGn3Driptn1/iU7tQ==} - peerDependencies: - '@openzeppelin/contracts': 5.0.2 - dependencies: - '@openzeppelin/contracts': 5.1.0 dev: true + optional: true /@openzeppelin/contracts@5.1.0: resolution: {integrity: sha512-p1ULhl7BXzjjbha5aqst+QMLY+4/LCWADXOCsmLHRM77AqiPjnd9vvUN9sosUfhL9JGKpZ0TjEGxgvnizmWGSA==} dev: true - /@openzeppelin/defender-sdk-base-client@1.15.0: - resolution: {integrity: sha512-nuf/xegMIuKCO0hMrxI1KQKTzQw1iCl/9kew2nJM9MrFIohhfEXItc5rbJRoV/jehmK/Jhi9ATF9OHH09StEsQ==} + /@openzeppelin/defender-sdk-base-client@1.15.2: + resolution: {integrity: sha512-N3ZTeH8TXyklL7yNPMLUv0dxQwT78DTkOEDhzMS2/QE2FxbXrclSseoeeXxl6UYI61RBtZKn+okbSsbwiB5QWQ==} dependencies: amazon-cognito-identity-js: 6.3.12 async-retry: 1.3.3 @@ -1203,30 +1225,30 @@ packages: - encoding dev: true - /@openzeppelin/defender-sdk-deploy-client@1.15.0(debug@4.3.7): - resolution: {integrity: sha512-2ODMN4j5pPYWyIOvA/zRQmJ0tJyqi6NV3S/PyvufBXa3oj/MDnVO5bMGSQFH0M2VE3bg+i/rcUb0hdbX9Rtm5Q==} + /@openzeppelin/defender-sdk-deploy-client@1.15.2(debug@4.3.7): + resolution: {integrity: sha512-zspzMqh+OC8arXAkgBqTUDVO+NfCkt54UrsmQHbA3UAjr5TiDXKycBKU5ORb01hE+2gAmoPwEpDW9uS2VLg33A==} dependencies: - '@openzeppelin/defender-sdk-base-client': 1.15.0 - axios: 1.7.7(debug@4.3.7) + '@openzeppelin/defender-sdk-base-client': 1.15.2 + axios: 1.7.8(debug@4.3.7) lodash: 4.17.21 transitivePeerDependencies: - debug - encoding dev: true - /@openzeppelin/defender-sdk-network-client@1.15.0(debug@4.3.7): - resolution: {integrity: sha512-tNynCqFB1XYancq/8yGuj0HCSIyNLSRSuH53Hp2Tl+DpM7W5vIkzSRfvJJxC+8Sld83bVavyNJzTN9xid992Ag==} + /@openzeppelin/defender-sdk-network-client@1.15.2(debug@4.3.7): + resolution: {integrity: sha512-9r9pegc1aR7xzP9fmj1zvkk0OXMRJE10JabxxiJzAQQgmNXDeTGI6W5bFgrNJfxzcImNGqddJ3K4weKdLyL21A==} dependencies: - '@openzeppelin/defender-sdk-base-client': 1.15.0 - axios: 1.7.7(debug@4.3.7) + '@openzeppelin/defender-sdk-base-client': 1.15.2 + axios: 1.7.8(debug@4.3.7) lodash: 4.17.21 transitivePeerDependencies: - debug - encoding dev: true - /@openzeppelin/hardhat-upgrades@3.5.0(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-verify@1.1.1)(ethers@6.13.4)(hardhat@2.22.15): - resolution: {integrity: sha512-Ju/JnT7NRiOMi5m5Y0dGiz37d8wnjVBep1v5Vr7+6+MFNuQa1yddUEVWhWhoEw4udI3/mYwyw4Sfz3sq7vhicQ==} + /@openzeppelin/hardhat-upgrades@3.6.0(@nomicfoundation/hardhat-ethers@3.0.8)(@nomicfoundation/hardhat-verify@2.0.12)(ethers@6.13.4)(hardhat@2.22.17): + resolution: {integrity: sha512-RuVuCciCfFOqCyKSJ2D4Zffp3hxhvXTn16JzTlD9cx3A7V/2d3JA75tpRHD7RVPic+dcSFIf+BZRWOHuhc2ayg==} hasBin: true peerDependencies: '@nomicfoundation/hardhat-ethers': ^3.0.0 @@ -1237,29 +1259,29 @@ packages: '@nomicfoundation/hardhat-verify': optional: true dependencies: - '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.4)(hardhat@2.22.15) - '@nomicfoundation/hardhat-verify': 1.1.1(hardhat@2.22.15) - '@openzeppelin/defender-sdk-base-client': 1.15.0 - '@openzeppelin/defender-sdk-deploy-client': 1.15.0(debug@4.3.7) - '@openzeppelin/defender-sdk-network-client': 1.15.0(debug@4.3.7) - '@openzeppelin/upgrades-core': 1.40.0 + '@nomicfoundation/hardhat-ethers': 3.0.8(ethers@6.13.4)(hardhat@2.22.17) + '@nomicfoundation/hardhat-verify': 2.0.12(hardhat@2.22.17) + '@openzeppelin/defender-sdk-base-client': 1.15.2 + '@openzeppelin/defender-sdk-deploy-client': 1.15.2(debug@4.3.7) + '@openzeppelin/defender-sdk-network-client': 1.15.2(debug@4.3.7) + '@openzeppelin/upgrades-core': 1.41.0 chalk: 4.1.2 debug: 4.3.7(supports-color@8.1.1) ethereumjs-util: 7.1.5 ethers: 6.13.4 - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) proper-lockfile: 4.1.2 - undici: 6.20.1 + undici: 6.21.0 transitivePeerDependencies: - encoding - supports-color dev: true - /@openzeppelin/upgrades-core@1.40.0: - resolution: {integrity: sha512-4bPSXdEqHsNRL5T1ybPLneWGYjzGl6XWGWkv7aUoFFgz8mOdarstRBX1Wi4XJFw6IeHPUI7mMSQr2jdz8Y2ypQ==} + /@openzeppelin/upgrades-core@1.41.0: + resolution: {integrity: sha512-+oryinqZnxkiZvg7bWqWX4Ki/CNwVUZEqC6Elpi5PQoahpL3/6Sq9xjIozD5AiI2O61h8JHQ+A//5NtczyavJw==} hasBin: true dependencies: - '@nomicfoundation/slang': 0.17.0 + '@nomicfoundation/slang': 0.18.3 cbor: 9.0.2 chalk: 4.1.2 compare-versions: 6.1.1 @@ -1377,11 +1399,11 @@ packages: tslib: 1.14.1 dev: true - /@smithy/types@3.6.0: - resolution: {integrity: sha512-8VXK/KzOHefoC65yRgCn5vG1cysPJjHnOVt9d0ybFQSmJgQj152vMn4EkYhGuaOmnnZvCPav/KnYyE6/KsNZ2w==} + /@smithy/types@3.7.1: + resolution: {integrity: sha512-XKLcLXZY7sUQgvvWyeaL/qwNPp6V3dWcUjqrQKjSb+tzYiCy340R/c64LV5j+Tnb2GhmunEX0eou+L+m2hJNYA==} engines: {node: '>=16.0.0'} dependencies: - tslib: 2.7.0 + tslib: 2.8.1 dev: true /@solidity-parser/parser@0.14.5: @@ -1404,6 +1426,7 @@ packages: resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} engines: {node: '>= 6'} requiresBuild: true + dev: true optional: true /@trivago/prettier-plugin-sort-imports@4.3.0(prettier@2.8.8): @@ -1416,7 +1439,7 @@ packages: optional: true dependencies: '@babel/generator': 7.17.7 - '@babel/parser': 7.26.1 + '@babel/parser': 7.26.2 '@babel/traverse': 7.23.2 '@babel/types': 7.17.0 javascript-natural-sort: 0.7.1 @@ -1442,45 +1465,45 @@ packages: resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true - /@typechain/ethers-v6@0.4.3(ethers@6.13.4)(typechain@8.3.2)(typescript@5.6.3): - resolution: {integrity: sha512-TrxBsyb4ryhaY9keP6RzhFCviWYApcLCIRMPyWaKp2cZZrfaM3QBoxXTnw/eO4+DAY3l+8O0brNW0WgeQeOiDA==} + /@typechain/ethers-v6@0.5.1(ethers@6.13.4)(typechain@8.3.2)(typescript@5.7.2): + resolution: {integrity: sha512-F+GklO8jBWlsaVV+9oHaPh5NJdd6rAKN4tklGfInX1Q7h0xPgVLP39Jl3eCulPB5qexI71ZFHwbljx4ZXNfouA==} peerDependencies: ethers: 6.x - typechain: ^8.3.1 + typechain: ^8.3.2 typescript: '>=4.7.0' dependencies: ethers: 6.13.4 lodash: 4.17.21 - ts-essentials: 7.0.3(typescript@5.6.3) - typechain: 8.3.2(typescript@5.6.3) - typescript: 5.6.3 + ts-essentials: 7.0.3(typescript@5.7.2) + typechain: 8.3.2(typescript@5.7.2) + typescript: 5.7.2 dev: true - /@typechain/hardhat@8.0.3(@typechain/ethers-v6@0.4.3)(ethers@6.13.4)(hardhat@2.22.15)(typechain@8.3.2): - resolution: {integrity: sha512-MytSmJJn+gs7Mqrpt/gWkTCOpOQ6ZDfRrRT2gtZL0rfGe4QrU4x9ZdW15fFbVM/XTa+5EsKiOMYXhRABibNeng==} + /@typechain/hardhat@9.1.0(@typechain/ethers-v6@0.5.1)(ethers@6.13.4)(hardhat@2.22.17)(typechain@8.3.2): + resolution: {integrity: sha512-mtaUlzLlkqTlfPwB3FORdejqBskSnh+Jl8AIJGjXNAQfRQ4ofHADPl1+oU7Z3pAJzmZbUXII8MhOLQltcHgKnA==} peerDependencies: - '@typechain/ethers-v6': ^0.4.3 + '@typechain/ethers-v6': ^0.5.1 ethers: ^6.1.0 hardhat: ^2.9.9 - typechain: ^8.3.1 + typechain: ^8.3.2 dependencies: - '@typechain/ethers-v6': 0.4.3(ethers@6.13.4)(typechain@8.3.2)(typescript@5.6.3) + '@typechain/ethers-v6': 0.5.1(ethers@6.13.4)(typechain@8.3.2)(typescript@5.7.2) ethers: 6.13.4 fs-extra: 9.1.0 - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) - typechain: 8.3.2(typescript@5.6.3) + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) + typechain: 8.3.2(typescript@5.7.2) dev: true /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true /@types/bn.js@5.1.6: resolution: {integrity: sha512-Xh8vSwUeMKeYYrj3cX4lGQgFSF/N03r+tv4AiLl1SucqV+uTQpxRcnM8AkXKHwYP9ZPXOYXRr2KPXpVlIvqh9w==} dependencies: - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true /@types/chai-as-promised@7.1.8: @@ -1496,7 +1519,7 @@ packages: /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true /@types/eslint@9.6.1: @@ -1519,13 +1542,13 @@ packages: /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true /@types/fs-extra@9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true /@types/glob-to-regexp@0.4.4: @@ -1536,19 +1559,13 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true /@types/json-schema@7.0.15: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true - /@types/keccak@3.0.5: - resolution: {integrity: sha512-Mvu4StIJ9KyfPXDVRv3h0fWNBAjHPBQZ8EPcxhqA8FG6pLzxtytVXU5owB6J2/8xZ+ZspWTXJEUjAHt0pk0I1Q==} - dependencies: - '@types/node': 18.19.59 - dev: true - /@types/lru-cache@5.1.1: resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} dev: true @@ -1560,19 +1577,19 @@ packages: /@types/mkdirp@0.5.2: resolution: {integrity: sha512-U5icWpv7YnZYGsN4/cmh3WD2onMY0aJIiTE6+51TwJCttdHvtCYmkBNOobHlXwrJRL0nkH9jH4kD+1FAdMN4Tg==} dependencies: - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true - /@types/mocha@10.0.9: - resolution: {integrity: sha512-sicdRoWtYevwxjOHNMPTl3vSfJM6oyW8o1wXeI7uww6b6xHg8eBznQDNSGBCDJmsE8UMxP05JgZRtsKbTqt//Q==} + /@types/mocha@10.0.10: + resolution: {integrity: sha512-xPyYSz1cMPnJQhl0CLMH68j3gprKZaTjG3s5Vi+fDgx+uhG9NOXwbVt52eFS8ECyXhyKcjDLCBEqBExKuiZb7Q==} dev: true /@types/node@10.17.60: resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} dev: true - /@types/node@18.19.59: - resolution: {integrity: sha512-vizm2EqwV/7Zay+A6J3tGl9Lhr7CjZe2HmWS988sefiEmsyP9CeXEleho6i4hJk/8UtZAo0bWN4QPZZr83RxvQ==} + /@types/node@18.19.67: + resolution: {integrity: sha512-wI8uHusga+0ZugNp0Ol/3BqQfEcCCNfojtO6Oou9iVNGPTL6QNSdnUdqq85fRgIorLhLMuPIKpsN98QE9Nh+KQ==} dependencies: undici-types: 5.26.5 dev: true @@ -1590,31 +1607,31 @@ packages: /@types/pbkdf2@3.1.2: resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} dependencies: - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true /@types/prettier@2.7.3: resolution: {integrity: sha512-+68kP9yzs4LMp7VNh8gdzMSPZFL44MLGqiHWvttYJe+6qnuVr4Ek9wSBQoveqY/r+LwjCcU29kNVkidwim+kYA==} dev: true - /@types/qs@6.9.16: - resolution: {integrity: sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A==} + /@types/qs@6.9.17: + resolution: {integrity: sha512-rX4/bPcfmvxHDv0XjfJELTTr+iB+tn032nPILqHm5wbthUUUuVtNGGqzhya9XUxjTP8Fpr0qYgSZZKxGY++svQ==} dev: true /@types/resolve@0.0.8: resolution: {integrity: sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==} dependencies: - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true /@types/secp256k1@4.0.6: resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} dependencies: - '@types/node': 18.19.59 + '@types/node': 18.19.67 dev: true - /@typescript-eslint/eslint-plugin@8.11.0(@typescript-eslint/parser@8.11.0)(eslint@9.13.0)(typescript@5.6.3): - resolution: {integrity: sha512-KhGn2LjW1PJT2A/GfDpiyOfS4a8xHQv2myUagTM5+zsormOmBlYsnQ6pobJ8XxJmh6hnHwa2Mbe3fPrDJoDhbA==} + /@typescript-eslint/eslint-plugin@8.17.0(@typescript-eslint/parser@8.17.0)(eslint@9.16.0)(typescript@5.7.2): + resolution: {integrity: sha512-HU1KAdW3Tt8zQkdvNoIijfWDMvdSweFYm4hWh+KwhPstv+sCmWb89hCIP8msFm9N1R/ooh9honpSuvqKWlYy3w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 @@ -1624,24 +1641,24 @@ packages: typescript: optional: true dependencies: - '@eslint-community/regexpp': 4.11.2 - '@typescript-eslint/parser': 8.11.0(eslint@9.13.0)(typescript@5.6.3) - '@typescript-eslint/scope-manager': 8.11.0 - '@typescript-eslint/type-utils': 8.11.0(eslint@9.13.0)(typescript@5.6.3) - '@typescript-eslint/utils': 8.11.0(eslint@9.13.0)(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.11.0 - eslint: 9.13.0 + '@eslint-community/regexpp': 4.12.1 + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/type-utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 + eslint: 9.16.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.6.3) - typescript: 5.6.3 + ts-api-utils: 1.4.3(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@8.11.0(eslint@9.13.0)(typescript@5.6.3): - resolution: {integrity: sha512-lmt73NeHdy1Q/2ul295Qy3uninSqi6wQI18XwSpm8w0ZbQXUpjCAWP1Vlv/obudoBiIjJVjlztjQ+d/Md98Yxg==} + /@typescript-eslint/parser@8.17.0(eslint@9.16.0)(typescript@5.7.2): + resolution: {integrity: sha512-Drp39TXuUlD49F7ilHHCG7TTg8IkA+hxCuULdmzWYICxGXvDXmDmWEjJYZQYgf6l/TFfYNE167m7isnc3xlIEg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1650,51 +1667,52 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 8.11.0 - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) - '@typescript-eslint/visitor-keys': 8.11.0 + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.7(supports-color@8.1.1) - eslint: 9.13.0 - typescript: 5.6.3 + eslint: 9.16.0 + typescript: 5.7.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/scope-manager@8.11.0: - resolution: {integrity: sha512-Uholz7tWhXmA4r6epo+vaeV7yjdKy5QFCERMjs1kMVsLRKIrSdM6o21W2He9ftp5PP6aWOVpD5zvrvuHZC0bMQ==} + /@typescript-eslint/scope-manager@8.17.0: + resolution: {integrity: sha512-/ewp4XjvnxaREtqsZjF4Mfn078RD/9GmiEAtTeLQ7yFdKnqwTOgRMSvFz4et9U5RiJQ15WTGXPLj89zGusvxBg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/visitor-keys': 8.11.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 dev: true - /@typescript-eslint/type-utils@8.11.0(eslint@9.13.0)(typescript@5.6.3): - resolution: {integrity: sha512-ItiMfJS6pQU0NIKAaybBKkuVzo6IdnAhPFZA/2Mba/uBjuPQPet/8+zh5GtLHwmuFRShZx+8lhIs7/QeDHflOg==} + /@typescript-eslint/type-utils@8.17.0(eslint@9.16.0)(typescript@5.7.2): + resolution: {integrity: sha512-q38llWJYPd63rRnJ6wY/ZQqIzPrBCkPdpIsaCfkR3Q4t3p6sb422zougfad4TFW9+ElIFLVDzWGiGAfbb/v2qw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) - '@typescript-eslint/utils': 8.11.0(eslint@9.13.0)(typescript@5.6.3) + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) debug: 4.3.7(supports-color@8.1.1) - ts-api-utils: 1.3.0(typescript@5.6.3) - typescript: 5.6.3 + eslint: 9.16.0 + ts-api-utils: 1.4.3(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - - eslint - supports-color dev: true - /@typescript-eslint/types@8.11.0: - resolution: {integrity: sha512-tn6sNMHf6EBAYMvmPUaKaVeYvhUsrE6x+bXQTxjQRp360h1giATU0WvgeEys1spbvb5R+VpNOZ+XJmjD8wOUHw==} + /@typescript-eslint/types@8.17.0: + resolution: {integrity: sha512-gY2TVzeve3z6crqh2Ic7Cr+CAv6pfb0Egee7J5UAVWCpVvDI/F71wNfolIim4FE6hT15EbpZFVUj9j5i38jYXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@typescript-eslint/typescript-estree@8.11.0(typescript@5.6.3): - resolution: {integrity: sha512-yHC3s1z1RCHoCz5t06gf7jH24rr3vns08XXhfEqzYpd6Hll3z/3g23JRi0jM8A47UFKNc3u/y5KIMx8Ynbjohg==} + /@typescript-eslint/typescript-estree@8.17.0(typescript@5.7.2): + resolution: {integrity: sha512-JqkOopc1nRKZpX+opvKqnM3XUlM7LpFMD0lYxTqOTKQfCWAmxw45e3qlOCsEqEB2yuacujivudOFpCnqkBDNMw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' @@ -1702,41 +1720,45 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/visitor-keys': 8.11.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/visitor-keys': 8.17.0 debug: 4.3.7(supports-color@8.1.1) fast-glob: 3.3.2 is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.6.3 - ts-api-utils: 1.3.0(typescript@5.6.3) - typescript: 5.6.3 + ts-api-utils: 1.4.3(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@8.11.0(eslint@9.13.0)(typescript@5.6.3): - resolution: {integrity: sha512-CYiX6WZcbXNJV7UNB4PLDIBtSdRmRI/nb0FMyqHPTQD1rMjA0foPLaPUV39C/MxkTd/QKSeX+Gb34PPsDVC35g==} + /@typescript-eslint/utils@8.17.0(eslint@9.16.0)(typescript@5.7.2): + resolution: {integrity: sha512-bQC8BnEkxqG8HBGKwG9wXlZqg37RKSMY7v/X8VEWD8JG2JuTHuNK0VFvMPMUKQcbk6B+tf05k+4AShAEtCtJ/w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0) - '@typescript-eslint/scope-manager': 8.11.0 - '@typescript-eslint/types': 8.11.0 - '@typescript-eslint/typescript-estree': 8.11.0(typescript@5.6.3) - eslint: 9.13.0 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) + '@typescript-eslint/scope-manager': 8.17.0 + '@typescript-eslint/types': 8.17.0 + '@typescript-eslint/typescript-estree': 8.17.0(typescript@5.7.2) + eslint: 9.16.0 + typescript: 5.7.2 transitivePeerDependencies: - supports-color - - typescript dev: true - /@typescript-eslint/visitor-keys@8.11.0: - resolution: {integrity: sha512-EaewX6lxSjRJnc+99+dqzTeoDZUfyrA52d2/HRrkI830kgovWsmIiTfmr0NZorzqic7ga+1bS60lRBUgR3n/Bw==} + /@typescript-eslint/visitor-keys@8.17.0: + resolution: {integrity: sha512-1Hm7THLpO6ww5QU6H/Qp+AusUUl+z/CAm3cNZZ0jQvon9yicgO7Rwd+/WWRpMKLYV6p2UvdbR27c86rzCPpreg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: - '@typescript-eslint/types': 8.11.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.17.0 + eslint-visitor-keys: 4.2.0 dev: true /abbrev@1.0.9: @@ -1746,25 +1768,26 @@ packages: /abbrev@1.1.1: resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} requiresBuild: true + dev: true optional: true - /acorn-jsx@5.3.2(acorn@8.13.0): + /acorn-jsx@5.3.2(acorn@8.14.0): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: - acorn: 8.13.0 + acorn: 8.14.0 dev: true /acorn-walk@8.3.4: resolution: {integrity: sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==} engines: {node: '>=0.4.0'} dependencies: - acorn: 8.13.0 + acorn: 8.14.0 dev: true - /acorn@8.13.0: - resolution: {integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==} + /acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} engines: {node: '>=0.4.0'} hasBin: true dev: true @@ -1789,6 +1812,7 @@ packages: debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true /agentkeepalive@4.5.0: resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} @@ -1796,6 +1820,7 @@ packages: requiresBuild: true dependencies: humanize-ms: 1.2.1 + dev: true optional: true /aggregate-error@3.1.0: @@ -1804,6 +1829,7 @@ packages: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 + dev: true /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} @@ -1868,6 +1894,7 @@ packages: /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} + dev: true /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} @@ -1903,6 +1930,7 @@ packages: /aproba@2.0.0: resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} requiresBuild: true + dev: true optional: true /are-we-there-yet@3.0.1: @@ -1913,6 +1941,7 @@ packages: dependencies: delegates: 1.0.0 readable-stream: 3.6.2 + dev: true optional: true /arg@4.1.3: @@ -2000,8 +2029,8 @@ packages: - debug dev: true - /axios@1.7.7(debug@4.3.7): - resolution: {integrity: sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q==} + /axios@1.7.8(debug@4.3.7): + resolution: {integrity: sha512-Uu0wb7KNqK2t5K+YQyVCLM76prD5sRFjKHbJYCP1J7JFGEQ6nN7HWn9+04LAeiJ3ji54lgS/gZCH1oxyrf1SPw==} dependencies: follow-redirects: 1.15.9(debug@4.3.7) form-data: 4.0.1 @@ -2012,6 +2041,7 @@ packages: /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true /base-x@3.0.10: resolution: {integrity: sha512-7d0s06rR9rYaIWHkpfLIFICM/tkSVdoPC9qYAQRpxn9DdKNWNsKC0uk++akckyLq16Tx2WIinnZ6WRriAt6njQ==} @@ -2021,6 +2051,7 @@ packages: /base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: true /bech32@1.1.4: resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} @@ -2043,6 +2074,7 @@ packages: resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} dependencies: file-uri-to-path: 1.0.0 + dev: true /bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -2050,6 +2082,7 @@ packages: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 + dev: true /blakejs@1.2.1: resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} @@ -2059,8 +2092,8 @@ packages: resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} dev: true - /bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + /bn.js@4.12.1: + resolution: {integrity: sha512-k8TVBiPkPJT9uHLdOKfFpqcfprwBFOAAXXozRubr7R7PfIuKvQlzcI4M0pALeqXN09vdaMbUdUj+pass+uULAg==} dev: true /bn.js@5.2.1: @@ -2086,6 +2119,7 @@ packages: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 + dev: true /brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} @@ -2112,7 +2146,7 @@ packages: resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 - cipher-base: 1.0.4 + cipher-base: 1.0.6 create-hash: 1.2.0 evp_bytestokey: 1.0.3 inherits: 2.0.4 @@ -2154,6 +2188,7 @@ packages: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 + dev: true /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} @@ -2192,6 +2227,7 @@ packages: unique-filename: 1.1.1 transitivePeerDependencies: - bluebird + dev: true optional: true /call-bind@1.0.7: @@ -2306,17 +2342,20 @@ packages: /chownr@1.1.4: resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: true /chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} + dev: true /ci-info@2.0.0: resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true - /cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + /cipher-base@1.0.6: + resolution: {integrity: sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==} + engines: {node: '>= 0.10'} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 @@ -2325,6 +2364,7 @@ packages: /clean-stack@2.2.0: resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} engines: {node: '>=6'} + dev: true /cli-boxes@2.2.1: resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} @@ -2374,6 +2414,7 @@ packages: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true requiresBuild: true + dev: true optional: true /colors@1.4.0: @@ -2433,6 +2474,7 @@ packages: /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true /concat-stream@1.6.2: resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} @@ -2447,6 +2489,7 @@ packages: /console-control-strings@1.1.0: resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} requiresBuild: true + dev: true optional: true /cookie@0.4.2: @@ -2458,7 +2501,7 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cosmiconfig@8.3.6(typescript@5.6.3): + /cosmiconfig@8.3.6(typescript@5.7.2): resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} engines: {node: '>=14'} peerDependencies: @@ -2471,13 +2514,13 @@ packages: js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 - typescript: 5.6.3 + typescript: 5.7.2 dev: true /create-hash@1.2.0: resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: - cipher-base: 1.0.4 + cipher-base: 1.0.6 inherits: 2.0.4 md5.js: 1.3.5 ripemd160: 2.0.2 @@ -2487,7 +2530,7 @@ packages: /create-hmac@1.1.7: resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: - cipher-base: 1.0.4 + cipher-base: 1.0.6 create-hash: 1.2.0 inherits: 2.0.4 ripemd160: 2.0.2 @@ -2504,11 +2547,11 @@ packages: engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} hasBin: true dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 dev: true - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + /cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} dependencies: path-key: 3.1.1 @@ -2535,6 +2578,7 @@ packages: dependencies: ms: 2.1.3 supports-color: 8.1.1 + dev: true /decamelize@4.0.0: resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} @@ -2546,6 +2590,7 @@ packages: engines: {node: '>=10'} dependencies: mimic-response: 3.1.0 + dev: true /deep-eql@4.1.4: resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} @@ -2557,6 +2602,7 @@ packages: /deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} + dev: true /deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} @@ -2568,7 +2614,7 @@ packages: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 - gopd: 1.0.1 + gopd: 1.1.0 dev: true /delayed-stream@1.0.0: @@ -2579,6 +2625,7 @@ packages: /delegates@1.0.0: resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} requiresBuild: true + dev: true optional: true /depd@2.0.0: @@ -2594,6 +2641,7 @@ packages: /detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} + dev: true /diff@4.0.2: resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} @@ -2618,15 +2666,15 @@ packages: path-type: 4.0.0 dev: true - /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + /dotenv@16.4.6: + resolution: {integrity: sha512-JhcR/+KIjkkjiU8yEpaB/USlzVi3i5whwOjpIRNGi9svKEXZSe+Qp6IWAjFjv+2GViAoDRCUv/QLNziQxsLqDg==} engines: {node: '>=12'} dev: true /elliptic@6.5.4: resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: - bn.js: 4.12.0 + bn.js: 4.12.1 brorand: 1.1.0 hash.js: 1.1.7 hmac-drbg: 1.0.1 @@ -2635,10 +2683,10 @@ packages: minimalistic-crypto-utils: 1.0.1 dev: true - /elliptic@6.6.0: - resolution: {integrity: sha512-dpwoQcLc/2WLQvJvLRHKZ+f9FgOdjnq11rurqwekGQygGPsYSK29OMMD2WalatiqQ+XGFDglTNixpPfI+lpaAA==} + /elliptic@6.6.1: + resolution: {integrity: sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==} dependencies: - bn.js: 4.12.0 + bn.js: 4.12.1 brorand: 1.1.0 hash.js: 1.1.7 hmac-drbg: 1.0.1 @@ -2649,6 +2697,7 @@ packages: /emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true /encode-utf8@1.0.3: resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==} @@ -2659,12 +2708,14 @@ packages: requiresBuild: true dependencies: iconv-lite: 0.6.3 + dev: true optional: true /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 + dev: true /enquirer@2.4.1: resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} @@ -2677,10 +2728,12 @@ packages: /env-paths@2.2.1: resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} engines: {node: '>=6'} + dev: true /err-code@2.0.3: resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} requiresBuild: true + dev: true optional: true /error-ex@1.3.2: @@ -2729,17 +2782,17 @@ packages: source-map: 0.2.0 dev: true - /eslint-config-prettier@8.10.0(eslint@9.13.0): + /eslint-config-prettier@8.10.0(eslint@9.16.0): resolution: {integrity: sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 9.13.0 + eslint: 9.16.0 dev: true - /eslint-scope@8.1.0: - resolution: {integrity: sha512-14dSvlhaVhKKsa9Fx1l8A17s7ah7Ef7wCakJ10LYk6+GYmP9yDti2oq2SEwcyndt6knfcZyhyxwY3i9yL78EQw==} + /eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: esrecurse: 4.3.0 @@ -2751,13 +2804,13 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint-visitor-keys@4.1.0: - resolution: {integrity: sha512-Q7lok0mqMUSf5a/AdAZkA5a/gHcO6snwQClVNNvFKCAVlxXucdU8pKydU5ZVZjBx5xr37vGbFFWtLQYreLzrZg==} + /eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /eslint@9.13.0: - resolution: {integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==} + /eslint@9.16.0: + resolution: {integrity: sha512-whp8mSQI4C8VXd+fLgSM0lh3UlmcFtVwUQjyKCFfsp+2ItAIYhlq/hqGahGqHE6cv9unM41VlqKk2VtKYR2TaA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -2766,26 +2819,26 @@ packages: jiti: optional: true dependencies: - '@eslint-community/eslint-utils': 4.4.1(eslint@9.13.0) - '@eslint-community/regexpp': 4.11.2 - '@eslint/config-array': 0.18.0 - '@eslint/core': 0.7.0 - '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.13.0 - '@eslint/plugin-kit': 0.2.1 - '@humanfs/node': 0.16.5 + '@eslint-community/eslint-utils': 4.4.1(eslint@9.16.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.0 + '@eslint/core': 0.9.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.16.0 + '@eslint/plugin-kit': 0.2.3 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.3.1 + '@humanwhocodes/retry': 0.4.1 '@types/estree': 1.0.6 '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 debug: 4.3.7(supports-color@8.1.1) escape-string-regexp: 4.0.0 - eslint-scope: 8.1.0 - eslint-visitor-keys: 4.1.0 - espree: 10.2.0 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.6.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -2800,18 +2853,17 @@ packages: minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.4 - text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true - /espree@10.2.0: - resolution: {integrity: sha512-upbkBJbckcCNBDBDXEbuhjbP68n+scUd3k/U2EkyM9nw+I/jPiL4cLF/Al06CF96wRltFda16sxDFrxsI1v0/g==} + /espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: - acorn: 8.13.0 - acorn-jsx: 5.3.2(acorn@8.13.0) - eslint-visitor-keys: 4.1.0 + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 dev: true /esprima@2.7.3: @@ -2864,7 +2916,7 @@ packages: optional: true dependencies: '@solidity-parser/parser': 0.14.5 - axios: 1.7.7(debug@4.3.7) + axios: 1.7.8(debug@4.3.7) cli-table3: 0.5.1 colors: 1.4.0 ethereum-cryptography: 1.2.0 @@ -2872,7 +2924,7 @@ packages: fs-readdir-recursive: 1.1.0 lodash: 4.17.21 markdown-table: 1.1.3 - mocha: 10.7.3 + mocha: 10.8.2 req-cwd: 2.0.0 sha1: 1.1.1 sync-request: 6.1.0 @@ -2885,7 +2937,7 @@ packages: /ethereum-bloom-filters@1.2.0: resolution: {integrity: sha512-28hyiE7HVsWubqhpVLVmZXFd4ITeHi+BUu05o9isf0GUpMtzBUi+8/gFrGaGYzvGAJQmJ3JKj77Mk9G98T84rA==} dependencies: - '@noble/hashes': 1.5.0 + '@noble/hashes': 1.6.1 dev: true /ethereum-cryptography@0.1.3: @@ -2928,8 +2980,9 @@ packages: /ethereumjs-abi@0.6.8: resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} + deprecated: This library has been deprecated and usage is discouraged. dependencies: - bn.js: 4.12.0 + bn.js: 4.12.1 ethereumjs-util: 6.2.1 dev: true @@ -2937,9 +2990,9 @@ packages: resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} dependencies: '@types/bn.js': 4.11.6 - bn.js: 4.12.0 + bn.js: 4.12.1 create-hash: 1.2.0 - elliptic: 6.6.0 + elliptic: 6.6.1 ethereum-cryptography: 0.1.3 ethjs-util: 0.1.6 rlp: 2.2.7 @@ -3036,9 +3089,11 @@ packages: /expand-template@2.0.3: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} + dev: true /extra-bigint@1.2.0: resolution: {integrity: sha512-F9T/pcT5xPZTjlFMKGCZgBY2/jKqEPxXHT4kLSwsa7gp7D05nQq8z9NzRTzVy5Z4AOO1E/iD9r9OBz4csGD7nw==} + dev: true /fast-base64-decode@1.0.0: resolution: {integrity: sha512-qwaScUgUGBYeDNRnbc/KyllVU88Jk1pRHPStuF/lO7B0/RTRLj7U0lkdTAutlBblY08rwZDff6tNU9cjv6j//Q==} @@ -3081,6 +3136,17 @@ packages: reusify: 1.0.4 dev: true + /fdir@6.4.2(picomatch@4.0.2): + resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} + peerDependencies: + picomatch: ^3 || ^4 + peerDependenciesMeta: + picomatch: + optional: true + dependencies: + picomatch: 4.0.2 + dev: true + /fetch-mock@11.1.5: resolution: {integrity: sha512-KHmZDnZ1ry0pCTrX4YG5DtThHi0MH+GNI9caESnzX/nMJBrvppUHMvLx47M0WY9oAtKOMiPfZDRpxhlHg89BOA==} engines: {node: '>=8.0.0'} @@ -3097,12 +3163,12 @@ packages: regexparam: 3.0.0 dev: true - /fhevm-core-contracts@0.1.0-2: - resolution: {integrity: sha512-lTUodggGV4+pZVFRKRb22t3rWyfR8iFZLgNxRBozgAEUSsIDe16PI9vn8PkfJzJJdOlPk9XsTY6/s1pACDbwfA==} + /fhevm-core-contracts@0.6.0-5: + resolution: {integrity: sha512-o3ZInT2RA+uldzIMM2fHMjoIhI2466psLGI4tU4BJYOeV6wgJpw+T+m6/tN3WSf3nE0bU4yLrD1S/lM3Wk24vg==} dev: true - /fhevm@0.6.0-0: - resolution: {integrity: sha512-Gvd7a5T7JTU3OFHy2eRrvRTTmXWwSalSSsBdE0X0C0nTnTow5sYsQYkQqIZcYZNpZq1dCcoCgp/gYbeNDHUDNw==} + /fhevm@0.6.0-8: + resolution: {integrity: sha512-yso+BqAYvAFAUVOhEpLmDZZ/2lVu2tGs0ubm8jg4wYahx8jblmSGjeQh30gahIyImkKhvr/CV68rpgd6HpjjZg==} engines: {node: '>=20.0.0'} dependencies: '@openzeppelin/contracts': 5.1.0 @@ -3113,22 +3179,20 @@ packages: - supports-color dev: true - /fhevmjs@0.6.0-4: - resolution: {integrity: sha512-gPnEHnkAwoJivP+K1KtOx7ZeBpZGtQW1QaAVC1zxDtMWQKCcqJMmNQOt0ur/2buw6WE4VfDIIWXneZ1hHCzLHQ==} + /fhevmjs@0.6.0-16: + resolution: {integrity: sha512-SWteSWQ0qVLHzwVzLcxdpeIRXw4kX5qJmcGHYUjV6CtwMIlphyoMZKt2Dg5K7TMb+K8PMLF3/MnAnjO5O49jvQ==} engines: {node: '>=20'} hasBin: true dependencies: - '@types/keccak': 3.0.5 bigint-buffer: 1.1.5 commander: 11.1.0 fetch-mock: 11.1.5 - node-tfhe: 0.8.6 - node-tkms: 0.9.0-rc3 - sha3: 2.1.4 - tfhe: 0.8.6 - tkms: 0.9.0-rc3 - url: 0.11.4 - web3-validator: 2.0.6 + keccak: 3.0.4 + node-tfhe: 0.9.1 + node-tkms: 0.9.0-rc36 + tfhe: 0.9.1 + tkms: 0.9.0-rc36 + wasm-feature-detect: 1.8.0 transitivePeerDependencies: - node-fetch dev: true @@ -3142,6 +3206,7 @@ packages: /file-uri-to-path@1.0.0: resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + dev: true /fill-range@7.1.1: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} @@ -3157,13 +3222,6 @@ packages: array-back: 3.1.0 dev: true - /find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} - dependencies: - locate-path: 2.0.0 - dev: true - /find-up@5.0.0: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} @@ -3176,7 +3234,7 @@ packages: resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} engines: {node: '>=16'} dependencies: - flatted: 3.3.1 + flatted: 3.3.2 keyv: 4.5.4 dev: true @@ -3185,8 +3243,8 @@ packages: hasBin: true dev: true - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + /flatted@3.3.2: + resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} dev: true /fmix@0.1.0: @@ -3238,6 +3296,7 @@ packages: /fs-constants@1.0.0: resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true /fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} @@ -3281,6 +3340,7 @@ packages: engines: {node: '>= 8'} dependencies: minipass: 3.3.6 + dev: true /fs-readdir-recursive@1.1.0: resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} @@ -3288,6 +3348,7 @@ packages: /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true /fsevents@2.3.3: resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} @@ -3315,6 +3376,7 @@ packages: string-width: 4.2.3 strip-ansi: 6.0.1 wide-align: 1.1.5 + dev: true optional: true /get-caller-file@2.0.5: @@ -3332,8 +3394,8 @@ packages: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 + has-proto: 1.1.0 + has-symbols: 1.1.0 hasown: 2.0.2 dev: true @@ -3352,6 +3414,7 @@ packages: /github-from-package@0.0.0: resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: true /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -3394,18 +3457,6 @@ packages: path-is-absolute: 1.0.1 dev: true - /glob@7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} - deprecated: Glob versions prior to v9 are no longer supported - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported @@ -3416,6 +3467,7 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 + dev: true /glob@8.1.0: resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} @@ -3465,8 +3517,8 @@ packages: engines: {node: '>=18'} dev: true - /globals@15.11.0: - resolution: {integrity: sha512-yeyNSjdbyVaWurlwCpcA6XNBrHTMIeDdj0/hnvX/OLJ9ekOXYbLsLinH/MucQyGvNnXhidTdNhTtJaffL2sMfw==} + /globals@15.13.0: + resolution: {integrity: sha512-49TewVEz0UxZjr1WYYsWpPrhyC/B/pA8Bq0fUmet2n+eR7yn0IvNzNaoBwnK6mdkzcN+se7Ez9zUgULTz2QH4g==} engines: {node: '>=18'} dev: true @@ -3484,14 +3536,16 @@ packages: slash: 3.0.0 dev: true - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + /gopd@1.1.0: + resolution: {integrity: sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 dev: true /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} @@ -3524,7 +3578,7 @@ packages: '@ethersproject/solidity': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wallet': 5.7.0 - '@types/qs': 6.9.16 + '@types/qs': 6.9.17 axios: 0.21.4(debug@4.3.7) chalk: 4.1.2 chokidar: 3.6.0 @@ -3535,22 +3589,22 @@ packages: fs-extra: 10.1.0 match-all: 1.2.6 murmur-128: 0.2.1 - qs: 6.13.0 - zksync-ethers: 5.9.2(ethers@5.7.2) + qs: 6.13.1 + zksync-ethers: 5.10.0(ethers@5.7.2) transitivePeerDependencies: - bufferutil - supports-color - utf-8-validate dev: true - /hardhat-gas-reporter@1.0.10(hardhat@2.22.15): + /hardhat-gas-reporter@1.0.10(hardhat@2.22.17): resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} peerDependencies: hardhat: ^2.0.2 dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.27 - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) sha1: 1.1.1 transitivePeerDependencies: - '@codechecks/client' @@ -3559,25 +3613,25 @@ packages: - utf-8-validate dev: true - /hardhat-ignore-warnings@0.2.11: - resolution: {integrity: sha512-+nHnRbP6COFZaXE7HAY7TZNE3au5vHe5dkcnyq0XaP07ikT2fJ3NhFY0vn7Deh4Qbz0Z/9Xpnj2ki6Ktgk61pg==} + /hardhat-ignore-warnings@0.2.12: + resolution: {integrity: sha512-SaxCLKzYBMk3Rd1275TnanUmmxwgU+bu4Ekf2MKcqXxxt6xTGcPTtTaM+USrLgmejZHC4Itg/PaWITlOp4RL3g==} dependencies: minimatch: 5.1.6 node-interval-tree: 2.1.2 solidity-comments: 0.0.2 dev: true - /hardhat-preprocessor@0.1.5(hardhat@2.22.15): + /hardhat-preprocessor@0.1.5(hardhat@2.22.17): resolution: {integrity: sha512-j8m44mmPxpxAAd0G8fPHRHOas/INZdzptSur0TNJvMEGcFdLDhbHHxBcqZVQ/bmiW42q4gC60AP4CXn9EF018g==} peerDependencies: hardhat: ^2.0.5 dependencies: - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) murmur-128: 0.2.1 dev: true - /hardhat@2.22.15(ts-node@10.9.2)(typescript@5.6.3): - resolution: {integrity: sha512-BpTGa9PE/sKAaHi4s/S1e9WGv63DR1m7Lzfd60C8gSEchDPfAJssVRSq0MZ2v2k76ig9m0kHAwVLf5teYwu/Mw==} + /hardhat@2.22.17(ts-node@10.9.2)(typescript@5.7.2): + resolution: {integrity: sha512-tDlI475ccz4d/dajnADUTRc1OJ3H8fpP9sWhXhBPpYsQOg8JHq5xrDimo53UhWPl7KJmAeDCm1bFG74xvpGRpg==} hasBin: true peerDependencies: ts-node: '*' @@ -3590,7 +3644,7 @@ packages: dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 - '@nomicfoundation/edr': 0.6.4 + '@nomicfoundation/edr': 0.6.5 '@nomicfoundation/ethereumjs-common': 4.0.4 '@nomicfoundation/ethereumjs-tx': 5.0.4 '@nomicfoundation/ethereumjs-util': 9.0.4 @@ -3602,7 +3656,6 @@ packages: aggregate-error: 3.1.0 ansi-escapes: 4.3.2 boxen: 5.1.2 - chalk: 2.4.2 chokidar: 4.0.1 ci-info: 2.0.0 debug: 4.3.7(supports-color@8.1.1) @@ -3610,27 +3663,28 @@ packages: env-paths: 2.2.1 ethereum-cryptography: 1.2.0 ethereumjs-abi: 0.6.8 - find-up: 2.1.0 + find-up: 5.0.0 fp-ts: 1.19.3 fs-extra: 7.0.1 - glob: 7.2.0 immutable: 4.3.7 io-ts: 1.10.4 json-stream-stringify: 3.1.6 keccak: 3.0.4 lodash: 4.17.21 mnemonist: 0.38.5 - mocha: 10.7.3 + mocha: 10.8.2 p-map: 4.0.0 + picocolors: 1.1.1 raw-body: 2.5.2 resolve: 1.17.0 semver: 6.3.1 solc: 0.8.26(debug@4.3.7) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 - ts-node: 10.9.2(@types/node@18.19.59)(typescript@5.6.3) + tinyglobby: 0.2.10 + ts-node: 10.9.2(@types/node@18.19.67)(typescript@5.7.2) tsort: 0.0.1 - typescript: 5.6.3 + typescript: 5.7.2 undici: 5.28.4 uuid: 8.3.2 ws: 7.5.10 @@ -3654,6 +3708,7 @@ packages: /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} engines: {node: '>=8'} + dev: true /has-property-descriptors@1.0.2: resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} @@ -3661,13 +3716,15 @@ packages: es-define-property: 1.0.0 dev: true - /has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + /has-proto@1.1.0: + resolution: {integrity: sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==} engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 dev: true - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + /has-symbols@1.1.0: + resolution: {integrity: sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==} engines: {node: '>= 0.4'} dev: true @@ -3675,12 +3732,13 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} dependencies: - has-symbols: 1.0.3 + has-symbols: 1.1.0 dev: true /has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} requiresBuild: true + dev: true optional: true /hash-base@3.1.0: @@ -3736,6 +3794,7 @@ packages: /http-cache-semantics@4.1.1: resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} requiresBuild: true + dev: true optional: true /http-errors@2.0.0: @@ -3759,6 +3818,7 @@ packages: debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true optional: true /http-response-object@3.0.2: @@ -3775,12 +3835,14 @@ packages: debug: 4.3.7(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true /humanize-ms@1.2.1: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} requiresBuild: true dependencies: ms: 2.1.3 + dev: true optional: true /iconv-lite@0.4.24: @@ -3796,16 +3858,22 @@ packages: requiresBuild: true dependencies: safer-buffer: 2.1.2 + dev: true optional: true /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: true /ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} dev: true + /immer@10.0.2: + resolution: {integrity: sha512-Rx3CqeqQ19sxUtYV9CU911Vhy8/721wRFnJv3REVGWUmoAcIwzifTsdmJte/MV+0/XpM35LZdQMBGkRIoLPwQA==} + dev: true + /immutable@4.3.7: resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} dev: true @@ -3826,14 +3894,17 @@ packages: /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} + dev: true /indent-string@4.0.0: resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} engines: {node: '>=8'} + dev: true /infer-owner@1.0.4: resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} requiresBuild: true + dev: true optional: true /inflight@1.0.6: @@ -3842,12 +3913,15 @@ packages: dependencies: once: 1.4.0 wrappy: 1.0.2 + dev: true /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + dev: true /ini@1.3.8: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true /interpret@1.4.0: resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} @@ -3867,6 +3941,7 @@ packages: dependencies: jsbn: 1.1.0 sprintf-js: 1.1.3 + dev: true optional: true /is-arguments@1.1.1: @@ -3913,6 +3988,7 @@ packages: /is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + dev: true /is-generator-function@1.0.10: resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} @@ -3936,6 +4012,7 @@ packages: /is-lambda@1.0.1: resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} requiresBuild: true + dev: true optional: true /is-number@7.0.0: @@ -3956,7 +4033,7 @@ packages: resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} engines: {node: '>= 0.4'} dependencies: - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 dev: true /is-unicode-supported@0.1.0: @@ -3970,6 +4047,7 @@ packages: /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true /isomorphic-unfetch@3.1.0: resolution: {integrity: sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q==} @@ -4014,6 +4092,7 @@ packages: /jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} requiresBuild: true + dev: true optional: true /jsesc@2.5.2: @@ -4053,6 +4132,16 @@ packages: engines: {node: '>=7.10.1'} dev: true + /json-stringify-safe@5.0.1: + resolution: {integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + /jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: @@ -4077,7 +4166,7 @@ packages: requiresBuild: true dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.8.2 + node-gyp-build: 4.8.4 readable-stream: 3.6.2 dev: true @@ -4092,6 +4181,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true + /levn@0.3.0: resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} engines: {node: '>= 0.8.0'} @@ -4112,14 +4206,6 @@ packages: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true - /locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} - dependencies: - p-locate: 2.0.0 - path-exists: 3.0.0 - dev: true - /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} @@ -4175,6 +4261,7 @@ packages: requiresBuild: true dependencies: yallist: 4.0.0 + dev: true optional: true /lru_map@0.3.3: @@ -4209,6 +4296,7 @@ packages: transitivePeerDependencies: - bluebird - supports-color + dev: true optional: true /markdown-table@1.1.3: @@ -4264,6 +4352,7 @@ packages: /mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} + dev: true /minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} @@ -4277,6 +4366,7 @@ packages: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 + dev: true /minimatch@5.1.6: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} @@ -4301,6 +4391,7 @@ packages: /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: true /minipass-collect@1.0.2: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} @@ -4308,6 +4399,7 @@ packages: requiresBuild: true dependencies: minipass: 3.3.6 + dev: true optional: true /minipass-fetch@1.4.1: @@ -4320,6 +4412,7 @@ packages: minizlib: 2.1.2 optionalDependencies: encoding: 0.1.13 + dev: true optional: true /minipass-flush@1.0.5: @@ -4328,6 +4421,7 @@ packages: requiresBuild: true dependencies: minipass: 3.3.6 + dev: true optional: true /minipass-pipeline@1.2.4: @@ -4336,6 +4430,7 @@ packages: requiresBuild: true dependencies: minipass: 3.3.6 + dev: true optional: true /minipass-sized@1.0.3: @@ -4344,6 +4439,7 @@ packages: requiresBuild: true dependencies: minipass: 3.3.6 + dev: true optional: true /minipass@3.3.6: @@ -4351,6 +4447,7 @@ packages: engines: {node: '>=8'} dependencies: yallist: 4.0.0 + dev: true /minipass@4.2.8: resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} @@ -4360,6 +4457,7 @@ packages: /minipass@5.0.0: resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} engines: {node: '>=8'} + dev: true /minipass@7.1.2: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} @@ -4372,9 +4470,11 @@ packages: dependencies: minipass: 3.3.6 yallist: 4.0.0 + dev: true /mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: true /mkdirp@0.5.6: resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} @@ -4387,6 +4487,7 @@ packages: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} hasBin: true + dev: true /mnemonist@0.38.5: resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} @@ -4394,8 +4495,8 @@ packages: obliterator: 2.0.4 dev: true - /mocha@10.7.3: - resolution: {integrity: sha512-uQWxAu44wwiACGqjbPYmjo7Lg8sFrS3dQe7PP2FQI+woptP4vZXSMcfMyFL/e1yFEeEpV4RtyTpZROOKmxis+A==} + /mocha@10.8.2: + resolution: {integrity: sha512-VZlYo/WE8t1tstuRmqgeyBgCbJc/lEdopaa+axcKzTBJ+UIdlAB9XnmvTCAH4pwR4ElNInaedhEBmZD8iCSVEg==} engines: {node: '>= 14.0.0'} hasBin: true dependencies: @@ -4423,6 +4524,7 @@ packages: /ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true /murmur-128@0.2.1: resolution: {integrity: sha512-WseEgiRkI6aMFBbj8Cg9yBj/y+OdipwVC7zUo3W2W1JAJITwouUOtpqsmGSg67EQmwwSyod7hsVsWY5LsrfQVg==} @@ -4434,15 +4536,29 @@ packages: /napi-build-utils@1.0.2: resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + dev: true /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true + /ndjson@2.0.0: + resolution: {integrity: sha512-nGl7LRGrzugTtaFcJMhLbpzJM6XdivmbkdlaGcrk/LXg2KL/YBC6z1g70xh0/al+oFuVFP8N8kiWRucmeEH/qQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + json-stringify-safe: 5.0.1 + minimist: 1.2.8 + readable-stream: 3.6.2 + split2: 3.2.2 + through2: 4.0.2 + dev: true + /negotiator@0.6.4: resolution: {integrity: sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==} engines: {node: '>= 0.6'} requiresBuild: true + dev: true optional: true /neo-async@2.6.2: @@ -4454,6 +4570,7 @@ packages: engines: {node: '>=10'} dependencies: semver: 7.6.3 + dev: true /node-addon-api@2.0.2: resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} @@ -4465,6 +4582,7 @@ packages: /node-addon-api@7.1.1: resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} + dev: true /node-emoji@1.11.0: resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} @@ -4484,8 +4602,8 @@ packages: whatwg-url: 5.0.0 dev: true - /node-gyp-build@4.8.2: - resolution: {integrity: sha512-IRUxE4BVsHWXkV/SFOut4qTlagw2aM8T5/vnTsmrHJvVoKueJHRc/JaFND7QDDc61kLYUJ6qlZM3sqTSyx2dTw==} + /node-gyp-build@4.8.4: + resolution: {integrity: sha512-LA4ZjwlnUblHVgq0oBF3Jl/6h/Nvs5fzBLwdEF4nuxnFdsfajde4WfxtJr3CaiH+F6ewcIB/q4jQ4UzPyid+CQ==} hasBin: true dev: true @@ -4508,6 +4626,7 @@ packages: transitivePeerDependencies: - bluebird - supports-color + dev: true optional: true /node-interval-tree@2.1.2: @@ -4517,12 +4636,12 @@ packages: shallowequal: 1.1.0 dev: true - /node-tfhe@0.8.6: - resolution: {integrity: sha512-u9WHiD/vTQ/FIph+52l/jyKzyDh/vLnyw50oSdz0eb1CTs2lqbiA8l8MNxgMkBP1zDadR0qzg37VCt3UkoC2ig==} + /node-tfhe@0.9.1: + resolution: {integrity: sha512-M2CbUVX4DQneaaK/4fygy9lW0zjOOzM8yGWAgbKGRt/Gd07zaloFEGGHW7dbmUaHo022q1uo7nzxyYhe4UgqCw==} dev: true - /node-tkms@0.9.0-rc3: - resolution: {integrity: sha512-Jr3faNAudjBO2Up+Gc3QPF7Dq07fDR/n0NKCHGtS69qLKnoqqaKxGULdKg3gpbtdx0wnj/GaQjvprUIgnIm7yQ==} + /node-tkms@0.9.0-rc36: + resolution: {integrity: sha512-oGqJfjvb/igd9VgQaqYbzKc+CmrnQ/eY0ShmdE3JDKXL3C4Re/tBswT0KkWmlT1aM+Lxt5ihRNOs2oHtrPqr5w==} dev: true /nofilter@3.1.0: @@ -4544,6 +4663,7 @@ packages: requiresBuild: true dependencies: abbrev: 1.1.1 + dev: true optional: true /normalize-path@3.0.0: @@ -4561,6 +4681,7 @@ packages: console-control-strings: 1.1.0 gauge: 4.0.4 set-blocking: 2.0.0 + dev: true optional: true /number-to-bn@1.7.0: @@ -4576,8 +4697,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /object-inspect@1.13.2: - resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} + /object-inspect@1.13.3: + resolution: {integrity: sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==} engines: {node: '>= 0.4'} dev: true @@ -4589,6 +4710,7 @@ packages: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 + dev: true /optionator@0.8.3: resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} @@ -4623,13 +4745,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - dependencies: - p-try: 1.0.0 - dev: true - /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -4637,13 +4752,6 @@ packages: yocto-queue: 0.1.0 dev: true - /p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} - dependencies: - p-limit: 1.3.0 - dev: true - /p-locate@5.0.0: resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} engines: {node: '>=10'} @@ -4656,10 +4764,6 @@ packages: engines: {node: '>=10'} dependencies: aggregate-error: 3.1.0 - - /p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} dev: true /parent-module@1.0.1: @@ -4677,17 +4781,12 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} engines: {node: '>=8'} dependencies: - '@babel/code-frame': 7.26.0 + '@babel/code-frame': 7.26.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 dev: true - /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - dev: true - /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -4696,6 +4795,7 @@ packages: /path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} + dev: true /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} @@ -4743,6 +4843,11 @@ packages: engines: {node: '>=8.6'} dev: true + /picomatch@4.0.2: + resolution: {integrity: sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==} + engines: {node: '>=12'} + dev: true + /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} engines: {node: '>=6'} @@ -4775,6 +4880,7 @@ packages: simple-get: 4.0.1 tar-fs: 2.1.1 tunnel-agent: 0.6.0 + dev: true /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} @@ -4822,6 +4928,7 @@ packages: peerDependenciesMeta: bluebird: optional: true + dev: true optional: true /promise-retry@2.0.1: @@ -4831,6 +4938,7 @@ packages: dependencies: err-code: 2.0.3 retry: 0.12.0 + dev: true optional: true /promise@8.3.0: @@ -4839,6 +4947,14 @@ packages: asap: 2.0.6 dev: true + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + dependencies: + kleur: 3.0.3 + sisteransi: 1.0.5 + dev: true + /proper-lockfile@4.1.2: resolution: {integrity: sha512-TjNPblN4BwAWMXU8s9AEz4JmQxnD1NNL7bNOY/AKUzyamc379FWASUhc/K1pL2noVb+XmZKLL68cjzLsiOAMaA==} dependencies: @@ -4856,9 +4972,6 @@ packages: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - - /punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true /punycode@2.3.1: @@ -4866,8 +4979,8 @@ packages: engines: {node: '>=6'} dev: true - /qs@6.13.0: - resolution: {integrity: sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==} + /qs@6.13.1: + resolution: {integrity: sha512-EJPeIn0CYrGu+hli1xilKAPXODtJ12T0sP63Ijx2/khC2JtuaN3JyNIpvmnkmaEtha9ocbG4A4cMcr+TvqvwQg==} engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 @@ -4901,6 +5014,7 @@ packages: ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 + dev: true /readable-stream@2.3.8: resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} @@ -4921,6 +5035,7 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + dev: true /readdirp@3.6.0: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} @@ -5014,7 +5129,7 @@ packages: /retry@0.12.0: resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} engines: {node: '>= 4'} - requiresBuild: true + dev: true /retry@0.13.1: resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==} @@ -5033,6 +5148,7 @@ packages: requiresBuild: true dependencies: glob: 7.2.3 + dev: true optional: true /rimraf@4.4.1: @@ -5069,9 +5185,11 @@ packages: /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: true /safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + dev: true /sc-istanbul@0.4.6: resolution: {integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==} @@ -5102,9 +5220,9 @@ packages: engines: {node: '>=18.0.0'} requiresBuild: true dependencies: - elliptic: 6.6.0 + elliptic: 6.6.1 node-addon-api: 5.1.0 - node-gyp-build: 4.8.2 + node-gyp-build: 4.8.4 dev: true /semver@5.7.2: @@ -5121,6 +5239,7 @@ packages: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} hasBin: true + dev: true /serialize-javascript@6.0.2: resolution: {integrity: sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==} @@ -5131,6 +5250,7 @@ packages: /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} requiresBuild: true + dev: true optional: true /set-function-length@1.2.2: @@ -5141,7 +5261,7 @@ packages: es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 - gopd: 1.0.1 + gopd: 1.1.0 has-property-descriptors: 1.0.2 dev: true @@ -5207,15 +5327,16 @@ packages: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - object-inspect: 1.13.2 + object-inspect: 1.13.3 dev: true /signal-exit@3.0.7: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - requiresBuild: true + dev: true /simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: true /simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} @@ -5223,6 +5344,11 @@ packages: decompress-response: 6.0.0 once: 1.4.0 simple-concat: 1.0.1 + dev: true + + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} @@ -5242,6 +5368,7 @@ packages: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} requiresBuild: true + dev: true optional: true /socks-proxy-agent@6.2.1: @@ -5254,6 +5381,7 @@ packages: socks: 2.8.3 transitivePeerDependencies: - supports-color + dev: true optional: true /socks@2.8.3: @@ -5263,6 +5391,7 @@ packages: dependencies: ip-address: 9.0.5 smart-buffer: 4.2.0 + dev: true optional: true /solc@0.8.26(debug@4.3.7): @@ -5292,7 +5421,7 @@ packages: prettier-plugin-solidity: 1.4.1(prettier@2.8.8) dev: true - /solhint@3.6.2(typescript@5.6.3): + /solhint@3.6.2(typescript@5.7.2): resolution: {integrity: sha512-85EeLbmkcPwD+3JR7aEMKsVC9YrRSxd4qkXuMzrlf7+z2Eqdfm1wHWq1ffTuo5aDhoZxp2I9yF3QkxZOxOL7aQ==} hasBin: true dependencies: @@ -5302,7 +5431,7 @@ packages: ast-parents: 0.0.1 chalk: 4.1.2 commander: 10.0.1 - cosmiconfig: 8.3.6(typescript@5.6.3) + cosmiconfig: 8.3.6(typescript@5.7.2) fast-diff: 1.3.0 glob: 8.1.0 ignore: 5.3.2 @@ -5429,7 +5558,7 @@ packages: solidity-comments-win32-x64-msvc: 0.0.2 dev: true - /solidity-coverage@0.8.12(hardhat@2.22.15): + /solidity-coverage@0.8.12(hardhat@2.22.17): resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} hasBin: true peerDependencies: @@ -5444,10 +5573,10 @@ packages: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.22.15(ts-node@10.9.2)(typescript@5.6.3) + hardhat: 2.22.17(ts-node@10.9.2)(typescript@5.7.2) jsonschema: 1.4.1 lodash: 4.17.21 - mocha: 10.7.3 + mocha: 10.8.2 node-emoji: 1.11.0 pify: 4.0.1 recursive-readdir: 2.2.3 @@ -5483,6 +5612,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + dependencies: + readable-stream: 3.6.2 + dev: true + /sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true @@ -5490,6 +5625,7 @@ packages: /sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} requiresBuild: true + dev: true optional: true /sqlite3@5.1.7: @@ -5505,6 +5641,7 @@ packages: transitivePeerDependencies: - bluebird - supports-color + dev: true /ssri@8.0.1: resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} @@ -5512,6 +5649,7 @@ packages: requiresBuild: true dependencies: minipass: 3.3.6 + dev: true optional: true /stacktrace-parser@0.1.10: @@ -5545,6 +5683,7 @@ packages: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + dev: true /string_decoder@1.1.1: resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} @@ -5556,6 +5695,7 @@ packages: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 + dev: true /strip-ansi@4.0.0: resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} @@ -5569,6 +5709,7 @@ packages: engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 + dev: true /strip-hex-prefix@1.0.0: resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} @@ -5580,6 +5721,7 @@ packages: /strip-json-comments@2.0.1: resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} engines: {node: '>=0.10.0'} + dev: true /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} @@ -5612,6 +5754,7 @@ packages: engines: {node: '>=10'} dependencies: has-flag: 4.0.0 + dev: true /supports-preserve-symlinks-flag@1.0.0: resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} @@ -5661,6 +5804,7 @@ packages: mkdirp-classic: 0.5.3 pump: 3.0.2 tar-stream: 2.2.0 + dev: true /tar-stream@2.2.0: resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} @@ -5671,6 +5815,7 @@ packages: fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 + dev: true /tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} @@ -5682,13 +5827,14 @@ packages: minizlib: 2.1.2 mkdirp: 1.0.4 yallist: 4.0.0 + dev: true /text-table@0.2.0: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /tfhe@0.8.6: - resolution: {integrity: sha512-Mxa6ywC4fAayHK0xBPJfrVUt4Tt5+ozQyVQcAlj3gK1i5rJI/pcwCDvf27Xxtkb0fMyRYgKDwrETVfC51r1Fcw==} + /tfhe@0.9.1: + resolution: {integrity: sha512-kmtl7KfCCZJaFhm9lUYsTtat+yT0qzOiO6bOidM2Pt7/7jptkbS2/myeGHxb9qi2/aJ30g2joo1euKZPa207tg==} dev: true /then-request@6.0.2: @@ -5698,18 +5844,32 @@ packages: '@types/concat-stream': 1.6.1 '@types/form-data': 0.0.33 '@types/node': 8.10.66 - '@types/qs': 6.9.16 + '@types/qs': 6.9.17 caseless: 0.12.0 concat-stream: 1.6.2 form-data: 2.5.2 http-basic: 8.1.3 http-response-object: 3.0.2 promise: 8.3.0 - qs: 6.13.0 + qs: 6.13.1 + dev: true + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + dev: true + + /tinyglobby@0.2.10: + resolution: {integrity: sha512-Zc+8eJlFMvgatPZTl6A9L/yht8QqdmUNtURHaKZLmKBE12hNPSrqNkUp2cs3M/UKmNVVAMFQYSjYIVHDjW5zew==} + engines: {node: '>=12.0.0'} + dependencies: + fdir: 6.4.2(picomatch@4.0.2) + picomatch: 4.0.2 dev: true - /tkms@0.9.0-rc3: - resolution: {integrity: sha512-7ynaHiFnXS9Xok62vsi2GGeTUxmb1Ao7I5k9akE8lEQ5M9FERmaGLF3TapDLGsYMDz7Km7dFeTfrsjCg38OC/w==} + /tkms@0.9.0-rc36: + resolution: {integrity: sha512-8IoRi6mYgnrmwTNBe/ejvHOFRhs5M6o2Ls2RVXCgAzSVBBBWJC1O8hquqlciHfME/VooUD4iokzEaBfADvoXZw==} dev: true /tmp@0.0.33: @@ -5740,13 +5900,13 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: true - /ts-api-utils@1.3.0(typescript@5.6.3): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + /ts-api-utils@1.4.3(typescript@5.7.2): + resolution: {integrity: sha512-i3eMG77UTMD0hZhgRS562pv83RC6ukSAC2GMNWc+9dieh/+jDM5u5YG+NHX6VNDRHQcHwmsTHctP9LhbC3WxVw==} engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: - typescript: 5.6.3 + typescript: 5.7.2 dev: true /ts-command-line-args@2.5.1: @@ -5763,12 +5923,12 @@ packages: resolution: {integrity: sha512-q3N1xS4vZpRouhYHDPwO0bDW3EZ6SK9CrrDHxi/D6BPReSjpVgWIOpLS2o0gSBZm+7q/wyKp6RVM1AeeW7uyfQ==} dev: true - /ts-essentials@7.0.3(typescript@5.6.3): + /ts-essentials@7.0.3(typescript@5.7.2): resolution: {integrity: sha512-8+gr5+lqO3G84KdiTSMRLtuyJ+nTBVRKuCrK4lidMPdVeEp0uqC875uE5NMcaA7YYMN7XsNiFQuMvasF8HT/xQ==} peerDependencies: typescript: '>=3.7.0' dependencies: - typescript: 5.6.3 + typescript: 5.7.2 dev: true /ts-generator@0.1.1: @@ -5786,7 +5946,7 @@ packages: ts-essentials: 1.0.4 dev: true - /ts-node@10.9.2(@types/node@18.19.59)(typescript@5.6.3): + /ts-node@10.9.2(@types/node@18.19.67)(typescript@5.7.2): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -5805,14 +5965,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 18.19.59 - acorn: 8.13.0 + '@types/node': 18.19.67 + acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.6.3 + typescript: 5.7.2 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: true @@ -5825,6 +5985,10 @@ packages: resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: true + /tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + dev: true + /tsort@0.0.1: resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} dev: true @@ -5833,6 +5997,7 @@ packages: resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} dependencies: safe-buffer: 5.2.1 + dev: true /tweetnacl-util@0.15.1: resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} @@ -5876,7 +6041,7 @@ packages: engines: {node: '>=8'} dev: true - /typechain@8.3.2(typescript@5.6.3): + /typechain@8.3.2(typescript@5.7.2): resolution: {integrity: sha512-x/sQYr5w9K7yv3es7jo4KTX05CLxOf7TRWwoHlrjRh8H82G64g+k7VuWPJlgMo6qrjfCulOdfBjiaDtmhFYD/Q==} hasBin: true peerDependencies: @@ -5891,8 +6056,8 @@ packages: mkdirp: 1.0.4 prettier: 2.8.8 ts-command-line-args: 2.5.1 - ts-essentials: 7.0.3(typescript@5.6.3) - typescript: 5.6.3 + ts-essentials: 7.0.3(typescript@5.7.2) + typescript: 5.7.2 transitivePeerDependencies: - supports-color dev: true @@ -5901,26 +6066,27 @@ packages: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true - /typescript-eslint@8.11.0(eslint@9.13.0)(typescript@5.6.3): - resolution: {integrity: sha512-cBRGnW3FSlxaYwU8KfAewxFK5uzeOAp0l2KebIlPDOT5olVi65KDG/yjBooPBG0kGW/HLkoz1c/iuBFehcS3IA==} + /typescript-eslint@8.17.0(eslint@9.16.0)(typescript@5.7.2): + resolution: {integrity: sha512-409VXvFd/f1br1DCbuKNFqQpXICoTB+V51afcwG1pn1a3Cp92MqAUges3YjwEdQ0cMUoCIodjVDAYzyD8h3SYA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 8.11.0(@typescript-eslint/parser@8.11.0)(eslint@9.13.0)(typescript@5.6.3) - '@typescript-eslint/parser': 8.11.0(eslint@9.13.0)(typescript@5.6.3) - '@typescript-eslint/utils': 8.11.0(eslint@9.13.0)(typescript@5.6.3) - typescript: 5.6.3 + '@typescript-eslint/eslint-plugin': 8.17.0(@typescript-eslint/parser@8.17.0)(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.17.0(eslint@9.16.0)(typescript@5.7.2) + eslint: 9.16.0 + typescript: 5.7.2 transitivePeerDependencies: - - eslint - supports-color dev: true - /typescript@5.6.3: - resolution: {integrity: sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw==} + /typescript@5.7.2: + resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} hasBin: true dev: true @@ -5958,8 +6124,8 @@ packages: '@fastify/busboy': 2.1.1 dev: true - /undici@6.20.1: - resolution: {integrity: sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==} + /undici@6.21.0: + resolution: {integrity: sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==} engines: {node: '>=18.17'} dev: true @@ -5972,6 +6138,7 @@ packages: requiresBuild: true dependencies: unique-slug: 2.0.2 + dev: true optional: true /unique-slug@2.0.2: @@ -5979,6 +6146,7 @@ packages: requiresBuild: true dependencies: imurmurhash: 0.1.4 + dev: true optional: true /universalify@0.1.2: @@ -6002,20 +6170,13 @@ packages: punycode: 2.3.1 dev: true - /url@0.11.4: - resolution: {integrity: sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==} - engines: {node: '>= 0.4'} - dependencies: - punycode: 1.4.1 - qs: 6.13.0 - dev: true - /utf8@3.0.0: resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} dev: true /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + dev: true /util@0.12.5: resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} @@ -6024,7 +6185,7 @@ packages: is-arguments: 1.1.1 is-generator-function: 1.0.10 is-typed-array: 1.1.13 - which-typed-array: 1.1.15 + which-typed-array: 1.1.16 dev: true /uuid@8.3.2: @@ -6036,15 +6197,19 @@ packages: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true - /web3-errors@1.3.0: - resolution: {integrity: sha512-j5JkAKCtuVMbY3F5PYXBqg1vWrtF4jcyyMY1rlw8a4PV67AkqlepjGgpzWJZd56Mt+TvHy6DA1F/3Id8LatDSQ==} + /wasm-feature-detect@1.8.0: + resolution: {integrity: sha512-zksaLKM2fVlnB5jQQDqKXXwYHLQUVH9es+5TOOHwGOVJOCeRBCiPjwSg+3tN2AdTCzjgli4jijCH290kXb/zWQ==} + dev: true + + /web3-errors@1.3.1: + resolution: {integrity: sha512-w3NMJujH+ZSW4ltIZZKtdbkbyQEvBzyp3JRn59Ckli0Nz4VMsVq8aF1bLWM7A2kuQ+yVEm3ySeNU+7mSRwx7RQ==} engines: {node: '>=14', npm: '>=6.12.0'} dependencies: - web3-types: 1.8.1 + web3-types: 1.10.0 dev: true - /web3-types@1.8.1: - resolution: {integrity: sha512-isspsvQbBJFUkJYz2Badb7dz/BrLLLpOop/WmnL5InyYMr7kYYc8038NYO7Vkp1M7Bupa/wg+yALvBm7EGbyoQ==} + /web3-types@1.10.0: + resolution: {integrity: sha512-0IXoaAFtFc8Yin7cCdQfB9ZmjafrbP6BO0f0KT/khMhXKUpoJ6yShrVhiNpyRBo8QQjuOagsWzwSK2H49I7sbw==} engines: {node: '>=14', npm: '>=6.12.0'} dev: true @@ -6068,8 +6233,8 @@ packages: dependencies: ethereum-cryptography: 2.2.1 util: 0.12.5 - web3-errors: 1.3.0 - web3-types: 1.8.1 + web3-errors: 1.3.1 + web3-types: 1.10.0 zod: 3.23.8 dev: true @@ -6084,14 +6249,14 @@ packages: webidl-conversions: 3.0.1 dev: true - /which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + /which-typed-array@1.1.16: + resolution: {integrity: sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==} engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 - gopd: 1.0.1 + gopd: 1.1.0 has-tostringtag: 1.0.2 dev: true @@ -6108,12 +6273,14 @@ packages: hasBin: true dependencies: isexe: 2.0.0 + dev: true /wide-align@1.1.5: resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} requiresBuild: true dependencies: string-width: 4.2.3 + dev: true optional: true /widest-line@3.1.0: @@ -6155,6 +6322,7 @@ packages: /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + dev: true /ws@7.4.6: resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} @@ -6202,6 +6370,7 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: true /yargs-parser@20.2.9: resolution: {integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==} @@ -6241,8 +6410,8 @@ packages: engines: {node: '>=10'} dev: true - /zksync-ethers@5.9.2(ethers@5.7.2): - resolution: {integrity: sha512-Y2Mx6ovvxO6UdC2dePLguVzvNToOY8iLWeq5ne+jgGSJxAi/f4He/NF6FNsf6x1aWX0o8dy4Df8RcOQXAkj5qw==} + /zksync-ethers@5.10.0(ethers@5.7.2): + resolution: {integrity: sha512-OAjTGAHF9wbdkRGkj7XZuF/a1Sk/FVbwH4pmLjAKlR7mJ7sQtQhBhrPU2dCc67xLaNvEESPfwil19ES5wooYFg==} engines: {node: '>=16.0.0'} peerDependencies: ethers: ~5.7.0 diff --git a/tasks/accounts.ts b/tasks/accounts.ts index 9174751..b71103b 100644 --- a/tasks/accounts.ts +++ b/tasks/accounts.ts @@ -1,9 +1,39 @@ -import { task } from "hardhat/config"; +import { task, types } from "hardhat/config"; -task("accounts", "Prints the list of accounts", async (_taskArgs, hre) => { - const accounts = await hre.ethers.getSigners(); +import { ACCOUNT_NAMES } from "../test/constants"; - for (const account of accounts) { - console.log(account.address); - } -}); +task("get-accounts", "Prints the list of accounts") + .addParam("numAccounts", "Number of accounts to return (1-10)", 3, types.int) + .setAction(async ({ numAccounts }, hre) => { + // Validate input + if (numAccounts < 1 || numAccounts > 10) { + throw new Error("Number of accounts must be between 1 and 10"); + } + + // Get signers from hardhat + const signers = await hre.ethers.getSigners(); + const accounts = []; + const { mnemonic } = hre.network.config.accounts; + + // Get details for specified number of accounts + for (let i = 0; i < numAccounts && i < signers.length; i++) { + const signer = signers[i]; + const address = await signer.getAddress(); + const phrase = hre.ethers.Mnemonic.fromPhrase(mnemonic); + const pathDeployer = "m/44'/60'/0'/0/" + i; + const privateKey = hre.ethers.HDNodeWallet.fromMnemonic(phrase, pathDeployer).privateKey; + + accounts.push({ + index: i, + privateKey: privateKey, + address: address, + }); + } + console.log("\nAccount Details:"); + console.log("================"); + accounts.forEach(({ index, privateKey, address }) => { + console.log(`\nAccount ${index}: (${ACCOUNT_NAMES[index]})`); + console.log(`Address: ${address}`); + console.log(`Private Key: ${privateKey}`); + }); + }); diff --git a/tasks/taskDeploy.ts b/tasks/taskDeploy.ts index f7395ce..5a5c991 100644 --- a/tasks/taskDeploy.ts +++ b/tasks/taskDeploy.ts @@ -83,14 +83,14 @@ task("task:deployInputVerifier") .setAction(async function (taskArguments: TaskArguments, { ethers, upgrades }) { const deployer = new ethers.Wallet(taskArguments.privateKey).connect(ethers.provider); let factory; - if (process.env.IS_COPROCESSOR === "true") { - factory = await ethers.getContractFactory( - "fhevmTemp/contracts/InputVerifier.coprocessor.sol:InputVerifier", - deployer, - ); - } else { + //if (process.env.IS_COPROCESSOR === "true") { // @note: for now we support only the coprocessor mode, not native + factory = await ethers.getContractFactory( + "fhevmTemp/contracts/InputVerifier.coprocessor.sol:InputVerifier", + deployer, + ); + /*} else { factory = await ethers.getContractFactory("fhevmTemp/contracts/InputVerifier.native.sol:InputVerifier", deployer); - } + }*/ const kms = await upgrades.deployProxy(factory, [deployer.address], { initializer: "initialize", kind: "uups" }); await kms.waitForDeployment(); const address = await kms.getAddress(); diff --git a/test/asyncDecrypt.ts b/test/asyncDecrypt.ts index b683543..5cb9f34 100644 --- a/test/asyncDecrypt.ts +++ b/test/asyncDecrypt.ts @@ -3,14 +3,15 @@ import { Wallet } from "ethers"; import fs from "fs"; import { ethers, network } from "hardhat"; -import { GatewayContract } from "../types"; +import { ACL_ADDRESS, GATEWAYCONTRACT_ADDRESS } from "./constants"; import { awaitCoprocessor, getClearText } from "./coprocessorUtils"; import { waitNBlocks } from "./utils"; +const gatewayArtifact = require("../node_modules/fhevm-core-contracts/artifacts/gateway/GatewayContract.sol/GatewayContract.json"); + const networkName = network.name; -const parsedEnvACL = dotenv.parse(fs.readFileSync("node_modules/fhevm-core-contracts/addresses/.env.acl")); -const aclAdd = parsedEnvACL.ACL_CONTRACT_ADDRESS; +const aclAdd = ACL_ADDRESS; const CiphertextType = { 0: "bool", @@ -32,7 +33,6 @@ const currentTime = (): string => { return now.toLocaleTimeString("en-US", { hour12: true, hour: "numeric", minute: "numeric", second: "numeric" }); }; -const parsedEnv = dotenv.parse(fs.readFileSync("node_modules/fhevm/gateway/.env.gateway")); let relayer: Wallet; if (networkName === "hardhat") { const privKeyRelayer = process.env.PRIVATE_KEY_GATEWAY_RELAYER; @@ -46,7 +46,7 @@ const ifaceEventDecryption = new ethers.Interface(["event EventDecryption" + arg const argEvents2 = "(uint256 indexed requestID, bool success, bytes result)"; const ifaceResultCallback = new ethers.Interface(["event ResultCallback" + argEvents2]); -let gateway: GatewayContract; +let gateway; let firstBlockListening: number; let lastBlockSnapshotForDecrypt: number; @@ -57,7 +57,7 @@ export const initGateway = async (): Promise => { await ethers.provider.send("set_lastBlockSnapshotForDecrypt", [firstBlockListening]); } // this function will emit logs for every request and fulfilment of a decryption - gateway = await ethers.getContractAt("GatewayContract", parsedEnv.GATEWAY_CONTRACT_PREDEPLOY_ADDRESS); + gateway = await ethers.getContractAt(gatewayArtifact.abi, GATEWAYCONTRACT_ADDRESS); gateway.on( "EventDecryption", async (requestID, cts, contractCaller, callbackSelector, msgValue, maxTimestamp, eventData) => { @@ -72,7 +72,7 @@ export const initGateway = async (): Promise => { }; export const awaitAllDecryptionResults = async (): Promise => { - gateway = await ethers.getContractAt("GatewayContract", parsedEnv.GATEWAY_CONTRACT_PREDEPLOY_ADDRESS); + gateway = await ethers.getContractAt(gatewayArtifact.abi, GATEWAYCONTRACT_ADDRESS); const provider = ethers.provider; if (networkName === "hardhat" && hre.__SOLIDITY_COVERAGE_RUNNING !== true) { // evm_snapshot is not supported in coverage mode @@ -93,7 +93,7 @@ const getAlreadyFulfilledDecryptions = async (): Promise<[bigint]> => { let results = []; const eventDecryptionResult = await gateway.filters.ResultCallback().getTopicFilter(); const filterDecryptionResult = { - address: parsedEnv.GATEWAY_CONTRACT_PREDEPLOY_ADDRESS, + address: GATEWAYCONTRACT_ADDRESS, fromBlock: firstBlockListening, toBlock: "latest", topics: eventDecryptionResult, @@ -110,7 +110,7 @@ const fulfillAllPastRequestsIds = async (mocked: boolean) => { const eventDecryption = await gateway.filters.EventDecryption().getTopicFilter(); const results = await getAlreadyFulfilledDecryptions(); const filterDecryption = { - address: parsedEnv.GATEWAY_CONTRACT_PREDEPLOY_ADDRESS, + address: GATEWAYCONTRACT_ADDRESS, fromBlock: firstBlockListening, toBlock: "latest", topics: eventDecryption, @@ -169,7 +169,7 @@ const fulfillAllPastRequestsIds = async (mocked: boolean) => { .fulfillRequest(requestID, calldata, decryptResultsEIP712signatures, { value: msgValue }); await tx.wait(); } else { - // in fhEVM mode we must wait until the gateway service relayer submits the decryption fulfillment tx + // in non-mocked mode we must wait until the gateway service relayer submits the decryption fulfillment tx await waitNBlocks(1); await fulfillAllPastRequestsIds(mocked); } diff --git a/test/constants.ts b/test/constants.ts new file mode 100644 index 0000000..61754dd --- /dev/null +++ b/test/constants.ts @@ -0,0 +1,10 @@ +export const TFHEEXECUTOR_ADDRESS = "0x687408ab54661ba0b4aef3a44156c616c6955e07"; +export const ACL_ADDRESS = "0xfee8407e2f5e3ee68ad77cae98c434e637f516e5"; +export const FHEPAYMENT_ADDRESS = "0xfb03be574d14c256d56f09a198b586bdfc0a9de2"; +export const KMSVERIFIER_ADDRESS = "0x9d6891a6240d6130c54ae243d8005063d05fe14b"; +export const INPUTVERIFIER_ADDRESS = "0x3a2DA6f1daE9eF988B48d9CF27523FA31a8eBE50"; +export const GATEWAYCONTRACT_ADDRESS = "0x33347831500f1e73f0cccbb95c9f86b94d7b1123"; +export const PRIVATE_KEY_KMS_SIGNER = "388b7680e4e1afa06efbfd45cdd1fe39f3c6af381df6555a19661f283b97de91"; +export const PRIVATE_KEY_COPROCESSOR_ACCOUNT = "388b7680e4e1afa06efbfd45cdd1fe39f3c6af381df6555a19661f283b97de91"; +export const GATEWAY_URL = "https://gateway-sepolia.kms-dev-v1.bc.zama.team/"; +export const ACCOUNT_NAMES = ["alice", "bob", "carol", "dave", "eve", "fred", "greg", "hugo", "ian", "jane"]; diff --git a/test/coprocessorUtils.ts b/test/coprocessorUtils.ts index d082313..13a54c7 100644 --- a/test/coprocessorUtils.ts +++ b/test/coprocessorUtils.ts @@ -1,14 +1,12 @@ -import dotenv from "dotenv"; import { log2 } from "extra-bigint"; -import * as fs from "fs"; import { ethers } from "hardhat"; import hre from "hardhat"; import { Database } from "sqlite3"; +import { TFHEEXECUTOR_ADDRESS } from "./constants"; import operatorsPrices from "./operatorsPrices.json"; -const parsedEnvCoprocessor = dotenv.parse(fs.readFileSync("node_modules/fhevm-core-contracts/addresses/.env.exec")); -const coprocAddress = parsedEnvCoprocessor.TFHE_EXECUTOR_CONTRACT_ADDRESS; +const executorAddress = TFHEEXECUTOR_ADDRESS; let firstBlockListening = 0; let lastBlockSnapshot = 0; @@ -167,11 +165,11 @@ async function processAllPastTFHEExecutorEvents() { } } - const contract = new ethers.Contract(coprocAddress, abi, provider); + const contract = new ethers.Contract(executorAddress, abi, provider); // Fetch all events emitted by the contract const filter = { - address: coprocAddress, + address: executorAddress, fromBlock: firstBlockListening, toBlock: latestBlockNumber, }; @@ -605,9 +603,9 @@ export function getFHEGasFromTxReceipt(receipt: ethers.TransactionReceipt): numb if (receipt.status === 0) { throw new Error("Transaction reverted"); } - const contract = new ethers.Contract(coprocAddress, abi, ethers.provider); + const contract = new ethers.Contract(executorAddress, abi, ethers.provider); const relevantLogs = receipt.logs.filter((log: ethers.Log) => { - if (log.address.toLowerCase() !== coprocAddress.toLowerCase()) { + if (log.address.toLowerCase() !== executorAddress.toLowerCase()) { return false; } try { diff --git a/test/encryptedERC20/EncryptedERC20.ts b/test/encryptedERC20/EncryptedERC20.ts index 5602d4c..14f2385 100644 --- a/test/encryptedERC20/EncryptedERC20.ts +++ b/test/encryptedERC20/EncryptedERC20.ts @@ -77,22 +77,14 @@ describe("EncryptedERC20", function () { expect(balanceBob).to.equal(1337); // on the other hand, Bob should be unable to read Alice's balance - try { - await reencryptEuint64(this.signers, this.instances, "bob", balanceHandleAlice, this.contractAddress); - expect.fail("Expected an error to be thrown - Bob should not be able to reencrypt Alice balance"); - } catch (error) { - expect(error.message).to.equal("User is not authorized to reencrypt this handle!"); - } + await expect( + reencryptEuint64(this.signers, this.instances, "bob", balanceHandleAlice, this.contractAddress), + ).to.be.rejectedWith("User is not authorized to reencrypt this handle!"); // and should be impossible to call reencrypt if contractAddress === userAddress - try { - await reencryptEuint64(this.signers, this.instances, "alice", balanceHandleAlice, this.signers.alice.address); - expect.fail("Expected an error to be thrown - userAddress and contractAddress cannot be equal"); - } catch (error) { - expect(error.message).to.equal( - "userAddress should not be equal to contractAddress when requesting reencryption!", - ); - } + await expect( + reencryptEuint64(this.signers, this.instances, "alice", balanceHandleAlice, this.signers.alice.address), + ).to.be.rejectedWith("userAddress should not be equal to contractAddress when requesting reencryption!"); }); it("should not transfer tokens between two users", async function () { diff --git a/test/fhevmjsMocked.ts b/test/fhevmjsMocked.ts index 8a553db..96f2ea5 100644 --- a/test/fhevmjsMocked.ts +++ b/test/fhevmjsMocked.ts @@ -7,13 +7,13 @@ import * as fs from "fs"; import { Keccak } from "sha3"; import { isAddress } from "web3-validator"; +import { ACL_ADDRESS } from "./constants"; import { insertSQL } from "./coprocessorUtils"; import { awaitCoprocessor, getClearText } from "./coprocessorUtils"; const hre = require("hardhat"); -const parsedEnvACL = dotenv.parse(fs.readFileSync("node_modules/fhevm-core-contracts/addresses/.env.acl")); -const aclAdd = parsedEnvACL.ACL_CONTRACT_ADDRESS; +const aclAdd = ACL_ADDRESS; enum Types { ebool = 0, @@ -309,29 +309,25 @@ export const createEncryptedInputMocked = (contractAddress: string, userAddress: // for native : numHandles + numSignersKMS + list_handles + signatureKMSSigners + bundleCiphertext (total len : 1+1+NUM_HANDLES*32+65*numSignersKMS+bundleCiphertext.length) const numSigners = +process.env.NUM_KMS_SIGNERS!; inputProof += numberToHex(numSigners); - if (process.env.IS_COPROCESSOR === "true") { - // coprocessor - inputProof += hash.toString("hex"); - - const listHandlesStr = handles.map((i) => uint8ArrayToHexString(i)); - listHandlesStr.map((handle) => (inputProof += handle)); - const listHandles = listHandlesStr.map((i) => BigInt("0x" + i)); - const sigCoproc = await computeInputSignatureCopro( - "0x" + hash.toString("hex"), - listHandles, - userAddress, - contractAddress, - ); - inputProof += sigCoproc.slice(2); - - const signaturesKMS = await computeInputSignaturesKMS( - "0x" + hash.toString("hex"), - userAddress, - contractAddress, - ); - signaturesKMS.map((sigKMS) => (inputProof += sigKMS.slice(2))); - listHandlesStr.map((handle, i) => insertSQL("0x" + handle, values[i])); - } else { + //if (process.env.IS_COPROCESSOR === "true") { // @note: for now we support only the coprocessor mode, not native + // coprocessor + inputProof += hash.toString("hex"); + + const listHandlesStr = handles.map((i) => uint8ArrayToHexString(i)); + listHandlesStr.map((handle) => (inputProof += handle)); + const listHandles = listHandlesStr.map((i) => BigInt("0x" + i)); + const sigCoproc = await computeInputSignatureCopro( + "0x" + hash.toString("hex"), + listHandles, + userAddress, + contractAddress, + ); + inputProof += sigCoproc.slice(2); + + const signaturesKMS = await computeInputSignaturesKMS("0x" + hash.toString("hex"), userAddress, contractAddress); + signaturesKMS.map((sigKMS) => (inputProof += sigKMS.slice(2))); + listHandlesStr.map((handle, i) => insertSQL("0x" + handle, values[i])); + /*} else { // native const listHandlesStr = handles.map((i) => uint8ArrayToHexString(i)); listHandlesStr.map((handle) => (inputProof += handle)); @@ -344,7 +340,7 @@ export const createEncryptedInputMocked = (contractAddress: string, userAddress: listHandlesStr.map((handle, i) => insertSQL("0x" + handle, values[i])); inputProof += encrypted.toString("hex"); - } + }*/ return { handles, @@ -442,9 +438,7 @@ async function coprocSign( fs.readFileSync("node_modules/fhevm-core-contracts/addresses/.env.inputverifier"), ).INPUT_VERIFIER_CONTRACT_ADDRESS; const chainId = hre.__SOLIDITY_COVERAGE_RUNNING ? 31337 : network.config.chainId; - const aclAdd = dotenv.parse( - fs.readFileSync("node_modules/fhevm-core-contracts/addresses/.env.acl"), - ).ACL_CONTRACT_ADDRESS; + const aclAdd = ACL_ADDRESS; const domain = { name: "InputVerifier", @@ -505,9 +499,7 @@ async function kmsSign( fs.readFileSync("node_modules/fhevm-core-contracts/addresses/.env.kmsverifier"), ).KMS_VERIFIER_CONTRACT_ADDRESS; const chainId = hre.__SOLIDITY_COVERAGE_RUNNING ? 31337 : network.config.chainId; - const aclAdd = dotenv.parse( - fs.readFileSync("node_modules/fhevm-core-contracts/addresses/.env.acl"), - ).ACL_CONTRACT_ADDRESS; + const aclAdd = ACL_ADDRESS; const domain = { name: "KMSVerifier", diff --git a/test/instance.ts b/test/instance.ts index 61a7989..b245c7a 100644 --- a/test/instance.ts +++ b/test/instance.ts @@ -1,4 +1,3 @@ -import dotenv from "dotenv"; import { clientKeyDecryptor, createEIP712, @@ -7,11 +6,11 @@ import { getCiphertextCallParams, } from "fhevmjs"; import { readFileSync } from "fs"; -import * as fs from "fs"; import { ethers, ethers as hethers, network } from "hardhat"; import { homedir } from "os"; import path from "path"; +import { ACL_ADDRESS, GATEWAY_URL, KMSVERIFIER_ADDRESS } from "./constants"; import { awaitCoprocessor, getClearText } from "./coprocessorUtils"; import { createEncryptedInputMocked, reencryptRequestMocked } from "./fhevmjsMocked"; import type { Signers } from "./signers"; @@ -21,12 +20,8 @@ const FHE_CLIENT_KEY_PATH = process.env.FHE_CLIENT_KEY_PATH; let clientKey: Uint8Array | undefined; -const kmsAdd = dotenv.parse( - fs.readFileSync("node_modules/fhevm-core-contracts/addresses/.env.kmsverifier"), -).KMS_VERIFIER_CONTRACT_ADDRESS; -const aclAdd = dotenv.parse( - fs.readFileSync("node_modules/fhevm-core-contracts/addresses/.env.acl"), -).ACL_CONTRACT_ADDRESS; +const kmsAdd = KMSVERIFIER_ADDRESS; +const aclAdd = ACL_ADDRESS; const createInstanceMocked = async () => { const instance = { @@ -63,7 +58,7 @@ export const createInstance = async () => { kmsContractAddress: kmsAdd, aclContractAddress: aclAdd, networkUrl: network.config.url, - gatewayUrl: "http://localhost:7077", + gatewayUrl: GATEWAY_URL, }); return instance; }; diff --git a/test/utils.ts b/test/utils.ts index 413b679..c24c6c3 100644 --- a/test/utils.ts +++ b/test/utils.ts @@ -1,5 +1,5 @@ import { toBufferBE } from "bigint-buffer"; -import { ethers } from "hardhat"; +import { ethers, network } from "hardhat"; export const mineNBlocks = async (n: number) => { for (let index = 0; index < n; index++) { @@ -18,3 +18,40 @@ export const bigIntToBytes128 = (value: bigint) => { export const bigIntToBytes256 = (value: bigint) => { return new Uint8Array(toBufferBE(value, 256)); }; + +export const waitNBlocks = async (Nblocks: number) => { + const currentBlock = await ethers.provider.getBlockNumber(); + if (network.name === "hardhat") { + await produceDummyTransactions(Nblocks); + } + await waitForBlock(currentBlock + Nblocks); +}; + +export const produceDummyTransactions = async (blockCount: number) => { + let counter = blockCount; + while (counter >= 0) { + counter--; + const [signer] = await ethers.getSigners(); + const nullAddress = "0x0000000000000000000000000000000000000000"; + const tx = { + to: nullAddress, + value: 0n, + }; + const receipt = await signer.sendTransaction(tx); + await receipt.wait(); + } +}; + +const waitForBlock = (blockNumber: bigint | number) => { + return new Promise((resolve, reject) => { + const waitBlock = async (currentBlock: number) => { + if (blockNumber <= BigInt(currentBlock)) { + await ethers.provider.off("block", waitBlock); + resolve(blockNumber); + } + }; + ethers.provider.on("block", waitBlock).catch((err) => { + reject(err); + }); + }); +};