From 61b35ae8f5bd7f4a5f03031f4d8dcf0be36884fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Fingen?= Date: Mon, 20 Jan 2025 15:51:42 +0000 Subject: [PATCH 1/5] (deploy) feat: Add interactive confirmation to deployment script --- .github/workflows/testnet-deployment.yml | 2 +- contracts/fork | 1 + contracts/utils/deploy-cli.ts | 12 +++++++++++- 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/.github/workflows/testnet-deployment.yml b/.github/workflows/testnet-deployment.yml index e126cec7a..65ce69987 100644 --- a/.github/workflows/testnet-deployment.yml +++ b/.github/workflows/testnet-deployment.yml @@ -60,7 +60,7 @@ jobs: - name: Run deployment tool working-directory: ./contracts - run: ./deploy liquity-testnet --debug --verify + run: ./deploy liquity-testnet --debug --verify --skip-confirmation timeout-minutes: 10 env: DEPLOYER: ${{ secrets.DEPLOYER }} diff --git a/contracts/fork b/contracts/fork index 7d2ef4731..073f4b0cd 100755 --- a/contracts/fork +++ b/contracts/fork @@ -98,6 +98,7 @@ deploy() { --rpc-url "$E2E_RPC_URL" --chain-id "$FORK_CHAIN_ID" --deployer "$DEPLOYER" + --skip-confirmation # --verify # --verifier sourcify # --verifier-url "http://localhost:$sourcify_port" diff --git a/contracts/utils/deploy-cli.ts b/contracts/utils/deploy-cli.ts index 5dedf7861..0cc9baf5f 100644 --- a/contracts/utils/deploy-cli.ts +++ b/contracts/utils/deploy-cli.ts @@ -1,4 +1,4 @@ -import { $, chalk, echo, fs, minimist } from "zx"; +import { $, chalk, echo, fs, minimist, question } from "zx"; const HELP = ` deploy - deploy the Liquity contracts. @@ -37,6 +37,7 @@ Options: --rpc-url RPC URL to use. --salt Use keccak256(bytes(SALT)) as CREATE2 salt instead of block timestamp. + --skip-confirmation Run non-interactively (skip confirmation). --slow Only send a transaction after the previous one has been confirmed. --unlocked Used when the deployer account is unlocked @@ -77,6 +78,7 @@ const argv = minimist(process.argv.slice(2), { "ledger-path", "mode", "salt", + "skip-confirmation", "rpc-url", "verifier", "verifier-url", @@ -206,6 +208,12 @@ Deploying Liquity contracts with the following settings: VERIFIER_URL: ${options.verifierUrl} `; + // User confirmation + if (!options.skipConfirmation) { + const confirmation = await question("Does that look good? (y/n) "); + if (confirmation !== "y") { return 1 }; + } + process.env.DEPLOYER = options.deployer; process.env.DEPLOYMENT_MODE = options.mode; process.env.SALT = options.salt; @@ -353,6 +361,7 @@ async function parseArgs() { openDemoTroves: argv["open-demo-troves"], rpcUrl: argv["rpc-url"], dryRun: argv["dry-run"], + skipConfirmation: argv["skip-confirmation"], slow: argv["slow"], unlocked: argv["unlocked"], verify: argv["verify"], @@ -375,6 +384,7 @@ async function parseArgs() { options.openDemoTroves = parseBool(options.openDemoTroves, process.env.OPEN_DEMO_TROVES); options.rpcUrl ??= process.env.RPC_URL; options.salt ??= process.env.SALT; + options.skipConfirmation = parseBool(options.skipConfirmation, process.env.SKIP_CONFIRMATION); options.slow = parseBool(options.slow, process.env.SLOW); options.unlocked = parseBool(options.unlocked, process.env.UNLOCKED); options.useTestnetPricefeeds = parseBool(options.useTestnetPricefeeds, process.env.USE_TESTNET_PRICEFEEDS); From fab90400c5c60caba9bb6d9081f2193d9812c06c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=9Fingen?= Date: Mon, 20 Jan 2025 15:52:22 +0000 Subject: [PATCH 2/5] (deploy) feat: Use address instead of PK in deployment summary, ... ...and add mode to it. --- contracts/package.json | 1 + contracts/utils/deploy-cli.ts | 4 +++- pnpm-lock.yaml | 24 +++++++++++++++++++++++- 3 files changed, 27 insertions(+), 2 deletions(-) diff --git a/contracts/package.json b/contracts/package.json index 931bd2c01..a5b45976f 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -24,6 +24,7 @@ "bugs": "https://github.com/liquity/bold/issues", "homepage": "https://github.com/liquity/bold#readme", "devDependencies": { + "@ethereumjs/util": "^9.1.0", "@nomicfoundation/hardhat-chai-matchers": "^1.0.0", "@nomicfoundation/hardhat-foundry": "^1.0.1", "@nomicfoundation/hardhat-network-helpers": "^1.0.0", diff --git a/contracts/utils/deploy-cli.ts b/contracts/utils/deploy-cli.ts index 0cc9baf5f..dc0e3b6d5 100644 --- a/contracts/utils/deploy-cli.ts +++ b/contracts/utils/deploy-cli.ts @@ -1,4 +1,5 @@ import { $, chalk, echo, fs, minimist, question } from "zx"; +import { bytesToHex, hexToBytes, privateToAddress } from "@ethereumjs/util"; const HELP = ` deploy - deploy the Liquity contracts. @@ -195,7 +196,8 @@ export async function main() { Deploying Liquity contracts with the following settings: CHAIN_ID: ${options.chainId} - DEPLOYER: ${options.deployer} + MODE: ${options.mode} + DEPLOYER: ${bytesToHex(privateToAddress(hexToBytes(options.deployer)))} DEPLOYMENT_MODE: ${options.mode} SALT: ${options.salt ? options.salt : chalk.yellow("block.timestamp will be used !!")} ETHERSCAN_API_KEY: ${options.etherscanApiKey && "(secret)"} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02bf7a16b..e924d86bb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: contracts: devDependencies: + '@ethereumjs/util': + specifier: ^9.1.0 + version: 9.1.0 '@nomicfoundation/hardhat-chai-matchers': specifier: ^1.0.0 version: 1.0.6(@nomiclabs/hardhat-ethers@2.2.3)(chai@4.4.1)(ethers@5.7.2)(hardhat@2.22.3) @@ -2175,6 +2178,12 @@ packages: engines: {node: '>=14'} hasBin: true + /@ethereumjs/rlp@5.0.2: + resolution: {integrity: sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==} + engines: {node: '>=18'} + hasBin: true + dev: true + /@ethereumjs/tx@3.3.2: resolution: {integrity: sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==} dependencies: @@ -2204,9 +2213,17 @@ packages: engines: {node: '>=14'} dependencies: '@ethereumjs/rlp': 4.0.1 - ethereum-cryptography: 2.1.3 + ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 + /@ethereumjs/util@9.1.0: + resolution: {integrity: sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==} + engines: {node: '>=18'} + dependencies: + '@ethereumjs/rlp': 5.0.2 + ethereum-cryptography: 2.2.1 + dev: true + /@ethersproject/abi@5.0.7: resolution: {integrity: sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==} dependencies: @@ -4165,6 +4182,7 @@ packages: resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} dependencies: '@noble/hashes': 1.3.3 + dev: true /@noble/curves@1.4.2: resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} @@ -4190,6 +4208,7 @@ packages: /@noble/hashes@1.3.3: resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} engines: {node: '>= 16'} + dev: true /@noble/hashes@1.4.0: resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} @@ -5969,6 +5988,7 @@ packages: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 '@scure/base': 1.1.9 + dev: true /@scure/bip32@1.4.0: resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} @@ -5996,6 +6016,7 @@ packages: dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.9 + dev: true /@scure/bip39@1.3.0: resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} @@ -11493,6 +11514,7 @@ packages: '@noble/hashes': 1.3.3 '@scure/bip32': 1.3.3 '@scure/bip39': 1.2.2 + dev: true /ethereum-cryptography@2.2.1: resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} From d93e11a6ddc60da142469507765dadb1164d0fc4 Mon Sep 17 00:00:00 2001 From: Daniel Simon Date: Tue, 21 Jan 2025 09:33:21 +0700 Subject: [PATCH 3/5] fix: case when DEPLOYER is already an address Also, avoid adding a new dependency (@ethereumjs/util) for something we can already do with an existing dependency (viem). --- contracts/package.json | 1 - contracts/utils/deploy-cli.ts | 12 +++++++-- pnpm-lock.yaml | 49 ++++++++++++++++------------------- 3 files changed, 32 insertions(+), 30 deletions(-) diff --git a/contracts/package.json b/contracts/package.json index a5b45976f..931bd2c01 100644 --- a/contracts/package.json +++ b/contracts/package.json @@ -24,7 +24,6 @@ "bugs": "https://github.com/liquity/bold/issues", "homepage": "https://github.com/liquity/bold#readme", "devDependencies": { - "@ethereumjs/util": "^9.1.0", "@nomicfoundation/hardhat-chai-matchers": "^1.0.0", "@nomicfoundation/hardhat-foundry": "^1.0.1", "@nomicfoundation/hardhat-network-helpers": "^1.0.0", diff --git a/contracts/utils/deploy-cli.ts b/contracts/utils/deploy-cli.ts index dc0e3b6d5..1017789ab 100644 --- a/contracts/utils/deploy-cli.ts +++ b/contracts/utils/deploy-cli.ts @@ -1,5 +1,5 @@ +import { privateKeyToAccount } from "viem/accounts"; import { $, chalk, echo, fs, minimist, question } from "zx"; -import { bytesToHex, hexToBytes, privateToAddress } from "@ethereumjs/util"; const HELP = ` deploy - deploy the Liquity contracts. @@ -179,7 +179,12 @@ export async function main() { } } + let deployerAddress: string; + if (options.deployer.startsWith("0x") && options.deployer.length === 42) { + // DEPLOYER is an address + deployerAddress = options.deployer; + if (options.unlocked) { forgeArgs.push("--unlocked"); } else { @@ -190,6 +195,9 @@ export async function main() { forgeArgs.push(options.ledgerPath); } } + } else { + // DEPLOYER is a private key, get its address + deployerAddress = privateKeyToAccount(options.deployer).address; } echo` @@ -197,7 +205,7 @@ Deploying Liquity contracts with the following settings: CHAIN_ID: ${options.chainId} MODE: ${options.mode} - DEPLOYER: ${bytesToHex(privateToAddress(hexToBytes(options.deployer)))} + DEPLOYER (address): ${deployerAddress} DEPLOYMENT_MODE: ${options.mode} SALT: ${options.salt ? options.salt : chalk.yellow("block.timestamp will be used !!")} ETHERSCAN_API_KEY: ${options.etherscanApiKey && "(secret)"} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e924d86bb..8aca6e61f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,9 +14,6 @@ importers: contracts: devDependencies: - '@ethereumjs/util': - specifier: ^9.1.0 - version: 9.1.0 '@nomicfoundation/hardhat-chai-matchers': specifier: ^1.0.0 version: 1.0.6(@nomiclabs/hardhat-ethers@2.2.3)(chai@4.4.1)(ethers@5.7.2)(hardhat@2.22.3) @@ -2178,12 +2175,6 @@ packages: engines: {node: '>=14'} hasBin: true - /@ethereumjs/rlp@5.0.2: - resolution: {integrity: sha512-DziebCdg4JpGlEqEdGgXmjqcFoJi+JGulUXwEjsZGAscAQ7MyD/7LE/GVCP29vEQxKc7AAwjT3A2ywHp2xfoCA==} - engines: {node: '>=18'} - hasBin: true - dev: true - /@ethereumjs/tx@3.3.2: resolution: {integrity: sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog==} dependencies: @@ -2216,14 +2207,6 @@ packages: ethereum-cryptography: 2.2.1 micro-ftch: 0.3.1 - /@ethereumjs/util@9.1.0: - resolution: {integrity: sha512-XBEKsYqLGXLah9PNJbgdkigthkG7TAGvlD/sH12beMXEyHDyigfcbdvHhmLyDWgDyOJn4QwiQUaF7yeuhnjdog==} - engines: {node: '>=18'} - dependencies: - '@ethereumjs/rlp': 5.0.2 - ethereum-cryptography: 2.2.1 - dev: true - /@ethersproject/abi@5.0.7: resolution: {integrity: sha512-Cqktk+hSIckwP/W8O47Eef60VwmoSC/L3lY0+dIBhQPCNn9E4V7rwmm2aFrNRRDJfFlGuZ1khkQUOc3oBX+niw==} dependencies: @@ -5405,7 +5388,7 @@ packages: /@pm2/pm2-version-check@1.0.4: resolution: {integrity: sha512-SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==} dependencies: - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 transitivePeerDependencies: - supports-color dev: true @@ -6629,7 +6612,7 @@ packages: big.js: 6.2.1 bn.js: 5.2.1 cbor: 5.2.0 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 lodash: 4.17.21 semver: 7.6.0 utf8: 3.0.0 @@ -7011,6 +6994,7 @@ packages: /@types/node@22.10.6: resolution: {integrity: sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==} + requiresBuild: true dependencies: undici-types: 6.20.0 @@ -8101,7 +8085,7 @@ packages: engines: {node: '>= 6.0.0'} requiresBuild: true dependencies: - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 transitivePeerDependencies: - supports-color dev: true @@ -8110,7 +8094,7 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} dependencies: - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -10094,6 +10078,17 @@ packages: dependencies: ms: 2.1.3 + /debug@4.4.0: + resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.3 + /debug@4.4.0(supports-color@8.1.1): resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -12403,7 +12398,7 @@ packages: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 fs-extra: 11.2.0 transitivePeerDependencies: - supports-color @@ -13091,7 +13086,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 transitivePeerDependencies: - supports-color @@ -15920,7 +15915,7 @@ packages: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.1 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 get-uri: 6.0.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 @@ -16721,7 +16716,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -17256,7 +17251,7 @@ packages: resolution: {integrity: sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==} engines: {node: '>=6'} dependencies: - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 module-details-from-path: 1.0.3 resolve: 1.22.8 transitivePeerDependencies: @@ -17966,7 +17961,7 @@ packages: requiresBuild: true dependencies: agent-base: 7.1.1 - debug: 4.4.0(supports-color@8.1.1) + debug: 4.4.0 socks: 2.8.3 transitivePeerDependencies: - supports-color From 2419b97c257427d01e15d2bc8c70a782d425bc53 Mon Sep 17 00:00:00 2001 From: Daniel Simon Date: Tue, 21 Jan 2025 09:34:44 +0700 Subject: [PATCH 4/5] feat: accept only right answers --- contracts/utils/deploy-cli.ts | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/contracts/utils/deploy-cli.ts b/contracts/utils/deploy-cli.ts index 1017789ab..a0508cd83 100644 --- a/contracts/utils/deploy-cli.ts +++ b/contracts/utils/deploy-cli.ts @@ -220,8 +220,19 @@ Deploying Liquity contracts with the following settings: // User confirmation if (!options.skipConfirmation) { - const confirmation = await question("Does that look good? (y/n) "); - if (confirmation !== "y") { return 1 }; + for (;;) { + const answer = (await question("Does that look good? (y/N) ")).toLowerCase(); + + if (answer === "y") { + echo(""); + break; + } + + if (answer === "" || answer === "n") { + echo("Deployment aborted."); + process.exit(1); + } + } } process.env.DEPLOYER = options.deployer; From 029d59dac8c8f7594a0d93ed4c13d50d794bd634 Mon Sep 17 00:00:00 2001 From: Daniel Simon Date: Tue, 21 Jan 2025 09:40:55 +0700 Subject: [PATCH 5/5] chore: revert pnpm-lock changes --- pnpm-lock.yaml | 39 +++++++++++---------------------------- 1 file changed, 11 insertions(+), 28 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8aca6e61f..02bf7a16b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2204,7 +2204,7 @@ packages: engines: {node: '>=14'} dependencies: '@ethereumjs/rlp': 4.0.1 - ethereum-cryptography: 2.2.1 + ethereum-cryptography: 2.1.3 micro-ftch: 0.3.1 /@ethersproject/abi@5.0.7: @@ -4165,7 +4165,6 @@ packages: resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} dependencies: '@noble/hashes': 1.3.3 - dev: true /@noble/curves@1.4.2: resolution: {integrity: sha512-TavHr8qycMChk8UwMld0ZDRvatedkzWfH8IiaeGCfymOP5i0hSCozz9vHOL0nkwk7HRMlFnAiKpS2jrUmSybcw==} @@ -4191,7 +4190,6 @@ packages: /@noble/hashes@1.3.3: resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} engines: {node: '>= 16'} - dev: true /@noble/hashes@1.4.0: resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} @@ -5388,7 +5386,7 @@ packages: /@pm2/pm2-version-check@1.0.4: resolution: {integrity: sha512-SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==} dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -5971,7 +5969,6 @@ packages: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 '@scure/base': 1.1.9 - dev: true /@scure/bip32@1.4.0: resolution: {integrity: sha512-sVUpc0Vq3tXCkDGYVWGIZTRfnvu8LoTDaev7vbwh0omSvVORONr960MQWdKqJDCReIEmTj3PAr73O3aoxz7OPg==} @@ -5999,7 +5996,6 @@ packages: dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.9 - dev: true /@scure/bip39@1.3.0: resolution: {integrity: sha512-disdg7gHuTDZtY+ZdkmLpPCk7fxZSu3gBiEGuoC1XYxv9cGx3Z6cpTggCgW6odSOOIXCiDjuGejW+aJKCY/pIQ==} @@ -6612,7 +6608,7 @@ packages: big.js: 6.2.1 bn.js: 5.2.1 cbor: 5.2.0 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) lodash: 4.17.21 semver: 7.6.0 utf8: 3.0.0 @@ -6994,7 +6990,6 @@ packages: /@types/node@22.10.6: resolution: {integrity: sha512-qNiuwC4ZDAUNcY47xgaSuS92cjf8JbSUoaKS77bmLG1rU7MlATVSiw/IlrjtIyyskXBZ8KkNfjK/P5na7rgXbQ==} - requiresBuild: true dependencies: undici-types: 6.20.0 @@ -8085,7 +8080,7 @@ packages: engines: {node: '>= 6.0.0'} requiresBuild: true dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color dev: true @@ -8094,7 +8089,7 @@ packages: resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} engines: {node: '>= 14'} dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -10078,17 +10073,6 @@ packages: dependencies: ms: 2.1.3 - /debug@4.4.0: - resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.3 - /debug@4.4.0(supports-color@8.1.1): resolution: {integrity: sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==} engines: {node: '>=6.0'} @@ -11509,7 +11493,6 @@ packages: '@noble/hashes': 1.3.3 '@scure/bip32': 1.3.3 '@scure/bip39': 1.2.2 - dev: true /ethereum-cryptography@2.2.1: resolution: {integrity: sha512-r/W8lkHSiTLxUxW8Rf3u4HGB0xQweG2RyETjywylKZSzLWoWAijRz8WCuOtJ6wah+avllXBqZuk29HCCvhEIRg==} @@ -12398,7 +12381,7 @@ packages: dependencies: basic-ftp: 5.0.5 data-uri-to-buffer: 6.0.2 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) fs-extra: 11.2.0 transitivePeerDependencies: - supports-color @@ -13086,7 +13069,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) transitivePeerDependencies: - supports-color @@ -15915,7 +15898,7 @@ packages: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 agent-base: 7.1.1 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) get-uri: 6.0.3 http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 @@ -16716,7 +16699,7 @@ packages: engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.5 lru-cache: 7.18.3 @@ -17251,7 +17234,7 @@ packages: resolution: {integrity: sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==} engines: {node: '>=6'} dependencies: - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) module-details-from-path: 1.0.3 resolve: 1.22.8 transitivePeerDependencies: @@ -17961,7 +17944,7 @@ packages: requiresBuild: true dependencies: agent-base: 7.1.1 - debug: 4.4.0 + debug: 4.4.0(supports-color@8.1.1) socks: 2.8.3 transitivePeerDependencies: - supports-color