change Ownable to Claimable from bokky's audit

This commit is contained in:
Roman Storm 2017-11-12 21:32:36 -08:00
parent 11b3aac172
commit b4724fd0bc
3 changed files with 37 additions and 6 deletions

View File

@ -123,12 +123,14 @@ it's totally ok because the transaction is still in the queue and hasn't been mi
``` ```
# Testnet deployment # Testnet deployment
## Latest Contract deployment ## Latest Contract deployments
https://kovan.etherscan.io/address/0x6f3f79941f89e03d4af9bdb8be0623dc24f2bef0 With Claimable:
https://kovan.etherscan.io/address/0x985dbb1c5dda22ff9d529abc1c3539bc525943f4#code
## Previous deployments with old source code: ## Previous deployments with old source code:
https://kovan.etherscan.io/address/0x6f3f79941f89e03d4af9bdb8be0623dc24f2bef0
Contract Deployment: https://kovan.etherscan.io/address/0xb9b49e21e77d2d89a9e4c7ef4f684ad2a4e99663#code Contract Deployment: https://kovan.etherscan.io/address/0xb9b49e21e77d2d89a9e4c7ef4f684ad2a4e99663#code
Called Initialize by Owner with params: Called Initialize by Owner with params:

View File

@ -1,10 +1,10 @@
import "zeppelin-solidity/contracts/math/SafeMath.sol"; import "zeppelin-solidity/contracts/math/SafeMath.sol";
import "zeppelin-solidity/contracts/token/BasicToken.sol"; import "zeppelin-solidity/contracts/token/BasicToken.sol";
import "zeppelin-solidity/contracts/ownership/Ownable.sol"; import "zeppelin-solidity/contracts/ownership/Claimable.sol";
pragma solidity ^0.4.17; pragma solidity ^0.4.17;
contract PresaleOracles is Ownable { contract PresaleOracles is Claimable {
/* /*
* PresaleOracles * PresaleOracles
* Simple Presale contract * Simple Presale contract

View File

@ -63,6 +63,35 @@ contract Ownable {
} }
contract Claimable is Ownable {
address public pendingOwner;
/**
* @dev Modifier throws if called by any account other than the pendingOwner.
*/
modifier onlyPendingOwner() {
require(msg.sender == pendingOwner);
_;
}
/**
* @dev Allows the current owner to set the pendingOwner address.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) onlyOwner public {
pendingOwner = newOwner;
}
/**
* @dev Allows the pendingOwner address to finalize the transfer.
*/
function claimOwnership() onlyPendingOwner public {
OwnershipTransferred(owner, pendingOwner);
owner = pendingOwner;
pendingOwner = 0x0;
}
}
contract ERC20Basic { contract ERC20Basic {
uint256 public totalSupply; uint256 public totalSupply;
function balanceOf(address who) public constant returns (uint256); function balanceOf(address who) public constant returns (uint256);
@ -101,7 +130,7 @@ contract BasicToken is ERC20Basic {
} }
contract PresaleOracles is Ownable { contract PresaleOracles is Claimable {
/* /*
* PresaleOracles * PresaleOracles
* Simple Presale contract * Simple Presale contract