From c15faa3e11a8850786c9a73f0421b91e4959cee7 Mon Sep 17 00:00:00 2001 From: "Miao, ZhiCheng" Date: Wed, 28 Jan 2026 19:11:13 +0200 Subject: [PATCH] remove detectTruffle and stack-trace dependency --- .syncpackrc.yml | 5 --- .../ops-scripts/libs/common.js | 20 --------- .../libs/truffleScriptRunnerFactory.js | 41 +++---------------- packages/ethereum-contracts/package.json | 1 - .../test/ops-scripts/deployment.test.sh | 3 -- yarn.lock | 10 ----- 6 files changed, 6 insertions(+), 74 deletions(-) diff --git a/.syncpackrc.yml b/.syncpackrc.yml index e253709112..2535ee9196 100644 --- a/.syncpackrc.yml +++ b/.syncpackrc.yml @@ -16,8 +16,3 @@ semverGroups: range: "" - label: Use looser range by default range: "^" -versionGroups: - - label: Pin stack-trace to the same version, since newer version starts to use ES module - dependencies: - - "stack-trace" - pinVersion: "0.0.10" diff --git a/packages/ethereum-contracts/ops-scripts/libs/common.js b/packages/ethereum-contracts/ops-scripts/libs/common.js index 3a9047a971..67d89aafac 100644 --- a/packages/ethereum-contracts/ops-scripts/libs/common.js +++ b/packages/ethereum-contracts/ops-scripts/libs/common.js @@ -50,23 +50,6 @@ function builtTruffleContractLoader(name) { } } -// -// Detect truffle environment -// -function detectTruffle() { - const stackTrace = require("stack-trace"); - const trace = stackTrace.get(); - //trace.forEach((callSite) => console.debug(callSite.getFileName())); - const truffleDetected = - trace.filter((callSite) => - (callSite.getFileName() || "").match( - /node_modules\/truffle\/build\/[^/]+\.bundled\.js/ - ) - ).length > 0; - console.log("truffle detected", truffleDetected); - return truffleDetected; -} - // extracts the gas related config for the given network from the truffle config // returns an object with the relevant fields set in the config (empty if none) // @@ -494,13 +477,11 @@ async function getPastEvents({config, contract, eventName, filter, topics}) { */ function getScriptRunnerFactory(runnerOpts = {}) { return (logicFn) => { - const {detectTruffle} = require("./libs/common"); return require("./libs/truffleScriptRunnerFactory")( () => ({ artifacts: typeof artifacts !== "undefined" ? artifacts : undefined, web3: typeof web3 !== "undefined" ? web3 : undefined, - truffleDetected: detectTruffle(), }), logicFn, runnerOpts @@ -546,7 +527,6 @@ module.exports = { rl, extractWeb3Options, builtTruffleContractLoader, - detectTruffle, getGasConfig, hasCode, diff --git a/packages/ethereum-contracts/ops-scripts/libs/truffleScriptRunnerFactory.js b/packages/ethereum-contracts/ops-scripts/libs/truffleScriptRunnerFactory.js index fb3cba23f5..7c7f21e3f9 100644 --- a/packages/ethereum-contracts/ops-scripts/libs/truffleScriptRunnerFactory.js +++ b/packages/ethereum-contracts/ops-scripts/libs/truffleScriptRunnerFactory.js @@ -27,7 +27,7 @@ function parseColonArgs(argv) { module.exports = function (ctxFn, logicFn, runnerOpts) { return async function (cb, argv, options = {}) { try { - const {artifacts, web3, truffleDetected} = ctxFn(); + const {artifacts, web3} = ctxFn(); let args; if (runnerOpts.skipArgv) { @@ -40,42 +40,13 @@ module.exports = function (ctxFn, logicFn, runnerOpts) { console.log("Colon arguments", args); } - // if isTruffle is not set explicitly - if (!("isTruffle" in options)) { - if ("DISABLE_NATIVE_TRUFFLE" in process.env) { - options.isTruffle = !process.env.DISABLE_NATIVE_TRUFFLE; - } else { - options.isTruffle = truffleDetected; - } - } - // normalize web3 environment - console.log( - "use truffle native environment (isTruffle)", - options.isTruffle - ); - if (options.isTruffle) { - if (options.web3) { - throw Error( - "Flag 'isTruffle' cannot be 'true' when using a web3 instance." - ); - } - // set these globally so that it's available throughout the executions - global.web3 = web3; - global.artifacts = artifacts; - } else { - if (!truffleDetected) { - if (!options.web3) { - throw Error( - "A web3 instance is not provided when not using truffle." - ); - } - global.web3 = options.web3; - } else { - // use web3 of truffle - options.web3 = global.web3 = web3; - } + if (!options.web3) { + throw Error( + "A web3 instance is not provided." + ); } + global.web3 = options.web3; // Use common environment variables options.protocolReleaseVersion = diff --git a/packages/ethereum-contracts/package.json b/packages/ethereum-contracts/package.json index cca0215676..7662d285f4 100644 --- a/packages/ethereum-contracts/package.json +++ b/packages/ethereum-contracts/package.json @@ -26,7 +26,6 @@ "readline": "^1.3.0", "solidity-coverage": "^0.8.17", "solidity-docgen": "^0.6.0-beta.36", - "stack-trace": "0.0.10", "truffle-flattener": "^1.6.0" }, "files": [ diff --git a/packages/ethereum-contracts/test/ops-scripts/deployment.test.sh b/packages/ethereum-contracts/test/ops-scripts/deployment.test.sh index 7cfad731e4..8f9c4e8cbb 100755 --- a/packages/ethereum-contracts/test/ops-scripts/deployment.test.sh +++ b/packages/ethereum-contracts/test/ops-scripts/deployment.test.sh @@ -31,9 +31,6 @@ unset USE_MOCKS unset NON_UPGRADABLE unset ENABLE_APP_WHITELISTING -# force to load artifacts from build folder instead -export DISABLE_NATIVE_TRUFFLE=1 - # if any of them fail, exit set -xe diff --git a/yarn.lock b/yarn.lock index 4950cc8830..e71591b5c0 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3677,11 +3677,6 @@ resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.20.2.tgz#e07053488ed60dae1b54f6fe37bb6d2c5fe146a7" integrity sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA== -"@solidity-parser/parser@^0.20.2": - version "0.20.2" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.20.2.tgz#e07053488ed60dae1b54f6fe37bb6d2c5fe146a7" - integrity sha512-rbu0bzwNvMcwAjH86hiEAcOeRI2EeK8zCkHDrFykh/Al8mvJeFmjy3UrE7GYQjNwOgbGUUtCn5/k8CB8zIu7QA== - "@standard-schema/spec@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@standard-schema/spec/-/spec-1.0.0.tgz#f193b73dc316c4170f2e82a881da0f550d551b9c" @@ -16737,11 +16732,6 @@ ssri@^10.0.0, ssri@^10.0.6: dependencies: minipass "^7.0.3" -stack-trace@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== - stacktrace-parser@^0.1.10: version "0.1.10" resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a"