Update tests for solc 0.7.x (#582)

experimental-options
cgewecke 4 years ago
parent bdc6f91275
commit 7f85a0c2c8
  1. 4
      package.json
  2. 2
      test/integration/generic/assets/SimpleError.sol
  3. 2
      test/integration/generic/contracts/Migrations.sol
  4. 3
      test/integration/projects/contract-subfolders/contracts/A/ContractA2.sol
  5. 2
      test/integration/projects/contract-subfolders/contracts/B/ContractB2.sol
  6. 2
      test/integration/projects/contract-subfolders/hardhat.config.js
  7. 2
      test/integration/projects/ganache-solcoverjs/contracts/ContractA.sol
  8. 2
      test/integration/projects/ganache-solcoverjs/contracts/ContractB.sol
  9. 2
      test/integration/projects/ganache-solcoverjs/contracts/ContractC.sol
  10. 2
      test/integration/projects/ganache-solcoverjs/hardhat.config.js
  11. 2
      test/integration/projects/hardhat-compile-config/contracts/ContractA1.sol
  12. 2
      test/integration/projects/hardhat-gas-reporter/contracts/ContractA.sol
  13. 2
      test/integration/projects/hardhat-gas-reporter/hardhat.config.js
  14. 2
      test/integration/projects/import-paths/assets/RelativePathImport.sol
  15. 23
      test/integration/projects/import-paths/contracts/Migrations.sol
  16. 2
      test/integration/projects/import-paths/contracts/OnlyUsesImports.sol
  17. 2
      test/integration/projects/import-paths/contracts/UsesImports.sol
  18. 2
      test/integration/projects/import-paths/hardhat.config.js
  19. 5
      test/integration/projects/import-paths/migrations/1_initial_migration.js
  20. 2
      test/integration/projects/import-paths/node_modules/package/AnotherImport.sol
  21. 2
      test/integration/projects/import-paths/node_modules/package/NodeModulesImport.sol
  22. 2
      test/integration/projects/libraries/contracts/CLibrary.sol
  23. 2
      test/integration/projects/libraries/contracts/Migrations.sol
  24. 6
      test/integration/projects/libraries/contracts/PureView.sol
  25. 6
      test/integration/projects/libraries/contracts/UsesPure.sol
  26. 2
      test/integration/projects/libraries/contracts/_Interface.sol
  27. 2
      test/integration/projects/libraries/hardhat.config.js
  28. 2
      test/integration/projects/logical-or/contracts/Contract_OR.sol
  29. 2
      test/integration/projects/logical-or/hardhat.config.js
  30. 2
      test/integration/projects/multiple-migrations/contracts/ContractA.sol
  31. 2
      test/integration/projects/multiple-migrations/contracts/ContractB.sol
  32. 2
      test/integration/projects/multiple-migrations/contracts/ContractC.sol
  33. 2
      test/integration/projects/multiple-migrations/contracts/Migrations.sol
  34. 2
      test/integration/projects/multiple-suites/contracts/ContractA.sol
  35. 2
      test/integration/projects/multiple-suites/contracts/ContractB.sol
  36. 2
      test/integration/projects/multiple-suites/contracts/ContractC.sol
  37. 23
      test/integration/projects/multiple-suites/contracts/Migrations.sol
  38. 2
      test/integration/projects/multiple-suites/hardhat.config.js
  39. 4
      test/integration/projects/multiple-suites/truffle-config.js
  40. 2
      test/integration/projects/no-sources/hardhat.config.js
  41. 2
      test/integration/projects/skipping/contracts/ContractA.sol
  42. 23
      test/integration/projects/skipping/contracts/Migrations.sol
  43. 2
      test/integration/projects/skipping/contracts/skipped-folder/ContractB.sol
  44. 2
      test/integration/projects/skipping/hardhat.config.js
  45. 5
      test/integration/projects/skipping/migrations/1_initial_migration.js
  46. 2
      test/integration/projects/test-files/contracts/ContractA.sol
  47. 2
      test/integration/projects/test-files/contracts/ContractB.sol
  48. 2
      test/integration/projects/test-files/contracts/ContractC.sol
  49. 2
      test/integration/projects/test-files/contracts/Migrations.sol
  50. 2
      test/integration/projects/test-files/hardhat.config.js
  51. 2
      test/integration/projects/tests-folder/contracts/ContractA.sol
  52. 2
      test/integration/projects/tests-folder/contracts/ContractB.sol
  53. 2
      test/integration/projects/tests-folder/contracts/ContractC.sol
  54. 23
      test/integration/projects/tests-folder/contracts/Migrations.sol
  55. 2
      test/integration/projects/tests-folder/hardhat.config.js
  56. 4
      test/sources/js/wallet.js
  57. 2
      test/sources/solidity/contracts/app/Empty.sol
  58. 8
      test/sources/solidity/contracts/app/Events.sol
  59. 4
      test/sources/solidity/contracts/app/Expensive.sol
  60. 3
      test/sources/solidity/contracts/app/Migrations.sol
  61. 6
      test/sources/solidity/contracts/app/OnlyCall.sol
  62. 4
      test/sources/solidity/contracts/app/Owned.sol
  63. 4
      test/sources/solidity/contracts/app/Proxy.sol
  64. 4
      test/sources/solidity/contracts/app/Simple.sol
  65. 8
      test/sources/solidity/contracts/app/SimpleError.sol
  66. 2
      test/sources/solidity/contracts/app/Unparseable.sol
  67. 6
      test/sources/solidity/contracts/app/Wallet.sol
  68. 6
      test/sources/solidity/contracts/assembly/if.sol
  69. 4
      test/sources/solidity/contracts/assembly/spaces-in-function.sol
  70. 2
      test/sources/solidity/contracts/assert/Assert.sol
  71. 2
      test/sources/solidity/contracts/assert/Require-fn-reason.sol
  72. 2
      test/sources/solidity/contracts/assert/Require-fn.sol
  73. 4
      test/sources/solidity/contracts/assert/RequireMultiline.sol
  74. 2
      test/sources/solidity/contracts/comments/postContractComment.sol
  75. 2
      test/sources/solidity/contracts/comments/postFunctionDeclarationComment.sol
  76. 2
      test/sources/solidity/contracts/comments/postIfStatementComment.sol
  77. 2
      test/sources/solidity/contracts/comments/postLineComment.sol
  78. 4
      test/sources/solidity/contracts/conditional/declarative-exp-assignment-alternate.sol
  79. 4
      test/sources/solidity/contracts/conditional/identifier-assignment-alternate.sol
  80. 4
      test/sources/solidity/contracts/conditional/mapping-assignment.sol
  81. 8
      test/sources/solidity/contracts/conditional/multiline-alternate.sol
  82. 8
      test/sources/solidity/contracts/conditional/multiline-consequent.sol
  83. 4
      test/sources/solidity/contracts/conditional/sameline-alternate.sol
  84. 4
      test/sources/solidity/contracts/conditional/sameline-consequent.sol
  85. 4
      test/sources/solidity/contracts/conditional/variable-decl-assignment-alternate.sol
  86. 2
      test/sources/solidity/contracts/expressions/new-expression.sol
  87. 2
      test/sources/solidity/contracts/expressions/single-binary-expression.sol
  88. 8
      test/sources/solidity/contracts/function/abstract.sol
  89. 4
      test/sources/solidity/contracts/function/calldata.sol
  90. 9
      test/sources/solidity/contracts/function/chainable-new.sol
  91. 8
      test/sources/solidity/contracts/function/chainable-value.sol
  92. 8
      test/sources/solidity/contracts/function/chainable.sol
  93. 2
      test/sources/solidity/contracts/function/constructor-keyword.sol
  94. 4
      test/sources/solidity/contracts/function/empty-body.sol
  95. 6
      test/sources/solidity/contracts/function/function-call.sol
  96. 4
      test/sources/solidity/contracts/function/function.sol
  97. 2
      test/sources/solidity/contracts/function/modifier.sol
  98. 8
      test/sources/solidity/contracts/function/multiple.sol
  99. 2
      test/sources/solidity/contracts/if/else-if-unbracketed-multi.sol
  100. 4
      test/sources/solidity/contracts/if/else-if-without-brackets.sol
  101. Some files were not shown because too many files have changed in this diff Show More

@ -62,8 +62,8 @@
"hardhat-gas-reporter": "^1.0.1", "hardhat-gas-reporter": "^1.0.1",
"mocha": "5.2.0", "mocha": "5.2.0",
"nyc": "^14.1.1", "nyc": "^14.1.1",
"solc": "^0.5.10", "solc": "^0.7.5",
"truffle": "5.0.31", "truffle": "5.1.43",
"truffle-config": "^1.1.18" "truffle-config": "^1.1.18"
} }
} }

