Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
openzeppelin-contracts-upgradeable
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
俞永鹏
openzeppelin-contracts-upgradeable
Commits
90ed1af9
Unverified
Commit
90ed1af9
authored
Nov 17, 2020
by
Francisco Giordano
Committed by
GitHub
Nov 17, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Support compiling with solc 0.7 (#2408)
parent
21344b91
Hide whitespace changes
Inline
Side-by-side
Showing
128 changed files
with
179 additions
and
172 deletions
+179
-172
.solhint.json
.solhint.json
+3
-2
Context.sol
contracts/GSN/Context.sol
+1
-1
GSNRecipient.sol
contracts/GSN/GSNRecipient.sol
+1
-1
GSNRecipientERC20Fee.sol
contracts/GSN/GSNRecipientERC20Fee.sol
+3
-1
GSNRecipientSignature.sol
contracts/GSN/GSNRecipientSignature.sol
+1
-1
IRelayHub.sol
contracts/GSN/IRelayHub.sol
+1
-1
IRelayRecipient.sol
contracts/GSN/IRelayRecipient.sol
+1
-1
AccessControl.sol
contracts/access/AccessControl.sol
+1
-1
Ownable.sol
contracts/access/Ownable.sol
+2
-2
TimelockController.sol
contracts/access/TimelockController.sol
+1
-1
ECDSA.sol
contracts/cryptography/ECDSA.sol
+1
-1
MerkleProof.sol
contracts/cryptography/MerkleProof.sol
+1
-1
ERC165.sol
contracts/introspection/ERC165.sol
+2
-2
ERC165Checker.sol
contracts/introspection/ERC165Checker.sol
+1
-1
ERC1820Implementer.sol
contracts/introspection/ERC1820Implementer.sol
+1
-1
IERC165.sol
contracts/introspection/IERC165.sol
+1
-1
IERC1820Implementer.sol
contracts/introspection/IERC1820Implementer.sol
+1
-1
IERC1820Registry.sol
contracts/introspection/IERC1820Registry.sol
+3
-3
Math.sol
contracts/math/Math.sol
+1
-1
SafeMath.sol
contracts/math/SafeMath.sol
+1
-1
SignedSafeMath.sol
contracts/math/SignedSafeMath.sol
+1
-1
AccessControlMock.sol
contracts/mocks/AccessControlMock.sol
+1
-1
AddressImpl.sol
contracts/mocks/AddressImpl.sol
+1
-1
ArraysImpl.sol
contracts/mocks/ArraysImpl.sol
+1
-1
CallReceiverMock.sol
contracts/mocks/CallReceiverMock.sol
+1
-1
ClashingImplementation.sol
contracts/mocks/ClashingImplementation.sol
+1
-1
ConditionalEscrowMock.sol
contracts/mocks/ConditionalEscrowMock.sol
+1
-1
ContextMock.sol
contracts/mocks/ContextMock.sol
+1
-1
CountersImpl.sol
contracts/mocks/CountersImpl.sol
+1
-1
Create2Impl.sol
contracts/mocks/Create2Impl.sol
+1
-1
DummyImplementation.sol
contracts/mocks/DummyImplementation.sol
+1
-1
ECDSAMock.sol
contracts/mocks/ECDSAMock.sol
+1
-1
ERC1155BurnableMock.sol
contracts/mocks/ERC1155BurnableMock.sol
+1
-1
ERC1155Mock.sol
contracts/mocks/ERC1155Mock.sol
+1
-1
ERC1155PausableMock.sol
contracts/mocks/ERC1155PausableMock.sol
+1
-1
ERC1155ReceiverMock.sol
contracts/mocks/ERC1155ReceiverMock.sol
+1
-1
ERC165InterfacesSupported.sol
contracts/mocks/ERC165/ERC165InterfacesSupported.sol
+1
-1
ERC165NotSupported.sol
contracts/mocks/ERC165/ERC165NotSupported.sol
+1
-1
ERC165CheckerMock.sol
contracts/mocks/ERC165CheckerMock.sol
+1
-1
ERC165Mock.sol
contracts/mocks/ERC165Mock.sol
+1
-1
ERC1820ImplementerMock.sol
contracts/mocks/ERC1820ImplementerMock.sol
+1
-1
ERC20BurnableMock.sol
contracts/mocks/ERC20BurnableMock.sol
+1
-1
ERC20CappedMock.sol
contracts/mocks/ERC20CappedMock.sol
+1
-1
ERC20DecimalsMock.sol
contracts/mocks/ERC20DecimalsMock.sol
+1
-1
ERC20Mock.sol
contracts/mocks/ERC20Mock.sol
+1
-1
ERC20PausableMock.sol
contracts/mocks/ERC20PausableMock.sol
+1
-1
ERC20SnapshotMock.sol
contracts/mocks/ERC20SnapshotMock.sol
+1
-1
ERC721BurnableMock.sol
contracts/mocks/ERC721BurnableMock.sol
+1
-1
ERC721GSNRecipientMock.sol
contracts/mocks/ERC721GSNRecipientMock.sol
+1
-1
ERC721Mock.sol
contracts/mocks/ERC721Mock.sol
+1
-1
ERC721PausableMock.sol
contracts/mocks/ERC721PausableMock.sol
+1
-1
ERC721ReceiverMock.sol
contracts/mocks/ERC721ReceiverMock.sol
+1
-1
ERC777Mock.sol
contracts/mocks/ERC777Mock.sol
+1
-1
ERC777SenderRecipientMock.sol
contracts/mocks/ERC777SenderRecipientMock.sol
+1
-1
EnumerableMapMock.sol
contracts/mocks/EnumerableMapMock.sol
+1
-1
EnumerableSetMock.sol
contracts/mocks/EnumerableSetMock.sol
+1
-1
EtherReceiverMock.sol
contracts/mocks/EtherReceiverMock.sol
+1
-1
GSNRecipientERC20FeeMock.sol
contracts/mocks/GSNRecipientERC20FeeMock.sol
+1
-1
GSNRecipientMock.sol
contracts/mocks/GSNRecipientMock.sol
+1
-1
GSNRecipientSignatureMock.sol
contracts/mocks/GSNRecipientSignatureMock.sol
+1
-1
InitializableMock.sol
contracts/mocks/InitializableMock.sol
+1
-1
MathMock.sol
contracts/mocks/MathMock.sol
+1
-1
MerkleProofWrapper.sol
contracts/mocks/MerkleProofWrapper.sol
+1
-1
MultipleInheritanceInitializableMocks.sol
contracts/mocks/MultipleInheritanceInitializableMocks.sol
+1
-1
OwnableMock.sol
contracts/mocks/OwnableMock.sol
+1
-1
PausableMock.sol
contracts/mocks/PausableMock.sol
+1
-1
PullPaymentMock.sol
contracts/mocks/PullPaymentMock.sol
+1
-1
ReentrancyAttack.sol
contracts/mocks/ReentrancyAttack.sol
+1
-1
ReentrancyMock.sol
contracts/mocks/ReentrancyMock.sol
+1
-1
RegressionImplementation.sol
contracts/mocks/RegressionImplementation.sol
+1
-1
SafeCastMock.sol
contracts/mocks/SafeCastMock.sol
+1
-1
SafeERC20Helper.sol
contracts/mocks/SafeERC20Helper.sol
+1
-1
SafeMathMock.sol
contracts/mocks/SafeMathMock.sol
+1
-1
SignedSafeMathMock.sol
contracts/mocks/SignedSafeMathMock.sol
+1
-1
SingleInheritanceInitializableMocks.sol
contracts/mocks/SingleInheritanceInitializableMocks.sol
+1
-1
StringsMock.sol
contracts/mocks/StringsMock.sol
+1
-1
package.json
contracts/package.json
+1
-1
PaymentSplitter.sol
contracts/payment/PaymentSplitter.sol
+4
-4
PullPayment.sol
contracts/payment/PullPayment.sol
+2
-2
ConditionalEscrow.sol
contracts/payment/escrow/ConditionalEscrow.sol
+1
-1
Escrow.sol
contracts/payment/escrow/Escrow.sol
+1
-1
RefundEscrow.sol
contracts/payment/escrow/RefundEscrow.sol
+5
-5
ERC1155PresetMinterPauser.sol
contracts/presets/ERC1155PresetMinterPauser.sol
+1
-1
ERC20PresetMinterPauser.sol
contracts/presets/ERC20PresetMinterPauser.sol
+1
-1
ERC721PresetMinterPauserAutoId.sol
contracts/presets/ERC721PresetMinterPauserAutoId.sol
+1
-1
Initializable.sol
contracts/proxy/Initializable.sol
+1
-1
Proxy.sol
contracts/proxy/Proxy.sol
+1
-1
ProxyAdmin.sol
contracts/proxy/ProxyAdmin.sol
+1
-1
TransparentUpgradeableProxy.sol
contracts/proxy/TransparentUpgradeableProxy.sol
+7
-7
UpgradeableProxy.sol
contracts/proxy/UpgradeableProxy.sol
+1
-1
ERC1155.sol
contracts/token/ERC1155/ERC1155.sol
+3
-3
ERC1155Burnable.sol
contracts/token/ERC1155/ERC1155Burnable.sol
+1
-1
ERC1155Holder.sol
contracts/token/ERC1155/ERC1155Holder.sol
+1
-1
ERC1155Pausable.sol
contracts/token/ERC1155/ERC1155Pausable.sol
+1
-1
ERC1155Receiver.sol
contracts/token/ERC1155/ERC1155Receiver.sol
+2
-2
IERC1155.sol
contracts/token/ERC1155/IERC1155.sol
+1
-1
IERC1155MetadataURI.sol
contracts/token/ERC1155/IERC1155MetadataURI.sol
+1
-1
IERC1155Receiver.sol
contracts/token/ERC1155/IERC1155Receiver.sol
+1
-1
ERC20.sol
contracts/token/ERC20/ERC20.sol
+4
-4
ERC20Burnable.sol
contracts/token/ERC20/ERC20Burnable.sol
+3
-1
ERC20Capped.sol
contracts/token/ERC20/ERC20Capped.sol
+6
-4
ERC20Pausable.sol
contracts/token/ERC20/ERC20Pausable.sol
+1
-1
ERC20Snapshot.sol
contracts/token/ERC20/ERC20Snapshot.sol
+1
-1
IERC20.sol
contracts/token/ERC20/IERC20.sol
+1
-1
SafeERC20.sol
contracts/token/ERC20/SafeERC20.sol
+1
-1
TokenTimelock.sol
contracts/token/ERC20/TokenTimelock.sol
+6
-6
ERC721.sol
contracts/token/ERC721/ERC721.sol
+4
-4
ERC721Burnable.sol
contracts/token/ERC721/ERC721Burnable.sol
+1
-1
ERC721Holder.sol
contracts/token/ERC721/ERC721Holder.sol
+1
-1
ERC721Pausable.sol
contracts/token/ERC721/ERC721Pausable.sol
+1
-1
IERC721.sol
contracts/token/ERC721/IERC721.sol
+1
-1
IERC721Enumerable.sol
contracts/token/ERC721/IERC721Enumerable.sol
+1
-1
IERC721Metadata.sol
contracts/token/ERC721/IERC721Metadata.sol
+1
-1
IERC721Receiver.sol
contracts/token/ERC721/IERC721Receiver.sol
+1
-1
ERC777.sol
contracts/token/ERC777/ERC777.sol
+7
-7
IERC777.sol
contracts/token/ERC777/IERC777.sol
+1
-1
IERC777Recipient.sol
contracts/token/ERC777/IERC777Recipient.sol
+1
-1
IERC777Sender.sol
contracts/token/ERC777/IERC777Sender.sol
+1
-1
Address.sol
contracts/utils/Address.sol
+1
-1
Arrays.sol
contracts/utils/Arrays.sol
+1
-1
Counters.sol
contracts/utils/Counters.sol
+1
-1
Create2.sol
contracts/utils/Create2.sol
+1
-1
EnumerableMap.sol
contracts/utils/EnumerableMap.sol
+1
-1
EnumerableSet.sol
contracts/utils/EnumerableSet.sol
+1
-1
Pausable.sol
contracts/utils/Pausable.sol
+2
-2
ReentrancyGuard.sol
contracts/utils/ReentrancyGuard.sol
+2
-2
SafeCast.sol
contracts/utils/SafeCast.sol
+1
-1
Strings.sol
contracts/utils/Strings.sol
+1
-1
No files found.
.solhint.json
View file @
90ed1af9
...
...
@@ -4,8 +4,9 @@
"func-order"
:
"off"
,
"mark-callable-contracts"
:
"off"
,
"no-empty-blocks"
:
"off"
,
"compiler-version"
:
[
"error"
,
"^0.6.0"
]
,
"compiler-version"
:
"off"
,
"private-vars-leading-underscore"
:
"error"
,
"reason-string"
:
"off"
"reason-string"
:
"off"
,
"func-visibility"
:
[
"error"
,
{
"ignoreConstructors"
:
true
}]
}
}
contracts/GSN/Context.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/*
* @dev Provides information about the current execution context, including the
...
...
contracts/GSN/GSNRecipient.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IRelayRecipient.sol";
import "./IRelayHub.sol";
...
...
contracts/GSN/GSNRecipientERC20Fee.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./GSNRecipient.sol";
import "../math/SafeMath.sol";
...
...
@@ -86,6 +86,8 @@ contract GSNRecipientERC20Fee is GSNRecipient {
// The maximum token charge is pre-charged from the user
_token.safeTransferFrom(from, address(this), maxPossibleCharge);
return 0;
}
/**
...
...
contracts/GSN/GSNRecipientSignature.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./GSNRecipient.sol";
import "../cryptography/ECDSA.sol";
...
...
contracts/GSN/IRelayHub.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Interface for `RelayHub`, the core contract of the GSN. Users should not need to interact with this contract
...
...
contracts/GSN/IRelayRecipient.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Base interface for a contract that will be called via the GSN from {IRelayHub}.
...
...
contracts/access/AccessControl.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/EnumerableSet.sol";
import "../utils/Address.sol";
...
...
contracts/access/Ownable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
/**
...
...
@@ -15,7 +15,7 @@ import "../GSN/Context.sol";
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
contract Ownable is Context {
abstract
contract Ownable is Context {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
...
...
contracts/access/TimelockController.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.9 <0.8
.0;
pragma experimental ABIEncoderV2;
import "./../math/SafeMath.sol";
...
...
contracts/cryptography/ECDSA.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.
...
...
contracts/cryptography/MerkleProof.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev These functions deal with verification of Merkle trees (hash trees),
...
...
contracts/introspection/ERC165.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC165.sol";
...
...
@@ -10,7 +10,7 @@ import "./IERC165.sol";
* Contracts may inherit from this and call {_registerInterface} to declare
* their support of an interface.
*/
contract ERC165 is IERC165 {
abstract
contract ERC165 is IERC165 {
/*
* bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7
*/
...
...
contracts/introspection/ERC165Checker.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
/**
* @dev Library used to query support of an interface declared via {IERC165}.
...
...
contracts/introspection/ERC1820Implementer.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC1820Implementer.sol";
...
...
contracts/introspection/IERC165.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Interface of the ERC165 standard, as defined in the
...
...
contracts/introspection/IERC1820Implementer.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Interface for an ERC1820 implementer, as defined in the
...
...
contracts/introspection/IERC1820Registry.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Interface of the global ERC1820 Registry, as defined in the
...
...
@@ -59,7 +59,7 @@ interface IERC1820Registry {
* queried for support, unless `implementer` is the caller. See
* {IERC1820Implementer-canImplementInterfaceForAddress}.
*/
function setInterfaceImplementer(address account, bytes32 interfaceHash, address implementer) external;
function setInterfaceImplementer(address account, bytes32
_
interfaceHash, address implementer) external;
/**
* @dev Returns the implementer of `interfaceHash` for `account`. If no such
...
...
@@ -70,7 +70,7 @@ interface IERC1820Registry {
*
* `account` being the zero address is an alias for the caller's address.
*/
function getInterfaceImplementer(address account, bytes32 interfaceHash) external view returns (address);
function getInterfaceImplementer(address account, bytes32
_
interfaceHash) external view returns (address);
/**
* @dev Returns the interface hash for an `interfaceName`, as defined in the
...
...
contracts/math/Math.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Standard math utilities missing in the Solidity language.
...
...
contracts/math/SafeMath.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
...
...
contracts/math/SignedSafeMath.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @title SignedSafeMath
...
...
contracts/mocks/AccessControlMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/AccessControl.sol";
...
...
contracts/mocks/AddressImpl.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Address.sol";
...
...
contracts/mocks/ArraysImpl.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Arrays.sol";
...
...
contracts/mocks/CallReceiverMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
contract CallReceiverMock {
string public sharedAnswer;
...
...
contracts/mocks/ClashingImplementation.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
...
...
contracts/mocks/ConditionalEscrowMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../payment/escrow/ConditionalEscrow.sol";
...
...
contracts/mocks/ContextMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
...
...
contracts/mocks/CountersImpl.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Counters.sol";
...
...
contracts/mocks/Create2Impl.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Create2.sol";
import "../introspection/ERC1820Implementer.sol";
...
...
contracts/mocks/DummyImplementation.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
abstract contract Impl {
function version() public pure virtual returns (string memory);
...
...
contracts/mocks/ECDSAMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../cryptography/ECDSA.sol";
...
...
contracts/mocks/ERC1155BurnableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC1155/ERC1155Burnable.sol";
...
...
contracts/mocks/ERC1155Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC1155/ERC1155.sol";
...
...
contracts/mocks/ERC1155PausableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC1155Mock.sol";
import "../token/ERC1155/ERC1155Pausable.sol";
...
...
contracts/mocks/ERC1155ReceiverMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC1155/IERC1155Receiver.sol";
import "./ERC165Mock.sol";
...
...
contracts/mocks/ERC165/ERC165InterfacesSupported.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../introspection/IERC165.sol";
...
...
contracts/mocks/ERC165/ERC165NotSupported.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
contract ERC165NotSupported { }
contracts/mocks/ERC165CheckerMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../introspection/ERC165Checker.sol";
...
...
contracts/mocks/ERC165Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../introspection/ERC165.sol";
...
...
contracts/mocks/ERC1820ImplementerMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../introspection/ERC1820Implementer.sol";
...
...
contracts/mocks/ERC20BurnableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20Burnable.sol";
...
...
contracts/mocks/ERC20CappedMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20Capped.sol";
...
...
contracts/mocks/ERC20DecimalsMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20.sol";
...
...
contracts/mocks/ERC20Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20.sol";
...
...
contracts/mocks/ERC20PausableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20Pausable.sol";
...
...
contracts/mocks/ERC20SnapshotMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20Snapshot.sol";
...
...
contracts/mocks/ERC721BurnableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/ERC721Burnable.sol";
...
...
contracts/mocks/ERC721GSNRecipientMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/ERC721.sol";
import "../GSN/GSNRecipient.sol";
...
...
contracts/mocks/ERC721Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/ERC721.sol";
...
...
contracts/mocks/ERC721PausableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/ERC721Pausable.sol";
...
...
contracts/mocks/ERC721ReceiverMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/IERC721Receiver.sol";
...
...
contracts/mocks/ERC777Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../token/ERC777/ERC777.sol";
...
...
contracts/mocks/ERC777SenderRecipientMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../token/ERC777/IERC777.sol";
...
...
contracts/mocks/EnumerableMapMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/EnumerableMap.sol";
...
...
contracts/mocks/EnumerableSetMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/EnumerableSet.sol";
...
...
contracts/mocks/EtherReceiverMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
contract EtherReceiverMock {
bool private _acceptEther;
...
...
contracts/mocks/GSNRecipientERC20FeeMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/GSNRecipient.sol";
import "../GSN/GSNRecipientERC20Fee.sol";
...
...
contracts/mocks/GSNRecipientMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ContextMock.sol";
import "../GSN/GSNRecipient.sol";
...
...
contracts/mocks/GSNRecipientSignatureMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/GSNRecipient.sol";
import "../GSN/GSNRecipientSignature.sol";
...
...
contracts/mocks/InitializableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../proxy/Initializable.sol";
...
...
contracts/mocks/MathMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/Math.sol";
...
...
contracts/mocks/MerkleProofWrapper.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import { MerkleProof } from "../cryptography/MerkleProof.sol";
...
...
contracts/mocks/MultipleInheritanceInitializableMocks.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../proxy/Initializable.sol";
...
...
contracts/mocks/OwnableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/Ownable.sol";
...
...
contracts/mocks/PausableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Pausable.sol";
...
...
contracts/mocks/PullPaymentMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../payment/PullPayment.sol";
...
...
contracts/mocks/ReentrancyAttack.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
contract ReentrancyAttack is Context {
...
...
contracts/mocks/ReentrancyMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/ReentrancyGuard.sol";
import "./ReentrancyAttack.sol";
...
...
contracts/mocks/RegressionImplementation.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../proxy/Initializable.sol";
...
...
contracts/mocks/SafeCastMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/SafeCast.sol";
...
...
contracts/mocks/SafeERC20Helper.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../token/ERC20/IERC20.sol";
...
...
contracts/mocks/SafeMathMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/SafeMath.sol";
...
...
contracts/mocks/SignedSafeMathMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/SignedSafeMath.sol";
...
...
contracts/mocks/SingleInheritanceInitializableMocks.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../proxy/Initializable.sol";
...
...
contracts/mocks/StringsMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Strings.sol";
...
...
contracts/package.json
View file @
90ed1af9
{
"name"
:
"@openzeppelin/contracts"
,
"description"
:
"Secure Smart Contract library for Solidity"
,
"version"
:
"3.2.
0
"
,
"version"
:
"3.2.
2-solc-0.7
"
,
"files"
:
[
"**/*.sol"
,
"/build/contracts/*.json"
,
...
...
contracts/payment/PaymentSplitter.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../math/SafeMath.sol";
...
...
@@ -39,13 +39,13 @@ 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
_
) public payable {
// solhint-disable-next-line max-line-length
require(payees.length == shares.length, "PaymentSplitter: payees and shares length mismatch");
require(payees.length == shares
_
.length, "PaymentSplitter: payees and shares length mismatch");
require(payees.length > 0, "PaymentSplitter: no payees");
for (uint256 i = 0; i < payees.length; i++) {
_addPayee(payees[i], shares[i]);
_addPayee(payees[i], shares
_
[i]);
}
}
...
...
contracts/payment/PullPayment.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "./escrow/Escrow.sol";
...
...
@@ -22,7 +22,7 @@ import "./escrow/Escrow.sol";
* instead of Solidity's `transfer` function. Payees can query their due
* payments with {payments}, and retrieve them with {withdrawPayments}.
*/
contract PullPayment {
abstract
contract PullPayment {
Escrow private _escrow;
constructor () internal {
...
...
contracts/payment/escrow/ConditionalEscrow.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./Escrow.sol";
...
...
contracts/payment/escrow/Escrow.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../math/SafeMath.sol";
import "../../access/Ownable.sol";
...
...
contracts/payment/escrow/RefundEscrow.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ConditionalEscrow.sol";
...
...
@@ -25,11 +25,11 @@ contract RefundEscrow is ConditionalEscrow {
/**
* @dev Constructor.
* @param beneficiary The beneficiary of the deposits.
* @param beneficiary
_
The beneficiary of the deposits.
*/
constructor (address payable beneficiary) public {
require(beneficiary != address(0), "RefundEscrow: beneficiary is the zero address");
_beneficiary = beneficiary;
constructor (address payable beneficiary
_
) public {
require(beneficiary
_
!= address(0), "RefundEscrow: beneficiary is the zero address");
_beneficiary = beneficiary
_
;
_state = State.Active;
}
...
...
contracts/presets/ERC1155PresetMinterPauser.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/AccessControl.sol";
import "../GSN/Context.sol";
...
...
contracts/presets/ERC20PresetMinterPauser.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/AccessControl.sol";
import "../GSN/Context.sol";
...
...
contracts/presets/ERC721PresetMinterPauserAutoId.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/AccessControl.sol";
import "../GSN/Context.sol";
...
...
contracts/proxy/Initializable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// solhint-disable-next-line compiler-version
pragma solidity >=0.4.24 <0.
7
.0;
pragma solidity >=0.4.24 <0.
8
.0;
/**
...
...
contracts/proxy/Proxy.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM
...
...
contracts/proxy/ProxyAdmin.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/Ownable.sol";
import "./TransparentUpgradeableProxy.sol";
...
...
contracts/proxy/TransparentUpgradeableProxy.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./UpgradeableProxy.sol";
...
...
@@ -30,9 +30,9 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
* @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and
* optionally initialized with `_data` as explained in {UpgradeableProxy-constructor}.
*/
constructor(address _logic, address
_admin
, bytes memory _data) public payable UpgradeableProxy(_logic, _data) {
constructor(address _logic, address
admin_
, bytes memory _data) public payable UpgradeableProxy(_logic, _data) {
assert(_ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1));
_setAdmin(
_admin
);
_setAdmin(
admin_
);
}
/**
...
...
@@ -67,8 +67,8 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
* https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
* `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`
*/
function admin() external ifAdmin returns (address) {
return
_admin();
function admin() external ifAdmin returns (address
admin_
) {
admin_ =
_admin();
}
/**
...
...
@@ -80,8 +80,8 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
* https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
* `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
*/
function implementation() external ifAdmin returns (address) {
return
_implementation();
function implementation() external ifAdmin returns (address
implementation_
) {
implementation_ =
_implementation();
}
/**
...
...
contracts/proxy/UpgradeableProxy.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./Proxy.sol";
import "../utils/Address.sol";
...
...
contracts/token/ERC1155/ERC1155.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC1155.sol";
import "./IERC1155MetadataURI.sol";
...
...
@@ -52,8 +52,8 @@ contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI {
/**
* @dev See {_setURI}.
*/
constructor (string memory uri) public {
_setURI(uri);
constructor (string memory uri
_
) public {
_setURI(uri
_
);
// register the supported interfaces to conform to ERC1155 via ERC165
_registerInterface(_INTERFACE_ID_ERC1155);
...
...
contracts/token/ERC1155/ERC1155Burnable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC1155.sol";
...
...
contracts/token/ERC1155/ERC1155Holder.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC1155Receiver.sol";
...
...
contracts/token/ERC1155/ERC1155Pausable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC1155.sol";
import "../../utils/Pausable.sol";
...
...
contracts/token/ERC1155/ERC1155Receiver.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.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()
internal
{
_registerInterface(
ERC1155Receiver(0).onERC1155Received.selector ^
ERC1155Receiver(0).onERC1155BatchReceived.selector
...
...
contracts/token/ERC1155/IERC1155.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "../../introspection/IERC165.sol";
...
...
contracts/token/ERC1155/IERC1155MetadataURI.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "./IERC1155.sol";
...
...
contracts/token/ERC1155/IERC1155Receiver.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../introspection/IERC165.sol";
...
...
contracts/token/ERC20/ERC20.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../GSN/Context.sol";
import "./IERC20.sol";
...
...
@@ -52,9 +52,9 @@ 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 {
_name = name;
_symbol = symbol;
constructor (string memory name
_, string memory symbol_
) public {
_name = name
_
;
_symbol = symbol
_
;
_decimals = 18;
}
...
...
contracts/token/ERC20/ERC20Burnable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.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.
*
...
...
contracts/token/ERC20/ERC20Capped.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC20.sol";
...
...
@@ -8,15 +8,17 @@ 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
{
require(cap > 0, "ERC20Capped: cap is 0");
_cap = cap;
constructor (uint256 cap
_) internal
{
require(cap
_
> 0, "ERC20Capped: cap is 0");
_cap = cap
_
;
}
/**
...
...
contracts/token/ERC20/ERC20Pausable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC20.sol";
import "../../utils/Pausable.sol";
...
...
contracts/token/ERC20/ERC20Snapshot.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../math/SafeMath.sol";
import "../../utils/Arrays.sol";
...
...
contracts/token/ERC20/IERC20.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
...
...
contracts/token/ERC20/SafeERC20.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC20.sol";
import "../../math/SafeMath.sol";
...
...
contracts/token/ERC20/TokenTimelock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./SafeERC20.sol";
...
...
@@ -23,12 +23,12 @@ 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_
) public {
// solhint-disable-next-line not-rely-on-time
require(releaseTime > block.timestamp, "TokenTimelock: release time is before current time");
_token = token;
_beneficiary = beneficiary;
_releaseTime = releaseTime;
require(releaseTime
_
> block.timestamp, "TokenTimelock: release time is before current time");
_token = token
_
;
_beneficiary = beneficiary
_
;
_releaseTime = releaseTime
_
;
}
/**
...
...
contracts/token/ERC721/ERC721.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../GSN/Context.sol";
import "./IERC721.sol";
...
...
@@ -90,9 +90,9 @@ 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 {
_name = name;
_symbol = symbol;
constructor (string memory name
_, string memory symbol_
) public {
_name = name
_
;
_symbol = symbol
_
;
// register the supported interfaces to conform to ERC721 via ERC165
_registerInterface(_INTERFACE_ID_ERC721);
...
...
contracts/token/ERC721/ERC721Burnable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../GSN/Context.sol";
import "./ERC721.sol";
...
...
contracts/token/ERC721/ERC721Holder.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC721Receiver.sol";
...
...
contracts/token/ERC721/ERC721Pausable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC721.sol";
import "../../utils/Pausable.sol";
...
...
contracts/token/ERC721/IERC721.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "../../introspection/IERC165.sol";
...
...
contracts/token/ERC721/IERC721Enumerable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "./IERC721.sol";
...
...
contracts/token/ERC721/IERC721Metadata.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "./IERC721.sol";
...
...
contracts/token/ERC721/IERC721Receiver.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @title ERC721 token receiver interface
...
...
contracts/token/ERC777/ERC777.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../GSN/Context.sol";
import "./IERC777.sol";
...
...
@@ -67,14 +67,14 @@ contract ERC777 is Context, IERC777, IERC20 {
* @dev `defaultOperators` may be an empty array.
*/
constructor(
string memory name,
string memory symbol,
address[] memory defaultOperators
string memory name
_
,
string memory symbol
_
,
address[] memory defaultOperators
_
) public {
_name = name;
_symbol = symbol;
_name = name
_
;
_symbol = symbol
_
;
_defaultOperatorsArray = defaultOperators;
_defaultOperatorsArray = defaultOperators
_
;
for (uint256 i = 0; i < _defaultOperatorsArray.length; i++) {
_defaultOperators[_defaultOperatorsArray[i]] = true;
}
...
...
contracts/token/ERC777/IERC777.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Interface of the ERC777Token standard as defined in the EIP.
...
...
contracts/token/ERC777/IERC777Recipient.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Interface of the ERC777TokensRecipient standard as defined in the EIP.
...
...
contracts/token/ERC777/IERC777Sender.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Interface of the ERC777TokensSender standard as defined in the EIP.
...
...
contracts/utils/Address.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
/**
* @dev Collection of functions related to the address type
...
...
contracts/utils/Arrays.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/Math.sol";
...
...
contracts/utils/Counters.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/SafeMath.sol";
...
...
contracts/utils/Create2.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Helper to make usage of the `CREATE2` EVM opcode easier and safer.
...
...
contracts/utils/EnumerableMap.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Library for managing an enumerable variant of Solidity's
...
...
contracts/utils/EnumerableSet.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Library for managing
...
...
contracts/utils/Pausable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
...
...
@@ -13,7 +13,7 @@ import "../GSN/Context.sol";
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
contract Pausable is Context {
abstract
contract Pausable is Context {
/**
* @dev Emitted when the pause is triggered by `account`.
*/
...
...
contracts/utils/ReentrancyGuard.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev Contract module that helps prevent reentrant calls to a function.
...
...
@@ -18,7 +18,7 @@ pragma solidity ^0.6.0;
* to protect against it, check out our blog post
* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
*/
contract ReentrancyGuard {
abstract
contract ReentrancyGuard {
// Booleans are more expensive than uint256 or any type that takes up a full
// word because each write operation emits an extra SLOAD to first read the
// slot's contents, replace the bits taken up by the boolean, and then write
...
...
contracts/utils/SafeCast.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
...
...
contracts/utils/Strings.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
* @dev String operations.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment