इस तुलना का शेष भाग लोड हो रहा है।

Untitled diff

बनाया गया Diff कभी समाप्त नहीं होता
3 हटाए गए
622 लाइनें
4 जोड़े गए
624 लाइनें
/**
*Submitted for verification at Etherscan.io on 2019-07-02
*/

/**
/**
*Submitted for verification at Etherscan.io on 2019-05-21
*Submitted for verification at Etherscan.io on 2019-05-21
*/
*/


pragma solidity ^0.5.0;
pragma solidity ^0.5.0;




// Bitfinex LEO Token 2019
// Bitfinex LEO Token 2019
// Based on Giveth's MiniMe Token framework
// Based on Giveth's MiniMe Token framework


contract Ownable {
contract Ownable {


address public owner;
address public owner;


event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


constructor() public {
constructor() public {
owner = msg.sender;
owner = msg.sender;
}
}


modifier onlyOwner() {
modifier onlyOwner() {
require(msg.sender == owner);
require(msg.sender == owner);
_;
_;
}
}


function transferOwnership(address newOwner) public onlyOwner {
function transferOwnership(address newOwner) public onlyOwner {
require(newOwner != address(0));
require(newOwner != address(0));
emit OwnershipTransferred(owner, newOwner);
emit OwnershipTransferred(owner, newOwner);
owner = newOwner;
owner = newOwner;
}
}


}
}




// Modified 2019, Will Harborne
// Modified 2019, Will Harborne


/*
/*
Copyright 2016, Jordi Baylina
Copyright 2016, Jordi Baylina


This program is free software: you can redistribute it and/or modify
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
(at your option) any later version.


This program is distributed in the hope that it will be useful,
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
GNU General Public License for more details.


You should have received a copy of the GNU General Public License
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
*/


/// @title MiniMeToken Contract
/// @title MiniMeToken Contract
/// @author Jordi Baylina
/// @author Jordi Baylina
/// @dev This token contract's goal is to make it easy for anyone to clone this
/// @dev This token contract's goal is to make it easy for anyone to clone this
/// token using the token distribution at a given block, this will allow DAO's
/// token using the token distribution at a given block, this will allow DAO's
/// and DApps to upgrade their features in a decentralized manner without
/// and DApps to upgrade their features in a decentralized manner without
/// affecting the original token
/// affecting the original token
/// @dev It is ERC20 compliant, but still needs to under go further testing.
/// @dev It is ERC20 compliant, but still needs to under go further testing.


contract Controlled {
contract Controlled {


event ControlTransferred(address indexed previousControler, address indexed newController);
event ControlTransferred(address indexed previousControler, address indexed newController);


/// @notice The address of the controller is the only address that can call
/// @notice The address of the controller is the only address that can call
/// a function with this modifier
/// a function with this modifier
modifier onlyController { require(msg.sender == controller); _; }
modifier onlyController { require(msg.sender == controller); _; }


address public controller;
address public controller;


constructor() public { controller = msg.sender;}
constructor() public { controller = msg.sender;}


/// @notice Changes the controller of the contract
/// @notice Changes the controller of the contract
/// @param _newController The new controller of the contract
/// @param _newController The new controller of the contract
function changeController(address _newController) public onlyController {
function changeController(address _newController) public onlyController {
emit ControlTransferred(controller, _newController);
emit ControlTransferred(controller, _newController);
controller = _newController;
controller = _newController;
}
}
}
}


contract TokenController {
contract TokenController {
/// @notice Called when `_owner` sends ether to the MiniMe Token contract
/// @notice Called when `_owner` sends ether to the MiniMe Token contract
/// @param _owner The address that sent the ether to create tokens
/// @param _owner The address that sent the ether to create tokens
/// @return True if the ether is accepted, false if it throws
/// @return True if the ether is accepted, false if it throws
function proxyPayment(address _owner) public payable returns(bool);
function proxyPayment(address _owner) public payable returns(bool);


/// @notice Notifies the controller about a token transfer allowing the
/// @notice Notifies the controller about a token transfer allowing the
/// controller to react if desired
/// controller to react if desired
/// @param _from The origin of the transfer
/// @param _from The origin of the transfer
/// @param _to The destination of the transfer
/// @param _to The destination of the transfer
/// @param _amount The amount of the transfer
/// @param _amount The amount of the transfer
/// @return False if the controller does not authorize the transfer
/// @return False if the controller does not authorize the transfer
function onTransfer(address _from, address _to, uint _amount) public returns(bool);
function onTransfer(address _from, address _to, uint _amount) public returns(bool);


/// @notice Notifies the controller about an approval allowing the
/// @notice Notifies the controller about an approval allowing the
/// controller to react if desired
/// controller to react if desired
/// @param _owner The address that calls `approve()`
/// @param _owner The address that calls `approve()`
/// @param _spender The spender in the `approve()` call
/// @param _spender The spender in the `approve()` call