Pārlūkot izejas kodu

Improve encapsulation on TimedCrowdsale (#1281)

* Improve encapsulation on ERC165

* Improve encapsulation on ERC20

* Improve encapsulation on ERC721

* Add tests, use standard getters

* fix tests

* Fix lint

* move interface ids to implementation contracts

* Do not prefix getters

* Improve encapsulation on Crowdsales

* add missing tests

* remove only

* Improve encapsulation on Pausable

* add the underscore

* Improve encapsulation on ownership

* fix rebase

* fix ownership

* Improve encapsulation on payments

* Add missing tests

* add missing test

* Do not prefix getters

* Do not prefix getters

* Fix tests.

* Update modifiers to call public view functions.

Fixes #1179.

* remove isMinter

* fix is owner call

* fix isOpen

* Fix merge

* Improve encapsulation on TimedCrowdsale

* Add missing parentheses

* remove duplicate function definition
Leo Arias 7 gadi atpakaļ
vecāks
revīzija
ab13379653

+ 2 - 2
contracts/crowdsale/price/IncreasingPriceCrowdsale.sol

@@ -49,8 +49,8 @@ contract IncreasingPriceCrowdsale is TimedCrowdsale {
    */
   function getCurrentRate() public view returns (uint256) {
     // solium-disable-next-line security/no-block-members
-    uint256 elapsedTime = block.timestamp.sub(openingTime);
-    uint256 timeRange = closingTime.sub(openingTime);
+    uint256 elapsedTime = block.timestamp.sub(openingTime());
+    uint256 timeRange = closingTime().sub(openingTime());
     uint256 rateRange = initialRate_.sub(finalRate_);
     return initialRate_.sub(elapsedTime.mul(rateRange).div(timeRange));
   }

+ 20 - 6
contracts/crowdsale/validation/TimedCrowdsale.sol

@@ -11,8 +11,8 @@ import "../Crowdsale.sol";
 contract TimedCrowdsale is Crowdsale {
   using SafeMath for uint256;
 
-  uint256 public openingTime;
-  uint256 public closingTime;
+  uint256 private openingTime_;
+  uint256 private closingTime_;
 
   /**
    * @dev Reverts if not in crowdsale time range.
@@ -32,8 +32,22 @@ contract TimedCrowdsale is Crowdsale {
     require(_openingTime >= block.timestamp);
     require(_closingTime >= _openingTime);
 
-    openingTime = _openingTime;
-    closingTime = _closingTime;
+    openingTime_ = _openingTime;
+    closingTime_ = _closingTime;
+  }
+
+  /**
+   * @return the crowdsale opening time.
+   */
+  function openingTime() public view returns(uint256) {
+    return openingTime_;
+  }
+
+  /**
+   * @return the crowdsale closing time.
+   */
+  function closingTime() public view returns(uint256) {
+    return closingTime_;
   }
 
   /**
@@ -41,7 +55,7 @@ contract TimedCrowdsale is Crowdsale {
    */
   function isOpen() public view returns (bool) {
     // solium-disable-next-line security/no-block-members
-    return block.timestamp >= openingTime && block.timestamp <= closingTime;
+    return block.timestamp >= openingTime_ && block.timestamp <= closingTime_;
   }
 
   /**
@@ -50,7 +64,7 @@ contract TimedCrowdsale is Crowdsale {
    */
   function hasClosed() public view returns (bool) {
     // solium-disable-next-line security/no-block-members
-    return block.timestamp > closingTime;
+    return block.timestamp > closingTime_;
   }
 
   /**