Unverified Commit 19c74140 by Nicolás Venturo Committed by GitHub

Bump minimum Solidity version to 0.5.7 (#1724)

* Bump Solidity version to 0.5.7

* Add changelog entry.
parent 5e46cf6d
......@@ -7,6 +7,9 @@
implementers there. ([#1677](https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1677))
* `ERC777`: initial support for the [ERC777 token](https://eips.ethereum.org/EIPS/eip-777), which has multiple improvements over `ERC20` such as built-in burning, a more straightforward permission system, and optional sender and receiver hooks on transfer (mandatory for contracts!). ([#1684](https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1684))
### Improvements:
* Upgraded the minimum compiler version to v0.5.7: this prevents users from encountering compiler bugs that were fixed in this version. ([#1724](https://github.com/OpenZeppelin/openzeppelin-solidity/pull/1724))
## 2.2.0 (2019-03-14)
### New features:
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title Roles
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Roles.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Roles.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Roles.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Roles.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Roles.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Roles.sol";
import "./WhitelistAdminRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../math/SafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../../math/SafeMath.sol";
import "../validation/TimedCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../validation/TimedCrowdsale.sol";
import "../../math/SafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../../math/SafeMath.sol";
import "./FinalizableCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./RefundableCrowdsale.sol";
import "./PostDeliveryCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Crowdsale.sol";
import "../../token/ERC20/IERC20.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Crowdsale.sol";
import "../../token/ERC20/ERC20Mintable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../validation/TimedCrowdsale.sol";
import "../../math/SafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../../math/SafeMath.sol";
import "../Crowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../../math/SafeMath.sol";
import "../Crowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Crowdsale.sol";
import "../../lifecycle/Pausable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../../math/SafeMath.sol";
import "../Crowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../Crowdsale.sol";
import "../../access/roles/WhitelistedRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title Elliptic curve signature operations
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title MerkleProof
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../math/SafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../../token/ERC20/IERC20.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC1820Implementer.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../token/ERC20/ERC20Mintable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../math/SafeMath.sol";
import "../utils/Arrays.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC777.sol";
import "./IERC777Recipient.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title ERC777 token interface
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title ERC777 token recipient interface
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title ERC777 token sender interface
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title IERC1820Implementer
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title ERC1820 Pseudo-introspection Registry Contract
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../access/roles/SignerRole.sol";
import "../cryptography/ECDSA.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title SignedSafeMath
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/SafeERC20.sol";
import "../ownership/Ownable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../crowdsale/validation/CappedCrowdsale.sol";
import "../crowdsale/distribution/RefundableCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/ERC20.sol";
import "../token/ERC20/ERC20Detailed.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC165.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title ERC165Checker
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title IERC165
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../access/roles/PauserRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title Math
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title SafeMath
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../utils/Address.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../crowdsale/emission/AllowanceCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../utils/Arrays.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../crowdsale/validation/CappedCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../access/roles/CapperRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../payment/escrow/ConditionalEscrow.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../drafts/Counters.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../crowdsale/Crowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../cryptography/ECDSA.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../../introspection/IERC165.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
contract ERC165NotSupported {
// solhint-disable-previous-line no-empty-blocks
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../introspection/ERC165Checker.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../introspection/ERC165.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../drafts/ERC1820Implementer.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/ERC20Burnable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/ERC20.sol";
import "../token/ERC20/ERC20Detailed.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/ERC20.sol";
import "../drafts/ERC1046/ERC20Metadata.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/ERC20Mintable.sol";
import "./MinterRoleMock.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/ERC20.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/ERC20Pausable.sol";
import "./PauserRoleMock.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../drafts/ERC20Snapshot.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC721/ERC721Full.sol";
import "../token/ERC721/ERC721Mintable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC721/ERC721Full.sol";
import "../token/ERC721/ERC721Mintable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC721/ERC721.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC721/ERC721Pausable.sol";
import "./PauserRoleMock.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC721/IERC721Receiver.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../drafts/ERC777/ERC777.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../drafts/ERC777/IERC777.sol";
import "../drafts/ERC777/IERC777Sender.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../crowdsale/distribution/FinalizableCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../crowdsale/price/IncreasingPriceCrowdsale.sol";
import "../math/SafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../crowdsale/validation/IndividuallyCappedCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../math/Math.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import { MerkleProof } from "../cryptography/MerkleProof.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/ERC20Mintable.sol";
import "../crowdsale/emission/MintedCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../access/roles/MinterRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../ownership/Ownable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../ownership/Ownable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/ERC20.sol";
import "../crowdsale/validation/PausableCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../lifecycle/Pausable.sol";
import "./PauserRoleMock.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../access/roles/PauserRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../crowdsale/distribution/PostDeliveryCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../payment/PullPayment.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
contract ReentrancyAttack {
function callSender(bytes4 data) public {
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../utils/ReentrancyGuard.sol";
import "./ReentrancyAttack.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../crowdsale/distribution/RefundableCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../crowdsale/distribution/RefundablePostDeliveryCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../access/Roles.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../token/ERC20/SafeERC20.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../math/SafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../ownership/Secondary.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../drafts/SignatureBouncer.sol";
import "./SignerRoleMock.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../drafts/SignedSafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../access/roles/SignerRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../crowdsale/validation/TimedCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../access/roles/WhitelistAdminRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../token/ERC20/IERC20.sol";
import "../crowdsale/validation/WhitelistCrowdsale.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../access/roles/WhitelistedRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title Ownable
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title Secondary
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../math/SafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./escrow/Escrow.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./Escrow.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../../math/SafeMath.sol";
import "../../ownership/Secondary.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ConditionalEscrow.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC20.sol";
import "../../math/SafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC20.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC20Mintable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC20.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC20.sol";
import "../../access/roles/MinterRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC20.sol";
import "../../lifecycle/Pausable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title ERC20 interface
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC20.sol";
import "../../math/SafeMath.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./SafeERC20.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC721.sol";
import "./IERC721Receiver.sol";
......@@ -42,7 +42,7 @@ contract ERC721 is ERC165, IERC721 {
* bytes4(keccak256('transferFrom(address,address,uint256)')) == 0x23b872dd
* bytes4(keccak256('safeTransferFrom(address,address,uint256)')) == 0x42842e0e
* bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)')) == 0xb88d4fde
*
*
* => 0x70a08231 ^ 0x6352211e ^ 0x095ea7b3 ^ 0x081812fc ^
* 0xa22cb465 ^ 0xe985e9c ^ 0x23b872dd ^ 0x42842e0e ^ 0xb88d4fde == 0x80ac58cd
*/
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC721.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC721Enumerable.sol";
import "./ERC721.sol";
......@@ -21,12 +21,12 @@ contract ERC721Enumerable is ERC165, ERC721, IERC721Enumerable {
// Mapping from token id to position in the allTokens array
mapping(uint256 => uint256) private _allTokensIndex;
/*
/*
* bytes4(keccak256('totalSupply()')) == 0x18160ddd
* bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) == 0x2f745c59
* bytes4(keccak256('tokenByIndex(uint256)')) == 0x4f6ccce7
*
* => 0x18160ddd ^ 0x2f745c59 ^ 0x4f6ccce7 == 0x780e9d63
*
* => 0x18160ddd ^ 0x2f745c59 ^ 0x4f6ccce7 == 0x780e9d63
*/
bytes4 private constant _INTERFACE_ID_ERC721_ENUMERABLE = 0x780e9d63;
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC721.sol";
import "./ERC721Enumerable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC721Receiver.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC721.sol";
import "./IERC721Metadata.sol";
......@@ -18,7 +18,7 @@ contract ERC721Metadata is ERC165, ERC721, IERC721Metadata {
* bytes4(keccak256('name()')) == 0x06fdde03
* bytes4(keccak256('symbol()')) == 0x95d89b41
* bytes4(keccak256('tokenURI(uint256)')) == 0xc87b56dd
*
*
* => 0x06fdde03 ^ 0x95d89b41 ^ 0xc87b56dd == 0x5b5e139f
*/
bytes4 private constant _INTERFACE_ID_ERC721_METADATA = 0x5b5e139f;
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC721Metadata.sol";
import "../../access/roles/MinterRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC721.sol";
import "../../access/roles/MinterRole.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./ERC721.sol";
import "../../lifecycle/Pausable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../../introspection/IERC165.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC721.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC721.sol";
import "./IERC721Enumerable.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "./IERC721.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title ERC721 token receiver interface
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* Utility library of inline functions on addresses
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
import "../math/Math.sol";
......
pragma solidity ^0.5.2;
pragma solidity ^0.5.7;
/**
* @title Helps contracts guard against reentrancy attacks.
......
......@@ -18,7 +18,7 @@ module.exports = {
compilers: {
solc: {
version: '0.5.2',
version: '0.5.7',
},
},
};
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment