Transaction Hash:
Block:
5921565 at Jul-07-2018 12:29:59 PM +UTC
Transaction Fee:
0.31914663425 ETH
$687.98
Gas Used:
3,620,495 Gas / 88.15 Gwei
Emitted Events:
Account State Difference:
| Address | Before | After | State Difference | ||
|---|---|---|---|---|---|
| 0x4F516E13...fc2e2773B |
7.24420252185 Eth
Nonce: 40
|
6.9250558876 Eth
Nonce: 41
| 0.31914663425 | ||
|
0x829BD824...93333A830
Miner
| (F2Pool Old) | 4,368.716863600976064674 Eth | 4,369.036010235226064674 Eth | 0.31914663425 | |
| 0xFb5a5513...Ab7f3a98E |
Execution Trace
0x237e0811f2baaccb6e79f7d454202e6f2db53414.bb4c9f0b( )
-
TosToken.transfer( _to=0x6aaDF626f874b9cD42305F4f2012088141136a8f, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xBdEa59B0Ae4Bf9ccd5055BCF5a8d4571a7caFeF3, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x809E4555Bc6dA3475446179b5ca652BA400AD9b4, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x2665BC6CcC11d59F50553Dc7cb7962191F54eB7b, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x5ca5e880EAE1a7A17d00E658a3399Eb1a67B4Bd7, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xF4fDd53912D339326B2dd76438432EE849960BFF, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x0944E5edc4A5AFbec0d1651621297ce077D71857, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xC635cE58Ba9998bF9358Be0B98553e942B1D7843, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x25Ef3E18492838e4cF13889e395C715E4220F097, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x4f170a7eBC64F91c380143199c5a47886c163197, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xa4d8Fdd2e949cCf3e46547B5cdA39090edCE6ba0, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x1E6530E28F967743db2278E4712e6c02a394eb96, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x9085380FFAe1186137b0Cb7505d0167A95153Ea1, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xc633d1c55810516fCDB8bB7782A73B95fCBf9A5E, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x44283e655f4D006B74580ADe49BeC8Eecf56731C, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x217eBE114434b58c9ddB17f040dDCd07cf8eCB38, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xFa9bC7A7951255066674aE71c367B97D8770f636, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x3F9CEE94baeCb41c05D81634448233D3e43F1D0F, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x86f3F5C8c01fF951A2762AF19b50Ccf69459EeD3, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xe39175c7478a133488Ddd3B35AE1833110d823AC, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xFcAE83A536bCCF91c40D256c44C4A22150939849, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x767Fd4848C9C42F2fa332feBa75187E2Bede0940, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x5f26d38053DcbFb5875c86a41C9BF69936fCD699, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x4946496C0a067e3433377Aec641c950f6aC1B0b9, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x001DD7D288485124623c163A3aE700ffA70Bc3fA, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x934383913C6ED9C15A891428D29d4C961b98197b, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x9250500ee015F737E27e72368EF43f5a5d35EcFd, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x1e2De6cc8d6819CA88257B0eD572BEd838e62e73, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x61aB6b7D3dFb9aa17bD336c02e89B54e53BD9fEE, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x26E303CCB9F987A2Ed3d217D3f7a18cEa3279b22, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xE30741d0E8F009b764bdd084D3422C6D03315F0e, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x5f4F7e04f887486EcF16CC5265E3f9b848f41652, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x7446d22C6A036688D3d9B76e41eA3E251627C4E5, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x5407b45DcF0ce16E900df109badFDE7Af883889b, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xc8C926771A8653eb082A8d09e93e7deC181B92b5, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x5E1595EF31fa64A13d314764518a9fe2f9dB52F5, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x52C3694e4710B94b0e073f7d2F24f8c952152d2b, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xDC1d45213D30bd4e5E817236b91eBE36eD584374, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x05d156bB35405c47038782345fb6F895a3D1C0B4, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xa0849D6F559F309223E5e392029Dba3BDB715a46, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xA75dEf9925f6E8ff99DC4A9Bc1B7f2d0434cD2B7, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xFa512F9019FCE63af60Ed88E24Fd68C32cDBa0A2, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x6d5c742518e00675b2909B499C936E8ECD251b91, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x6360c83B5aCf64ac9dC86a1A024fD852aC0e78e7, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xfB140d385a0eaF36EE4dD0DFD71DF80D1Ece898E, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x3fae12a3A35530225ea111b79c973f13AAdD0D8f, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x04664f4f83D066Bd5E89D68C7c8a7C89Ec911294, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xe572409Aa16daeE49626Aa236CaeD1bB58EB4614, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xBA5E1E623d3eBA6e02e559Df3bE1ADC7880B05D2, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xdfCa7F737EEb35DB214D95f93479b70964290217, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x79884b8290af2F976461742B0bE315d3bA0AAF69, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x0A3EE4cddFa2ac70cAe7bed633d83338372820c4, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xBcb5C02f75F12cCaf7ef15cbd72E07Ae93DA22e3, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x612Ead7cC13fA0610552c168c8A9008bc0d18Dd9, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x4cE85508d4F715105692d9449EF1F190D26c8Db9, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x9b5101f2d66446907aFCa6262CB07e64794a6A4a, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xED3644e141790d152beBa2CF85650373BB6e3c4e, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x88a2D6E2Ea7A3B41a376F58bA44FD5eA24fD5706, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xf5FDc7Ed3Dca3Ce6Bd1213bf374B170745765cCF, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xB0104d145447E042b7baF36F41E1F0a6a9D2d415, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x843CBE5708Bc8EAEF8476dF30b389709C67b06f1, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x02bE3B2A093C67bD4812eb1E4fa2bfE120e21948, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xBdf21F4fB04988468Ac2C40b34dB9d6Ea99B2970, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xA87c73a18d8c74b57bDEda3A061Db50A6Ef825C3, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xc5959d234e63AB07a7170E07698bf5dbd6cFdD78, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xe6C34A7c67957298178f5A326d6DbE2E6E8A2B63, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xA7D4628D200dd675F91578323EA04DB858c30D61, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x0A3430B1b5B5390b1DB80DD0d34B04c13983A0cc, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x82BFEe5c64f0009A99919b75fc3D3bDe38f6c4dc, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x4eFEC2095702fbb7E33E757f3A9E2b4E00888Ce6, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xC3E47A582655e927649eDD2702824E7135A0Df6B, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xBDCe2fbD94E01cf309424BEd6f277b1ca779b7DF, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x51fF285463CC1027244125989bA41840C05Ca25e, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x811e98714436544f4997af1556eca6E97a34007f, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x8D3F9e43bfA8f32604aF3c66CA9B7247138277d5, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x00955db36b443912a123F7F924398175f5e46Ed9, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x39a9AC8830d858762F2e922d86190567FeE6e63B, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x2B4a2e36c0AF837aD6b8206f90893cc43e4272ea, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x06E3FB4DD6a8c85aC4d4421396Fe72A843AD5292, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x30d9DaAe3D6B9a504Fc54663B383570193B756C5, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xcbe53bfde4613cC3A9Ee05cc63852411A6E3e52E, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xE3b210f2979dE3DA57a1D6996b52ca2A263a7876, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x2381e7107BD782B5E38dde50dbBbe44504D99F6c, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xAf2f0b0EC4d3C99306093fCdd3273B9225FBf824, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xdF55E3CA02B8d674E272c7B7B66DD54D0F38B034, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x0da8E0Af5b4533F759dAaCfc8EB72e046318653C, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x7800bE167C06FcD07639bE746694f1BC37b7E7F8, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x8EcC469d6c7368Fe2fA3Cc80a116b9f40AFc3608, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x23D63DfdbD1AB23762843c2768533e1AE986984d, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xBa3FAdb0D16cE5CA3B4618A8012186eb87E02293, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x341127b9d280035a2Ae884C32d2B8F6b90940D1E, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x7FB7A65bbAf81000f188346Da1014067F3FdF0E8, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xe9590197d6815472912576B39feF55e22c11a0Ae, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x889d55230D52eF35C694a833f93054524a25Cc88, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x25AE30707D637b58cf386a2acd42BC3E3B1A61a7, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x97481f57b8940905C5cd9784378556c0d5590308, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x6470d11b3914F9dB614dc74779aE9db46C6a52C8, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x445ce2529fe4f68d80eA4925cC400c53548f92eE, _value=1000000000000000000 )
-
TosToken.transfer( _to=0x19d814717Fb4e368c9951D7511b278FA9dFCf675, _value=1000000000000000000 )
-
TosToken.transfer( _to=0xac5B0bAD497Db64092589E10a328BCaf9b72952B, _value=1000000000000000000 )
/**
* Copyright 2018 TosChain Foundation.
*/
pragma solidity ^0.4.16;
/** Owner permissions */
contract owned {
address public owner;
function owned() public {
owner = msg.sender;
}
modifier onlyOwner {
require(msg.sender == owner);
_;
}
function transferOwnership(address newOwner) onlyOwner public {
owner = newOwner;
}
}
interface tokenRecipient { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) public; }
/// ERC20 standard,Define the minimum unit of money to 18 decimal places,
/// transfer out, destroy coins, others use your account spending pocket money.
contract TokenERC20 {
uint256 public totalSupply;
// This creates an array with all balances.
mapping (address => uint256) public balanceOf;
mapping (address => mapping (address => uint256)) public allowance;
// This generates a public event on the blockchain that will notify clients.
event Transfer(address indexed from, address indexed to, uint256 value);
// This notifies clients about the amount burnt.
event Burn(address indexed from, uint256 value);
/**
* Internal transfer, only can be called by this contract.
*/
function _transfer(address _from, address _to, uint _value) internal {
// Prevent transfer to 0x0 address. Use burn() instead.
require(_to != 0x0);
// Check if the sender has enough.
require(balanceOf[_from] >= _value);
// Check for overflows.
require(balanceOf[_to] + _value > balanceOf[_to]);
// Save this for an assertion in the future.
uint previousBalances = balanceOf[_from] + balanceOf[_to];
// Subtract from the sender.
balanceOf[_from] -= _value;
// Add the same to the recipient.
balanceOf[_to] += _value;
Transfer(_from, _to, _value);
// Asserts are used to use static analysis to find bugs in your code. They should never fail.
assert(balanceOf[_from] + balanceOf[_to] == previousBalances);
}
/**
* Transfer tokens
*
* Send `_value` tokens to `_to` from your account.
*
* @param _to The address of the recipient.
* @param _value the amount to send.
*/
function transfer(address _to, uint256 _value) public {
_transfer(msg.sender, _to, _value);
}
/**
* Transfer tokens from other address.
*
* Send `_value` tokens to `_to` in behalf of `_from`.
*
* @param _from The address of the sender.
* @param _to The address of the recipient.
* @param _value the amount to send.
*/
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
// Check allowance
require(_value <= allowance[_from][msg.sender]);
allowance[_from][msg.sender] -= _value;
_transfer(_from, _to, _value);
return true;
}
/**
* Set allowance for other address.
*
* Allows `_spender` to spend no more than `_value` tokens in your behalf.
*
* @param _spender The address authorized to spend.
* @param _value the max amount they can spend.
*/
function approve(address _spender, uint256 _value) public
returns (bool success) {
allowance[msg.sender][_spender] = _value;
return true;
}
/**
* Set allowance for other address and notify.
*
* Allows `_spender` to spend no more than `_value` tokens in your behalf, and then ping the contract about it.
*
* @param _spender The address authorized to spend.
* @param _value the max amount they can spend.
* @param _extraData some extra information to send to the approved contract.
*/
function approveAndCall(address _spender, uint256 _value, bytes _extraData)
public
returns (bool success) {
tokenRecipient spender = tokenRecipient(_spender);
if (approve(_spender, _value)) {
spender.receiveApproval(msg.sender, _value, this, _extraData);
return true;
}
}
/**
* Destroy tokens
*
* Remove `_value` tokens from the system irreversibly.
*
* @param _value the amount of money to burn.
*/
function burn(uint256 _value) public returns (bool success) {
// Check if the sender has enough
require(balanceOf[msg.sender] >= _value);
// Subtract from the sender
balanceOf[msg.sender] -= _value;
// Updates totalSupply
totalSupply -= _value;
Burn(msg.sender, _value);
return true;
}
/**
* Destroy tokens from other account.
*
* Remove `_value` tokens from the system irreversibly on behalf of `_from`.
*
* @param _from the address of the sender.
* @param _value the amount of money to burn.
*/
function burnFrom(address _from, uint256 _value) public returns (bool success) {
// Check if the targeted balance is enough.
require(balanceOf[_from] >= _value);
// Check allowance
require(_value <= allowance[_from][msg.sender]);
// Subtract from the targeted balance.
balanceOf[_from] -= _value;
// Subtract from the sender's allowance.
allowance[_from][msg.sender] -= _value;
// Update totalSupply
totalSupply -= _value;
Burn(_from, _value);
return true;
}
}
/******************************************/
/* TOS TOKEN STARTS HERE */
/******************************************/
/// @title TOS Protocol Token.
contract TosToken is owned, TokenERC20 {
/// The full name of the TOS token.
string public constant name = "ThingsOpreatingSystem";
/// Symbol of the TOS token.
string public constant symbol = "TOS";
/// 18 decimals is the strongly suggested default, avoid changing it.
uint8 public constant decimals = 18;
uint256 public totalSupply = 1000000000 * 10 ** uint256(decimals);
/// Amount of TOS token to first issue.
uint256 public MAX_FUNDING_SUPPLY = totalSupply * 500 / 1000;
/**
* Locked tokens system
*/
/// Stores the address of the locked tokens.
address public lockJackpots;
/// Reward for depositing the TOS token into a locked tokens.
/// uint256 public totalLockReward = totalSupply * 50 / 1000;
/// Remaining rewards in the locked tokens.
uint256 public remainingReward;
/// The start time to lock tokens. 2018/03/15 0:0:0
uint256 public lockStartTime = 1521043200;
/// The last time to lock tokens. 2018/04/29 0:0:0
uint256 public lockDeadline = 1524931200;
/// Release tokens lock time,Timestamp format 1544803200 == 2018/12/15 0:0:0
uint256 public unLockTime = 1544803200;
/// Reward factor for locked tokens
uint public constant NUM_OF_PHASE = 3;
uint[3] public lockRewardsPercentages = [
1000, //100%
500, //50%
300 //30%
];
/// Locked account details
mapping (address => uint256) public lockBalanceOf;
/**
* Freeze the account system
*/
/* This generates a public event on the blockchain that will notify clients. */
mapping (address => bool) public frozenAccount;
event FrozenFunds(address target, bool frozen);
/* Initializes contract with initial supply tokens to the creator of the contract. */
function TosToken() public {
/// Give the creator all initial tokens.
balanceOf[msg.sender] = totalSupply;
}
/**
* transfer token for a specified address.
*
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
*/
function transfer(address _to, uint256 _value) public {
/// Locked account can not complete the transfer.
require(!(lockJackpots != 0x0 && msg.sender == lockJackpots));
/// Transponding the TOS token to a locked tokens account will be deemed a lock-up activity.
if (lockJackpots != 0x0 && _to == lockJackpots) {
_lockToken(_value);
}
else {
/// To unlock the time, automatically unlock tokens.
if (unLockTime <= now && lockBalanceOf[msg.sender] > 0) {
lockBalanceOf[msg.sender] = 0;
}
_transfer(msg.sender, _to, _value);
}
}
/**
* transfer token for a specified address.Internal transfer, only can be called by this contract.
*
* @param _from The address to transfer from.
* @param _to The address to transfer to.
* @param _value The amount to be transferred.
*/
function _transfer(address _from, address _to, uint _value) internal {
// Prevent transfer to 0x0 address. Use burn() instead.
require(_to != 0x0);
//Check for overflows.
require(lockBalanceOf[_from] + _value > lockBalanceOf[_from]);
// Check if the sender has enough.
require(balanceOf[_from] >= lockBalanceOf[_from] + _value);
// Check for overflows.
require(balanceOf[_to] + _value > balanceOf[_to]);
// Check if sender is frozen.
require(!frozenAccount[_from]);
// Check if recipient is frozen.
require(!frozenAccount[_to]);
// Subtract from the sender.
balanceOf[_from] -= _value;
// Add the same to the recipient.
balanceOf[_to] += _value;
Transfer(_from, _to, _value);
}
/**
* `freeze? Prevent | Allow` `target` from sending & receiving tokens.
*
* @param target Address to be frozen.
* @param freeze either to freeze it or not.
*/
function freezeAccount(address target, bool freeze) onlyOwner public {
frozenAccount[target] = freeze;
FrozenFunds(target, freeze);
}
/**
* Increase the token reward.
*
* @param _value Increase the amount of tokens awarded.
*/
function increaseLockReward(uint256 _value) public{
require(_value > 0);
_transfer(msg.sender, lockJackpots, _value * 10 ** uint256(decimals));
_calcRemainReward();
}
/**
* Locked tokens, in the locked token reward calculation and distribution.
*
* @param _lockValue Lock token reward.
*/
function _lockToken(uint256 _lockValue) internal {
/// Lock the tokens necessary safety checks.
require(lockJackpots != 0x0);
require(now >= lockStartTime);
require(now <= lockDeadline);
require(lockBalanceOf[msg.sender] + _lockValue > lockBalanceOf[msg.sender]);
/// Check account tokens must be sufficient.
require(balanceOf[msg.sender] >= lockBalanceOf[msg.sender] + _lockValue);
uint256 _reward = _lockValue * _calcLockRewardPercentage() / 1000;
/// Distribute bonus tokens.
_transfer(lockJackpots, msg.sender, _reward);
/// Save locked accounts and rewards.
lockBalanceOf[msg.sender] += _lockValue + _reward;
_calcRemainReward();
}
uint256 lockRewardFactor;
/* Calculate locked token reward percentage,Actual value: rewardFactor/1000 */
function _calcLockRewardPercentage() internal returns (uint factor){
uint phase = NUM_OF_PHASE * (now - lockStartTime)/( lockDeadline - lockStartTime);
if (phase >= NUM_OF_PHASE) {
phase = NUM_OF_PHASE - 1;
}
lockRewardFactor = lockRewardsPercentages[phase];
return lockRewardFactor;
}
/** The activity is over and the token in the prize pool is sent to the manager for fund development. */
function rewardActivityEnd() onlyOwner public {
/// The activity is over.
require(unLockTime < now);
/// Send the token from the prize pool to the manager.
_transfer(lockJackpots, owner, balanceOf[lockJackpots]);
_calcRemainReward();
}
function() payable public {}
/**
* Set lock token address,only once.
*
* @param newLockJackpots The lock token address.
*/
function setLockJackpots(address newLockJackpots) onlyOwner public {
require(lockJackpots == 0x0 && newLockJackpots != 0x0 && newLockJackpots != owner);
lockJackpots = newLockJackpots;
_calcRemainReward();
}
/** Remaining rewards in the locked tokens. */
function _calcRemainReward() internal {
remainingReward = balanceOf[lockJackpots];
}
function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) {
// Check allowance
require(_from != lockJackpots);
return super.transferFrom(_from, _to, _value);
}
function approve(address _spender, uint256 _value) public
returns (bool success) {
require(msg.sender != lockJackpots);
return super.approve(_spender, _value);
}
function approveAndCall(address _spender, uint256 _value, bytes _extraData)
public
returns (bool success) {
require(msg.sender != lockJackpots);
return super.approveAndCall(_spender, _value, _extraData);
}
function burn(uint256 _value) public returns (bool success) {
require(msg.sender != lockJackpots);
return super.burn(_value);
}
function burnFrom(address _from, uint256 _value) public returns (bool success) {
require(_from != lockJackpots);
return super.burnFrom(_from, _value);
}
}