From ef05238ba812096b0e5462fc3370dffbff68519b Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Tue, 19 Jul 2022 17:17:33 -0600 Subject: [PATCH 01/24] Fix test and migrate to work in the console with public testnets --- packages/core/lib/console-child.js | 31 +++++++++++++++++++++--------- 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/packages/core/lib/console-child.js b/packages/core/lib/console-child.js index a57e20304ec..72f616a8e6d 100644 --- a/packages/core/lib/console-child.js +++ b/packages/core/lib/console-child.js @@ -32,32 +32,45 @@ function getConfiguredNetworkUrl(customConfig) { } let configuredNetwork; +const configNetworkWithProvider = + detectedConfig.networks[network] && detectedConfig.networks[network].provider; -if (url) { +if (configNetworkWithProvider) { + // Use "provider" specified in the network config + configuredNetwork = { + network_id: "*", + provider: detectedConfig.networks[network].provider + }; +} else if (url) { // Use "url" to configure network (implies not "develop") configuredNetwork = { network_id: "*", - url + url, + provider: function () { + return new Web3.providers.HttpProvider(url, { + keepAlive: false + }); + } }; } else { // Otherwise derive network settings const customConfig = detectedConfig.networks[network] || {}; + const configuredNetworkUrl = getConfiguredNetworkUrl(customConfig); configuredNetwork = { host: customConfig.host || managedGanacheDefaultHost, port: customConfig.port || managedGanacheDefaultPort, network_id: customConfig.network_id || managedGanacheDefaultNetworkId, - url: getConfiguredNetworkUrl(customConfig) + provider: function () { + return new Web3.providers.HttpProvider(configuredNetworkUrl, { + keepAlive: false + }); + } }; } detectedConfig.networks[network] = { - ...configuredNetwork, - provider: function () { - return new Web3.providers.HttpProvider(configuredNetwork.url, { - keepAlive: false - }); - } + ...configuredNetwork }; const { getCommand, prepareOptions, runCommand } = require("./command-utils"); From 47d9aafd5f25d67eca468775aca498bedeca7694 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Tue, 26 Jul 2022 12:38:07 -0600 Subject: [PATCH 02/24] Add dashboard network settings --- packages/core/lib/console-child.js | 124 ++++++++++++++++++++--------- 1 file changed, 86 insertions(+), 38 deletions(-) diff --git a/packages/core/lib/console-child.js b/packages/core/lib/console-child.js index 72f616a8e6d..502cc3ec12b 100644 --- a/packages/core/lib/console-child.js +++ b/packages/core/lib/console-child.js @@ -7,9 +7,10 @@ const yargs = require("yargs"); const input = process.argv[2].split(" -- "); const inputStrings = input[1].split(" "); -const managedGanacheDefaultHost = "127.0.0.1"; +const managedDefaultHost = "127.0.0.1"; const managedGanacheDefaultPort = 9545; const managedGanacheDefaultNetworkId = 5777; +const managedDashboardDefaultPort = 24012; // we need to make sure this function exists so ensjs doesn't complain as it requires // getRandomValues for some functionalities - webpack strips out the crypto lib @@ -25,48 +26,95 @@ const detectedConfig = Config.detect({ network, config }); function getConfiguredNetworkUrl(customConfig) { const configuredNetworkOptions = { - host: customConfig.host || managedGanacheDefaultHost, + host: customConfig.host || managedDefaultHost, port: customConfig.port || managedGanacheDefaultPort }; - return `http://${configuredNetworkOptions.host}:${configuredNetworkOptions.port}/`; + return `http://${configuredNetworkOptions.host}:${configuredNetworkOptions.port}`; } -let configuredNetwork; -const configNetworkWithProvider = - detectedConfig.networks[network] && detectedConfig.networks[network].provider; - -if (configNetworkWithProvider) { - // Use "provider" specified in the network config - configuredNetwork = { - network_id: "*", - provider: detectedConfig.networks[network].provider - }; -} else if (url) { - // Use "url" to configure network (implies not "develop") - configuredNetwork = { - network_id: "*", - url, - provider: function () { - return new Web3.providers.HttpProvider(url, { - keepAlive: false - }); - } - }; -} else { - // Otherwise derive network settings - const customConfig = detectedConfig.networks[network] || {}; - const configuredNetworkUrl = getConfiguredNetworkUrl(customConfig); - - configuredNetwork = { - host: customConfig.host || managedGanacheDefaultHost, - port: customConfig.port || managedGanacheDefaultPort, - network_id: customConfig.network_id || managedGanacheDefaultNetworkId, - provider: function () { - return new Web3.providers.HttpProvider(configuredNetworkUrl, { - keepAlive: false - }); - } +function getDashboardUrl(customDashboardConfig) { + const configuredDashboardOptions = { + host: customDashboardConfig.host || managedDefaultHost, + port: customDashboardConfig.port || managedDashboardDefaultPort }; + return `http://${configuredDashboardOptions.host}:${configuredDashboardOptions.port}/rpc`; +} + +let configuredNetwork; + +network === "dashboard" + ? setNetworkConfigurationForDashboard() + : setNetworkConfigurationForOthers(); + +function setNetworkConfigurationForDashboard() { + if (detectedConfig.networks.dashboard.provider) { + // Use "provider" specified in the dashboard network config + configuredNetwork = { + ...detectedConfig.networks.dashboard, + network_id: "*", + provider: detectedConfig.networks.dashboard.provider + }; + } else { + // Otherwise derive dashboard network settings + const configuredDashboardNetworkUrl = getDashboardUrl( + detectedConfig.networks.dashboard + ); + + configuredNetwork = { + ...detectedConfig.networks.dashboard, + host: detectedConfig.networks.dashboard.host || managedDefaultHost, + port: + detectedConfig.networks.dashboard.port || managedDashboardDefaultPort, + network_id: detectedConfig.networks.dashboard.network_id || "*", + provider: function () { + return new Web3.providers.HttpProvider(configuredDashboardNetworkUrl, { + keepAlive: false + }); + } + }; + } +} + +function setNetworkConfigurationForOthers() { + const configNetworkWithProvider = + detectedConfig.networks[network] && + detectedConfig.networks[network].provider; + + if (configNetworkWithProvider) { + // Use "provider" specified in the network config + configuredNetwork = { + ...detectedConfig.networks[network], + network_id: "*", + provider: detectedConfig.networks[network].provider + }; + } else if (url) { + // Use "url" to configure network (implies not "develop") + configuredNetwork = { + network_id: "*", + url, + provider: function () { + return new Web3.providers.HttpProvider(url, { + keepAlive: false + }); + } + }; + } else { + // Otherwise derive network settings + const customConfig = detectedConfig.networks[network] || {}; + const configuredNetworkUrl = getConfiguredNetworkUrl(customConfig); + + configuredNetwork = { + ...customConfig, + host: customConfig.host || managedDefaultHost, + port: customConfig.port || managedGanacheDefaultPort, + network_id: customConfig.network_id || managedGanacheDefaultNetworkId, + provider: function () { + return new Web3.providers.HttpProvider(configuredNetworkUrl, { + keepAlive: false + }); + } + }; + } } detectedConfig.networks[network] = { From 89f54c47054b658ab4ff2b06c33a89a05756af00 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Tue, 26 Jul 2022 14:40:17 -0600 Subject: [PATCH 03/24] Refactor the logic for simplification --- packages/core/lib/console-child.js | 140 ++++++++++++----------------- 1 file changed, 55 insertions(+), 85 deletions(-) diff --git a/packages/core/lib/console-child.js b/packages/core/lib/console-child.js index 502cc3ec12b..0f83ba27720 100644 --- a/packages/core/lib/console-child.js +++ b/packages/core/lib/console-child.js @@ -7,7 +7,7 @@ const yargs = require("yargs"); const input = process.argv[2].split(" -- "); const inputStrings = input[1].split(" "); -const managedDefaultHost = "127.0.0.1"; +const defaultHost = "127.0.0.1"; const managedGanacheDefaultPort = 9545; const managedGanacheDefaultNetworkId = 5777; const managedDashboardDefaultPort = 24012; @@ -24,97 +24,67 @@ global.crypto = { const { network, config, url } = yargs(input[0]).argv; const detectedConfig = Config.detect({ network, config }); -function getConfiguredNetworkUrl(customConfig) { +function getConfiguredNetworkUrl(customConfig, isDashboardNetwork) { + const defaultPort = isDashboardNetwork + ? managedDashboardDefaultPort + : managedGanacheDefaultPort; const configuredNetworkOptions = { - host: customConfig.host || managedDefaultHost, - port: customConfig.port || managedGanacheDefaultPort + host: customConfig.host || defaultHost, + port: customConfig.port || defaultPort }; - return `http://${configuredNetworkOptions.host}:${configuredNetworkOptions.port}`; -} - -function getDashboardUrl(customDashboardConfig) { - const configuredDashboardOptions = { - host: customDashboardConfig.host || managedDefaultHost, - port: customDashboardConfig.port || managedDashboardDefaultPort - }; - return `http://${configuredDashboardOptions.host}:${configuredDashboardOptions.port}/rpc`; + const urlSuffix = isDashboardNetwork ? "/rpc" : ""; + return `http://${configuredNetworkOptions.host}:${configuredNetworkOptions.port}${urlSuffix}`; } let configuredNetwork; -network === "dashboard" - ? setNetworkConfigurationForDashboard() - : setNetworkConfigurationForOthers(); - -function setNetworkConfigurationForDashboard() { - if (detectedConfig.networks.dashboard.provider) { - // Use "provider" specified in the dashboard network config - configuredNetwork = { - ...detectedConfig.networks.dashboard, - network_id: "*", - provider: detectedConfig.networks.dashboard.provider - }; - } else { - // Otherwise derive dashboard network settings - const configuredDashboardNetworkUrl = getDashboardUrl( - detectedConfig.networks.dashboard - ); - - configuredNetwork = { - ...detectedConfig.networks.dashboard, - host: detectedConfig.networks.dashboard.host || managedDefaultHost, - port: - detectedConfig.networks.dashboard.port || managedDashboardDefaultPort, - network_id: detectedConfig.networks.dashboard.network_id || "*", - provider: function () { - return new Web3.providers.HttpProvider(configuredDashboardNetworkUrl, { - keepAlive: false - }); - } - }; - } -} - -function setNetworkConfigurationForOthers() { - const configNetworkWithProvider = - detectedConfig.networks[network] && - detectedConfig.networks[network].provider; +const configNetworkWithProvider = + detectedConfig.networks[network] && detectedConfig.networks[network].provider; - if (configNetworkWithProvider) { - // Use "provider" specified in the network config - configuredNetwork = { - ...detectedConfig.networks[network], - network_id: "*", - provider: detectedConfig.networks[network].provider - }; - } else if (url) { - // Use "url" to configure network (implies not "develop") - configuredNetwork = { - network_id: "*", - url, - provider: function () { - return new Web3.providers.HttpProvider(url, { - keepAlive: false - }); - } - }; - } else { - // Otherwise derive network settings - const customConfig = detectedConfig.networks[network] || {}; - const configuredNetworkUrl = getConfiguredNetworkUrl(customConfig); - - configuredNetwork = { - ...customConfig, - host: customConfig.host || managedDefaultHost, - port: customConfig.port || managedGanacheDefaultPort, - network_id: customConfig.network_id || managedGanacheDefaultNetworkId, - provider: function () { - return new Web3.providers.HttpProvider(configuredNetworkUrl, { - keepAlive: false - }); - } - }; - } +if (configNetworkWithProvider) { + // Use "provider" specified in the network config + configuredNetwork = { + ...detectedConfig.networks[network], + network_id: "*", + provider: detectedConfig.networks[network].provider + }; +} else if (url) { + // Use "url" to configure network (implies not "develop") + configuredNetwork = { + network_id: "*", + url, + provider: function () { + return new Web3.providers.HttpProvider(url, { + keepAlive: false + }); + } + }; +} else { + // Otherwise derive network settings + const customConfig = detectedConfig.networks[network] || {}; + const isDashboardNetwork = network === "dashboard" ? true : false; + const configuredNetworkUrl = getConfiguredNetworkUrl( + customConfig, + isDashboardNetwork + ); + const defaultPort = isDashboardNetwork + ? managedDashboardDefaultPort + : managedGanacheDefaultPort; + const defaultNetworkId = isDashboardNetwork + ? "*" + : managedGanacheDefaultNetworkId; + + configuredNetwork = { + ...customConfig, + host: customConfig.host || defaultHost, + port: customConfig.port || defaultPort, + network_id: customConfig.network_id || defaultNetworkId, + provider: function () { + return new Web3.providers.HttpProvider(configuredNetworkUrl, { + keepAlive: false + }); + } + }; } detectedConfig.networks[network] = { From 2767c2da10ac3bcc88806bf93aadf61ed28b8e87 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Tue, 26 Jul 2022 18:56:38 -0600 Subject: [PATCH 04/24] Change few comments and remove ternary operator --- packages/core/lib/console-child.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/core/lib/console-child.js b/packages/core/lib/console-child.js index 0f83ba27720..17f0ac7fa3e 100644 --- a/packages/core/lib/console-child.js +++ b/packages/core/lib/console-child.js @@ -38,11 +38,12 @@ function getConfiguredNetworkUrl(customConfig, isDashboardNetwork) { let configuredNetwork; -const configNetworkWithProvider = +const configDefinesProvider = detectedConfig.networks[network] && detectedConfig.networks[network].provider; -if (configNetworkWithProvider) { - // Use "provider" specified in the network config +if (configDefinesProvider) { + // Use "provider" specified in the config to connect to the network + // along with the other specified network properties configuredNetwork = { ...detectedConfig.networks[network], network_id: "*", @@ -62,7 +63,7 @@ if (configNetworkWithProvider) { } else { // Otherwise derive network settings const customConfig = detectedConfig.networks[network] || {}; - const isDashboardNetwork = network === "dashboard" ? true : false; + const isDashboardNetwork = network === "dashboard"; const configuredNetworkUrl = getConfiguredNetworkUrl( customConfig, isDashboardNetwork @@ -75,6 +76,7 @@ if (configNetworkWithProvider) { : managedGanacheDefaultNetworkId; configuredNetwork = { + // customConfig will spread only when it is defined and ignored when undefined ...customConfig, host: customConfig.host || defaultHost, port: customConfig.port || defaultPort, From 382c3ae9d4cf06d4e9d1542058c3b355e40fb4ee Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Wed, 27 Jul 2022 20:33:44 -0600 Subject: [PATCH 05/24] Move helper functions to command-utils.js --- packages/core/lib/command-utils.js | 91 ++++++++++++++++++++- packages/core/lib/console-child.js | 126 +++++++---------------------- 2 files changed, 118 insertions(+), 99 deletions(-) diff --git a/packages/core/lib/command-utils.js b/packages/core/lib/command-utils.js index 9f33aebbd65..8de686d6736 100644 --- a/packages/core/lib/command-utils.js +++ b/packages/core/lib/command-utils.js @@ -6,6 +6,14 @@ const globalCommandOptions = require("./global-command-options"); const debugModule = require("debug"); const debug = debugModule("core:command:run"); const commands = require("./commands/commands"); +const Config = require("@truffle/config"); +const Web3 = require("web3"); +const yargs = require("yargs"); + +const defaultHost = "127.0.0.1"; +const managedGanacheDefaultPort = 9545; +const managedGanacheDefaultNetworkId = 5777; +const managedDashboardDefaultPort = 24012; // this function takes an object with an array of input strings, an options // object, and a boolean determining whether we allow inexact matches for @@ -206,9 +214,90 @@ const displayGeneralHelp = () => { .showHelp(); }; +const getConfiguredNetworkUrl = function (customConfig, isDashboardNetwork) { + const defaultPort = isDashboardNetwork + ? managedDashboardDefaultPort + : managedGanacheDefaultPort; + const configuredNetworkOptions = { + host: customConfig.host || defaultHost, + port: customConfig.port || defaultPort + }; + const urlSuffix = isDashboardNetwork ? "/rpc" : ""; + return `http://${configuredNetworkOptions.host}:${configuredNetworkOptions.port}${urlSuffix}`; +}; + +const deriveNetworkEnvironment = function (input) { + //detect config so we can get the provider and resolver without having to serialize + //and deserialize them + const { network, config, url } = yargs(input[0]).argv; + const detectedConfig = Config.detect({ network, config }); + + let configuredNetwork; + + const configDefinesProvider = + detectedConfig.networks[network] && + detectedConfig.networks[network].provider; + + if (configDefinesProvider) { + // Use "provider" specified in the config to connect to the network + // along with the other specified network properties + configuredNetwork = { + ...detectedConfig.networks[network], + network_id: "*", + provider: detectedConfig.networks[network].provider + }; + } else if (url) { + // Use "url" to configure network (implies not "develop" and not "dashboard") + configuredNetwork = { + network_id: "*", + url, + provider: function () { + return new Web3.providers.HttpProvider(url, { + keepAlive: false + }); + } + }; + } else { + // Otherwise derive network settings + const customConfig = detectedConfig.networks[network] || {}; + const isDashboardNetwork = network === "dashboard"; + const configuredNetworkUrl = getConfiguredNetworkUrl( + customConfig, + isDashboardNetwork + ); + const defaultPort = isDashboardNetwork + ? managedDashboardDefaultPort + : managedGanacheDefaultPort; + const defaultNetworkId = isDashboardNetwork + ? "*" + : managedGanacheDefaultNetworkId; + + configuredNetwork = { + // customConfig will spread only when it is defined and ignored when undefined + ...customConfig, + host: customConfig.host || defaultHost, + port: customConfig.port || defaultPort, + network_id: customConfig.network_id || defaultNetworkId, + provider: function () { + return new Web3.providers.HttpProvider(configuredNetworkUrl, { + keepAlive: false + }); + } + }; + } + + detectedConfig.networks[network] = { + ...configuredNetwork + }; + + return detectedConfig; +}; + module.exports = { displayGeneralHelp, getCommand, prepareOptions, - runCommand + runCommand, + getConfiguredNetworkUrl, + deriveNetworkEnvironment }; diff --git a/packages/core/lib/console-child.js b/packages/core/lib/console-child.js index 17f0ac7fa3e..350d0621ffe 100644 --- a/packages/core/lib/console-child.js +++ b/packages/core/lib/console-child.js @@ -1,17 +1,9 @@ const TruffleError = require("@truffle/error"); -const Config = require("@truffle/config"); -const Web3 = require("web3"); -const yargs = require("yargs"); // we split off the part Truffle cares about and need to convert to an array const input = process.argv[2].split(" -- "); const inputStrings = input[1].split(" "); -const defaultHost = "127.0.0.1"; -const managedGanacheDefaultPort = 9545; -const managedGanacheDefaultNetworkId = 5777; -const managedDashboardDefaultPort = 24012; - // we need to make sure this function exists so ensjs doesn't complain as it requires // getRandomValues for some functionalities - webpack strips out the crypto lib // so we shim it here @@ -19,97 +11,35 @@ global.crypto = { getRandomValues: require("get-random-values") }; -//detect config so we can get the provider and resolver without having to serialize -//and deserialize them -const { network, config, url } = yargs(input[0]).argv; -const detectedConfig = Config.detect({ network, config }); - -function getConfiguredNetworkUrl(customConfig, isDashboardNetwork) { - const defaultPort = isDashboardNetwork - ? managedDashboardDefaultPort - : managedGanacheDefaultPort; - const configuredNetworkOptions = { - host: customConfig.host || defaultHost, - port: customConfig.port || defaultPort - }; - const urlSuffix = isDashboardNetwork ? "/rpc" : ""; - return `http://${configuredNetworkOptions.host}:${configuredNetworkOptions.port}${urlSuffix}`; -} - -let configuredNetwork; - -const configDefinesProvider = - detectedConfig.networks[network] && detectedConfig.networks[network].provider; - -if (configDefinesProvider) { - // Use "provider" specified in the config to connect to the network - // along with the other specified network properties - configuredNetwork = { - ...detectedConfig.networks[network], - network_id: "*", - provider: detectedConfig.networks[network].provider - }; -} else if (url) { - // Use "url" to configure network (implies not "develop") - configuredNetwork = { - network_id: "*", - url, - provider: function () { - return new Web3.providers.HttpProvider(url, { - keepAlive: false - }); - } - }; -} else { - // Otherwise derive network settings - const customConfig = detectedConfig.networks[network] || {}; - const isDashboardNetwork = network === "dashboard"; - const configuredNetworkUrl = getConfiguredNetworkUrl( - customConfig, - isDashboardNetwork - ); - const defaultPort = isDashboardNetwork - ? managedDashboardDefaultPort - : managedGanacheDefaultPort; - const defaultNetworkId = isDashboardNetwork - ? "*" - : managedGanacheDefaultNetworkId; +function main() { + const { + getCommand, + prepareOptions, + runCommand, + deriveNetworkEnvironment + } = require("./command-utils"); + const configuredNetwork = deriveNetworkEnvironment(input); + const command = getCommand({ inputStrings, options: {}, noAliases: false }); + const options = prepareOptions({ + command, + inputStrings, + options: configuredNetwork + }); - configuredNetwork = { - // customConfig will spread only when it is defined and ignored when undefined - ...customConfig, - host: customConfig.host || defaultHost, - port: customConfig.port || defaultPort, - network_id: customConfig.network_id || defaultNetworkId, - provider: function () { - return new Web3.providers.HttpProvider(configuredNetworkUrl, { - keepAlive: false - }); - } - }; + runCommand(command, options) + .then(() => process.exit(0)) + .catch(error => { + // Perform error handling ourselves. + if (error instanceof TruffleError) { + console.log(error.message); + } else { + // Bubble up all other unexpected errors. + console.log(error.stack || error.toString()); + } + process.exit(1); + }); } -detectedConfig.networks[network] = { - ...configuredNetwork -}; +main(); -const { getCommand, prepareOptions, runCommand } = require("./command-utils"); -const command = getCommand({ inputStrings, options: {}, noAliases: false }); -const options = prepareOptions({ - command, - inputStrings, - options: detectedConfig -}); - -runCommand(command, options) - .then(() => process.exit(0)) - .catch(error => { - // Perform error handling ourselves. - if (error instanceof TruffleError) { - console.log(error.message); - } else { - // Bubble up all other unexpected errors. - console.log(error.stack || error.toString()); - } - process.exit(1); - }); +module.exports = { main }; From 541936201992bbd7ff28f5045d004c360a329944 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Thu, 28 Jul 2022 21:47:00 -0600 Subject: [PATCH 06/24] Add unit tests --- packages/core/lib/command-utils.js | 11 +-- packages/core/lib/console-child.js | 15 ++-- packages/core/test/lib/console-child.js | 68 +++++++++++++++++++ .../sources/console-child/truffle-config.js | 22 ++++++ 4 files changed, 102 insertions(+), 14 deletions(-) create mode 100644 packages/core/test/lib/console-child.js create mode 100644 packages/core/test/sources/console-child/truffle-config.js diff --git a/packages/core/lib/command-utils.js b/packages/core/lib/command-utils.js index 8de686d6736..c90c8f3195f 100644 --- a/packages/core/lib/command-utils.js +++ b/packages/core/lib/command-utils.js @@ -6,9 +6,7 @@ const globalCommandOptions = require("./global-command-options"); const debugModule = require("debug"); const debug = debugModule("core:command:run"); const commands = require("./commands/commands"); -const Config = require("@truffle/config"); const Web3 = require("web3"); -const yargs = require("yargs"); const defaultHost = "127.0.0.1"; const managedGanacheDefaultPort = 9545; @@ -226,12 +224,7 @@ const getConfiguredNetworkUrl = function (customConfig, isDashboardNetwork) { return `http://${configuredNetworkOptions.host}:${configuredNetworkOptions.port}${urlSuffix}`; }; -const deriveNetworkEnvironment = function (input) { - //detect config so we can get the provider and resolver without having to serialize - //and deserialize them - const { network, config, url } = yargs(input[0]).argv; - const detectedConfig = Config.detect({ network, config }); - +const deriveConfigEnvironment = function (detectedConfig, network, url) { let configuredNetwork; const configDefinesProvider = @@ -299,5 +292,5 @@ module.exports = { prepareOptions, runCommand, getConfiguredNetworkUrl, - deriveNetworkEnvironment + deriveConfigEnvironment }; diff --git a/packages/core/lib/console-child.js b/packages/core/lib/console-child.js index 350d0621ffe..1dbb100ea11 100644 --- a/packages/core/lib/console-child.js +++ b/packages/core/lib/console-child.js @@ -1,4 +1,6 @@ const TruffleError = require("@truffle/error"); +const Config = require("@truffle/config"); +const yargs = require("yargs"); // we split off the part Truffle cares about and need to convert to an array const input = process.argv[2].split(" -- "); @@ -11,19 +13,24 @@ global.crypto = { getRandomValues: require("get-random-values") }; +//detect config so we can get the provider and resolver without having to serialize +//and deserialize them +const { network, config, url } = yargs(input[0]).argv; +const detectedConfig = Config.detect({ network, config }); + function main() { const { getCommand, prepareOptions, runCommand, - deriveNetworkEnvironment + deriveConfigEnvironment } = require("./command-utils"); - const configuredNetwork = deriveNetworkEnvironment(input); + const derivedConfig = deriveConfigEnvironment(detectedConfig, network, url); const command = getCommand({ inputStrings, options: {}, noAliases: false }); const options = prepareOptions({ command, inputStrings, - options: configuredNetwork + options: derivedConfig }); runCommand(command, options) @@ -41,5 +48,3 @@ function main() { } main(); - -module.exports = { main }; diff --git a/packages/core/test/lib/console-child.js b/packages/core/test/lib/console-child.js new file mode 100644 index 00000000000..c6b2c859c55 --- /dev/null +++ b/packages/core/test/lib/console-child.js @@ -0,0 +1,68 @@ +const assert = require("chai").assert; +const fs = require("fs-extra"); +const path = require("path"); +const tmp = require("tmp"); +const TruffleConfig = require("@truffle/config"); +const { deriveConfigEnvironment } = require("../../lib/command-utils"); + +let config; + +function createSandbox(source) { + if (!fs.existsSync(source)) { + throw new Error(`Sandbox failed: source: ${source} does not exist`); + } + + const tempDir = tmp.dirSync({ unsafeCleanup: true }); + fs.copySync(source, tempDir.name); + const config = TruffleConfig.load( + path.join(tempDir.name, "truffle-config.js"), + {} + ); + return config; +} + +describe("console-child", function () { + before("Create a sandbox", function () { + config = createSandbox( + path.join(__dirname, "..", "sources", "console-child") + ); + }); + + describe("deriveConfigEnvironment", function () { + it("network has provider", function () { + config.network = "crazyTimeNetwork"; + const cfg = deriveConfigEnvironment(config, config.network, ""); + const expectedNetworkConfig = config.networks.crazyTimeNetwork; + assert.equal(cfg.network, config.network); + assert.equal(cfg.networks.crazyTimeNetwork, expectedNetworkConfig); + }); + + it("url is specified instead of network", function () { + config.network = "localhost:5555"; + const cfg = deriveConfigEnvironment( + config, + config.network, + "http://localhost:5555" + ); + const expectedNetworkConfig = config.networks[config.network]; + assert.equal(cfg.network, config.network); + assert.equal(cfg.networks["localhost:5555"], expectedNetworkConfig); + }); + + it("network has host and port", function () { + config.network = "funTimeNetwork"; + const cfg = deriveConfigEnvironment(config, config.network, ""); + const expectedNetworkConfig = config.networks.funTimeNetwork; + assert.equal(cfg.network, config.network); + assert.equal(cfg.networks.funTimeNetwork, expectedNetworkConfig); + }); + + it("network is dashboard", function () { + config.network = "dashboard"; + const cfg = deriveConfigEnvironment(config, config.network, ""); + const expectedNetworkConfig = config.networks.dashboard; + assert.equal(cfg.network, config.network); + assert.equal(cfg.networks.dashboard, expectedNetworkConfig); + }); + }); +}); diff --git a/packages/core/test/sources/console-child/truffle-config.js b/packages/core/test/sources/console-child/truffle-config.js new file mode 100644 index 00000000000..64e01321382 --- /dev/null +++ b/packages/core/test/sources/console-child/truffle-config.js @@ -0,0 +1,22 @@ +module.exports = { + networks: { + funTimeNetwork: { + host: "127.0.0.1", + port: 5555, + network_id: "*", + gas: 5500000, + confirmations: 2 + }, + crazyTimeNetwork: { + network_id: "*", + gas: 5500000, + confirmations: 2, + provider: () => "http://localhost:5555" + }, + dashboard: { + network_id: "*", + gas: 5500000, + confirmations: 2 + } + } +}; From 39f6693289ff4f8c791c354bb6b0807b5e313311 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Tue, 2 Aug 2022 12:41:31 -0600 Subject: [PATCH 07/24] Remove host and port settings --- packages/core/lib/command-utils.js | 11 +++-------- .../core/test/sources/console-child/truffle-config.js | 3 --- 2 files changed, 3 insertions(+), 11 deletions(-) diff --git a/packages/core/lib/command-utils.js b/packages/core/lib/command-utils.js index c90c8f3195f..2747a0686fe 100644 --- a/packages/core/lib/command-utils.js +++ b/packages/core/lib/command-utils.js @@ -258,24 +258,19 @@ const deriveConfigEnvironment = function (detectedConfig, network, url) { customConfig, isDashboardNetwork ); - const defaultPort = isDashboardNetwork - ? managedDashboardDefaultPort - : managedGanacheDefaultPort; const defaultNetworkId = isDashboardNetwork ? "*" : managedGanacheDefaultNetworkId; configuredNetwork = { - // customConfig will spread only when it is defined and ignored when undefined - ...customConfig, - host: customConfig.host || defaultHost, - port: customConfig.port || defaultPort, network_id: customConfig.network_id || defaultNetworkId, provider: function () { return new Web3.providers.HttpProvider(configuredNetworkUrl, { keepAlive: false }); - } + }, + // customConfig will spread only when it is defined and ignored when undefined + ...customConfig }; } diff --git a/packages/core/test/sources/console-child/truffle-config.js b/packages/core/test/sources/console-child/truffle-config.js index 64e01321382..ed4334ee817 100644 --- a/packages/core/test/sources/console-child/truffle-config.js +++ b/packages/core/test/sources/console-child/truffle-config.js @@ -4,18 +4,15 @@ module.exports = { host: "127.0.0.1", port: 5555, network_id: "*", - gas: 5500000, confirmations: 2 }, crazyTimeNetwork: { network_id: "*", - gas: 5500000, confirmations: 2, provider: () => "http://localhost:5555" }, dashboard: { network_id: "*", - gas: 5500000, confirmations: 2 } } From 98461bc6bba6f5a30ca5d43c5c180c8efb325e23 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Tue, 2 Aug 2022 18:43:04 -0600 Subject: [PATCH 08/24] Fix the unit tests --- packages/core/lib/command-utils.js | 6 ++-- packages/core/test/lib/console-child.js | 32 +++++++++++++++---- .../sources/console-child/truffle-config.js | 4 +-- 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/packages/core/lib/command-utils.js b/packages/core/lib/command-utils.js index 2747a0686fe..065739e14f7 100644 --- a/packages/core/lib/command-utils.js +++ b/packages/core/lib/command-utils.js @@ -233,11 +233,11 @@ const deriveConfigEnvironment = function (detectedConfig, network, url) { if (configDefinesProvider) { // Use "provider" specified in the config to connect to the network - // along with the other specified network properties + // along with the other network properties configuredNetwork = { - ...detectedConfig.networks[network], network_id: "*", - provider: detectedConfig.networks[network].provider + provider: detectedConfig.networks[network].provider, + ...detectedConfig.networks[network] }; } else if (url) { // Use "url" to configure network (implies not "develop" and not "dashboard") diff --git a/packages/core/test/lib/console-child.js b/packages/core/test/lib/console-child.js index c6b2c859c55..1dcef304689 100644 --- a/packages/core/test/lib/console-child.js +++ b/packages/core/test/lib/console-child.js @@ -31,10 +31,13 @@ describe("console-child", function () { describe("deriveConfigEnvironment", function () { it("network has provider", function () { config.network = "crazyTimeNetwork"; + const expectedNetworkConfig = config.networks[config.network]; const cfg = deriveConfigEnvironment(config, config.network, ""); - const expectedNetworkConfig = config.networks.crazyTimeNetwork; assert.equal(cfg.network, config.network); - assert.equal(cfg.networks.crazyTimeNetwork, expectedNetworkConfig); + assert.equal( + cfg.networks[config.network].confirmations, + expectedNetworkConfig.confirmations + ); }); it("url is specified instead of network", function () { @@ -46,23 +49,38 @@ describe("console-child", function () { ); const expectedNetworkConfig = config.networks[config.network]; assert.equal(cfg.network, config.network); - assert.equal(cfg.networks["localhost:5555"], expectedNetworkConfig); + assert.equal(cfg.networks[config.network], expectedNetworkConfig); }); it("network has host and port", function () { config.network = "funTimeNetwork"; + const expectedNetworkConfig = config.networks[config.network]; const cfg = deriveConfigEnvironment(config, config.network, ""); - const expectedNetworkConfig = config.networks.funTimeNetwork; assert.equal(cfg.network, config.network); - assert.equal(cfg.networks.funTimeNetwork, expectedNetworkConfig); + assert.equal( + cfg.networks[config.network].host, + expectedNetworkConfig.host + ); + assert.equal( + cfg.networks[config.network].port, + expectedNetworkConfig.port + ); + assert.equal( + cfg.networks[config.network].confirmations, + expectedNetworkConfig.confirmations + ); }); it("network is dashboard", function () { config.network = "dashboard"; + const expectedNetworkConfig = config.networks[config.network]; const cfg = deriveConfigEnvironment(config, config.network, ""); - const expectedNetworkConfig = config.networks.dashboard; assert.equal(cfg.network, config.network); - assert.equal(cfg.networks.dashboard, expectedNetworkConfig); + assert.equal(cfg.networks[config.network].url, expectedNetworkConfig.url); + assert.equal( + cfg.networks[config.network].confirmations, + expectedNetworkConfig.confirmations + ); }); }); }); diff --git a/packages/core/test/sources/console-child/truffle-config.js b/packages/core/test/sources/console-child/truffle-config.js index ed4334ee817..2d910ee55ea 100644 --- a/packages/core/test/sources/console-child/truffle-config.js +++ b/packages/core/test/sources/console-child/truffle-config.js @@ -8,8 +8,8 @@ module.exports = { }, crazyTimeNetwork: { network_id: "*", - confirmations: 2, - provider: () => "http://localhost:5555" + provider: () => "http://localhost:5555", + confirmations: 2 }, dashboard: { network_id: "*", From 0e24251f3e0fc1b4012c9183f70585059266f632 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Tue, 2 Aug 2022 22:17:45 -0600 Subject: [PATCH 09/24] Clean up some more logic --- packages/core/lib/command-utils.js | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/core/lib/command-utils.js b/packages/core/lib/command-utils.js index 065739e14f7..53924626b51 100644 --- a/packages/core/lib/command-utils.js +++ b/packages/core/lib/command-utils.js @@ -236,7 +236,6 @@ const deriveConfigEnvironment = function (detectedConfig, network, url) { // along with the other network properties configuredNetwork = { network_id: "*", - provider: detectedConfig.networks[network].provider, ...detectedConfig.networks[network] }; } else if (url) { From dae30250cefc0e81c0cf218982a913f878778b4a Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Wed, 3 Aug 2022 15:24:53 -0600 Subject: [PATCH 10/24] Add more properties in the network objects --- .../sources/command-utils/truffle-config.js | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 packages/core/test/sources/command-utils/truffle-config.js diff --git a/packages/core/test/sources/command-utils/truffle-config.js b/packages/core/test/sources/command-utils/truffle-config.js new file mode 100644 index 00000000000..25ad97d3a9e --- /dev/null +++ b/packages/core/test/sources/command-utils/truffle-config.js @@ -0,0 +1,22 @@ +module.exports = { + networks: { + funTimeNetwork: { + host: "127.0.0.1", + port: 5555, + network_id: "*", + confirmations: 2, + customUserProperty: "Fun time" + }, + crazyTimeNetwork: { + network_id: "*", + provider: () => "http://localhost:5555", + confirmations: 2, + customUserProperty: "Crazy time" + }, + dashboard: { + network_id: "*", + confirmations: 2, + customUserProperty: "Dashboard time" + } + } +}; From f688f6dd2f621b0b53c9e29eac31def3de31c873 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Wed, 3 Aug 2022 15:25:40 -0600 Subject: [PATCH 11/24] Change the file name to command-utils.js --- packages/core/test/lib/command-utils.js | 93 +++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 packages/core/test/lib/command-utils.js diff --git a/packages/core/test/lib/command-utils.js b/packages/core/test/lib/command-utils.js new file mode 100644 index 00000000000..30c79ed09a5 --- /dev/null +++ b/packages/core/test/lib/command-utils.js @@ -0,0 +1,93 @@ +const assert = require("chai").assert; +const fs = require("fs-extra"); +const path = require("path"); +const tmp = require("tmp"); +const TruffleConfig = require("@truffle/config"); +const { deriveConfigEnvironment } = require("../../lib/command-utils"); + +let config; + +function createSandbox(source) { + if (!fs.existsSync(source)) { + throw new Error(`Sandbox failed: source: ${source} does not exist`); + } + + const tempDir = tmp.dirSync({ unsafeCleanup: true }); + fs.copySync(source, tempDir.name); + const config = TruffleConfig.load( + path.join(tempDir.name, "truffle-config.js"), + {} + ); + return config; +} + +describe("command-utils", function () { + before(function () { + config = createSandbox( + path.join(__dirname, "..", "sources", "command-utils") + ); + }); + + describe("deriveConfigEnvironment", function () { + it("returns a config with specified network object having a provider property", function () { + const expectedNetworkConfig = config.networks.crazyTimeNetwork; + const cfg = deriveConfigEnvironment( + config, + "crazyTimeNetwork", + undefined + ); + assert.equal( + cfg.networks.crazyTimeNetwork.confirmations, + expectedNetworkConfig.confirmations + ); + assert.equal( + cfg.networks.crazyTimeNetwork.customUserProperty, + expectedNetworkConfig.customUserProperty + ); + }); + + it("returns a config with a url host network object having the url property ", function () { + const cfg = deriveConfigEnvironment( + config, + "anyTimeNetwork", + "http://localhost:5555" + ); + assert.equal(cfg.networks["anyTimeNetwork"].url, "http://localhost:5555"); + }); + + it("returns a config with a network object having user specified properties", function () { + const expectedNetworkConfig = config.networks.funTimeNetwork; + const cfg = deriveConfigEnvironment(config, "funTimeNetwork", undefined); + assert.equal( + cfg.networks.funTimeNetwork.host, + expectedNetworkConfig.host + ); + assert.equal( + cfg.networks.funTimeNetwork.port, + expectedNetworkConfig.port + ); + assert.equal( + cfg.networks.funTimeNetwork.confirmations, + expectedNetworkConfig.confirmations + ); + assert.equal( + cfg.networks.funTimeNetwork.customUserProperty, + expectedNetworkConfig.customUserProperty + ); + }); + + it("returns a config with a dashboard network object having user specified properties", function () { + const expectedNetworkConfig = config.networks.dashboard; + const cfg = deriveConfigEnvironment(config, "dashboard", undefined); + assert.equal(cfg.networks.dashboard.url, expectedNetworkConfig.url); + assert.equal( + cfg.networks.dashboard.confirmations, + expectedNetworkConfig.confirmations + ); + assert.equal( + cfg.networks.dashboard.customUserProperty, + expectedNetworkConfig.customUserProperty + ); + }); + }); +}); From 6572daa0f34047f3ab93de5adb6700d58e0b8522 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Wed, 3 Aug 2022 15:26:53 -0600 Subject: [PATCH 12/24] Add a helper function for better readability --- packages/core/lib/console-child.js | 23 +++-- packages/core/test/lib/console-child.js | 86 ------------------- .../sources/console-child/truffle-config.js | 19 ---- 3 files changed, 11 insertions(+), 117 deletions(-) delete mode 100644 packages/core/test/lib/console-child.js delete mode 100644 packages/core/test/sources/console-child/truffle-config.js diff --git a/packages/core/lib/console-child.js b/packages/core/lib/console-child.js index 1dbb100ea11..c25f47f61dc 100644 --- a/packages/core/lib/console-child.js +++ b/packages/core/lib/console-child.js @@ -1,6 +1,7 @@ const TruffleError = require("@truffle/error"); const Config = require("@truffle/config"); const yargs = require("yargs"); +const { deriveConfigEnvironment } = require("./command-utils"); // we split off the part Truffle cares about and need to convert to an array const input = process.argv[2].split(" -- "); @@ -13,24 +14,22 @@ global.crypto = { getRandomValues: require("get-random-values") }; -//detect config so we can get the provider and resolver without having to serialize -//and deserialize them -const { network, config, url } = yargs(input[0]).argv; -const detectedConfig = Config.detect({ network, config }); +function inheritConfig() { + //detect config so we can get the provider and resolver without having to serialize + //and deserialize them + const { network, config, url } = yargs(input[0]).argv; + const detectedConfig = Config.detect({ network, config }); + return deriveConfigEnvironment(detectedConfig, network, url); +} function main() { - const { - getCommand, - prepareOptions, - runCommand, - deriveConfigEnvironment - } = require("./command-utils"); - const derivedConfig = deriveConfigEnvironment(detectedConfig, network, url); + const { getCommand, prepareOptions, runCommand } = require("./command-utils"); + const config = inheritConfig(); const command = getCommand({ inputStrings, options: {}, noAliases: false }); const options = prepareOptions({ command, inputStrings, - options: derivedConfig + options: config }); runCommand(command, options) diff --git a/packages/core/test/lib/console-child.js b/packages/core/test/lib/console-child.js deleted file mode 100644 index 1dcef304689..00000000000 --- a/packages/core/test/lib/console-child.js +++ /dev/null @@ -1,86 +0,0 @@ -const assert = require("chai").assert; -const fs = require("fs-extra"); -const path = require("path"); -const tmp = require("tmp"); -const TruffleConfig = require("@truffle/config"); -const { deriveConfigEnvironment } = require("../../lib/command-utils"); - -let config; - -function createSandbox(source) { - if (!fs.existsSync(source)) { - throw new Error(`Sandbox failed: source: ${source} does not exist`); - } - - const tempDir = tmp.dirSync({ unsafeCleanup: true }); - fs.copySync(source, tempDir.name); - const config = TruffleConfig.load( - path.join(tempDir.name, "truffle-config.js"), - {} - ); - return config; -} - -describe("console-child", function () { - before("Create a sandbox", function () { - config = createSandbox( - path.join(__dirname, "..", "sources", "console-child") - ); - }); - - describe("deriveConfigEnvironment", function () { - it("network has provider", function () { - config.network = "crazyTimeNetwork"; - const expectedNetworkConfig = config.networks[config.network]; - const cfg = deriveConfigEnvironment(config, config.network, ""); - assert.equal(cfg.network, config.network); - assert.equal( - cfg.networks[config.network].confirmations, - expectedNetworkConfig.confirmations - ); - }); - - it("url is specified instead of network", function () { - config.network = "localhost:5555"; - const cfg = deriveConfigEnvironment( - config, - config.network, - "http://localhost:5555" - ); - const expectedNetworkConfig = config.networks[config.network]; - assert.equal(cfg.network, config.network); - assert.equal(cfg.networks[config.network], expectedNetworkConfig); - }); - - it("network has host and port", function () { - config.network = "funTimeNetwork"; - const expectedNetworkConfig = config.networks[config.network]; - const cfg = deriveConfigEnvironment(config, config.network, ""); - assert.equal(cfg.network, config.network); - assert.equal( - cfg.networks[config.network].host, - expectedNetworkConfig.host - ); - assert.equal( - cfg.networks[config.network].port, - expectedNetworkConfig.port - ); - assert.equal( - cfg.networks[config.network].confirmations, - expectedNetworkConfig.confirmations - ); - }); - - it("network is dashboard", function () { - config.network = "dashboard"; - const expectedNetworkConfig = config.networks[config.network]; - const cfg = deriveConfigEnvironment(config, config.network, ""); - assert.equal(cfg.network, config.network); - assert.equal(cfg.networks[config.network].url, expectedNetworkConfig.url); - assert.equal( - cfg.networks[config.network].confirmations, - expectedNetworkConfig.confirmations - ); - }); - }); -}); diff --git a/packages/core/test/sources/console-child/truffle-config.js b/packages/core/test/sources/console-child/truffle-config.js deleted file mode 100644 index 2d910ee55ea..00000000000 --- a/packages/core/test/sources/console-child/truffle-config.js +++ /dev/null @@ -1,19 +0,0 @@ -module.exports = { - networks: { - funTimeNetwork: { - host: "127.0.0.1", - port: 5555, - network_id: "*", - confirmations: 2 - }, - crazyTimeNetwork: { - network_id: "*", - provider: () => "http://localhost:5555", - confirmations: 2 - }, - dashboard: { - network_id: "*", - confirmations: 2 - } - } -}; From 81c8d9b1d270373e48472245ebeaff26e3446c3c Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Wed, 3 Aug 2022 17:45:55 -0600 Subject: [PATCH 13/24] Add unit test for develop network --- packages/core/test/lib/command-utils.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/core/test/lib/command-utils.js b/packages/core/test/lib/command-utils.js index 30c79ed09a5..181e924156d 100644 --- a/packages/core/test/lib/command-utils.js +++ b/packages/core/test/lib/command-utils.js @@ -46,7 +46,7 @@ describe("command-utils", function () { ); }); - it("returns a config with a url host network object having the url property ", function () { + it("returns a config with a network object having the specified url property ", function () { const cfg = deriveConfigEnvironment( config, "anyTimeNetwork", @@ -89,5 +89,10 @@ describe("command-utils", function () { expectedNetworkConfig.customUserProperty ); }); + + it("returns a config with a develop network object having default managed Ganache properties", function () { + const cfg = deriveConfigEnvironment(config, "develop", undefined); + assert.equal(cfg.networks.develop.network_id, 5777); + }); }); }); From 7e5fdfbcd9e9aee1c17beb1f6b70f58cd66848d5 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Wed, 3 Aug 2022 18:56:12 -0600 Subject: [PATCH 14/24] Add jsdoc style comments for the functions --- packages/core/lib/command-utils.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/packages/core/lib/command-utils.js b/packages/core/lib/command-utils.js index 53924626b51..b3f034a97b7 100644 --- a/packages/core/lib/command-utils.js +++ b/packages/core/lib/command-utils.js @@ -212,6 +212,12 @@ const displayGeneralHelp = () => { .showHelp(); }; +/** + * This is a function to configure the url from the user specified network settings in the config. + * @param {TruffleConfig} customConfig - Default config with user specified settings. + * @param {boolean} isDashboardNetwork - Check if the network is dashboard or not. + * @returns a string with the configured url + */ const getConfiguredNetworkUrl = function (customConfig, isDashboardNetwork) { const defaultPort = isDashboardNetwork ? managedDashboardDefaultPort @@ -224,6 +230,13 @@ const getConfiguredNetworkUrl = function (customConfig, isDashboardNetwork) { return `http://${configuredNetworkOptions.host}:${configuredNetworkOptions.port}${urlSuffix}`; }; +/** + * This is a function to derive the config environment from the user specified settings. + * @param {TruffleConfig} detectedConfig - Default config with user specified settings. + * @param {string} network - Network name specified with the `--network` option. + * @param {string} url - URL specified with the `--url` option. + * @returns a TruffleConfig object with the user specified settings in the config + */ const deriveConfigEnvironment = function (detectedConfig, network, url) { let configuredNetwork; From 03797be2f1307479f2a2b3978e1fc734f19f9306 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Wed, 3 Aug 2022 18:57:32 -0600 Subject: [PATCH 15/24] Change function name inheritConfig to deriveConfig --- packages/core/lib/console-child.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/core/lib/console-child.js b/packages/core/lib/console-child.js index c25f47f61dc..866a276dd50 100644 --- a/packages/core/lib/console-child.js +++ b/packages/core/lib/console-child.js @@ -14,7 +14,7 @@ global.crypto = { getRandomValues: require("get-random-values") }; -function inheritConfig() { +function deriveConfig() { //detect config so we can get the provider and resolver without having to serialize //and deserialize them const { network, config, url } = yargs(input[0]).argv; @@ -24,7 +24,7 @@ function inheritConfig() { function main() { const { getCommand, prepareOptions, runCommand } = require("./command-utils"); - const config = inheritConfig(); + const config = deriveConfig(); const command = getCommand({ inputStrings, options: {}, noAliases: false }); const options = prepareOptions({ command, From 02bb578303cfc658ef98d83a8aa6f290e89d6b61 Mon Sep 17 00:00:00 2001 From: Sukanya Parashar Date: Wed, 3 Aug 2022 18:58:47 -0600 Subject: [PATCH 16/24] Add one more assert statement --- packages/core/test/lib/command-utils.js | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/core/test/lib/command-utils.js b/packages/core/test/lib/command-utils.js index 181e924156d..289e21db1b9 100644 --- a/packages/core/test/lib/command-utils.js +++ b/packages/core/test/lib/command-utils.js @@ -44,15 +44,16 @@ describe("command-utils", function () { cfg.networks.crazyTimeNetwork.customUserProperty, expectedNetworkConfig.customUserProperty ); + assert.equal( + cfg.networks.crazyTimeNetwork.provider, + expectedNetworkConfig.provider + ); }); it("returns a config with a network object having the specified url property ", function () { - const cfg = deriveConfigEnvironment( - config, - "anyTimeNetwork", - "http://localhost:5555" - ); - assert.equal(cfg.networks["anyTimeNetwork"].url, "http://localhost:5555"); + const testUrl = "http://localhost:5555"; + const cfg = deriveConfigEnvironment(config, "anyTimeNetwork", testUrl); + assert.equal(cfg.networks["anyTimeNetwork"].url, testUrl); }); it("returns a config with a network object having user specified properties", function () { From d5e71e5effb43f473c4c33ab66f158d641d424ed Mon Sep 17 00:00:00 2001 From: Harry Altman Date: Thu, 4 Aug 2022 20:27:42 -0400 Subject: [PATCH 17/24] Publish - @truffle/artifactor@4.0.164 - @truffle/codec@0.14.0 - @truffle/compile-solidity@6.0.38 - @truffle/compile-vyper@3.1.73 - @truffle/contract-tests@0.1.101 - @truffle/contract@4.5.20 - @truffle/core@5.5.25 - @truffle/db-kit@0.1.80 - @truffle/db-loader@0.1.27 - @truffle/db@1.0.17 - @truffle/debug-utils@6.0.30 - @truffle/debugger@11.0.3 - @truffle/decoder@5.2.23 - @truffle/deployer@3.2.91 - @truffle/encoder@0.2.0 - @truffle/environment@0.2.118 - @truffle/fetch-and-compile@0.5.13 - @truffle/migrate@3.3.5 - @truffle/require@2.1.1 - @truffle/resolver@9.0.11 - @truffle/source-map-utils@1.3.90 - truffle@5.5.25 - @truffle/workflow-compile@4.0.28 --- packages/artifactor/package.json | 4 ++-- packages/codec/package.json | 2 +- packages/compile-solidity/package.json | 6 ++--- packages/compile-vyper/package.json | 4 ++-- packages/contract-tests/package.json | 6 ++--- packages/contract/package.json | 4 ++-- packages/core/package.json | 30 ++++++++++++------------- packages/db-kit/package.json | 14 ++++++------ packages/db-loader/package.json | 4 ++-- packages/db/package.json | 4 ++-- packages/debug-utils/package.json | 4 ++-- packages/debugger/package.json | 14 ++++++------ packages/decoder/package.json | 12 +++++----- packages/deployer/package.json | 8 +++---- packages/encoder/package.json | 10 ++++----- packages/environment/package.json | 6 ++--- packages/fetch-and-compile/package.json | 6 ++--- packages/migrate/package.json | 8 +++---- packages/require/package.json | 4 ++-- packages/resolver/package.json | 6 ++--- packages/source-map-utils/package.json | 4 ++-- packages/truffle/package.json | 12 +++++----- packages/workflow-compile/package.json | 12 +++++----- 23 files changed, 92 insertions(+), 92 deletions(-) diff --git a/packages/artifactor/package.json b/packages/artifactor/package.json index 0f527462b12..195e981e680 100644 --- a/packages/artifactor/package.json +++ b/packages/artifactor/package.json @@ -13,7 +13,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "4.0.163", + "version": "4.0.164", "main": "dist/index.js", "scripts": { "build": "tsc", @@ -27,7 +27,7 @@ "lodash": "^4.17.21" }, "devDependencies": { - "@truffle/contract": "^4.5.19", + "@truffle/contract": "^4.5.20", "@types/fs-extra": "^8.1.0", "@types/lodash": "^4.14.179", "@types/node": "12.12.21", diff --git a/packages/codec/package.json b/packages/codec/package.json index 8158308e7d9..c6ce902867f 100644 --- a/packages/codec/package.json +++ b/packages/codec/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "0.13.3", + "version": "0.14.0", "main": "dist/lib/index.js", "files": [ "dist" diff --git a/packages/compile-solidity/package.json b/packages/compile-solidity/package.json index c94621f5eae..2deb04e065e 100644 --- a/packages/compile-solidity/package.json +++ b/packages/compile-solidity/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "6.0.37", + "version": "6.0.38", "main": "dist/index.js", "scripts": { "build": "ttsc", @@ -38,9 +38,9 @@ "solc": "0.8.15" }, "devDependencies": { - "@truffle/artifactor": "^4.0.163", + "@truffle/artifactor": "^4.0.164", "@truffle/box": "^2.1.54", - "@truffle/resolver": "^9.0.10", + "@truffle/resolver": "^9.0.11", "babel-core": "^6.26.0", "babel-polyfill": "^6.26.0", "babel-preset-env": "^1.6.1", diff --git a/packages/compile-vyper/package.json b/packages/compile-vyper/package.json index 51bdcc9eed6..6b394391e78 100644 --- a/packages/compile-vyper/package.json +++ b/packages/compile-vyper/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "3.1.72", + "version": "3.1.73", "main": "index.js", "scripts": { "prepare": "exit 0", @@ -23,7 +23,7 @@ "@truffle/config": "^1.3.34", "@truffle/contract-sources": "^0.2.0", "@truffle/profiler": "^0.1.26", - "@truffle/resolver": "^9.0.10", + "@truffle/resolver": "^9.0.11", "colors": "1.4.0", "debug": "^4.3.1", "lodash": "^4.17.21", diff --git a/packages/contract-tests/package.json b/packages/contract-tests/package.json index 14441dc5bb4..b6e2f3947cc 100644 --- a/packages/contract-tests/package.json +++ b/packages/contract-tests/package.json @@ -13,7 +13,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "0.1.100", + "version": "0.1.101", "scripts": { "prepare": "exit 0", "test": "./scripts/test.sh", @@ -22,8 +22,8 @@ }, "devDependencies": { "@truffle/blockchain-utils": "^0.1.3", - "@truffle/compile-solidity": "^6.0.37", - "@truffle/contract": "^4.5.19", + "@truffle/compile-solidity": "^6.0.38", + "@truffle/contract": "^4.5.20", "bignumber.js": "^7.2.1", "chai": "^4.2.0", "debug": "^4.3.1", diff --git a/packages/contract/package.json b/packages/contract/package.json index 737e89723d2..e895882b7c1 100644 --- a/packages/contract/package.json +++ b/packages/contract/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "4.5.19", + "version": "4.5.20", "main": "index.js", "scripts": { "build": "yarn compile", @@ -24,7 +24,7 @@ "@ensdomains/ensjs": "^2.1.0", "@truffle/blockchain-utils": "^0.1.3", "@truffle/contract-schema": "^3.4.8", - "@truffle/debug-utils": "^6.0.29", + "@truffle/debug-utils": "^6.0.30", "@truffle/error": "^0.1.0", "@truffle/interface-adapter": "^0.5.20", "bignumber.js": "^7.2.1", diff --git a/packages/core/package.json b/packages/core/package.json index 5c67e85621a..c6095e7ba9c 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "5.5.24", + "version": "5.5.25", "bin": { "truffle": "./cli.js", "truffle-exec": "./exec.js" @@ -22,34 +22,34 @@ "test": "mocha ./test/** ./test/**/*" }, "dependencies": { - "@truffle/artifactor": "^4.0.163", + "@truffle/artifactor": "^4.0.164", "@truffle/box": "^2.1.54", - "@truffle/codec": "^0.13.3", + "@truffle/codec": "^0.14.0", "@truffle/compile-common": "^0.7.32", - "@truffle/compile-solidity": "^6.0.37", + "@truffle/compile-solidity": "^6.0.38", "@truffle/config": "^1.3.34", - "@truffle/contract": "^4.5.19", + "@truffle/contract": "^4.5.20", "@truffle/dashboard": "^0.1.10", - "@truffle/debug-utils": "^6.0.29", - "@truffle/debugger": "^11.0.2", - "@truffle/decoder": "^5.2.22", - "@truffle/deployer": "^3.2.90", - "@truffle/environment": "^0.2.117", + "@truffle/debug-utils": "^6.0.30", + "@truffle/debugger": "^11.0.3", + "@truffle/decoder": "^5.2.23", + "@truffle/deployer": "^3.2.91", + "@truffle/environment": "^0.2.118", "@truffle/error": "^0.1.0", "@truffle/expect": "^0.1.2", - "@truffle/fetch-and-compile": "^0.5.12", + "@truffle/fetch-and-compile": "^0.5.13", "@truffle/interface-adapter": "^0.5.20", - "@truffle/migrate": "^3.3.4", + "@truffle/migrate": "^3.3.5", "@truffle/plugins": "^0.2.8", "@truffle/preserve": "^0.2.7", "@truffle/promise-tracker": "^0.1.1", "@truffle/provider": "^0.2.58", "@truffle/provisioner": "^0.2.57", - "@truffle/require": "^2.1.0", - "@truffle/resolver": "^9.0.10", + "@truffle/require": "^2.1.1", + "@truffle/resolver": "^9.0.11", "@truffle/source-fetcher": "^1.0.13", "@truffle/spinners": "^0.2.0", - "@truffle/workflow-compile": "^4.0.27", + "@truffle/workflow-compile": "^4.0.28", "address": "^1.1.2", "chai": "^4.2.0", "colors": "1.4.0", diff --git a/packages/db-kit/package.json b/packages/db-kit/package.json index 0d31bc45d99..9be8f9969c7 100644 --- a/packages/db-kit/package.json +++ b/packages/db-kit/package.json @@ -1,6 +1,6 @@ { "name": "@truffle/db-kit", - "version": "0.1.79", + "version": "0.1.80", "description": "Utility belt for Truffle and @truffle/db", "license": "MIT", "author": "g. nicholas d'andrea ", @@ -33,14 +33,14 @@ "test": "jest --verbose --detectOpenHandles --forceExit --passWithNoTests" }, "dependencies": { - "@truffle/codec": "^0.13.3", + "@truffle/codec": "^0.14.0", "@truffle/compile-common": "^0.7.32", - "@truffle/compile-solidity": "^6.0.37", + "@truffle/compile-solidity": "^6.0.38", "@truffle/config": "^1.3.34", - "@truffle/db": "^1.0.16", - "@truffle/decoder": "^5.2.22", - "@truffle/environment": "^0.2.117", - "@truffle/fetch-and-compile": "^0.5.12", + "@truffle/db": "^1.0.17", + "@truffle/decoder": "^5.2.23", + "@truffle/environment": "^0.2.118", + "@truffle/fetch-and-compile": "^0.5.13", "graphql-tag": "^2.11.0", "ink": "^3.0.8", "ink-big-text": "^1.2.0", diff --git a/packages/db-loader/package.json b/packages/db-loader/package.json index e26d3bf2aa2..fc1cfbf4498 100644 --- a/packages/db-loader/package.json +++ b/packages/db-loader/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "0.1.26", + "version": "0.1.27", "main": "dist/index.js", "keywords": [ "ethereum", @@ -31,7 +31,7 @@ "prepare": "yarn build" }, "optionalDependencies": { - "@truffle/db": "^1.0.16" + "@truffle/db": "^1.0.17" }, "devDependencies": { "typescript": "^4.1.4" diff --git a/packages/db/package.json b/packages/db/package.json index 2552a7bfe69..94d0ad88d0a 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "1.0.16", + "version": "1.0.17", "main": "dist/src/index.js", "files": [ "dist", @@ -62,7 +62,7 @@ "@graphql-tools/utils": "^8.5.5", "@truffle/compile-common": "^0.7.32", "@truffle/contract-schema": "^3.4.8", - "@truffle/resolver": "^9.0.10", + "@truffle/resolver": "^9.0.11", "@types/debug": "^4.1.5", "@types/express": "^4.16.0", "@types/graphql": "^14.5.0", diff --git a/packages/debug-utils/package.json b/packages/debug-utils/package.json index a790397926f..fd3f6781655 100644 --- a/packages/debug-utils/package.json +++ b/packages/debug-utils/package.json @@ -12,13 +12,13 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "6.0.29", + "version": "6.0.30", "main": "index.js", "scripts": { "prepare": "exit 0" }, "dependencies": { - "@truffle/codec": "^0.13.3", + "@truffle/codec": "^0.14.0", "@trufflesuite/chromafi": "^3.0.0", "bn.js": "^5.1.3", "chalk": "^2.4.2", diff --git a/packages/debugger/package.json b/packages/debugger/package.json index 7f17c6b3f31..9b1e48a017e 100644 --- a/packages/debugger/package.json +++ b/packages/debugger/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "11.0.2", + "version": "11.0.3", "main": "dist/debugger.js", "scripts": { "build": "webpack --config webpack/webpack.config.js", @@ -23,8 +23,8 @@ }, "dependencies": { "@truffle/abi-utils": "^0.2.15", - "@truffle/codec": "^0.13.3", - "@truffle/source-map-utils": "^1.3.89", + "@truffle/codec": "^0.14.0", + "@truffle/source-map-utils": "^1.3.90", "bn.js": "^5.1.3", "debug": "^4.3.1", "json-pointer": "^0.6.1", @@ -42,11 +42,11 @@ "@babel/plugin-transform-runtime": "^7.16.4", "@babel/preset-env": "^7.16.4", "@jsdevtools/coverage-istanbul-loader": "^3.0.5", - "@truffle/artifactor": "^4.0.163", + "@truffle/artifactor": "^4.0.164", "@truffle/config": "^1.3.34", - "@truffle/migrate": "^3.3.4", - "@truffle/resolver": "^9.0.10", - "@truffle/workflow-compile": "^4.0.27", + "@truffle/migrate": "^3.3.5", + "@truffle/resolver": "^9.0.11", + "@truffle/workflow-compile": "^4.0.28", "babel-loader": "^8.2.3", "babel-runtime": "^6.26.0", "chai": "^4.2.0", diff --git a/packages/decoder/package.json b/packages/decoder/package.json index 1df746d9683..84854ae84bb 100644 --- a/packages/decoder/package.json +++ b/packages/decoder/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "5.2.22", + "version": "5.2.23", "main": "dist/index.js", "directories": { "lib": "lib" @@ -26,10 +26,10 @@ "types": "dist/index.d.ts", "dependencies": { "@truffle/abi-utils": "^0.2.15", - "@truffle/codec": "^0.13.3", + "@truffle/codec": "^0.14.0", "@truffle/compile-common": "^0.7.32", - "@truffle/encoder": "^0.1.19", - "@truffle/source-map-utils": "^1.3.89", + "@truffle/encoder": "^0.2.0", + "@truffle/source-map-utils": "^1.3.90", "bn.js": "^5.1.3", "debug": "^4.3.1", "web3-utils": "1.7.4" @@ -37,9 +37,9 @@ "devDependencies": { "@truffle/config": "^1.3.34", "@truffle/contract-schema": "^3.4.8", - "@truffle/migrate": "^3.3.4", + "@truffle/migrate": "^3.3.5", "@truffle/provider": "^0.2.58", - "@truffle/workflow-compile": "^4.0.27", + "@truffle/workflow-compile": "^4.0.28", "@types/big.js": "^6.0.2", "@types/bn.js": "^5.1.0", "@types/debug": "^4.1.5", diff --git a/packages/deployer/package.json b/packages/deployer/package.json index 99d367eb9d7..6181ccbabea 100644 --- a/packages/deployer/package.json +++ b/packages/deployer/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "3.2.90", + "version": "3.2.91", "main": "index.js", "scripts": { "prepare": "exit 0", @@ -20,7 +20,7 @@ }, "dependencies": { "@ensdomains/ensjs": "^2.1.0", - "@truffle/contract": "^4.5.19", + "@truffle/contract": "^4.5.20", "@truffle/expect": "^0.1.2", "debug": "^4.3.1", "eth-ens-namehash": "^2.0.8", @@ -28,8 +28,8 @@ }, "devDependencies": { "@truffle/config": "^1.3.34", - "@truffle/environment": "^0.2.117", - "@truffle/workflow-compile": "^4.0.27", + "@truffle/environment": "^0.2.118", + "@truffle/workflow-compile": "^4.0.28", "ganache": "7.4.0", "mocha": "9.2.2", "sinon": "^9.0.2", diff --git a/packages/encoder/package.json b/packages/encoder/package.json index 11d44d432f4..97d4e258110 100644 --- a/packages/encoder/package.json +++ b/packages/encoder/package.json @@ -1,6 +1,6 @@ { "name": "@truffle/encoder", - "version": "0.1.19", + "version": "0.2.0", "description": "Recognizes user input for Soldiity values, resolves overloads, and encodes to binary", "license": "MIT", "author": "Harry Altman", @@ -28,7 +28,7 @@ "@ensdomains/ensjs": "^2.1.0", "@ethersproject/address": "^5.0.10", "@ethersproject/bignumber": "^5.0.14", - "@truffle/codec": "^0.13.3", + "@truffle/codec": "^0.14.0", "@truffle/compile-common": "^0.7.32", "big.js": "^6.0.3", "bignumber.js": "^9.0.1", @@ -42,9 +42,9 @@ "@truffle/box": "^2.1.54", "@truffle/config": "^1.3.34", "@truffle/contract-schema": "^3.4.8", - "@truffle/deployer": "^3.2.90", - "@truffle/resolver": "^9.0.10", - "@truffle/workflow-compile": "^4.0.27", + "@truffle/deployer": "^3.2.91", + "@truffle/resolver": "^9.0.11", + "@truffle/workflow-compile": "^4.0.28", "@types/big.js": "^6.0.2", "@types/bignumber.js": "^5.0.0", "@types/bn.js": "^5.1.0", diff --git a/packages/environment/package.json b/packages/environment/package.json index d51caa36d79..09eb4a6628a 100644 --- a/packages/environment/package.json +++ b/packages/environment/package.json @@ -13,19 +13,19 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "0.2.117", + "version": "0.2.118", "main": "index.js", "scripts": { "prepare": "exit 0", "test": "mocha ./test/** ./test/**/*" }, "dependencies": { - "@truffle/artifactor": "^4.0.163", + "@truffle/artifactor": "^4.0.164", "@truffle/error": "^0.1.0", "@truffle/expect": "^0.1.2", "@truffle/interface-adapter": "^0.5.20", "@truffle/provider": "^0.2.58", - "@truffle/resolver": "^9.0.10", + "@truffle/resolver": "^9.0.11", "ganache": "7.4.0", "node-ipc": "9.2.1", "source-map-support": "^0.5.19", diff --git a/packages/fetch-and-compile/package.json b/packages/fetch-and-compile/package.json index 4e83659f00a..902d4c0948a 100644 --- a/packages/fetch-and-compile/package.json +++ b/packages/fetch-and-compile/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "0.5.12", + "version": "0.5.13", "main": "dist/index.js", "files": [ "dist" @@ -27,8 +27,8 @@ }, "types": "dist/index.d.ts", "dependencies": { - "@truffle/codec": "^0.13.3", - "@truffle/compile-solidity": "^6.0.37", + "@truffle/codec": "^0.14.0", + "@truffle/compile-solidity": "^6.0.38", "@truffle/config": "^1.3.34", "@truffle/source-fetcher": "^1.0.13", "debug": "^4.3.2", diff --git a/packages/migrate/package.json b/packages/migrate/package.json index bf05ebf2615..72272b06de9 100644 --- a/packages/migrate/package.json +++ b/packages/migrate/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "3.3.4", + "version": "3.3.5", "main": "index.js", "scripts": { "prepare": "exit 0", @@ -20,11 +20,11 @@ }, "dependencies": { "@truffle/config": "^1.3.34", - "@truffle/db-loader": "^0.1.26", - "@truffle/deployer": "^3.2.90", + "@truffle/db-loader": "^0.1.27", + "@truffle/deployer": "^3.2.91", "@truffle/expect": "^0.1.2", "@truffle/interface-adapter": "^0.5.20", - "@truffle/require": "^2.1.0", + "@truffle/require": "^2.1.1", "debug": "^4.3.1", "glob": "^7.1.6", "inquirer": "8.2.2" diff --git a/packages/require/package.json b/packages/require/package.json index 2c646d8fa04..684461e72eb 100644 --- a/packages/require/package.json +++ b/packages/require/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "2.1.0", + "version": "2.1.1", "main": "dist/index.js", "files": [ "dist" @@ -32,7 +32,7 @@ "@truffle/error": "^0.1.0", "@truffle/expect": "^0.1.2", "@truffle/interface-adapter": "^0.5.20", - "@truffle/resolver": "^9.0.10", + "@truffle/resolver": "^9.0.11", "debug": "^4.3.1", "original-require": "^1.0.1" }, diff --git a/packages/resolver/package.json b/packages/resolver/package.json index c2a0c9041f9..7d02c6a93d9 100644 --- a/packages/resolver/package.json +++ b/packages/resolver/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "9.0.10", + "version": "9.0.11", "main": "dist/lib/index.js", "files": [ "dist", @@ -27,8 +27,8 @@ }, "types": "dist/lib/index.d.ts", "dependencies": { - "@truffle/compile-solidity": "^6.0.37", - "@truffle/contract": "^4.5.19", + "@truffle/compile-solidity": "^6.0.38", + "@truffle/contract": "^4.5.20", "@truffle/contract-sources": "^0.2.0", "@truffle/expect": "^0.1.2", "@truffle/provisioner": "^0.2.57", diff --git a/packages/source-map-utils/package.json b/packages/source-map-utils/package.json index d53e5efc91b..2d6a8a30687 100644 --- a/packages/source-map-utils/package.json +++ b/packages/source-map-utils/package.json @@ -12,14 +12,14 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "1.3.89", + "version": "1.3.90", "main": "index.js", "scripts": { "prepare": "exit 0" }, "dependencies": { "@truffle/code-utils": "^1.2.34", - "@truffle/codec": "^0.13.3", + "@truffle/codec": "^0.14.0", "debug": "^4.3.1", "json-pointer": "^0.6.1", "node-interval-tree": "^1.3.3", diff --git a/packages/truffle/package.json b/packages/truffle/package.json index dffe0f1f006..1ec4356c36d 100644 --- a/packages/truffle/package.json +++ b/packages/truffle/package.json @@ -12,7 +12,7 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "5.5.24", + "version": "5.5.25", "main": "./build/library.bundled.js", "bin": { "truffle": "./build/cli.bundled.js" @@ -31,11 +31,11 @@ "test:raw": "NO_BUILD=true mocha" }, "optionalDependencies": { - "@truffle/db": "^1.0.16" + "@truffle/db": "^1.0.17" }, "dependencies": { - "@truffle/db-loader": "^0.1.26", - "@truffle/debugger": "^11.0.2", + "@truffle/db-loader": "^0.1.27", + "@truffle/debugger": "^11.0.3", "app-module-path": "^2.2.0", "ganache": "7.4.0", "mocha": "9.2.2", @@ -44,8 +44,8 @@ "devDependencies": { "@truffle/box": "^2.1.54", "@truffle/config": "^1.3.34", - "@truffle/contract": "^4.5.19", - "@truffle/core": "^5.5.24", + "@truffle/contract": "^4.5.20", + "@truffle/core": "^5.5.25", "@truffle/interface-adapter": "^0.5.20", "clean-webpack-plugin": "^3.0.0", "copy-webpack-plugin": "^7.0.0", diff --git a/packages/workflow-compile/package.json b/packages/workflow-compile/package.json index 4d31bc66a32..cf188f3e10f 100644 --- a/packages/workflow-compile/package.json +++ b/packages/workflow-compile/package.json @@ -12,22 +12,22 @@ "bugs": { "url": "https://github.com/trufflesuite/truffle/issues" }, - "version": "4.0.27", + "version": "4.0.28", "main": "index.js", "scripts": { "prepare": "exit 0", "test": "mocha" }, "dependencies": { - "@truffle/artifactor": "^4.0.163", + "@truffle/artifactor": "^4.0.164", "@truffle/compile-common": "^0.7.32", - "@truffle/compile-solidity": "^6.0.37", - "@truffle/compile-vyper": "^3.1.72", + "@truffle/compile-solidity": "^6.0.38", + "@truffle/compile-vyper": "^3.1.73", "@truffle/config": "^1.3.34", - "@truffle/db-loader": "^0.1.26", + "@truffle/db-loader": "^0.1.27", "@truffle/expect": "^0.1.2", "@truffle/external-compile": "^2.0.52", - "@truffle/resolver": "^9.0.10", + "@truffle/resolver": "^9.0.11", "fs-extra": "^9.1.0" }, "devDependencies": { From 3d3a9a988e7a6b8d64217302015b14c8709d8083 Mon Sep 17 00:00:00 2001 From: Harry Altman Date: Thu, 4 Aug 2022 21:10:36 -0400 Subject: [PATCH 18/24] Update abi-to-sol to 0.6.5 --- packages/resolver/package.json | 2 +- yarn.lock | 103 ++++++++++++++------------------- 2 files changed, 45 insertions(+), 60 deletions(-) diff --git a/packages/resolver/package.json b/packages/resolver/package.json index 7d02c6a93d9..43a3dc13394 100644 --- a/packages/resolver/package.json +++ b/packages/resolver/package.json @@ -32,7 +32,7 @@ "@truffle/contract-sources": "^0.2.0", "@truffle/expect": "^0.1.2", "@truffle/provisioner": "^0.2.57", - "abi-to-sol": "^0.6.2", + "abi-to-sol": "^0.6.5", "debug": "^4.3.1", "detect-installed": "^2.0.4", "fs-extra": "^9.1.0", diff --git a/yarn.lock b/yarn.lock index 295bd9924bc..a4f3cd2bbdc 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5750,10 +5750,12 @@ resolved "https://registry.yarnpkg.com/@sinonjs/text-encoding/-/text-encoding-0.7.1.tgz#8da5c6530915653f3a1f38fd5f101d8c3f8079c5" integrity sha512-+iTbntw2IZPb/anVDbypzfQa+ay64MW0Zo8aJ8gZPWMMK6/OubMVb6lUPMagqjOPnmtauXnFCACVl3O7ogjeqQ== -"@solidity-parser/parser@^0.8.1": - version "0.8.2" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.8.2.tgz#a6a5e93ac8dca6884a99a532f133beba59b87b69" - integrity sha512-8LySx3qrNXPgB5JiULfG10O3V7QTxI/TLzSw5hFQhXWSkVxZBAv4rZQ0sYgLEbc8g3L2lmnujj1hKul38Eu5NQ== +"@solidity-parser/parser@^0.14.3": + version "0.14.3" + resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.3.tgz#0d627427b35a40d8521aaa933cc3df7d07bfa36f" + integrity sha512-29g2SZ29HtsqA58pLCtopI1P/cPy5/UAzlcAXO6T/CNJimG6yA8kx4NaseMyJULiC+TEs02Y9/yeHzClqoA0hw== + dependencies: + antlr4ts "^0.5.0-alpha.4" "@surma/rollup-plugin-off-main-thread@^1.1.1": version "1.4.2" @@ -7737,13 +7739,13 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -abi-to-sol@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/abi-to-sol/-/abi-to-sol-0.6.2.tgz#e3c36e3810dd2131a9fdcdde59445d2b481de14b" - integrity sha512-FZpqMLiatNU3YYheEtoQKAPywRoGDVecs75Nc5j4SwVDPLnBOY4oNskWaFtct1lInmDLctZsPE+GlyAckCnUWw== +abi-to-sol@^0.6.5: + version "0.6.5" + resolved "https://registry.yarnpkg.com/abi-to-sol/-/abi-to-sol-0.6.5.tgz#3157e3098264fea84beb8b3d0223eef8438e5826" + integrity sha512-ep9YpGM7+QJs2hMvJOig/duOHBJUMEFC27WJAVNEa1ghN4vtBW4hrsZ9ZB5v9YDtv0Oexqdp3BqQ3dZdLcmdOQ== dependencies: "@truffle/abi-utils" "^0.2.2" - "@truffle/codec" "^0.13.2" + "@truffle/codec" "^0.14.0" "@truffle/contract-schema" "^3.3.1" ajv "^6.12.5" better-ajv-errors "^0.8.2" @@ -7751,8 +7753,8 @@ abi-to-sol@^0.6.2: semver "^7.3.5" source-map-support "^0.5.19" optionalDependencies: - prettier "^2.1.2" - prettier-plugin-solidity "1.0.0-alpha.59" + prettier "^2.7.1" + prettier-plugin-solidity "^1.0.0-dev.23" abort-controller@3.0.0: version "3.0.0" @@ -8131,6 +8133,11 @@ ansi-styles@^6.0.0: resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-6.1.0.tgz#87313c102b8118abd57371afab34618bf7350ed3" integrity sha512-VbqNsoz55SYGczauuup0MFUyXNQviSpFTj1RQtFzmQLk18qbVSpTFFGMT293rmDaQuKCT6InmbuEyUne4mTuxQ== +antlr4ts@^0.5.0-alpha.4: + version "0.5.0-alpha.4" + resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" + integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== + any-promise@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" @@ -12574,11 +12581,6 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -dir-to-object@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dir-to-object/-/dir-to-object-2.0.0.tgz#29723e9bd1c3e58e4f307bd04ff634c0370c8f8a" - integrity sha512-sXs0JKIhymON7T1UZuO2Ud6VTNAx/VTBXIl4+3mjb2RgfOpt+hectX0x04YqPOPdkeOAKoJuKqwqnXXURNPNEA== - dlv@^1.1.3: version "1.1.3" resolved "https://registry.yarnpkg.com/dlv/-/dlv-1.1.3.tgz#5c198a8a11453596e751494d49874bc7732f2e79" @@ -12947,6 +12949,11 @@ emittery@^0.7.1: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.7.1.tgz#c02375a927a40948c0345cc903072597f5270451" integrity sha512-d34LN4L6h18Bzz9xpoku2nPwKxCPlPMr3EEKTkoEBi+1/+b0lcRkRJ1UVyyZaKNeqGR3swcGl6s390DNO4YVgQ== +emoji-regex@^10.1.0: + version "10.1.0" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-10.1.0.tgz#d50e383743c0f7a5945c47087295afc112e3cf66" + integrity sha512-xAEnNCT3w2Tg6MA7ly6QqYJvEoY1tm9iIjJ3yMKK9JPlWuRHAMoe5iETwQnx3M9TVbFMfsrBgWKR+IsmswwNjg== + emoji-regex@^7.0.1: version "7.0.3" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" @@ -12957,7 +12964,7 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== -emoji-regex@^9.0.0, emoji-regex@^9.2.2: +emoji-regex@^9.2.2: version "9.2.2" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== @@ -13649,13 +13656,6 @@ espree@^9.2.0: acorn-jsx "^5.3.1" eslint-visitor-keys "^3.1.0" -esprima-extract-comments@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/esprima-extract-comments/-/esprima-extract-comments-1.1.0.tgz#0dacab567a5900240de6d344cf18c33617becbc9" - integrity sha512-sBQUnvJwpeE9QnPrxh7dpI/dp67erYG4WXEAreAMoelPRpMR7NWb4YtwRPn9b+H1uLQKl/qS8WYmyaljTpjIsw== - dependencies: - esprima "^4.0.0" - esprima@4.0.1, esprima@^4.0.0, esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" @@ -14512,14 +14512,6 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extract-comments@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/extract-comments/-/extract-comments-1.1.0.tgz#b90bca033a056bd69b8ba1c6b6b120fc2ee95c18" - integrity sha512-dzbZV2AdSSVW/4E7Ti5hZdHWbA+Z80RJsJhr5uiL10oyjl/gy7/o+HI1HwK4/WSZhlq4SNKU3oUzXlM13Qx02Q== - dependencies: - esprima-extract-comments "^1.1.0" - parse-code-context "^1.0.0" - extsprintf@1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" @@ -22084,11 +22076,6 @@ parse-asn1@^5.0.0: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" -parse-code-context@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/parse-code-context/-/parse-code-context-1.0.0.tgz#718c295c593d0d19a37f898473268cc75e98de1e" - integrity sha512-OZQaqKaQnR21iqhlnPfVisFjBWjhnMl5J9MgbP8xC+EwoVqbXrq78lp+9Zb3ahmLzrIX5Us/qbvBnaS3hkH6OA== - parse-headers@^2.0.0: version "2.0.3" resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.3.tgz#5e8e7512383d140ba02f0c7aa9f49b4399c92515" @@ -23548,40 +23535,33 @@ prepend-http@^2.0.0: resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc= -prettier-plugin-solidity@1.0.0-alpha.59: - version "1.0.0-alpha.59" - resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-alpha.59.tgz#b0cf82fb068537d152d0bc417588d08e952a56c6" - integrity sha512-6cE0SWaiYCBoJY4clCfsbWlEEOU4K42Ny6Tg4Jwprgts/q+AVfYnPQ5coRs7zIjYzc4RVspifYPeh+oAg8RpLw== +prettier-plugin-solidity@^1.0.0-dev.23: + version "1.0.0-dev.23" + resolved "https://registry.yarnpkg.com/prettier-plugin-solidity/-/prettier-plugin-solidity-1.0.0-dev.23.tgz#e1edf0693d69fe1518519ab704d5e46ee4f842fc" + integrity sha512-440/jZzvtDJcqtoRCQiigo1DYTPAZ85pjNg7gvdd+Lds6QYgID8RyOdygmudzHdFmV2UfENt//A8tzx7iS58GA== dependencies: - "@solidity-parser/parser" "^0.8.1" - dir-to-object "^2.0.0" - emoji-regex "^9.0.0" + "@solidity-parser/parser" "^0.14.3" + emoji-regex "^10.1.0" escape-string-regexp "^4.0.0" - extract-comments "^1.1.0" - prettier "^2.0.5" - semver "^7.3.2" - string-width "^4.2.0" + semver "^7.3.7" + solidity-comments-extractor "^0.0.7" + string-width "^4.2.3" prettier@^1.14.2: version "1.19.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb" integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew== -prettier@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.0.5.tgz#d6d56282455243f2f92cc1716692c08aa31522d4" - integrity sha512-7PtVymN48hGcO4fGjybyBSIWDsLU4H4XlvOHfq91pz9kkGlonzwTfYkaIEwiRg/dAJF9YlbsduBAgtYLi+8cFg== - -prettier@^2.1.2: - version "2.4.1" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.4.1.tgz#671e11c89c14a4cfc876ce564106c4a6726c9f5c" - integrity sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA== - prettier@^2.5.1: version "2.5.1" resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== +prettier@^2.7.1: + version "2.7.1" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.7.1.tgz#e235806850d057f97bb08368a4f7d899f7760c64" + integrity sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g== + pretty-bytes@^5.3.0: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -25487,7 +25467,7 @@ semver@7.3.2, semver@7.x, semver@^7.2.1, semver@^7.3.2: resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938" integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ== -semver@7.3.7: +semver@7.3.7, semver@^7.3.7: version "7.3.7" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== @@ -25959,6 +25939,11 @@ solc@^0.4.20: semver "^5.3.0" yargs "^4.7.1" +solidity-comments-extractor@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/solidity-comments-extractor/-/solidity-comments-extractor-0.0.7.tgz#99d8f1361438f84019795d928b931f4e5c39ca19" + integrity sha512-wciNMLg/Irp8OKGrh3S2tfvZiZ0NEyILfcRCXCD4mp7SgK/i9gzLfhY2hY7VMCQJ3kH9UB9BzNdibIVMchzyYw== + sort-keys-length@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/sort-keys-length/-/sort-keys-length-1.0.1.tgz#9cb6f4f4e9e48155a6aa0671edd336ff1479a188" From 8fb66319e984c305c585a674cac504d5baf0784c Mon Sep 17 00:00:00 2001 From: Ben Burns <803016+benjamincburns@users.noreply.github.com> Date: Thu, 4 Aug 2022 20:27:14 +1200 Subject: [PATCH 19/24] Remove graphql-tag warning by bumping patch version Removes warning: ``` warning "workspace-aggregator-aed90a07-068f-443d-8404-55b7f884493e > @truffle/db-kit > graphql-tag@2.11.0" has unmet peer dependency "graphql@^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0". ``` --- packages/db-kit/package.json | 3 ++- packages/db/package.json | 2 +- yarn.lock | 7 +++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/db-kit/package.json b/packages/db-kit/package.json index 9be8f9969c7..fb23bdc90f5 100644 --- a/packages/db-kit/package.json +++ b/packages/db-kit/package.json @@ -41,7 +41,8 @@ "@truffle/decoder": "^5.2.23", "@truffle/environment": "^0.2.118", "@truffle/fetch-and-compile": "^0.5.13", - "graphql-tag": "^2.11.0", + "graphql": "^15.3.0", + "graphql-tag": "^2.12.6", "ink": "^3.0.8", "ink-big-text": "^1.2.0", "ink-divider": "^3.0.0", diff --git a/packages/db/package.json b/packages/db/package.json index 94d0ad88d0a..22092dcecfe 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -46,7 +46,7 @@ "debug": "^4.3.1", "fs-extra": "^9.1.0", "graphql": "^15.3.0", - "graphql-tag": "^2.11.0", + "graphql-tag": "^2.12.6", "json-stable-stringify": "^1.0.1", "pascal-case": "^2.0.1", "pluralize": "^8.0.0", diff --git a/yarn.lock b/yarn.lock index a4f3cd2bbdc..00dbde66666 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15740,6 +15740,13 @@ graphql-tag@^2.11.0: resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.11.0.tgz#1deb53a01c46a7eb401d6cb59dec86fa1cccbffd" integrity sha512-VmsD5pJqWJnQZMUeRwrDhfgoyqcfwEkvtpANqcoUG8/tOLkwNgU9mzub/Mc78OJMhHjx7gfAMTxzdG43VGg3bA== +graphql-tag@^2.12.6: + version "2.12.6" + resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" + integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== + dependencies: + tslib "^2.1.0" + graphql@*, graphql@^15.3.0: version "15.3.0" resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.3.0.tgz#3ad2b0caab0d110e3be4a5a9b2aa281e362b5278" From 74001e83d243f0fe12a77f6f355c787f31dd688c Mon Sep 17 00:00:00 2001 From: Ben Burns <803016+benjamincburns@users.noreply.github.com> Date: Wed, 3 Aug 2022 17:42:26 +1200 Subject: [PATCH 20/24] Remove ts-jest warning Removes warning: ``` warning "workspace-aggregator-aed90a07-068f-443d-8404-55b7f884493e > @truffle/abi-utils > ts-jest@28.0.6" has unmet peer dependency "@jest/types@^28.0.0". ``` --- packages/abi-utils/package.json | 2 +- packages/dashboard-message-bus-e2e-test/package.json | 2 +- packages/dashboard/package.json | 2 +- packages/db-kit/package.json | 2 +- packages/db/package.json | 2 +- packages/encoder/package.json | 2 +- packages/plugins/package.json | 2 +- packages/promise-tracker/package.json | 2 +- yarn.lock | 8 ++++---- 9 files changed, 12 insertions(+), 12 deletions(-) diff --git a/packages/abi-utils/package.json b/packages/abi-utils/package.json index 6c95777e4cd..18a2da03f1f 100644 --- a/packages/abi-utils/package.json +++ b/packages/abi-utils/package.json @@ -37,7 +37,7 @@ "jest-extended": "^0.11.5", "jest-fast-check": "2.0.0", "jest-json-schema": "^2.1.0", - "ts-jest": "28.0.6", + "ts-jest": "28.0.7", "ts-node": "10.7.0", "typescript": "^4.1.4" }, diff --git a/packages/dashboard-message-bus-e2e-test/package.json b/packages/dashboard-message-bus-e2e-test/package.json index a2336051254..482260e4e46 100644 --- a/packages/dashboard-message-bus-e2e-test/package.json +++ b/packages/dashboard-message-bus-e2e-test/package.json @@ -34,6 +34,6 @@ "@types/web3": "^1.2.2", "ethers": "^5.6.2", "jest": "28.1.3", - "ts-jest": "28.0.6" + "ts-jest": "28.0.7" } } diff --git a/packages/dashboard/package.json b/packages/dashboard/package.json index 1b1816ff0ce..36d0cbede10 100644 --- a/packages/dashboard/package.json +++ b/packages/dashboard/package.json @@ -72,7 +72,7 @@ "react-json-view": "^1.21.3", "react-scripts": "^4.0.0", "tailwindcss": "npm:@tailwindcss/postcss7-compat", - "ts-jest": "28.0.6", + "ts-jest": "28.0.7", "ts-node": "10.7.0", "typescript": "^4.1.4", "wagmi": "^0.2.21" diff --git a/packages/db-kit/package.json b/packages/db-kit/package.json index 9be8f9969c7..89de2bfffc8 100644 --- a/packages/db-kit/package.json +++ b/packages/db-kit/package.json @@ -62,7 +62,7 @@ "eslint-plugin-react-hooks": "^4.3.0", "jest": "28.1.3", "madge": "^5.0.1", - "ts-jest": "28.0.6", + "ts-jest": "28.0.7", "ts-node": "10.7.0", "tsconfig-paths": "^3.9.0", "ttypescript": "1.5.13", diff --git a/packages/db/package.json b/packages/db/package.json index 94d0ad88d0a..5491cfa3dd9 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -79,7 +79,7 @@ "jest": "28.1.3", "jest-fast-check": "2.0.0", "madge": "^5.0.1", - "ts-jest": "28.0.6", + "ts-jest": "28.0.7", "ts-node": "10.7.0", "ts-node-dev": "^1.0.0-pre.32", "tsconfig-paths": "^3.9.0", diff --git a/packages/encoder/package.json b/packages/encoder/package.json index 97d4e258110..24181876b63 100644 --- a/packages/encoder/package.json +++ b/packages/encoder/package.json @@ -62,7 +62,7 @@ "jest": "28.1.3", "jest-fast-check": "2.0.0", "jest-transform-stealthy-require": "^1.0.0", - "ts-jest": "28.0.6", + "ts-jest": "28.0.7", "typescript": "^4.1.4", "utf8": "^3.0.0", "web3": "1.7.4" diff --git a/packages/plugins/package.json b/packages/plugins/package.json index 671ff79f613..7c60937339f 100644 --- a/packages/plugins/package.json +++ b/packages/plugins/package.json @@ -32,7 +32,7 @@ "@types/jest": "27.4.1", "@types/node": "^14.0.13", "jest": "28.1.3", - "ts-jest": "28.0.6", + "ts-jest": "28.0.7", "typescript": "^4.1.4" }, "publishConfig": { diff --git a/packages/promise-tracker/package.json b/packages/promise-tracker/package.json index 59a0922b45d..a6680f67bc7 100644 --- a/packages/promise-tracker/package.json +++ b/packages/promise-tracker/package.json @@ -42,7 +42,7 @@ "@types/node": "^16.11.6", "delay": "^5.0.0", "jest": "28.1.3", - "ts-jest": "28.0.6", + "ts-jest": "28.0.7", "typescript": "^4.1.4" } } diff --git a/yarn.lock b/yarn.lock index a4f3cd2bbdc..f06fb6d9e28 100644 --- a/yarn.lock +++ b/yarn.lock @@ -27295,10 +27295,10 @@ tryer@^1.0.1: resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA== -ts-jest@28.0.6: - version "28.0.6" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-28.0.6.tgz#d63df9a9908044cd891e066ad869b1a432e70d67" - integrity sha512-yLAWoaSJ6c9o+IT7+nyutp5uvwGzhMYb/LD5WEQAi2tBq4ZSAPay4Lf69pP/IU+GFYg87pdg5eADSzuNAFSK4g== +ts-jest@28.0.7: + version "28.0.7" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-28.0.7.tgz#e18757a9e44693da9980a79127e5df5a98b37ac6" + integrity sha512-wWXCSmTwBVmdvWrOpYhal79bDpioDy4rTT+0vyUnE3ZzM7LOAAGG9NXwzkEL/a516rQEgnMmS/WKP9jBPCVJyA== dependencies: bs-logger "0.x" fast-json-stable-stringify "2.x" From c46b3f3a5fac216d1975e6d825f728459e4c3e5d Mon Sep 17 00:00:00 2001 From: Ben Burns <803016+benjamincburns@users.noreply.github.com> Date: Wed, 3 Aug 2022 17:35:46 +1200 Subject: [PATCH 21/24] Remove jest-fast-check warning Removes warning: ``` warning "workspace-aggregator-aed90a07-068f-443d-8404-55b7f884493e > @truffle/abi-utils > jest-fast-check@2.0.0" has incorrect peer dependency "fast-check@^3.0.0". ``` --- packages/abi-utils/.eslintrc.json | 11 ++++++++ packages/abi-utils/lib/arbitrary.test.ts | 2 +- packages/abi-utils/lib/arbitrary.ts | 8 +++--- packages/abi-utils/lib/normalize.test.ts | 6 ++--- packages/abi-utils/package.json | 4 +-- packages/abi-utils/tsconfig.json | 2 +- packages/db/package.json | 4 +-- packages/db/src/network/test/index.spec.ts | 2 +- packages/db/test/arbitraries/networks.ts | 2 +- packages/encoder/package.json | 4 +-- packages/encoder/test/wrap-fc.test.ts | 2 +- yarn.lock | 30 ++++++++++++---------- 12 files changed, 45 insertions(+), 32 deletions(-) create mode 100644 packages/abi-utils/.eslintrc.json diff --git a/packages/abi-utils/.eslintrc.json b/packages/abi-utils/.eslintrc.json new file mode 100644 index 00000000000..6f73dbfe0e5 --- /dev/null +++ b/packages/abi-utils/.eslintrc.json @@ -0,0 +1,11 @@ +{ + "extends": ["../../.eslintrc.package.json"], + "overrides": [ + { + "files": ["./lib/**/*.test.[tj]s"], + "env": { + "jest": true + } + } + ] +} diff --git a/packages/abi-utils/lib/arbitrary.test.ts b/packages/abi-utils/lib/arbitrary.test.ts index 5ab9c2c3015..85defd10f51 100644 --- a/packages/abi-utils/lib/arbitrary.test.ts +++ b/packages/abi-utils/lib/arbitrary.test.ts @@ -1,4 +1,4 @@ -import { testProp } from "jest-fast-check"; +import { testProp } from "@fast-check/jest"; import * as abiSchema from "@truffle/contract-schema/spec/abi.spec.json"; import { matchers } from "jest-json-schema"; diff --git a/packages/abi-utils/lib/arbitrary.ts b/packages/abi-utils/lib/arbitrary.ts index 43fd96d83f2..66c92b590b4 100644 --- a/packages/abi-utils/lib/arbitrary.ts +++ b/packages/abi-utils/lib/arbitrary.ts @@ -148,7 +148,9 @@ export const ConstructorEntry = () => type: fc.constant("constructor"), inputs: fc.array(Parameter(), { maxLength: 10 }).filter(inputs => { // names that are not blank should be unique - const names = inputs.map(({ name }) => name).filter(name => name !== ""); + const names = inputs + .map(({ name }) => name) + .filter(name => name !== ""); return names.length === new Set(names).size; }) }), @@ -248,7 +250,7 @@ const Type: fc.Memo = fc.memo(n => const ArrayFixed = fc.memo(n => fc - .tuple(Type(n - 1), fc.integer(1, 256)) + .tuple(Type(n - 1), fc.integer({ min: 1, max: 256 })) .map(([type, length]) => `${type}[${length}]`) ); @@ -405,7 +407,7 @@ const fakerToArb = (template: string, transform = camelCase) => { }; const ParameterName = () => - fc.frequency( + fc.oneof( { arbitrary: fakerToArb("{{hacker.noun}}"), weight: 9 }, { arbitrary: fc.constant(""), weight: 1 } ); diff --git a/packages/abi-utils/lib/normalize.test.ts b/packages/abi-utils/lib/normalize.test.ts index 9ae03a3fcb5..348a50394a0 100644 --- a/packages/abi-utils/lib/normalize.test.ts +++ b/packages/abi-utils/lib/normalize.test.ts @@ -1,5 +1,5 @@ import "jest-extended"; -import { testProp } from "jest-fast-check"; +import { testProp } from "@fast-check/jest"; import * as Arbitrary from "./arbitrary"; @@ -48,9 +48,7 @@ describe("normalize", () => { expect( abi.filter(({ type }) => type !== "event" && type !== "error") - ).toSatisfyAll( - entry => "stateMutability" in entry - ); + ).toSatisfyAll(entry => "stateMutability" in entry); } ); diff --git a/packages/abi-utils/package.json b/packages/abi-utils/package.json index 6c95777e4cd..b81a24f93ee 100644 --- a/packages/abi-utils/package.json +++ b/packages/abi-utils/package.json @@ -26,16 +26,16 @@ "dependencies": { "change-case": "3.0.2", "faker": "5.5.3", - "fast-check": "2.15.1" + "fast-check": "3.1.1" }, "devDependencies": { + "@fast-check/jest": "^1.0.1", "@truffle/contract-schema": "^3.4.8", "@types/faker": "^5.1.2", "@types/jest": "27.4.1", "@types/jest-json-schema": "^2.1.2", "jest": "28.1.3", "jest-extended": "^0.11.5", - "jest-fast-check": "2.0.0", "jest-json-schema": "^2.1.0", "ts-jest": "28.0.6", "ts-node": "10.7.0", diff --git a/packages/abi-utils/tsconfig.json b/packages/abi-utils/tsconfig.json index 09d0bff7862..ac4d5309a38 100644 --- a/packages/abi-utils/tsconfig.json +++ b/packages/abi-utils/tsconfig.json @@ -47,7 +47,7 @@ // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ // "typeRoots": [], /* List of folders to include type definitions from. */ - // "types": [], /* Type declaration files to be included in compilation. */ + "types": ["node", "jest"], /* Type declaration files to be included in compilation. */ // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ diff --git a/packages/db/package.json b/packages/db/package.json index 94d0ad88d0a..465fd8585c2 100644 --- a/packages/db/package.json +++ b/packages/db/package.json @@ -58,6 +58,7 @@ "web3-utils": "1.7.4" }, "devDependencies": { + "@fast-check/jest": "^1.0.1", "@gql2ts/from-schema": "^2.0.0-4", "@graphql-tools/utils": "^8.5.5", "@truffle/compile-common": "^0.7.32", @@ -73,11 +74,10 @@ "@types/pouchdb-adapter-leveldb": "^6.1.3", "@types/web3": "^1.0.20", "change-case": "3.0.2", - "fast-check": "2.15.1", + "fast-check": "3.1.1", "ganache": "7.4.0", "hkts": "^0.3.1", "jest": "28.1.3", - "jest-fast-check": "2.0.0", "madge": "^5.0.1", "ts-jest": "28.0.6", "ts-node": "10.7.0", diff --git a/packages/db/src/network/test/index.spec.ts b/packages/db/src/network/test/index.spec.ts index 51cb1cbc915..181b0b28a2a 100644 --- a/packages/db/src/network/test/index.spec.ts +++ b/packages/db/src/network/test/index.spec.ts @@ -2,7 +2,7 @@ import { logger } from "@truffle/db/logger"; const debug = logger("db:network:test"); import gql from "graphql-tag"; -import { testProp } from "jest-fast-check"; +import { testProp } from "@fast-check/jest"; import * as fc from "fast-check"; import * as Arbitrary from "test/arbitraries/networks"; diff --git a/packages/db/test/arbitraries/networks.ts b/packages/db/test/arbitraries/networks.ts index 782b8de04cf..cdf8a069fd8 100644 --- a/packages/db/test/arbitraries/networks.ts +++ b/packages/db/test/arbitraries/networks.ts @@ -118,7 +118,7 @@ export const Networks = (): fc.Arbitrary => .tuple( Commands.AddNetwork(), fc.array( - fc.frequency( + fc.oneof( { arbitrary: Commands.AddNetwork(), weight: 1 diff --git a/packages/encoder/package.json b/packages/encoder/package.json index 97d4e258110..b11cfc53d4a 100644 --- a/packages/encoder/package.json +++ b/packages/encoder/package.json @@ -38,6 +38,7 @@ "web3-utils": "1.7.4" }, "devDependencies": { + "@fast-check/jest": "^1.0.1", "@truffle/abi-utils": "^0.2.15", "@truffle/box": "^2.1.54", "@truffle/config": "^1.3.34", @@ -56,11 +57,10 @@ "@types/utf8": "^2.1.6", "@types/web3": "^1.0.20", "chai": "^4.2.0", - "fast-check": "2.15.1", + "fast-check": "3.1.1", "fs-extra": "^9.1.0", "ganache": "7.4.0", "jest": "28.1.3", - "jest-fast-check": "2.0.0", "jest-transform-stealthy-require": "^1.0.0", "ts-jest": "28.0.6", "typescript": "^4.1.4", diff --git a/packages/encoder/test/wrap-fc.test.ts b/packages/encoder/test/wrap-fc.test.ts index af658a255e2..07a545d2343 100644 --- a/packages/encoder/test/wrap-fc.test.ts +++ b/packages/encoder/test/wrap-fc.test.ts @@ -12,7 +12,7 @@ import { import isNumber from "lodash/isNumber"; import * as fc from "fast-check"; -import { testProp } from "jest-fast-check"; +import { testProp } from "@fast-check/jest"; import Web3Utils from "web3-utils"; import utf8 from "utf8"; diff --git a/yarn.lock b/yarn.lock index a4f3cd2bbdc..f9a9af9b834 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3772,6 +3772,13 @@ "@ethersproject/properties" "^5.6.0" "@ethersproject/strings" "^5.6.0" +"@fast-check/jest@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@fast-check/jest/-/jest-1.0.1.tgz#125806b40919bcddef71b0b750dea7a2be291111" + integrity sha512-2k38LAEawqyKnsXvqNBrCByRKHELXBRGBxZV4Q4hVZsDb9Smf9anYc8zv184PvF4+gtMDzWlKRy6YCWDldf41Q== + dependencies: + fast-check "^3.0.0" + "@ganache/ethereum-address@0.1.5": version "0.1.5" resolved "https://registry.yarnpkg.com/@ganache/ethereum-address/-/ethereum-address-0.1.5.tgz#4b4994cf3b49b2f79bcd9fa9923f8217e956b99c" @@ -14534,12 +14541,12 @@ faker@5.5.3: resolved "https://registry.yarnpkg.com/faker/-/faker-5.5.3.tgz#c57974ee484431b25205c2c8dc09fda861e51e0e" integrity sha512-wLTv2a28wjUyWkbnX7u/ABZBkUkIF2fCd73V6P2oFqEGEktDfzWx4UxrSqtPRw0xPRAcjeAOIiJWqZm3pP4u3g== -fast-check@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/fast-check/-/fast-check-2.15.1.tgz#a60c5ba0d5cba68a1176353c423c3733c02bb603" - integrity sha512-eNcOxh7iTLGwebRCRU+F+/Ne+41/7ra4qn1bhljAO+uqvxB9p4Qq/rqNeu3wls/ka9jnu9MvwUE/m1sTWcbGBg== +fast-check@3.1.1, fast-check@^3.0.0: + version "3.1.1" + resolved "https://registry.yarnpkg.com/fast-check/-/fast-check-3.1.1.tgz#72c5ae7022a4e86504762e773adfb8a5b0b01252" + integrity sha512-3vtXinVyuUKCKFKYcwXhGE6NtGWkqF8Yh3rvMZNzmwz8EPrgoc/v4pDdLHyLnCyCI5MZpZZkDEwFyXyEONOxpA== dependencies: - pure-rand "^4.1.1" + pure-rand "^5.0.1" fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" @@ -17859,11 +17866,6 @@ jest-extended@^0.11.5: jest-get-type "^22.4.3" jest-matcher-utils "^22.0.0" -jest-fast-check@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/jest-fast-check/-/jest-fast-check-2.0.0.tgz#f1aae02c397913cce858866a1c13b9fd979cef0d" - integrity sha512-krHAj5Sdx4/Ytk/z9sbPU4C/mMSON+mDX6/e9a6LWlugd3+G9tT7aboyaXzUCNsjb/4xfJt2eXrQDPCq7TxdXA== - jest-get-type@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" @@ -23877,10 +23879,10 @@ pure-color@^1.2.0: resolved "https://registry.yarnpkg.com/pure-color/-/pure-color-1.3.0.tgz#1fe064fb0ac851f0de61320a8bf796836422f33e" integrity sha1-H+Bk+wrIUfDeYTIKi/eWg2Qi8z4= -pure-rand@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-4.1.1.tgz#9fca2d4af5c4e870bac337ed860977426ed17bf6" - integrity sha512-cZw4AL/KI6aDTdqHEbJPe2ZoHM3kSdpJRLJetv8c3tfq9o+PvQDXrHNEpB0AWukAGFx4fmeOerAGwkA4rtUgdA== +pure-rand@^5.0.1: + version "5.0.1" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-5.0.1.tgz#97a287b4b4960b2a3448c0932bf28f2405cac51d" + integrity sha512-ksWccjmXOHU2gJBnH0cK1lSYdvSZ0zLoCMSz/nTGh6hDvCSgcRxDyIcOBD6KNxFz3xhMPm/T267Tbe2JRymKEQ== purgecss@^4.0.3: version "4.1.3" From 3ede447ea997a7927875aad1494cde2449e83f24 Mon Sep 17 00:00:00 2001 From: Ben Burns <803016+benjamincburns@users.noreply.github.com> Date: Wed, 3 Aug 2022 18:04:56 +1200 Subject: [PATCH 22/24] Remove ts-node peer dep warning Removes warning: ``` warning "workspace-aggregator-aed90a07-068f-443d-8404-55b7f884493e > @truffle/codec > ttypescript@1.5.13" has unmet peer dependency "ts-node@>=8.0.2". ``` --- packages/codec/package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/codec/package.json b/packages/codec/package.json index c6ce902867f..aeb7521286a 100644 --- a/packages/codec/package.json +++ b/packages/codec/package.json @@ -47,6 +47,7 @@ "@types/semver": "^6.0.0", "@types/utf8": "^2.1.6", "@zerollup/ts-transform-paths": "^1.7.3", + "ts-node": "10.7.0", "ttypescript": "1.5.13", "typedoc": "0.20.37", "typedoc-plugin-remove-references": "^0.0.5", From f4800f3923cd8cc2a9dea07b34c54bba045c0421 Mon Sep 17 00:00:00 2001 From: cds-amal Date: Fri, 5 Aug 2022 11:58:12 -0400 Subject: [PATCH 23/24] build: git-ignore packages/contract/browser-dist --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 9f15add1330..7a7d1c27241 100644 --- a/.gitignore +++ b/.gitignore @@ -22,4 +22,4 @@ packages/truffle/$RECYCLE.BIN/ packages/debugger/.tmp # @truffle/contract -packages/contract/dist +packages/contract/browser-dist From e4d66f9ae568f741977d4dafa799dba10c67d80e Mon Sep 17 00:00:00 2001 From: eggplantzzz Date: Fri, 5 Aug 2022 16:25:37 -0400 Subject: [PATCH 24/24] switch ganache to use 'eager' mode in test environment --- packages/core/lib/configAdapter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/core/lib/configAdapter.js b/packages/core/lib/configAdapter.js index 0725f0006f3..f49e4f88a6b 100644 --- a/packages/core/lib/configAdapter.js +++ b/packages/core/lib/configAdapter.js @@ -88,7 +88,7 @@ function configureManagedGanache(config, networkConfig, mnemonic) { gasPrice, time: genesisTime, miner: { - instamine: "strict" + instamine: "eager" } };