More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 11,185 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
Value | ||||
---|---|---|---|---|---|---|---|---|---|
Approve | 14242369 | 757 days ago | IN | 0 ETH | 0.00102787 | ||||
Transfer | 13601996 | 857 days ago | IN | 0 ETH | 0.02045911 | ||||
Transfer | 13601764 | 857 days ago | IN | 0 ETH | 0.02862796 | ||||
Transfer | 13251225 | 912 days ago | IN | 0 ETH | 0.01890785 | ||||
Transfer | 12872726 | 971 days ago | IN | 0 ETH | 0.00284592 | ||||
Transfer | 12872608 | 971 days ago | IN | 0 ETH | 0.00298648 | ||||
Transfer | 12871245 | 971 days ago | IN | 0 ETH | 0.00253139 | ||||
Transfer | 12856876 | 973 days ago | IN | 0 ETH | 0.00365882 | ||||
Transfer | 12805737 | 981 days ago | IN | 0 ETH | 0.00036615 | ||||
Transfer | 12804792 | 981 days ago | IN | 0 ETH | 0.00182952 | ||||
Transfer | 12761400 | 988 days ago | IN | 0 ETH | 0.00142287 | ||||
Transfer | 12742671 | 991 days ago | IN | 0 ETH | 0.00317116 | ||||
Transfer | 12724013 | 994 days ago | IN | 0 ETH | 0.00566134 | ||||
Transfer | 12641614 | 1007 days ago | IN | 0 ETH | 0.0040656 | ||||
Transfer | 12569290 | 1018 days ago | IN | 0 ETH | 0.00345555 | ||||
Transfer | 12323397 | 1056 days ago | IN | 0 ETH | 0.00321428 | ||||
Transfer | 12244840 | 1068 days ago | IN | 0 ETH | 0.00295278 | ||||
Transfer | 12244821 | 1068 days ago | IN | 0 ETH | 0.01475812 | ||||
Transfer | 12217237 | 1072 days ago | IN | 0 ETH | 0.01566127 | ||||
Transfer | 12217179 | 1072 days ago | IN | 0 ETH | 0.00451007 | ||||
Transfer | 12217118 | 1073 days ago | IN | 0 ETH | 0.00851365 | ||||
Transfer | 12216424 | 1073 days ago | IN | 0 ETH | 0.02211788 | ||||
Transfer | 12184747 | 1077 days ago | IN | 0 ETH | 0.03688009 | ||||
Transfer | 12138466 | 1085 days ago | IN | 0 ETH | 0.00474163 | ||||
Transfer | 12138423 | 1085 days ago | IN | 0 ETH | 0.00323223 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xEfbdd2ca...daa10012a The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
CSToken
Compiler Version
v0.4.16+commit.d7661dd9
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-08-28 */ pragma solidity ^0.4.2; contract owned { address public owner; function owned() { owner = msg.sender; } function changeOwner(address newOwner) onlyOwner { owner = newOwner; } modifier onlyOwner { require(msg.sender == owner); _; } } contract tokenRecipient {function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData);} contract Utils { /** constructor */ function Utils() { } // validates an address - currently only checks that it isn't null modifier validAddress(address _address) { require(_address != 0x0); _; } // verifies that the address is different than this contract address modifier notThis(address _address) { require(_address != address(this)); _; } // Overflow protected math functions /** @dev returns the sum of _x and _y, asserts if the calculation overflows @param _x value 1 @param _y value 2 @return sum */ function safeAdd(uint256 _x, uint256 _y) internal returns (uint256) { uint256 z = _x + _y; assert(z >= _x); return z; } /** @dev returns the difference of _x minus _y, asserts if the subtraction results in a negative number @param _x minuend @param _y subtrahend @return difference */ function safeSub(uint256 _x, uint256 _y) internal returns (uint256) { assert(_x >= _y); return _x - _y; } } contract CSToken is owned, Utils { struct Dividend {uint256 time; uint256 tenThousandth; uint256 countComplete;} /* Public variables of the token */ string public standard = 'Token 0.1'; string public name = 'KickCoin'; string public symbol = 'KC'; uint8 public decimals = 8; uint256 _totalSupply = 0; /* This creates an array with all balances */ mapping (address => uint256) balances; mapping (address => mapping (uint256 => uint256)) public agingBalanceOf; uint[] agingTimes; Dividend[] dividends; mapping (address => mapping (address => uint256)) allowed; /* This generates a public event on the blockchain that will notify clients */ event Transfer(address indexed from, address indexed to, uint256 value); event AgingTransfer(address indexed from, address indexed to, uint256 value, uint256 agingTime); event Approval(address indexed _owner, address indexed _spender, uint256 _value); // triggered when the total supply is increased event Issuance(uint256 _amount); // triggered when the total supply is decreased event Destruction(uint256 _amount); address[] public addressByIndex; mapping (address => bool) addressAddedToIndex; mapping (address => uint) agingTimesForPools; uint16 currentDividendIndex = 1; mapping (address => uint) calculatedDividendsIndex; bool public transfersEnabled = true; event NewSmartToken(address _token); /* Initializes contract with initial supply tokens to the creator of the contract */ function CSToken() { owner = msg.sender; // So that the index starts with 1 dividends.push(Dividend(0, 0, 0)); // 31.10.2017 09:00:00 dividends.push(Dividend(1509440400, 30, 0)); // 30.11.2017 09:00:00 dividends.push(Dividend(1512032400, 20, 0)); // 31.12.2017 09:00:00 dividends.push(Dividend(1514710800, 10, 0)); // 31.01.2018 09:00:00 dividends.push(Dividend(1517389200, 5, 0)); // 28.02.2018 09:00:00 dividends.push(Dividend(1519808400, 10, 0)); // 31.03.2018 09:00:00 dividends.push(Dividend(1522486800, 20, 0)); // 30.04.2018 09:00:00 dividends.push(Dividend(1525078800, 30, 0)); // 31.05.2018 09:00:00 dividends.push(Dividend(1527757200, 50, 0)); // 30.06.2018 09:00:00 dividends.push(Dividend(1530349200, 30, 0)); // 31.07.2018 09:00:00 dividends.push(Dividend(1533027600, 20, 0)); // 31.08.2018 09:00:00 dividends.push(Dividend(1535706000, 10, 0)); // 30.09.2018 09:00:00 dividends.push(Dividend(1538298000, 5, 0)); // 31.10.2018 09:00:00 dividends.push(Dividend(1540976400, 10, 0)); // 30.11.2018 09:00:00 dividends.push(Dividend(1543568400, 20, 0)); // 31.12.2018 09:00:00 dividends.push(Dividend(1546246800, 30, 0)); // 31.01.2019 09:00:00 dividends.push(Dividend(1548925200, 60, 0)); // 28.02.2019 09:00:00 dividends.push(Dividend(1551344400, 30, 0)); // 31.03.2019 09:00:00 dividends.push(Dividend(1554022800, 20, 0)); // 30.04.2019 09:00:00 dividends.push(Dividend(1556614800, 10, 0)); // 31.05.2019 09:00:00 dividends.push(Dividend(1559307600, 20, 0)); // 30.06.2019 09:00:00 dividends.push(Dividend(1561885200, 30, 0)); // 31.07.2019 09:00:00 dividends.push(Dividend(1564563600, 20, 0)); // 31.08.2019 09:00:00 dividends.push(Dividend(1567242000, 10, 0)); // 30.09.2019 09:00:00 dividends.push(Dividend(1569834000, 5, 0)); NewSmartToken(address(this)); } modifier transfersAllowed { assert(transfersEnabled); _; } function totalSupply() constant returns (uint256 totalSupply) { totalSupply = _totalSupply; } function balanceOf(address _owner) constant returns (uint256 balance) { return balances[_owner]; } function allowance(address _owner, address _spender) constant returns (uint256 remaining) { return allowed[_owner][_spender]; } bool allAgingTimesHasBeenAdded = false; function addAgingTime(uint256 time) onlyOwner { require(!allAgingTimesHasBeenAdded); agingTimes.push(time); } function allAgingTimesAdded() onlyOwner { allAgingTimesHasBeenAdded = true; } function calculateDividends(uint256 limit) { require(now >= dividends[currentDividendIndex].time); require(limit > 0); limit = dividends[currentDividendIndex].countComplete + limit; if (limit > addressByIndex.length) { limit = addressByIndex.length; } for (uint256 i = dividends[currentDividendIndex].countComplete; i < limit; i++) { addDividendsForAddress(addressByIndex[i]); } if (limit == addressByIndex.length) { currentDividendIndex++; } else { dividends[currentDividendIndex].countComplete = limit; } } function addDividendsForAddress(address _address) internal { // skip calculating dividends, if already calculated for this address if (calculatedDividendsIndex[_address] >= currentDividendIndex) return; uint256 add = balances[_address] * dividends[currentDividendIndex].tenThousandth / 1000; balances[_address] += add; Transfer(this, _address, add); Issuance(add); _totalSupply = safeAdd(_totalSupply, add); if (agingBalanceOf[_address][0] > 0) { agingBalanceOf[_address][0] += agingBalanceOf[_address][0] * dividends[currentDividendIndex].tenThousandth / 1000; for (uint256 k = 0; k < agingTimes.length; k++) { agingBalanceOf[_address][agingTimes[k]] += agingBalanceOf[_address][agingTimes[k]] * dividends[currentDividendIndex].tenThousandth / 1000; } } calculatedDividendsIndex[_address] = currentDividendIndex; } /* Send coins */ function transfer(address _to, uint256 _value) transfersAllowed returns (bool success) { checkMyAging(msg.sender); if (now >= dividends[currentDividendIndex].time) { addDividendsForAddress(msg.sender); addDividendsForAddress(_to); } require(accountBalance(msg.sender) >= _value); // Subtract from the sender balances[msg.sender] -= _value; if (agingTimesForPools[msg.sender] > 0 && agingTimesForPools[msg.sender] > now) { addToAging(msg.sender, _to, agingTimesForPools[msg.sender], _value); } balances[_to] = safeAdd(balances[_to], _value); addIndex(_to); Transfer(msg.sender, _to, _value); return true; } function mintToken(address target, uint256 mintedAmount, uint256 agingTime) onlyOwner { if (agingTime > now) { addToAging(owner, target, agingTime, mintedAmount); } balances[target] += mintedAmount; _totalSupply += mintedAmount; Issuance(mintedAmount); addIndex(target); Transfer(this, target, mintedAmount); } function addIndex(address _address) internal { if (!addressAddedToIndex[_address]) { addressAddedToIndex[_address] = true; addressByIndex.push(_address); } } function addToAging(address from, address target, uint256 agingTime, uint256 amount) internal { agingBalanceOf[target][0] += amount; agingBalanceOf[target][agingTime] += amount; AgingTransfer(from, target, amount, agingTime); } /* Allow another contract to spend some tokens in your behalf */ function approve(address _spender, uint256 _value) returns (bool success) { allowed[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } /* Approve and then communicate the approved contract in a single tx */ function approveAndCall(address _spender, uint256 _value, bytes _extraData) returns (bool success) { tokenRecipient spender = tokenRecipient(_spender); if (approve(_spender, _value)) { spender.receiveApproval(msg.sender, _value, this, _extraData); return true; } } /* A contract attempts to get the coins */ function transferFrom(address _from, address _to, uint256 _value) transfersAllowed returns (bool success) { checkMyAging(_from); if (now >= dividends[currentDividendIndex].time) { addDividendsForAddress(_from); addDividendsForAddress(_to); } // Check if the sender has enough require(accountBalance(_from) >= _value); // Check allowed require(_value <= allowed[_from][msg.sender]); // Subtract from the sender balances[_from] -= _value; // Add the same to the recipient balances[_to] = safeAdd(balances[_to], _value); allowed[_from][msg.sender] -= _value; if (agingTimesForPools[_from] > 0 && agingTimesForPools[_from] > now) { addToAging(_from, _to, agingTimesForPools[_from], _value); } addIndex(_to); Transfer(_from, _to, _value); return true; } /* This unnamed function is called whenever someone tries to send ether to it */ function() { revert(); // Prevents accidental sending of ether } function checkMyAging(address sender) internal { if (agingBalanceOf[sender][0] == 0) return; for (uint256 k = 0; k < agingTimes.length; k++) { if (agingTimes[k] < now) { agingBalanceOf[sender][0] -= agingBalanceOf[sender][agingTimes[k]]; agingBalanceOf[sender][agingTimes[k]] = 0; } } } function addAgingTimesForPool(address poolAddress, uint256 agingTime) onlyOwner { agingTimesForPools[poolAddress] = agingTime; } function countAddresses() constant returns (uint256 length) { return addressByIndex.length; } function accountBalance(address _address) constant returns (uint256 balance) { return balances[_address] - agingBalanceOf[_address][0]; } function disableTransfers(bool _disable) public onlyOwner { transfersEnabled = !_disable; } function issue(address _to, uint256 _amount) public onlyOwner validAddress(_to) notThis(_to) { _totalSupply = safeAdd(_totalSupply, _amount); balances[_to] = safeAdd(balances[_to], _amount); addIndex(_to); Issuance(_amount); Transfer(this, _to, _amount); } function destroy(address _from, uint256 _amount) public { checkMyAging(msg.sender); // validate input require(msg.sender == _from || msg.sender == owner); require(accountBalance(_from) >= _amount); balances[_from] = safeSub(balances[_from], _amount); _totalSupply = safeSub(_totalSupply, _amount); Transfer(_from, this, _amount); Destruction(_amount); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"allAgingTimesAdded","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_disable","type":"bool"}],"name":"disableTransfers","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"totalSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"mintedAmount","type":"uint256"},{"name":"agingTime","type":"uint256"}],"name":"mintToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"limit","type":"uint256"}],"name":"calculateDividends","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"standard","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"issue","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"time","type":"uint256"}],"name":"addAgingTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_amount","type":"uint256"}],"name":"destroy","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"transfersEnabled","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_extraData","type":"bytes"}],"name":"approveAndCall","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_address","type":"address"}],"name":"accountBalance","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"addressByIndex","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"agingBalanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"poolAddress","type":"address"},{"name":"agingTime","type":"uint256"}],"name":"addAgingTimesForPool","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"countAddresses","outputs":[{"name":"length","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":false,"stateMutability":"nonpayable","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":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"agingTime","type":"uint256"}],"name":"AgingTransfer","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"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Issuance","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_amount","type":"uint256"}],"name":"Destruction","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_token","type":"address"}],"name":"NewSmartToken","type":"event"}]
Deployed Bytecode
0x606060405236156101515763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663037ca6c4811461016457806306fdde0314610179578063095ea7b3146102045780631608f18f1461023a57806318160ddd1461025457806323a36d2b1461027957806323b872dd146102a05780632cf86006146102dc578063313ce567146102f45780635a3b7e421461031d57806370a08231146103a8578063867904b4146103d95780638d37f52c146103fd5780638da5cb5b1461041557806395d89b4114610444578063a24835d1146104cf578063a6f9dae1146104f3578063a9059cbb14610514578063bef97c871461054a578063cae9ca5114610571578063d294cb0f146105ea578063d8ab92081461061b578063dd62ed3e1461064d578063e27f023614610684578063ea6ca182146106b8578063ec530de6146106dc575b341561015c57600080fd5b5b600080fd5b005b341561016f57600080fd5b610162610701565b005b341561018457600080fd5b61018c61072f565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101c95780820151818401525b6020016101b0565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561020f57600080fd5b610226600160a060020a03600435166024356107cd565b604051901515815260200160405180910390f35b341561024557600080fd5b610162600435151561083a565b005b341561025f57600080fd5b610267610867565b60405190815260200160405180910390f35b341561028457600080fd5b610162600160a060020a036004351660243560443561086e565b005b34156102ab57600080fd5b610226600160a060020a036004358116906024351660443561094a565b604051901515815260200160405180910390f35b34156102e757600080fd5b610162600435610b08565b005b34156102ff57600080fd5b610307610c5b565b60405160ff909116815260200160405180910390f35b341561032857600080fd5b61018c610c64565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101c95780820151818401525b6020016101b0565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156103b357600080fd5b610267600160a060020a0360043516610d02565b60405190815260200160405180910390f35b34156103e457600080fd5b610162600160a060020a0360043516602435610d21565b005b341561040857600080fd5b610162600435610e3a565b005b341561042057600080fd5b610428610e94565b604051600160a060020a03909116815260200160405180910390f35b341561044f57600080fd5b61018c610ea3565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101c95780820151818401525b6020016101b0565b50505050905090810190601f1680156101f65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104da57600080fd5b610162600160a060020a0360043516602435610f41565b005b34156104fe57600080fd5b610162600160a060020a036004351661104b565b005b341561051f57600080fd5b610226600160a060020a0360043516602435611093565b604051901515815260200160405180910390f35b341561055557600080fd5b610226611205565b604051901515815260200160405180910390f35b341561057c57600080fd5b61022660048035600160a060020a03169060248035919060649060443590810190830135806020601f8201819004810201604051908101604052818152929190602084018383808284375094965061120e95505050505050565b604051901515815260200160405180910390f35b34156105f557600080fd5b610267600160a060020a0360043516611342565b60405190815260200160405180910390f35b341561062657600080fd5b610428600435611378565b604051600160a060020a03909116815260200160405180910390f35b341561065857600080fd5b610267600160a060020a03600435811690602435166113aa565b60405190815260200160405180910390f35b341561068f57600080fd5b610267600160a060020a03600435166024356113d7565b60405190815260200160405180910390f35b34156106c357600080fd5b610162600160a060020a03600435166024356113f4565b005b34156106e757600080fd5b610267611430565b60405190815260200160405180910390f35b60005433600160a060020a0390811691161461071c57600080fd5b6010805461ff0019166101001790555b5b565b60028054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107c55780601f1061079a576101008083540402835291602001916107c5565b820191906000526020600020905b8154815290600101906020018083116107a857829003601f168201915b505050505081565b600160a060020a033381166000818152600a6020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60005433600160a060020a0390811691161461085557600080fd5b6010805460ff191682151790555b5b50565b6005545b90565b60005433600160a060020a0390811691161461088957600080fd5b428111156108a9576000546108a990600160a060020a0316848385611437565b5b600160a060020a0383166000908152600660205260409081902080548401905560058054840190557f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc39083905190815260200160405180910390a161090e836114b6565b82600160a060020a031630600160a060020a03166000805160206119ec8339815191528460405190815260200160405180910390a35b5b505050565b60105460009060ff16151561095b57fe5b61096484611542565b600e5460098054909161ffff1690811061097a57fe5b906000526020600020906003020160005b505442106109a55761099c84611661565b6109a583611661565b5b816109b085611342565b10156109bb57600080fd5b600160a060020a038085166000908152600a6020908152604080832033909416835292905220548211156109ee57600080fd5b600160a060020a038085166000908152600660205260408082208054869003905591851681522054610a209083611945565b600160a060020a03808516600090815260066020908152604080832094909455878316808352600a825284832033909416835292815283822080548790039055918152600d90915290812054118015610a915750600160a060020a0384166000908152600d60205260409020544290115b15610abd57600160a060020a0384166000908152600d6020526040902054610abd908590859085611437565b5b610ac7836114b6565b82600160a060020a031684600160a060020a03166000805160206119ec8339815191528460405190815260200160405180910390a35060015b5b9392505050565b600e546009805460009261ffff16908110610b1f57fe5b906000526020600020906003020160005b5054421015610b3e57600080fd5b60008211610b4b57600080fd5b600e5460098054849261ffff16908110610b6157fe5b906000526020600020906003020160005b5060020154600b5491019250821115610b8b57600b5491505b600e5460098054909161ffff16908110610ba157fe5b906000526020600020906003020160005b506002015490505b81811015610c0257610bf9600b82815481101515610bd457fe5b906000526020600020900160005b9054906101000a9004600160a060020a0316611661565b5b600101610bba565b600b54821415610c2957600e805461ffff8082166001011661ffff19909116179055610c56565b600e5460098054849261ffff16908110610c3f57fe5b906000526020600020906003020160005b50600201555b5b5050565b60045460ff1681565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107c55780601f1061079a576101008083540402835291602001916107c5565b820191906000526020600020905b8154815290600101906020018083116107a857829003601f168201915b505050505081565b600160a060020a0381166000908152600660205260409020545b919050565b60005433600160a060020a03908116911614610d3c57600080fd5b81600160a060020a0381161515610d5257600080fd5b8230600160a060020a031681600160a060020a031614151515610d7457600080fd5b610d8060055484611945565b600555600160a060020a038416600090815260066020526040902054610da69084611945565b600160a060020a038516600090815260066020526040902055610dc8846114b6565b7f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38360405190815260200160405180910390a183600160a060020a031630600160a060020a03166000805160206119ec8339815191528560405190815260200160405180910390a35b5b505b505b5050565b60005433600160a060020a03908116911614610e5557600080fd5b601054610100900460ff1615610e6a57600080fd5b6008805460018101610e7c8382611976565b916000526020600020900160005b50829055505b5b50565b600054600160a060020a031681565b60038054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156107c55780601f1061079a576101008083540402835291602001916107c5565b820191906000526020600020905b8154815290600101906020018083116107a857829003601f168201915b505050505081565b610f4a33611542565b81600160a060020a031633600160a060020a03161480610f78575060005433600160a060020a039081169116145b1515610f8357600080fd5b80610f8d83611342565b1015610f9857600080fd5b600160a060020a038216600090815260066020526040902054610fbb908261195f565b600160a060020a038316600090815260066020526040902055600554610fe1908261195f565b600555600160a060020a033081169083166000805160206119ec8339815191528360405190815260200160405180910390a37f9a1b418bc061a5d80270261562e6986a35d995f8051145f277be16103abd34538160405190815260200160405180910390a15b5050565b60005433600160a060020a0390811691161461106657600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0383161790555b5b50565b60105460009060ff1615156110a457fe5b6110ad33611542565b600e5460098054909161ffff169081106110c357fe5b906000526020600020906003020160005b505442106110ee576110e533611661565b6110ee83611661565b5b816110f933611342565b101561110457600080fd5b600160a060020a033316600090815260066020908152604080832080548690039055600d9091528120541180156111535750600160a060020a0333166000908152600d60205260409020544290115b1561117f5733600160a060020a0381166000908152600d602052604090205461117f9190859085611437565b5b600160a060020a0383166000908152600660205260409020546111a39083611945565b600160a060020a0384166000908152600660205260409020556111c5836114b6565b82600160a060020a031633600160a060020a03166000805160206119ec8339815191528460405190815260200160405180910390a35060015b5b92915050565b60105460ff1681565b60008361121b81856107cd565b156113395780600160a060020a0316638f4ffcb1338630876040518563ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018085600160a060020a0316600160a060020a0316815260200184815260200183600160a060020a0316600160a060020a0316815260200180602001828103825283818151815260200191508051906020019080838360005b838110156112d25780820151818401525b6020016112b9565b50505050905090810190601f1680156112ff5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b151561132057600080fd5b6102c65a03f1151561133157600080fd5b505050600191505b5b509392505050565b600160a060020a03811660008181526007602090815260408083208380528252808320549383526006909152902054035b919050565b600b80548290811061138657fe5b906000526020600020900160005b915054906101000a9004600160a060020a031681565b600160a060020a038083166000908152600a60209081526040808320938516835292905220545b92915050565b600760209081526000928352604080842090915290825290205481565b60005433600160a060020a0390811691161461140f57600080fd5b600160a060020a0382166000908152600d602052604090208190555b5b5050565b600b545b90565b600160a060020a0383811660008181526007602090815260408083208380529091528082208054860190558582529081902080548501905590918616907f46a1749a7648b704d1ad3fe33741b13174a4b1641db362e808d00eab7250d10690849086905191825260208201526040908101905180910390a35b50505050565b600160a060020a0381166000908152600c602052604090205460ff16151561086357600160a060020a0381166000908152600c60205260409020805460ff19166001908117909155600b8054909181016115108382611976565b916000526020600020900160005b8154600160a060020a038086166101009390930a92830292021916179055505b5b50565b600160a060020a0381166000908152600760209081526040808320838052909152812054151561157157610c56565b5060005b600854811015610c56574260088281548110151561158f57fe5b906000526020600020900160005b5054101561165357600160a060020a038216600090815260076020526040812060088054919291849081106115ce57fe5b906000526020600020900160005b505481526020808201929092526040908101600090812054600160a060020a03861680835260078086528484208480528087529484208054939093039092558252909252600880548391908590811061163157fe5b906000526020600020900160005b505481526020810191909152604001600020555b5b600101611575565b5b5050565b600e54600160a060020a0382166000908152600f60205260408120549091829161ffff909116901061169257610944565b600e54600980546103e89261ffff169081106116aa57fe5b906000526020600020906003020160005b5060010154600160a060020a038516600090815260066020526040902054028115156116e357fe5b600160a060020a03808616600081815260066020526040908190208054959094049485019093559294503016906000805160206119ec8339815191529085905190815260200160405180910390a37f9386c90217c323f58030f9dadcbc938f807a940f4ff41cd4cead9562f5da7dc38260405190815260200160405180910390a161177060055483611945565b600555600160a060020a0383166000908152600760209081526040808320838052909152812054111561191b57600e54600980546103e89261ffff169081106117b557fe5b906000526020600020906003020160005b5060010154600160a060020a0385166000908152600760209081526040808320838052909152902054028115156117f957fe5b600160a060020a03851660009081526007602090815260408083208380529091528120805493909204909201905590505b60085481101561191b57600e54600980546103e89261ffff1690811061184c57fe5b906000526020600020906003020160005b5060010154600160a060020a0385166000908152600760205260408120600880549192918690811061188b57fe5b906000526020600020900160005b5054815260200190815260200160002054028115156118b457fe5b046007600085600160a060020a0316600160a060020a0316815260200190815260200160002060006008848154811015156118eb57fe5b906000526020600020900160005b505481526020810191909152604001600020805490910190555b60010161182a565b5b600e54600160a060020a0384166000908152600f6020526040902061ffff90911690555b505050565b60008282018381101561195457fe5b8091505b5092915050565b60008183101561196b57fe5b508082035b92915050565b815481835581811511610944576000838152602090206109449181019083016119ca565b5b505050565b815481835581811511610944576000838152602090206109449181019083016119ca565b5b505050565b61086b91905b808211156119e457600081556001016119d0565b5090565b905600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582051d50aa285e195edae4771702454d4527b0b5f02d3b5f70ca5d39956b88770f80029
Swarm Source
bzzr://51d50aa285e195edae4771702454d4527b0b5f02d3b5f70ca5d39956b88770f8
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 23 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.