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
6fe9b340
Commit
6fe9b340
authored
Oct 08, 2018
by
Nicolás Venturo
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added assertions to leaf initializers of (some) pseudo-abstract contracts.
parent
b25e8b91
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
29 additions
and
0 deletions
+29
-0
RefundableCrowdsale.sol
contracts/crowdsale/distribution/RefundableCrowdsale.sol
+5
-0
AllowanceCrowdsale.sol
contracts/crowdsale/emission/AllowanceCrowdsale.sol
+5
-0
IncreasingPriceCrowdsale.sol
contracts/crowdsale/price/IncreasingPriceCrowdsale.sol
+4
-0
CappedCrowdsale.sol
contracts/crowdsale/validation/CappedCrowdsale.sol
+5
-0
IndividuallyCappedCrowdsale.sol
...acts/crowdsale/validation/IndividuallyCappedCrowdsale.sol
+5
-0
TimedCrowdsale.sol
contracts/crowdsale/validation/TimedCrowdsale.sol
+5
-0
No files found.
contracts/crowdsale/distribution/RefundableCrowdsale.sol
View file @
6fe9b340
...
@@ -26,6 +26,11 @@ contract RefundableCrowdsale is Initializable, FinalizableCrowdsale {
...
@@ -26,6 +26,11 @@ contract RefundableCrowdsale is Initializable, FinalizableCrowdsale {
* @param goal Funding goal
* @param goal Funding goal
*/
*/
function initialize(uint256 goal) public initializer {
function initialize(uint256 goal) public initializer {
// Make sure TimedCrowdsale.initialize (which FinalizableCrowdsale depends on) has been
// called before this initializer is executed
require(openingTime() > 0);
require(closingTime() > 0);
require(goal > 0);
require(goal > 0);
// conditional added to make initializer idempotent in case of diamond inheritance
// conditional added to make initializer idempotent in case of diamond inheritance
...
...
contracts/crowdsale/emission/AllowanceCrowdsale.sol
View file @
6fe9b340
...
@@ -22,6 +22,11 @@ contract AllowanceCrowdsale is Initializable, Crowdsale {
...
@@ -22,6 +22,11 @@ contract AllowanceCrowdsale is Initializable, Crowdsale {
* @param tokenWallet Address holding the tokens, which has approved allowance to the crowdsale
* @param tokenWallet Address holding the tokens, which has approved allowance to the crowdsale
*/
*/
function initialize(address tokenWallet) public initializer {
function initialize(address tokenWallet) public initializer {
// Make sure Crowdsale.initialize has been called before this initializer is executed
assert(rate() > 0);
assert(wallet() != address(0));
assert(token() != address(0));
require(tokenWallet != address(0));
require(tokenWallet != address(0));
_tokenWallet = tokenWallet;
_tokenWallet = tokenWallet;
}
}
...
...
contracts/crowdsale/price/IncreasingPriceCrowdsale.sol
View file @
6fe9b340
...
@@ -23,6 +23,10 @@ contract IncreasingPriceCrowdsale is Initializable, TimedCrowdsale {
...
@@ -23,6 +23,10 @@ contract IncreasingPriceCrowdsale is Initializable, TimedCrowdsale {
* @param finalRate Number of tokens a buyer gets per wei at the end of the crowdsale
* @param finalRate Number of tokens a buyer gets per wei at the end of the crowdsale
*/
*/
function initialize(uint256 initialRate, uint256 finalRate) public initializer {
function initialize(uint256 initialRate, uint256 finalRate) public initializer {
// Make sure TimedCrowdsale.initialize has been called before this initializer is executed
require(openingTime() > 0);
require(closingTime() > 0);
require(finalRate > 0);
require(finalRate > 0);
require(initialRate >= finalRate);
require(initialRate >= finalRate);
_initialRate = initialRate;
_initialRate = initialRate;
...
...
contracts/crowdsale/validation/CappedCrowdsale.sol
View file @
6fe9b340
...
@@ -19,6 +19,11 @@ contract CappedCrowdsale is Initializable, Crowdsale {
...
@@ -19,6 +19,11 @@ contract CappedCrowdsale is Initializable, Crowdsale {
* @param cap Max amount of wei to be contributed
* @param cap Max amount of wei to be contributed
*/
*/
function initialize(uint256 cap) public initializer {
function initialize(uint256 cap) public initializer {
// Make sure Crowdsale.initialize has been called before this initializer is executed
assert(rate() > 0);
assert(wallet() != address(0));
assert(token() != address(0));
require(cap > 0);
require(cap > 0);
_cap = cap;
_cap = cap;
}
}
...
...
contracts/crowdsale/validation/IndividuallyCappedCrowdsale.sol
View file @
6fe9b340
...
@@ -17,6 +17,11 @@ contract IndividuallyCappedCrowdsale is Initializable, Crowdsale, CapperRole {
...
@@ -17,6 +17,11 @@ contract IndividuallyCappedCrowdsale is Initializable, Crowdsale, CapperRole {
mapping(address => uint256) private _caps;
mapping(address => uint256) private _caps;
function initialize(address sender) public initializer {
function initialize(address sender) public initializer {
// Make sure Crowdsale.initialize has been called before this initializer is executed
assert(rate() > 0);
assert(wallet() != address(0));
assert(token() != address(0));
CapperRole.initialize(sender);
CapperRole.initialize(sender);
}
}
...
...
contracts/crowdsale/validation/TimedCrowdsale.sol
View file @
6fe9b340
...
@@ -29,6 +29,11 @@ contract TimedCrowdsale is Initializable, Crowdsale {
...
@@ -29,6 +29,11 @@ contract TimedCrowdsale is Initializable, Crowdsale {
* @param closingTime Crowdsale closing time
* @param closingTime Crowdsale closing time
*/
*/
function initialize(uint256 openingTime, uint256 closingTime) public initializer {
function initialize(uint256 openingTime, uint256 closingTime) public initializer {
// Make sure Crowdsale.initialize has been called before this initializer is executed
assert(rate() > 0);
assert(wallet() != address(0));
assert(token() != address(0));
// solium-disable-next-line security/no-block-members
// solium-disable-next-line security/no-block-members
require(openingTime >= block.timestamp);
require(openingTime >= block.timestamp);
require(closingTime >= openingTime);
require(closingTime >= openingTime);
...
...
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