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. 2
      test/sources/solidity/contracts/app/Events.sol
  59. 2
      test/sources/solidity/contracts/app/Expensive.sol
  60. 3
      test/sources/solidity/contracts/app/Migrations.sol
  61. 2
      test/sources/solidity/contracts/app/OnlyCall.sol
  62. 2
      test/sources/solidity/contracts/app/Owned.sol
  63. 2
      test/sources/solidity/contracts/app/Proxy.sol
  64. 2
      test/sources/solidity/contracts/app/Simple.sol
  65. 2
      test/sources/solidity/contracts/app/SimpleError.sol
  66. 2
      test/sources/solidity/contracts/app/Unparseable.sol
  67. 4
      test/sources/solidity/contracts/app/Wallet.sol
  68. 6
      test/sources/solidity/contracts/assembly/if.sol
  69. 2
      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. 2
      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. 2
      test/sources/solidity/contracts/conditional/declarative-exp-assignment-alternate.sol
  79. 2
      test/sources/solidity/contracts/conditional/identifier-assignment-alternate.sol
  80. 2
      test/sources/solidity/contracts/conditional/mapping-assignment.sol
  81. 2
      test/sources/solidity/contracts/conditional/multiline-alternate.sol
  82. 2
      test/sources/solidity/contracts/conditional/multiline-consequent.sol
  83. 2
      test/sources/solidity/contracts/conditional/sameline-alternate.sol
  84. 2
      test/sources/solidity/contracts/conditional/sameline-consequent.sol
  85. 2
      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. 6
      test/sources/solidity/contracts/function/abstract.sol
  89. 2
      test/sources/solidity/contracts/function/calldata.sol
  90. 3
      test/sources/solidity/contracts/function/chainable-new.sol
  91. 4
      test/sources/solidity/contracts/function/chainable-value.sol
  92. 2
      test/sources/solidity/contracts/function/chainable.sol
  93. 2
      test/sources/solidity/contracts/function/constructor-keyword.sol
  94. 2
      test/sources/solidity/contracts/function/empty-body.sol
  95. 2
      test/sources/solidity/contracts/function/function-call.sol
  96. 2
      test/sources/solidity/contracts/function/function.sol
  97. 2
      test/sources/solidity/contracts/function/modifier.sol
  98. 2
      test/sources/solidity/contracts/function/multiple.sol
  99. 2
      test/sources/solidity/contracts/if/else-if-unbracketed-multi.sol
  100. 2
      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;

@ -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;

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

@ -2,7 +2,7 @@
* 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){

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

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
import "./Owned.sol"; import "./Owned.sol";

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

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
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,7 +16,7 @@ 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 {

@ -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 {

@ -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 {

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

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
struct Vote { struct Vote {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() 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 {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() 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 {

@ -1,4 +1,4 @@
pragma solidity ^0.5.0; pragma solidity ^0.7.0;
contract Test { contract Test {
function a() public { function a() 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,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,4 +1,4 @@
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 {

@ -1,5 +1,4 @@
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 {

@ -1,4 +1,4 @@
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
@ -7,6 +7,6 @@ contract Test {
} }
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,4 +1,4 @@
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.

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

@ -1,4 +1,4 @@
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,4 +1,4 @@
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 {

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

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

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

@ -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 {

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

Loading…
Cancel
Save