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
Show 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 @@
...
@@ -4,8 +4,9 @@
"func-order"
:
"off"
,
"func-order"
:
"off"
,
"mark-callable-contracts"
:
"off"
,
"mark-callable-contracts"
:
"off"
,
"no-empty-blocks"
:
"off"
,
"no-empty-blocks"
:
"off"
,
"compiler-version"
:
[
"error"
,
"^0.6.0"
]
,
"compiler-version"
:
"off"
,
"private-vars-leading-underscore"
:
"error"
,
"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
// 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
* @dev Provides information about the current execution context, including the
...
...
contracts/GSN/GSNRecipient.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IRelayRecipient.sol";
import "./IRelayRecipient.sol";
import "./IRelayHub.sol";
import "./IRelayHub.sol";
...
...
contracts/GSN/GSNRecipientERC20Fee.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./GSNRecipient.sol";
import "./GSNRecipient.sol";
import "../math/SafeMath.sol";
import "../math/SafeMath.sol";
...
@@ -86,6 +86,8 @@ contract GSNRecipientERC20Fee is GSNRecipient {
...
@@ -86,6 +86,8 @@ contract GSNRecipientERC20Fee is GSNRecipient {
// The maximum token charge is pre-charged from the user
// The maximum token charge is pre-charged from the user
_token.safeTransferFrom(from, address(this), maxPossibleCharge);
_token.safeTransferFrom(from, address(this), maxPossibleCharge);
return 0;
}
}
/**
/**
...
...
contracts/GSN/GSNRecipientSignature.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./GSNRecipient.sol";
import "./GSNRecipient.sol";
import "../cryptography/ECDSA.sol";
import "../cryptography/ECDSA.sol";
...
...
contracts/GSN/IRelayHub.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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
* @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
// 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}.
* @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
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/EnumerableSet.sol";
import "../utils/EnumerableSet.sol";
import "../utils/Address.sol";
import "../utils/Address.sol";
...
...
contracts/access/Ownable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../GSN/Context.sol";
/**
/**
...
@@ -15,7 +15,7 @@ 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
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
* the owner.
*/
*/
contract Ownable is Context {
abstract
contract Ownable is Context {
address private _owner;
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
...
...
contracts/access/TimelockController.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.9 <0.8
.0;
pragma experimental ABIEncoderV2;
pragma experimental ABIEncoderV2;
import "./../math/SafeMath.sol";
import "./../math/SafeMath.sol";
...
...
contracts/cryptography/ECDSA.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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.
* @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations.
...
...
contracts/cryptography/MerkleProof.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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),
* @dev These functions deal with verification of Merkle trees (hash trees),
...
...
contracts/introspection/ERC165.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC165.sol";
import "./IERC165.sol";
...
@@ -10,7 +10,7 @@ import "./IERC165.sol";
...
@@ -10,7 +10,7 @@ import "./IERC165.sol";
* Contracts may inherit from this and call {_registerInterface} to declare
* Contracts may inherit from this and call {_registerInterface} to declare
* their support of an interface.
* their support of an interface.
*/
*/
contract ERC165 is IERC165 {
abstract
contract ERC165 is IERC165 {
/*
/*
* bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7
* bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7
*/
*/
...
...
contracts/introspection/ERC165Checker.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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}.
* @dev Library used to query support of an interface declared via {IERC165}.
...
...
contracts/introspection/ERC1820Implementer.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC1820Implementer.sol";
import "./IERC1820Implementer.sol";
...
...
contracts/introspection/IERC165.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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
* @dev Interface of the ERC165 standard, as defined in the
...
...
contracts/introspection/IERC1820Implementer.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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
* @dev Interface for an ERC1820 implementer, as defined in the
...
...
contracts/introspection/IERC1820Registry.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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
* @dev Interface of the global ERC1820 Registry, as defined in the
...
@@ -59,7 +59,7 @@ interface IERC1820Registry {
...
@@ -59,7 +59,7 @@ interface IERC1820Registry {
* queried for support, unless `implementer` is the caller. See
* queried for support, unless `implementer` is the caller. See
* {IERC1820Implementer-canImplementInterfaceForAddress}.
* {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
* @dev Returns the implementer of `interfaceHash` for `account`. If no such
...
@@ -70,7 +70,7 @@ interface IERC1820Registry {
...
@@ -70,7 +70,7 @@ interface IERC1820Registry {
*
*
* `account` being the zero address is an alias for the caller's address.
* `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
* @dev Returns the interface hash for an `interfaceName`, as defined in the
...
...
contracts/math/Math.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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.
* @dev Standard math utilities missing in the Solidity language.
...
...
contracts/math/SafeMath.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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
* @dev Wrappers over Solidity's arithmetic operations with added overflow
...
...
contracts/math/SignedSafeMath.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
/**
* @title SignedSafeMath
* @title SignedSafeMath
...
...
contracts/mocks/AccessControlMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/AccessControl.sol";
import "../access/AccessControl.sol";
...
...
contracts/mocks/AddressImpl.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Address.sol";
import "../utils/Address.sol";
...
...
contracts/mocks/ArraysImpl.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Arrays.sol";
import "../utils/Arrays.sol";
...
...
contracts/mocks/CallReceiverMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
contract CallReceiverMock {
contract CallReceiverMock {
string public sharedAnswer;
string public sharedAnswer;
...
...
contracts/mocks/ClashingImplementation.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../payment/escrow/ConditionalEscrow.sol";
import "../payment/escrow/ConditionalEscrow.sol";
...
...
contracts/mocks/ContextMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../GSN/Context.sol";
...
...
contracts/mocks/CountersImpl.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Counters.sol";
import "../utils/Counters.sol";
...
...
contracts/mocks/Create2Impl.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Create2.sol";
import "../utils/Create2.sol";
import "../introspection/ERC1820Implementer.sol";
import "../introspection/ERC1820Implementer.sol";
...
...
contracts/mocks/DummyImplementation.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
abstract contract Impl {
abstract contract Impl {
function version() public pure virtual returns (string memory);
function version() public pure virtual returns (string memory);
...
...
contracts/mocks/ECDSAMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../cryptography/ECDSA.sol";
import "../cryptography/ECDSA.sol";
...
...
contracts/mocks/ERC1155BurnableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC1155/ERC1155Burnable.sol";
import "../token/ERC1155/ERC1155Burnable.sol";
...
...
contracts/mocks/ERC1155Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC1155/ERC1155.sol";
import "../token/ERC1155/ERC1155.sol";
...
...
contracts/mocks/ERC1155PausableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC1155Mock.sol";
import "./ERC1155Mock.sol";
import "../token/ERC1155/ERC1155Pausable.sol";
import "../token/ERC1155/ERC1155Pausable.sol";
...
...
contracts/mocks/ERC1155ReceiverMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC1155/IERC1155Receiver.sol";
import "../token/ERC1155/IERC1155Receiver.sol";
import "./ERC165Mock.sol";
import "./ERC165Mock.sol";
...
...
contracts/mocks/ERC165/ERC165InterfacesSupported.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../introspection/IERC165.sol";
import "../../introspection/IERC165.sol";
...
...
contracts/mocks/ERC165/ERC165NotSupported.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
contract ERC165NotSupported { }
contract ERC165NotSupported { }
contracts/mocks/ERC165CheckerMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../introspection/ERC165Checker.sol";
import "../introspection/ERC165Checker.sol";
...
...
contracts/mocks/ERC165Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../introspection/ERC165.sol";
import "../introspection/ERC165.sol";
...
...
contracts/mocks/ERC1820ImplementerMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../introspection/ERC1820Implementer.sol";
import "../introspection/ERC1820Implementer.sol";
...
...
contracts/mocks/ERC20BurnableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20Burnable.sol";
import "../token/ERC20/ERC20Burnable.sol";
...
...
contracts/mocks/ERC20CappedMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20Capped.sol";
import "../token/ERC20/ERC20Capped.sol";
...
...
contracts/mocks/ERC20DecimalsMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20.sol";
import "../token/ERC20/ERC20.sol";
...
...
contracts/mocks/ERC20Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20.sol";
import "../token/ERC20/ERC20.sol";
...
...
contracts/mocks/ERC20PausableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20Pausable.sol";
import "../token/ERC20/ERC20Pausable.sol";
...
...
contracts/mocks/ERC20SnapshotMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC20/ERC20Snapshot.sol";
import "../token/ERC20/ERC20Snapshot.sol";
...
...
contracts/mocks/ERC721BurnableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/ERC721Burnable.sol";
import "../token/ERC721/ERC721Burnable.sol";
...
...
contracts/mocks/ERC721GSNRecipientMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/ERC721.sol";
import "../token/ERC721/ERC721.sol";
import "../GSN/GSNRecipient.sol";
import "../GSN/GSNRecipient.sol";
...
...
contracts/mocks/ERC721Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/ERC721.sol";
import "../token/ERC721/ERC721.sol";
...
...
contracts/mocks/ERC721PausableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/ERC721Pausable.sol";
import "../token/ERC721/ERC721Pausable.sol";
...
...
contracts/mocks/ERC721ReceiverMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../token/ERC721/IERC721Receiver.sol";
import "../token/ERC721/IERC721Receiver.sol";
...
...
contracts/mocks/ERC777Mock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../GSN/Context.sol";
import "../token/ERC777/ERC777.sol";
import "../token/ERC777/ERC777.sol";
...
...
contracts/mocks/ERC777SenderRecipientMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../GSN/Context.sol";
import "../token/ERC777/IERC777.sol";
import "../token/ERC777/IERC777.sol";
...
...
contracts/mocks/EnumerableMapMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/EnumerableMap.sol";
import "../utils/EnumerableMap.sol";
...
...
contracts/mocks/EnumerableSetMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/EnumerableSet.sol";
import "../utils/EnumerableSet.sol";
...
...
contracts/mocks/EtherReceiverMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
contract EtherReceiverMock {
contract EtherReceiverMock {
bool private _acceptEther;
bool private _acceptEther;
...
...
contracts/mocks/GSNRecipientERC20FeeMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/GSNRecipient.sol";
import "../GSN/GSNRecipient.sol";
import "../GSN/GSNRecipientERC20Fee.sol";
import "../GSN/GSNRecipientERC20Fee.sol";
...
...
contracts/mocks/GSNRecipientMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ContextMock.sol";
import "./ContextMock.sol";
import "../GSN/GSNRecipient.sol";
import "../GSN/GSNRecipient.sol";
...
...
contracts/mocks/GSNRecipientSignatureMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/GSNRecipient.sol";
import "../GSN/GSNRecipient.sol";
import "../GSN/GSNRecipientSignature.sol";
import "../GSN/GSNRecipientSignature.sol";
...
...
contracts/mocks/InitializableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../proxy/Initializable.sol";
import "../proxy/Initializable.sol";
...
...
contracts/mocks/MathMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/Math.sol";
import "../math/Math.sol";
...
...
contracts/mocks/MerkleProofWrapper.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import { MerkleProof } from "../cryptography/MerkleProof.sol";
import { MerkleProof } from "../cryptography/MerkleProof.sol";
...
...
contracts/mocks/MultipleInheritanceInitializableMocks.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../proxy/Initializable.sol";
import "../proxy/Initializable.sol";
...
...
contracts/mocks/OwnableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/Ownable.sol";
import "../access/Ownable.sol";
...
...
contracts/mocks/PausableMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Pausable.sol";
import "../utils/Pausable.sol";
...
...
contracts/mocks/PullPaymentMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../payment/PullPayment.sol";
import "../payment/PullPayment.sol";
...
...
contracts/mocks/ReentrancyAttack.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../GSN/Context.sol";
contract ReentrancyAttack is Context {
contract ReentrancyAttack is Context {
...
...
contracts/mocks/ReentrancyMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/ReentrancyGuard.sol";
import "../utils/ReentrancyGuard.sol";
import "./ReentrancyAttack.sol";
import "./ReentrancyAttack.sol";
...
...
contracts/mocks/RegressionImplementation.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../proxy/Initializable.sol";
import "../proxy/Initializable.sol";
...
...
contracts/mocks/SafeCastMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/SafeCast.sol";
import "../utils/SafeCast.sol";
...
...
contracts/mocks/SafeERC20Helper.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../GSN/Context.sol";
import "../token/ERC20/IERC20.sol";
import "../token/ERC20/IERC20.sol";
...
...
contracts/mocks/SafeMathMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/SafeMath.sol";
import "../math/SafeMath.sol";
...
...
contracts/mocks/SignedSafeMathMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/SignedSafeMath.sol";
import "../math/SignedSafeMath.sol";
...
...
contracts/mocks/SingleInheritanceInitializableMocks.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../proxy/Initializable.sol";
import "../proxy/Initializable.sol";
...
...
contracts/mocks/StringsMock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../utils/Strings.sol";
import "../utils/Strings.sol";
...
...
contracts/package.json
View file @
90ed1af9
{
{
"name"
:
"@openzeppelin/contracts"
,
"name"
:
"@openzeppelin/contracts"
,
"description"
:
"Secure Smart Contract library for Solidity"
,
"description"
:
"Secure Smart Contract library for Solidity"
,
"version"
:
"3.2.
0
"
,
"version"
:
"3.2.
2-solc-0.7
"
,
"files"
:
[
"files"
:
[
"**/*.sol"
,
"**/*.sol"
,
"/build/contracts/*.json"
,
"/build/contracts/*.json"
,
...
...
contracts/payment/PaymentSplitter.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../GSN/Context.sol";
import "../math/SafeMath.sol";
import "../math/SafeMath.sol";
...
@@ -39,13 +39,13 @@ contract PaymentSplitter is Context {
...
@@ -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
* 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`.
* 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
// 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");
require(payees.length > 0, "PaymentSplitter: no payees");
for (uint256 i = 0; i < payees.length; i++) {
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
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "./escrow/Escrow.sol";
import "./escrow/Escrow.sol";
...
@@ -22,7 +22,7 @@ import "./escrow/Escrow.sol";
...
@@ -22,7 +22,7 @@ import "./escrow/Escrow.sol";
* instead of Solidity's `transfer` function. Payees can query their due
* instead of Solidity's `transfer` function. Payees can query their due
* payments with {payments}, and retrieve them with {withdrawPayments}.
* payments with {payments}, and retrieve them with {withdrawPayments}.
*/
*/
contract PullPayment {
abstract
contract PullPayment {
Escrow private _escrow;
Escrow private _escrow;
constructor () internal {
constructor () internal {
...
...
contracts/payment/escrow/ConditionalEscrow.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./Escrow.sol";
import "./Escrow.sol";
...
...
contracts/payment/escrow/Escrow.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../math/SafeMath.sol";
import "../../math/SafeMath.sol";
import "../../access/Ownable.sol";
import "../../access/Ownable.sol";
...
...
contracts/payment/escrow/RefundEscrow.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ConditionalEscrow.sol";
import "./ConditionalEscrow.sol";
...
@@ -25,11 +25,11 @@ contract RefundEscrow is ConditionalEscrow {
...
@@ -25,11 +25,11 @@ contract RefundEscrow is ConditionalEscrow {
/**
/**
* @dev Constructor.
* @dev Constructor.
* @param beneficiary The beneficiary of the deposits.
* @param beneficiary
_
The beneficiary of the deposits.
*/
*/
constructor (address payable beneficiary) public {
constructor (address payable beneficiary
_
) public {
require(beneficiary != address(0), "RefundEscrow: beneficiary is the zero address");
require(beneficiary
_
!= address(0), "RefundEscrow: beneficiary is the zero address");
_beneficiary = beneficiary;
_beneficiary = beneficiary
_
;
_state = State.Active;
_state = State.Active;
}
}
...
...
contracts/presets/ERC1155PresetMinterPauser.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/AccessControl.sol";
import "../access/AccessControl.sol";
import "../GSN/Context.sol";
import "../GSN/Context.sol";
...
...
contracts/presets/ERC20PresetMinterPauser.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/AccessControl.sol";
import "../access/AccessControl.sol";
import "../GSN/Context.sol";
import "../GSN/Context.sol";
...
...
contracts/presets/ERC721PresetMinterPauserAutoId.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/AccessControl.sol";
import "../access/AccessControl.sol";
import "../GSN/Context.sol";
import "../GSN/Context.sol";
...
...
contracts/proxy/Initializable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
// solhint-disable-next-line compiler-version
// 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
// 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
* @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
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../access/Ownable.sol";
import "../access/Ownable.sol";
import "./TransparentUpgradeableProxy.sol";
import "./TransparentUpgradeableProxy.sol";
...
...
contracts/proxy/TransparentUpgradeableProxy.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./UpgradeableProxy.sol";
import "./UpgradeableProxy.sol";
...
@@ -30,9 +30,9 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
...
@@ -30,9 +30,9 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
* @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and
* @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and
* optionally initialized with `_data` as explained in {UpgradeableProxy-constructor}.
* 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));
assert(_ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1));
_setAdmin(
_admin
);
_setAdmin(
admin_
);
}
}
/**
/**
...
@@ -67,8 +67,8 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
...
@@ -67,8 +67,8 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
* https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
* https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
* `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`
* `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103`
*/
*/
function admin() external ifAdmin returns (address) {
function admin() external ifAdmin returns (address
admin_
) {
return
_admin();
admin_ =
_admin();
}
}
/**
/**
...
@@ -80,8 +80,8 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
...
@@ -80,8 +80,8 @@ contract TransparentUpgradeableProxy is UpgradeableProxy {
* https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
* https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call.
* `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
* `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc`
*/
*/
function implementation() external ifAdmin returns (address) {
function implementation() external ifAdmin returns (address
implementation_
) {
return
_implementation();
implementation_ =
_implementation();
}
}
/**
/**
...
...
contracts/proxy/UpgradeableProxy.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./Proxy.sol";
import "./Proxy.sol";
import "../utils/Address.sol";
import "../utils/Address.sol";
...
...
contracts/token/ERC1155/ERC1155.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC1155.sol";
import "./IERC1155.sol";
import "./IERC1155MetadataURI.sol";
import "./IERC1155MetadataURI.sol";
...
@@ -52,8 +52,8 @@ contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI {
...
@@ -52,8 +52,8 @@ contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI {
/**
/**
* @dev See {_setURI}.
* @dev See {_setURI}.
*/
*/
constructor (string memory uri) public {
constructor (string memory uri
_
) public {
_setURI(uri);
_setURI(uri
_
);
// register the supported interfaces to conform to ERC1155 via ERC165
// register the supported interfaces to conform to ERC1155 via ERC165
_registerInterface(_INTERFACE_ID_ERC1155);
_registerInterface(_INTERFACE_ID_ERC1155);
...
...
contracts/token/ERC1155/ERC1155Burnable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC1155.sol";
import "./ERC1155.sol";
...
...
contracts/token/ERC1155/ERC1155Holder.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC1155Receiver.sol";
import "./ERC1155Receiver.sol";
...
...
contracts/token/ERC1155/ERC1155Pausable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC1155.sol";
import "./ERC1155.sol";
import "../../utils/Pausable.sol";
import "../../utils/Pausable.sol";
...
...
contracts/token/ERC1155/ERC1155Receiver.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC1155Receiver.sol";
import "./IERC1155Receiver.sol";
import "../../introspection/ERC165.sol";
import "../../introspection/ERC165.sol";
...
@@ -9,7 +9,7 @@ import "../../introspection/ERC165.sol";
...
@@ -9,7 +9,7 @@ import "../../introspection/ERC165.sol";
* @dev _Available since v3.1._
* @dev _Available since v3.1._
*/
*/
abstract contract ERC1155Receiver is ERC165, IERC1155Receiver {
abstract contract ERC1155Receiver is ERC165, IERC1155Receiver {
constructor()
public
{
constructor()
internal
{
_registerInterface(
_registerInterface(
ERC1155Receiver(0).onERC1155Received.selector ^
ERC1155Receiver(0).onERC1155Received.selector ^
ERC1155Receiver(0).onERC1155BatchReceived.selector
ERC1155Receiver(0).onERC1155BatchReceived.selector
...
...
contracts/token/ERC1155/IERC1155.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "../../introspection/IERC165.sol";
import "../../introspection/IERC165.sol";
...
...
contracts/token/ERC1155/IERC1155MetadataURI.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "./IERC1155.sol";
import "./IERC1155.sol";
...
...
contracts/token/ERC1155/IERC1155Receiver.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../introspection/IERC165.sol";
import "../../introspection/IERC165.sol";
...
...
contracts/token/ERC20/ERC20.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../GSN/Context.sol";
import "../../GSN/Context.sol";
import "./IERC20.sol";
import "./IERC20.sol";
...
@@ -52,9 +52,9 @@ contract ERC20 is Context, IERC20 {
...
@@ -52,9 +52,9 @@ contract ERC20 is Context, IERC20 {
* All three of these values are immutable: they can only be set once during
* All three of these values are immutable: they can only be set once during
* construction.
* construction.
*/
*/
constructor (string memory name
, string memory symbol
) public {
constructor (string memory name
_, string memory symbol_
) public {
_name = name;
_name = name
_
;
_symbol = symbol;
_symbol = symbol
_
;
_decimals = 18;
_decimals = 18;
}
}
...
...
contracts/token/ERC20/ERC20Burnable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../GSN/Context.sol";
import "../../GSN/Context.sol";
import "./ERC20.sol";
import "./ERC20.sol";
...
@@ -11,6 +11,8 @@ import "./ERC20.sol";
...
@@ -11,6 +11,8 @@ import "./ERC20.sol";
* recognized off-chain (via event analysis).
* recognized off-chain (via event analysis).
*/
*/
abstract contract ERC20Burnable is Context, ERC20 {
abstract contract ERC20Burnable is Context, ERC20 {
using SafeMath for uint256;
/**
/**
* @dev Destroys `amount` tokens from the caller.
* @dev Destroys `amount` tokens from the caller.
*
*
...
...
contracts/token/ERC20/ERC20Capped.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC20.sol";
import "./ERC20.sol";
...
@@ -8,15 +8,17 @@ import "./ERC20.sol";
...
@@ -8,15 +8,17 @@ import "./ERC20.sol";
* @dev Extension of {ERC20} that adds a cap to the supply of tokens.
* @dev Extension of {ERC20} that adds a cap to the supply of tokens.
*/
*/
abstract contract ERC20Capped is ERC20 {
abstract contract ERC20Capped is ERC20 {
using SafeMath for uint256;
uint256 private _cap;
uint256 private _cap;
/**
/**
* @dev Sets the value of the `cap`. This value is immutable, it can only be
* @dev Sets the value of the `cap`. This value is immutable, it can only be
* set once during construction.
* set once during construction.
*/
*/
constructor (uint256 cap
) public
{
constructor (uint256 cap
_) internal
{
require(cap > 0, "ERC20Capped: cap is 0");
require(cap
_
> 0, "ERC20Capped: cap is 0");
_cap = cap;
_cap = cap
_
;
}
}
/**
/**
...
...
contracts/token/ERC20/ERC20Pausable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC20.sol";
import "./ERC20.sol";
import "../../utils/Pausable.sol";
import "../../utils/Pausable.sol";
...
...
contracts/token/ERC20/ERC20Snapshot.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../math/SafeMath.sol";
import "../../math/SafeMath.sol";
import "../../utils/Arrays.sol";
import "../../utils/Arrays.sol";
...
...
contracts/token/ERC20/IERC20.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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.
* @dev Interface of the ERC20 standard as defined in the EIP.
...
...
contracts/token/ERC20/SafeERC20.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC20.sol";
import "./IERC20.sol";
import "../../math/SafeMath.sol";
import "../../math/SafeMath.sol";
...
...
contracts/token/ERC20/TokenTimelock.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./SafeERC20.sol";
import "./SafeERC20.sol";
...
@@ -23,12 +23,12 @@ contract TokenTimelock {
...
@@ -23,12 +23,12 @@ contract TokenTimelock {
// timestamp when token release is enabled
// timestamp when token release is enabled
uint256 private _releaseTime;
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
// solhint-disable-next-line not-rely-on-time
require(releaseTime > block.timestamp, "TokenTimelock: release time is before current time");
require(releaseTime
_
> block.timestamp, "TokenTimelock: release time is before current time");
_token = token;
_token = token
_
;
_beneficiary = beneficiary;
_beneficiary = beneficiary
_
;
_releaseTime = releaseTime;
_releaseTime = releaseTime
_
;
}
}
/**
/**
...
...
contracts/token/ERC721/ERC721.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../GSN/Context.sol";
import "../../GSN/Context.sol";
import "./IERC721.sol";
import "./IERC721.sol";
...
@@ -90,9 +90,9 @@ contract ERC721 is Context, ERC165, IERC721, IERC721Metadata, IERC721Enumerable
...
@@ -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.
* @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_
) public {
_name = name;
_name = name
_
;
_symbol = symbol;
_symbol = symbol
_
;
// register the supported interfaces to conform to ERC721 via ERC165
// register the supported interfaces to conform to ERC721 via ERC165
_registerInterface(_INTERFACE_ID_ERC721);
_registerInterface(_INTERFACE_ID_ERC721);
...
...
contracts/token/ERC721/ERC721Burnable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../GSN/Context.sol";
import "../../GSN/Context.sol";
import "./ERC721.sol";
import "./ERC721.sol";
...
...
contracts/token/ERC721/ERC721Holder.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./IERC721Receiver.sol";
import "./IERC721Receiver.sol";
...
...
contracts/token/ERC721/ERC721Pausable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "./ERC721.sol";
import "./ERC721.sol";
import "../../utils/Pausable.sol";
import "../../utils/Pausable.sol";
...
...
contracts/token/ERC721/IERC721.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "../../introspection/IERC165.sol";
import "../../introspection/IERC165.sol";
...
...
contracts/token/ERC721/IERC721Enumerable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "./IERC721.sol";
import "./IERC721.sol";
...
...
contracts/token/ERC721/IERC721Metadata.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6.2
;
pragma solidity
>=0.6.2 <0.8.0
;
import "./IERC721.sol";
import "./IERC721.sol";
...
...
contracts/token/ERC721/IERC721Receiver.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
/**
* @title ERC721 token receiver interface
* @title ERC721 token receiver interface
...
...
contracts/token/ERC777/ERC777.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../../GSN/Context.sol";
import "../../GSN/Context.sol";
import "./IERC777.sol";
import "./IERC777.sol";
...
@@ -67,14 +67,14 @@ contract ERC777 is Context, IERC777, IERC20 {
...
@@ -67,14 +67,14 @@ contract ERC777 is Context, IERC777, IERC20 {
* @dev `defaultOperators` may be an empty array.
* @dev `defaultOperators` may be an empty array.
*/
*/
constructor(
constructor(
string memory name,
string memory name
_
,
string memory symbol,
string memory symbol
_
,
address[] memory defaultOperators
address[] memory defaultOperators
_
) public {
) public {
_name = name;
_name = name
_
;
_symbol = symbol;
_symbol = symbol
_
;
_defaultOperatorsArray = defaultOperators;
_defaultOperatorsArray = defaultOperators
_
;
for (uint256 i = 0; i < _defaultOperatorsArray.length; i++) {
for (uint256 i = 0; i < _defaultOperatorsArray.length; i++) {
_defaultOperators[_defaultOperatorsArray[i]] = true;
_defaultOperators[_defaultOperatorsArray[i]] = true;
}
}
...
...
contracts/token/ERC777/IERC777.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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.
* @dev Interface of the ERC777Token standard as defined in the EIP.
...
...
contracts/token/ERC777/IERC777Recipient.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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.
* @dev Interface of the ERC777TokensRecipient standard as defined in the EIP.
...
...
contracts/token/ERC777/IERC777Sender.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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.
* @dev Interface of the ERC777TokensSender standard as defined in the EIP.
...
...
contracts/utils/Address.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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
* @dev Collection of functions related to the address type
...
...
contracts/utils/Arrays.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/Math.sol";
import "../math/Math.sol";
...
...
contracts/utils/Counters.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../math/SafeMath.sol";
import "../math/SafeMath.sol";
...
...
contracts/utils/Create2.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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.
* @dev Helper to make usage of the `CREATE2` EVM opcode easier and safer.
...
...
contracts/utils/EnumerableMap.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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
* @dev Library for managing an enumerable variant of Solidity's
...
...
contracts/utils/EnumerableSet.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
/**
* @dev Library for managing
* @dev Library for managing
...
...
contracts/utils/Pausable.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
import "../GSN/Context.sol";
import "../GSN/Context.sol";
...
@@ -13,7 +13,7 @@ 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
* 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.
* 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`.
* @dev Emitted when the pause is triggered by `account`.
*/
*/
...
...
contracts/utils/ReentrancyGuard.sol
View file @
90ed1af9
// SPDX-License-Identifier: MIT
// 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.
* @dev Contract module that helps prevent reentrant calls to a function.
...
@@ -18,7 +18,7 @@ pragma solidity ^0.6.0;
...
@@ -18,7 +18,7 @@ pragma solidity ^0.6.0;
* to protect against it, check out our blog post
* to protect against it, check out our blog post
* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
* 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
// 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
// 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
// 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
// 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
// SPDX-License-Identifier: MIT
pragma solidity
^0.6
.0;
pragma solidity
>=0.6.0 <0.8
.0;
/**
/**
* @dev String operations.
* @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