@ -1,5 +1,5 @@
// This contract should throw a parse error in instrumentSolidity.js // This contract should throw a parse error in instrumentSolidity.js
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract SimpleError { contract SimpleError {
uint x = 0; uint x = 0;

@ -1,4 +1,4 @@
pragma solidity >=0.4.22 <0.6.0; pragma solidity >=0.4.22 <0.8.0;
contract Migrations { contract Migrations {

@ -1,9 +1,8 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
import "./../B/ContractB2.sol"; import "./../B/ContractB2.sol";
contract ContractA is ContractB { contract ContractA is ContractB {
uint x;
constructor() public { constructor() public {
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractB { contract ContractB {

@ -8,7 +8,7 @@ module.exports={
} }
}, },
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
paths: { paths: {
sources: './contracts/A' sources: './contracts/A'

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractA { contract ContractA {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractB { contract ContractB {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractC { contract ContractC {

@ -3,7 +3,7 @@ require(__dirname + "/../plugins/nomiclabs.plugin");
module.exports = { module.exports = {
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
networks: { networks: {
coverage: { coverage: {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.5.5;
contract ContractA { contract ContractA {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractA { contract ContractA {

@ -4,7 +4,7 @@ require(__dirname + "/../plugins/nomiclabs.plugin");
module.exports = { module.exports = {
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
logger: process.env.SILENT ? { log: () => {} } : console, logger: process.env.SILENT ? { log: () => {} } : console,
}; };

@ -1,4 +1,4 @@
pragma solidity >=0.4.21 <0.6.0; pragma solidity >=0.4.21 <0.8.0;
contract RelativePathImport { contract RelativePathImport {
uint r; uint r;

@ -1,23 +0,0 @@
pragma solidity >=0.4.21 <0.6.0;
contract Migrations {
address public owner;
uint public last_completed_migration;
constructor() public {
owner = msg.sender;
}
modifier restricted() {
if (msg.sender == owner) _;
}
function setCompleted(uint completed) public restricted {
last_completed_migration = completed;
}
function upgrade(address new_address) public restricted {
Migrations upgraded = Migrations(new_address);
upgraded.setCompleted(last_completed_migration);
}
}

@ -1,3 +1,3 @@
pragma solidity >=0.4.21 <0.6.0; pragma solidity >=0.4.21 <0.8.0;
import "package/AnotherImport.sol"; import "package/AnotherImport.sol";

@ -1,4 +1,4 @@
pragma solidity >=0.4.21 <0.6.0; pragma solidity >=0.4.21 <0.8.0;
import "../assets/RelativePathImport.sol"; import "../assets/RelativePathImport.sol";
import "package/NodeModulesImport.sol"; import "package/NodeModulesImport.sol";

@ -3,7 +3,7 @@ require(__dirname + "/../plugins/nomiclabs.plugin");
module.exports = { module.exports = {
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
logger: process.env.SILENT ? { log: () => {} } : console, logger: process.env.SILENT ? { log: () => {} } : console,
}; };

@ -1,5 +0,0 @@
const Migrations = artifacts.require("Migrations");
module.exports = function(deployer) {
deployer.deploy(Migrations);
};

@ -1,4 +1,4 @@
pragma solidity >=0.4.21 <0.6.0; pragma solidity >=0.4.21 <0.8.0;
contract AnotherImport { contract AnotherImport {
uint x; uint x;

@ -1,4 +1,4 @@
pragma solidity >=0.4.21 <0.6.0; pragma solidity >=0.4.21 <0.8.0;
contract NodeModulesImport { contract NodeModulesImport {
uint x; uint x;

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
library CLibrary { library CLibrary {
uint constant x = 1; uint constant x = 1;

@ -1,4 +1,4 @@
pragma solidity >=0.4.21 <0.6.0; pragma solidity >=0.4.21 <0.8.0;
contract Migrations { contract Migrations {
address public owner; address public owner;

@ -1,14 +1,10 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract PureView { contract PureView {
// Make sure we aren't corrupting anything with the replace // Make sure we aren't corrupting anything with the replace
uint notpureview = 5; uint notpureview = 5;
// Abstract functions to inherit from an uninstrumented, imported file.
function bePure(uint a, uint b) public pure returns (uint);
function beView() public view returns (uint);
function inheritedPure(uint a, uint b) public pure returns(uint){ function inheritedPure(uint a, uint b) public pure returns(uint){
return a + b; return a + b;
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
import "./_Interface.sol"; import "./_Interface.sol";
import "./PureView.sol"; import "./PureView.sol";
@ -45,11 +45,11 @@ contract UsesPure is PureView, _Interface {
return onehundred; return onehundred;
} }
function stare(uint a, uint b) external { function stare(uint a, uint b) external override {
uint z = a + b; uint z = a + b;
} }
function cry() external { function cry() external override {
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
interface _Interface { interface _Interface {
function stare(uint a, uint b) external; function stare(uint a, uint b) external;

@ -3,7 +3,7 @@ require(__dirname + "/../plugins/nomiclabs.plugin");
module.exports = { module.exports = {
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
logger: process.env.SILENT ? { log: () => {} } : console, logger: process.env.SILENT ? { log: () => {} } : console,
}; };

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Contract_OR { contract Contract_OR {

@ -3,7 +3,7 @@ require(__dirname + "/../plugins/nomiclabs.plugin");
module.exports = { module.exports = {
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
logger: process.env.SILENT ? { log: () => {} } : console, logger: process.env.SILENT ? { log: () => {} } : console,
}; };

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractA { contract ContractA {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractB { contract ContractB {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractC { contract ContractC {

@ -1,4 +1,4 @@
pragma solidity >=0.4.21 <0.6.0; pragma solidity >=0.4.21 <0.8.0;
contract Migrations { contract Migrations {
address public owner; address public owner;

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractA { contract ContractA {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractB { contract ContractB {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractC { contract ContractC {

@ -1,23 +0,0 @@
pragma solidity >=0.4.21 <0.6.0;
contract Migrations {
address public owner;
uint public last_completed_migration;
constructor() public {
owner = msg.sender;
}
modifier restricted() {
if (msg.sender == owner) _;
}
function setCompleted(uint completed) public restricted {
last_completed_migration = completed;
}
function upgrade(address new_address) public restricted {
Migrations upgraded = Migrations(new_address);
upgraded.setCompleted(last_completed_migration);
}
}

@ -8,7 +8,7 @@ module.exports={
} }
}, },
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
logger: process.env.SILENT ? { log: () => {} } : console, logger: process.env.SILENT ? { log: () => {} } : console,
}; };

@ -2,6 +2,8 @@ module.exports = {
networks: {}, networks: {},
mocha: {}, mocha: {},
compilers: { compilers: {
solc: {} solc: {
version: "0.7.3"
}
} }
} }

@ -3,7 +3,7 @@ require(__dirname + "/../plugins/nomiclabs.plugin");
module.exports = { module.exports = {
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
logger: process.env.SILENT ? { log: () => {} } : console, logger: process.env.SILENT ? { log: () => {} } : console,
}; };

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractA { contract ContractA {

@ -1,23 +0,0 @@
pragma solidity >=0.4.21 <0.6.0;
contract Migrations {
address public owner;
uint public last_completed_migration;
constructor() public {
owner = msg.sender;
}
modifier restricted() {
if (msg.sender == owner) _;
}
function setCompleted(uint completed) public restricted {
last_completed_migration = completed;
}
function upgrade(address new_address) public restricted {
Migrations upgraded = Migrations(new_address);
upgraded.setCompleted(last_completed_migration);
}
}

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractB { contract ContractB {

@ -3,7 +3,7 @@ require(__dirname + "/../plugins/nomiclabs.plugin");
module.exports = { module.exports = {
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
logger: process.env.SILENT ? { log: () => {} } : console, logger: process.env.SILENT ? { log: () => {} } : console,
}; };

@ -1,5 +0,0 @@
const Migrations = artifacts.require("Migrations");
module.exports = function(deployer) {
deployer.deploy(Migrations);
};

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractA { contract ContractA {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractB { contract ContractB {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractC { contract ContractC {

@ -1,4 +1,4 @@
pragma solidity >=0.4.21 <0.6.0; pragma solidity >=0.4.21 <0.8.0;
contract Migrations { contract Migrations {
address public owner; address public owner;

@ -3,7 +3,7 @@ require(__dirname + "/../plugins/nomiclabs.plugin");
module.exports = { module.exports = {
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
logger: process.env.SILENT ? { log: () => {} } : console, logger: process.env.SILENT ? { log: () => {} } : console,
}; };

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractA { contract ContractA {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractB { contract ContractB {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract ContractC { contract ContractC {

@ -1,23 +0,0 @@
pragma solidity >=0.4.21 <0.6.0;
contract Migrations {
address public owner;
uint public last_completed_migration;
constructor() public {
owner = msg.sender;
}
modifier restricted() {
if (msg.sender == owner) _;
}
function setCompleted(uint completed) public restricted {
last_completed_migration = completed;
}
function upgrade(address new_address) public restricted {
Migrations upgraded = Migrations(new_address);
upgraded.setCompleted(last_completed_migration);
}
}

@ -3,7 +3,7 @@ require(__dirname + "/../plugins/nomiclabs.plugin");
module.exports = { module.exports = {
solidity: { solidity: {
version: "0.5.15" version: "0.7.3"
}, },
logger: process.env.SILENT ? { log: () => {} } : console, logger: process.env.SILENT ? { log: () => {} } : console,
}; };

@ -16,9 +16,5 @@ contract('Wallet', accounts => {
await walletA.transferPayment(50, walletB.address, { await walletA.transferPayment(50, walletB.address, {
from: accounts[0], from: accounts[0],
}); });
// Throws invalid opcode if compiled w/ solc >= 0.5.14 & default EVM version
const balance = await walletB.getBalance();
assert.equal(balance.toNumber(), 100);
}); });
}); });

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Empty { contract Empty {
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Events { contract Events {
uint x = 0; uint x = 0;
@ -10,12 +10,12 @@ contract Events {
function test(uint val) public { function test(uint val) public {
// Assert / Require events // Assert / Require events
require(true); require(true);
// Contract Events // Contract Events
emit LogEventOne(100, msg.sender); emit LogEventOne(100, msg.sender);
x = x + val; x = x + val;
emit LogEventTwo(200, msg.sender); emit LogEventTwo(200, msg.sender);
// Branch events // Branch events
if (true) { if (true) {
a = false; a = false;

@ -2,7 +2,7 @@
// Block gas limit is: 0x47e7c4 // Block gas limit is: 0x47e7c4
// Should throw out of gas on unmodified truffle // Should throw out of gas on unmodified truffle
// Should pass solcover truffle // Should pass solcover truffle
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Expensive { contract Expensive {
mapping (uint => address) map; mapping (uint => address) map;
@ -11,4 +11,4 @@ contract Expensive {
map[i] = address(this); map[i] = address(this);
} }
} }
} }

@ -1,5 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Migrations { contract Migrations {
address public owner; address public owner;

@ -1,12 +1,12 @@
/** /**
* This contract contains a single function that is accessed using method.call * This contract contains a single function that is accessed using method.call
* With an unpatched testrpc it should not generate any events. * With an unpatched testrpc it should not generate any events.
*/ */
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract OnlyCall { contract OnlyCall {
function addTwo(uint val) public pure returns (uint){ function addTwo(uint val) public pure returns (uint){
val = val + 2; val = val + 2;
return val; return val;
} }
} }

@ -1,6 +1,6 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Owned { contract Owned {
constructor() public { owner = msg.sender; } constructor() public { owner = msg.sender; }
address owner; address owner;
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
import "./Owned.sol"; import "./Owned.sol";
@ -10,4 +10,4 @@ contract Proxy is Owned {
return false; return false;
} }
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.3; pragma solidity ^0.7.0;
contract Simple { contract Simple {
uint x = 0; uint x = 0;
@ -10,4 +10,4 @@ contract Simple {
function getX() public view returns (uint){ function getX() public view returns (uint){
return x; return x;
} }
} }

@ -1,6 +1,6 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
address a; address a;
address a; address a;
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.3; pragma solidity ^0.7.0;
contract Unparseable { contract Unparseable {
uint x = 0; uint x = 0;

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Wallet { contract Wallet {
@ -16,9 +16,9 @@ contract Wallet {
return address(this).balance; return address(this).balance;
} }
function() external payable receive() external payable
{ {
if (msg.value > 0) if (msg.value > 0)
emit Deposit(msg.sender, msg.value); emit Deposit(msg.sender, msg.value);
} }
} }

@ -1,9 +1,7 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
/// @notice Checks if a given address is whitelisted
/// @return true if address is whitelisted, false if not
function isWhitelisted function isWhitelisted
( (
address _address address _address
@ -22,7 +20,7 @@ contract Test {
// staticcall(g, a, in, insize, out, outsize) => returns 0 on error, 1 on success // staticcall(g, a, in, insize, out, outsize) => returns 0 on error, 1 on success
let result := staticcall( let result := staticcall(
gas, // g = gas: whatever was passed already gas(), // g = gas: whatever was passed already
_whitelistContract, // a = address: _whitelist address assigned from getContractAddress() _whitelistContract, // a = address: _whitelist address assigned from getContractAddress()
_pointer, // in = mem in mem[in..(in+insize): set to _pointer pointer _pointer, // in = mem in mem[in..(in+insize): set to _pointer pointer
0x24, // insize = mem insize mem[in..(in+insize): size of signature (bytes4) + bytes32 = 0x24 0x24, // insize = mem insize mem[in..(in+insize): size of signature (bytes4) + bytes32 = 0x24

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() public {
@ -15,4 +15,4 @@ contract Test {
} }
} }
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(bool test) public { function a(bool test) public {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function getBool(bool _b) public pure returns (bool){ function getBool(bool _b) public pure returns (bool){

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function getBool(bool _b) public pure returns (bool){ function getBool(bool _b) public pure returns (bool){

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(bool _a, bool _b, bool _c) public { function a(bool _a, bool _b, bool _c) public {
@ -6,4 +6,4 @@ contract Test {
_b && _b &&
_c); _c);
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test {//Comment immediately after contract declaration contract Test {//Comment immediately after contract declaration
function a(bool test) public { function a(bool test) public {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(bool test) public {//Comment immediately after function declaration function a(bool test) public {//Comment immediately after function declaration

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(bool x) public { function a(bool x) public {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(bool test) public { function a(bool test) public {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() public {
@ -6,4 +6,4 @@ contract Test {
bool y = false; bool y = false;
bool z = (x) ? false : true; bool z = (x) ? false : true;
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() public {
@ -7,4 +7,4 @@ contract Test {
bool z = false; bool z = false;
z = (x) ? false : true; z = (x) ? false : true;
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
struct Vote { struct Vote {
@ -11,4 +11,4 @@ contract Test {
bool isYay = false; bool isYay = false;
vote.voted[msg.sender] = isYay ? 1 : 2; vote.voted[msg.sender] = isYay ? 1 : 2;
} }
} }

@ -1,11 +1,11 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() public {
bool x = false; bool x = false;
bool y = false; bool y = false;
(x) (x)
? y = false ? y = false
: y = false; : y = false;
} }
} }

@ -1,11 +1,11 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() public {
bool x = true; bool x = true;
bool y = false; bool y = false;
(x) (x)
? y = false ? y = false
: y = false; : y = false;
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() public {
@ -6,4 +6,4 @@ contract Test {
bool y = false; bool y = false;
(x) ? y = false : y = false; (x) ? y = false : y = false;
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() public {
@ -6,4 +6,4 @@ contract Test {
bool y = false; bool y = false;
(x) ? y = false : y = false; (x) ? y = false : y = false;
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() public {
@ -6,4 +6,4 @@ contract Test {
bool y = false; bool y = false;
bool z = (x) ? false : true; bool z = (x) ? false : true;
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(uint x) public { function a(uint x) public {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(uint x) public { function a(uint x) public {

@ -1,5 +1,5 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { abstract contract Test {
function abstractFn(uint x) public; function abstractFn(uint x) virtual public;
} }

@ -1,6 +1,6 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(string calldata x) external { function a(string calldata x) external {
x; x;
} }

@ -1,12 +1,11 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
// This is for a test that verifies solcover can instrument a
// This is for a test that verifies solcover can instrument a
// chained constructor/method call invoked by the new operator. // chained constructor/method call invoked by the new operator.
contract Chainable { contract Chainable {
function chainWith(uint y, uint z) public {} function chainWith(uint y, uint z) public {}
} }
contract Test { contract Test {
function a() public { function a() public {
new Chainable().chainWith(3, 4); new Chainable().chainWith(3, 4);
} }
} }

@ -1,12 +1,12 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
// This is for a test that verifies solcover can instrument a // This is for a test that verifies solcover can instrument a
// another kind of long CallExpression chain // another kind of long CallExpression chain
contract Test { contract Test {
function paySomeone(address x, address y) public payable { function paySomeone(address x, address y) public payable {
} }
function a() public payable { function a() public payable {
Test(0x00).paySomeone.value(msg.value)(0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000); Test(0x00).paySomeone{value: msg.value}(0x0000000000000000000000000000000000000000, 0x0000000000000000000000000000000000000000);
} }
} }

@ -1,11 +1,11 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
// This is for a test that verifies solcover can instrument a // This is for a test that verifies solcover can instrument a
// chained constructor/method call. // chained constructor/method call.
contract Test { contract Test {
function chainWith(uint y, uint z) public {} function chainWith(uint y, uint z) public {}
function a() public { function a() public {
Test(0x00).chainWith(3, 4); Test(0x00).chainWith(3, 4);
} }
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract UsesConstructor { contract UsesConstructor {
uint z; uint z;

@ -1,5 +1,5 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function emptyBody(uint x) public {} function emptyBody(uint x) public {}
} }

@ -1,9 +1,9 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
// This test verifies that an invoked function gets logged as a statement // This test verifies that an invoked function gets logged as a statement
contract Test { contract Test {
function loggedAsStatement(uint x) public {} function loggedAsStatement(uint x) public {}
function a() public { function a() public {
loggedAsStatement(5); loggedAsStatement(5);
} }
} }

@ -1,6 +1,6 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(bytes32 x) public { function a(bytes32 x) public {
x; x;
} }

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
modifier b(){ modifier b(){

@ -1,10 +1,10 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function f1(uint x) public { function f1(uint x) public {
x = 1; x = 1;
} }
function f2(uint x) public { x = 2; } function f2(uint x) public { x = 2; }
address a; address a;
@ -12,4 +12,4 @@ contract Test {
function f3(uint y) public { function f3(uint y) public {
y = 1; y = 1;
} }
} }

@ -1,4 +1,4 @@
pragma solidity >=0.4.22 <0.6.0; pragma solidity >=0.4.22 <0.8.0;
contract Test { contract Test {
mapping (address => uint) balances; mapping (address => uint) balances;

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a(uint x) public { function a(uint x) public {
@ -7,4 +7,4 @@ contract Test {
} else if (x == 50) } else if (x == 50)
x = 5; x = 5;
} }
} }

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save