Contract Overview | CryptexShares
Balance: 0 Ether
Ether Value: $0
Transactions: 15 txns
Token Tracker: Cryptex Shares (CSH)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0x0099f456e88e0bf635f6b2733e4228a2b5749675at txn 0x936991f686ba79ce4d250708585bea3e534c004344166e30486057d2145876f5
 Latest 15 txns

TxHash Age From To Value [TxFee]
0xaa7d9e50ccc5b8331de58fbcb83e0a8891b5cc1b985c182fe76519251cc6975193 days 13 hrs ago0x8fcb1a65253cc1a5298b89d00a126dd0ad986f05  IN   CryptexShares0 Ether0.0001072305
0x66faac7c773b3dee7698778b50f5c561acbd07cd0e006cd627497846635a70c9382 days 10 hrs ago0x9f4c3ed0bcdff39ce22173b620668c76a9eb6fd8  IN   CryptexShares0 Ether0.0004753
0x64c5794c0e7419a6936040e3fc9cb3a4c652ca34cd41efa03f6c91117d320620461 days 8 hrs ago0x7b05871146457978cbf834586ed2e422ca2d5e31  IN   CryptexShares0 Ether0.00130014
0xfcad11b1e0787595201318bc642dc9a85ab672f42bd68f86298d989e5d855cba462 days 9 hrs ago0x9f4c3ed0bcdff39ce22173b620668c76a9eb6fd8  IN   CryptexShares0 Ether0.00129886
0x262c33d488f2d0f997eccef6dd0837c336b41fde280aebdf7bdb400416081697464 days 4 hrs ago0x9f4c3ed0bcdff39ce22173b620668c76a9eb6fd8  IN   CryptexShares0 Ether0.00130014
0xd67b74c9bd0f63383f9a2321f0a16dd656ae8424b265c32b3d25ae7928341612465 days 4 hrs ago0x9f4c3ed0bcdff39ce22173b620668c76a9eb6fd8  IN   CryptexShares0 Ether0.00090712
0x9b034048260c15c9e1e5e78b248bb926de8949207e1f6fb7213eeb0e4e3ce828509 days 10 hrs ago0x9f4c3ed0bcdff39ce22173b620668c76a9eb6fd8  IN   CryptexShares0 Ether0.00090584
0x68db6d71aca62e74ad62e92f8d73f04bd42ae086fa3545e04b951276fb2a4851521 days 4 hrs ago0x0099f456e88e0bf635f6b2733e4228a2b5749675  IN   CryptexShares0 Ether0.00090222
0x9585e85aeb0b818bb8088e83c8d6c95c3343e8b213e1c5e9d66707acb7afc4b1533 days 6 hrs ago0x7b05871146457978cbf834586ed2e422ca2d5e31  IN   CryptexShares0 Ether0.00090584
0x6e8d75f2b3fd5a97cc8f1567b648737ffec537fcc459e352acfae2778c121526533 days 6 hrs ago0x9f4c3ed0bcdff39ce22173b620668c76a9eb6fd8  IN   CryptexShares0 Ether0.00090584
0x0a77c9e87451aee9d793f53e88f0f7cf7ef41717fdd1a5eab9f2557b10846559533 days 6 hrs ago0x7b05871146457978cbf834586ed2e422ca2d5e31  IN   CryptexShares0 Ether0.00090456
0x24c833c35b4f5424198500828093d46768cab3ab4fb08ec24d7044e540bc2eb7535 days 3 hrs ago0x9f4c3ed0bcdff39ce22173b620668c76a9eb6fd8  IN   CryptexShares0 Ether0.00090584
0x2809df4e1bd265459a0f801011ebe90d351001b791302950bed813b561f535f2535 days 4 hrs ago0x0099f456e88e0bf635f6b2733e4228a2b5749675  IN   CryptexShares0 Ether0.001690182
0xef82b03a32c96a9c80ae0b89b934b8b9050dacf754f9ff77a31a399a57ea4b77535 days 6 hrs ago0x0099f456e88e0bf635f6b2733e4228a2b5749675  IN   CryptexShares0 Ether0.00117243
0x936991f686ba79ce4d250708585bea3e534c004344166e30486057d2145876f5535 days 9 hrs ago0x0099f456e88e0bf635f6b2733e4228a2b5749675  IN    Contract Creation0 Ether0.016606674
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Contract Name: ImmutableShares
Compiler Text: v0.4.11+commit.68ef5810
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity ^0.4.11;
    

  contract ERC20Interface {
      // Get the total token supply
      function totalSupply() constant returns (uint256 totalSupply);
   
      // Get the account balance of another account with address _owner
      function balanceOf(address _owner) constant returns (uint256 balance);
   
      // Send _value amount of tokens to address _to
      function transfer(address _to, uint256 _value) returns (bool success);
   
      // Send _value amount of tokens from address _from to address _to
      function transferFrom(address _from, address _to, uint256 _value) returns (bool success);
   
      // Allow _spender to withdraw from your account, multiple times, up to the _value amount.
      // If this function is called again it overwrites the current allowance with _value.
      // this function is required for some DEX functionality
      function approve(address _spender, uint256 _value) returns (bool success);
   
      // Returns the amount which _spender is still allowed to withdraw from _owner
      function allowance(address _owner, address _spender) constant returns (uint256 remaining);
   
      // Triggered when tokens are transferred.
      event Transfer(address indexed _from, address indexed _to, uint256 _value);
   
      // Triggered whenever approve(address _spender, uint256 _value) is called.
      event Approval(address indexed _owner, address indexed _spender, uint256 _value);
  }
   
  contract ImmutableShares is ERC20Interface {
      
     string public constant symbol = "CSH";
      string public constant name = "Cryptex Shares";
      uint8 public constant decimals = 0;
      uint256 _totalSupply = 53000000;
      uint256 public totalSupply;
      uint256 public TotalDividendsPerShare;
      address public fallbackAccount = 0x0099F456e88E0BF635f6B2733e4228a2b5749675; 

      // Owner of this contract
      address public owner;
   
      // Balances for each account
      mapping(address => uint256) public balances;
   
      // Owner of account approves the transfer of an amount to another account
      mapping(address => mapping (address => uint256)) allowed;

      // dividends paid per share
      mapping (address => uint256) public dividendsPaidPerShare;
   
      // Functions with this modifier can only be executed by the owner
      modifier onlyOwner() {
          if (msg.sender != owner) {
              throw;
          }
          _;
      }
   
      // Constructor
      function ImmutableShares() {
          owner = msg.sender;
          balances[owner] = _totalSupply;
	      totalSupply = _totalSupply;  // Update total supply
      }


function isContract(address addr) returns (bool) {
  uint size;
  assembly { size := extcodesize(addr) }
  return size > 0;
  addr=addr;
}

  function changeFallbackAccount(address fallbackAccount_) {
    if (msg.sender != owner) throw;
    fallbackAccount = fallbackAccount_;
  }

//withdraw function
   function withdrawMyDividend() payable {
   bool IsContract = isContract(msg.sender);
   if((balances[msg.sender] > 0) && (!IsContract)){
     uint256 AmountToSendPerShare = TotalDividendsPerShare - dividendsPaidPerShare[msg.sender];
     dividendsPaidPerShare[msg.sender] = TotalDividendsPerShare;
  if((balances[msg.sender]*AmountToSendPerShare) > 0){
     msg.sender.transfer(balances[msg.sender]*AmountToSendPerShare);}
}

if((balances[msg.sender] > 0) && (IsContract)){
     uint256 AmountToSendPerShareEx = TotalDividendsPerShare - dividendsPaidPerShare[msg.sender];
     dividendsPaidPerShare[msg.sender] = TotalDividendsPerShare;
     if((balances[msg.sender]*AmountToSendPerShareEx) > 0){
     fallbackAccount.transfer(balances[msg.sender]*AmountToSendPerShareEx);}
}

   }

//pay receiver’s dividends
  function payReceiver(address ReceiverAddress) payable {
   if(balances[ReceiverAddress] > 0){
     uint256 AmountToSendPerShare = TotalDividendsPerShare - dividendsPaidPerShare[ReceiverAddress];
     dividendsPaidPerShare[ReceiverAddress] = TotalDividendsPerShare;
     if((balances[ReceiverAddress]*AmountToSendPerShare) > 0){
     ReceiverAddress.transfer(balances[ReceiverAddress]*AmountToSendPerShare);}
}

}
   
      function totalSupply() constant returns (uint256 totalSupply) {
          totalSupply = _totalSupply;
      }
   
      // What is the balance of a particular account?
      function balanceOf(address _owner) constant returns (uint256 balance) {
          return balances[_owner];
      }
   
      // Transfer the balance from owner's account to another account
      function transfer(address _to, uint256 _amount) returns (bool success) {
          if (balances[msg.sender] >= _amount 
              && _amount > 0
              && balances[_to] + _amount > balances[_to]) {
       
       withdrawMyDividend();
       payReceiver(_to);

              balances[msg.sender] -= _amount;
              balances[_to] += _amount;
              Transfer(msg.sender, _to, _amount);

       dividendsPaidPerShare[_to] = TotalDividendsPerShare;

              return true;

          } else {
              return false;
          }
      }
   
      // Send _value amount of tokens from address _from to address _to
      // The transferFrom method is used for a withdraw workflow, allowing contracts to send
      // tokens on your behalf, for example to "deposit" to a contract address and/or to charge
      // fees in sub-currencies; the command should fail unless the _from account has
      // deliberately authorized the sender of the message via some mechanism; we propose
      // these standardized APIs for approval:
      function transferFrom(
          address _from,
          address _to,
          uint256 _amount
     ) returns (bool success) {
         if (balances[_from] >= _amount
             && allowed[_from][msg.sender] >= _amount
             && _amount > 0
             && balances[_to] + _amount > balances[_to]) {

       withdrawMyDividend();
       payReceiver(_to);

             balances[_from] -= _amount;
             allowed[_from][msg.sender] -= _amount;
             balances[_to] += _amount;
             Transfer(_from, _to, _amount);

       dividendsPaidPerShare[_from] = TotalDividendsPerShare;     
       dividendsPaidPerShare[_to] = TotalDividendsPerShare;

             return true;
         } else {
             return false;
         }
     }
  
     // Allow _spender to withdraw from your account, multiple times, up to the _value amount.
     // If this function is called again it overwrites the current allowance with _value.
     function approve(address _spender, uint256 _amount) returns (bool success) {
         allowed[msg.sender][_spender] = _amount;
         Approval(msg.sender, _spender, _amount);
         return true;
     }
  
     function allowance(address _owner, address _spender) constant returns (uint256 remaining) {
         return allowed[_owner][_spender];
     }

   /* This unnamed function is called whenever someone tries to send ether to it */
   function () payable {
   if(msg.value != 5300000000000000000) throw; //5.3 ether
   TotalDividendsPerShare += (msg.value/totalSupply);
   }

 }

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_amount","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"addr","type":"address"}],"name":"isContract","outputs":[{"name":"","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"balances","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"ReceiverAddress","type":"address"}],"name":"payReceiver","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[],"name":"withdrawMyDividend","outputs":[],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"TotalDividendsPerShare","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"fallbackAccount_","type":"address"}],"name":"changeFallbackAccount","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"dividendsPaidPerShare","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"fallbackAccount","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"payable":true,"type":"fallback"},{"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 Switch To Opcodes View
6060604052630328b74060005560038054600160a060020a0319167299f456e88e0bf635f6b2733e4228a2b5749675179055341561003957fe5b5b60048054600160a060020a03191633600160a060020a039081169190911791829055600080549290911681526005602052604090208190556001555b5b610b2f806100866000396000f300606060405236156100f95763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610131578063095ea7b3146101c157806316279055146101f457806318160ddd1461022457806323b872dd1461024657806327e235e31461027f578063313ce567146102ad57806332b680d6146102d3578063393eefb8146102e957806340512dcc146102f35780636a4b22da1461031557806370a08231146103335780638da5cb5b1461036157806395d89b411461038d578063a9059cbb1461041d578063c6bd5a1314610450578063d51902cf1461047e578063dd62ed3e146104aa575b61012f5b67498d61eb5d92000034146101125760006000fd5b6001543481151561011f57fe5b600280549290910490910190555b565b005b341561013957fe5b6101416104de565b604080516020808252835181830152835191928392908301918501908083838215610187575b80518252602083111561018757601f199092019160209182019101610167565b505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156101c957fe5b6101e0600160a060020a0360043516602435610515565b604080519115158252519081900360200190f35b34156101fc57fe5b6101e0600160a060020a0360043516610580565b604080519115158252519081900360200190f35b341561022c57fe5b61023461058f565b60408051918252519081900360200190f35b341561024e57fe5b6101e0600160a060020a0360043581169060243516604435610596565b604080519115158252519081900360200190f35b341561028757fe5b610234600160a060020a03600435166106e8565b60408051918252519081900360200190f35b34156102b557fe5b6102bd6106fa565b6040805160ff9092168252519081900360200190f35b61012f600160a060020a03600435166106ff565b005b61012f61079f565b005b34156102fb57fe5b610234610904565b60408051918252519081900360200190f35b341561031d57fe5b61012f600160a060020a036004351661090a565b005b341561033b57fe5b610234600160a060020a0360043516610952565b60408051918252519081900360200190f35b341561036957fe5b610371610971565b60408051600160a060020a039092168252519081900360200190f35b341561039557fe5b610141610980565b604080516020808252835181830152835191928392908301918501908083838215610187575b80518252602083111561018757601f199092019160209182019101610167565b505050905090810190601f1680156101b35780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561042557fe5b6101e0600160a060020a03600435166024356109b7565b604080519115158252519081900360200190f35b341561045857fe5b610234600160a060020a0360043516610ab5565b60408051918252519081900360200190f35b341561048657fe5b610371610ac7565b60408051600160a060020a039092168252519081900360200190f35b34156104b257fe5b610234600160a060020a0360043581169060243516610ad6565b60408051918252519081900360200190f35b60408051808201909152600e81527f4372797074657820536861726573000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260066020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b6000813b908111905b50919050565b6000545b90565b600160a060020a0383166000908152600560205260408120548290108015906105e65750600160a060020a0380851660009081526006602090815260408083203390941683529290522054829010155b80156105f25750600082115b80156106175750600160a060020a038316600090815260056020526040902054828101115b156106dc5761062461079f565b61062d836106ff565b600160a060020a03808516600081815260056020818152604080842080548990039055600682528084203387168552825280842080548990039055948816808452918152918490208054870190558351868152935190937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92908290030190a350600254600160a060020a038085166000908152600760205260408082208490559185168152205560016106e0565b5060005b5b9392505050565b60056020526000908152604090205481565b600081565b600160a060020a038116600090815260056020526040812054819011156107985750600160a060020a038116600090815260076020908152604080832080546002549182905560059093529083205491900391908202111561079857600160a060020a03821660008181526005602052604080822054905190840280156108fc0292909190818181858888f19350505050151561079857fe5b5b5b5b5050565b6000600060006107ae33610580565b600160a060020a033316600090815260056020526040812054919450901180156107d6575082155b1561085257600160a060020a033316600090815260076020908152604080832080546002549182905560059093529083205491900393508302111561085257600160a060020a03331660008181526005602052604080822054905190850280156108fc0292909190818181858888f19350505050151561085257fe5b5b5b600160a060020a0333166000908152600560205260408120541180156108775750825b156108fc5750600160a060020a03331660009081526007602090815260408083208054600254918290556005909352908320549190039190820211156108fc5760035433600160a060020a039081166000908152600560205260408082205490519290931692840280156108fc02929091818181858888f1935050505015156108fc57fe5b5b5b5b505050565b60025481565b60045433600160a060020a039081169116146109265760006000fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b50565b600160a060020a0381166000908152600560205260409020545b919050565b600454600160a060020a031681565b60408051808201909152600381527f4353480000000000000000000000000000000000000000000000000000000000602082015281565b600160a060020a0333166000908152600560205260408120548290108015906109e05750600082115b8015610a055750600160a060020a038316600090815260056020526040902054828101115b15610aa657610a1261079f565b610a1b836106ff565b600160a060020a03338116600081815260056020908152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a350600254600160a060020a038316600090815260076020526040902055600161057a565b50600061057a565b5b92915050565b60076020526000908152604090205481565b600354600160a060020a031681565b600160a060020a038083166000908152600660209081526040808320938516835292905220545b929150505600a165627a7a7230582036e7b4d6df049881fe5c0116f6372538dccd2e679f7c8fc95dec2ffe064ef5950029

   Swarm Source:
bzzr://36e7b4d6df049881fe5c0116f6372538dccd2e679f7c8fc95dec2ffe064ef595

 

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