Contract 0x5c543e7ae0a1104f78406c340e9c64fd9fce5170

 

TxHash Block Age From To Value [TxFee]
0x07523b9a598fd11acd2a85891b03523194ff532ed4edfafa65fd4a3685b24b30720062410 days 3 hrs ago0xdf38dd108bab50da564092ad0cd739c4634d963c IN  vSlice0 Ether0.000077208
0x67b86c06987edf65d7c036687cd4b5087c0e6129864ba47f48599e8d90891bbf718956312 days 9 hrs ago0x4e623b150b847da59f064f7c7fcc9f787dae2229 IN  vSlice0 Ether0.000069776
0x9855b90f7ac2bcb9f71688e101a6b66707f3c00ebb6267c864f5c9029f3cc4ed715675019 days 2 hrs ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.008653886147
0x99ed3a06024a63ee5f3e581c1d81f79d0fd45fdb73dca3df1b835699ecc3f0a7715674319 days 2 hrs ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.010379185891
0x87730b917af8c35002064e03e39a6e1e87231f952350a9f697b8a4f031497c10714843620 days 18 hrs ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.000786703398
0x0850726f0452b7ce30f0991fade1e9cf6c63aa73cf446c41def27de6fd03cb71711808826 days 20 hrs ago0xea1d5aef917d4df6ed3d48fc7945d817b6b2f79c IN  vSlice0 Ether0.0019334
0xb9de32299bf174c1aec94da502a609059e90c85f9f56a6ec8f145c6c514832e2708505233 days 1 hr ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.00155585196
0x67600d337e61039bf795622b2b945dd7fb1797744690c77f3e3f13b10ba920fa707974834 days 26 mins ago0xea1d5aef917d4df6ed3d48fc7945d817b6b2f79c IN  vSlice0 Ether0.0026834
0xcd5950f0e80602543c8be8551581c9d28b2e4c55479d3a3a6935e7f985acde00707971034 days 36 mins ago0xea1d5aef917d4df6ed3d48fc7945d817b6b2f79c IN  vSlice0 Ether0.0026834
0xe69d834573a1799b38811d0aaf990a92a7623c284e0f768aa59dcc2ae68a30c4707625134 days 15 hrs ago0x497cd44a553d4564c02492cfe430b9752f49e4f1 IN  vSlice0 Ether0.0011834
0x77fdd41ab561a15132693300412937f806275b5efc658ed680b02b3fe0b3afc0707531934 days 19 hrs ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.001589348294
0x616d6289f1cda916a51c0a97cf15f718508700ef81bea7eb0bc5cccbfaad7e31705212538 days 23 hrs ago0xea1d5aef917d4df6ed3d48fc7945d817b6b2f79c IN  vSlice0 Ether0.0026802
0x274efa25c37788eb0a3cd36de132973b4ca1f232161d15b2eeefbcf757e110b1703041142 days 20 hrs ago0xea1d5aef917d4df6ed3d48fc7945d817b6b2f79c IN  vSlice0 Ether0.0019366
0xb3f660e995ab05ea78a05b77748343a5b5c1206a75e7ccdb913a85b964099381702563043 days 16 hrs ago0x7a8b16d899ba40f506ccbf2f53d3ced1c696a28f IN  vSlice0 Ether0.0011834
0x5854905b18f0893776af25cca83ffc8a943d47bdcd6159a117c7a979cdd32874702471843 days 20 hrs ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.000952137455
0x4e3896962394d75fa322c014baa9be1c73d239f8a2e55d464ad65a215a24d3f6702466243 days 20 hrs ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.00261937326
0x73dc9fc0291ff25a538c6374c5ac3eea19cb98d3c23100141b95d755f32e0ba4701687245 days 6 hrs ago0x7a8b16d899ba40f506ccbf2f53d3ced1c696a28f IN  vSlice0 Ether0.0011834
0x3a64dbff4f616a8284bc1433ac2fd7decfb6bbab6439cd422797900759eea7c3701554145 days 12 hrs ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.001587697799
0xb19c4d3613d9b2d6b720d529d3d61e5c3acf5c71eb191ba07792a8b58d7c2623701544345 days 12 hrs ago0xea1d5aef917d4df6ed3d48fc7945d817b6b2f79c IN  vSlice0 Ether0.002677
0x559cac7ff63d8d2c085f44c28d1a1034b76e3bb234af346821bf4dd344b00553701203646 days 3 hrs ago0x5c7e064350e1134fc1606bdf6f2fd42f3a003d7b IN  vSlice0 Ether0.0011834
0x8162058b6a768a85b8eddd65d3af6230d35c01ff943e676bfe1a30282e3c5211701085646 days 8 hrs ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.001745435308
0x66312181a7b2591d9b067991e0b9e5b0b4b3e32116f699979af3191ff4960b7c701062746 days 9 hrs ago0x521db06bf657ed1d6c98553a70319a8ddbac75a3 IN  vSlice0 Ether0.00281747426
0x22a2470cf17431bb609296548ed6b7a02ecf55c55a4fab009bd198f142a7c12b700840746 days 18 hrs ago0x96770eca98f29b8771b93de07b8f2cf30977d12a IN  vSlice0 Ether0.0011866
0xa212be71cc7ec2d4d59e327316a2a5fb077c773d90f2e39019821163c9f64f48700782546 days 21 hrs ago0xea1d5aef917d4df6ed3d48fc7945d817b6b2f79c IN  vSlice0 Ether0.0019238
0xbbdaa9f0be7f6adb493fa95b838b4ce12bb4acd7b0c34ef07111464b55a40b9a700781646 days 21 hrs ago0xea1d5aef917d4df6ed3d48fc7945d817b6b2f79c IN  vSlice0 Ether0.0026834
[ Download CSV Export 

Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
Contract Name: Token
Compiler Version: v0.4.4+commit.4633f3de
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.4.0;
/*
This vSlice token contract is based on the ERC20 token contract. Additional
functionality has been integrated:
* the contract Lockable, which is used as a parent of the Token contract
* the function mintTokens(), which makes use of the currentSwapRate() and safeToAdd() helpers
* the function disableTokenSwapLock()
*/

contract Lockable {
    uint public numOfCurrentEpoch;
    uint public creationTime;
    uint public constant UNLOCKED_TIME = 25 days;
    uint public constant LOCKED_TIME = 5 days;
    uint public constant EPOCH_LENGTH = 30 days;
    bool public lock;
    bool public tokenSwapLock;

    event Locked();
    event Unlocked();

    // This modifier should prevent tokens transfers while the tokenswap
    // is still ongoing
    modifier isTokenSwapOn {
        if (tokenSwapLock) throw;
        _;
    }

    // This modifier checks and, if needed, updates the value of current
    // token contract epoch, before executing a token transfer of any
    // kind
    modifier isNewEpoch {
        if (numOfCurrentEpoch * EPOCH_LENGTH + creationTime < now ) {
            numOfCurrentEpoch = (now - creationTime) / EPOCH_LENGTH + 1;
        }
        _;
    }

    // This modifier check whether the contract should be in a locked
    // or unlocked state, then acts and updates accordingly if
    // necessary
    modifier checkLock {
        if ((creationTime + numOfCurrentEpoch * UNLOCKED_TIME) +
        (numOfCurrentEpoch - 1) * LOCKED_TIME < now) {
            // avoids needless lock state change and event spamming
            if (lock) throw;

            lock = true;
            Locked();
            return;
        }
        else {
            // only set to false if in a locked state, to avoid
            // needless state change and event spam
            if (lock) {
                lock = false;
                Unlocked();
            }
        }
        _;
    }

    function Lockable() {
        creationTime = now;
        numOfCurrentEpoch = 1;
        tokenSwapLock = true;
    }
}


contract ERC20 {
    function totalSupply() constant returns (uint);
    function balanceOf(address who) constant returns (uint);
    function allowance(address owner, address spender) constant returns (uint);

    function transfer(address to, uint value) returns (bool ok);
    function transferFrom(address from, address to, uint value) returns (bool ok);
    function approve(address spender, uint value) returns (bool ok);

    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);
}

