diff --git a/.solhint.json b/.solhint.json index 82f1dbede..b131847ba 100644 --- a/.solhint.json +++ b/.solhint.json @@ -4,7 +4,7 @@ "func-order": "off", "mark-callable-contracts": "off", "no-empty-blocks": "off", - "compiler-version": ["error", "^0.6.0"], + "compiler-version": ["error", "^0.7.0"], "private-vars-leading-underscore": "error" } } diff --git a/README.md b/README.md index 0c993c135..cfadb9c69 100644 --- a/README.md +++ b/README.md @@ -28,12 +28,12 @@ OpenZeppelin Contracts features a [stable API](https://docs.openzeppelin.com/con Once installed, you can use the contracts in the library by importing them: ```solidity -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; contract MyCollectible is ERC721 { - constructor() ERC721("MyCollectible", "MCO") public { + constructor() ERC721("MyCollectible", "MCO") { } } ``` diff --git a/contracts/GSN/Context.sol b/contracts/GSN/Context.sol index 337acb193..26e56a02d 100644 --- a/contracts/GSN/Context.sol +++ b/contracts/GSN/Context.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /* * @dev Provides information about the current execution context, including the diff --git a/contracts/GSN/GSNRecipient.sol b/contracts/GSN/GSNRecipient.sol index a719ab87f..dd941f9e9 100644 --- a/contracts/GSN/GSNRecipient.sol +++ b/contracts/GSN/GSNRecipient.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./IRelayRecipient.sol"; import "./IRelayHub.sol"; diff --git a/contracts/GSN/GSNRecipientERC20Fee.sol b/contracts/GSN/GSNRecipientERC20Fee.sol index 240532556..ad5dee054 100644 --- a/contracts/GSN/GSNRecipientERC20Fee.sol +++ b/contracts/GSN/GSNRecipientERC20Fee.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./GSNRecipient.sol"; import "../math/SafeMath.sol"; @@ -30,7 +30,7 @@ contract GSNRecipientERC20Fee is GSNRecipient { /** * @dev The arguments to the constructor are the details that the gas payment token will have: `name` and `symbol`. `decimals` is hard-coded to 18. */ - constructor(string memory name, string memory symbol) public { + constructor(string memory name, string memory symbol) { _token = new __unstable__ERC20Owned(name, symbol); } @@ -116,7 +116,7 @@ contract GSNRecipientERC20Fee is GSNRecipient { contract __unstable__ERC20Owned is ERC20, Ownable { uint256 private constant _UINT256_MAX = 2**256 - 1; - constructor(string memory name, string memory symbol) public ERC20(name, symbol) { } + constructor(string memory name, string memory symbol) ERC20(name, symbol) { } // The owner (GSNRecipientERC20Fee) can mint tokens function mint(address account, uint256 amount) public onlyOwner { diff --git a/contracts/GSN/GSNRecipientSignature.sol b/contracts/GSN/GSNRecipientSignature.sol index ee514de6e..3955db595 100644 --- a/contracts/GSN/GSNRecipientSignature.sol +++ b/contracts/GSN/GSNRecipientSignature.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./GSNRecipient.sol"; import "../cryptography/ECDSA.sol"; @@ -23,7 +23,7 @@ contract GSNRecipientSignature is GSNRecipient { /** * @dev Sets the trusted signer that is going to be producing signatures to approve relayed calls. */ - constructor(address trustedSigner) public { + constructor(address trustedSigner) { require(trustedSigner != address(0), "GSNRecipientSignature: trusted signer is the zero address"); _trustedSigner = trustedSigner; } diff --git a/contracts/GSN/IRelayHub.sol b/contracts/GSN/IRelayHub.sol index 30b0ab951..774add719 100644 --- a/contracts/GSN/IRelayHub.sol +++ b/contracts/GSN/IRelayHub.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Interface for `RelayHub`, the core contract of the GSN. Users should not need to interact with this contract diff --git a/contracts/GSN/IRelayRecipient.sol b/contracts/GSN/IRelayRecipient.sol index be0ffe56f..843338fd1 100644 --- a/contracts/GSN/IRelayRecipient.sol +++ b/contracts/GSN/IRelayRecipient.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Base interface for a contract that will be called via the GSN from {IRelayHub}. diff --git a/contracts/access/AccessControl.sol b/contracts/access/AccessControl.sol index 27ba9e8dc..42c8d2560 100644 --- a/contracts/access/AccessControl.sol +++ b/contracts/access/AccessControl.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/EnumerableSet.sol"; import "../utils/Address.sol"; diff --git a/contracts/access/Ownable.sol b/contracts/access/Ownable.sol index 353e79c2c..e68731881 100644 --- a/contracts/access/Ownable.sol +++ b/contracts/access/Ownable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/Context.sol"; /** @@ -23,7 +23,7 @@ contract Ownable is Context { /** * @dev Initializes the contract setting the deployer as the initial owner. */ - constructor () internal { + constructor () { address msgSender = _msgSender(); _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); diff --git a/contracts/cryptography/ECDSA.sol b/contracts/cryptography/ECDSA.sol index 5a85ed963..59c328e20 100644 --- a/contracts/cryptography/ECDSA.sol +++ b/contracts/cryptography/ECDSA.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations. diff --git a/contracts/cryptography/MerkleProof.sol b/contracts/cryptography/MerkleProof.sol index 8a5fc90f5..7207cb584 100644 --- a/contracts/cryptography/MerkleProof.sol +++ b/contracts/cryptography/MerkleProof.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev These functions deal with verification of Merkle trees (hash trees), diff --git a/contracts/introspection/ERC165.sol b/contracts/introspection/ERC165.sol index 8f34a88ac..5a0ca2425 100644 --- a/contracts/introspection/ERC165.sol +++ b/contracts/introspection/ERC165.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./IERC165.sol"; @@ -21,7 +21,7 @@ contract ERC165 is IERC165 { */ mapping(bytes4 => bool) private _supportedInterfaces; - constructor () internal { + constructor () { // Derived contracts need only register support for their own interfaces, // we register support for ERC165 itself here _registerInterface(_INTERFACE_ID_ERC165); diff --git a/contracts/introspection/ERC165Checker.sol b/contracts/introspection/ERC165Checker.sol index 5469e020a..03ed537ee 100644 --- a/contracts/introspection/ERC165Checker.sol +++ b/contracts/introspection/ERC165Checker.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.2; +pragma solidity ^0.7.0; /** * @dev Library used to query support of an interface declared via {IERC165}. diff --git a/contracts/introspection/ERC1820Implementer.sol b/contracts/introspection/ERC1820Implementer.sol index df740a7a5..dd7731c1c 100644 --- a/contracts/introspection/ERC1820Implementer.sol +++ b/contracts/introspection/ERC1820Implementer.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./IERC1820Implementer.sol"; diff --git a/contracts/introspection/IERC165.sol b/contracts/introspection/IERC165.sol index 425458d69..4d5d76684 100644 --- a/contracts/introspection/IERC165.sol +++ b/contracts/introspection/IERC165.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Interface of the ERC165 standard, as defined in the diff --git a/contracts/introspection/IERC1820Implementer.sol b/contracts/introspection/IERC1820Implementer.sol index 1eb89e78d..024c759d3 100644 --- a/contracts/introspection/IERC1820Implementer.sol +++ b/contracts/introspection/IERC1820Implementer.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Interface for an ERC1820 implementer, as defined in the diff --git a/contracts/introspection/IERC1820Registry.sol b/contracts/introspection/IERC1820Registry.sol index be92e465a..cd9bd5b4e 100644 --- a/contracts/introspection/IERC1820Registry.sol +++ b/contracts/introspection/IERC1820Registry.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Interface of the global ERC1820 Registry, as defined in the diff --git a/contracts/math/Math.sol b/contracts/math/Math.sol index ec4ac227d..a4c5c4eac 100644 --- a/contracts/math/Math.sol +++ b/contracts/math/Math.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Standard math utilities missing in the Solidity language. diff --git a/contracts/math/SafeMath.sol b/contracts/math/SafeMath.sol index 80490effe..4b2a49d47 100644 --- a/contracts/math/SafeMath.sol +++ b/contracts/math/SafeMath.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow diff --git a/contracts/math/SignedSafeMath.sol b/contracts/math/SignedSafeMath.sol index a8f51dc3d..6eee7d093 100644 --- a/contracts/math/SignedSafeMath.sol +++ b/contracts/math/SignedSafeMath.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @title SignedSafeMath diff --git a/contracts/mocks/AccessControlMock.sol b/contracts/mocks/AccessControlMock.sol index 2f31a7a69..7cd2c8e33 100644 --- a/contracts/mocks/AccessControlMock.sol +++ b/contracts/mocks/AccessControlMock.sol @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../access/AccessControl.sol"; contract AccessControlMock is AccessControl { - constructor() public { + constructor() { _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); } diff --git a/contracts/mocks/AddressImpl.sol b/contracts/mocks/AddressImpl.sol index 19dcb15b4..fa3d887c0 100644 --- a/contracts/mocks/AddressImpl.sol +++ b/contracts/mocks/AddressImpl.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/Address.sol"; diff --git a/contracts/mocks/ArraysImpl.sol b/contracts/mocks/ArraysImpl.sol index b4bfcf1fb..0302b2662 100644 --- a/contracts/mocks/ArraysImpl.sol +++ b/contracts/mocks/ArraysImpl.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/Arrays.sol"; @@ -9,7 +9,7 @@ contract ArraysImpl { uint256[] private _array; - constructor (uint256[] memory array) public { + constructor (uint256[] memory array) { _array = array; } diff --git a/contracts/mocks/CallReceiverMock.sol b/contracts/mocks/CallReceiverMock.sol index 2e3297617..139ac1eeb 100644 --- a/contracts/mocks/CallReceiverMock.sol +++ b/contracts/mocks/CallReceiverMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; contract CallReceiverMock { diff --git a/contracts/mocks/ConditionalEscrowMock.sol b/contracts/mocks/ConditionalEscrowMock.sol index a93b2d760..518481e95 100644 --- a/contracts/mocks/ConditionalEscrowMock.sol +++ b/contracts/mocks/ConditionalEscrowMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../payment/escrow/ConditionalEscrow.sol"; diff --git a/contracts/mocks/ContextMock.sol b/contracts/mocks/ContextMock.sol index ec7c8844c..6080971cb 100644 --- a/contracts/mocks/ContextMock.sol +++ b/contracts/mocks/ContextMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/Context.sol"; diff --git a/contracts/mocks/CountersImpl.sol b/contracts/mocks/CountersImpl.sol index 46f9ef9e0..4f8a49afb 100644 --- a/contracts/mocks/CountersImpl.sol +++ b/contracts/mocks/CountersImpl.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/Counters.sol"; diff --git a/contracts/mocks/Create2Impl.sol b/contracts/mocks/Create2Impl.sol index 542f0fc4e..06b76435d 100644 --- a/contracts/mocks/Create2Impl.sol +++ b/contracts/mocks/Create2Impl.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/Create2.sol"; import "../introspection/ERC1820Implementer.sol"; diff --git a/contracts/mocks/ECDSAMock.sol b/contracts/mocks/ECDSAMock.sol index d1e135000..efb0c79f8 100644 --- a/contracts/mocks/ECDSAMock.sol +++ b/contracts/mocks/ECDSAMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../cryptography/ECDSA.sol"; diff --git a/contracts/mocks/ERC1155BurnableMock.sol b/contracts/mocks/ERC1155BurnableMock.sol index cce25894b..9e77288a6 100644 --- a/contracts/mocks/ERC1155BurnableMock.sol +++ b/contracts/mocks/ERC1155BurnableMock.sol @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC1155/ERC1155Burnable.sol"; contract ERC1155BurnableMock is ERC1155Burnable { - constructor(string memory uri) public ERC1155(uri) { } + constructor(string memory uri) ERC1155(uri) { } function mint(address to, uint256 id, uint256 value, bytes memory data) public { _mint(to, id, value, data); diff --git a/contracts/mocks/ERC1155Mock.sol b/contracts/mocks/ERC1155Mock.sol index 5b66cfe8e..f403745f3 100644 --- a/contracts/mocks/ERC1155Mock.sol +++ b/contracts/mocks/ERC1155Mock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC1155/ERC1155.sol"; @@ -9,7 +9,7 @@ import "../token/ERC1155/ERC1155.sol"; * This mock just publicizes internal functions for testing purposes */ contract ERC1155Mock is ERC1155 { - constructor (string memory uri) public ERC1155(uri) { + constructor (string memory uri) ERC1155(uri) { // solhint-disable-previous-line no-empty-blocks } diff --git a/contracts/mocks/ERC1155PausableMock.sol b/contracts/mocks/ERC1155PausableMock.sol index d76fe8123..5c3bb1764 100644 --- a/contracts/mocks/ERC1155PausableMock.sol +++ b/contracts/mocks/ERC1155PausableMock.sol @@ -1,12 +1,12 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./ERC1155Mock.sol"; import "../token/ERC1155/ERC1155Pausable.sol"; contract ERC1155PausableMock is ERC1155Mock, ERC1155Pausable { - constructor(string memory uri) public ERC1155Mock(uri) { } + constructor(string memory uri) ERC1155Mock(uri) { } function pause() external { _pause(); diff --git a/contracts/mocks/ERC1155ReceiverMock.sol b/contracts/mocks/ERC1155ReceiverMock.sol index 145c16352..f5925f8e1 100644 --- a/contracts/mocks/ERC1155ReceiverMock.sol +++ b/contracts/mocks/ERC1155ReceiverMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC1155/IERC1155Receiver.sol"; import "./ERC165Mock.sol"; @@ -20,7 +20,6 @@ contract ERC1155ReceiverMock is IERC1155Receiver, ERC165Mock { bytes4 batRetval, bool batReverts ) - public { _recRetval = recRetval; _recReverts = recReverts; diff --git a/contracts/mocks/ERC165/ERC165InterfacesSupported.sol b/contracts/mocks/ERC165/ERC165InterfacesSupported.sol index 32a430c2e..55002cc06 100644 --- a/contracts/mocks/ERC165/ERC165InterfacesSupported.sol +++ b/contracts/mocks/ERC165/ERC165InterfacesSupported.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../../introspection/IERC165.sol"; @@ -29,7 +29,7 @@ contract SupportsInterfaceWithLookupMock is IERC165 { * @dev A contract implementing SupportsInterfaceWithLookup * implement ERC165 itself. */ - constructor () public { + constructor () { _registerInterface(INTERFACE_ID_ERC165); } @@ -50,7 +50,7 @@ contract SupportsInterfaceWithLookupMock is IERC165 { } contract ERC165InterfacesSupported is SupportsInterfaceWithLookupMock { - constructor (bytes4[] memory interfaceIds) public { + constructor (bytes4[] memory interfaceIds) { for (uint256 i = 0; i < interfaceIds.length; i++) { _registerInterface(interfaceIds[i]); } diff --git a/contracts/mocks/ERC165/ERC165NotSupported.sol b/contracts/mocks/ERC165/ERC165NotSupported.sol index 0a8a2f8cc..cbc584d16 100644 --- a/contracts/mocks/ERC165/ERC165NotSupported.sol +++ b/contracts/mocks/ERC165/ERC165NotSupported.sol @@ -1,5 +1,5 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; contract ERC165NotSupported { } diff --git a/contracts/mocks/ERC165CheckerMock.sol b/contracts/mocks/ERC165CheckerMock.sol index 85093113f..4d6c5fd32 100644 --- a/contracts/mocks/ERC165CheckerMock.sol +++ b/contracts/mocks/ERC165CheckerMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../introspection/ERC165Checker.sol"; diff --git a/contracts/mocks/ERC165Mock.sol b/contracts/mocks/ERC165Mock.sol index 147039293..1ceb5f325 100644 --- a/contracts/mocks/ERC165Mock.sol +++ b/contracts/mocks/ERC165Mock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../introspection/ERC165.sol"; diff --git a/contracts/mocks/ERC1820ImplementerMock.sol b/contracts/mocks/ERC1820ImplementerMock.sol index 18b75672b..8908d62f1 100644 --- a/contracts/mocks/ERC1820ImplementerMock.sol +++ b/contracts/mocks/ERC1820ImplementerMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../introspection/ERC1820Implementer.sol"; diff --git a/contracts/mocks/ERC20BurnableMock.sol b/contracts/mocks/ERC20BurnableMock.sol index ae777a225..7e61c1543 100644 --- a/contracts/mocks/ERC20BurnableMock.sol +++ b/contracts/mocks/ERC20BurnableMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC20/ERC20Burnable.sol"; @@ -10,7 +10,7 @@ contract ERC20BurnableMock is ERC20Burnable { string memory symbol, address initialAccount, uint256 initialBalance - ) public ERC20(name, symbol) { + ) ERC20(name, symbol) { _mint(initialAccount, initialBalance); } } diff --git a/contracts/mocks/ERC20CappedMock.sol b/contracts/mocks/ERC20CappedMock.sol index 1de31c918..23760f675 100644 --- a/contracts/mocks/ERC20CappedMock.sol +++ b/contracts/mocks/ERC20CappedMock.sol @@ -1,12 +1,12 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC20/ERC20Capped.sol"; contract ERC20CappedMock is ERC20Capped { constructor (string memory name, string memory symbol, uint256 cap) - public ERC20(name, symbol) ERC20Capped(cap) + ERC20(name, symbol) ERC20Capped(cap) { } function mint(address to, uint256 tokenId) public { diff --git a/contracts/mocks/ERC20DecimalsMock.sol b/contracts/mocks/ERC20DecimalsMock.sol index 8eaf70090..5dc69a4f0 100644 --- a/contracts/mocks/ERC20DecimalsMock.sol +++ b/contracts/mocks/ERC20DecimalsMock.sol @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC20/ERC20.sol"; contract ERC20DecimalsMock is ERC20 { - constructor (string memory name, string memory symbol, uint8 decimals) public ERC20(name, symbol) { + constructor (string memory name, string memory symbol, uint8 decimals) ERC20(name, symbol) { _setupDecimals(decimals); } } diff --git a/contracts/mocks/ERC20Mock.sol b/contracts/mocks/ERC20Mock.sol index 525ba6abe..743f6e690 100644 --- a/contracts/mocks/ERC20Mock.sol +++ b/contracts/mocks/ERC20Mock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC20/ERC20.sol"; @@ -11,7 +11,7 @@ contract ERC20Mock is ERC20 { string memory symbol, address initialAccount, uint256 initialBalance - ) public payable ERC20(name, symbol) { + ) payable ERC20(name, symbol) { _mint(initialAccount, initialBalance); } diff --git a/contracts/mocks/ERC20PausableMock.sol b/contracts/mocks/ERC20PausableMock.sol index a6f5cc48d..2b39f2882 100644 --- a/contracts/mocks/ERC20PausableMock.sol +++ b/contracts/mocks/ERC20PausableMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC20/ERC20Pausable.sol"; @@ -11,7 +11,7 @@ contract ERC20PausableMock is ERC20Pausable { string memory symbol, address initialAccount, uint256 initialBalance - ) public ERC20(name, symbol) { + ) ERC20(name, symbol) { _mint(initialAccount, initialBalance); } diff --git a/contracts/mocks/ERC20SnapshotMock.sol b/contracts/mocks/ERC20SnapshotMock.sol index 1fee817c8..412c18fbd 100644 --- a/contracts/mocks/ERC20SnapshotMock.sol +++ b/contracts/mocks/ERC20SnapshotMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC20/ERC20Snapshot.sol"; @@ -11,7 +11,7 @@ contract ERC20SnapshotMock is ERC20Snapshot { string memory symbol, address initialAccount, uint256 initialBalance - ) public ERC20(name, symbol) { + ) ERC20(name, symbol) { _mint(initialAccount, initialBalance); } diff --git a/contracts/mocks/ERC721BurnableMock.sol b/contracts/mocks/ERC721BurnableMock.sol index ee1ca3ff5..2b9735ef4 100644 --- a/contracts/mocks/ERC721BurnableMock.sol +++ b/contracts/mocks/ERC721BurnableMock.sol @@ -1,11 +1,11 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC721/ERC721Burnable.sol"; contract ERC721BurnableMock is ERC721Burnable { - constructor(string memory name, string memory symbol) public ERC721(name, symbol) { } + constructor(string memory name, string memory symbol) ERC721(name, symbol) { } function mint(address to, uint256 tokenId) public { _mint(to, tokenId); diff --git a/contracts/mocks/ERC721GSNRecipientMock.sol b/contracts/mocks/ERC721GSNRecipientMock.sol index e761b3f7c..c22defb00 100644 --- a/contracts/mocks/ERC721GSNRecipientMock.sol +++ b/contracts/mocks/ERC721GSNRecipientMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC721/ERC721.sol"; import "../GSN/GSNRecipient.sol"; @@ -12,7 +12,6 @@ import "../GSN/GSNRecipientSignature.sol"; */ contract ERC721GSNRecipientMock is ERC721, GSNRecipient, GSNRecipientSignature { constructor(string memory name, string memory symbol, address trustedSigner) - public ERC721(name, symbol) GSNRecipientSignature(trustedSigner) { } diff --git a/contracts/mocks/ERC721Mock.sol b/contracts/mocks/ERC721Mock.sol index f2d8ee88e..80d7eec99 100644 --- a/contracts/mocks/ERC721Mock.sol +++ b/contracts/mocks/ERC721Mock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC721/ERC721.sol"; @@ -9,7 +9,7 @@ import "../token/ERC721/ERC721.sol"; * This mock just provides a public safeMint, mint, and burn functions for testing purposes */ contract ERC721Mock is ERC721 { - constructor (string memory name, string memory symbol) public ERC721(name, symbol) { } + constructor (string memory name, string memory symbol) ERC721(name, symbol) { } function exists(uint256 tokenId) public view returns (bool) { return _exists(tokenId); diff --git a/contracts/mocks/ERC721PausableMock.sol b/contracts/mocks/ERC721PausableMock.sol index edfdc081d..0a16e5b66 100644 --- a/contracts/mocks/ERC721PausableMock.sol +++ b/contracts/mocks/ERC721PausableMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC721/ERC721Pausable.sol"; @@ -9,7 +9,7 @@ import "../token/ERC721/ERC721Pausable.sol"; * This mock just provides a public mint, burn and exists functions for testing purposes */ contract ERC721PausableMock is ERC721Pausable { - constructor (string memory name, string memory symbol) public ERC721(name, symbol) { } + constructor (string memory name, string memory symbol) ERC721(name, symbol) { } function mint(address to, uint256 tokenId) public { super._mint(to, tokenId); diff --git a/contracts/mocks/ERC721ReceiverMock.sol b/contracts/mocks/ERC721ReceiverMock.sol index 35c794ecd..0d8a370f9 100644 --- a/contracts/mocks/ERC721ReceiverMock.sol +++ b/contracts/mocks/ERC721ReceiverMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../token/ERC721/IERC721Receiver.sol"; @@ -10,7 +10,7 @@ contract ERC721ReceiverMock is IERC721Receiver { event Received(address operator, address from, uint256 tokenId, bytes data, uint256 gas); - constructor (bytes4 retval, bool reverts) public { + constructor (bytes4 retval, bool reverts) { _retval = retval; _reverts = reverts; } diff --git a/contracts/mocks/ERC777Mock.sol b/contracts/mocks/ERC777Mock.sol index 42a02a3d7..b9626d8bb 100644 --- a/contracts/mocks/ERC777Mock.sol +++ b/contracts/mocks/ERC777Mock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/Context.sol"; import "../token/ERC777/ERC777.sol"; @@ -12,7 +12,7 @@ contract ERC777Mock is Context, ERC777 { string memory name, string memory symbol, address[] memory defaultOperators - ) public ERC777(name, symbol, defaultOperators) { + ) ERC777(name, symbol, defaultOperators) { _mint(initialHolder, initialBalance, "", ""); } diff --git a/contracts/mocks/ERC777SenderRecipientMock.sol b/contracts/mocks/ERC777SenderRecipientMock.sol index 707eb0182..5c30db58c 100644 --- a/contracts/mocks/ERC777SenderRecipientMock.sol +++ b/contracts/mocks/ERC777SenderRecipientMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/Context.sol"; import "../token/ERC777/IERC777.sol"; diff --git a/contracts/mocks/EnumerableMapMock.sol b/contracts/mocks/EnumerableMapMock.sol index 8e15be43b..769597d3f 100644 --- a/contracts/mocks/EnumerableMapMock.sol +++ b/contracts/mocks/EnumerableMapMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/EnumerableMap.sol"; diff --git a/contracts/mocks/EnumerableSetMock.sol b/contracts/mocks/EnumerableSetMock.sol index f9a2c9727..7c47d0543 100644 --- a/contracts/mocks/EnumerableSetMock.sol +++ b/contracts/mocks/EnumerableSetMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/EnumerableSet.sol"; diff --git a/contracts/mocks/EtherReceiverMock.sol b/contracts/mocks/EtherReceiverMock.sol index 35d502079..aa1ecf9cd 100644 --- a/contracts/mocks/EtherReceiverMock.sol +++ b/contracts/mocks/EtherReceiverMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; contract EtherReceiverMock { bool private _acceptEther; diff --git a/contracts/mocks/GSNRecipientERC20FeeMock.sol b/contracts/mocks/GSNRecipientERC20FeeMock.sol index b7f8d6a7d..9ec8c33bb 100644 --- a/contracts/mocks/GSNRecipientERC20FeeMock.sol +++ b/contracts/mocks/GSNRecipientERC20FeeMock.sol @@ -1,12 +1,12 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/GSNRecipient.sol"; import "../GSN/GSNRecipientERC20Fee.sol"; contract GSNRecipientERC20FeeMock is GSNRecipient, GSNRecipientERC20Fee { - constructor(string memory name, string memory symbol) public GSNRecipientERC20Fee(name, symbol) { } + constructor(string memory name, string memory symbol) GSNRecipientERC20Fee(name, symbol) { } function mint(address account, uint256 amount) public { _mint(account, amount); diff --git a/contracts/mocks/GSNRecipientMock.sol b/contracts/mocks/GSNRecipientMock.sol index d2ba511f3..fc07b61c7 100644 --- a/contracts/mocks/GSNRecipientMock.sol +++ b/contracts/mocks/GSNRecipientMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./ContextMock.sol"; import "../GSN/GSNRecipient.sol"; diff --git a/contracts/mocks/GSNRecipientSignatureMock.sol b/contracts/mocks/GSNRecipientSignatureMock.sol index 7f776e65c..176062204 100644 --- a/contracts/mocks/GSNRecipientSignatureMock.sol +++ b/contracts/mocks/GSNRecipientSignatureMock.sol @@ -1,12 +1,12 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/GSNRecipient.sol"; import "../GSN/GSNRecipientSignature.sol"; contract GSNRecipientSignatureMock is GSNRecipient, GSNRecipientSignature { - constructor(address trustedSigner) public GSNRecipientSignature(trustedSigner) { } + constructor(address trustedSigner) GSNRecipientSignature(trustedSigner) { } event MockFunctionCalled(); diff --git a/contracts/mocks/MathMock.sol b/contracts/mocks/MathMock.sol index 11472f26f..97ec6f1f9 100644 --- a/contracts/mocks/MathMock.sol +++ b/contracts/mocks/MathMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../math/Math.sol"; diff --git a/contracts/mocks/MerkleProofWrapper.sol b/contracts/mocks/MerkleProofWrapper.sol index 9f6da8a15..398782214 100644 --- a/contracts/mocks/MerkleProofWrapper.sol +++ b/contracts/mocks/MerkleProofWrapper.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import { MerkleProof } from "../cryptography/MerkleProof.sol"; diff --git a/contracts/mocks/OwnableMock.sol b/contracts/mocks/OwnableMock.sol index 63562f50c..6508fc380 100644 --- a/contracts/mocks/OwnableMock.sol +++ b/contracts/mocks/OwnableMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../access/Ownable.sol"; diff --git a/contracts/mocks/PausableMock.sol b/contracts/mocks/PausableMock.sol index 827441dc3..a55f02c1e 100644 --- a/contracts/mocks/PausableMock.sol +++ b/contracts/mocks/PausableMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/Pausable.sol"; @@ -8,7 +8,7 @@ contract PausableMock is Pausable { bool public drasticMeasureTaken; uint256 public count; - constructor () public { + constructor () { drasticMeasureTaken = false; count = 0; } diff --git a/contracts/mocks/PullPaymentMock.sol b/contracts/mocks/PullPaymentMock.sol index aaaebf7f0..a97c67c16 100644 --- a/contracts/mocks/PullPaymentMock.sol +++ b/contracts/mocks/PullPaymentMock.sol @@ -1,12 +1,12 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../payment/PullPayment.sol"; // mock class using PullPayment contract PullPaymentMock is PullPayment { - constructor () public payable { } + constructor () payable { } // test helper function to call asyncTransfer function callTransfer(address dest, uint256 amount) public { diff --git a/contracts/mocks/ReentrancyAttack.sol b/contracts/mocks/ReentrancyAttack.sol index b3fbde536..49cfea959 100644 --- a/contracts/mocks/ReentrancyAttack.sol +++ b/contracts/mocks/ReentrancyAttack.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/Context.sol"; contract ReentrancyAttack is Context { diff --git a/contracts/mocks/ReentrancyMock.sol b/contracts/mocks/ReentrancyMock.sol index 67610bb95..6a2422fad 100644 --- a/contracts/mocks/ReentrancyMock.sol +++ b/contracts/mocks/ReentrancyMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/ReentrancyGuard.sol"; import "./ReentrancyAttack.sol"; @@ -8,7 +8,7 @@ import "./ReentrancyAttack.sol"; contract ReentrancyMock is ReentrancyGuard { uint256 public counter; - constructor () public { + constructor () { counter = 0; } diff --git a/contracts/mocks/SafeCastMock.sol b/contracts/mocks/SafeCastMock.sol index cb953213d..03a11535b 100644 --- a/contracts/mocks/SafeCastMock.sol +++ b/contracts/mocks/SafeCastMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/SafeCast.sol"; diff --git a/contracts/mocks/SafeERC20Helper.sol b/contracts/mocks/SafeERC20Helper.sol index d2dd31475..ab1bc1762 100644 --- a/contracts/mocks/SafeERC20Helper.sol +++ b/contracts/mocks/SafeERC20Helper.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/Context.sol"; import "../token/ERC20/IERC20.sol"; @@ -98,7 +98,7 @@ contract SafeERC20Wrapper is Context { IERC20 private _token; - constructor (IERC20 token) public { + constructor (IERC20 token) { _token = token; } diff --git a/contracts/mocks/SafeMathMock.sol b/contracts/mocks/SafeMathMock.sol index 0a07b3eba..2aa52effa 100644 --- a/contracts/mocks/SafeMathMock.sol +++ b/contracts/mocks/SafeMathMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../math/SafeMath.sol"; diff --git a/contracts/mocks/SignedSafeMathMock.sol b/contracts/mocks/SignedSafeMathMock.sol index 01c390764..1e482f1ea 100644 --- a/contracts/mocks/SignedSafeMathMock.sol +++ b/contracts/mocks/SignedSafeMathMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../math/SignedSafeMath.sol"; diff --git a/contracts/mocks/StringsMock.sol b/contracts/mocks/StringsMock.sol index 56963791b..0cc76b5b2 100644 --- a/contracts/mocks/StringsMock.sol +++ b/contracts/mocks/StringsMock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../utils/Strings.sol"; diff --git a/contracts/payment/PaymentSplitter.sol b/contracts/payment/PaymentSplitter.sol index cba962181..e23df3530 100644 --- a/contracts/payment/PaymentSplitter.sol +++ b/contracts/payment/PaymentSplitter.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/Context.sol"; import "../math/SafeMath.sol"; @@ -39,7 +39,7 @@ contract PaymentSplitter is Context { * All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no * duplicates in `payees`. */ - constructor (address[] memory payees, uint256[] memory shares) public payable { + constructor (address[] memory payees, uint256[] memory shares) payable { // solhint-disable-next-line max-line-length require(payees.length == shares.length, "PaymentSplitter: payees and shares length mismatch"); require(payees.length > 0, "PaymentSplitter: no payees"); diff --git a/contracts/payment/PullPayment.sol b/contracts/payment/PullPayment.sol index 605edce65..251b09789 100644 --- a/contracts/payment/PullPayment.sol +++ b/contracts/payment/PullPayment.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.2; +pragma solidity ^0.7.0; import "./escrow/Escrow.sol"; @@ -25,7 +25,7 @@ import "./escrow/Escrow.sol"; contract PullPayment { Escrow private _escrow; - constructor () internal { + constructor () { _escrow = new Escrow(); } diff --git a/contracts/payment/escrow/ConditionalEscrow.sol b/contracts/payment/escrow/ConditionalEscrow.sol index 54bf17471..4aab43ad5 100644 --- a/contracts/payment/escrow/ConditionalEscrow.sol +++ b/contracts/payment/escrow/ConditionalEscrow.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./Escrow.sol"; diff --git a/contracts/payment/escrow/Escrow.sol b/contracts/payment/escrow/Escrow.sol index c9fc76e9f..fc85802ce 100644 --- a/contracts/payment/escrow/Escrow.sol +++ b/contracts/payment/escrow/Escrow.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../../math/SafeMath.sol"; import "../../access/Ownable.sol"; diff --git a/contracts/payment/escrow/RefundEscrow.sol b/contracts/payment/escrow/RefundEscrow.sol index e581e7530..071084231 100644 --- a/contracts/payment/escrow/RefundEscrow.sol +++ b/contracts/payment/escrow/RefundEscrow.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./ConditionalEscrow.sol"; @@ -27,7 +27,7 @@ contract RefundEscrow is ConditionalEscrow { * @dev Constructor. * @param beneficiary The beneficiary of the deposits. */ - constructor (address payable beneficiary) public { + constructor (address payable beneficiary) { require(beneficiary != address(0), "RefundEscrow: beneficiary is the zero address"); _beneficiary = beneficiary; _state = State.Active; diff --git a/contracts/presets/ERC1155PresetMinterPauser.sol b/contracts/presets/ERC1155PresetMinterPauser.sol index 078406ae5..1c9b02388 100644 --- a/contracts/presets/ERC1155PresetMinterPauser.sol +++ b/contracts/presets/ERC1155PresetMinterPauser.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../access/AccessControl.sol"; import "../GSN/Context.sol"; @@ -30,7 +30,7 @@ contract ERC1155PresetMinterPauser is Context, AccessControl, ERC1155Burnable, E * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE`, and `PAUSER_ROLE` to the account that * deploys the contract. */ - constructor(string memory uri) public ERC1155(uri) { + constructor(string memory uri) ERC1155(uri) { _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); _setupRole(MINTER_ROLE, _msgSender()); diff --git a/contracts/presets/ERC20PresetMinterPauser.sol b/contracts/presets/ERC20PresetMinterPauser.sol index 00175955f..c0634ddde 100644 --- a/contracts/presets/ERC20PresetMinterPauser.sol +++ b/contracts/presets/ERC20PresetMinterPauser.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../access/AccessControl.sol"; import "../GSN/Context.sol"; @@ -32,7 +32,7 @@ contract ERC20PresetMinterPauser is Context, AccessControl, ERC20Burnable, ERC20 * * See {ERC20-constructor}. */ - constructor(string memory name, string memory symbol) public ERC20(name, symbol) { + constructor(string memory name, string memory symbol) ERC20(name, symbol) { _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); _setupRole(MINTER_ROLE, _msgSender()); diff --git a/contracts/presets/ERC721PresetMinterPauserAutoId.sol b/contracts/presets/ERC721PresetMinterPauserAutoId.sol index 9a9ce0dee..225ff9787 100644 --- a/contracts/presets/ERC721PresetMinterPauserAutoId.sol +++ b/contracts/presets/ERC721PresetMinterPauserAutoId.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../access/AccessControl.sol"; import "../GSN/Context.sol"; @@ -39,7 +39,7 @@ contract ERC721PresetMinterPauserAutoId is Context, AccessControl, ERC721Burnabl * Token URIs will be autogenerated based on `baseURI` and their token IDs. * See {ERC721-tokenURI}. */ - constructor(string memory name, string memory symbol, string memory baseURI) public ERC721(name, symbol) { + constructor(string memory name, string memory symbol, string memory baseURI) ERC721(name, symbol) { _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); _setupRole(MINTER_ROLE, _msgSender()); diff --git a/contracts/token/ERC1155/ERC1155.sol b/contracts/token/ERC1155/ERC1155.sol index 2e39cbb42..2b8a34640 100644 --- a/contracts/token/ERC1155/ERC1155.sol +++ b/contracts/token/ERC1155/ERC1155.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./IERC1155.sol"; import "./IERC1155MetadataURI.sol"; @@ -52,7 +52,7 @@ contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI { /** * @dev See {_setURI}. */ - constructor (string memory uri) public { + constructor (string memory uri) { _setURI(uri); // register the supported interfaces to conform to ERC1155 via ERC165 diff --git a/contracts/token/ERC1155/ERC1155Burnable.sol b/contracts/token/ERC1155/ERC1155Burnable.sol index 83edd4778..92a8b46e0 100644 --- a/contracts/token/ERC1155/ERC1155Burnable.sol +++ b/contracts/token/ERC1155/ERC1155Burnable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./ERC1155.sol"; diff --git a/contracts/token/ERC1155/ERC1155Holder.sol b/contracts/token/ERC1155/ERC1155Holder.sol index 82d5979a3..647feb35b 100644 --- a/contracts/token/ERC1155/ERC1155Holder.sol +++ b/contracts/token/ERC1155/ERC1155Holder.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./ERC1155Receiver.sol"; diff --git a/contracts/token/ERC1155/ERC1155Pausable.sol b/contracts/token/ERC1155/ERC1155Pausable.sol index a2626cc5f..436bf1a24 100644 --- a/contracts/token/ERC1155/ERC1155Pausable.sol +++ b/contracts/token/ERC1155/ERC1155Pausable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./ERC1155.sol"; import "../../utils/Pausable.sol"; diff --git a/contracts/token/ERC1155/ERC1155Receiver.sol b/contracts/token/ERC1155/ERC1155Receiver.sol index 201660bce..d65eba872 100644 --- a/contracts/token/ERC1155/ERC1155Receiver.sol +++ b/contracts/token/ERC1155/ERC1155Receiver.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./IERC1155Receiver.sol"; import "../../introspection/ERC165.sol"; @@ -9,7 +9,7 @@ import "../../introspection/ERC165.sol"; * @dev _Available since v3.1._ */ abstract contract ERC1155Receiver is ERC165, IERC1155Receiver { - constructor() public { + constructor() { _registerInterface( ERC1155Receiver(0).onERC1155Received.selector ^ ERC1155Receiver(0).onERC1155BatchReceived.selector diff --git a/contracts/token/ERC1155/IERC1155.sol b/contracts/token/ERC1155/IERC1155.sol index be606beeb..30ebaf3b3 100644 --- a/contracts/token/ERC1155/IERC1155.sol +++ b/contracts/token/ERC1155/IERC1155.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.2; +pragma solidity ^0.7.0; import "../../introspection/IERC165.sol"; diff --git a/contracts/token/ERC1155/IERC1155MetadataURI.sol b/contracts/token/ERC1155/IERC1155MetadataURI.sol index 2716c7708..c0b769e12 100644 --- a/contracts/token/ERC1155/IERC1155MetadataURI.sol +++ b/contracts/token/ERC1155/IERC1155MetadataURI.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.2; +pragma solidity ^0.7.0; import "./IERC1155.sol"; diff --git a/contracts/token/ERC1155/IERC1155Receiver.sol b/contracts/token/ERC1155/IERC1155Receiver.sol index 6bd3dc2cf..f4bf40f0e 100644 --- a/contracts/token/ERC1155/IERC1155Receiver.sol +++ b/contracts/token/ERC1155/IERC1155Receiver.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../../introspection/IERC165.sol"; diff --git a/contracts/token/ERC20/ERC20.sol b/contracts/token/ERC20/ERC20.sol index a8ab97f27..799e99c1d 100644 --- a/contracts/token/ERC20/ERC20.sol +++ b/contracts/token/ERC20/ERC20.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../../GSN/Context.sol"; import "./IERC20.sol"; @@ -54,7 +54,7 @@ contract ERC20 is Context, IERC20 { * All three of these values are immutable: they can only be set once during * construction. */ - constructor (string memory name, string memory symbol) public { + constructor (string memory name, string memory symbol) { _name = name; _symbol = symbol; _decimals = 18; diff --git a/contracts/token/ERC20/ERC20Burnable.sol b/contracts/token/ERC20/ERC20Burnable.sol index 2ce6bac09..f85bee46b 100644 --- a/contracts/token/ERC20/ERC20Burnable.sol +++ b/contracts/token/ERC20/ERC20Burnable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../../GSN/Context.sol"; import "./ERC20.sol"; @@ -11,6 +11,8 @@ import "./ERC20.sol"; * recognized off-chain (via event analysis). */ abstract contract ERC20Burnable is Context, ERC20 { + using SafeMath for uint256; + /** * @dev Destroys `amount` tokens from the caller. * diff --git a/contracts/token/ERC20/ERC20Capped.sol b/contracts/token/ERC20/ERC20Capped.sol index 3cff3b736..0dae5ae74 100644 --- a/contracts/token/ERC20/ERC20Capped.sol +++ b/contracts/token/ERC20/ERC20Capped.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./ERC20.sol"; @@ -8,13 +8,15 @@ import "./ERC20.sol"; * @dev Extension of {ERC20} that adds a cap to the supply of tokens. */ abstract contract ERC20Capped is ERC20 { + using SafeMath for uint256; + uint256 private _cap; /** * @dev Sets the value of the `cap`. This value is immutable, it can only be * set once during construction. */ - constructor (uint256 cap) public { + constructor (uint256 cap) { require(cap > 0, "ERC20Capped: cap is 0"); _cap = cap; } diff --git a/contracts/token/ERC20/ERC20Pausable.sol b/contracts/token/ERC20/ERC20Pausable.sol index a08b9df69..f7f0b70dc 100644 --- a/contracts/token/ERC20/ERC20Pausable.sol +++ b/contracts/token/ERC20/ERC20Pausable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./ERC20.sol"; import "../../utils/Pausable.sol"; diff --git a/contracts/token/ERC20/ERC20Snapshot.sol b/contracts/token/ERC20/ERC20Snapshot.sol index 54d91c057..34ef6d46c 100644 --- a/contracts/token/ERC20/ERC20Snapshot.sol +++ b/contracts/token/ERC20/ERC20Snapshot.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../../math/SafeMath.sol"; import "../../utils/Arrays.sol"; diff --git a/contracts/token/ERC20/IERC20.sol b/contracts/token/ERC20/IERC20.sol index a1f9ca7f6..935dd17e8 100644 --- a/contracts/token/ERC20/IERC20.sol +++ b/contracts/token/ERC20/IERC20.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Interface of the ERC20 standard as defined in the EIP. diff --git a/contracts/token/ERC20/SafeERC20.sol b/contracts/token/ERC20/SafeERC20.sol index e5f0d23aa..d048b8e52 100644 --- a/contracts/token/ERC20/SafeERC20.sol +++ b/contracts/token/ERC20/SafeERC20.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./IERC20.sol"; import "../../math/SafeMath.sol"; diff --git a/contracts/token/ERC20/TokenTimelock.sol b/contracts/token/ERC20/TokenTimelock.sol index 0d05ed82c..cecaff579 100644 --- a/contracts/token/ERC20/TokenTimelock.sol +++ b/contracts/token/ERC20/TokenTimelock.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./SafeERC20.sol"; @@ -23,7 +23,7 @@ contract TokenTimelock { // timestamp when token release is enabled uint256 private _releaseTime; - constructor (IERC20 token, address beneficiary, uint256 releaseTime) public { + constructor (IERC20 token, address beneficiary, uint256 releaseTime) { // solhint-disable-next-line not-rely-on-time require(releaseTime > block.timestamp, "TokenTimelock: release time is before current time"); _token = token; diff --git a/contracts/token/ERC721/ERC721.sol b/contracts/token/ERC721/ERC721.sol index 6094c1531..a46b1126a 100644 --- a/contracts/token/ERC721/ERC721.sol +++ b/contracts/token/ERC721/ERC721.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../../GSN/Context.sol"; import "./IERC721.sol"; @@ -90,7 +90,7 @@ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata, IERC721Enumerable /** * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection. */ - constructor (string memory name, string memory symbol) public { + constructor (string memory name, string memory symbol) { _name = name; _symbol = symbol; diff --git a/contracts/token/ERC721/ERC721Burnable.sol b/contracts/token/ERC721/ERC721Burnable.sol index 6f767d23a..2bb3042ba 100644 --- a/contracts/token/ERC721/ERC721Burnable.sol +++ b/contracts/token/ERC721/ERC721Burnable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../../GSN/Context.sol"; import "./ERC721.sol"; diff --git a/contracts/token/ERC721/ERC721Holder.sol b/contracts/token/ERC721/ERC721Holder.sol index 3684bd1cc..aea1fddaa 100644 --- a/contracts/token/ERC721/ERC721Holder.sol +++ b/contracts/token/ERC721/ERC721Holder.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./IERC721Receiver.sol"; diff --git a/contracts/token/ERC721/ERC721Pausable.sol b/contracts/token/ERC721/ERC721Pausable.sol index c59064743..d5aa0c7dc 100644 --- a/contracts/token/ERC721/ERC721Pausable.sol +++ b/contracts/token/ERC721/ERC721Pausable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "./ERC721.sol"; import "../../utils/Pausable.sol"; diff --git a/contracts/token/ERC721/IERC721.sol b/contracts/token/ERC721/IERC721.sol index 16f7aca87..deea646e3 100644 --- a/contracts/token/ERC721/IERC721.sol +++ b/contracts/token/ERC721/IERC721.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.2; +pragma solidity ^0.7.0; import "../../introspection/IERC165.sol"; diff --git a/contracts/token/ERC721/IERC721Enumerable.sol b/contracts/token/ERC721/IERC721Enumerable.sol index bd3c86d18..94a3efa4a 100644 --- a/contracts/token/ERC721/IERC721Enumerable.sol +++ b/contracts/token/ERC721/IERC721Enumerable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.2; +pragma solidity ^0.7.0; import "./IERC721.sol"; diff --git a/contracts/token/ERC721/IERC721Metadata.sol b/contracts/token/ERC721/IERC721Metadata.sol index f2ebb4955..a5480854c 100644 --- a/contracts/token/ERC721/IERC721Metadata.sol +++ b/contracts/token/ERC721/IERC721Metadata.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.2; +pragma solidity ^0.7.0; import "./IERC721.sol"; diff --git a/contracts/token/ERC721/IERC721Receiver.sol b/contracts/token/ERC721/IERC721Receiver.sol index f98053e59..a0edf5cc8 100644 --- a/contracts/token/ERC721/IERC721Receiver.sol +++ b/contracts/token/ERC721/IERC721Receiver.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @title ERC721 token receiver interface diff --git a/contracts/token/ERC777/ERC777.sol b/contracts/token/ERC777/ERC777.sol index 5adb8ff0d..42098edcd 100644 --- a/contracts/token/ERC777/ERC777.sol +++ b/contracts/token/ERC777/ERC777.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../../GSN/Context.sol"; import "./IERC777.sol"; @@ -70,7 +70,7 @@ contract ERC777 is Context, IERC777, IERC20 { string memory name, string memory symbol, address[] memory defaultOperators - ) public { + ) { _name = name; _symbol = symbol; diff --git a/contracts/token/ERC777/IERC777.sol b/contracts/token/ERC777/IERC777.sol index f3dcbe93c..b37c564da 100644 --- a/contracts/token/ERC777/IERC777.sol +++ b/contracts/token/ERC777/IERC777.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Interface of the ERC777Token standard as defined in the EIP. diff --git a/contracts/token/ERC777/IERC777Recipient.sol b/contracts/token/ERC777/IERC777Recipient.sol index 179ed6626..e610996b0 100644 --- a/contracts/token/ERC777/IERC777Recipient.sol +++ b/contracts/token/ERC777/IERC777Recipient.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Interface of the ERC777TokensRecipient standard as defined in the EIP. diff --git a/contracts/token/ERC777/IERC777Sender.sol b/contracts/token/ERC777/IERC777Sender.sol index 841ca208f..31190d0c6 100644 --- a/contracts/token/ERC777/IERC777Sender.sol +++ b/contracts/token/ERC777/IERC777Sender.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Interface of the ERC777TokensSender standard as defined in the EIP. diff --git a/contracts/utils/Address.sol b/contracts/utils/Address.sol index fe3ba6537..23a4589c6 100644 --- a/contracts/utils/Address.sol +++ b/contracts/utils/Address.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.2; +pragma solidity ^0.7.0; /** * @dev Collection of functions related to the address type diff --git a/contracts/utils/Arrays.sol b/contracts/utils/Arrays.sol index 8d586e9e9..65402827a 100644 --- a/contracts/utils/Arrays.sol +++ b/contracts/utils/Arrays.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../math/Math.sol"; diff --git a/contracts/utils/Counters.sol b/contracts/utils/Counters.sol index 82cb62bfd..c424816d4 100644 --- a/contracts/utils/Counters.sol +++ b/contracts/utils/Counters.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../math/SafeMath.sol"; diff --git a/contracts/utils/Create2.sol b/contracts/utils/Create2.sol index 8f9efa10b..b5923228c 100644 --- a/contracts/utils/Create2.sol +++ b/contracts/utils/Create2.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Helper to make usage of the `CREATE2` EVM opcode easier and safer. diff --git a/contracts/utils/EnumerableMap.sol b/contracts/utils/EnumerableMap.sol index 82eb04c9c..0124c78b0 100644 --- a/contracts/utils/EnumerableMap.sol +++ b/contracts/utils/EnumerableMap.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Library for managing an enumerable variant of Solidity's diff --git a/contracts/utils/EnumerableSet.sol b/contracts/utils/EnumerableSet.sol index 7f4c761ab..a0f8680c4 100644 --- a/contracts/utils/EnumerableSet.sol +++ b/contracts/utils/EnumerableSet.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Library for managing diff --git a/contracts/utils/Pausable.sol b/contracts/utils/Pausable.sol index 9e1b42ab7..70399c9f3 100644 --- a/contracts/utils/Pausable.sol +++ b/contracts/utils/Pausable.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "../GSN/Context.sol"; @@ -29,7 +29,7 @@ contract Pausable is Context { /** * @dev Initializes the contract in unpaused state. */ - constructor () internal { + constructor () { _paused = false; } diff --git a/contracts/utils/ReentrancyGuard.sol b/contracts/utils/ReentrancyGuard.sol index b7bea91f8..7e9c3cb80 100644 --- a/contracts/utils/ReentrancyGuard.sol +++ b/contracts/utils/ReentrancyGuard.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev Contract module that helps prevent reentrant calls to a function. @@ -35,7 +35,7 @@ contract ReentrancyGuard { uint256 private _status; - constructor () internal { + constructor () { _status = _NOT_ENTERED; } diff --git a/contracts/utils/SafeCast.sol b/contracts/utils/SafeCast.sol index 9d283ff25..1e8355e28 100644 --- a/contracts/utils/SafeCast.sol +++ b/contracts/utils/SafeCast.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** diff --git a/contracts/utils/Strings.sol b/contracts/utils/Strings.sol index aacce819c..5177785ef 100644 --- a/contracts/utils/Strings.sol +++ b/contracts/utils/Strings.sol @@ -1,6 +1,6 @@ // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; /** * @dev String operations. diff --git a/docs/modules/ROOT/pages/access-control.adoc b/docs/modules/ROOT/pages/access-control.adoc index 20ac4cf03..baab7ee15 100644 --- a/docs/modules/ROOT/pages/access-control.adoc +++ b/docs/modules/ROOT/pages/access-control.adoc @@ -13,7 +13,7 @@ OpenZeppelin provides xref:api:access.adoc#Ownable[`Ownable`] for implementing o ---- // contracts/MyContract.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/access/Ownable.sol"; @@ -62,7 +62,7 @@ Here's a simple example of using `AccessControl` in an xref:tokens.adoc#ERC20[`E ---- // contracts/MyToken.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/access/AccessControl.sol"; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; @@ -71,7 +71,7 @@ contract MyToken is ERC20, AccessControl { // Create a new role identifier for the minter role bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); - constructor(address minter) public ERC20("MyToken", "TKN") { + constructor(address minter) ERC20("MyToken", "TKN") { // Grant the minter role to a specified account _setupRole(MINTER_ROLE, minter); } @@ -94,7 +94,7 @@ Let's augment our ERC20 token example by also defining a 'burner' role, which le ---- // contracts/MyToken.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/access/AccessControl.sol"; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; @@ -103,7 +103,7 @@ contract MyToken is ERC20, AccessControl { bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); bytes32 public constant BURNER_ROLE = keccak256("BURNER_ROLE"); - constructor(address minter, address burner) public ERC20("MyToken", "TKN") { + constructor(address minter, address burner) ERC20("MyToken", "TKN") { _setupRole(MINTER_ROLE, minter); _setupRole(BURNER_ROLE, burner); } @@ -139,7 +139,7 @@ Let's take a look at the ERC20 token example, this time taking advantage of the ---- // contracts/MyToken.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/access/AccessControl.sol"; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; @@ -148,7 +148,7 @@ contract MyToken is ERC20, AccessControl { bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); bytes32 public constant BURNER_ROLE = keccak256("BURNER_ROLE"); - constructor() public ERC20("MyToken", "TKN") { + constructor() ERC20("MyToken", "TKN") { // Grant the contract deployer the default admin role: it will be able // to grant and revoke any roles _setupRole(DEFAULT_ADMIN_ROLE, msg.sender); diff --git a/docs/modules/ROOT/pages/erc1155.adoc b/docs/modules/ROOT/pages/erc1155.adoc index f00dd499b..48b0650e4 100644 --- a/docs/modules/ROOT/pages/erc1155.adoc +++ b/docs/modules/ROOT/pages/erc1155.adoc @@ -34,7 +34,7 @@ Here's what a contract for tokenized items might look like: ---- // contracts/GameItems.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol"; @@ -45,7 +45,7 @@ contract GameItems is ERC1155 { uint256 public constant SWORD = 3; uint256 public constant SHIELD = 4; - constructor() public ERC1155("https://game.example/api/item/{1}.json") { + constructor() ERC1155("https://game.example/api/item/{1}.json") { _mint(msg.sender, GOLD, 10**18, ""); _mint(msg.sender, SILVER, 10**27, ""); _mint(msg.sender, THORS_HAMMER, 1, ""); @@ -132,7 +132,7 @@ In order for our contract to receive ERC1155 tokens we can inherit from the conv ---- // contracts/MyContract.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/token/ERC1155/ERC1155Holder.sol"; diff --git a/docs/modules/ROOT/pages/erc20-supply.adoc b/docs/modules/ROOT/pages/erc20-supply.adoc index 3db0828d8..84830615d 100644 --- a/docs/modules/ROOT/pages/erc20-supply.adoc +++ b/docs/modules/ROOT/pages/erc20-supply.adoc @@ -14,7 +14,7 @@ Let's say we want a token with a fixed supply of 1000, initially allocated to th [source,solidity] ---- contract ERC20FixedSupply is ERC20 { - constructor() public { + constructor() { totalSupply += 1000; balances[msg.sender] += 1000; } @@ -26,7 +26,7 @@ Starting with Contracts v2 this pattern is not only discouraged, but disallowed. [source,solidity] ---- contract ERC20FixedSupply is ERC20 { - constructor() public ERC20("Fixed", "FIX") { + constructor() ERC20("Fixed", "FIX") { _mint(msg.sender, 1000); } } @@ -44,7 +44,7 @@ The mechanism we will implement is a token reward for the miners that produce Et [source,solidity] ---- contract ERC20WithMinerReward is ERC20 { - constructor() public ERC20("Reward", "RWD") {} + constructor() ERC20("Reward", "RWD") {} function mintMinerReward() public { _mint(block.coinbase, 1000); @@ -68,7 +68,7 @@ The accounts with the minter role don't need to be externally owned, though, and contract MinerRewardMinter { ERC20PresetMinterPauser _token; - constructor(ERC20PresetMinterPauser token) public { + constructor(ERC20PresetMinterPauser token) { _token = token; } @@ -92,7 +92,7 @@ Adding to the supply mechanism from previous sections, we can use this hook to m [source,solidity] ---- contract ERC20WithAutoMinerReward is ERC20 { - constructor() public ERC20("Reward", "RWD") {} + constructor() ERC20("Reward", "RWD") {} function _mintMinerReward() internal { _mint(block.coinbase, 1000); diff --git a/docs/modules/ROOT/pages/erc20.adoc b/docs/modules/ROOT/pages/erc20.adoc index 7a132019a..3f8e579cc 100644 --- a/docs/modules/ROOT/pages/erc20.adoc +++ b/docs/modules/ROOT/pages/erc20.adoc @@ -15,12 +15,12 @@ Here's what our GLD token might look like. ---- // contracts/GLDToken.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; contract GLDToken is ERC20 { - constructor(uint256 initialSupply) public ERC20("Gold", "GLD") { + constructor(uint256 initialSupply) ERC20("Gold", "GLD") { _mint(msg.sender, initialSupply); } } diff --git a/docs/modules/ROOT/pages/erc721.adoc b/docs/modules/ROOT/pages/erc721.adoc index 005ed3f76..ef322a9ab 100644 --- a/docs/modules/ROOT/pages/erc721.adoc +++ b/docs/modules/ROOT/pages/erc721.adoc @@ -14,7 +14,7 @@ Here's what a contract for tokenized items might look like: ---- // contracts/GameItem.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; import "@openzeppelin/contracts/utils/Counters.sol"; @@ -23,7 +23,7 @@ contract GameItem is ERC721 { using Counters for Counters.Counter; Counters.Counter private _tokenIds; - constructor() public ERC721("GameItem", "ITM") {} + constructor() ERC721("GameItem", "ITM") {} function awardItem(address player, string memory tokenURI) public diff --git a/docs/modules/ROOT/pages/erc777.adoc b/docs/modules/ROOT/pages/erc777.adoc index 7d69ca011..741afac1f 100644 --- a/docs/modules/ROOT/pages/erc777.adoc +++ b/docs/modules/ROOT/pages/erc777.adoc @@ -20,13 +20,12 @@ We will replicate the `GLD` example of the xref:erc20.adoc#constructing-an-erc20 ---- // contracts/GLDToken.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/token/ERC777/ERC777.sol"; contract GLDToken is ERC777 { constructor(uint256 initialSupply, address[] memory defaultOperators) - public ERC777("Gold", "GLD", defaultOperators) { _mint(msg.sender, initialSupply, "", ""); diff --git a/docs/modules/ROOT/pages/extending-contracts.adoc b/docs/modules/ROOT/pages/extending-contracts.adoc index a97e2e45b..bbbb1ab0a 100644 --- a/docs/modules/ROOT/pages/extending-contracts.adoc +++ b/docs/modules/ROOT/pages/extending-contracts.adoc @@ -20,7 +20,7 @@ For example, imagine you want to change xref:api:access.adoc#AccessControl[`Acce ```solidity // contracts/ModifiedAccessControl.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/access/AccessControl.sol"; @@ -48,7 +48,7 @@ Here is a modified version of xref:api:access.adoc#AccessControl[`AccessControl` ```solidity // contracts/ModifiedAccessControl.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/access/AccessControl.sol"; @@ -80,7 +80,7 @@ Hooks are simply functions that are called before or after some action takes pla Here's how you would implement the `IERC721Receiver` pattern in `ERC20`, using the xref:api:token/ERC20.adoc#ERC20-_beforeTokenTransfer-address-address-uint256-[`_beforeTokenTransfer`] hook: ```solidity -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/token/ERC20/ERC20.sol"; diff --git a/docs/modules/ROOT/pages/gsn-strategies.adoc b/docs/modules/ROOT/pages/gsn-strategies.adoc index 1a7543d62..0771e4d1d 100644 --- a/docs/modules/ROOT/pages/gsn-strategies.adoc +++ b/docs/modules/ROOT/pages/gsn-strategies.adoc @@ -62,7 +62,7 @@ Instead of using `GSNRecipient` directly, your GSN recipient contract will inste import "@openzeppelin/contracts/GSN/GSNRecipientSignature.sol"; contract MyContract is GSNRecipientSignature { - constructor(address trustedSigner) public GSNRecipientSignature(trustedSigner) { + constructor(address trustedSigner) GSNRecipientSignature(trustedSigner) { } } ---- @@ -108,7 +108,7 @@ Your GSN recipient contract needs to inherit from `GSNRecipientERC20Fee` along w ---- // contracts/MyContract.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/GSN/GSNRecipientERC20Fee.sol"; import "@openzeppelin/contracts/access/AccessControl.sol"; @@ -116,7 +116,7 @@ import "@openzeppelin/contracts/access/AccessControl.sol"; contract MyContract is GSNRecipientERC20Fee, AccessControl { bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); - constructor() public GSNRecipientERC20Fee("FeeToken", "FEE") { + constructor() GSNRecipientERC20Fee("FeeToken", "FEE") { _setupRole(MINTER_ROLE, _msgSender()); } @@ -154,7 +154,7 @@ Once your strategy is ready, all your GSN recipient needs to do is inherit from [source,solidity] ---- contract MyContract is MyCustomGSNStrategy { - constructor() public MyCustomGSNStrategy() { + constructor() MyCustomGSNStrategy() { } } ---- diff --git a/docs/modules/ROOT/pages/index.adoc b/docs/modules/ROOT/pages/index.adoc index b43cbe086..29c3763d5 100644 --- a/docs/modules/ROOT/pages/index.adoc +++ b/docs/modules/ROOT/pages/index.adoc @@ -28,12 +28,12 @@ Once installed, you can use the contracts in the library by importing them: ---- // contracts/MyNFT.sol // SPDX-License-Identifier: MIT -pragma solidity ^0.6.0; +pragma solidity ^0.7.0; import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; contract MyNFT is ERC721 { - constructor() ERC721("MyNFT", "MNFT") public { + constructor() ERC721("MyNFT", "MNFT") { } } ----