diff --git a/.travis.yml b/.travis.yml index dbe14314fd7..6b95f88c275 100644 --- a/.travis.yml +++ b/.travis.yml @@ -5,7 +5,7 @@ language: node_js before_install: - sudo add-apt-repository --yes ppa:ethereum/ethereum - sudo apt-get update - - sudo apt-get install -y dpkg solc + - sudo apt-get install -y dpkg - npm list -g lerna --depth=0 || npm install -g lerna - npm install -g yarn diff --git a/packages/truffle-artifactor/package.json b/packages/truffle-artifactor/package.json index d0eeb5f4d18..d26c754fe2f 100644 --- a/packages/truffle-artifactor/package.json +++ b/packages/truffle-artifactor/package.json @@ -12,7 +12,7 @@ "license": "MIT", "devDependencies": { "chai": "4.2.0", - "ganache-core": "2.5.1", + "ganache-core": "2.5.5", "mocha": "5.2.0", "require-nocache": "^1.0.0", "solc": "0.5.0", diff --git a/packages/truffle-contract/package.json b/packages/truffle-contract/package.json index f9c1c2aedf7..6e9829f0d49 100644 --- a/packages/truffle-contract/package.json +++ b/packages/truffle-contract/package.json @@ -44,7 +44,7 @@ "browserify": "^14.0.0", "chai": "4.2.0", "debug": "^4.1.0", - "ganache-core": "2.5.1", + "ganache-core": "2.5.5", "mocha": "5.2.0", "solc": "0.5.0", "temp": "^0.8.3", diff --git a/packages/truffle-contract/test/deploy.js b/packages/truffle-contract/test/deploy.js index f3d891344a8..7186ee6b848 100644 --- a/packages/truffle-contract/test/deploy.js +++ b/packages/truffle-contract/test/deploy.js @@ -156,7 +156,7 @@ describe("Deployments", function() { await Example.new(2001); // Triggers error with a normal reason string assert.fail(); } catch (error) { - assert(error.message.includes("exceeds gas limit")); + assert(error.message.includes("check your gas limit")); assert(error.message.includes("reasonstring")); assert(error.receipt === undefined, "Expected no receipt"); assert(error.reason === "reasonstring"); @@ -168,7 +168,7 @@ describe("Deployments", function() { await Example.new(20001); // Triggers error with a long reason string assert.fail(); } catch (error) { - assert(error.message.includes("exceeds gas limit")); + assert(error.message.includes("check your gas limit")); assert( error.message.includes( "solidity storage is a fun lesson in endianness" diff --git a/packages/truffle-contract/test/errors.js b/packages/truffle-contract/test/errors.js index 2a91228c7c2..46307fc4b2b 100644 --- a/packages/truffle-contract/test/errors.js +++ b/packages/truffle-contract/test/errors.js @@ -32,7 +32,7 @@ describe("Client appends errors (vmErrorsOnRPCResponse)", function() { .catch(() => null); }); - it("should error w/gas limit error if constructor reverts", async function() { + it("should error w/ revert error if constructor reverts", async function() { try { await Example.new(13); // 13 fails a constructor require gate assert.fail(); @@ -42,10 +42,7 @@ describe("Client appends errors (vmErrorsOnRPCResponse)", function() { !e.message.includes("Reason"), "Should not include reason message" ); - assert( - e.message.includes("exceeds gas limit"), - "Error should be gas limit err" - ); + assert(e.message.includes("revert"), "Should include revert message"); } }); @@ -63,8 +60,8 @@ describe("Client appends errors (vmErrorsOnRPCResponse)", function() { "Error message should include reason" ); assert( - e.message.includes("exceeds gas limit"), - "Error should be gas limit err" + e.message.includes("revert reasonstring"), + "Error should be revert w/ reason" ); } }); diff --git a/packages/truffle-contract/test/methods.js b/packages/truffle-contract/test/methods.js index b5e206b3399..5757a864cb8 100644 --- a/packages/truffle-contract/test/methods.js +++ b/packages/truffle-contract/test/methods.js @@ -465,16 +465,18 @@ describe("Methods", function() { }); }); - describe("revert with reason (ganache only)", function() { - it("errors with receipt and revert message", async function() { + describe("error with reason (ganache only)", function() { + it("errors with receipt and revert reason", async function() { const example = await Example.new(1); try { await example.triggerRequireWithReasonError(); assert.fail(); } catch (e) { assert(e.reason === "reasonstring"); - assert(e.message.includes("reasonstring")); - assert(e.message.includes("revert")); + assert( + e.message.includes("consuming all gas"), + "Triggered require should consume all gas" + ); assert(e.receipt.status === false); } }); @@ -516,7 +518,10 @@ describe("Methods", function() { const example = await Example.new(1); const triggered = await example.fallbackTriggered(); - assert(triggered === false, "Fallback should not have been triggered yet"); + assert( + triggered === false, + "Fallback should not have been triggered yet" + ); await example.sendTransaction({ value: web3.utils.toWei("1", "ether") @@ -533,7 +538,10 @@ describe("Methods", function() { const example = await Example.new(1); const triggered = await example.fallbackTriggered(); - assert(triggered === false, "Fallback should not have been triggered yet"); + assert( + triggered === false, + "Fallback should not have been triggered yet" + ); await example.send(web3.utils.toWei("1", "ether")); diff --git a/packages/truffle-core/package.json b/packages/truffle-core/package.json index e70c6b3107a..d77c0971a8f 100644 --- a/packages/truffle-core/package.json +++ b/packages/truffle-core/package.json @@ -19,7 +19,7 @@ "ethpm": "0.0.16", "ethpm-registry": "0.1.0-next.2", "fs-extra": "6.0.1", - "ganache-core": "2.5.1", + "ganache-core": "2.5.5", "hdkey": "^1.1.0", "lodash": "4.17.11", "mkdirp": "^0.5.1", diff --git a/packages/truffle-debugger/package.json b/packages/truffle-debugger/package.json index 35db2644cb8..a94d8b7c4e8 100644 --- a/packages/truffle-debugger/package.json +++ b/packages/truffle-debugger/package.json @@ -54,7 +54,7 @@ "express": "^4.16.2", "faker": "^4.1.0", "fs-extra": "6.0.1", - "ganache-core": "2.5.1", + "ganache-core": "2.5.5", "istanbul-instrumenter-loader": "^3.0.1", "mocha": "5.2.0", "mocha-webpack": "^1.1.0", diff --git a/packages/truffle-deployer/package.json b/packages/truffle-deployer/package.json index 1c68380644c..657a7470b67 100644 --- a/packages/truffle-deployer/package.json +++ b/packages/truffle-deployer/package.json @@ -26,7 +26,7 @@ "truffle-expect": "^0.0.7" }, "devDependencies": { - "ganache-core": "2.5.1", + "ganache-core": "2.5.5", "mocha": "5.2.0", "truffle-reporters": "^1.0.9", "truffle-workflow-compile": "^2.0.11", diff --git a/packages/truffle-deployer/test/errors.js b/packages/truffle-deployer/test/errors.js index 63cc18a025d..8630872ae92 100644 --- a/packages/truffle-deployer/test/errors.js +++ b/packages/truffle-deployer/test/errors.js @@ -172,6 +172,7 @@ describe("Error cases", function() { assert.fail(); } catch (err) { assert(err.message.includes("UsesExample")); + assert(err.message.includes("out of gas")); assert(err.message.includes("value you set")); assert(err.message.includes("Block limit")); assert(err.message.includes("Gas sent")); @@ -193,8 +194,8 @@ describe("Error cases", function() { assert.fail(); } catch (err) { assert(err.message.includes("Loops")); - assert(err.message.includes("out of gas")); - assert(err.message.includes("constructor")); + assert(err.message.includes("code couldn't be stored")); + assert(err.message.includes("check your gas limit")); } }); @@ -212,13 +213,12 @@ describe("Error cases", function() { assert.fail(); } catch (err) { assert(err.message.includes("Loops")); - assert(err.message.includes("out of gas")); - assert(err.message.includes("Gas sent")); - assert(err.message.includes("Block limit")); + assert(err.message.includes("code couldn't be stored")); + assert(err.message.includes("check your gas limit")); } }); - it("revert", async function() { + it("constructor revert", async function() { migrate = function() { deployer.deploy(ExampleRevert); }; @@ -229,11 +229,13 @@ describe("Error cases", function() { await deployer.start(); assert.fail(); } catch (err) { - assert(err.message.includes("revert")); + assert(err.message.includes("ExampleRevert")); + assert(err.message.includes("code couldn't be stored")); + assert(err.message.includes("check your gas limit")); } }); - it("assert", async function() { + it("failing constructor assert", async function() { migrate = function() { deployer.deploy(ExampleAssert); }; @@ -244,7 +246,9 @@ describe("Error cases", function() { await deployer.start(); assert.fail(); } catch (err) { - assert(err.message.includes("invalid opcode")); + assert(err.message.includes("ExampleAssert")); + assert(err.message.includes("code couldn't be stored")); + assert(err.message.includes("check your gas limit")); } }); diff --git a/packages/truffle-hdwallet-provider/package.json b/packages/truffle-hdwallet-provider/package.json index 11cae9facc1..0e257c16516 100644 --- a/packages/truffle-hdwallet-provider/package.json +++ b/packages/truffle-hdwallet-provider/package.json @@ -27,7 +27,7 @@ "ethereumjs-tx": "^1.3.7", "ethereumjs-util": "^5.2.0", "ethereumjs-wallet": "^0.6.2", - "ganache-core": "2.5.1", + "ganache-core": "2.5.5", "js-scrypt": "^0.2.0", "mocha": "^5.1.1", "web3": "1.0.0-beta.37", diff --git a/packages/truffle-interface-adapter/package.json b/packages/truffle-interface-adapter/package.json index 6ee0eb4c0a3..c858caa931a 100644 --- a/packages/truffle-interface-adapter/package.json +++ b/packages/truffle-interface-adapter/package.json @@ -21,7 +21,7 @@ "@types/bn.js": "^4.11.4", "@types/mocha": "^5.2.6", "@types/web3": "^1.0.18", - "ganache-core": "2.5.1", + "ganache-core": "2.5.5", "mocha": "^6.0.2", "ts-node": "^8.0.3", "typescript": "^3.3.3333" diff --git a/packages/truffle-provider/package.json b/packages/truffle-provider/package.json index a451caf2b92..f4d3f05c7f0 100644 --- a/packages/truffle-provider/package.json +++ b/packages/truffle-provider/package.json @@ -25,7 +25,7 @@ "web3": "1.0.0-beta.37" }, "devDependencies": { - "ganache-core": "2.5.1", + "ganache-core": "2.5.5", "mocha": "5.2.0" }, "publishConfig": { diff --git a/packages/truffle/package.json b/packages/truffle/package.json index 5232ae4d73c..12676feddf8 100644 --- a/packages/truffle/package.json +++ b/packages/truffle/package.json @@ -14,7 +14,7 @@ "copy-webpack-plugin": "^4.0.1", "eslint": "^5.7.0", "fs-extra": "6.0.1", - "ganache-core": "2.5.1", + "ganache-core": "2.5.5", "glob": "^7.1.2", "go-ipfs-dep": "^0.4.17", "husky": "^1.1.2", diff --git a/scripts/ci.sh b/scripts/ci.sh index 0a93981c3f6..0a58b9c35de 100755 --- a/scripts/ci.sh +++ b/scripts/ci.sh @@ -42,7 +42,7 @@ elif [ "$GETH" = true ]; then elif [ "$PACKAGES" = true ]; then docker pull ethereum/solc:0.4.22 - sudo apt-get install -y snapd + sudo apt-get install -y snapd solc export PATH=$PATH:/snap/bin sudo snap install vyper --beta --devmode lerna run --scope truffle-* test --stream --concurrency=1 @@ -50,7 +50,7 @@ elif [ "$PACKAGES" = true ]; then elif [ "$COVERAGE" = true ]; then docker pull ethereum/solc:0.4.22 - sudo apt-get install -y jq snapd + sudo apt-get install -y jq snapd solc export PATH=$PATH:/snap/bin sudo snap install vyper --beta --devmode cd packages/truffle-debugger && npm run test:coverage && \ diff --git a/yarn.lock b/yarn.lock index 1b976f44ee4..aacd9a63349 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4938,7 +4938,7 @@ ethereumjs-vm@2.3.4: rustbn.js "~0.1.1" safe-buffer "^5.1.1" -ethereumjs-vm@^2.0.2, ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4, ethereumjs-vm@^2.6.0: +ethereumjs-vm@2.6.0, ethereumjs-vm@^2.0.2, ethereumjs-vm@^2.1.0, ethereumjs-vm@^2.3.4: version "2.6.0" resolved "https://registry.yarnpkg.com/ethereumjs-vm/-/ethereumjs-vm-2.6.0.tgz#76243ed8de031b408793ac33907fb3407fe400c6" dependencies: @@ -5777,9 +5777,10 @@ functional-red-black-tree@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" -ganache-core@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.5.1.tgz#731e88db70c12ac8a7c2b56a055483338523b739" +ganache-core@2.5.5: + version "2.5.5" + resolved "https://registry.yarnpkg.com/ganache-core/-/ganache-core-2.5.5.tgz#84da56de1957b6200a2d02934853fe7af89d260b" + integrity sha512-mrvPCtDjFLWmqygCx6LngWfA1hv6DH+iisEVYxRmCujstcMgzqi5UQdcKprxoO2Jx9st1fWVvDLi/tc6WHPGoA== dependencies: abstract-leveldown "3.0.0" async "2.6.1" @@ -5795,7 +5796,7 @@ ganache-core@2.5.1: ethereumjs-block "2.1.0" ethereumjs-tx "1.3.7" ethereumjs-util "5.2.0" - ethereumjs-vm "^2.6.0" + ethereumjs-vm "2.6.0" heap "0.2.6" level-sublevel "6.6.4" levelup "3.1.1"