Commit f1a75bd8 by github-actions

Transpile 5f4bef56

parent 741653b6
......@@ -17,6 +17,6 @@ jobs:
ref: upstream-patched
fetch-depth: 0
ssh-key: ${{secrets.DEPLOY_KEY}}
- run: bash scripts/upgrade-safe/git-user-config.sh
- run: bash scripts/upgrade-safe/merge-upstream.sh
- run: bash scripts/upgradeable/git-user-config.sh
- run: bash scripts/upgradeable/merge-upstream.sh
- run: git push
......@@ -23,6 +23,6 @@ jobs:
restore-keys: npm-v2-
- run: npm ci
if: steps.cache.outputs.cache-hit != 'true'
- run: bash scripts/upgrade-safe/transpile.sh
- run: bash scripts/upgradeable/transpile.sh
if: github.event_name == 'pull_request'
- run: npm run test
......@@ -28,6 +28,6 @@ jobs:
restore-keys: npm-v2-
- run: npm ci
if: steps.cache.outputs.cache-hit != 'true'
- run: bash scripts/upgrade-safe/git-user-config.sh
- run: bash scripts/upgrade-safe/transpile-onto.sh master origin/master
- run: bash scripts/upgradeable/git-user-config.sh
- run: bash scripts/upgradeable/transpile-onto.sh master origin/master
- run: git push origin master
# Changelog for Upgrade Safe variant
# Changelog for Upgradeable variant
## 3.2.0 (2020-11-11)
* First release of Upgrade Safe variant, replacing Ethereum Package variant which is now deprecated.
* First release of Upgradeable variant, replacing Ethereum Package variant which is now deprecated.
### Upgrading from OpenZeppelin Contracts Ethereum Package
* Previously only contracts were renamed with the `UpgradeSafe` suffix. In order to improve compatibility between
Upgrade Safe variant and the vanila OpenZeppelin Contracts package, now all contracts, interfaces, and libraries have
the `UpgradeSafe` suffix. The only exception is the `Initializable` contract which retains its original name.
* The dependency on `@openzeppelin/contracts-ethereum-package` should be replaced by `@openzeppelin/contracts-upgradeable`.
* All contracts, interfaces, and libraries now have an `Upgradeable` suffix, instead of the `UpgradeSafe` suffix that only contracts used to have. The only exception is the `Initializable` contract which retains its original name.
* `Address``AddressUpgradeable`
* `ERC20UpgradeSafe``ERC20Upgradeable`
* This change improves compatibility with the main OpenZeppelin Contracts package, allowing both to be used side by side.
* Solidity files are now also suffixed, to keep the Solidity convention of equal file and contract name.
* `access/Ownable.sol``access/OwnableUpgradeable.sol`
* Import paths no longer include `/contracts/`.
* `@openzeppelin/contracts-ethereum-package/contracts/access/Ownable.sol``@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol`
# Changelog
......
# <img src="icon.svg" alt="OpenZeppelin" height="40px" align="left"> OpenZeppelin Contracts Upgrade Safe
# <img src="icon.svg" alt="OpenZeppelin" height="40px" align="left"> OpenZeppelin Contracts Upgradeable
[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/contracts/upgrade-safe)
[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/contracts-upgrade-safe.svg)](https://www.npmjs.org/package/@openzeppelin/contracts-upgrade-safe)
[![Docs](https://img.shields.io/badge/docs-%F0%9F%93%84-blue)](https://docs.openzeppelin.com/contracts/upgradeable)
[![NPM Package](https://img.shields.io/npm/v/@openzeppelin/contracts-upgradeable.svg)](https://www.npmjs.org/package/@openzeppelin/contracts-upgradeable)
This repository hosts the Upgrade Safe variant of [OpenZeppelin Contracts], meant for use in upgradeable contracts. This variant is available as separate package called `@openzeppelin/contracts-upgrade-safe`.
This repository hosts the Upgradeable variant of [OpenZeppelin Contracts], meant for use in upgradeable contracts. This variant is available as separate package called `@openzeppelin/contracts-upgradeable`.
[OpenZeppelin Contracts]: https://github.com/OpenZeppelin/openzeppelin-contracts
......@@ -16,19 +16,19 @@ It follows all of the rules for xref:upgrades-plugins::writing-upgradeable.adoc[
### Installation
```console
$ npm install @openzeppelin/contracts-upgrade-safe
$ npm install @openzeppelin/contracts-upgradeable
```
### Usage
The package replicates the structure of the main OpenZeppelin Contracts package, but every file and contract has the suffix `UpgradeSafe`.
The package replicates the structure of the main OpenZeppelin Contracts package, but every file and contract has the suffix `Upgradeable`.
```diff
-import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
+import "@openzeppelin/contracts-upgrade-safe/token/ERC721/ERC721UpgradeSafe.sol";
+import "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";
-contract MyCollectible is ERC721 {
+contract MyCollectible is ERC721UpgradeSafe {
+contract MyCollectible is ERC721Upgradeable {
```
Constructors are replaced by internal initializer functions following the naming convention `__{ContractName}_init`. Since these are internal, you must always define your own public initializer function and call the parent initializer of the contract you extend.
......
......@@ -6,7 +6,7 @@ extendEnvironment(env => {
env.artifacts = {
...artifacts,
require (name) {
for (const suffix of ['UpgradeSafeWithInit', 'UpgradeSafe', '']) {
for (const suffix of ['UpgradeableWithInit', 'Upgradeable', '']) {
try {
return artifacts.require(name + suffix);
} catch (e) {
......
......@@ -13,7 +13,7 @@ import "../proxy/Initializable.sol";
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract ContextUpgradeSafe is Initializable {
abstract contract ContextUpgradeable is Initializable {
function __Context_init() internal initializer {
__Context_init_unchained();
}
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "./GSNRecipientUpgradeSafe.sol";
import "../math/SafeMathUpgradeSafe.sol";
import "../access/OwnableUpgradeSafe.sol";
import "../token/ERC20/SafeERC20UpgradeSafe.sol";
import "../token/ERC20/ERC20UpgradeSafe.sol";
import "./GSNRecipientUpgradeable.sol";
import "../math/SafeMathUpgradeable.sol";
import "../access/OwnableUpgradeable.sol";
import "../token/ERC20/SafeERC20Upgradeable.sol";
import "../token/ERC20/ERC20Upgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -18,15 +18,15 @@ import "../proxy/Initializable.sol";
* whose only minter is the recipient, so the strategy must be implemented in a derived contract, making use of the
* internal {_mint} function.
*/
contract GSNRecipientERC20FeeUpgradeSafe is Initializable, GSNRecipientUpgradeSafe {
using SafeERC20UpgradeSafe for __unstable__ERC20OwnedUpgradeSafe;
using SafeMathUpgradeSafe for uint256;
contract GSNRecipientERC20FeeUpgradeable is Initializable, GSNRecipientUpgradeable {
using SafeERC20Upgradeable for __unstable__ERC20OwnedUpgradeable;
using SafeMathUpgradeable for uint256;
enum GSNRecipientERC20FeeErrorCodes {
INSUFFICIENT_BALANCE
}
__unstable__ERC20OwnedUpgradeSafe private _token;
__unstable__ERC20OwnedUpgradeable private _token;
/**
* @dev The arguments to the constructor are the details that the gas payment token will have: `name` and `symbol`. `decimals` is hard-coded to 18.
......@@ -38,15 +38,15 @@ contract GSNRecipientERC20FeeUpgradeSafe is Initializable, GSNRecipientUpgradeSa
}
function __GSNRecipientERC20Fee_init_unchained(string memory name, string memory symbol) internal initializer {
_token = new __unstable__ERC20OwnedUpgradeSafe();
_token = new __unstable__ERC20OwnedUpgradeable();
_token.initialize(name, symbol);
}
/**
* @dev Returns the gas payment token.
*/
function token() public view returns (IERC20UpgradeSafe) {
return IERC20UpgradeSafe(_token);
function token() public view returns (IERC20Upgradeable) {
return IERC20Upgradeable(_token);
}
/**
......@@ -122,7 +122,7 @@ contract GSNRecipientERC20FeeUpgradeSafe is Initializable, GSNRecipientUpgradeSa
* outside of this context.
*/
// solhint-disable-next-line contract-name-camelcase
contract __unstable__ERC20OwnedUpgradeSafe is Initializable, ERC20UpgradeSafe, OwnableUpgradeSafe {
contract __unstable__ERC20OwnedUpgradeable is Initializable, ERC20Upgradeable, OwnableUpgradeable {
function initialize(string memory name, string memory symbol) public virtual initializer {
____unstable__ERC20Owned_init(name, symbol);
}
......
......@@ -2,8 +2,8 @@
pragma solidity ^0.6.0;
import "./GSNRecipientUpgradeSafe.sol";
import "../cryptography/ECDSAUpgradeSafe.sol";
import "./GSNRecipientUpgradeable.sol";
import "../cryptography/ECDSAUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -12,8 +12,8 @@ import "../proxy/Initializable.sol";
* performs validations off-chain. Note that nothing is charged to the user in this scheme. Thus, the server should make
* sure to account for this in their economic and threat model.
*/
contract GSNRecipientSignatureUpgradeSafe is Initializable, GSNRecipientUpgradeSafe {
using ECDSAUpgradeSafe for bytes32;
contract GSNRecipientSignatureUpgradeable is Initializable, GSNRecipientUpgradeable {
using ECDSAUpgradeable for bytes32;
address private _trustedSigner;
......
......@@ -2,9 +2,9 @@
pragma solidity ^0.6.0;
import "./IRelayRecipientUpgradeSafe.sol";
import "./IRelayHubUpgradeSafe.sol";
import "./ContextUpgradeSafe.sol";
import "./IRelayRecipientUpgradeable.sol";
import "./IRelayHubUpgradeable.sol";
import "./ContextUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -18,7 +18,7 @@ import "../proxy/Initializable.sol";
* information on how to use the pre-built {GSNRecipientSignature} and
* {GSNRecipientERC20Fee}, or how to write your own.
*/
abstract contract GSNRecipientUpgradeSafe is Initializable, IRelayRecipientUpgradeSafe, ContextUpgradeSafe {
abstract contract GSNRecipientUpgradeable is Initializable, IRelayRecipientUpgradeable, ContextUpgradeable {
function __GSNRecipient_init() internal initializer {
__Context_init_unchained();
__GSNRecipient_init_unchained();
......@@ -82,7 +82,7 @@ abstract contract GSNRecipientUpgradeSafe is Initializable, IRelayRecipientUpgra
* Derived contracts should expose this in an external interface with proper access control.
*/
function _withdrawDeposits(uint256 amount, address payable payee) internal virtual {
IRelayHubUpgradeSafe(_relayHub).withdraw(amount, payee);
IRelayHubUpgradeable(_relayHub).withdraw(amount, payee);
}
// Overrides for Context's functions: when called from RelayHub, sender and
......
......@@ -9,7 +9,7 @@ pragma solidity ^0.6.0;
* See the https://github.com/OpenZeppelin/openzeppelin-gsn-helpers[OpenZeppelin GSN helpers] for more information on
* how to deploy an instance of `RelayHub` on your local test network.
*/
interface IRelayHubUpgradeSafe {
interface IRelayHubUpgradeable {
// Relay management
/**
......
......@@ -7,7 +7,7 @@ pragma solidity ^0.6.0;
*
* TIP: You don't need to write an implementation yourself! Inherit from {GSNRecipient} instead.
*/
interface IRelayRecipientUpgradeSafe {
interface IRelayRecipientUpgradeable {
/**
* @dev Returns the address of the {IRelayHub} instance this recipient interacts with.
*/
......
......@@ -2,9 +2,9 @@
pragma solidity ^0.6.0;
import "../utils/EnumerableSetUpgradeSafe.sol";
import "../utils/AddressUpgradeSafe.sol";
import "../GSN/ContextUpgradeSafe.sol";
import "../utils/EnumerableSetUpgradeable.sol";
import "../utils/AddressUpgradeable.sol";
import "../GSN/ContextUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -42,7 +42,7 @@ import "../proxy/Initializable.sol";
* grant and revoke this role. Extra precautions should be taken to secure
* accounts that have been granted it.
*/
abstract contract AccessControlUpgradeSafe is Initializable, ContextUpgradeSafe {
abstract contract AccessControlUpgradeable is Initializable, ContextUpgradeable {
function __AccessControl_init() internal initializer {
__Context_init_unchained();
__AccessControl_init_unchained();
......@@ -50,11 +50,11 @@ abstract contract AccessControlUpgradeSafe is Initializable, ContextUpgradeSafe
function __AccessControl_init_unchained() internal initializer {
}
using EnumerableSetUpgradeSafe for EnumerableSetUpgradeSafe.AddressSet;
using AddressUpgradeSafe for address;
using EnumerableSetUpgradeable for EnumerableSetUpgradeable.AddressSet;
using AddressUpgradeable for address;
struct RoleData {
EnumerableSetUpgradeSafe.AddressSet members;
EnumerableSetUpgradeable.AddressSet members;
bytes32 adminRole;
}
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "../GSN/ContextUpgradeSafe.sol";
import "../GSN/ContextUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
......@@ -16,7 +16,7 @@ import "../proxy/Initializable.sol";
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
contract OwnableUpgradeSafe is Initializable, ContextUpgradeSafe {
contract OwnableUpgradeable is Initializable, ContextUpgradeable {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
......
......@@ -3,8 +3,8 @@
pragma solidity ^0.6.0;
pragma experimental ABIEncoderV2;
import "./../math/SafeMathUpgradeSafe.sol";
import "./AccessControlUpgradeSafe.sol";
import "./../math/SafeMathUpgradeable.sol";
import "./AccessControlUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -20,7 +20,7 @@ import "../proxy/Initializable.sol";
* to position this {TimelockController} as the owner of a smart contract, with
* a multisig or a DAO as the sole proposer.
*/
contract TimelockControllerUpgradeSafe is Initializable, AccessControlUpgradeSafe {
contract TimelockControllerUpgradeable is Initializable, AccessControlUpgradeable {
bytes32 public constant TIMELOCK_ADMIN_ROLE = keccak256("TIMELOCK_ADMIN_ROLE");
bytes32 public constant PROPOSER_ROLE = keccak256("PROPOSER_ROLE");
......@@ -193,7 +193,7 @@ contract TimelockControllerUpgradeSafe is Initializable, AccessControlUpgradeSaf
require(_timestamps[id] == 0, "TimelockController: operation already scheduled");
require(delay >= _minDelay, "TimelockController: insufficient delay");
// solhint-disable-next-line not-rely-on-time
_timestamps[id] = SafeMathUpgradeSafe.add(block.timestamp, delay);
_timestamps[id] = SafeMathUpgradeable.add(block.timestamp, delay);
}
/**
......
......@@ -8,7 +8,7 @@ pragma solidity ^0.6.0;
* These functions can be used to verify that a message was signed by the holder
* of the private keys of a given address.
*/
library ECDSAUpgradeSafe {
library ECDSAUpgradeable {
/**
* @dev Returns the address that signed a hashed message (`hash`) with
* `signature`. This address can then be used for verification purposes.
......
......@@ -5,7 +5,7 @@ pragma solidity ^0.6.0;
/**
* @dev These functions deal with verification of Merkle trees (hash trees),
*/
library MerkleProofUpgradeSafe {
library MerkleProofUpgradeable {
/**
* @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
* defined by `root`. For this, a `proof` must be provided, containing
......
......@@ -9,7 +9,7 @@ pragma solidity ^0.6.2;
* `revert` if an interface is not supported. It is up to the caller to decide
* what to do in these cases.
*/
library ERC165CheckerUpgradeSafe {
library ERC165CheckerUpgradeable {
// As per the EIP-165 spec, no interface should ever match 0xffffffff
bytes4 private constant _INTERFACE_ID_INVALID = 0xffffffff;
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "./IERC165UpgradeSafe.sol";
import "./IERC165Upgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -11,7 +11,7 @@ import "../proxy/Initializable.sol";
* Contracts may inherit from this and call {_registerInterface} to declare
* their support of an interface.
*/
contract ERC165UpgradeSafe is Initializable, IERC165UpgradeSafe {
contract ERC165Upgradeable is Initializable, IERC165Upgradeable {
/*
* bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7
*/
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "./IERC1820ImplementerUpgradeSafe.sol";
import "./IERC1820ImplementerUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -13,7 +13,7 @@ import "../proxy/Initializable.sol";
* {IERC1820Registry-setInterfaceImplementer} should then be called for the
* registration to be complete.
*/
contract ERC1820ImplementerUpgradeSafe is Initializable, IERC1820ImplementerUpgradeSafe {
contract ERC1820ImplementerUpgradeable is Initializable, IERC1820ImplementerUpgradeable {
function __ERC1820Implementer_init() internal initializer {
__ERC1820Implementer_init_unchained();
}
......
......@@ -11,7 +11,7 @@ pragma solidity ^0.6.0;
*
* For an implementation, see {ERC165}.
*/
interface IERC165UpgradeSafe {
interface IERC165Upgradeable {
/**
* @dev Returns true if this contract implements the interface defined by
* `interfaceId`. See the corresponding
......
......@@ -8,7 +8,7 @@ pragma solidity ^0.6.0;
* Used by contracts that will be registered as implementers in the
* {IERC1820Registry}.
*/
interface IERC1820ImplementerUpgradeSafe {
interface IERC1820ImplementerUpgradeable {
/**
* @dev Returns a special value (`ERC1820_ACCEPT_MAGIC`) if this contract
* implements `interfaceHash` for `account`.
......
......@@ -16,7 +16,7 @@ pragma solidity ^0.6.0;
*
* For an in-depth explanation and source code analysis, see the EIP text.
*/
interface IERC1820RegistryUpgradeSafe {
interface IERC1820RegistryUpgradeable {
/**
* @dev Sets `newManager` as the manager for `account`. A manager of an
* account is able to set interface implementers for it.
......
......@@ -5,7 +5,7 @@ pragma solidity ^0.6.0;
/**
* @dev Standard math utilities missing in the Solidity language.
*/
library MathUpgradeSafe {
library MathUpgradeable {
/**
* @dev Returns the largest of two numbers.
*/
......
......@@ -15,7 +15,7 @@ pragma solidity ^0.6.0;
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeMathUpgradeSafe {
library SafeMathUpgradeable {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
......
......@@ -6,7 +6,7 @@ pragma solidity ^0.6.0;
* @title SignedSafeMath
* @dev Signed math operations with safety checks that revert on error.
*/
library SignedSafeMathUpgradeSafe {
library SignedSafeMathUpgradeable {
int256 constant private _INT256_MIN = -2**255;
/**
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../access/AccessControlUpgradeSafe.sol";
import "../access/AccessControlUpgradeable.sol";
import "../proxy/Initializable.sol";
contract AccessControlMockUpgradeSafe is Initializable, AccessControlUpgradeSafe {
contract AccessControlMockUpgradeable is Initializable, AccessControlUpgradeable {
function __AccessControlMock_init() internal initializer {
__Context_init_unchained();
__AccessControl_init_unchained();
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../utils/AddressUpgradeSafe.sol";
import "../utils/AddressUpgradeable.sol";
import "../proxy/Initializable.sol";
contract AddressImplUpgradeSafe is Initializable {
contract AddressImplUpgradeable is Initializable {
function __AddressImpl_init() internal initializer {
__AddressImpl_init_unchained();
}
......@@ -17,30 +17,30 @@ contract AddressImplUpgradeSafe is Initializable {
event CallReturnValue(string data);
function isContract(address account) external view returns (bool) {
return AddressUpgradeSafe.isContract(account);
return AddressUpgradeable.isContract(account);
}
function sendValue(address payable receiver, uint256 amount) external {
AddressUpgradeSafe.sendValue(receiver, amount);
AddressUpgradeable.sendValue(receiver, amount);
}
function functionCall(address target, bytes calldata data) external {
bytes memory returnData = AddressUpgradeSafe.functionCall(target, data);
bytes memory returnData = AddressUpgradeable.functionCall(target, data);
emit CallReturnValue(abi.decode(returnData, (string)));
}
function functionCallWithValue(address target, bytes calldata data, uint256 value) external payable {
bytes memory returnData = AddressUpgradeSafe.functionCallWithValue(target, data, value);
bytes memory returnData = AddressUpgradeable.functionCallWithValue(target, data, value);
emit CallReturnValue(abi.decode(returnData, (string)));
}
function functionStaticCall(address target, bytes calldata data) external {
bytes memory returnData = AddressUpgradeSafe.functionStaticCall(target, data);
bytes memory returnData = AddressUpgradeable.functionStaticCall(target, data);
emit CallReturnValue(abi.decode(returnData, (string)));
}
function functionDelegateCall(address target, bytes calldata data) external {
bytes memory returnData = AddressUpgradeSafe.functionDelegateCall(target, data);
bytes memory returnData = AddressUpgradeable.functionDelegateCall(target, data);
emit CallReturnValue(abi.decode(returnData, (string)));
}
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../utils/ArraysUpgradeSafe.sol";
import "../utils/ArraysUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ArraysImplUpgradeSafe is Initializable {
using ArraysUpgradeSafe for uint256[];
contract ArraysImplUpgradeable is Initializable {
using ArraysUpgradeable for uint256[];
uint256[] private _array;
......
......@@ -3,7 +3,7 @@
pragma solidity ^0.6.0;
import "../proxy/Initializable.sol";
contract CallReceiverMockUpgradeSafe is Initializable {
contract CallReceiverMockUpgradeable is Initializable {
function __CallReceiverMock_init() internal initializer {
__CallReceiverMock_init_unchained();
}
......
......@@ -9,7 +9,7 @@ import "../proxy/Initializable.sol";
* @dev TransparentUpgradeableProxy's to test correct functioning of the
* @dev Transparent Proxy feature.
*/
contract ClashingImplementationUpgradeSafe is Initializable {
contract ClashingImplementationUpgradeable is Initializable {
function __ClashingImplementation_init() internal initializer {
__ClashingImplementation_init_unchained();
}
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../payment/escrow/ConditionalEscrowUpgradeSafe.sol";
import "../payment/escrow/ConditionalEscrowUpgradeable.sol";
import "../proxy/Initializable.sol";
// mock class using ConditionalEscrow
contract ConditionalEscrowMockUpgradeSafe is Initializable, ConditionalEscrowUpgradeSafe {
contract ConditionalEscrowMockUpgradeable is Initializable, ConditionalEscrowUpgradeable {
function __ConditionalEscrowMock_init() internal initializer {
__Context_init_unchained();
__Ownable_init_unchained();
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../GSN/ContextUpgradeSafe.sol";
import "../GSN/ContextUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ContextMockUpgradeSafe is Initializable, ContextUpgradeSafe {
contract ContextMockUpgradeable is Initializable, ContextUpgradeable {
function __ContextMock_init() internal initializer {
__Context_init_unchained();
__ContextMock_init_unchained();
......@@ -27,18 +27,18 @@ contract ContextMockUpgradeSafe is Initializable, ContextUpgradeSafe {
uint256[50] private __gap;
}
contract ContextMockCallerUpgradeSafe is Initializable {
contract ContextMockCallerUpgradeable is Initializable {
function __ContextMockCaller_init() internal initializer {
__ContextMockCaller_init_unchained();
}
function __ContextMockCaller_init_unchained() internal initializer {
}
function callSender(ContextMockUpgradeSafe context) public {
function callSender(ContextMockUpgradeable context) public {
context.msgSender();
}
function callData(ContextMockUpgradeSafe context, uint256 integerValue, string memory stringValue) public {
function callData(ContextMockUpgradeable context, uint256 integerValue, string memory stringValue) public {
context.msgData(integerValue, stringValue);
}
uint256[50] private __gap;
......
......@@ -2,19 +2,19 @@
pragma solidity ^0.6.0;
import "../utils/CountersUpgradeSafe.sol";
import "../utils/CountersUpgradeable.sol";
import "../proxy/Initializable.sol";
contract CountersImplUpgradeSafe is Initializable {
contract CountersImplUpgradeable is Initializable {
function __CountersImpl_init() internal initializer {
__CountersImpl_init_unchained();
}
function __CountersImpl_init_unchained() internal initializer {
}
using CountersUpgradeSafe for CountersUpgradeSafe.Counter;
using CountersUpgradeable for CountersUpgradeable.Counter;
CountersUpgradeSafe.Counter private _counter;
CountersUpgradeable.Counter private _counter;
function current() public view returns (uint256) {
return _counter.current();
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../utils/Create2UpgradeSafe.sol";
import "../introspection/ERC1820ImplementerUpgradeSafe.sol";
import "../utils/Create2Upgradeable.sol";
import "../introspection/ERC1820ImplementerUpgradeable.sol";
import "../proxy/Initializable.sol";
contract Create2ImplUpgradeSafe is Initializable {
contract Create2ImplUpgradeable is Initializable {
function __Create2Impl_init() internal initializer {
__Create2Impl_init_unchained();
}
......@@ -14,20 +14,20 @@ contract Create2ImplUpgradeSafe is Initializable {
function __Create2Impl_init_unchained() internal initializer {
}
function deploy(uint256 value, bytes32 salt, bytes memory code) public {
Create2UpgradeSafe.deploy(value, salt, code);
Create2Upgradeable.deploy(value, salt, code);
}
function deployERC1820Implementer(uint256 value, bytes32 salt) public {
// solhint-disable-next-line indent
Create2UpgradeSafe.deploy(value, salt, type(ERC1820ImplementerUpgradeSafe).creationCode);
Create2Upgradeable.deploy(value, salt, type(ERC1820ImplementerUpgradeable).creationCode);
}
function computeAddress(bytes32 salt, bytes32 codeHash) public view returns (address) {
return Create2UpgradeSafe.computeAddress(salt, codeHash);
return Create2Upgradeable.computeAddress(salt, codeHash);
}
function computeAddressWithDeployer(bytes32 salt, bytes32 codeHash, address deployer) public pure returns (address) {
return Create2UpgradeSafe.computeAddress(salt, codeHash, deployer);
return Create2Upgradeable.computeAddress(salt, codeHash, deployer);
}
receive() payable external {}
......
......@@ -3,7 +3,7 @@
pragma solidity ^0.6.0;
import "../proxy/Initializable.sol";
abstract contract ImplUpgradeSafe is Initializable {
abstract contract ImplUpgradeable is Initializable {
function __Impl_init() internal initializer {
__Impl_init_unchained();
}
......@@ -14,7 +14,7 @@ abstract contract ImplUpgradeSafe is Initializable {
uint256[50] private __gap;
}
contract DummyImplementationUpgradeSafe is Initializable {
contract DummyImplementationUpgradeable is Initializable {
function __DummyImplementation_init() internal initializer {
__DummyImplementation_init_unchained();
}
......@@ -61,7 +61,7 @@ contract DummyImplementationUpgradeSafe is Initializable {
uint256[47] private __gap;
}
contract DummyImplementationV2UpgradeSafe is Initializable, DummyImplementationUpgradeSafe {
contract DummyImplementationV2Upgradeable is Initializable, DummyImplementationUpgradeable {
function __DummyImplementationV2_init() internal initializer {
__DummyImplementation_init_unchained();
__DummyImplementationV2_init_unchained();
......
......@@ -2,17 +2,17 @@
pragma solidity ^0.6.0;
import "../cryptography/ECDSAUpgradeSafe.sol";
import "../cryptography/ECDSAUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ECDSAMockUpgradeSafe is Initializable {
contract ECDSAMockUpgradeable is Initializable {
function __ECDSAMock_init() internal initializer {
__ECDSAMock_init_unchained();
}
function __ECDSAMock_init_unchained() internal initializer {
}
using ECDSAUpgradeSafe for bytes32;
using ECDSAUpgradeable for bytes32;
function recover(bytes32 hash, bytes memory signature) public pure returns (address) {
return hash.recover(signature);
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../token/ERC1155/ERC1155BurnableUpgradeSafe.sol";
import "../token/ERC1155/ERC1155BurnableUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC1155BurnableMockUpgradeSafe is Initializable, ERC1155BurnableUpgradeSafe {
contract ERC1155BurnableMockUpgradeable is Initializable, ERC1155BurnableUpgradeable {
function __ERC1155BurnableMock_init(string memory uri) internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......
......@@ -2,14 +2,14 @@
pragma solidity ^0.6.0;
import "../token/ERC1155/ERC1155UpgradeSafe.sol";
import "../token/ERC1155/ERC1155Upgradeable.sol";
import "../proxy/Initializable.sol";
/**
* @title ERC1155Mock
* This mock just publicizes internal functions for testing purposes
*/
contract ERC1155MockUpgradeSafe is Initializable, ERC1155UpgradeSafe {
contract ERC1155MockUpgradeable is Initializable, ERC1155Upgradeable {
function __ERC1155Mock_init(string memory uri) internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "./ERC1155MockUpgradeSafe.sol";
import "../token/ERC1155/ERC1155PausableUpgradeSafe.sol";
import "./ERC1155MockUpgradeable.sol";
import "../token/ERC1155/ERC1155PausableUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC1155PausableMockUpgradeSafe is Initializable, ERC1155MockUpgradeSafe, ERC1155PausableUpgradeSafe {
contract ERC1155PausableMockUpgradeable is Initializable, ERC1155MockUpgradeable, ERC1155PausableUpgradeable {
function __ERC1155PausableMock_init(string memory uri) internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......@@ -35,7 +35,7 @@ contract ERC1155PausableMockUpgradeSafe is Initializable, ERC1155MockUpgradeSafe
uint256[] memory amounts,
bytes memory data
)
internal virtual override(ERC1155UpgradeSafe, ERC1155PausableUpgradeSafe)
internal virtual override(ERC1155Upgradeable, ERC1155PausableUpgradeable)
{
super._beforeTokenTransfer(operator, from, to, ids, amounts, data);
}
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../token/ERC1155/IERC1155ReceiverUpgradeSafe.sol";
import "./ERC165MockUpgradeSafe.sol";
import "../token/ERC1155/IERC1155ReceiverUpgradeable.sol";
import "./ERC165MockUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC1155ReceiverMockUpgradeSafe is Initializable, IERC1155ReceiverUpgradeSafe, ERC165MockUpgradeSafe {
contract ERC1155ReceiverMockUpgradeable is Initializable, IERC1155ReceiverUpgradeable, ERC165MockUpgradeable {
bytes4 private _recRetval;
bool private _recReverts;
bytes4 private _batRetval;
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "../../introspection/IERC165UpgradeSafe.sol";
import "../../introspection/IERC165Upgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -15,7 +15,7 @@ import "../../proxy/Initializable.sol";
* therefore, because this contract is staticcall'd we need to not emit events (which is how solidity-coverage works)
* solidity-coverage ignores the /mocks folder, so we duplicate its implementation here to avoid instrumenting it
*/
contract SupportsInterfaceWithLookupMockUpgradeSafe is Initializable, IERC165UpgradeSafe {
contract SupportsInterfaceWithLookupMockUpgradeable is Initializable, IERC165Upgradeable {
/*
* bytes4(keccak256('supportsInterface(bytes4)')) == 0x01ffc9a7
*/
......@@ -55,7 +55,7 @@ contract SupportsInterfaceWithLookupMockUpgradeSafe is Initializable, IERC165Upg
uint256[49] private __gap;
}
contract ERC165InterfacesSupportedUpgradeSafe is Initializable, SupportsInterfaceWithLookupMockUpgradeSafe {
contract ERC165InterfacesSupportedUpgradeable is Initializable, SupportsInterfaceWithLookupMockUpgradeable {
function __ERC165InterfacesSupported_init(bytes4[] memory interfaceIds) internal initializer {
__SupportsInterfaceWithLookupMock_init_unchained();
__ERC165InterfacesSupported_init_unchained(interfaceIds);
......
......@@ -3,7 +3,7 @@
pragma solidity ^0.6.0;
import "../../proxy/Initializable.sol";
contract ERC165NotSupportedUpgradeSafe is Initializable { function __ERC165NotSupported_init() internal initializer {
contract ERC165NotSupportedUpgradeable is Initializable { function __ERC165NotSupported_init() internal initializer {
__ERC165NotSupported_init_unchained();
}
......
......@@ -2,17 +2,17 @@
pragma solidity ^0.6.0;
import "../introspection/ERC165CheckerUpgradeSafe.sol";
import "../introspection/ERC165CheckerUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC165CheckerMockUpgradeSafe is Initializable {
contract ERC165CheckerMockUpgradeable is Initializable {
function __ERC165CheckerMock_init() internal initializer {
__ERC165CheckerMock_init_unchained();
}
function __ERC165CheckerMock_init_unchained() internal initializer {
}
using ERC165CheckerUpgradeSafe for address;
using ERC165CheckerUpgradeable for address;
function supportsERC165(address account) public view returns (bool) {
return account.supportsERC165();
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../introspection/ERC165UpgradeSafe.sol";
import "../introspection/ERC165Upgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC165MockUpgradeSafe is Initializable, ERC165UpgradeSafe {
contract ERC165MockUpgradeable is Initializable, ERC165Upgradeable {
function __ERC165Mock_init() internal initializer {
__ERC165_init_unchained();
__ERC165Mock_init_unchained();
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../introspection/ERC1820ImplementerUpgradeSafe.sol";
import "../introspection/ERC1820ImplementerUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC1820ImplementerMockUpgradeSafe is Initializable, ERC1820ImplementerUpgradeSafe {
contract ERC1820ImplementerMockUpgradeable is Initializable, ERC1820ImplementerUpgradeable {
function __ERC1820ImplementerMock_init() internal initializer {
__ERC1820Implementer_init_unchained();
__ERC1820ImplementerMock_init_unchained();
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../token/ERC20/ERC20BurnableUpgradeSafe.sol";
import "../token/ERC20/ERC20BurnableUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC20BurnableMockUpgradeSafe is Initializable, ERC20BurnableUpgradeSafe {
contract ERC20BurnableMockUpgradeable is Initializable, ERC20BurnableUpgradeable {
function __ERC20BurnableMock_init(
string memory name,
string memory symbol,
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../token/ERC20/ERC20CappedUpgradeSafe.sol";
import "../token/ERC20/ERC20CappedUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC20CappedMockUpgradeSafe is Initializable, ERC20CappedUpgradeSafe {
contract ERC20CappedMockUpgradeable is Initializable, ERC20CappedUpgradeable {
function __ERC20CappedMock_init(string memory name, string memory symbol, uint256 cap) internal initializer {
__Context_init_unchained();
__ERC20_init_unchained(name, symbol);
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../token/ERC20/ERC20UpgradeSafe.sol";
import "../token/ERC20/ERC20Upgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC20DecimalsMockUpgradeSafe is Initializable, ERC20UpgradeSafe {
contract ERC20DecimalsMockUpgradeable is Initializable, ERC20Upgradeable {
function __ERC20DecimalsMock_init(string memory name, string memory symbol, uint8 decimals) internal initializer {
__Context_init_unchained();
__ERC20_init_unchained(name, symbol);
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../token/ERC20/ERC20UpgradeSafe.sol";
import "../token/ERC20/ERC20Upgradeable.sol";
import "../proxy/Initializable.sol";
// mock class using ERC20
contract ERC20MockUpgradeSafe is Initializable, ERC20UpgradeSafe {
contract ERC20MockUpgradeable is Initializable, ERC20Upgradeable {
function __ERC20Mock_init(
string memory name,
string memory symbol,
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../token/ERC20/ERC20PausableUpgradeSafe.sol";
import "../token/ERC20/ERC20PausableUpgradeable.sol";
import "../proxy/Initializable.sol";
// mock class using ERC20Pausable
contract ERC20PausableMockUpgradeSafe is Initializable, ERC20PausableUpgradeSafe {
contract ERC20PausableMockUpgradeable is Initializable, ERC20PausableUpgradeable {
function __ERC20PausableMock_init(
string memory name,
string memory symbol,
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../token/ERC20/ERC20SnapshotUpgradeSafe.sol";
import "../token/ERC20/ERC20SnapshotUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC20SnapshotMockUpgradeSafe is Initializable, ERC20SnapshotUpgradeSafe {
contract ERC20SnapshotMockUpgradeable is Initializable, ERC20SnapshotUpgradeable {
function __ERC20SnapshotMock_init(
string memory name,
string memory symbol,
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../token/ERC721/ERC721BurnableUpgradeSafe.sol";
import "../token/ERC721/ERC721BurnableUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC721BurnableMockUpgradeSafe is Initializable, ERC721BurnableUpgradeSafe {
contract ERC721BurnableMockUpgradeable is Initializable, ERC721BurnableUpgradeable {
function __ERC721BurnableMock_init(string memory name, string memory symbol) internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......
......@@ -2,16 +2,16 @@
pragma solidity ^0.6.0;
import "../token/ERC721/ERC721UpgradeSafe.sol";
import "../GSN/GSNRecipientUpgradeSafe.sol";
import "../GSN/GSNRecipientSignatureUpgradeSafe.sol";
import "../token/ERC721/ERC721Upgradeable.sol";
import "../GSN/GSNRecipientUpgradeable.sol";
import "../GSN/GSNRecipientSignatureUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
* @title ERC721GSNRecipientMock
* A simple ERC721 mock that has GSN support enabled
*/
contract ERC721GSNRecipientMockUpgradeSafe is Initializable, ERC721UpgradeSafe, GSNRecipientUpgradeSafe, GSNRecipientSignatureUpgradeSafe {
contract ERC721GSNRecipientMockUpgradeable is Initializable, ERC721Upgradeable, GSNRecipientUpgradeable, GSNRecipientSignatureUpgradeable {
function __ERC721GSNRecipientMock_init(string memory name, string memory symbol, address trustedSigner) internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......@@ -27,12 +27,12 @@ contract ERC721GSNRecipientMockUpgradeSafe is Initializable, ERC721UpgradeSafe,
_mint(_msgSender(), tokenId);
}
function _msgSender() internal view override(ContextUpgradeSafe, GSNRecipientUpgradeSafe) returns (address payable) {
return GSNRecipientUpgradeSafe._msgSender();
function _msgSender() internal view override(ContextUpgradeable, GSNRecipientUpgradeable) returns (address payable) {
return GSNRecipientUpgradeable._msgSender();
}
function _msgData() internal view override(ContextUpgradeSafe, GSNRecipientUpgradeSafe) returns (bytes memory) {
return GSNRecipientUpgradeSafe._msgData();
function _msgData() internal view override(ContextUpgradeable, GSNRecipientUpgradeable) returns (bytes memory) {
return GSNRecipientUpgradeable._msgData();
}
uint256[50] private __gap;
}
......@@ -2,14 +2,14 @@
pragma solidity ^0.6.0;
import "../token/ERC721/ERC721UpgradeSafe.sol";
import "../token/ERC721/ERC721Upgradeable.sol";
import "../proxy/Initializable.sol";
/**
* @title ERC721Mock
* This mock just provides a public safeMint, mint, and burn functions for testing purposes
*/
contract ERC721MockUpgradeSafe is Initializable, ERC721UpgradeSafe {
contract ERC721MockUpgradeable is Initializable, ERC721Upgradeable {
function __ERC721Mock_init(string memory name, string memory symbol) internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......
......@@ -2,14 +2,14 @@
pragma solidity ^0.6.0;
import "../token/ERC721/ERC721PausableUpgradeSafe.sol";
import "../token/ERC721/ERC721PausableUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
* @title ERC721PausableMock
* This mock just provides a public mint, burn and exists functions for testing purposes
*/
contract ERC721PausableMockUpgradeSafe is Initializable, ERC721PausableUpgradeSafe {
contract ERC721PausableMockUpgradeable is Initializable, ERC721PausableUpgradeable {
function __ERC721PausableMock_init(string memory name, string memory symbol) internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../token/ERC721/IERC721ReceiverUpgradeSafe.sol";
import "../token/ERC721/IERC721ReceiverUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC721ReceiverMockUpgradeSafe is Initializable, IERC721ReceiverUpgradeSafe {
contract ERC721ReceiverMockUpgradeable is Initializable, IERC721ReceiverUpgradeable {
bytes4 private _retval;
bool private _reverts;
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../GSN/ContextUpgradeSafe.sol";
import "../token/ERC777/ERC777UpgradeSafe.sol";
import "../GSN/ContextUpgradeable.sol";
import "../token/ERC777/ERC777Upgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC777MockUpgradeSafe is Initializable, ContextUpgradeSafe, ERC777UpgradeSafe {
contract ERC777MockUpgradeable is Initializable, ContextUpgradeable, ERC777Upgradeable {
function __ERC777Mock_init(
address initialHolder,
uint256 initialBalance,
......
......@@ -2,15 +2,15 @@
pragma solidity ^0.6.0;
import "../GSN/ContextUpgradeSafe.sol";
import "../token/ERC777/IERC777UpgradeSafe.sol";
import "../token/ERC777/IERC777SenderUpgradeSafe.sol";
import "../token/ERC777/IERC777RecipientUpgradeSafe.sol";
import "../introspection/IERC1820RegistryUpgradeSafe.sol";
import "../introspection/ERC1820ImplementerUpgradeSafe.sol";
import "../GSN/ContextUpgradeable.sol";
import "../token/ERC777/IERC777Upgradeable.sol";
import "../token/ERC777/IERC777SenderUpgradeable.sol";
import "../token/ERC777/IERC777RecipientUpgradeable.sol";
import "../introspection/IERC1820RegistryUpgradeable.sol";
import "../introspection/ERC1820ImplementerUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC777SenderRecipientMockUpgradeSafe is Initializable, ContextUpgradeSafe, IERC777SenderUpgradeSafe, IERC777RecipientUpgradeSafe, ERC1820ImplementerUpgradeSafe {
contract ERC777SenderRecipientMockUpgradeable is Initializable, ContextUpgradeable, IERC777SenderUpgradeable, IERC777RecipientUpgradeable, ERC1820ImplementerUpgradeable {
function __ERC777SenderRecipientMock_init() internal initializer {
__Context_init_unchained();
__ERC1820Implementer_init_unchained();
......@@ -18,7 +18,7 @@ contract ERC777SenderRecipientMockUpgradeSafe is Initializable, ContextUpgradeSa
}
function __ERC777SenderRecipientMock_init_unchained() internal initializer {
_erc1820 = IERC1820RegistryUpgradeSafe(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);
_erc1820 = IERC1820RegistryUpgradeable(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);
}
event TokensToSendCalled(
address operator,
......@@ -47,7 +47,7 @@ contract ERC777SenderRecipientMockUpgradeSafe is Initializable, ContextUpgradeSa
bool private _shouldRevertSend;
bool private _shouldRevertReceive;
IERC1820RegistryUpgradeSafe private _erc1820;
IERC1820RegistryUpgradeable private _erc1820;
bytes32 constant private _TOKENS_SENDER_INTERFACE_HASH = keccak256("ERC777TokensSender");
bytes32 constant private _TOKENS_RECIPIENT_INTERFACE_HASH = keccak256("ERC777TokensRecipient");
......@@ -64,7 +64,7 @@ contract ERC777SenderRecipientMockUpgradeSafe is Initializable, ContextUpgradeSa
revert();
}
IERC777UpgradeSafe token = IERC777UpgradeSafe(_msgSender());
IERC777Upgradeable token = IERC777Upgradeable(_msgSender());
uint256 fromBalance = token.balanceOf(from);
// when called due to burn, to will be the zero address, which will have a balance of 0
......@@ -95,7 +95,7 @@ contract ERC777SenderRecipientMockUpgradeSafe is Initializable, ContextUpgradeSa
revert();
}
IERC777UpgradeSafe token = IERC777UpgradeSafe(_msgSender());
IERC777Upgradeable token = IERC777Upgradeable(_msgSender());
uint256 fromBalance = token.balanceOf(from);
// when called due to burn, to will be the zero address, which will have a balance of 0
......@@ -148,12 +148,12 @@ contract ERC777SenderRecipientMockUpgradeSafe is Initializable, ContextUpgradeSa
_shouldRevertReceive = shouldRevert;
}
function send(IERC777UpgradeSafe token, address to, uint256 amount, bytes memory data) public {
function send(IERC777Upgradeable token, address to, uint256 amount, bytes memory data) public {
// This is 777's send function, not the Solidity send function
token.send(to, amount, data); // solhint-disable-line check-send-result
}
function burn(IERC777UpgradeSafe token, uint256 amount, bytes memory data) public {
function burn(IERC777Upgradeable token, uint256 amount, bytes memory data) public {
token.burn(amount, data);
}
uint256[49] private __gap;
......
......@@ -2,21 +2,21 @@
pragma solidity ^0.6.0;
import "../utils/EnumerableMapUpgradeSafe.sol";
import "../utils/EnumerableMapUpgradeable.sol";
import "../proxy/Initializable.sol";
contract EnumerableMapMockUpgradeSafe is Initializable {
contract EnumerableMapMockUpgradeable is Initializable {
function __EnumerableMapMock_init() internal initializer {
__EnumerableMapMock_init_unchained();
}
function __EnumerableMapMock_init_unchained() internal initializer {
}
using EnumerableMapUpgradeSafe for EnumerableMapUpgradeSafe.UintToAddressMap;
using EnumerableMapUpgradeable for EnumerableMapUpgradeable.UintToAddressMap;
event OperationResult(bool result);
EnumerableMapUpgradeSafe.UintToAddressMap private _map;
EnumerableMapUpgradeable.UintToAddressMap private _map;
function contains(uint256 key) public view returns (bool) {
return _map.contains(key);
......
......@@ -2,22 +2,22 @@
pragma solidity ^0.6.0;
import "../utils/EnumerableSetUpgradeSafe.sol";
import "../utils/EnumerableSetUpgradeable.sol";
import "../proxy/Initializable.sol";
// Bytes32Set
contract EnumerableBytes32SetMockUpgradeSafe is Initializable {
contract EnumerableBytes32SetMockUpgradeable is Initializable {
function __EnumerableBytes32SetMock_init() internal initializer {
__EnumerableBytes32SetMock_init_unchained();
}
function __EnumerableBytes32SetMock_init_unchained() internal initializer {
}
using EnumerableSetUpgradeSafe for EnumerableSetUpgradeSafe.Bytes32Set;
using EnumerableSetUpgradeable for EnumerableSetUpgradeable.Bytes32Set;
event OperationResult(bool result);
EnumerableSetUpgradeSafe.Bytes32Set private _set;
EnumerableSetUpgradeable.Bytes32Set private _set;
function contains(bytes32 value) public view returns (bool) {
return _set.contains(value);
......@@ -44,18 +44,18 @@ contract EnumerableBytes32SetMockUpgradeSafe is Initializable {
}
// AddressSet
contract EnumerableAddressSetMockUpgradeSafe is Initializable {
contract EnumerableAddressSetMockUpgradeable is Initializable {
function __EnumerableAddressSetMock_init() internal initializer {
__EnumerableAddressSetMock_init_unchained();
}
function __EnumerableAddressSetMock_init_unchained() internal initializer {
}
using EnumerableSetUpgradeSafe for EnumerableSetUpgradeSafe.AddressSet;
using EnumerableSetUpgradeable for EnumerableSetUpgradeable.AddressSet;
event OperationResult(bool result);
EnumerableSetUpgradeSafe.AddressSet private _set;
EnumerableSetUpgradeable.AddressSet private _set;
function contains(address value) public view returns (bool) {
return _set.contains(value);
......@@ -82,18 +82,18 @@ contract EnumerableAddressSetMockUpgradeSafe is Initializable {
}
// UintSet
contract EnumerableUintSetMockUpgradeSafe is Initializable {
contract EnumerableUintSetMockUpgradeable is Initializable {
function __EnumerableUintSetMock_init() internal initializer {
__EnumerableUintSetMock_init_unchained();
}
function __EnumerableUintSetMock_init_unchained() internal initializer {
}
using EnumerableSetUpgradeSafe for EnumerableSetUpgradeSafe.UintSet;
using EnumerableSetUpgradeable for EnumerableSetUpgradeable.UintSet;
event OperationResult(bool result);
EnumerableSetUpgradeSafe.UintSet private _set;
EnumerableSetUpgradeable.UintSet private _set;
function contains(uint256 value) public view returns (bool) {
return _set.contains(value);
......
......@@ -3,7 +3,7 @@
pragma solidity ^0.6.0;
import "../proxy/Initializable.sol";
contract EtherReceiverMockUpgradeSafe is Initializable {
contract EtherReceiverMockUpgradeable is Initializable {
function __EtherReceiverMock_init() internal initializer {
__EtherReceiverMock_init_unchained();
}
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../GSN/GSNRecipientUpgradeSafe.sol";
import "../GSN/GSNRecipientERC20FeeUpgradeSafe.sol";
import "../GSN/GSNRecipientUpgradeable.sol";
import "../GSN/GSNRecipientERC20FeeUpgradeable.sol";
import "../proxy/Initializable.sol";
contract GSNRecipientERC20FeeMockUpgradeSafe is Initializable, GSNRecipientUpgradeSafe, GSNRecipientERC20FeeUpgradeSafe {
contract GSNRecipientERC20FeeMockUpgradeable is Initializable, GSNRecipientUpgradeable, GSNRecipientERC20FeeUpgradeable {
function __GSNRecipientERC20FeeMock_init(string memory name, string memory symbol) internal initializer {
__Context_init_unchained();
__GSNRecipient_init_unchained();
......
......@@ -2,12 +2,12 @@
pragma solidity ^0.6.0;
import "./ContextMockUpgradeSafe.sol";
import "../GSN/GSNRecipientUpgradeSafe.sol";
import "./ContextMockUpgradeable.sol";
import "../GSN/GSNRecipientUpgradeable.sol";
import "../proxy/Initializable.sol";
// By inheriting from GSNRecipient, Context's internal functions are overridden automatically
contract GSNRecipientMockUpgradeSafe is Initializable, ContextMockUpgradeSafe, GSNRecipientUpgradeSafe {
contract GSNRecipientMockUpgradeable is Initializable, ContextMockUpgradeable, GSNRecipientUpgradeable {
function __GSNRecipientMock_init() internal initializer {
__Context_init_unchained();
__ContextMock_init_unchained();
......@@ -38,12 +38,12 @@ contract GSNRecipientMockUpgradeSafe is Initializable, ContextMockUpgradeSafe, G
return _upgradeRelayHub(newRelayHub);
}
function _msgSender() internal override(ContextUpgradeSafe, GSNRecipientUpgradeSafe) view virtual returns (address payable) {
return GSNRecipientUpgradeSafe._msgSender();
function _msgSender() internal override(ContextUpgradeable, GSNRecipientUpgradeable) view virtual returns (address payable) {
return GSNRecipientUpgradeable._msgSender();
}
function _msgData() internal override(ContextUpgradeSafe, GSNRecipientUpgradeSafe) view virtual returns (bytes memory) {
return GSNRecipientUpgradeSafe._msgData();
function _msgData() internal override(ContextUpgradeable, GSNRecipientUpgradeable) view virtual returns (bytes memory) {
return GSNRecipientUpgradeable._msgData();
}
uint256[50] private __gap;
}
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../GSN/GSNRecipientUpgradeSafe.sol";
import "../GSN/GSNRecipientSignatureUpgradeSafe.sol";
import "../GSN/GSNRecipientUpgradeable.sol";
import "../GSN/GSNRecipientSignatureUpgradeable.sol";
import "../proxy/Initializable.sol";
contract GSNRecipientSignatureMockUpgradeSafe is Initializable, GSNRecipientUpgradeSafe, GSNRecipientSignatureUpgradeSafe {
contract GSNRecipientSignatureMockUpgradeable is Initializable, GSNRecipientUpgradeable, GSNRecipientSignatureUpgradeable {
function __GSNRecipientSignatureMock_init(address trustedSigner) internal initializer {
__Context_init_unchained();
__GSNRecipient_init_unchained();
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../math/MathUpgradeSafe.sol";
import "../math/MathUpgradeable.sol";
import "../proxy/Initializable.sol";
contract MathMockUpgradeSafe is Initializable {
contract MathMockUpgradeable is Initializable {
function __MathMock_init() internal initializer {
__MathMock_init_unchained();
}
......@@ -13,15 +13,15 @@ contract MathMockUpgradeSafe is Initializable {
function __MathMock_init_unchained() internal initializer {
}
function max(uint256 a, uint256 b) public pure returns (uint256) {
return MathUpgradeSafe.max(a, b);
return MathUpgradeable.max(a, b);
}
function min(uint256 a, uint256 b) public pure returns (uint256) {
return MathUpgradeSafe.min(a, b);
return MathUpgradeable.min(a, b);
}
function average(uint256 a, uint256 b) public pure returns (uint256) {
return MathUpgradeSafe.average(a, b);
return MathUpgradeable.average(a, b);
}
uint256[50] private __gap;
}
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import { MerkleProofUpgradeSafe } from "../cryptography/MerkleProofUpgradeSafe.sol";
import { MerkleProofUpgradeable } from "../cryptography/MerkleProofUpgradeable.sol";
import "../proxy/Initializable.sol";
contract MerkleProofWrapperUpgradeSafe is Initializable {
contract MerkleProofWrapperUpgradeable is Initializable {
function __MerkleProofWrapper_init() internal initializer {
__MerkleProofWrapper_init_unchained();
}
......@@ -13,7 +13,7 @@ contract MerkleProofWrapperUpgradeSafe is Initializable {
function __MerkleProofWrapper_init_unchained() internal initializer {
}
function verify(bytes32[] memory proof, bytes32 root, bytes32 leaf) public pure returns (bool) {
return MerkleProofUpgradeSafe.verify(proof, root, leaf);
return MerkleProofUpgradeable.verify(proof, root, leaf);
}
uint256[50] private __gap;
}
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../access/OwnableUpgradeSafe.sol";
import "../access/OwnableUpgradeable.sol";
import "../proxy/Initializable.sol";
contract OwnableMockUpgradeSafe is Initializable, OwnableUpgradeSafe { function __OwnableMock_init() internal initializer {
contract OwnableMockUpgradeable is Initializable, OwnableUpgradeable { function __OwnableMock_init() internal initializer {
__Context_init_unchained();
__Ownable_init_unchained();
__OwnableMock_init_unchained();
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../utils/PausableUpgradeSafe.sol";
import "../utils/PausableUpgradeable.sol";
import "../proxy/Initializable.sol";
contract PausableMockUpgradeSafe is Initializable, PausableUpgradeSafe {
contract PausableMockUpgradeable is Initializable, PausableUpgradeable {
bool public drasticMeasureTaken;
uint256 public count;
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../payment/PullPaymentUpgradeSafe.sol";
import "../payment/PullPaymentUpgradeable.sol";
import "../proxy/Initializable.sol";
// mock class using PullPayment
contract PullPaymentMockUpgradeSafe is Initializable, PullPaymentUpgradeSafe {
contract PullPaymentMockUpgradeable is Initializable, PullPaymentUpgradeable {
function __PullPaymentMock_init() internal initializer {
__PullPayment_init_unchained();
__PullPaymentMock_init_unchained();
......
......@@ -2,9 +2,9 @@
pragma solidity ^0.6.0;
import "../GSN/ContextUpgradeSafe.sol";
import "../GSN/ContextUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ReentrancyAttackUpgradeSafe is Initializable, ContextUpgradeSafe {
contract ReentrancyAttackUpgradeable is Initializable, ContextUpgradeable {
function __ReentrancyAttack_init() internal initializer {
__Context_init_unchained();
__ReentrancyAttack_init_unchained();
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../utils/ReentrancyGuardUpgradeSafe.sol";
import "./ReentrancyAttackUpgradeSafe.sol";
import "../utils/ReentrancyGuardUpgradeable.sol";
import "./ReentrancyAttackUpgradeable.sol";
import "../proxy/Initializable.sol";
contract ReentrancyMockUpgradeSafe is Initializable, ReentrancyGuardUpgradeSafe {
contract ReentrancyMockUpgradeable is Initializable, ReentrancyGuardUpgradeable {
uint256 public counter;
function __ReentrancyMock_init() internal initializer {
......@@ -38,7 +38,7 @@ contract ReentrancyMockUpgradeSafe is Initializable, ReentrancyGuardUpgradeSafe
}
}
function countAndCall(ReentrancyAttackUpgradeSafe attacker) public nonReentrant {
function countAndCall(ReentrancyAttackUpgradeable attacker) public nonReentrant {
_count();
bytes4 func = bytes4(keccak256("callback()"));
attacker.callSender(func);
......
......@@ -2,18 +2,18 @@
pragma solidity ^0.6.0;
import "../utils/SafeCastUpgradeSafe.sol";
import "../utils/SafeCastUpgradeable.sol";
import "../proxy/Initializable.sol";
contract SafeCastMockUpgradeSafe is Initializable {
contract SafeCastMockUpgradeable is Initializable {
function __SafeCastMock_init() internal initializer {
__SafeCastMock_init_unchained();
}
function __SafeCastMock_init_unchained() internal initializer {
}
using SafeCastUpgradeSafe for uint;
using SafeCastUpgradeSafe for int;
using SafeCastUpgradeable for uint;
using SafeCastUpgradeable for int;
function toUint256(int a) public pure returns (uint256) {
return a.toUint256();
......
......@@ -2,12 +2,12 @@
pragma solidity ^0.6.0;
import "../GSN/ContextUpgradeSafe.sol";
import "../token/ERC20/IERC20UpgradeSafe.sol";
import "../token/ERC20/SafeERC20UpgradeSafe.sol";
import "../GSN/ContextUpgradeable.sol";
import "../token/ERC20/IERC20Upgradeable.sol";
import "../token/ERC20/SafeERC20Upgradeable.sol";
import "../proxy/Initializable.sol";
contract ERC20ReturnFalseMockUpgradeSafe is Initializable, ContextUpgradeSafe {
contract ERC20ReturnFalseMockUpgradeable is Initializable, ContextUpgradeable {
function __ERC20ReturnFalseMock_init() internal initializer {
__Context_init_unchained();
__ERC20ReturnFalseMock_init_unchained();
......@@ -43,7 +43,7 @@ contract ERC20ReturnFalseMockUpgradeSafe is Initializable, ContextUpgradeSafe {
uint256[48] private __gap;
}
contract ERC20ReturnTrueMockUpgradeSafe is Initializable, ContextUpgradeSafe {
contract ERC20ReturnTrueMockUpgradeable is Initializable, ContextUpgradeable {
function __ERC20ReturnTrueMock_init() internal initializer {
__Context_init_unchained();
__ERC20ReturnTrueMock_init_unchained();
......@@ -82,7 +82,7 @@ contract ERC20ReturnTrueMockUpgradeSafe is Initializable, ContextUpgradeSafe {
uint256[48] private __gap;
}
contract ERC20NoReturnMockUpgradeSafe is Initializable, ContextUpgradeSafe {
contract ERC20NoReturnMockUpgradeable is Initializable, ContextUpgradeable {
function __ERC20NoReturnMock_init() internal initializer {
__Context_init_unchained();
__ERC20NoReturnMock_init_unchained();
......@@ -118,17 +118,17 @@ contract ERC20NoReturnMockUpgradeSafe is Initializable, ContextUpgradeSafe {
uint256[48] private __gap;
}
contract SafeERC20WrapperUpgradeSafe is Initializable, ContextUpgradeSafe {
using SafeERC20UpgradeSafe for IERC20UpgradeSafe;
contract SafeERC20WrapperUpgradeable is Initializable, ContextUpgradeable {
using SafeERC20Upgradeable for IERC20Upgradeable;
IERC20UpgradeSafe private _token;
IERC20Upgradeable private _token;
function __SafeERC20Wrapper_init(IERC20UpgradeSafe token) internal initializer {
function __SafeERC20Wrapper_init(IERC20Upgradeable token) internal initializer {
__Context_init_unchained();
__SafeERC20Wrapper_init_unchained(token);
}
function __SafeERC20Wrapper_init_unchained(IERC20UpgradeSafe token) internal initializer {
function __SafeERC20Wrapper_init_unchained(IERC20Upgradeable token) internal initializer {
_token = token;
}
......@@ -153,7 +153,7 @@ contract SafeERC20WrapperUpgradeSafe is Initializable, ContextUpgradeSafe {
}
function setAllowance(uint256 allowance_) public {
ERC20ReturnTrueMockUpgradeSafe(address(_token)).setAllowance(allowance_);
ERC20ReturnTrueMockUpgradeable(address(_token)).setAllowance(allowance_);
}
function allowance() public view returns (uint256) {
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../math/SafeMathUpgradeSafe.sol";
import "../math/SafeMathUpgradeable.sol";
import "../proxy/Initializable.sol";
contract SafeMathMockUpgradeSafe is Initializable {
contract SafeMathMockUpgradeable is Initializable {
function __SafeMathMock_init() internal initializer {
__SafeMathMock_init_unchained();
}
......@@ -13,23 +13,23 @@ contract SafeMathMockUpgradeSafe is Initializable {
function __SafeMathMock_init_unchained() internal initializer {
}
function mul(uint256 a, uint256 b) public pure returns (uint256) {
return SafeMathUpgradeSafe.mul(a, b);
return SafeMathUpgradeable.mul(a, b);
}
function div(uint256 a, uint256 b) public pure returns (uint256) {
return SafeMathUpgradeSafe.div(a, b);
return SafeMathUpgradeable.div(a, b);
}
function sub(uint256 a, uint256 b) public pure returns (uint256) {
return SafeMathUpgradeSafe.sub(a, b);
return SafeMathUpgradeable.sub(a, b);
}
function add(uint256 a, uint256 b) public pure returns (uint256) {
return SafeMathUpgradeSafe.add(a, b);
return SafeMathUpgradeable.add(a, b);
}
function mod(uint256 a, uint256 b) public pure returns (uint256) {
return SafeMathUpgradeSafe.mod(a, b);
return SafeMathUpgradeable.mod(a, b);
}
uint256[50] private __gap;
}
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../math/SignedSafeMathUpgradeSafe.sol";
import "../math/SignedSafeMathUpgradeable.sol";
import "../proxy/Initializable.sol";
contract SignedSafeMathMockUpgradeSafe is Initializable {
contract SignedSafeMathMockUpgradeable is Initializable {
function __SignedSafeMathMock_init() internal initializer {
__SignedSafeMathMock_init_unchained();
}
......@@ -13,19 +13,19 @@ contract SignedSafeMathMockUpgradeSafe is Initializable {
function __SignedSafeMathMock_init_unchained() internal initializer {
}
function mul(int256 a, int256 b) public pure returns (int256) {
return SignedSafeMathUpgradeSafe.mul(a, b);
return SignedSafeMathUpgradeable.mul(a, b);
}
function div(int256 a, int256 b) public pure returns (int256) {
return SignedSafeMathUpgradeSafe.div(a, b);
return SignedSafeMathUpgradeable.div(a, b);
}
function sub(int256 a, int256 b) public pure returns (int256) {
return SignedSafeMathUpgradeSafe.sub(a, b);
return SignedSafeMathUpgradeable.sub(a, b);
}
function add(int256 a, int256 b) public pure returns (int256) {
return SignedSafeMathUpgradeSafe.add(a, b);
return SignedSafeMathUpgradeable.add(a, b);
}
uint256[50] private __gap;
}
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../utils/StringsUpgradeSafe.sol";
import "../utils/StringsUpgradeable.sol";
import "../proxy/Initializable.sol";
contract StringsMockUpgradeSafe is Initializable {
contract StringsMockUpgradeable is Initializable {
function __StringsMock_init() internal initializer {
__StringsMock_init_unchained();
}
......@@ -13,7 +13,7 @@ contract StringsMockUpgradeSafe is Initializable {
function __StringsMock_init_unchained() internal initializer {
}
function fromUint256(uint256 value) public pure returns (string memory) {
return StringsUpgradeSafe.toString(value);
return StringsUpgradeable.toString(value);
}
uint256[50] private __gap;
}
pragma solidity ^0.6;
pragma experimental ABIEncoderV2;
import "../access/OwnableUpgradeSafe.sol";
import "../access/OwnableUpgradeable.sol";
contract OwnableUpgradeSafeWithInit is OwnableUpgradeSafe {
contract OwnableUpgradeableWithInit is OwnableUpgradeable {
constructor() public payable {
__Ownable_init();
}
}
import "../access/TimelockControllerUpgradeSafe.sol";
import "../access/TimelockControllerUpgradeable.sol";
contract TimelockControllerUpgradeSafeWithInit is TimelockControllerUpgradeSafe {
contract TimelockControllerUpgradeableWithInit is TimelockControllerUpgradeable {
constructor(uint256 minDelay, address[] memory proposers, address[] memory executors) public payable {
__TimelockController_init(minDelay, proposers, executors);
}
}
import "../GSN/GSNRecipientERC20FeeUpgradeSafe.sol";
import "../GSN/GSNRecipientERC20FeeUpgradeable.sol";
contract GSNRecipientERC20FeeUpgradeSafeWithInit is GSNRecipientERC20FeeUpgradeSafe {
contract GSNRecipientERC20FeeUpgradeableWithInit is GSNRecipientERC20FeeUpgradeable {
constructor(string memory name, string memory symbol) public payable {
__GSNRecipientERC20Fee_init(name, symbol);
}
}
import "../GSN/GSNRecipientERC20FeeUpgradeSafe.sol";
import "../GSN/GSNRecipientERC20FeeUpgradeable.sol";
contract __unstable__ERC20OwnedUpgradeSafeWithInit is __unstable__ERC20OwnedUpgradeSafe {
contract __unstable__ERC20OwnedUpgradeableWithInit is __unstable__ERC20OwnedUpgradeable {
constructor(string memory name, string memory symbol) public payable {
____unstable__ERC20Owned_init(name, symbol);
}
}
import "../token/ERC20/ERC20UpgradeSafe.sol";
import "../token/ERC20/ERC20Upgradeable.sol";
contract ERC20UpgradeSafeWithInit is ERC20UpgradeSafe {
contract ERC20UpgradeableWithInit is ERC20Upgradeable {
constructor(string memory name, string memory symbol) public payable {
__ERC20_init(name, symbol);
}
}
import "../GSN/GSNRecipientSignatureUpgradeSafe.sol";
import "../GSN/GSNRecipientSignatureUpgradeable.sol";
contract GSNRecipientSignatureUpgradeSafeWithInit is GSNRecipientSignatureUpgradeSafe {
contract GSNRecipientSignatureUpgradeableWithInit is GSNRecipientSignatureUpgradeable {
constructor(address trustedSigner) public payable {
__GSNRecipientSignature_init(trustedSigner);
}
}
import "../introspection/ERC165UpgradeSafe.sol";
import "../introspection/ERC165Upgradeable.sol";
contract ERC165UpgradeSafeWithInit is ERC165UpgradeSafe {
contract ERC165UpgradeableWithInit is ERC165Upgradeable {
constructor() public payable {
__ERC165_init();
}
}
import "../introspection/ERC1820ImplementerUpgradeSafe.sol";
import "../introspection/ERC1820ImplementerUpgradeable.sol";
contract ERC1820ImplementerUpgradeSafeWithInit is ERC1820ImplementerUpgradeSafe {
contract ERC1820ImplementerUpgradeableWithInit is ERC1820ImplementerUpgradeable {
constructor() public payable {
__ERC1820Implementer_init();
}
}
import "./AccessControlMockUpgradeSafe.sol";
import "./AccessControlMockUpgradeable.sol";
contract AccessControlMockUpgradeSafeWithInit is AccessControlMockUpgradeSafe {
contract AccessControlMockUpgradeableWithInit is AccessControlMockUpgradeable {
constructor() public payable {
__AccessControlMock_init();
}
}
import "./AddressImplUpgradeSafe.sol";
import "./AddressImplUpgradeable.sol";
contract AddressImplUpgradeSafeWithInit is AddressImplUpgradeSafe {
contract AddressImplUpgradeableWithInit is AddressImplUpgradeable {
constructor() public payable {
__AddressImpl_init();
}
}
import "./ArraysImplUpgradeSafe.sol";
import "./ArraysImplUpgradeable.sol";
contract ArraysImplUpgradeSafeWithInit is ArraysImplUpgradeSafe {
contract ArraysImplUpgradeableWithInit is ArraysImplUpgradeable {
constructor(uint256[] memory array) public payable {
__ArraysImpl_init(array);
}
}
import "./CallReceiverMockUpgradeSafe.sol";
import "./CallReceiverMockUpgradeable.sol";
contract CallReceiverMockUpgradeSafeWithInit is CallReceiverMockUpgradeSafe {
contract CallReceiverMockUpgradeableWithInit is CallReceiverMockUpgradeable {
constructor() public payable {
__CallReceiverMock_init();
}
}
import "./ClashingImplementationUpgradeSafe.sol";
import "./ClashingImplementationUpgradeable.sol";
contract ClashingImplementationUpgradeSafeWithInit is ClashingImplementationUpgradeSafe {
contract ClashingImplementationUpgradeableWithInit is ClashingImplementationUpgradeable {
constructor() public payable {
__ClashingImplementation_init();
}
}
import "./ConditionalEscrowMockUpgradeSafe.sol";
import "./ConditionalEscrowMockUpgradeable.sol";
contract ConditionalEscrowMockUpgradeSafeWithInit is ConditionalEscrowMockUpgradeSafe {
contract ConditionalEscrowMockUpgradeableWithInit is ConditionalEscrowMockUpgradeable {
constructor() public payable {
__ConditionalEscrowMock_init();
}
}
import "../payment/escrow/EscrowUpgradeSafe.sol";
import "../payment/escrow/EscrowUpgradeable.sol";
contract EscrowUpgradeSafeWithInit is EscrowUpgradeSafe {
contract EscrowUpgradeableWithInit is EscrowUpgradeable {
constructor() public payable {
__Escrow_init();
}
}
import "./ContextMockUpgradeSafe.sol";
import "./ContextMockUpgradeable.sol";
contract ContextMockUpgradeSafeWithInit is ContextMockUpgradeSafe {
contract ContextMockUpgradeableWithInit is ContextMockUpgradeable {
constructor() public payable {
__ContextMock_init();
}
}
import "./ContextMockUpgradeSafe.sol";
import "./ContextMockUpgradeable.sol";
contract ContextMockCallerUpgradeSafeWithInit is ContextMockCallerUpgradeSafe {
contract ContextMockCallerUpgradeableWithInit is ContextMockCallerUpgradeable {
constructor() public payable {
__ContextMockCaller_init();
}
}
import "./CountersImplUpgradeSafe.sol";
import "./CountersImplUpgradeable.sol";
contract CountersImplUpgradeSafeWithInit is CountersImplUpgradeSafe {
contract CountersImplUpgradeableWithInit is CountersImplUpgradeable {
constructor() public payable {
__CountersImpl_init();
}
}
import "./Create2ImplUpgradeSafe.sol";
import "./Create2ImplUpgradeable.sol";
contract Create2ImplUpgradeSafeWithInit is Create2ImplUpgradeSafe {
contract Create2ImplUpgradeableWithInit is Create2ImplUpgradeable {
constructor() public payable {
__Create2Impl_init();
}
}
import "./DummyImplementationUpgradeSafe.sol";
import "./DummyImplementationUpgradeable.sol";
contract DummyImplementationUpgradeSafeWithInit is DummyImplementationUpgradeSafe {
contract DummyImplementationUpgradeableWithInit is DummyImplementationUpgradeable {
constructor() public payable {
__DummyImplementation_init();
}
}
import "./DummyImplementationUpgradeSafe.sol";
import "./DummyImplementationUpgradeable.sol";
contract DummyImplementationV2UpgradeSafeWithInit is DummyImplementationV2UpgradeSafe {
contract DummyImplementationV2UpgradeableWithInit is DummyImplementationV2Upgradeable {
constructor() public payable {
__DummyImplementationV2_init();
}
}
import "./ECDSAMockUpgradeSafe.sol";
import "./ECDSAMockUpgradeable.sol";
contract ECDSAMockUpgradeSafeWithInit is ECDSAMockUpgradeSafe {
contract ECDSAMockUpgradeableWithInit is ECDSAMockUpgradeable {
constructor() public payable {
__ECDSAMock_init();
}
}
import "./EnumerableMapMockUpgradeSafe.sol";
import "./EnumerableMapMockUpgradeable.sol";
contract EnumerableMapMockUpgradeSafeWithInit is EnumerableMapMockUpgradeSafe {
contract EnumerableMapMockUpgradeableWithInit is EnumerableMapMockUpgradeable {
constructor() public payable {
__EnumerableMapMock_init();
}
}
import "./EnumerableSetMockUpgradeSafe.sol";
import "./EnumerableSetMockUpgradeable.sol";
contract EnumerableBytes32SetMockUpgradeSafeWithInit is EnumerableBytes32SetMockUpgradeSafe {
contract EnumerableBytes32SetMockUpgradeableWithInit is EnumerableBytes32SetMockUpgradeable {
constructor() public payable {
__EnumerableBytes32SetMock_init();
}
}
import "./EnumerableSetMockUpgradeSafe.sol";
import "./EnumerableSetMockUpgradeable.sol";
contract EnumerableAddressSetMockUpgradeSafeWithInit is EnumerableAddressSetMockUpgradeSafe {
contract EnumerableAddressSetMockUpgradeableWithInit is EnumerableAddressSetMockUpgradeable {
constructor() public payable {
__EnumerableAddressSetMock_init();
}
}
import "./EnumerableSetMockUpgradeSafe.sol";
import "./EnumerableSetMockUpgradeable.sol";
contract EnumerableUintSetMockUpgradeSafeWithInit is EnumerableUintSetMockUpgradeSafe {
contract EnumerableUintSetMockUpgradeableWithInit is EnumerableUintSetMockUpgradeable {
constructor() public payable {
__EnumerableUintSetMock_init();
}
}
import "./ERC1155BurnableMockUpgradeSafe.sol";
import "./ERC1155BurnableMockUpgradeable.sol";
contract ERC1155BurnableMockUpgradeSafeWithInit is ERC1155BurnableMockUpgradeSafe {
contract ERC1155BurnableMockUpgradeableWithInit is ERC1155BurnableMockUpgradeable {
constructor(string memory uri) public payable {
__ERC1155BurnableMock_init(uri);
}
}
import "../token/ERC1155/ERC1155UpgradeSafe.sol";
import "../token/ERC1155/ERC1155Upgradeable.sol";
contract ERC1155UpgradeSafeWithInit is ERC1155UpgradeSafe {
contract ERC1155UpgradeableWithInit is ERC1155Upgradeable {
constructor(string memory uri) public payable {
__ERC1155_init(uri);
}
}
import "./ERC1155MockUpgradeSafe.sol";
import "./ERC1155MockUpgradeable.sol";
contract ERC1155MockUpgradeSafeWithInit is ERC1155MockUpgradeSafe {
contract ERC1155MockUpgradeableWithInit is ERC1155MockUpgradeable {
constructor(string memory uri) public payable {
__ERC1155Mock_init(uri);
}
}
import "./ERC1155PausableMockUpgradeSafe.sol";
import "./ERC1155PausableMockUpgradeable.sol";
contract ERC1155PausableMockUpgradeSafeWithInit is ERC1155PausableMockUpgradeSafe {
contract ERC1155PausableMockUpgradeableWithInit is ERC1155PausableMockUpgradeable {
constructor(string memory uri) public payable {
__ERC1155PausableMock_init(uri);
}
}
import "../utils/PausableUpgradeSafe.sol";
import "../utils/PausableUpgradeable.sol";
contract PausableUpgradeSafeWithInit is PausableUpgradeSafe {
contract PausableUpgradeableWithInit is PausableUpgradeable {
constructor() public payable {
__Pausable_init();
}
}
import "./ERC1155ReceiverMockUpgradeSafe.sol";
import "./ERC1155ReceiverMockUpgradeable.sol";
contract ERC1155ReceiverMockUpgradeSafeWithInit is ERC1155ReceiverMockUpgradeSafe {
contract ERC1155ReceiverMockUpgradeableWithInit is ERC1155ReceiverMockUpgradeable {
constructor(
bytes4 recRetval,
bool recReverts,
......@@ -230,51 +230,51 @@ contract ERC1155ReceiverMockUpgradeSafeWithInit is ERC1155ReceiverMockUpgradeSaf
__ERC1155ReceiverMock_init(recRetval, recReverts, batRetval, batReverts);
}
}
import "./ERC165MockUpgradeSafe.sol";
import "./ERC165MockUpgradeable.sol";
contract ERC165MockUpgradeSafeWithInit is ERC165MockUpgradeSafe {
contract ERC165MockUpgradeableWithInit is ERC165MockUpgradeable {
constructor() public payable {
__ERC165Mock_init();
}
}
import "./ERC165/ERC165InterfacesSupportedUpgradeSafe.sol";
import "./ERC165/ERC165InterfacesSupportedUpgradeable.sol";
contract SupportsInterfaceWithLookupMockUpgradeSafeWithInit is SupportsInterfaceWithLookupMockUpgradeSafe {
contract SupportsInterfaceWithLookupMockUpgradeableWithInit is SupportsInterfaceWithLookupMockUpgradeable {
constructor() public payable {
__SupportsInterfaceWithLookupMock_init();
}
}
import "./ERC165/ERC165InterfacesSupportedUpgradeSafe.sol";
import "./ERC165/ERC165InterfacesSupportedUpgradeable.sol";
contract ERC165InterfacesSupportedUpgradeSafeWithInit is ERC165InterfacesSupportedUpgradeSafe {
contract ERC165InterfacesSupportedUpgradeableWithInit is ERC165InterfacesSupportedUpgradeable {
constructor(bytes4[] memory interfaceIds) public payable {
__ERC165InterfacesSupported_init(interfaceIds);
}
}
import "./ERC165/ERC165NotSupportedUpgradeSafe.sol";
import "./ERC165/ERC165NotSupportedUpgradeable.sol";
contract ERC165NotSupportedUpgradeSafeWithInit is ERC165NotSupportedUpgradeSafe {
contract ERC165NotSupportedUpgradeableWithInit is ERC165NotSupportedUpgradeable {
constructor() public payable {
__ERC165NotSupported_init();
}
}
import "./ERC165CheckerMockUpgradeSafe.sol";
import "./ERC165CheckerMockUpgradeable.sol";
contract ERC165CheckerMockUpgradeSafeWithInit is ERC165CheckerMockUpgradeSafe {
contract ERC165CheckerMockUpgradeableWithInit is ERC165CheckerMockUpgradeable {
constructor() public payable {
__ERC165CheckerMock_init();
}
}
import "./ERC1820ImplementerMockUpgradeSafe.sol";
import "./ERC1820ImplementerMockUpgradeable.sol";
contract ERC1820ImplementerMockUpgradeSafeWithInit is ERC1820ImplementerMockUpgradeSafe {
contract ERC1820ImplementerMockUpgradeableWithInit is ERC1820ImplementerMockUpgradeable {
constructor() public payable {
__ERC1820ImplementerMock_init();
}
}
import "./ERC20BurnableMockUpgradeSafe.sol";
import "./ERC20BurnableMockUpgradeable.sol";
contract ERC20BurnableMockUpgradeSafeWithInit is ERC20BurnableMockUpgradeSafe {
contract ERC20BurnableMockUpgradeableWithInit is ERC20BurnableMockUpgradeable {
constructor(
string memory name,
string memory symbol,
......@@ -284,23 +284,23 @@ contract ERC20BurnableMockUpgradeSafeWithInit is ERC20BurnableMockUpgradeSafe {
__ERC20BurnableMock_init(name, symbol, initialAccount, initialBalance);
}
}
import "./ERC20CappedMockUpgradeSafe.sol";
import "./ERC20CappedMockUpgradeable.sol";
contract ERC20CappedMockUpgradeSafeWithInit is ERC20CappedMockUpgradeSafe {
contract ERC20CappedMockUpgradeableWithInit is ERC20CappedMockUpgradeable {
constructor(string memory name, string memory symbol, uint256 cap) public payable {
__ERC20CappedMock_init(name, symbol, cap);
}
}
import "./ERC20DecimalsMockUpgradeSafe.sol";
import "./ERC20DecimalsMockUpgradeable.sol";
contract ERC20DecimalsMockUpgradeSafeWithInit is ERC20DecimalsMockUpgradeSafe {
contract ERC20DecimalsMockUpgradeableWithInit is ERC20DecimalsMockUpgradeable {
constructor(string memory name, string memory symbol, uint8 decimals) public payable {
__ERC20DecimalsMock_init(name, symbol, decimals);
}
}
import "./ERC20MockUpgradeSafe.sol";
import "./ERC20MockUpgradeable.sol";
contract ERC20MockUpgradeSafeWithInit is ERC20MockUpgradeSafe {
contract ERC20MockUpgradeableWithInit is ERC20MockUpgradeable {
constructor(
string memory name,
string memory symbol,
......@@ -310,9 +310,9 @@ contract ERC20MockUpgradeSafeWithInit is ERC20MockUpgradeSafe {
__ERC20Mock_init(name, symbol, initialAccount, initialBalance);
}
}
import "./ERC20PausableMockUpgradeSafe.sol";
import "./ERC20PausableMockUpgradeable.sol";
contract ERC20PausableMockUpgradeSafeWithInit is ERC20PausableMockUpgradeSafe {
contract ERC20PausableMockUpgradeableWithInit is ERC20PausableMockUpgradeable {
constructor(
string memory name,
string memory symbol,
......@@ -322,9 +322,9 @@ contract ERC20PausableMockUpgradeSafeWithInit is ERC20PausableMockUpgradeSafe {
__ERC20PausableMock_init(name, symbol, initialAccount, initialBalance);
}
}
import "./ERC20SnapshotMockUpgradeSafe.sol";
import "./ERC20SnapshotMockUpgradeable.sol";
contract ERC20SnapshotMockUpgradeSafeWithInit is ERC20SnapshotMockUpgradeSafe {
contract ERC20SnapshotMockUpgradeableWithInit is ERC20SnapshotMockUpgradeable {
constructor(
string memory name,
string memory symbol,
......@@ -334,51 +334,51 @@ contract ERC20SnapshotMockUpgradeSafeWithInit is ERC20SnapshotMockUpgradeSafe {
__ERC20SnapshotMock_init(name, symbol, initialAccount, initialBalance);
}
}
import "./ERC721BurnableMockUpgradeSafe.sol";
import "./ERC721BurnableMockUpgradeable.sol";
contract ERC721BurnableMockUpgradeSafeWithInit is ERC721BurnableMockUpgradeSafe {
contract ERC721BurnableMockUpgradeableWithInit is ERC721BurnableMockUpgradeable {
constructor(string memory name, string memory symbol) public payable {
__ERC721BurnableMock_init(name, symbol);
}
}
import "../token/ERC721/ERC721UpgradeSafe.sol";
import "../token/ERC721/ERC721Upgradeable.sol";
contract ERC721UpgradeSafeWithInit is ERC721UpgradeSafe {
contract ERC721UpgradeableWithInit is ERC721Upgradeable {
constructor(string memory name, string memory symbol) public payable {
__ERC721_init(name, symbol);
}
}
import "./ERC721GSNRecipientMockUpgradeSafe.sol";
import "./ERC721GSNRecipientMockUpgradeable.sol";
contract ERC721GSNRecipientMockUpgradeSafeWithInit is ERC721GSNRecipientMockUpgradeSafe {
contract ERC721GSNRecipientMockUpgradeableWithInit is ERC721GSNRecipientMockUpgradeable {
constructor(string memory name, string memory symbol, address trustedSigner) public payable {
__ERC721GSNRecipientMock_init(name, symbol, trustedSigner);
}
}
import "./ERC721MockUpgradeSafe.sol";
import "./ERC721MockUpgradeable.sol";
contract ERC721MockUpgradeSafeWithInit is ERC721MockUpgradeSafe {
contract ERC721MockUpgradeableWithInit is ERC721MockUpgradeable {
constructor(string memory name, string memory symbol) public payable {
__ERC721Mock_init(name, symbol);
}
}
import "./ERC721PausableMockUpgradeSafe.sol";
import "./ERC721PausableMockUpgradeable.sol";
contract ERC721PausableMockUpgradeSafeWithInit is ERC721PausableMockUpgradeSafe {
contract ERC721PausableMockUpgradeableWithInit is ERC721PausableMockUpgradeable {
constructor(string memory name, string memory symbol) public payable {
__ERC721PausableMock_init(name, symbol);
}
}
import "./ERC721ReceiverMockUpgradeSafe.sol";
import "./ERC721ReceiverMockUpgradeable.sol";
contract ERC721ReceiverMockUpgradeSafeWithInit is ERC721ReceiverMockUpgradeSafe {
contract ERC721ReceiverMockUpgradeableWithInit is ERC721ReceiverMockUpgradeable {
constructor(bytes4 retval, bool reverts) public payable {
__ERC721ReceiverMock_init(retval, reverts);
}
}
import "./ERC777MockUpgradeSafe.sol";
import "./ERC777MockUpgradeable.sol";
contract ERC777MockUpgradeSafeWithInit is ERC777MockUpgradeSafe {
contract ERC777MockUpgradeableWithInit is ERC777MockUpgradeable {
constructor(
address initialHolder,
uint256 initialBalance,
......@@ -389,9 +389,9 @@ contract ERC777MockUpgradeSafeWithInit is ERC777MockUpgradeSafe {
__ERC777Mock_init(initialHolder, initialBalance, name, symbol, defaultOperators);
}
}
import "../token/ERC777/ERC777UpgradeSafe.sol";
import "../token/ERC777/ERC777Upgradeable.sol";
contract ERC777UpgradeSafeWithInit is ERC777UpgradeSafe {
contract ERC777UpgradeableWithInit is ERC777Upgradeable {
constructor(
string memory name,
string memory symbol,
......@@ -400,212 +400,212 @@ contract ERC777UpgradeSafeWithInit is ERC777UpgradeSafe {
__ERC777_init(name, symbol, defaultOperators);
}
}
import "./ERC777SenderRecipientMockUpgradeSafe.sol";
import "./ERC777SenderRecipientMockUpgradeable.sol";
contract ERC777SenderRecipientMockUpgradeSafeWithInit is ERC777SenderRecipientMockUpgradeSafe {
contract ERC777SenderRecipientMockUpgradeableWithInit is ERC777SenderRecipientMockUpgradeable {
constructor() public payable {
__ERC777SenderRecipientMock_init();
}
}
import "./EtherReceiverMockUpgradeSafe.sol";
import "./EtherReceiverMockUpgradeable.sol";
contract EtherReceiverMockUpgradeSafeWithInit is EtherReceiverMockUpgradeSafe {
contract EtherReceiverMockUpgradeableWithInit is EtherReceiverMockUpgradeable {
constructor() public payable {
__EtherReceiverMock_init();
}
}
import "./GSNRecipientERC20FeeMockUpgradeSafe.sol";
import "./GSNRecipientERC20FeeMockUpgradeable.sol";
contract GSNRecipientERC20FeeMockUpgradeSafeWithInit is GSNRecipientERC20FeeMockUpgradeSafe {
contract GSNRecipientERC20FeeMockUpgradeableWithInit is GSNRecipientERC20FeeMockUpgradeable {
constructor(string memory name, string memory symbol) public payable {
__GSNRecipientERC20FeeMock_init(name, symbol);
}
}
import "./GSNRecipientMockUpgradeSafe.sol";
import "./GSNRecipientMockUpgradeable.sol";
contract GSNRecipientMockUpgradeSafeWithInit is GSNRecipientMockUpgradeSafe {
contract GSNRecipientMockUpgradeableWithInit is GSNRecipientMockUpgradeable {
constructor() public payable {
__GSNRecipientMock_init();
}
}
import "./GSNRecipientSignatureMockUpgradeSafe.sol";
import "./GSNRecipientSignatureMockUpgradeable.sol";
contract GSNRecipientSignatureMockUpgradeSafeWithInit is GSNRecipientSignatureMockUpgradeSafe {
contract GSNRecipientSignatureMockUpgradeableWithInit is GSNRecipientSignatureMockUpgradeable {
constructor(address trustedSigner) public payable {
__GSNRecipientSignatureMock_init(trustedSigner);
}
}
import "./MathMockUpgradeSafe.sol";
import "./MathMockUpgradeable.sol";
contract MathMockUpgradeSafeWithInit is MathMockUpgradeSafe {
contract MathMockUpgradeableWithInit is MathMockUpgradeable {
constructor() public payable {
__MathMock_init();
}
}
import "./MerkleProofWrapperUpgradeSafe.sol";
import "./MerkleProofWrapperUpgradeable.sol";
contract MerkleProofWrapperUpgradeSafeWithInit is MerkleProofWrapperUpgradeSafe {
contract MerkleProofWrapperUpgradeableWithInit is MerkleProofWrapperUpgradeable {
constructor() public payable {
__MerkleProofWrapper_init();
}
}
import "./OwnableMockUpgradeSafe.sol";
import "./OwnableMockUpgradeable.sol";
contract OwnableMockUpgradeSafeWithInit is OwnableMockUpgradeSafe {
contract OwnableMockUpgradeableWithInit is OwnableMockUpgradeable {
constructor() public payable {
__OwnableMock_init();
}
}
import "./PausableMockUpgradeSafe.sol";
import "./PausableMockUpgradeable.sol";
contract PausableMockUpgradeSafeWithInit is PausableMockUpgradeSafe {
contract PausableMockUpgradeableWithInit is PausableMockUpgradeable {
constructor() public payable {
__PausableMock_init();
}
}
import "./PullPaymentMockUpgradeSafe.sol";
import "./PullPaymentMockUpgradeable.sol";
contract PullPaymentMockUpgradeSafeWithInit is PullPaymentMockUpgradeSafe {
contract PullPaymentMockUpgradeableWithInit is PullPaymentMockUpgradeable {
constructor() public payable {
__PullPaymentMock_init();
}
}
import "../payment/PullPaymentUpgradeSafe.sol";
import "../payment/PullPaymentUpgradeable.sol";
contract PullPaymentUpgradeSafeWithInit is PullPaymentUpgradeSafe {
contract PullPaymentUpgradeableWithInit is PullPaymentUpgradeable {
constructor() public payable {
__PullPayment_init();
}
}
import "./ReentrancyAttackUpgradeSafe.sol";
import "./ReentrancyAttackUpgradeable.sol";
contract ReentrancyAttackUpgradeSafeWithInit is ReentrancyAttackUpgradeSafe {
contract ReentrancyAttackUpgradeableWithInit is ReentrancyAttackUpgradeable {
constructor() public payable {
__ReentrancyAttack_init();
}
}
import "./ReentrancyMockUpgradeSafe.sol";
import "./ReentrancyMockUpgradeable.sol";
contract ReentrancyMockUpgradeSafeWithInit is ReentrancyMockUpgradeSafe {
contract ReentrancyMockUpgradeableWithInit is ReentrancyMockUpgradeable {
constructor() public payable {
__ReentrancyMock_init();
}
}
import "../utils/ReentrancyGuardUpgradeSafe.sol";
import "../utils/ReentrancyGuardUpgradeable.sol";
contract ReentrancyGuardUpgradeSafeWithInit is ReentrancyGuardUpgradeSafe {
contract ReentrancyGuardUpgradeableWithInit is ReentrancyGuardUpgradeable {
constructor() public payable {
__ReentrancyGuard_init();
}
}
import "./SafeCastMockUpgradeSafe.sol";
import "./SafeCastMockUpgradeable.sol";
contract SafeCastMockUpgradeSafeWithInit is SafeCastMockUpgradeSafe {
contract SafeCastMockUpgradeableWithInit is SafeCastMockUpgradeable {
constructor() public payable {
__SafeCastMock_init();
}
}
import "./SafeERC20HelperUpgradeSafe.sol";
import "./SafeERC20HelperUpgradeable.sol";
contract ERC20ReturnFalseMockUpgradeSafeWithInit is ERC20ReturnFalseMockUpgradeSafe {
contract ERC20ReturnFalseMockUpgradeableWithInit is ERC20ReturnFalseMockUpgradeable {
constructor() public payable {
__ERC20ReturnFalseMock_init();
}
}
import "./SafeERC20HelperUpgradeSafe.sol";
import "./SafeERC20HelperUpgradeable.sol";
contract ERC20ReturnTrueMockUpgradeSafeWithInit is ERC20ReturnTrueMockUpgradeSafe {
contract ERC20ReturnTrueMockUpgradeableWithInit is ERC20ReturnTrueMockUpgradeable {
constructor() public payable {
__ERC20ReturnTrueMock_init();
}
}
import "./SafeERC20HelperUpgradeSafe.sol";
import "./SafeERC20HelperUpgradeable.sol";
contract ERC20NoReturnMockUpgradeSafeWithInit is ERC20NoReturnMockUpgradeSafe {
contract ERC20NoReturnMockUpgradeableWithInit is ERC20NoReturnMockUpgradeable {
constructor() public payable {
__ERC20NoReturnMock_init();
}
}
import "./SafeERC20HelperUpgradeSafe.sol";
import "./SafeERC20HelperUpgradeable.sol";
contract SafeERC20WrapperUpgradeSafeWithInit is SafeERC20WrapperUpgradeSafe {
constructor(IERC20UpgradeSafe token) public payable {
contract SafeERC20WrapperUpgradeableWithInit is SafeERC20WrapperUpgradeable {
constructor(IERC20Upgradeable token) public payable {
__SafeERC20Wrapper_init(token);
}
}
import "./SafeMathMockUpgradeSafe.sol";
import "./SafeMathMockUpgradeable.sol";
contract SafeMathMockUpgradeSafeWithInit is SafeMathMockUpgradeSafe {
contract SafeMathMockUpgradeableWithInit is SafeMathMockUpgradeable {
constructor() public payable {
__SafeMathMock_init();
}
}
import "./SignedSafeMathMockUpgradeSafe.sol";
import "./SignedSafeMathMockUpgradeable.sol";
contract SignedSafeMathMockUpgradeSafeWithInit is SignedSafeMathMockUpgradeSafe {
contract SignedSafeMathMockUpgradeableWithInit is SignedSafeMathMockUpgradeable {
constructor() public payable {
__SignedSafeMathMock_init();
}
}
import "./StringsMockUpgradeSafe.sol";
import "./StringsMockUpgradeable.sol";
contract StringsMockUpgradeSafeWithInit is StringsMockUpgradeSafe {
contract StringsMockUpgradeableWithInit is StringsMockUpgradeable {
constructor() public payable {
__StringsMock_init();
}
}
import "../payment/escrow/RefundEscrowUpgradeSafe.sol";
import "../payment/escrow/RefundEscrowUpgradeable.sol";
contract RefundEscrowUpgradeSafeWithInit is RefundEscrowUpgradeSafe {
contract RefundEscrowUpgradeableWithInit is RefundEscrowUpgradeable {
constructor(address payable beneficiary) public payable {
__RefundEscrow_init(beneficiary);
}
}
import "../payment/PaymentSplitterUpgradeSafe.sol";
import "../payment/PaymentSplitterUpgradeable.sol";
contract PaymentSplitterUpgradeSafeWithInit is PaymentSplitterUpgradeSafe {
contract PaymentSplitterUpgradeableWithInit is PaymentSplitterUpgradeable {
constructor(address[] memory payees, uint256[] memory shares) public payable {
__PaymentSplitter_init(payees, shares);
}
}
import "../presets/ERC1155PresetMinterPauserUpgradeSafe.sol";
import "../presets/ERC1155PresetMinterPauserUpgradeable.sol";
contract ERC1155PresetMinterPauserUpgradeSafeWithInit is ERC1155PresetMinterPauserUpgradeSafe {
contract ERC1155PresetMinterPauserUpgradeableWithInit is ERC1155PresetMinterPauserUpgradeable {
constructor(string memory uri) public payable {
__ERC1155PresetMinterPauser_init(uri);
}
}
import "../presets/ERC20PresetMinterPauserUpgradeSafe.sol";
import "../presets/ERC20PresetMinterPauserUpgradeable.sol";
contract ERC20PresetMinterPauserUpgradeSafeWithInit is ERC20PresetMinterPauserUpgradeSafe {
contract ERC20PresetMinterPauserUpgradeableWithInit is ERC20PresetMinterPauserUpgradeable {
constructor(string memory name, string memory symbol) public payable {
__ERC20PresetMinterPauser_init(name, symbol);
}
}
import "../presets/ERC721PresetMinterPauserAutoIdUpgradeSafe.sol";
import "../presets/ERC721PresetMinterPauserAutoIdUpgradeable.sol";
contract ERC721PresetMinterPauserAutoIdUpgradeSafeWithInit is ERC721PresetMinterPauserAutoIdUpgradeSafe {
contract ERC721PresetMinterPauserAutoIdUpgradeableWithInit is ERC721PresetMinterPauserAutoIdUpgradeable {
constructor(string memory name, string memory symbol, string memory baseURI) public payable {
__ERC721PresetMinterPauserAutoId_init(name, symbol, baseURI);
}
}
import "../token/ERC1155/ERC1155HolderUpgradeSafe.sol";
import "../token/ERC1155/ERC1155HolderUpgradeable.sol";
contract ERC1155HolderUpgradeSafeWithInit is ERC1155HolderUpgradeSafe {
contract ERC1155HolderUpgradeableWithInit is ERC1155HolderUpgradeable {
constructor() public payable {
__ERC1155Holder_init();
}
}
import "../token/ERC20/TokenTimelockUpgradeSafe.sol";
import "../token/ERC20/TokenTimelockUpgradeable.sol";
contract TokenTimelockUpgradeSafeWithInit is TokenTimelockUpgradeSafe {
constructor(IERC20UpgradeSafe token, address beneficiary, uint256 releaseTime) public payable {
contract TokenTimelockUpgradeableWithInit is TokenTimelockUpgradeable {
constructor(IERC20Upgradeable token, address beneficiary, uint256 releaseTime) public payable {
__TokenTimelock_init(token, beneficiary, releaseTime);
}
}
import "../token/ERC721/ERC721HolderUpgradeSafe.sol";
import "../token/ERC721/ERC721HolderUpgradeable.sol";
contract ERC721HolderUpgradeSafeWithInit is ERC721HolderUpgradeSafe {
contract ERC721HolderUpgradeableWithInit is ERC721HolderUpgradeable {
constructor() public payable {
__ERC721Holder_init();
}
......
{
"name": "@openzeppelin/contracts-upgrade-safe",
"name": "@openzeppelin/contracts-upgradeable",
"description": "Secure Smart Contract library for Solidity",
"version": "3.2.0",
"files": [
......@@ -14,7 +14,7 @@
},
"repository": {
"type": "git",
"url": "https://github.com/OpenZeppelin/openzeppelin-contracts-upgrade-safe.git"
"url": "https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable.git"
},
"keywords": [
"solidity",
......@@ -27,7 +27,7 @@
"author": "OpenZeppelin Community <maintainers@openzeppelin.org>",
"license": "MIT",
"bugs": {
"url": "https://github.com/OpenZeppelin/openzeppelin-contracts-upgrade-safe/issues"
"url": "https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable/issues"
},
"homepage": "https://openzeppelin.com/contracts/"
}
......@@ -2,8 +2,8 @@
pragma solidity ^0.6.0;
import "../GSN/ContextUpgradeSafe.sol";
import "../math/SafeMathUpgradeSafe.sol";
import "../GSN/ContextUpgradeable.sol";
import "../math/SafeMathUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -19,8 +19,8 @@ import "../proxy/Initializable.sol";
* accounts but kept in this contract, and the actual transfer is triggered as a separate step by calling the {release}
* function.
*/
contract PaymentSplitterUpgradeSafe is Initializable, ContextUpgradeSafe {
using SafeMathUpgradeSafe for uint256;
contract PaymentSplitterUpgradeable is Initializable, ContextUpgradeable {
using SafeMathUpgradeable for uint256;
event PayeeAdded(address account, uint256 shares);
event PaymentReleased(address to, uint256 amount);
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.2;
import "./escrow/EscrowUpgradeSafe.sol";
import "./escrow/EscrowUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -23,15 +23,15 @@ import "../proxy/Initializable.sol";
* instead of Solidity's `transfer` function. Payees can query their due
* payments with {payments}, and retrieve them with {withdrawPayments}.
*/
contract PullPaymentUpgradeSafe is Initializable {
EscrowUpgradeSafe private _escrow;
contract PullPaymentUpgradeable is Initializable {
EscrowUpgradeable private _escrow;
function __PullPayment_init() internal initializer {
__PullPayment_init_unchained();
}
function __PullPayment_init_unchained() internal initializer {
_escrow = new EscrowUpgradeSafe();
_escrow = new EscrowUpgradeable();
_escrow.initialize();
}
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "./EscrowUpgradeSafe.sol";
import "./EscrowUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -10,7 +10,7 @@ import "../../proxy/Initializable.sol";
* @dev Base abstract escrow to only allow withdrawal if a condition is met.
* @dev Intended usage: See {Escrow}. Same usage guidelines apply here.
*/
abstract contract ConditionalEscrowUpgradeSafe is Initializable, EscrowUpgradeSafe {
abstract contract ConditionalEscrowUpgradeable is Initializable, EscrowUpgradeable {
function __ConditionalEscrow_init() internal initializer {
__Context_init_unchained();
__Ownable_init_unchained();
......
......@@ -2,9 +2,9 @@
pragma solidity ^0.6.0;
import "../../math/SafeMathUpgradeSafe.sol";
import "../../access/OwnableUpgradeSafe.sol";
import "../../utils/AddressUpgradeSafe.sol";
import "../../math/SafeMathUpgradeable.sol";
import "../../access/OwnableUpgradeable.sol";
import "../../utils/AddressUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -20,7 +20,7 @@ import "../../proxy/Initializable.sol";
* payment method should be its owner, and provide public methods redirecting
* to the escrow's deposit and withdraw.
*/
contract EscrowUpgradeSafe is Initializable, OwnableUpgradeSafe {
contract EscrowUpgradeable is Initializable, OwnableUpgradeable {
function initialize() public virtual initializer {
__Escrow_init();
}
......@@ -32,8 +32,8 @@ contract EscrowUpgradeSafe is Initializable, OwnableUpgradeSafe {
function __Escrow_init_unchained() internal initializer {
}
using SafeMathUpgradeSafe for uint256;
using AddressUpgradeSafe for address payable;
using SafeMathUpgradeable for uint256;
using AddressUpgradeable for address payable;
event Deposited(address indexed payee, uint256 weiAmount);
event Withdrawn(address indexed payee, uint256 weiAmount);
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "./ConditionalEscrowUpgradeSafe.sol";
import "./ConditionalEscrowUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -15,7 +15,7 @@ import "../../proxy/Initializable.sol";
* withdrawal by the beneficiary, or refunds to the depositors. All interactions
* with `RefundEscrow` will be made through the owner contract.
*/
contract RefundEscrowUpgradeSafe is Initializable, ConditionalEscrowUpgradeSafe {
contract RefundEscrowUpgradeable is Initializable, ConditionalEscrowUpgradeable {
enum State { Active, Refunding, Closed }
event RefundsClosed();
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../access/AccessControlUpgradeSafe.sol";
import "../GSN/ContextUpgradeSafe.sol";
import "../token/ERC1155/ERC1155UpgradeSafe.sol";
import "../token/ERC1155/ERC1155BurnableUpgradeSafe.sol";
import "../token/ERC1155/ERC1155PausableUpgradeSafe.sol";
import "../access/AccessControlUpgradeable.sol";
import "../GSN/ContextUpgradeable.sol";
import "../token/ERC1155/ERC1155Upgradeable.sol";
import "../token/ERC1155/ERC1155BurnableUpgradeable.sol";
import "../token/ERC1155/ERC1155PausableUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -23,7 +23,7 @@ import "../proxy/Initializable.sol";
* roles, as well as the default admin role, which will let it grant both minter
* and pauser roles to other accounts.
*/
contract ERC1155PresetMinterPauserUpgradeSafe is Initializable, ContextUpgradeSafe, AccessControlUpgradeSafe, ERC1155BurnableUpgradeSafe, ERC1155PausableUpgradeSafe {
contract ERC1155PresetMinterPauserUpgradeable is Initializable, ContextUpgradeable, AccessControlUpgradeable, ERC1155BurnableUpgradeable, ERC1155PausableUpgradeable {
function initialize(string memory uri) public virtual initializer {
__ERC1155PresetMinterPauser_init(uri);
}
......@@ -112,7 +112,7 @@ contract ERC1155PresetMinterPauserUpgradeSafe is Initializable, ContextUpgradeSa
uint256[] memory amounts,
bytes memory data
)
internal virtual override(ERC1155UpgradeSafe, ERC1155PausableUpgradeSafe)
internal virtual override(ERC1155Upgradeable, ERC1155PausableUpgradeable)
{
super._beforeTokenTransfer(operator, from, to, ids, amounts, data);
}
......
......@@ -2,11 +2,11 @@
pragma solidity ^0.6.0;
import "../access/AccessControlUpgradeSafe.sol";
import "../GSN/ContextUpgradeSafe.sol";
import "../token/ERC20/ERC20UpgradeSafe.sol";
import "../token/ERC20/ERC20BurnableUpgradeSafe.sol";
import "../token/ERC20/ERC20PausableUpgradeSafe.sol";
import "../access/AccessControlUpgradeable.sol";
import "../GSN/ContextUpgradeable.sol";
import "../token/ERC20/ERC20Upgradeable.sol";
import "../token/ERC20/ERC20BurnableUpgradeable.sol";
import "../token/ERC20/ERC20PausableUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -23,7 +23,7 @@ import "../proxy/Initializable.sol";
* roles, as well as the default admin role, which will let it grant both minter
* and pauser roles to other accounts.
*/
contract ERC20PresetMinterPauserUpgradeSafe is Initializable, ContextUpgradeSafe, AccessControlUpgradeSafe, ERC20BurnableUpgradeSafe, ERC20PausableUpgradeSafe {
contract ERC20PresetMinterPauserUpgradeable is Initializable, ContextUpgradeable, AccessControlUpgradeable, ERC20BurnableUpgradeable, ERC20PausableUpgradeable {
function initialize(string memory name, string memory symbol) public virtual initializer {
__ERC20PresetMinterPauser_init(name, symbol);
}
......@@ -95,7 +95,7 @@ contract ERC20PresetMinterPauserUpgradeSafe is Initializable, ContextUpgradeSafe
_unpause();
}
function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override(ERC20UpgradeSafe, ERC20PausableUpgradeSafe) {
function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual override(ERC20Upgradeable, ERC20PausableUpgradeable) {
super._beforeTokenTransfer(from, to, amount);
}
uint256[50] private __gap;
......
......@@ -2,12 +2,12 @@
pragma solidity ^0.6.0;
import "../access/AccessControlUpgradeSafe.sol";
import "../GSN/ContextUpgradeSafe.sol";
import "../utils/CountersUpgradeSafe.sol";
import "../token/ERC721/ERC721UpgradeSafe.sol";
import "../token/ERC721/ERC721BurnableUpgradeSafe.sol";
import "../token/ERC721/ERC721PausableUpgradeSafe.sol";
import "../access/AccessControlUpgradeable.sol";
import "../GSN/ContextUpgradeable.sol";
import "../utils/CountersUpgradeable.sol";
import "../token/ERC721/ERC721Upgradeable.sol";
import "../token/ERC721/ERC721BurnableUpgradeable.sol";
import "../token/ERC721/ERC721PausableUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -25,16 +25,16 @@ import "../proxy/Initializable.sol";
* roles, as well as the default admin role, which will let it grant both minter
* and pauser roles to other accounts.
*/
contract ERC721PresetMinterPauserAutoIdUpgradeSafe is Initializable, ContextUpgradeSafe, AccessControlUpgradeSafe, ERC721BurnableUpgradeSafe, ERC721PausableUpgradeSafe {
contract ERC721PresetMinterPauserAutoIdUpgradeable is Initializable, ContextUpgradeable, AccessControlUpgradeable, ERC721BurnableUpgradeable, ERC721PausableUpgradeable {
function initialize(string memory name, string memory symbol, string memory baseURI) public virtual initializer {
__ERC721PresetMinterPauserAutoId_init(name, symbol, baseURI);
}
using CountersUpgradeSafe for CountersUpgradeSafe.Counter;
using CountersUpgradeable for CountersUpgradeable.Counter;
bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");
bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE");
CountersUpgradeSafe.Counter private _tokenIdTracker;
CountersUpgradeable.Counter private _tokenIdTracker;
/**
* @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the
......@@ -111,7 +111,7 @@ contract ERC721PresetMinterPauserAutoIdUpgradeSafe is Initializable, ContextUpgr
_unpause();
}
function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual override(ERC721UpgradeSafe, ERC721PausableUpgradeSafe) {
function _beforeTokenTransfer(address from, address to, uint256 tokenId) internal virtual override(ERC721Upgradeable, ERC721PausableUpgradeable) {
super._beforeTokenTransfer(from, to, tokenId);
}
uint256[49] private __gap;
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "./ERC1155UpgradeSafe.sol";
import "./ERC1155Upgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -11,7 +11,7 @@ import "../../proxy/Initializable.sol";
*
* _Available since v3.1._
*/
abstract contract ERC1155BurnableUpgradeSafe is Initializable, ERC1155UpgradeSafe {
abstract contract ERC1155BurnableUpgradeable is Initializable, ERC1155Upgradeable {
function __ERC1155Burnable_init() internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......
......@@ -2,13 +2,13 @@
pragma solidity ^0.6.0;
import "./ERC1155ReceiverUpgradeSafe.sol";
import "./ERC1155ReceiverUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
* @dev _Available since v3.1._
*/
contract ERC1155HolderUpgradeSafe is Initializable, ERC1155ReceiverUpgradeSafe {
contract ERC1155HolderUpgradeable is Initializable, ERC1155ReceiverUpgradeable {
function __ERC1155Holder_init() internal initializer {
__ERC165_init_unchained();
__ERC1155Receiver_init_unchained();
......
......@@ -2,8 +2,8 @@
pragma solidity ^0.6.0;
import "./ERC1155UpgradeSafe.sol";
import "../../utils/PausableUpgradeSafe.sol";
import "./ERC1155Upgradeable.sol";
import "../../utils/PausableUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -15,7 +15,7 @@ import "../../proxy/Initializable.sol";
*
* _Available since v3.1._
*/
abstract contract ERC1155PausableUpgradeSafe is Initializable, ERC1155UpgradeSafe, PausableUpgradeSafe {
abstract contract ERC1155PausableUpgradeable is Initializable, ERC1155Upgradeable, PausableUpgradeable {
function __ERC1155Pausable_init() internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......
......@@ -2,14 +2,14 @@
pragma solidity ^0.6.0;
import "./IERC1155ReceiverUpgradeSafe.sol";
import "../../introspection/ERC165UpgradeSafe.sol";
import "./IERC1155ReceiverUpgradeable.sol";
import "../../introspection/ERC165Upgradeable.sol";
import "../../proxy/Initializable.sol";
/**
* @dev _Available since v3.1._
*/
abstract contract ERC1155ReceiverUpgradeSafe is Initializable, ERC165UpgradeSafe, IERC1155ReceiverUpgradeSafe {
abstract contract ERC1155ReceiverUpgradeable is Initializable, ERC165Upgradeable, IERC1155ReceiverUpgradeable {
function __ERC1155Receiver_init() internal initializer {
__ERC165_init_unchained();
__ERC1155Receiver_init_unchained();
......@@ -17,8 +17,8 @@ abstract contract ERC1155ReceiverUpgradeSafe is Initializable, ERC165UpgradeSafe
function __ERC1155Receiver_init_unchained() internal initializer {
_registerInterface(
ERC1155ReceiverUpgradeSafe(0).onERC1155Received.selector ^
ERC1155ReceiverUpgradeSafe(0).onERC1155BatchReceived.selector
ERC1155ReceiverUpgradeable(0).onERC1155Received.selector ^
ERC1155ReceiverUpgradeable(0).onERC1155BatchReceived.selector
);
}
uint256[50] private __gap;
......
......@@ -2,13 +2,13 @@
pragma solidity ^0.6.0;
import "./IERC1155UpgradeSafe.sol";
import "./IERC1155MetadataURIUpgradeSafe.sol";
import "./IERC1155ReceiverUpgradeSafe.sol";
import "../../GSN/ContextUpgradeSafe.sol";
import "../../introspection/ERC165UpgradeSafe.sol";
import "../../math/SafeMathUpgradeSafe.sol";
import "../../utils/AddressUpgradeSafe.sol";
import "./IERC1155Upgradeable.sol";
import "./IERC1155MetadataURIUpgradeable.sol";
import "./IERC1155ReceiverUpgradeable.sol";
import "../../GSN/ContextUpgradeable.sol";
import "../../introspection/ERC165Upgradeable.sol";
import "../../math/SafeMathUpgradeable.sol";
import "../../utils/AddressUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -19,9 +19,9 @@ import "../../proxy/Initializable.sol";
*
* _Available since v3.1._
*/
contract ERC1155UpgradeSafe is Initializable, ContextUpgradeSafe, ERC165UpgradeSafe, IERC1155UpgradeSafe, IERC1155MetadataURIUpgradeSafe {
using SafeMathUpgradeSafe for uint256;
using AddressUpgradeSafe for address;
contract ERC1155Upgradeable is Initializable, ContextUpgradeable, ERC165Upgradeable, IERC1155Upgradeable, IERC1155MetadataURIUpgradeable {
using SafeMathUpgradeable for uint256;
using AddressUpgradeable for address;
// Mapping from token ID to account balances
mapping (uint256 => mapping(address => uint256)) private _balances;
......@@ -376,8 +376,8 @@ contract ERC1155UpgradeSafe is Initializable, ContextUpgradeSafe, ERC165UpgradeS
private
{
if (to.isContract()) {
try IERC1155ReceiverUpgradeSafe(to).onERC1155Received(operator, from, id, amount, data) returns (bytes4 response) {
if (response != IERC1155ReceiverUpgradeSafe(to).onERC1155Received.selector) {
try IERC1155ReceiverUpgradeable(to).onERC1155Received(operator, from, id, amount, data) returns (bytes4 response) {
if (response != IERC1155ReceiverUpgradeable(to).onERC1155Received.selector) {
revert("ERC1155: ERC1155Receiver rejected tokens");
}
} catch Error(string memory reason) {
......@@ -399,8 +399,8 @@ contract ERC1155UpgradeSafe is Initializable, ContextUpgradeSafe, ERC165UpgradeS
private
{
if (to.isContract()) {
try IERC1155ReceiverUpgradeSafe(to).onERC1155BatchReceived(operator, from, ids, amounts, data) returns (bytes4 response) {
if (response != IERC1155ReceiverUpgradeSafe(to).onERC1155BatchReceived.selector) {
try IERC1155ReceiverUpgradeable(to).onERC1155BatchReceived(operator, from, ids, amounts, data) returns (bytes4 response) {
if (response != IERC1155ReceiverUpgradeable(to).onERC1155BatchReceived.selector) {
revert("ERC1155: ERC1155Receiver rejected tokens");
}
} catch Error(string memory reason) {
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.2;
import "./IERC1155UpgradeSafe.sol";
import "./IERC1155Upgradeable.sol";
/**
* @dev Interface of the optional ERC1155MetadataExtension interface, as defined
......@@ -10,7 +10,7 @@ import "./IERC1155UpgradeSafe.sol";
*
* _Available since v3.1._
*/
interface IERC1155MetadataURIUpgradeSafe is IERC1155UpgradeSafe {
interface IERC1155MetadataURIUpgradeable is IERC1155Upgradeable {
/**
* @dev Returns the URI for token type `id`.
*
......
......@@ -2,12 +2,12 @@
pragma solidity ^0.6.0;
import "../../introspection/IERC165UpgradeSafe.sol";
import "../../introspection/IERC165Upgradeable.sol";
/**
* _Available since v3.1._
*/
interface IERC1155ReceiverUpgradeSafe is IERC165UpgradeSafe {
interface IERC1155ReceiverUpgradeable is IERC165Upgradeable {
/**
@dev Handles the receipt of a single ERC1155 token type. This function is
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.2;
import "../../introspection/IERC165UpgradeSafe.sol";
import "../../introspection/IERC165Upgradeable.sol";
/**
* @dev Required interface of an ERC1155 compliant contract, as defined in the
......@@ -10,7 +10,7 @@ import "../../introspection/IERC165UpgradeSafe.sol";
*
* _Available since v3.1._
*/
interface IERC1155UpgradeSafe is IERC165UpgradeSafe {
interface IERC1155Upgradeable is IERC165Upgradeable {
/**
* @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`.
*/
......
......@@ -2,8 +2,8 @@
pragma solidity ^0.6.0;
import "../../GSN/ContextUpgradeSafe.sol";
import "./ERC20UpgradeSafe.sol";
import "../../GSN/ContextUpgradeable.sol";
import "./ERC20Upgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -11,7 +11,7 @@ import "../../proxy/Initializable.sol";
* tokens and those that they have an allowance for, in a way that can be
* recognized off-chain (via event analysis).
*/
abstract contract ERC20BurnableUpgradeSafe is Initializable, ContextUpgradeSafe, ERC20UpgradeSafe {
abstract contract ERC20BurnableUpgradeable is Initializable, ContextUpgradeable, ERC20Upgradeable {
function __ERC20Burnable_init() internal initializer {
__Context_init_unchained();
__ERC20Burnable_init_unchained();
......
......@@ -2,13 +2,13 @@
pragma solidity ^0.6.0;
import "./ERC20UpgradeSafe.sol";
import "./ERC20Upgradeable.sol";
import "../../proxy/Initializable.sol";
/**
* @dev Extension of {ERC20} that adds a cap to the supply of tokens.
*/
abstract contract ERC20CappedUpgradeSafe is Initializable, ERC20UpgradeSafe {
abstract contract ERC20CappedUpgradeable is Initializable, ERC20Upgradeable {
uint256 private _cap;
/**
......
......@@ -2,8 +2,8 @@
pragma solidity ^0.6.0;
import "./ERC20UpgradeSafe.sol";
import "../../utils/PausableUpgradeSafe.sol";
import "./ERC20Upgradeable.sol";
import "../../utils/PausableUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -13,7 +13,7 @@ import "../../proxy/Initializable.sol";
* period, or having an emergency switch for freezing all token transfers in the
* event of a large bug.
*/
abstract contract ERC20PausableUpgradeSafe is Initializable, ERC20UpgradeSafe, PausableUpgradeSafe {
abstract contract ERC20PausableUpgradeable is Initializable, ERC20Upgradeable, PausableUpgradeable {
function __ERC20Pausable_init() internal initializer {
__Context_init_unchained();
__Pausable_init_unchained();
......
......@@ -2,10 +2,10 @@
pragma solidity ^0.6.0;
import "../../math/SafeMathUpgradeSafe.sol";
import "../../utils/ArraysUpgradeSafe.sol";
import "../../utils/CountersUpgradeSafe.sol";
import "./ERC20UpgradeSafe.sol";
import "../../math/SafeMathUpgradeable.sol";
import "../../utils/ArraysUpgradeable.sol";
import "../../utils/CountersUpgradeable.sol";
import "./ERC20Upgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -32,7 +32,7 @@ import "../../proxy/Initializable.sol";
* only significant for the first transfer that immediately follows a snapshot for a particular account. Subsequent
* transfers will have normal cost until the next snapshot, and so on.
*/
abstract contract ERC20SnapshotUpgradeSafe is Initializable, ERC20UpgradeSafe {
abstract contract ERC20SnapshotUpgradeable is Initializable, ERC20Upgradeable {
function __ERC20Snapshot_init() internal initializer {
__Context_init_unchained();
__ERC20Snapshot_init_unchained();
......@@ -43,9 +43,9 @@ abstract contract ERC20SnapshotUpgradeSafe is Initializable, ERC20UpgradeSafe {
// Inspired by Jordi Baylina's MiniMeToken to record historical balances:
// https://github.com/Giveth/minimd/blob/ea04d950eea153a04c51fa510b068b9dded390cb/contracts/MiniMeToken.sol
using SafeMathUpgradeSafe for uint256;
using ArraysUpgradeSafe for uint256[];
using CountersUpgradeSafe for CountersUpgradeSafe.Counter;
using SafeMathUpgradeable for uint256;
using ArraysUpgradeable for uint256[];
using CountersUpgradeable for CountersUpgradeable.Counter;
// Snapshotted values have arrays of ids and the value corresponding to that id. These could be an array of a
// Snapshot struct, but that would impede usage of functions that work on an array.
......@@ -58,7 +58,7 @@ abstract contract ERC20SnapshotUpgradeSafe is Initializable, ERC20UpgradeSafe {
Snapshots private _totalSupplySnapshots;
// Snapshot ids increase monotonically, with the first value being 1. An id of 0 is invalid.
CountersUpgradeSafe.Counter private _currentSnapshotId;
CountersUpgradeable.Counter private _currentSnapshotId;
/**
* @dev Emitted by {_snapshot} when a snapshot identified by `id` is created.
......
......@@ -2,9 +2,9 @@
pragma solidity ^0.6.0;
import "../../GSN/ContextUpgradeSafe.sol";
import "./IERC20UpgradeSafe.sol";
import "../../math/SafeMathUpgradeSafe.sol";
import "../../GSN/ContextUpgradeable.sol";
import "./IERC20Upgradeable.sol";
import "../../math/SafeMathUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -31,8 +31,8 @@ import "../../proxy/Initializable.sol";
* functions have been added to mitigate the well-known issues around setting
* allowances. See {IERC20-approve}.
*/
contract ERC20UpgradeSafe is Initializable, ContextUpgradeSafe, IERC20UpgradeSafe {
using SafeMathUpgradeSafe for uint256;
contract ERC20Upgradeable is Initializable, ContextUpgradeable, IERC20Upgradeable {
using SafeMathUpgradeable for uint256;
mapping (address => uint256) private _balances;
......
......@@ -5,7 +5,7 @@ pragma solidity ^0.6.0;
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20UpgradeSafe {
interface IERC20Upgradeable {
/**
* @dev Returns the amount of tokens in existence.
*/
......
......@@ -2,9 +2,9 @@
pragma solidity ^0.6.0;
import "./IERC20UpgradeSafe.sol";
import "../../math/SafeMathUpgradeSafe.sol";
import "../../utils/AddressUpgradeSafe.sol";
import "./IERC20Upgradeable.sol";
import "../../math/SafeMathUpgradeable.sol";
import "../../utils/AddressUpgradeable.sol";
/**
* @title SafeERC20
......@@ -15,15 +15,15 @@ import "../../utils/AddressUpgradeSafe.sol";
* To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract,
* which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
*/
library SafeERC20UpgradeSafe {
using SafeMathUpgradeSafe for uint256;
using AddressUpgradeSafe for address;
library SafeERC20Upgradeable {
using SafeMathUpgradeable for uint256;
using AddressUpgradeable for address;
function safeTransfer(IERC20UpgradeSafe token, address to, uint256 value) internal {
function safeTransfer(IERC20Upgradeable token, address to, uint256 value) internal {
_callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value));
}
function safeTransferFrom(IERC20UpgradeSafe token, address from, address to, uint256 value) internal {
function safeTransferFrom(IERC20Upgradeable token, address from, address to, uint256 value) internal {
_callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value));
}
......@@ -34,7 +34,7 @@ library SafeERC20UpgradeSafe {
* Whenever possible, use {safeIncreaseAllowance} and
* {safeDecreaseAllowance} instead.
*/
function safeApprove(IERC20UpgradeSafe token, address spender, uint256 value) internal {
function safeApprove(IERC20Upgradeable token, address spender, uint256 value) internal {
// safeApprove should only be called when setting an initial allowance,
// or when resetting it to zero. To increase and decrease it, use
// 'safeIncreaseAllowance' and 'safeDecreaseAllowance'
......@@ -45,12 +45,12 @@ library SafeERC20UpgradeSafe {
_callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value));
}
function safeIncreaseAllowance(IERC20UpgradeSafe token, address spender, uint256 value) internal {
function safeIncreaseAllowance(IERC20Upgradeable token, address spender, uint256 value) internal {
uint256 newAllowance = token.allowance(address(this), spender).add(value);
_callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
function safeDecreaseAllowance(IERC20UpgradeSafe token, address spender, uint256 value) internal {
function safeDecreaseAllowance(IERC20Upgradeable token, address spender, uint256 value) internal {
uint256 newAllowance = token.allowance(address(this), spender).sub(value, "SafeERC20: decreased allowance below zero");
_callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance));
}
......@@ -61,7 +61,7 @@ library SafeERC20UpgradeSafe {
* @param token The token targeted by the call.
* @param data The call data (encoded using abi.encode or one of its variants).
*/
function _callOptionalReturn(IERC20UpgradeSafe token, bytes memory data) private {
function _callOptionalReturn(IERC20Upgradeable token, bytes memory data) private {
// We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since
// we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that
// the target address contains contract code and also asserts for success in the low-level call.
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "./SafeERC20UpgradeSafe.sol";
import "./SafeERC20Upgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -12,11 +12,11 @@ import "../../proxy/Initializable.sol";
* Useful for simple vesting schedules like "advisors get all of their tokens
* after 1 year".
*/
contract TokenTimelockUpgradeSafe is Initializable {
using SafeERC20UpgradeSafe for IERC20UpgradeSafe;
contract TokenTimelockUpgradeable is Initializable {
using SafeERC20Upgradeable for IERC20Upgradeable;
// ERC20 basic token contract being held
IERC20UpgradeSafe private _token;
IERC20Upgradeable private _token;
// beneficiary of tokens after they are released
address private _beneficiary;
......@@ -24,11 +24,11 @@ contract TokenTimelockUpgradeSafe is Initializable {
// timestamp when token release is enabled
uint256 private _releaseTime;
function __TokenTimelock_init(IERC20UpgradeSafe token, address beneficiary, uint256 releaseTime) internal initializer {
function __TokenTimelock_init(IERC20Upgradeable token, address beneficiary, uint256 releaseTime) internal initializer {
__TokenTimelock_init_unchained(token, beneficiary, releaseTime);
}
function __TokenTimelock_init_unchained(IERC20UpgradeSafe token, address beneficiary, uint256 releaseTime) internal initializer {
function __TokenTimelock_init_unchained(IERC20Upgradeable token, address beneficiary, uint256 releaseTime) internal initializer {
// solhint-disable-next-line not-rely-on-time
require(releaseTime > block.timestamp, "TokenTimelock: release time is before current time");
_token = token;
......@@ -39,7 +39,7 @@ contract TokenTimelockUpgradeSafe is Initializable {
/**
* @return the token being held.
*/
function token() public view returns (IERC20UpgradeSafe) {
function token() public view returns (IERC20Upgradeable) {
return _token;
}
......
......@@ -2,15 +2,15 @@
pragma solidity ^0.6.0;
import "../../GSN/ContextUpgradeSafe.sol";
import "./ERC721UpgradeSafe.sol";
import "../../GSN/ContextUpgradeable.sol";
import "./ERC721Upgradeable.sol";
import "../../proxy/Initializable.sol";
/**
* @title ERC721 Burnable Token
* @dev ERC721 Token that can be irreversibly burned (destroyed).
*/
abstract contract ERC721BurnableUpgradeSafe is Initializable, ContextUpgradeSafe, ERC721UpgradeSafe {
abstract contract ERC721BurnableUpgradeable is Initializable, ContextUpgradeable, ERC721Upgradeable {
function __ERC721Burnable_init() internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "./IERC721ReceiverUpgradeSafe.sol";
import "./IERC721ReceiverUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -11,7 +11,7 @@ import "../../proxy/Initializable.sol";
* Accepts all token transfers.
* Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.
*/
contract ERC721HolderUpgradeSafe is Initializable, IERC721ReceiverUpgradeSafe {
contract ERC721HolderUpgradeable is Initializable, IERC721ReceiverUpgradeable {
function __ERC721Holder_init() internal initializer {
__ERC721Holder_init_unchained();
}
......
......@@ -2,8 +2,8 @@
pragma solidity ^0.6.0;
import "./ERC721UpgradeSafe.sol";
import "../../utils/PausableUpgradeSafe.sol";
import "./ERC721Upgradeable.sol";
import "../../utils/PausableUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -13,7 +13,7 @@ import "../../proxy/Initializable.sol";
* period, or having an emergency switch for freezing all token transfers in the
* event of a large bug.
*/
abstract contract ERC721PausableUpgradeSafe is Initializable, ERC721UpgradeSafe, PausableUpgradeSafe {
abstract contract ERC721PausableUpgradeable is Initializable, ERC721Upgradeable, PausableUpgradeable {
function __ERC721Pausable_init() internal initializer {
__Context_init_unchained();
__ERC165_init_unchained();
......
......@@ -2,39 +2,39 @@
pragma solidity ^0.6.0;
import "../../GSN/ContextUpgradeSafe.sol";
import "./IERC721UpgradeSafe.sol";
import "./IERC721MetadataUpgradeSafe.sol";
import "./IERC721EnumerableUpgradeSafe.sol";
import "./IERC721ReceiverUpgradeSafe.sol";
import "../../introspection/ERC165UpgradeSafe.sol";
import "../../math/SafeMathUpgradeSafe.sol";
import "../../utils/AddressUpgradeSafe.sol";
import "../../utils/EnumerableSetUpgradeSafe.sol";
import "../../utils/EnumerableMapUpgradeSafe.sol";
import "../../utils/StringsUpgradeSafe.sol";
import "../../GSN/ContextUpgradeable.sol";
import "./IERC721Upgradeable.sol";
import "./IERC721MetadataUpgradeable.sol";
import "./IERC721EnumerableUpgradeable.sol";
import "./IERC721ReceiverUpgradeable.sol";
import "../../introspection/ERC165Upgradeable.sol";
import "../../math/SafeMathUpgradeable.sol";
import "../../utils/AddressUpgradeable.sol";
import "../../utils/EnumerableSetUpgradeable.sol";
import "../../utils/EnumerableMapUpgradeable.sol";
import "../../utils/StringsUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
* @title ERC721 Non-Fungible Token Standard basic implementation
* @dev see https://eips.ethereum.org/EIPS/eip-721
*/
contract ERC721UpgradeSafe is Initializable, ContextUpgradeSafe, ERC165UpgradeSafe, IERC721UpgradeSafe, IERC721MetadataUpgradeSafe, IERC721EnumerableUpgradeSafe {
using SafeMathUpgradeSafe for uint256;
using AddressUpgradeSafe for address;
using EnumerableSetUpgradeSafe for EnumerableSetUpgradeSafe.UintSet;
using EnumerableMapUpgradeSafe for EnumerableMapUpgradeSafe.UintToAddressMap;
using StringsUpgradeSafe for uint256;
contract ERC721Upgradeable is Initializable, ContextUpgradeable, ERC165Upgradeable, IERC721Upgradeable, IERC721MetadataUpgradeable, IERC721EnumerableUpgradeable {
using SafeMathUpgradeable for uint256;
using AddressUpgradeable for address;
using EnumerableSetUpgradeable for EnumerableSetUpgradeable.UintSet;
using EnumerableMapUpgradeable for EnumerableMapUpgradeable.UintToAddressMap;
using StringsUpgradeable for uint256;
// Equals to `bytes4(keccak256("onERC721Received(address,address,uint256,bytes)"))`
// which can be also obtained as `IERC721Receiver(0).onERC721Received.selector`
bytes4 private constant _ERC721_RECEIVED = 0x150b7a02;
// Mapping from holder address to their (enumerable) set of owned tokens
mapping (address => EnumerableSetUpgradeSafe.UintSet) private _holderTokens;
mapping (address => EnumerableSetUpgradeable.UintSet) private _holderTokens;
// Enumerable mapping from token ids to their owners
EnumerableMapUpgradeSafe.UintToAddressMap private _tokenOwners;
EnumerableMapUpgradeable.UintToAddressMap private _tokenOwners;
// Mapping from token ID to approved address
mapping (uint256 => address) private _tokenApprovals;
......@@ -446,7 +446,7 @@ contract ERC721UpgradeSafe is Initializable, ContextUpgradeSafe, ERC165UpgradeSa
return true;
}
bytes memory returndata = to.functionCall(abi.encodeWithSelector(
IERC721ReceiverUpgradeSafe(to).onERC721Received.selector,
IERC721ReceiverUpgradeable(to).onERC721Received.selector,
_msgSender(),
from,
tokenId,
......
......@@ -2,13 +2,13 @@
pragma solidity ^0.6.2;
import "./IERC721UpgradeSafe.sol";
import "./IERC721Upgradeable.sol";
/**
* @title ERC-721 Non-Fungible Token Standard, optional enumeration extension
* @dev See https://eips.ethereum.org/EIPS/eip-721
*/
interface IERC721EnumerableUpgradeSafe is IERC721UpgradeSafe {
interface IERC721EnumerableUpgradeable is IERC721Upgradeable {
/**
* @dev Returns the total amount of tokens stored by the contract.
......
......@@ -2,13 +2,13 @@
pragma solidity ^0.6.2;
import "./IERC721UpgradeSafe.sol";
import "./IERC721Upgradeable.sol";
/**
* @title ERC-721 Non-Fungible Token Standard, optional metadata extension
* @dev See https://eips.ethereum.org/EIPS/eip-721
*/
interface IERC721MetadataUpgradeSafe is IERC721UpgradeSafe {
interface IERC721MetadataUpgradeable is IERC721Upgradeable {
/**
* @dev Returns the token collection name.
......
......@@ -7,7 +7,7 @@ pragma solidity ^0.6.0;
* @dev Interface for any contract that wants to support safeTransfers
* from ERC721 asset contracts.
*/
interface IERC721ReceiverUpgradeSafe {
interface IERC721ReceiverUpgradeable {
/**
* @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom}
* by `operator` from `from`, this function is called.
......
......@@ -2,12 +2,12 @@
pragma solidity ^0.6.2;
import "../../introspection/IERC165UpgradeSafe.sol";
import "../../introspection/IERC165Upgradeable.sol";
/**
* @dev Required interface of an ERC721 compliant contract.
*/
interface IERC721UpgradeSafe is IERC165UpgradeSafe {
interface IERC721Upgradeable is IERC165Upgradeable {
/**
* @dev Emitted when `tokenId` token is transferred from `from` to `to`.
*/
......
......@@ -2,14 +2,14 @@
pragma solidity ^0.6.0;
import "../../GSN/ContextUpgradeSafe.sol";
import "./IERC777UpgradeSafe.sol";
import "./IERC777RecipientUpgradeSafe.sol";
import "./IERC777SenderUpgradeSafe.sol";
import "../../token/ERC20/IERC20UpgradeSafe.sol";
import "../../math/SafeMathUpgradeSafe.sol";
import "../../utils/AddressUpgradeSafe.sol";
import "../../introspection/IERC1820RegistryUpgradeSafe.sol";
import "../../GSN/ContextUpgradeable.sol";
import "./IERC777Upgradeable.sol";
import "./IERC777RecipientUpgradeable.sol";
import "./IERC777SenderUpgradeable.sol";
import "../../token/ERC20/IERC20Upgradeable.sol";
import "../../math/SafeMathUpgradeable.sol";
import "../../utils/AddressUpgradeable.sol";
import "../../introspection/IERC1820RegistryUpgradeable.sol";
import "../../proxy/Initializable.sol";
/**
......@@ -27,11 +27,11 @@ import "../../proxy/Initializable.sol";
* are no special restrictions in the amount of tokens that created, moved, or
* destroyed. This makes integration with ERC20 applications seamless.
*/
contract ERC777UpgradeSafe is Initializable, ContextUpgradeSafe, IERC777UpgradeSafe, IERC20UpgradeSafe {
using SafeMathUpgradeSafe for uint256;
using AddressUpgradeSafe for address;
contract ERC777Upgradeable is Initializable, ContextUpgradeable, IERC777Upgradeable, IERC20Upgradeable {
using SafeMathUpgradeable for uint256;
using AddressUpgradeable for address;
IERC1820RegistryUpgradeSafe constant internal _ERC1820_REGISTRY = IERC1820RegistryUpgradeSafe(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);
IERC1820RegistryUpgradeable constant internal _ERC1820_REGISTRY = IERC1820RegistryUpgradeable(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24);
mapping(address => uint256) private _balances;
......@@ -130,14 +130,14 @@ contract ERC777UpgradeSafe is Initializable, ContextUpgradeSafe, IERC777UpgradeS
/**
* @dev See {IERC777-totalSupply}.
*/
function totalSupply() public view override(IERC20UpgradeSafe, IERC777UpgradeSafe) returns (uint256) {
function totalSupply() public view override(IERC20Upgradeable, IERC777Upgradeable) returns (uint256) {
return _totalSupply;
}
/**
* @dev Returns the amount of tokens owned by an account (`tokenHolder`).
*/
function balanceOf(address tokenHolder) public view override(IERC20UpgradeSafe, IERC777UpgradeSafe) returns (uint256) {
function balanceOf(address tokenHolder) public view override(IERC20Upgradeable, IERC777Upgradeable) returns (uint256) {
return _balances[tokenHolder];
}
......@@ -461,7 +461,7 @@ contract ERC777UpgradeSafe is Initializable, ContextUpgradeSafe, IERC777UpgradeS
{
address implementer = _ERC1820_REGISTRY.getInterfaceImplementer(from, _TOKENS_SENDER_INTERFACE_HASH);
if (implementer != address(0)) {
IERC777SenderUpgradeSafe(implementer).tokensToSend(operator, from, to, amount, userData, operatorData);
IERC777SenderUpgradeable(implementer).tokensToSend(operator, from, to, amount, userData, operatorData);
}
}
......@@ -489,7 +489,7 @@ contract ERC777UpgradeSafe is Initializable, ContextUpgradeSafe, IERC777UpgradeS
{
address implementer = _ERC1820_REGISTRY.getInterfaceImplementer(to, _TOKENS_RECIPIENT_INTERFACE_HASH);
if (implementer != address(0)) {
IERC777RecipientUpgradeSafe(implementer).tokensReceived(operator, from, to, amount, userData, operatorData);
IERC777RecipientUpgradeable(implementer).tokensReceived(operator, from, to, amount, userData, operatorData);
} else if (requireReceptionAck) {
require(!to.isContract(), "ERC777: token recipient contract has no implementer for ERC777TokensRecipient");
}
......
......@@ -12,7 +12,7 @@ pragma solidity ^0.6.0;
*
* See {IERC1820Registry} and {ERC1820Implementer}.
*/
interface IERC777RecipientUpgradeSafe {
interface IERC777RecipientUpgradeable {
/**
* @dev Called by an {IERC777} token contract whenever tokens are being
* moved or created into a registered account (`to`). The type of operation
......
......@@ -12,7 +12,7 @@ pragma solidity ^0.6.0;
*
* See {IERC1820Registry} and {ERC1820Implementer}.
*/
interface IERC777SenderUpgradeSafe {
interface IERC777SenderUpgradeable {
/**
* @dev Called by an {IERC777} token contract whenever a registered holder's
* (`from`) tokens are about to be moved or destroyed. The type of operation
......
......@@ -11,7 +11,7 @@ pragma solidity ^0.6.0;
* for the associated interfaces in said registry. See {IERC1820Registry} and
* {ERC1820Implementer}.
*/
interface IERC777UpgradeSafe {
interface IERC777Upgradeable {
/**
* @dev Returns the name of the token.
*/
......
......@@ -5,7 +5,7 @@ pragma solidity ^0.6.2;
/**
* @dev Collection of functions related to the address type
*/
library AddressUpgradeSafe {
library AddressUpgradeable {
/**
* @dev Returns true if `account` is a contract.
*
......
......@@ -2,12 +2,12 @@
pragma solidity ^0.6.0;
import "../math/MathUpgradeSafe.sol";
import "../math/MathUpgradeable.sol";
/**
* @dev Collection of functions related to array types.
*/
library ArraysUpgradeSafe {
library ArraysUpgradeable {
/**
* @dev Searches a sorted `array` and returns the first index that contains
* a value greater or equal to `element`. If no such index exists (i.e. all
......@@ -26,7 +26,7 @@ library ArraysUpgradeSafe {
uint256 high = array.length;
while (low < high) {
uint256 mid = MathUpgradeSafe.average(low, high);
uint256 mid = MathUpgradeable.average(low, high);
// Note that mid will always be strictly less than high (i.e. it will be a valid array index)
// because Math.average rounds down (it does integer division with truncation).
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "../math/SafeMathUpgradeSafe.sol";
import "../math/SafeMathUpgradeable.sol";
/**
* @title Counters
......@@ -15,8 +15,8 @@ import "../math/SafeMathUpgradeSafe.sol";
* overflow check, thereby saving gas. This does assume however correct usage, in that the underlying `_value` is never
* directly accessed.
*/
library CountersUpgradeSafe {
using SafeMathUpgradeSafe for uint256;
library CountersUpgradeable {
using SafeMathUpgradeable for uint256;
struct Counter {
// This variable should never be directly accessed by users of the library: interactions must be restricted to
......
......@@ -11,7 +11,7 @@ pragma solidity ^0.6.0;
* See the https://eips.ethereum.org/EIPS/eip-1014#motivation[EIP] for more
* information.
*/
library Create2UpgradeSafe {
library Create2Upgradeable {
/**
* @dev Deploys a contract using `CREATE2`. The address where the contract
* will be deployed can be known in advance via {computeAddress}.
......
......@@ -26,7 +26,7 @@ pragma solidity ^0.6.0;
* As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are
* supported.
*/
library EnumerableMapUpgradeSafe {
library EnumerableMapUpgradeable {
// To implement this library for multiple types with as little code
// repetition as possible, we write it in terms of a generic Map type with
// bytes32 keys and values.
......
......@@ -26,7 +26,7 @@ pragma solidity ^0.6.0;
* As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`)
* and `uint256` (`UintSet`) are supported.
*/
library EnumerableSetUpgradeSafe {
library EnumerableSetUpgradeable {
// To implement this library for multiple types with as little code
// repetition as possible, we write it in terms of a generic Set type with
// bytes32 values.
......
......@@ -2,7 +2,7 @@
pragma solidity ^0.6.0;
import "../GSN/ContextUpgradeSafe.sol";
import "../GSN/ContextUpgradeable.sol";
import "../proxy/Initializable.sol";
/**
......@@ -14,7 +14,7 @@ import "../proxy/Initializable.sol";
* the functions of your contract. Note that they will not be pausable by
* simply including this module, only once the modifiers are put in place.
*/
contract PausableUpgradeSafe is Initializable, ContextUpgradeSafe {
contract PausableUpgradeable is Initializable, ContextUpgradeable {
/**
* @dev Emitted when the pause is triggered by `account`.
*/
......
......@@ -19,7 +19,7 @@ import "../proxy/Initializable.sol";
* to protect against it, check out our blog post
* https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul].
*/
contract ReentrancyGuardUpgradeSafe is Initializable {
contract ReentrancyGuardUpgradeable is Initializable {
// Booleans are more expensive than uint256 or any type that takes up a full
// word because each write operation emits an extra SLOAD to first read the
// slot's contents, replace the bits taken up by the boolean, and then write
......
......@@ -18,7 +18,7 @@ pragma solidity ^0.6.0;
* Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing
* all math on `uint256` and `int256` and then downcasting.
*/
library SafeCastUpgradeSafe {
library SafeCastUpgradeable {
/**
* @dev Returns the downcasted uint128 from uint256, reverting on
......
......@@ -5,7 +5,7 @@ pragma solidity ^0.6.0;
/**
* @dev String operations.
*/
library StringsUpgradeSafe {
library StringsUpgradeable {
/**
* @dev Converts a `uint256` to its ASCII `string` representation.
*/
......
* xref:index.adoc[Overview]
* xref:extending-contracts.adoc[Extending Contracts]
* xref:upgrade-safe.adoc[Using with Upgrades]
* xref:upgradeable.adoc[Using with Upgrades]
* xref:releases-stability.adoc[Releases & Stability]
......
= Using with Upgrades
If your contract is going to be deployed with upgradeability, such as using the xref:upgrades-plugins::index.adoc[OpenZeppelin Upgrades Plugins], you will need to use the Upgrade Safe variant of OpenZeppelin Contracts.
If your contract is going to be deployed with upgradeability, such as using the xref:upgrades-plugins::index.adoc[OpenZeppelin Upgrades Plugins], you will need to use the Upgradeable variant of OpenZeppelin Contracts.
This variant is available as a separate package called `@openzeppelin/contracts-upgrade-safe`, which is hosted in the repository https://github.com/OpenZeppelin/openzeppelin-contracts-upgrade-safe[OpenZeppelin/openzeppelin-contracts-upgrade-safe].
This variant is available as a separate package called `@openzeppelin/contracts-upgradeable`, which is hosted in the repository https://github.com/OpenZeppelin/openzeppelin-contracts-upgradeable[OpenZeppelin/openzeppelin-contracts-upgradeable].
It follows all of the rules for xref:upgrades-plugins::writing-upgradeable.adoc[Writing Upgradeable Contracts]: constructors are replaced by initializer functions, state variables are initialized in initializer functions, and we additionally check for storage incompatibilities across minor versions.
......@@ -11,19 +11,19 @@ It follows all of the rules for xref:upgrades-plugins::writing-upgradeable.adoc[
=== Installation
```console
$ npm install @openzeppelin/contracts-upgrade-safe
$ npm install @openzeppelin/contracts-upgradeable
```
=== Usage
The package replicates the structure of the main OpenZeppelin Contracts package, but every file and contract has the suffix `UpgradeSafe`.
The package replicates the structure of the main OpenZeppelin Contracts package, but every file and contract has the suffix `Upgradeable`.
```diff
-import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
+import "@openzeppelin/contracts-upgrade-safe/token/ERC721/ERC721UpgradeSafe.sol";
+import "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol";
-contract MyCollectible is ERC721 {
+contract MyCollectible is ERC721UpgradeSafe {
+contract MyCollectible is ERC721Upgradeable {
```
Constructors are replaced by internal initializer functions following the naming convention `+__{ContractName}_init+`. Since these are internal, you must always define your own public initializer function and call the parent initializer of the contract you extend.
......@@ -66,6 +66,6 @@ The function `+__{ContractName}_init_unchained+` found in every contract is the
=== Storage Gaps
You may notice that every contract includes a state variable named `+__gap+`. This is empty reserved space in storage that is put in place in Upgrade Safe contracts. It allows us to freely add new state variables in the future without compromising the storage compatibility with existing deployments.
You may notice that every contract includes a state variable named `+__gap+`. This is empty reserved space in storage that is put in place in Upgradeable contracts. It allows us to freely add new state variables in the future without compromising the storage compatibility with existing deployments.
It isn't safe to simply add a state variable because it "shifts down" all of the state variables below in the inheritance chain. This makes the storage layouts incompatible, as explained in xref:upgrades-plugins::writing-upgradeable.adoc#modifying-your-contracts[Writing Upgradeable Contracts]. The size of the `+__gap+` array is calculated so that the amount of storage used by a contract always adds up to the same number (in this case 50 storage slots).
......@@ -12,7 +12,7 @@ set -x
target="$1"
base="${2-}"
bash scripts/upgrade-safe/transpile.sh
bash scripts/upgradeable/transpile.sh
commit="$(git rev-parse --short HEAD)"
branch="$(git rev-parse --abbrev-ref HEAD)"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment