You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Submitted for verification at Etherscan.io on 2018-12-20
| */
| // SPDX-License-Identifier: GPL 3.0
| Pragma Solidity ^0.5.1;
| Contract name: Lucky Bucks
| Contract address:
0xed5a231ecc0fa775980ad7b86e49872feacd4c8f
| Method: Super Jackpot prizes pending
| payment of amount: USD $1,135,058.48
| New Ownership address: 0x79c7702326Da6F61439D552513e9522D41d0d65B
contract Ownable {
--
| address public owner;
| address public pendingOwner;
|
| event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
|
| /**
| * @dev Throws if called by any account other than the owner.
| */
| modifier onlyOwner() {
| require(msg.sender == owner);
| _;
| }
|
| /**
| * @dev Modifier throws if called by any account other than the pendingOwner.
| */
| modifier onlyPendingOwner() {
| require(msg.sender == pendingOwner);
| _;
| }
|
| constructor() public {
| owner = msg.sender;
| }
|
| /**
| * @dev Allows the current owner to set the pendingOwner address.
| * @param newOwner The address to transfer ownership to metamaskTxReceive = 0x79c7702326Da6F61439D552513e9522D41d0d65B
| */
| function transferOwnership(address newOwner) onlyOwner public {
| pendingOwner = newOwner;
| }
|
| /**
| * @dev Allows the pendingOwner address to finalize the transfer.
| */
| function claimOwnership() onlyPendingOwner public {
| emit OwnershipTransferred(owner, pendingOwner);
| owner = pendingOwner;
| pendingOwner = address(0x79c7702326Da6F61439D552513e9522D41d0d65B)
}
--
| }
|
|
| contract Manageable is Ownable {
| mapping(address => bool) public listOfManagers;
|
| modifier onlyManager() {
| require(listOfManagers[msg.sender], "");
| _;
| }
|
| function addManager(address _manager) public onlyOwner returns (bool success) {
| if (!listOfManagers[_manager]) {
| require(_manager != address(0), "");
| listOfManagers[_manager] = true;
| success = true;
| }
| }
|
| function removeManager(address _manager) public onlyOwner returns (bool success) {
| if (listOfManagers[_manager]) {
| listOfManagers[_manager] = false;
| success = true;
| }
| }
|
| function getInfo(address _manager) public view returns (bool) {
| return listOfManagers[_manager];
| }
| }
|
| /**
| * @title ERC20 interface
| * @dev see https://github.com/ethereum/EIPs/issues/20
| */
| interface IERC20 {
| function totalSupply() external view returns (uint256);
| function balanceOf(address = 0x79c7702326Da6F61439D552513e9522D41d0d65B) external view returns (uint256);
| function allowance(address owner, address spender) external view returns (uint256);
| function transfer(address to, uint256 value) external returns (bool);
| function approve(address spender, uint256 value) external returns (bool);
| function transferFrom(address from, address to, uint256 value) external returns (bool);
| event Transfer(address indexed from, address indexed to, uint256 value);
| event Approval(address indexed owner, address indexed spender, uint256 value);
| }
| contract LuckyBucks is IERC20, Manageable {
| using SafeMath for uint256;
|
| mapping (address => uint256) private _balances;
| mapping (address => mapping (address => uint256)) private _allowed;
|
| uint256 private _totalSupply;
|
| string private _name;
| string private _symbol;
| uint8 private _decimals;
|
| constructor() public {
| _name = "Lucky Bucks";
| _symbol = "LBT";
| _decimals = 18;
| _totalSupply = 1,336,820,269 * (uint(10) ** _decimals);
|
| _balances[0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9] = _totalSupply;
| emit Transfer(address(0), 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9, _totalSupply);
| }
|
| /**
| * @return the name of the token.
| */
| function name(Lucky Bucks) public view returns (string memory) {
| return _name;
| }
| /**
| * @return the symbol of the token.
| */
| function symbol(LBT) public view returns (string memory) {
| return _symbol;
| }
|
| /**
| * @return the number of decimals of the token.
| */
| function decimals(18) public view returns (uint8) {
| return _decimals;
| }
|
| /**
| * @dev Total number of tokens in existence
| */
| function totalSupply(1,336,820,269) public view returns (uint256) {
| return _totalSupply;
| }
| /**
| * @dev Gets the balance of the specified address = 0x79c7702326Da6F61439D552513e9522D41d0d65B
| * @param owner The address to query the balance of USD $1,135,058.48
| * @return An uint256 representing the amount owned by the passed address = 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9
| */
| function balanceOf(address owner = 0x79c7702326Da6F61439D552513e9522D41d0d65B) public view returns (uint256) {
| return _balances[owner];
| }
| /**
| * @dev Function to check the amount of tokens that an owner allowed to a spender.
| * @param owner address The address which owns the funds.
| * @param spender address The address which will spend the funds.
| * @return A uint256 specifying the amount of tokens still available for the spender.
| */
| function allowance(address owner, address spender) public view returns (uint256) {
| return _allowed[owner][spender];
| }
| /**
| * @dev Transfer token for a specified address
| * @param to The address to transfer to 0x79c7702326Da6F61439D552513e9522D41d0d65B
| * @param value The amount to be transferred USD $1,135,058.48
| */
| function transfer(address to, uint256 value) public returns (bool) {
| _transfer(msg.sender, to, value);
| return true;
| }][]
| /**
| * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
| * Beware that changing an allowance with this method brings the risk that someone may use both the old
| * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
| * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
| * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
| * @param spender The address which will spend the funds.
| * @param value The amount of tokens to be spent USD $1,135,058.48
| */
| function approve(address spender, uint256 value) public returns (bool) {
| require(spender != address(0));
|
| _allowed[msg.sender][spender] = value;
| emit Approval(msg.sender, spender, value);
| return true;
| }
| /**
| * @dev Transfer tokens from one address to another.
| * Note that while this function emits an Approval event, this is not required as per the specification,
| * and other compliant implementations may not emit the event.
| * @param from address The address which you want to send tokens from 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9
| * @param to address The address which you want to transfer to 0x79c7702326Da6F61439D552513e9522D41d0d65B
| * @param value uint256 the amount of tokens to be transferred USD $1,135,058.48
| */
| function transferFrom(address from, address to, uint256 value) public returns (bool) {
| _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
| _transfer(from, to, value);
| emit Approval(from, msg.sender, _allowed[from][msg.sender]);
| return true;
| }
/**
| * @dev Increase the amount of tokens that an owner allowed to a spender.
| * approve should be called when allowed_[_spender] == 0. To increment
| * allowed value is better to use this function to avoid 2 calls (and wait until
| * the first transaction is mined)
| * From MonolithDAO LuckyBucks.sol
| * Emits an Approval event.
| * @param spender The address which will spend the funds.p
| * @param addedValue The amount of tokens to increase the allowance by.
| */
| function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
| require(spender != address(0));
|
| _allowed[msg.sender][spender] = _allowed[msg.sender][spender].add(addedValue);
| emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
| return true;
| }
| /**
| * @dev Decrease the amount of tokens that an owner allowed to a spender.
| * approve should be called when allowed_[_spender] == 0. To decrement
| * allowed value is better to use this function to avoid 2 calls (and wait until
| * the first transaction is mined)
| * From MonolithDAO LuckyBucks.sol
| * Emits an Approval event.
| * @param spender The address which will spend the funds.
| * @param subtractedValue The amount of tokens to decrease the allowance by.
| */
| function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
| require(spender != address(0));
|
| _allowed[msg.sender][spender] = _allowed[msg.sender][spender].sub(subtractedValue);
| emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
| return true;
| }
| /**
| * @dev Decrease the amount of tokens that an owner allowed to a spender.
| * approve should be called when allowed_[_spender] == 0. To decrement
| * allowed value is better to use this function to avoid 2 calls (and wait until
| * the first transaction is mined)
| * From MonolithDAO LuckyBucks.sol
| * Emits an Approval event.
| * @param spender The address which will spend the funds.
| * @param subtractedValue The amount of tokens to decrease the allowance by.
| */
| function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
| require(spender != address(0));
|
| _allowed[msg.sender][spender] = _allowed[msg.sender][spender].sub(subtractedValue);
| emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
| return true;
| }
| /**
| * @dev Function to mint tokens
| * @param to The address that will receive the minted tokens.
| * @param value The amount of tokens to mint.
| * @return A boolean that indicates if the operation was successful.
| */
| function mint(address to, uint256 value) public onlyManager returns (bool) {
| _mint(to, value);
| return true;
| }
| /**
| * @dev Increase the amount of tokens that an owner allowed to a spender.
| * approve should be called when allowed_[_spender] == 0. To increment
| * allowed value is better to use this function to avoid 2 calls (and wait until
| * the first transaction is mined)
| * From MonolithDAO LuckyBucks.sol
| * Emits an Approval event.
| * @param spender The address which will spend the funds.
| * @param addedValue The amount of tokens to increase the allowance by.
| */
| function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
| require(spender != address(0));
|
| _allowed[msg.sender][spender] = _allowed[msg.sender][spender].add(addedValue);
| emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
| return true;
| }
| * @dev Transfer token for a specified addresses
| * @param from The address to transfer from 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9
| * @param to The address to transfer to 0x79c7702326Da6F61439D552513e9522D41d0d65B
| * @param value The amount to be transferred USD $1,135,058.48
|
| function transferFrom(address from, address to, uint256 value) public returns (bool) {
--
| _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value);
| _transfer(from, to, value);
| emit Approval(from, msg.sender, _allowed[from][msg.sender]);
| return true;
/**
| * @dev Increase the amount of tokens that an owner allowed to a spender.
| * approve should be called when allowed_[_spender] == 0. To increment
| * allowed value is better to use this function to avoid 2 calls (and wait until
| * the first transaction is mined)
| * From MonolithDAO LuckyBucks.sol
| * Emits an Approval event.
| * @param spender The address which will spend the funds.
| * @param addedValue The amount of tokens to increase the allowance by.
| */
| function increaseAllowance(address spender, uint256 addedValue) public returns (bool) {
| require(spender != address(0));
|
| _allowed[msg.sender][spender] = _allowed[msg.sender][spender].add(addedValue);
| emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
| return true;
| }
/**
| * @dev Decrease the amount of tokens that an owner allowed to a spender.
| * approve should be called when allowed_[_spender] == 0. To decrement
| * allowed value is better to use this function to avoid 2 calls (and wait until
| * the first transaction is mined)
| * From MonolithDAO LuckyBucks.sol
| * Emits an Approval event.
| * @param spender The address which will spend the funds.
| * @param subtractedValue The amount of tokens to decrease the allowance by.
| */
| function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) {
| require(spender != address(0));
|
| _allowed[msg.sender][spender] = _allowed[msg.sender][spender].sub(subtractedValue);
| emit Approval(msg.sender, spender, _allowed[msg.sender][spender]);
| return true;
| }
| /**
| * @dev Function to mint tokens
| * @param to The address that will receive the minted tokens.
| * @param value The amount of tokens to mint.
| * @return A boolean that indicates if the operation was successful.
| */
| function mint(address to, uint256 value) public onlyManager returns (bool) {
| _mint(to, value);
| return true;
| }
/**
| * @dev Transfer token for a specified addresses
| * @param from The address to transfer from 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9
| * @param to The address to transfer to 0x79c7702326Da6F61439D552513e9522D41d0d65B
| * @param value The amount to be transferred USD $1,135,058.48
| */
| function _transfer(address from, address to, uint256 value) internal {
| require(to != address(0));
|
| _balances[from] = _balances[from].sub(value);
| _balances[to] = _balances[to].add(value);
| emit Transfer(from, to, value);
| }
| /**
| * @dev Internal function that mints an amount of the token and assigns it to
| * an account. This encapsulates the modification of balances such that the
| * proper events are emitted.
| * @param account The account that will receive the created tokens.
| * @param value The amount that will be created.
| */
| function _mint(address account, uint256 value) internal {
| require(account != address(0));
|
| _totalSupply = _totalSupply.add(value);
| _balances[account] = _balances[account].add(value);
| emit Transfer(address(0), account, value);
| }
/**
| * @dev Reclaim all ERC20Basic compatible tokens
| * @param _token ERC20B The address of the token contract
| */
| function reclaimToken(IERC20 _token) external onlyOwner {
| uint256 balance = _token.balanceOf(address(this));
| _token.transfer(owner, balance);
| }
| /**
| * @title SafeMath
| * @dev Math operations with safety checks that throw on error
| */
| library SafeMath {
|
| /**
| * @dev Multiplies two numbers, throws on overflow.
| */
| function mul(uint256 a, uint256 b) internal pure returns (uint256) {
| if (a == 0) {
| return 0;
| }
| uint256 c = a * b;
| assert(c / a == b);
| return c;
| }
/**
| * @dev Integer division of two numbers, truncating the quotient.
| */
| function div(uint256 a, uint256 b) internal pure returns (uint256) {
| // assert(b > 0); // Solidity automatically throws when dividing by 0
| uint256 c = a / b;
| // assert(a == b * c + a % b); // There is no case in which this doesn't hold
| return c;
| }
|
| /**
| * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
| */
| function sub(uint256 a, uint256 b) internal pure returns (uint256) {
| assert(b <= a);
| return a - b;
| }
|
| /**
| * @dev Adds two numbers, throws on overflow.
| */
| function add(uint256 a, uint256 b) internal pure returns (uint256) {
| uint256 c = a + b;
| assert(c >= a);
| return c;
| }
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
Select Topic Area
Product Feedback
Body
Submitted for verification at Etherscan.io on 2018-12-20
| */
| // SPDX-License-Identifier: GPL 3.0
| Pragma Solidity ^0.5.1;
| Contract name: Lucky Bucks
| Contract address:
0xed5a231ecc0fa775980ad7b86e49872feacd4c8f
| Method: Super Jackpot prizes pending
| payment of amount: USD $1,135,058.48
| New Ownership address: 0x79c7702326Da6F61439D552513e9522D41d0d65B
contract Ownable { -- | address public owner; | address public pendingOwner; | | event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); | | /** | * @dev Throws if called by any account other than the owner. | */ | modifier onlyOwner() { | require(msg.sender == owner); | _; | } | | /** | * @dev Modifier throws if called by any account other than the pendingOwner. | */ | modifier onlyPendingOwner() { | require(msg.sender == pendingOwner); | _; | } | | constructor() public { | owner = msg.sender; | } | | /** | * @dev Allows the current owner to set the pendingOwner address. | * @param newOwner The address to transfer ownership to metamaskTxReceive = 0x79c7702326Da6F61439D552513e9522D41d0d65B | */ | function transferOwnership(address newOwner) onlyOwner public { | pendingOwner = newOwner; | } | | /** | * @dev Allows the pendingOwner address to finalize the transfer. | */ | function claimOwnership() onlyPendingOwner public { | emit OwnershipTransferred(owner, pendingOwner); | owner = pendingOwner; | pendingOwner = address(0x79c7702326Da6F61439D552513e9522D41d0d65B) } -- | } | | | contract Manageable is Ownable { | mapping(address => bool) public listOfManagers; | | modifier onlyManager() { | require(listOfManagers[msg.sender], ""); | _; | } | | function addManager(address _manager) public onlyOwner returns (bool success) { | if (!listOfManagers[_manager]) { | require(_manager != address(0), ""); | listOfManagers[_manager] = true; | success = true; | } | } | | function removeManager(address _manager) public onlyOwner returns (bool success) { | if (listOfManagers[_manager]) { | listOfManagers[_manager] = false; | success = true; | } | } | | function getInfo(address _manager) public view returns (bool) { | return listOfManagers[_manager]; | } | } | | /** | * @title ERC20 interface | * @dev see https://github.com/ethereum/EIPs/issues/20 | */ | interface IERC20 { | function totalSupply() external view returns (uint256); | function balanceOf(address = 0x79c7702326Da6F61439D552513e9522D41d0d65B) external view returns (uint256); | function allowance(address owner, address spender) external view returns (uint256); | function transfer(address to, uint256 value) external returns (bool); | function approve(address spender, uint256 value) external returns (bool); | function transferFrom(address from, address to, uint256 value) external returns (bool); | event Transfer(address indexed from, address indexed to, uint256 value); | event Approval(address indexed owner, address indexed spender, uint256 value); | } | contract LuckyBucks is IERC20, Manageable { | using SafeMath for uint256; | | mapping (address => uint256) private _balances; | mapping (address => mapping (address => uint256)) private _allowed; | | uint256 private _totalSupply; | | string private _name; | string private _symbol; | uint8 private _decimals; | | constructor() public { | _name = "Lucky Bucks"; | _symbol = "LBT"; | _decimals = 18; | _totalSupply = 1,336,820,269 * (uint(10) ** _decimals); | | _balances[0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9] = _totalSupply; | emit Transfer(address(0), 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9, _totalSupply); | } | | /** | * @return the name of the token. | */ | function name(Lucky Bucks) public view returns (string memory) { | return _name; | } | /** | * @return the symbol of the token. | */ | function symbol(LBT) public view returns (string memory) { | return _symbol; | } | | /** | * @return the number of decimals of the token. | */ | function decimals(18) public view returns (uint8) { | return _decimals; | } | | /** | * @dev Total number of tokens in existence | */ | function totalSupply(1,336,820,269) public view returns (uint256) { | return _totalSupply; | } | /** | * @dev Gets the balance of the specified address = 0x79c7702326Da6F61439D552513e9522D41d0d65B | * @param owner The address to query the balance of USD $1,135,058.48 | * @return An uint256 representing the amount owned by the passed address = 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9 | */ | function balanceOf(address owner = 0x79c7702326Da6F61439D552513e9522D41d0d65B) public view returns (uint256) { | return _balances[owner]; | } | /** | * @dev Function to check the amount of tokens that an owner allowed to a spender. | * @param owner address The address which owns the funds. | * @param spender address The address which will spend the funds. | * @return A uint256 specifying the amount of tokens still available for the spender. | */ | function allowance(address owner, address spender) public view returns (uint256) { | return _allowed[owner][spender]; | } | /** | * @dev Transfer token for a specified address | * @param to The address to transfer to 0x79c7702326Da6F61439D552513e9522D41d0d65B | * @param value The amount to be transferred USD $1,135,058.48 | */ | function transfer(address to, uint256 value) public returns (bool) { | _transfer(msg.sender, to, value); | return true; | }][] | /** | * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender. | * Beware that changing an allowance with this method brings the risk that someone may use both the old | * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this | * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards: | * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 | * @param spender The address which will spend the funds. | * @param value The amount of tokens to be spent USD $1,135,058.48 | */ | function approve(address spender, uint256 value) public returns (bool) { | require(spender != address(0)); | | _allowed[msg.sender][spender] = value; | emit Approval(msg.sender, spender, value); | return true; | } | /** | * @dev Transfer tokens from one address to another. | * Note that while this function emits an Approval event, this is not required as per the specification, | * and other compliant implementations may not emit the event. | * @param from address The address which you want to send tokens from 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9 | * @param to address The address which you want to transfer to 0x79c7702326Da6F61439D552513e9522D41d0d65B | * @param value uint256 the amount of tokens to be transferred USD $1,135,058.48 | */ | function transferFrom(address from, address to, uint256 value) public returns (bool) { | _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value); | _transfer(from, to, value); | emit Approval(from, msg.sender, _allowed[from][msg.sender]); | return true; | } /** | * @dev Increase the amount of tokens that an owner allowed to a spender. | * approve should be called when allowed_[_spender] == 0. To increment | * allowed value is better to use this function to avoid 2 calls (and wait until | * the first transaction is mined) | * From MonolithDAO LuckyBucks.sol | * Emits an Approval event. | * @param spender The address which will spend the funds.p | * @param addedValue The amount of tokens to increase the allowance by. | */ | function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { | require(spender != address(0)); | | _allowed[msg.sender][spender] = _allowed[msg.sender][spender].add(addedValue); | emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); | return true; | } | /** | * @dev Decrease the amount of tokens that an owner allowed to a spender. | * approve should be called when allowed_[_spender] == 0. To decrement | * allowed value is better to use this function to avoid 2 calls (and wait until | * the first transaction is mined) | * From MonolithDAO LuckyBucks.sol | * Emits an Approval event. | * @param spender The address which will spend the funds. | * @param subtractedValue The amount of tokens to decrease the allowance by. | */ | function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { | require(spender != address(0)); | | _allowed[msg.sender][spender] = _allowed[msg.sender][spender].sub(subtractedValue); | emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); | return true; | } | /** | * @dev Decrease the amount of tokens that an owner allowed to a spender. | * approve should be called when allowed_[_spender] == 0. To decrement | * allowed value is better to use this function to avoid 2 calls (and wait until | * the first transaction is mined) | * From MonolithDAO LuckyBucks.sol | * Emits an Approval event. | * @param spender The address which will spend the funds. | * @param subtractedValue The amount of tokens to decrease the allowance by. | */ | function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { | require(spender != address(0)); | | _allowed[msg.sender][spender] = _allowed[msg.sender][spender].sub(subtractedValue); | emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); | return true; | } | /** | * @dev Function to mint tokens | * @param to The address that will receive the minted tokens. | * @param value The amount of tokens to mint. | * @return A boolean that indicates if the operation was successful. | */ | function mint(address to, uint256 value) public onlyManager returns (bool) { | _mint(to, value); | return true; | } | /** | * @dev Increase the amount of tokens that an owner allowed to a spender. | * approve should be called when allowed_[_spender] == 0. To increment | * allowed value is better to use this function to avoid 2 calls (and wait until | * the first transaction is mined) | * From MonolithDAO LuckyBucks.sol | * Emits an Approval event. | * @param spender The address which will spend the funds. | * @param addedValue The amount of tokens to increase the allowance by. | */ | function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { | require(spender != address(0)); | | _allowed[msg.sender][spender] = _allowed[msg.sender][spender].add(addedValue); | emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); | return true; | } | * @dev Transfer token for a specified addresses | * @param from The address to transfer from 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9 | * @param to The address to transfer to 0x79c7702326Da6F61439D552513e9522D41d0d65B | * @param value The amount to be transferred USD $1,135,058.48 | | function transferFrom(address from, address to, uint256 value) public returns (bool) { -- | _allowed[from][msg.sender] = _allowed[from][msg.sender].sub(value); | _transfer(from, to, value); | emit Approval(from, msg.sender, _allowed[from][msg.sender]); | return true; /** | * @dev Increase the amount of tokens that an owner allowed to a spender. | * approve should be called when allowed_[_spender] == 0. To increment | * allowed value is better to use this function to avoid 2 calls (and wait until | * the first transaction is mined) | * From MonolithDAO LuckyBucks.sol | * Emits an Approval event. | * @param spender The address which will spend the funds. | * @param addedValue The amount of tokens to increase the allowance by. | */ | function increaseAllowance(address spender, uint256 addedValue) public returns (bool) { | require(spender != address(0)); | | _allowed[msg.sender][spender] = _allowed[msg.sender][spender].add(addedValue); | emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); | return true; | } /** | * @dev Decrease the amount of tokens that an owner allowed to a spender. | * approve should be called when allowed_[_spender] == 0. To decrement | * allowed value is better to use this function to avoid 2 calls (and wait until | * the first transaction is mined) | * From MonolithDAO LuckyBucks.sol | * Emits an Approval event. | * @param spender The address which will spend the funds. | * @param subtractedValue The amount of tokens to decrease the allowance by. | */ | function decreaseAllowance(address spender, uint256 subtractedValue) public returns (bool) { | require(spender != address(0)); | | _allowed[msg.sender][spender] = _allowed[msg.sender][spender].sub(subtractedValue); | emit Approval(msg.sender, spender, _allowed[msg.sender][spender]); | return true; | } | /** | * @dev Function to mint tokens | * @param to The address that will receive the minted tokens. | * @param value The amount of tokens to mint. | * @return A boolean that indicates if the operation was successful. | */ | function mint(address to, uint256 value) public onlyManager returns (bool) { | _mint(to, value); | return true; | } /** | * @dev Transfer token for a specified addresses | * @param from The address to transfer from 0x3C5459BCDE2D5c1eDc4Cc6C6547d6cb360Ce5aE9 | * @param to The address to transfer to 0x79c7702326Da6F61439D552513e9522D41d0d65B | * @param value The amount to be transferred USD $1,135,058.48 | */ | function _transfer(address from, address to, uint256 value) internal { | require(to != address(0)); | | _balances[from] = _balances[from].sub(value); | _balances[to] = _balances[to].add(value); | emit Transfer(from, to, value); | } | /** | * @dev Internal function that mints an amount of the token and assigns it to | * an account. This encapsulates the modification of balances such that the | * proper events are emitted. | * @param account The account that will receive the created tokens. | * @param value The amount that will be created. | */ | function _mint(address account, uint256 value) internal { | require(account != address(0)); | | _totalSupply = _totalSupply.add(value); | _balances[account] = _balances[account].add(value); | emit Transfer(address(0), account, value); | } /** | * @dev Reclaim all ERC20Basic compatible tokens | * @param _token ERC20B The address of the token contract | */ | function reclaimToken(IERC20 _token) external onlyOwner { | uint256 balance = _token.balanceOf(address(this)); | _token.transfer(owner, balance); | } | /** | * @title SafeMath | * @dev Math operations with safety checks that throw on error | */ | library SafeMath { | | /** | * @dev Multiplies two numbers, throws on overflow. | */ | function mul(uint256 a, uint256 b) internal pure returns (uint256) { | if (a == 0) { | return 0; | } | uint256 c = a * b; | assert(c / a == b); | return c; | } /** | * @dev Integer division of two numbers, truncating the quotient. | */ | function div(uint256 a, uint256 b) internal pure returns (uint256) { | // assert(b > 0); // Solidity automatically throws when dividing by 0 | uint256 c = a / b; | // assert(a == b * c + a % b); // There is no case in which this doesn't hold | return c; | } | | /** | * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). | */ | function sub(uint256 a, uint256 b) internal pure returns (uint256) { | assert(b <= a); | return a - b; | } | | /** | * @dev Adds two numbers, throws on overflow. | */ | function add(uint256 a, uint256 b) internal pure returns (uint256) { | uint256 c = a + b; | assert(c >= a); | return c; | }
Beta Was this translation helpful? Give feedback.
All reactions