contract Token is ERC20, Lockable {

  mapping( address => uint ) _balances;
  mapping( address => mapping( address => uint ) ) _approvals;
  uint _supply;
  address public walletAddress;

  event TokenMint(address newTokenHolder, uint amountOfTokens);
  event TokenSwapOver();

  modifier onlyFromWallet {
      if (msg.sender != walletAddress) throw;
      _;
  }

  function Token( uint initial_balance, address wallet) {
    _balances[msg.sender] = initial_balance;
    _supply = initial_balance;
    walletAddress = wallet;
  }

  function totalSupply() constant returns (uint supply) {
    return _supply;
  }

  function balanceOf( address who ) constant returns (uint value) {
    return _balances[who];
  }

  function allowance(address owner, address spender) constant returns (uint _allowance) {
    return _approvals[owner][spender];
  }

  // A helper to notify if overflow occurs
  function safeToAdd(uint a, uint b) internal returns (bool) {
    return (a + b >= a && a + b >= b);
  }

  function transfer( address to, uint value)
    isTokenSwapOn
    isNewEpoch
    checkLock
    returns (bool ok) {

    if( _balances[msg.sender] < value ) {
        throw;
    }
    if( !safeToAdd(_balances[to], value) ) {
        throw;
    }

    _balances[msg.sender] -= value;
    _balances[to] += value;
    Transfer( msg.sender, to, value );
    return true;
  }

  function transferFrom( address from, address to, uint value)
    isTokenSwapOn
    isNewEpoch
    checkLock
    returns (bool ok) {
    // if you don't have enough balance, throw
    if( _balances[from] < value ) {
        throw;
    }
    // if you don't have approval, throw
    if( _approvals[from][msg.sender] < value ) {
        throw;
    }
    if( !safeToAdd(_balances[to], value) ) {
        throw;
    }
    // transfer and return true
    _approvals[from][msg.sender] -= value;
    _balances[from] -= value;
    _balances[to] += value;
    Transfer( from, to, value );
    return true;
  }

  function approve(address spender, uint value)
    isTokenSwapOn
    isNewEpoch
    checkLock
    returns (bool ok) {
    _approvals[msg.sender][spender] = value;
    Approval( msg.sender, spender, value );
    return true;
  }

  // The function currentSwapRate() returns the current exchange rate
  // between vSlice tokens and Ether during the token swap period
  function currentSwapRate() constant returns(uint) {
      if (creationTime + 1 weeks > now) {
          return 130;
      }
      else if (creationTime + 2 weeks > now) {
          return 120;
      }
      else if (creationTime + 4 weeks > now) {
          return 100;
      }
      else {
          return 0;
      }
  }

  // The function mintTokens is only usable by the chosen wallet
  // contract to mint a number of tokens proportional to the
  // amount of ether sent to the wallet contract. The function
  // can only be called during the tokenswap period
  function mintTokens(address newTokenHolder, uint etherAmount)
    external
    onlyFromWallet {

        uint tokensAmount = currentSwapRate() * etherAmount;
        if(!safeToAdd(_balances[newTokenHolder],tokensAmount )) throw;
        if(!safeToAdd(_supply,tokensAmount)) throw;

        _balances[newTokenHolder] += tokensAmount;
        _supply += tokensAmount;

        TokenMint(newTokenHolder, tokensAmount);
  }

  // The function disableTokenSwapLock() is called by the wallet
  // contract once the token swap has reached its end conditions
  function disableTokenSwapLock()
    external
    onlyFromWallet {
        tokenSwapLock = false;
        TokenSwapOver();
  }
}

