Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
O
openzeppelin-contracts-upgradeable
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
俞永鹏
openzeppelin-contracts-upgradeable
Commits
14dd3f66
Commit
14dd3f66
authored
Oct 05, 2018
by
Nicolás Venturo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added sender parameter to initializers using msg.sender.
parent
716efc4b
Show whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
79 additions
and
79 deletions
+79
-79
CapperRole.sol
contracts/access/roles/CapperRole.sol
+3
-3
MinterRole.sol
contracts/access/roles/MinterRole.sol
+3
-3
PauserRole.sol
contracts/access/roles/PauserRole.sol
+3
-3
SignerRole.sol
contracts/access/roles/SignerRole.sol
+3
-3
RefundableCrowdsale.sol
contracts/crowdsale/distribution/RefundableCrowdsale.sol
+1
-1
IndividuallyCappedCrowdsale.sol
...acts/crowdsale/validation/IndividuallyCappedCrowdsale.sol
+2
-2
BreakInvariantBounty.sol
contracts/drafts/BreakInvariantBounty.sol
+2
-2
SignatureBouncer.sol
contracts/drafts/SignatureBouncer.sol
+2
-2
TokenVesting.sol
contracts/drafts/TokenVesting.sol
+3
-2
SampleCrowdsale.sol
contracts/examples/SampleCrowdsale.sol
+2
-2
SimpleToken.sol
contracts/examples/SimpleToken.sol
+3
-3
Pausable.sol
contracts/lifecycle/Pausable.sol
+2
-2
BreakInvariantBountyMock.sol
contracts/mocks/BreakInvariantBountyMock.sol
+1
-1
CapperRoleMock.sol
contracts/mocks/CapperRoleMock.sol
+1
-1
ConditionalEscrowMock.sol
contracts/mocks/ConditionalEscrowMock.sol
+1
-1
ERC20CappedMock.sol
contracts/mocks/ERC20CappedMock.sol
+1
-1
ERC20MintableMock.sol
contracts/mocks/ERC20MintableMock.sol
+1
-2
ERC20PausableMock.sol
contracts/mocks/ERC20PausableMock.sol
+1
-1
ERC721FullMock.sol
contracts/mocks/ERC721FullMock.sol
+2
-1
ERC721MintableBurnableImpl.sol
contracts/mocks/ERC721MintableBurnableImpl.sol
+2
-2
ERC721PausableMock.sol
contracts/mocks/ERC721PausableMock.sol
+1
-1
EscrowMock.sol
contracts/mocks/EscrowMock.sol
+1
-1
IndividuallyCappedCrowdsaleImpl.sol
contracts/mocks/IndividuallyCappedCrowdsaleImpl.sol
+1
-1
MinterRoleMock.sol
contracts/mocks/MinterRoleMock.sol
+1
-1
OwnableMock.sol
contracts/mocks/OwnableMock.sol
+1
-2
PausableMock.sol
contracts/mocks/PausableMock.sol
+1
-1
PauserRoleMock.sol
contracts/mocks/PauserRoleMock.sol
+1
-1
RefundEscrowMock.sol
contracts/mocks/RefundEscrowMock.sol
+1
-1
SampleCrowdsaleMock.sol
contracts/mocks/SampleCrowdsaleMock.sol
+1
-1
SecondaryMock.sol
contracts/mocks/SecondaryMock.sol
+1
-1
SignatureBouncerMock.sol
contracts/mocks/SignatureBouncerMock.sol
+1
-1
SignerRoleMock.sol
contracts/mocks/SignerRoleMock.sol
+1
-1
SimpleTokenMock.sol
contracts/mocks/SimpleTokenMock.sol
+1
-1
TokenVestingMock.sol
contracts/mocks/TokenVestingMock.sol
+2
-1
Ownable.sol
contracts/ownership/Ownable.sol
+2
-2
Secondary.sol
contracts/ownership/Secondary.sol
+2
-2
ConditionalEscrow.sol
contracts/payment/ConditionalEscrow.sol
+2
-2
Escrow.sol
contracts/payment/Escrow.sol
+2
-2
PullPayment.sol
contracts/payment/PullPayment.sol
+1
-1
RefundEscrow.sol
contracts/payment/RefundEscrow.sol
+2
-3
ERC20Capped.sol
contracts/token/ERC20/ERC20Capped.sol
+2
-2
ERC20Mintable.sol
contracts/token/ERC20/ERC20Mintable.sol
+2
-2
ERC20Pausable.sol
contracts/token/ERC20/ERC20Pausable.sol
+2
-2
ERC721MetadataMintable.sol
contracts/token/ERC721/ERC721MetadataMintable.sol
+2
-2
ERC721Mintable.sol
contracts/token/ERC721/ERC721Mintable.sol
+2
-2
ERC721Pausable.sol
contracts/token/ERC721/ERC721Pausable.sol
+2
-2
Ownable.test.js
test/ownership/Ownable.test.js
+2
-2
No files found.
contracts/access/roles/CapperRole.sol
View file @
14dd3f66
...
@@ -12,9 +12,9 @@ contract CapperRole is Initializable {
...
@@ -12,9 +12,9 @@ contract CapperRole is Initializable {
Roles.Role private cappers;
Roles.Role private cappers;
function initialize() public initializer {
function initialize(
address sender
) public initializer {
if (!isCapper(
msg.
sender)) {
if (!isCapper(sender)) {
_addCapper(
msg.
sender);
_addCapper(sender);
}
}
}
}
...
...
contracts/access/roles/MinterRole.sol
View file @
14dd3f66
...
@@ -12,9 +12,9 @@ contract MinterRole is Initializable {
...
@@ -12,9 +12,9 @@ contract MinterRole is Initializable {
Roles.Role private minters;
Roles.Role private minters;
function initialize() public initializer {
function initialize(
address sender
) public initializer {
if (!isMinter(
msg.
sender)) {
if (!isMinter(sender)) {
_addMinter(
msg.
sender);
_addMinter(sender);
}
}
}
}
...
...
contracts/access/roles/PauserRole.sol
View file @
14dd3f66
...
@@ -12,9 +12,9 @@ contract PauserRole is Initializable {
...
@@ -12,9 +12,9 @@ contract PauserRole is Initializable {
Roles.Role private pausers;
Roles.Role private pausers;
function initialize() public initializer {
function initialize(
address sender
) public initializer {
if (!isPauser(
msg.
sender)) {
if (!isPauser(sender)) {
_addPauser(
msg.
sender);
_addPauser(sender);
}
}
}
}
...
...
contracts/access/roles/SignerRole.sol
View file @
14dd3f66
...
@@ -12,9 +12,9 @@ contract SignerRole is Initializable {
...
@@ -12,9 +12,9 @@ contract SignerRole is Initializable {
Roles.Role private signers;
Roles.Role private signers;
function initialize() public initializer {
function initialize(
address sender
) public initializer {
if (!isSigner(
msg.
sender)) {
if (!isSigner(sender)) {
_addSigner(
msg.
sender);
_addSigner(sender);
}
}
}
}
...
...
contracts/crowdsale/distribution/RefundableCrowdsale.sol
View file @
14dd3f66
...
@@ -31,7 +31,7 @@ contract RefundableCrowdsale is Initializable, FinalizableCrowdsale {
...
@@ -31,7 +31,7 @@ contract RefundableCrowdsale is Initializable, FinalizableCrowdsale {
// conditional added to make initializer idempotent in case of diamond inheritance
// conditional added to make initializer idempotent in case of diamond inheritance
if (address(_escrow) == address(0)) {
if (address(_escrow) == address(0)) {
_escrow = new RefundEscrow();
_escrow = new RefundEscrow();
_escrow.initialize(wallet());
_escrow.initialize(wallet()
, address(this)
);
}
}
_goal = goal;
_goal = goal;
...
...
contracts/crowdsale/validation/IndividuallyCappedCrowdsale.sol
View file @
14dd3f66
...
@@ -16,8 +16,8 @@ contract IndividuallyCappedCrowdsale is Initializable, Crowdsale, CapperRole {
...
@@ -16,8 +16,8 @@ contract IndividuallyCappedCrowdsale is Initializable, Crowdsale, CapperRole {
mapping(address => uint256) private _contributions;
mapping(address => uint256) private _contributions;
mapping(address => uint256) private _caps;
mapping(address => uint256) private _caps;
function initialize() public initializer {
function initialize(
address sender
) public initializer {
CapperRole.initialize();
CapperRole.initialize(
sender
);
}
}
/**
/**
...
...
contracts/drafts/BreakInvariantBounty.sol
View file @
14dd3f66
...
@@ -16,9 +16,9 @@ contract BreakInvariantBounty is Initializable, PullPayment, Ownable {
...
@@ -16,9 +16,9 @@ contract BreakInvariantBounty is Initializable, PullPayment, Ownable {
event TargetCreated(address createdAddress);
event TargetCreated(address createdAddress);
function initialize() public initializer {
function initialize(
address sender
) public initializer {
PullPayment.initialize();
PullPayment.initialize();
Ownable.initialize();
Ownable.initialize(
sender
);
}
}
/**
/**
...
...
contracts/drafts/SignatureBouncer.sol
View file @
14dd3f66
...
@@ -65,8 +65,8 @@ contract SignatureBouncer is Initializable, SignerRole {
...
@@ -65,8 +65,8 @@ contract SignatureBouncer is Initializable, SignerRole {
_;
_;
}
}
function initialize() public initializer {
function initialize(
address sender
) public initializer {
SignerRole.initialize();
SignerRole.initialize(
sender
);
}
}
/**
/**
...
...
contracts/drafts/TokenVesting.sol
View file @
14dd3f66
...
@@ -48,12 +48,13 @@ contract TokenVesting is Initializable, Ownable {
...
@@ -48,12 +48,13 @@ contract TokenVesting is Initializable, Ownable {
uint256 start,
uint256 start,
uint256 cliffDuration,
uint256 cliffDuration,
uint256 duration,
uint256 duration,
bool revocable
bool revocable,
address sender
)
)
public
public
initializer
initializer
{
{
Ownable.initialize();
Ownable.initialize(
sender
);
require(beneficiary != address(0));
require(beneficiary != address(0));
require(cliffDuration <= duration);
require(cliffDuration <= duration);
...
...
contracts/examples/SampleCrowdsale.sol
View file @
14dd3f66
...
@@ -18,8 +18,8 @@ contract SampleCrowdsaleToken is Initializable, ERC20Mintable {
...
@@ -18,8 +18,8 @@ contract SampleCrowdsaleToken is Initializable, ERC20Mintable {
string public symbol;
string public symbol;
uint8 public decimals;
uint8 public decimals;
function initialize() public initializer {
function initialize(
address sender
) public initializer {
ERC20Mintable.initialize();
ERC20Mintable.initialize(
sender
);
name = "Sample Crowdsale Token";
name = "Sample Crowdsale Token";
symbol = "SCT";
symbol = "SCT";
...
...
contracts/examples/SimpleToken.sol
View file @
14dd3f66
...
@@ -20,10 +20,10 @@ contract SimpleToken is Initializable, ERC20 {
...
@@ -20,10 +20,10 @@ contract SimpleToken is Initializable, ERC20 {
uint256 public constant INITIAL_SUPPLY = 10000 * (10 ** uint256(decimals));
uint256 public constant INITIAL_SUPPLY = 10000 * (10 ** uint256(decimals));
/**
/**
* @dev Constructor that gives
msg.
sender all of existing tokens.
* @dev Constructor that gives sender all of existing tokens.
*/
*/
function initialize() public initializer {
function initialize(
address sender
) public initializer {
_mint(
msg.
sender, INITIAL_SUPPLY);
_mint(sender, INITIAL_SUPPLY);
}
}
}
}
contracts/lifecycle/Pausable.sol
View file @
14dd3f66
...
@@ -14,8 +14,8 @@ contract Pausable is Initializable, PauserRole {
...
@@ -14,8 +14,8 @@ contract Pausable is Initializable, PauserRole {
bool private _paused = false;
bool private _paused = false;
function initialize() public initializer {
function initialize(
address sender
) public initializer {
PauserRole.initialize();
PauserRole.initialize(
sender
);
}
}
/**
/**
...
...
contracts/mocks/BreakInvariantBountyMock.sol
View file @
14dd3f66
...
@@ -24,7 +24,7 @@ contract TargetMock is Target {
...
@@ -24,7 +24,7 @@ contract TargetMock is Target {
contract BreakInvariantBountyMock is BreakInvariantBounty {
contract BreakInvariantBountyMock is BreakInvariantBounty {
constructor() public {
constructor() public {
BreakInvariantBounty.initialize();
BreakInvariantBounty.initialize(
msg.sender
);
}
}
function _deployContract() internal returns (address) {
function _deployContract() internal returns (address) {
...
...
contracts/mocks/CapperRoleMock.sol
View file @
14dd3f66
...
@@ -5,7 +5,7 @@ import "../access/roles/CapperRole.sol";
...
@@ -5,7 +5,7 @@ import "../access/roles/CapperRole.sol";
contract CapperRoleMock is CapperRole {
contract CapperRoleMock is CapperRole {
constructor() public {
constructor() public {
CapperRole.initialize();
CapperRole.initialize(
msg.sender
);
}
}
function removeCapper(address account) public {
function removeCapper(address account) public {
...
...
contracts/mocks/ConditionalEscrowMock.sol
View file @
14dd3f66
...
@@ -8,7 +8,7 @@ contract ConditionalEscrowMock is ConditionalEscrow {
...
@@ -8,7 +8,7 @@ contract ConditionalEscrowMock is ConditionalEscrow {
mapping(address => bool) private _allowed;
mapping(address => bool) private _allowed;
constructor() public {
constructor() public {
ConditionalEscrow.initialize();
ConditionalEscrow.initialize(
msg.sender
);
}
}
function setAllowed(address payee, bool allowed) public {
function setAllowed(address payee, bool allowed) public {
...
...
contracts/mocks/ERC20CappedMock.sol
View file @
14dd3f66
...
@@ -7,7 +7,7 @@ import "./MinterRoleMock.sol";
...
@@ -7,7 +7,7 @@ import "./MinterRoleMock.sol";
contract ERC20CappedMock is ERC20Capped, MinterRoleMock {
contract ERC20CappedMock is ERC20Capped, MinterRoleMock {
constructor(uint256 cap) public {
constructor(uint256 cap) public {
ERC20Capped.initialize(cap);
ERC20Capped.initialize(cap
, msg.sender
);
}
}
}
}
contracts/mocks/ERC20MintableMock.sol
View file @
14dd3f66
...
@@ -7,7 +7,6 @@ import "./MinterRoleMock.sol";
...
@@ -7,7 +7,6 @@ import "./MinterRoleMock.sol";
contract ERC20MintableMock is ERC20Mintable, MinterRoleMock {
contract ERC20MintableMock is ERC20Mintable, MinterRoleMock {
constructor() public {
constructor() public {
ERC20Mintable.initialize();
ERC20Mintable.initialize(
msg.sender
);
}
}
}
}
contracts/mocks/ERC20PausableMock.sol
View file @
14dd3f66
...
@@ -8,7 +8,7 @@ import "./PauserRoleMock.sol";
...
@@ -8,7 +8,7 @@ import "./PauserRoleMock.sol";
contract ERC20PausableMock is ERC20Pausable, PauserRoleMock {
contract ERC20PausableMock is ERC20Pausable, PauserRoleMock {
constructor(address initialAccount, uint initialBalance) public {
constructor(address initialAccount, uint initialBalance) public {
ERC20Pausable.initialize();
ERC20Pausable.initialize(
msg.sender
);
_mint(initialAccount, initialBalance);
_mint(initialAccount, initialBalance);
}
}
...
...
contracts/mocks/ERC721FullMock.sol
View file @
14dd3f66
...
@@ -15,7 +15,8 @@ contract ERC721FullMock is ERC721Full, ERC721Mintable, ERC721MetadataMintable, E
...
@@ -15,7 +15,8 @@ contract ERC721FullMock is ERC721Full, ERC721Mintable, ERC721MetadataMintable, E
constructor(string name, string symbol) public
constructor(string name, string symbol) public
{
{
ERC721Full.initialize(name, symbol);
ERC721Full.initialize(name, symbol);
ERC721Mintable.initialize();
ERC721Mintable.initialize(msg.sender);
ERC721MetadataMintable.initialize(msg.sender);
ERC721Burnable.initialize();
ERC721Burnable.initialize();
}
}
...
...
contracts/mocks/ERC721MintableBurnableImpl.sol
View file @
14dd3f66
...
@@ -16,8 +16,8 @@ contract ERC721MintableBurnableImpl
...
@@ -16,8 +16,8 @@ contract ERC721MintableBurnableImpl
public
public
{
{
ERC721Full.initialize("Test", "TEST");
ERC721Full.initialize("Test", "TEST");
ERC721Mintable.initialize();
ERC721Mintable.initialize(
msg.sender
);
ERC721MetadataMintable.initialize();
ERC721MetadataMintable.initialize(
msg.sender
);
ERC721Burnable.initialize();
ERC721Burnable.initialize();
}
}
}
}
contracts/mocks/ERC721PausableMock.sol
View file @
14dd3f66
...
@@ -10,7 +10,7 @@ import "./PauserRoleMock.sol";
...
@@ -10,7 +10,7 @@ import "./PauserRoleMock.sol";
*/
*/
contract ERC721PausableMock is ERC721Pausable, PauserRoleMock {
contract ERC721PausableMock is ERC721Pausable, PauserRoleMock {
constructor() {
constructor() {
ERC721Pausable.initialize();
ERC721Pausable.initialize(
msg.sender
);
}
}
function mint(address to, uint256 tokenId) public {
function mint(address to, uint256 tokenId) public {
...
...
contracts/mocks/EscrowMock.sol
View file @
14dd3f66
...
@@ -4,6 +4,6 @@ import "../payment/Escrow.sol";
...
@@ -4,6 +4,6 @@ import "../payment/Escrow.sol";
contract EscrowMock is Escrow {
contract EscrowMock is Escrow {
constructor() public {
constructor() public {
Escrow.initialize();
Escrow.initialize(
msg.sender
);
}
}
}
}
contracts/mocks/IndividuallyCappedCrowdsaleImpl.sol
View file @
14dd3f66
...
@@ -16,6 +16,6 @@ contract IndividuallyCappedCrowdsaleImpl
...
@@ -16,6 +16,6 @@ contract IndividuallyCappedCrowdsaleImpl
public
public
{
{
Crowdsale.initialize(rate, wallet, token);
Crowdsale.initialize(rate, wallet, token);
IndividuallyCappedCrowdsale.initialize();
IndividuallyCappedCrowdsale.initialize(
msg.sender
);
}
}
}
}
contracts/mocks/MinterRoleMock.sol
View file @
14dd3f66
...
@@ -5,7 +5,7 @@ import "../access/roles/MinterRole.sol";
...
@@ -5,7 +5,7 @@ import "../access/roles/MinterRole.sol";
contract MinterRoleMock is MinterRole {
contract MinterRoleMock is MinterRole {
constructor() public {
constructor() public {
MinterRole.initialize();
MinterRole.initialize(
msg.sender
);
}
}
function removeMinter(address account) public {
function removeMinter(address account) public {
...
...
contracts/mocks/OwnableMock.sol
View file @
14dd3f66
...
@@ -3,8 +3,7 @@ pragma solidity ^0.4.24;
...
@@ -3,8 +3,7 @@ pragma solidity ^0.4.24;
import { Ownable } from "../ownership/Ownable.sol";
import { Ownable } from "../ownership/Ownable.sol";
contract OwnableMock is Ownable {
contract OwnableMock is Ownable {
constructor() {
constructor() {
Ownable.initialize();
Ownable.initialize(
msg.sender
);
}
}
}
}
contracts/mocks/PausableMock.sol
View file @
14dd3f66
...
@@ -10,7 +10,7 @@ contract PausableMock is Pausable, PauserRoleMock {
...
@@ -10,7 +10,7 @@ contract PausableMock is Pausable, PauserRoleMock {
uint256 public count;
uint256 public count;
constructor() public {
constructor() public {
Pausable.initialize();
Pausable.initialize(
msg.sender
);
drasticMeasureTaken = false;
drasticMeasureTaken = false;
count = 0;
count = 0;
...
...
contracts/mocks/PauserRoleMock.sol
View file @
14dd3f66
...
@@ -5,7 +5,7 @@ import "../access/roles/PauserRole.sol";
...
@@ -5,7 +5,7 @@ import "../access/roles/PauserRole.sol";
contract PauserRoleMock is PauserRole {
contract PauserRoleMock is PauserRole {
constructor() public {
constructor() public {
PauserRole.initialize();
PauserRole.initialize(
msg.sender
);
}
}
function removePauser(address account) public {
function removePauser(address account) public {
...
...
contracts/mocks/RefundEscrowMock.sol
View file @
14dd3f66
...
@@ -4,6 +4,6 @@ import "../payment/RefundEscrow.sol";
...
@@ -4,6 +4,6 @@ import "../payment/RefundEscrow.sol";
contract RefundEscrowMock is RefundEscrow {
contract RefundEscrowMock is RefundEscrow {
constructor(address beneficiary) public {
constructor(address beneficiary) public {
RefundEscrow.initialize(beneficiary);
RefundEscrow.initialize(beneficiary
, msg.sender
);
}
}
}
}
contracts/mocks/SampleCrowdsaleMock.sol
View file @
14dd3f66
...
@@ -5,7 +5,7 @@ import "../examples/SampleCrowdsale.sol";
...
@@ -5,7 +5,7 @@ import "../examples/SampleCrowdsale.sol";
contract SampleCrowdsaleTokenMock is SampleCrowdsaleToken {
contract SampleCrowdsaleTokenMock is SampleCrowdsaleToken {
constructor() public {
constructor() public {
SampleCrowdsaleToken.initialize();
SampleCrowdsaleToken.initialize(
msg.sender
);
}
}
}
}
...
...
contracts/mocks/SecondaryMock.sol
View file @
14dd3f66
...
@@ -5,7 +5,7 @@ import "../ownership/Secondary.sol";
...
@@ -5,7 +5,7 @@ import "../ownership/Secondary.sol";
contract SecondaryMock is Secondary {
contract SecondaryMock is Secondary {
constructor() public {
constructor() public {
Secondary.initialize();
Secondary.initialize(
msg.sender
);
}
}
function onlyPrimaryMock() public view onlyPrimary {
function onlyPrimaryMock() public view onlyPrimary {
...
...
contracts/mocks/SignatureBouncerMock.sol
View file @
14dd3f66
...
@@ -6,7 +6,7 @@ import "./SignerRoleMock.sol";
...
@@ -6,7 +6,7 @@ import "./SignerRoleMock.sol";
contract SignatureBouncerMock is SignatureBouncer, SignerRoleMock {
contract SignatureBouncerMock is SignatureBouncer, SignerRoleMock {
constructor() public {
constructor() public {
SignatureBouncer.initialize();
SignatureBouncer.initialize(
msg.sender
);
}
}
function checkValidSignature(address account, bytes signature)
function checkValidSignature(address account, bytes signature)
...
...
contracts/mocks/SignerRoleMock.sol
View file @
14dd3f66
...
@@ -5,7 +5,7 @@ import "../access/roles/SignerRole.sol";
...
@@ -5,7 +5,7 @@ import "../access/roles/SignerRole.sol";
contract SignerRoleMock is SignerRole {
contract SignerRoleMock is SignerRole {
constructor() public {
constructor() public {
SignerRole.initialize();
SignerRole.initialize(
msg.sender
);
}
}
function removeSigner(address account) public {
function removeSigner(address account) public {
...
...
contracts/mocks/SimpleTokenMock.sol
View file @
14dd3f66
...
@@ -4,6 +4,6 @@ import "../examples/SimpleToken.sol";
...
@@ -4,6 +4,6 @@ import "../examples/SimpleToken.sol";
contract SimpleTokenMock is SimpleToken {
contract SimpleTokenMock is SimpleToken {
constructor() public {
constructor() public {
SimpleToken.initialize();
SimpleToken.initialize(
msg.sender
);
}
}
}
}
contracts/mocks/TokenVestingMock.sol
View file @
14dd3f66
...
@@ -15,7 +15,8 @@ contract TokenVestingMock is TokenVesting {
...
@@ -15,7 +15,8 @@ contract TokenVestingMock is TokenVesting {
start,
start,
cliffDuration,
cliffDuration,
duration,
duration,
revocable
revocable,
msg.sender
);
);
}
}
}
}
contracts/ownership/Ownable.sol
View file @
14dd3f66
...
@@ -22,8 +22,8 @@ contract Ownable is Initializable {
...
@@ -22,8 +22,8 @@ contract Ownable is Initializable {
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
* account.
*/
*/
function initialize() public initializer {
function initialize(
address sender
) public initializer {
_owner =
msg.
sender;
_owner = sender;
}
}
/**
/**
...
...
contracts/ownership/Secondary.sol
View file @
14dd3f66
...
@@ -12,8 +12,8 @@ contract Secondary is Initializable {
...
@@ -12,8 +12,8 @@ contract Secondary is Initializable {
/**
/**
* @dev Sets the primary account to the one that is creating the Secondary contract.
* @dev Sets the primary account to the one that is creating the Secondary contract.
*/
*/
function initialize() public initializer {
function initialize(
address sender
) public initializer {
_primary =
msg.
sender;
_primary = sender;
}
}
/**
/**
...
...
contracts/payment/ConditionalEscrow.sol
View file @
14dd3f66
...
@@ -9,8 +9,8 @@ import "./Escrow.sol";
...
@@ -9,8 +9,8 @@ import "./Escrow.sol";
* @dev Base abstract escrow to only allow withdrawal if a condition is met.
* @dev Base abstract escrow to only allow withdrawal if a condition is met.
*/
*/
contract ConditionalEscrow is Initializable, Escrow {
contract ConditionalEscrow is Initializable, Escrow {
function initialize() public initializer {
function initialize(
address sender
) public initializer {
Escrow.initialize();
Escrow.initialize(
sender
);
}
}
/**
/**
...
...
contracts/payment/Escrow.sol
View file @
14dd3f66
...
@@ -20,8 +20,8 @@ contract Escrow is Initializable, Secondary {
...
@@ -20,8 +20,8 @@ contract Escrow is Initializable, Secondary {
mapping(address => uint256) private _deposits;
mapping(address => uint256) private _deposits;
function initialize() public initializer {
function initialize(
address sender
) public initializer {
Secondary.initialize();
Secondary.initialize(
sender
);
}
}
function depositsOf(address payee) public view returns (uint256) {
function depositsOf(address payee) public view returns (uint256) {
...
...
contracts/payment/PullPayment.sol
View file @
14dd3f66
...
@@ -16,7 +16,7 @@ contract PullPayment is Initializable {
...
@@ -16,7 +16,7 @@ contract PullPayment is Initializable {
// conditional added to make initializer idempotent in case of diamond inheritance
// conditional added to make initializer idempotent in case of diamond inheritance
if (address(_escrow) == address(0)) {
if (address(_escrow) == address(0)) {
_escrow = new Escrow();
_escrow = new Escrow();
_escrow.initialize();
_escrow.initialize(
address(this)
);
}
}
}
}
...
...
contracts/payment/RefundEscrow.sol
View file @
14dd3f66
...
@@ -23,9 +23,8 @@ contract RefundEscrow is Initializable, ConditionalEscrow {
...
@@ -23,9 +23,8 @@ contract RefundEscrow is Initializable, ConditionalEscrow {
* @dev Constructor.
* @dev Constructor.
* @param beneficiary The beneficiary of the deposits.
* @param beneficiary The beneficiary of the deposits.
*/
*/
function initialize(address beneficiary) public initializer {
function initialize(address beneficiary, address sender) public initializer {
Secondary.initialize();
ConditionalEscrow.initialize(sender);
ConditionalEscrow.initialize();
require(beneficiary != address(0));
require(beneficiary != address(0));
_beneficiary = beneficiary;
_beneficiary = beneficiary;
...
...
contracts/token/ERC20/ERC20Capped.sol
View file @
14dd3f66
...
@@ -12,11 +12,11 @@ contract ERC20Capped is Initializable, ERC20Mintable {
...
@@ -12,11 +12,11 @@ contract ERC20Capped is Initializable, ERC20Mintable {
uint256 private _cap;
uint256 private _cap;
function initialize(uint256 cap)
function initialize(uint256 cap
, address sender
)
public
public
initializer
initializer
{
{
ERC20Mintable.initialize();
ERC20Mintable.initialize(
sender
);
require(cap > 0);
require(cap > 0);
_cap = cap;
_cap = cap;
...
...
contracts/token/ERC20/ERC20Mintable.sol
View file @
14dd3f66
...
@@ -10,8 +10,8 @@ import "../../access/roles/MinterRole.sol";
...
@@ -10,8 +10,8 @@ import "../../access/roles/MinterRole.sol";
* @dev ERC20 minting logic
* @dev ERC20 minting logic
*/
*/
contract ERC20Mintable is Initializable, ERC20, MinterRole {
contract ERC20Mintable is Initializable, ERC20, MinterRole {
function initialize() public initializer {
function initialize(
address sender
) public initializer {
MinterRole.initialize();
MinterRole.initialize(
sender
);
}
}
/**
/**
...
...
contracts/token/ERC20/ERC20Pausable.sol
View file @
14dd3f66
...
@@ -11,8 +11,8 @@ import "../../lifecycle/Pausable.sol";
...
@@ -11,8 +11,8 @@ import "../../lifecycle/Pausable.sol";
**/
**/
contract ERC20Pausable is Initializable, ERC20, Pausable {
contract ERC20Pausable is Initializable, ERC20, Pausable {
function initialize() public initializer {
function initialize(
address sender
) public initializer {
Pausable.initialize();
Pausable.initialize(
sender
);
}
}
function transfer(
function transfer(
...
...
contracts/token/ERC721/ERC721MetadataMintable.sol
View file @
14dd3f66
...
@@ -10,9 +10,9 @@ import "../../access/roles/MinterRole.sol";
...
@@ -10,9 +10,9 @@ import "../../access/roles/MinterRole.sol";
* @dev ERC721 minting logic with metadata
* @dev ERC721 minting logic with metadata
*/
*/
contract ERC721MetadataMintable is Initializable, ERC721, ERC721Metadata, MinterRole {
contract ERC721MetadataMintable is Initializable, ERC721, ERC721Metadata, MinterRole {
function initialize() public initializer {
function initialize(
address sender
) public initializer {
ERC721.initialize();
ERC721.initialize();
MinterRole.initialize();
MinterRole.initialize(
sender
);
}
}
/**
/**
...
...
contracts/token/ERC721/ERC721Mintable.sol
View file @
14dd3f66
...
@@ -10,9 +10,9 @@ import "../../access/roles/MinterRole.sol";
...
@@ -10,9 +10,9 @@ import "../../access/roles/MinterRole.sol";
* @dev ERC721 minting logic
* @dev ERC721 minting logic
*/
*/
contract ERC721Mintable is Initializable, ERC721, MinterRole {
contract ERC721Mintable is Initializable, ERC721, MinterRole {
function initialize() public initializer {
function initialize(
address sender
) public initializer {
ERC721.initialize();
ERC721.initialize();
MinterRole.initialize();
MinterRole.initialize(
sender
);
}
}
/**
/**
...
...
contracts/token/ERC721/ERC721Pausable.sol
View file @
14dd3f66
...
@@ -10,9 +10,9 @@ import "../../lifecycle/Pausable.sol";
...
@@ -10,9 +10,9 @@ import "../../lifecycle/Pausable.sol";
* @dev ERC721 modified with pausable transfers.
* @dev ERC721 modified with pausable transfers.
**/
**/
contract ERC721Pausable is Initializable, ERC721, Pausable {
contract ERC721Pausable is Initializable, ERC721, Pausable {
function initialize() public initializer {
function initialize(
address sender
) public initializer {
ERC721.initialize();
ERC721.initialize();
Pausable.initialize();
Pausable.initialize(
sender
);
}
}
function approve(
function approve(
...
...
test/ownership/Ownable.test.js
View file @
14dd3f66
...
@@ -5,13 +5,13 @@ const { shouldBehaveLikeOwnable } = require('./Ownable.behavior');
...
@@ -5,13 +5,13 @@ const { shouldBehaveLikeOwnable } = require('./Ownable.behavior');
const
Ownable
=
artifacts
.
require
(
'OwnableMock'
);
const
Ownable
=
artifacts
.
require
(
'OwnableMock'
);
contract
(
'Ownable'
,
function
([
_
,
owner
,
...
otherAccounts
])
{
contract
(
'Ownable'
,
function
([
_
,
owner
,
anyone
,
...
otherAccounts
])
{
beforeEach
(
async
function
()
{
beforeEach
(
async
function
()
{
this
.
ownable
=
await
Ownable
.
new
({
from
:
owner
});
this
.
ownable
=
await
Ownable
.
new
({
from
:
owner
});
});
});
it
(
'cannot be reinitialized'
,
async
function
()
{
it
(
'cannot be reinitialized'
,
async
function
()
{
await
expectThrow
(
this
.
ownable
.
initialize
(),
EVMRevert
);
await
expectThrow
(
this
.
ownable
.
initialize
(
anyone
),
EVMRevert
);
});
});
shouldBehaveLikeOwnable
(
owner
,
otherAccounts
);
shouldBehaveLikeOwnable
(
owner
,
otherAccounts
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment