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
a5d1ac7e
Commit
a5d1ac7e
authored
Nov 17, 2020
by
Francisco Giordano
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' into release-v3.3
parents
fce25138
877f4403
Hide whitespace changes
Inline
Side-by-side
Showing
128 changed files
with
179 additions
and
174 deletions
+179
-174
.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
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
update-changelog-release-date.js
scripts/release/update-changelog-release-date.js
+1
-3
No files found.
.solhint.json
View file @
a5d1ac7e
...
@@ -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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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/payment/PaymentSplitter.sol
View file @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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 @
a5d1ac7e
// 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.
...
...
scripts/release/update-changelog-release-date.js
View file @
a5d1ac7e
...
@@ -29,8 +29,6 @@ const newHeader = pkg.version.indexOf(suffix) === -1
...
@@ -29,8 +29,6 @@ const newHeader = pkg.version.indexOf(suffix) === -1
?
`##
${
version
}
(
${
new
Date
().
toISOString
().
split
(
'T'
)[
0
]}
)`
?
`##
${
version
}
(
${
new
Date
().
toISOString
().
split
(
'T'
)[
0
]}
)`
:
`##
${
version
}
`
;
:
`##
${
version
}
`
;
fs
.
writeFileSync
(
'CHANGELOG.md'
,
fs
.
writeFileSync
(
'CHANGELOG.md'
,
changelog
.
replace
(
header
,
newHeader
));
changelog
.
replace
(
header
,
newHeader
)
);
cp
.
execSync
(
'git add CHANGELOG.md'
,
{
stdio
:
'inherit'
});
cp
.
execSync
(
'git add CHANGELOG.md'
,
{
stdio
:
'inherit'
});
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