Contract ABI
[{"constant":true,"inputs":[],"name":"numOfCurrentEpoch","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"supply","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"disableTokenSwapLock","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"currentSwapRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"walletAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"who","type":"address"}],"name":"balanceOf","outputs":[{"name":"value","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"ok","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"EPOCH_LENGTH","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"UNLOCKED_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"LOCKED_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"creationTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"_allowance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"tokenSwapLock","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"newTokenHolder","type":"address"},{"name":"etherAmount","type":"uint256"}],"name":"mintTokens","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"lock","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"inputs":[{"name":"initial_balance","type":"uint256"},{"name":"wallet","type":"address"}],"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newTokenHolder","type":"address"},{"indexed":false,"name":"amountOfTokens","type":"uint256"}],"name":"TokenMint","type":"event"},{"anonymous":false,"inputs":[],"name":"TokenSwapOver","type":"event"},{"anonymous":false,"inputs":[],"name":"Locked","type":"event"},{"anonymous":false,"inputs":[],"name":"Unlocked","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

Contract Creation Code
606060408181528061095a833960a09052516080514260019081556000556002805461ff001916610100179055600160a060020a03331660009081526003602052604090208290556005829055600680546c0100000000000000000000000080840204600160a060020a031990911617905550506108d9806100816000396000f3606060405236156100cf5760e060020a6000350463018e13d081146100d4578063095ea7b3146100e257806318160ddd1461010957806323b872dd146101185780633592f369146101425780635334c231146101655780636ad5b3ea1461017257806370a0823114610189578063a9059cbb146101bc578063ac4746ab146101e3578063b7930507146101f2578063d81dfe3014610201578063d8270dce14610210578063dd62ed3e1461021e578063ef40c3e614610259578063f0dda65c14610270578063f83d08ba1461029c575b610002565b34610002576101aa60005481565b34610002576102ad60043560243560025460009060ff610100909104161561030057610002565b34610002576101aa6005545b90565b34610002576102ad60043560243560443560025460009060ff610100909104161561044457610002565b34610002576102c160065433600160a060020a0390811691161461065157610002565b34610002576101aa6102c8565b34610002576102e4600654600160a060020a031681565b3461000257600160a060020a03600435166000908152600360205260409020545b60408051918252519081900360200190f35b34610002576102ad60043560243560025460009060ff61010090910416156106c357610002565b34610002576101aa62278d0081565b34610002576101aa6220f58081565b34610002576101aa6206978081565b34610002576101aa60015481565b34610002576101aa600435602435600160a060020a038083166000908152600460209081526040808320938516835292905220545b92915050565b34610002576102ad60025460ff6101009091041681565b34610002576102c160043560243560065460009033600160a060020a039081169116146102c357610002565b34610002576102ad60025460ff1681565b604080519115158252519081900360200190f35b005b8161082a5b60004260016000505462093a8001111561068757506082610115565b60408051600160a060020a039092168252519081900360200190f35b4260016000505462278d006000600050540201101561032d5760015462278d009042036001919004016000555b4262069780600160006000505403026220f58060006000505402600160005054010110156103655760025460ff161561040957610002565b60025460ff16156103a4576002805460ff191690556040517f19aad37188a1d3921e29eb3c66acf43d81975e107cb650d58cca878627955fd690600090a15b600160a060020a03338116600081815260046020908152604080832094881680845294825291829020869055815186815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3506001610253565b6002805460ff191660011790556040517f0f2e5b6c72c6a4491efd919a9f9a409f324ef0708c11ee57d410c2cb06c0992b90600090a1610253565b4260016000505462278d00600060005054020110156104715760015462278d009042036001919004016000555b4262069780600160006000505403026220f58060006000505402600160005054010110156104a95760025460ff161561050e57610002565b60025460ff16156104e8576002805460ff191690556040517f19aad37188a1d3921e29eb3c66acf43d81975e107cb650d58cca878627955fd690600090a15b600160a060020a0384166000908152600360205260409020548290101561054c57610002565b6002805460ff191660011790556040517f0f2e5b6c72c6a4491efd919a9f9a409f324ef0708c11ee57d410c2cb06c0992b90600090a15b9392505050565b600160a060020a03808516600090815260046020908152604080832033909416835292905220548290101561058057610002565b600160a060020a0383166000908152600360205260409020546105bc90835b600082828401101580156105b557508182840110155b9050610253565b15156105c757610002565b600160a060020a03808516600081815260046020908152604080832033861684528252808320805488900390558383526003825280832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610545565b6002805461ff00191690556040517f0d27864fb2752ddaaa945c943c62b77c1476125056d0343ab1e2159da779fa4090600090a1565b42600160005054621275000111156106a157506078610115565b426001600050546224ea000111156106bb57506064610115565b506000610115565b4260016000505462278d00600060005054020110156106f05760015462278d009042036001919004016000555b4262069780600160006000505403026220f58060006000505402600160005054010110156107285760025460ff161561040957610002565b60025460ff1615610767576002805460ff191690556040517f19aad37188a1d3921e29eb3c66acf43d81975e107cb650d58cca878627955fd690600090a15b600160a060020a0333166000908152600360205260409020548290101561078d57610002565b600160a060020a0383166000908152600360205260409020546107b0908361059f565b15156107bb57610002565b600160a060020a03338116600081815260036020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610253565b600160a060020a03851660009081526003602052604090205491029150610851908261059f565b151561085c57610002565b600554610869908261059f565b151561087457610002565b600160a060020a03831660008181526003602090815260409182902080548501905560058054850190558151928352820183905280517f36bf5aa3964be01dbd95a0154a8930793fe68353bdc580871ffb2c911366bbc79281900390910190a150505056

Block Age transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.