Overview
ETH Balance
0.0017417322 ETH
Eth Value
$5.94 (@ $3,412.51/ETH)More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 54 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 8693156 | 1936 days ago | IN | 0 ETH | 0.00065721 | ||||
Approve | 6596885 | 2280 days ago | IN | 0 ETH | 0.00018202 | ||||
Transfer | 6099764 | 2362 days ago | IN | 0 ETH | 0.00024509 | ||||
Transfer | 6096631 | 2363 days ago | IN | 0 ETH | 0.00005618 | ||||
Approve | 6094175 | 2363 days ago | IN | 0 ETH | 0.00018253 | ||||
Transfer | 6094166 | 2363 days ago | IN | 0 ETH | 0.00002444 | ||||
Transfer | 6094160 | 2363 days ago | IN | 0 ETH | 0.00153832 | ||||
Transfer | 6094105 | 2363 days ago | IN | 0 ETH | 0.00006932 | ||||
Approve | 6093315 | 2363 days ago | IN | 0 ETH | 0.00018227 | ||||
Transfer | 6093134 | 2363 days ago | IN | 0 ETH | 0.00092069 | ||||
Transfer | 6091605 | 2364 days ago | IN | 0 ETH | 0.00003177 | ||||
Transfer | 6091599 | 2364 days ago | IN | 0 ETH | 0.00004869 | ||||
Transfer | 6090954 | 2364 days ago | IN | 0 ETH | 0.00006347 | ||||
Transfer | 6090954 | 2364 days ago | IN | 0 ETH | 0.00006287 | ||||
Transfer | 6088267 | 2364 days ago | IN | 0 ETH | 0.00005245 | ||||
Approve | 6087955 | 2364 days ago | IN | 0 ETH | 0.00018202 | ||||
Transfer | 6087899 | 2364 days ago | IN | 0 ETH | 0.00153832 | ||||
Transfer | 6087837 | 2364 days ago | IN | 0 ETH | 0.00007878 | ||||
Approve | 6087026 | 2364 days ago | IN | 0 ETH | 0.00018202 | ||||
Approve | 6087026 | 2364 days ago | IN | 0 ETH | 0.00018202 | ||||
Transfer | 6087013 | 2364 days ago | IN | 0 ETH | 0.00004524 | ||||
Transfer | 6079639 | 2366 days ago | IN | 0 ETH | 0.00011554 | ||||
Transfer | 6078441 | 2366 days ago | IN | 0 ETH | 0.00014956 | ||||
Approve | 6070389 | 2367 days ago | IN | 0 ETH | 0.00018227 | ||||
Approve | 6064639 | 2368 days ago | IN | 0 ETH | 0.00018227 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
6065472 | 2368 days ago | 0.01 ETH | ||||
6065472 | 2368 days ago | 0.01 ETH | ||||
6065472 | 2368 days ago | 0.01 ETH | ||||
6065472 | 2368 days ago | 0.01 ETH | ||||
6065472 | 2368 days ago | 0.01 ETH | ||||
6065472 | 2368 days ago | 0.01 ETH | ||||
6065472 | 2368 days ago | 0.01 ETH | ||||
6065472 | 2368 days ago | 0.01 ETH | ||||
6065472 | 2368 days ago | 0.01 ETH | ||||
6065472 | 2368 days ago | 0.003 ETH | ||||
6065472 | 2368 days ago | 0.01 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH | ||||
6065456 | 2368 days ago | 0.099 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ReferToken
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-06-22 */ pragma solidity ^0.4.18; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 c = a * b; assert(c / a == b); return c; } function div(uint256 a, uint256 b) internal pure returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract ERC20Basic { uint256 public totalSupply; event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); function transferFrom(address _from, address _to, uint256 _value) public returns (bool success); function approve(address _spender, uint256 _value) public returns (bool success); function allowance(address _owner, address _spender) public constant returns (uint256 remaining); } contract ReferTokenERC20Basic is ERC20Basic { using SafeMath for uint256; mapping(address => uint256) rewardBalances; mapping(address => mapping(address => uint256)) allow; function _transfer(address _from, address _to, uint256 _value) private returns (bool) { require(_to != address(0)); require(_value <= rewardBalances[_from]); // SafeMath.sub will throw an error if there is not enough balance. rewardBalances[_from] = rewardBalances[_from].sub(_value); rewardBalances[_to] = rewardBalances[_to].add(_value); Transfer(_from, _to, _value); return true; } function transfer(address _to, uint256 _value) public returns (bool) { return _transfer(msg.sender, _to, _value); } function balanceOf(address _owner) public view returns (uint256 balance) { return rewardBalances[_owner]; } function transferFrom(address _from, address _to, uint256 _value) public returns (bool success) { require(_from != msg.sender); require(allow[_from][msg.sender] > _value || allow[_from][msg.sender] == _value); success = _transfer(_from, _to, _value); if (success) { allow[_from][msg.sender] = allow[_from][msg.sender].sub(_value); } return success; } function approve(address _spender, uint256 _value) public returns (bool success) { allow[msg.sender][_spender] = _value; Approval(msg.sender, _spender, _value); return true; } function allowance(address _owner, address _spender) public constant returns (uint256 remaining) { return allow[_owner][_spender]; } } contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ function Ownable() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } contract MintableToken is Ownable { event Mint(address indexed to, uint256 amount); event MintFinished(); bool public mintingFinished = false; modifier canMint() { require(!mintingFinished); _; } /** * @dev Function to stop minting new tokens. * @return True if the operation was successful. */ function finishMinting() onlyOwner canMint public returns (bool) { mintingFinished = true; MintFinished(); return true; } } contract PackageContract is ReferTokenERC20Basic, MintableToken { uint constant daysPerMonth = 30; mapping(uint => mapping(string => uint256)) internal packageType; struct Package { uint256 since; uint256 tokenValue; uint256 kindOf; } mapping(address => Package) internal userPackages; function PackageContract() public { packageType[2]['fee'] = 30; packageType[2]['reward'] = 20; packageType[4]['fee'] = 35; packageType[4]['reward'] = 25; } function depositMint(address _to, uint256 _amount, uint _kindOfPackage) canMint internal returns (bool) { return depositMintSince(_to, _amount, _kindOfPackage, now); } function depositMintSince(address _to, uint256 _amount, uint _kindOfPackage, uint since) canMint internal returns (bool) { totalSupply = totalSupply.add(_amount); Package memory pac; pac = Package({since : since, tokenValue : _amount, kindOf : _kindOfPackage}); Mint(_to, _amount); Transfer(address(0), _to, _amount); userPackages[_to] = pac; return true; } function depositBalanceOf(address _owner) public view returns (uint256 balance) { return userPackages[_owner].tokenValue; } function getKindOfPackage(address _owner) public view returns (uint256) { return userPackages[_owner].kindOf; } } contract ColdWalletToken is PackageContract { address internal coldWalletAddress; uint internal percentageCW = 30; event CWStorageTransferred(address indexed previousCWAddress, address indexed newCWAddress); event CWPercentageChanged(uint previousPCW, uint newPCW); function setColdWalletAddress(address _newCWAddress) onlyOwner public { require(_newCWAddress != coldWalletAddress && _newCWAddress != address(0)); CWStorageTransferred(coldWalletAddress, _newCWAddress); coldWalletAddress = _newCWAddress; } function getColdWalletAddress() onlyOwner public view returns (address) { return coldWalletAddress; } function setPercentageCW(uint _newPCW) onlyOwner public { require(_newPCW != percentageCW && _newPCW < 100); CWPercentageChanged(percentageCW, _newPCW); percentageCW = _newPCW; } function getPercentageCW() onlyOwner public view returns (uint) { return percentageCW; } function saveToCW() onlyOwner public { coldWalletAddress.transfer(this.balance.mul(percentageCW).div(100)); } } contract StatusContract is Ownable { mapping(uint => mapping(string => uint[])) internal statusRewardsMap; mapping(address => uint) internal statuses; event StatusChanged(address participant, uint newStatus); function StatusContract() public { statusRewardsMap[1]['deposit'] = [3, 2, 1]; statusRewardsMap[1]['refReward'] = [3, 1, 1]; statusRewardsMap[2]['deposit'] = [7, 3, 1]; statusRewardsMap[2]['refReward'] = [5, 3, 1]; statusRewardsMap[3]['deposit'] = [10, 3, 1, 1, 1]; statusRewardsMap[3]['refReward'] = [7, 3, 3, 1, 1]; statusRewardsMap[4]['deposit'] = [10, 5, 3, 3, 1]; statusRewardsMap[4]['refReward'] = [10, 5, 3, 3, 3]; statusRewardsMap[5]['deposit'] = [12, 5, 3, 3, 3]; statusRewardsMap[5]['refReward'] = [10, 7, 5, 3, 3]; } function getStatusOf(address participant) public view returns (uint) { return statuses[participant]; } function setStatus(address participant, uint8 status) public onlyOwner returns (bool) { return setStatusInternal(participant, status); } function setStatusInternal(address participant, uint8 status) internal returns (bool) { require(statuses[participant] != status && status > 0 && status <= 5); statuses[participant] = status; StatusChanged(participant, status); return true; } } contract ReferTreeContract is Ownable { mapping(address => address) public referTree; event TreeStructChanged(address sender, address parentSender); function checkTreeStructure(address sender, address parentSender) onlyOwner public { setTreeStructure(sender, parentSender); } function setTreeStructure(address sender, address parentSender) internal { require(referTree[sender] == 0x0); require(sender != parentSender); referTree[sender] = parentSender; TreeStructChanged(sender, parentSender); } } contract ReferToken is ColdWalletToken, StatusContract, ReferTreeContract { string public constant name = "EtherState"; string public constant symbol = "ETHS"; uint256 public constant decimals = 18; uint256 public totalSupply = 0; uint256 public constant hardCap = 10000000 * 1 ether; mapping(address => uint256) private lastPayoutAddress; uint private rate = 100; uint public constant depth = 5; event RateChanged(uint previousRate, uint newRate); event DataReceived(bytes data); event RefererAddressReceived(address referer); function depositMintAndPay(address _to, uint256 _amount, uint _kindOfPackage) canMint private returns (bool) { require(userPackages[_to].since == 0); _amount = _amount.mul(rate); if (depositMint(_to, _amount, _kindOfPackage)) { payToReferer(_to, _amount, 'deposit'); lastPayoutAddress[_to] = now; } } function rewardMint(address _to, uint256 _amount) private returns (bool) { rewardBalances[_to] = rewardBalances[_to].add(_amount); Mint(_to, _amount); Transfer(address(0), _to, _amount); return true; } function payToReferer(address sender, uint256 _amount, string _key) private { address currentReferral = sender; uint currentStatus = 0; uint256 refValue = 0; for (uint level = 0; level < depth; ++level) { currentReferral = referTree[currentReferral]; if (currentReferral == 0x0) { break; } currentStatus = statuses[currentReferral]; if (currentStatus < 3 && level >= 3) { continue; } refValue = _amount.mul(statusRewardsMap[currentStatus][_key][level]).div(100); rewardMint(currentReferral, refValue); } } function AddressDailyReward(address rewarded) public { require(lastPayoutAddress[rewarded] != 0 && (now - lastPayoutAddress[rewarded]).div(1 days) > 0); uint256 n = (now - lastPayoutAddress[rewarded]).div(1 days); uint256 refValue = 0; if (userPackages[rewarded].kindOf != 0) { refValue = userPackages[rewarded].tokenValue.mul(n).mul(packageType[userPackages[rewarded].kindOf]['reward']).div(30).div(100); rewardMint(rewarded, refValue); payToReferer(rewarded, userPackages[rewarded].tokenValue, 'refReward'); } if (n > 0) { lastPayoutAddress[rewarded] = now; } } function() external payable { require(totalSupply < hardCap); coldWalletAddress.transfer(msg.value.mul(percentageCW).div(100)); bytes memory data = bytes(msg.data); DataReceived(data); address referer = getRefererAddress(data); RefererAddressReceived(referer); setTreeStructure(msg.sender, referer); setStatusInternal(msg.sender, 1); uint8 kind = getReferralPackageKind(data); depositMintAndPay(msg.sender, msg.value, kind); } function getRefererAddress(bytes data) private pure returns (address) { if (data.length == 1 || data.length == 0) { return address(0); } uint256 referer_address; uint256 factor = 1; for (uint i = 20; i > 0; i--) { referer_address += uint8(data[i - 1]) * factor; factor = factor * 256; } return address(referer_address); } function getReferralPackageKind(bytes data) private pure returns (uint8) { if (data.length == 0) { return 4; } if (data.length == 1) { return uint8(data[0]); } return uint8(data[20]); } function withdraw() public { require(userPackages[msg.sender].tokenValue != 0); uint256 withdrawValue = userPackages[msg.sender].tokenValue.div(rate); uint256 dateDiff = now - userPackages[msg.sender].since; if (dateDiff < userPackages[msg.sender].kindOf.mul(30 days)) { uint256 fee = withdrawValue.mul(packageType[userPackages[msg.sender].kindOf]['fee']).div(100); withdrawValue = withdrawValue.sub(fee); coldWalletAddress.transfer(fee); userPackages[msg.sender].tokenValue = 0; } msg.sender.transfer(withdrawValue); } function createRawDeposit(address sender, uint256 _value, uint d, uint since) onlyOwner public { depositMintSince(sender, _value, d, since); } function createDeposit(address sender, uint256 _value, uint d) onlyOwner public { depositMintAndPay(sender, _value, d); } function setRate(uint _newRate) onlyOwner public { require(_newRate != rate && _newRate > 0); RateChanged(rate, _newRate); rate = _newRate; } function getRate() public view returns (uint) { return rate; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"mintingFinished","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":true,"inputs":[{"name":"","type":"address"}],"name":"referTree","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"_value","type":"uint256"},{"name":"d","type":"uint256"},{"name":"since","type":"uint256"}],"name":"createRawDeposit","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":"rewarded","type":"address"}],"name":"AddressDailyReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"participant","type":"address"},{"name":"status","type":"uint8"}],"name":"setStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"_value","type":"uint256"},{"name":"d","type":"uint256"}],"name":"createDeposit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newRate","type":"uint256"}],"name":"setRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"depth","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"participant","type":"address"}],"name":"getStatusOf","outputs":[{"name":"","type":"uint256"}],"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":"finishMinting","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"sender","type":"address"},{"name":"parentSender","type":"address"}],"name":"checkTreeStructure","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newPCW","type":"uint256"}],"name":"setPercentageCW","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getKindOfPackage","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getColdWalletAddress","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":"getPercentageCW","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newCWAddress","type":"address"}],"name":"setColdWalletAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"hardCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"depositBalanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"saveToCW","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousRate","type":"uint256"},{"indexed":false,"name":"newRate","type":"uint256"}],"name":"RateChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"data","type":"bytes"}],"name":"DataReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"referer","type":"address"}],"name":"RefererAddressReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"sender","type":"address"},{"indexed":false,"name":"parentSender","type":"address"}],"name":"TreeStructChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"participant","type":"address"},{"indexed":false,"name":"newStatus","type":"uint256"}],"name":"StatusChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousCWAddress","type":"address"},{"indexed":true,"name":"newCWAddress","type":"address"}],"name":"CWStorageTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"previousPCW","type":"uint256"},{"indexed":false,"name":"newPCW","type":"uint256"}],"name":"CWPercentageChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"Mint","type":"event"},{"anonymous":false,"inputs":[],"name":"MintFinished","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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
6060604090815260038054601e60078190556000600b8190556064600d55600160a860020a031990921633600160a060020a03161790925560029052600460205290600080516020620022ab83398151915290517f66656500000000000000000000000000000000000000000000000000000000008152600381019190915260230160405190819003902055600260005260046020526014600080516020620022ab8339815191526040517f726577617264000000000000000000000000000000000000000000000000000081526006810191909152602601604051908190039020556004600081905260205260236000805160206200224b8339815191526040517f666565000000000000000000000000000000000000000000000000000000000081526003810191909152602301604051908190039020556004600081905260205260196000805160206200224b8339815191526040517f72657761726400000000000000000000000000000000000000000000000000008152600681019190915260260160405190819003902055606060405190810160409081526003825260026020808401919091526001828401819052600052600890526000805160206200222b83398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000211916003620006fe565b50606060405190810160409081526003825260016020808401829052828401829052600091909152600890526000805160206200222b83398151915290517f72656652657761726400000000000000000000000000000000000000000000008152600981019190915260290160405190819003902062000293916003620006fe565b50606060405190810160409081526007825260036020808401919091526001828401526002600052600890526000805160206200220b83398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000315916003620006fe565b50606060405190810160409081526005825260036020808401919091526001828401526002600052600890526000805160206200220b83398151915290517f72656652657761726400000000000000000000000000000000000000000000008152600981019190915260290160405190819003902062000397916003620006fe565b5060a06040519081016040908152600a825260036020808401829052600183850181905260608501819052608085015260009190915260089052600080516020620021eb83398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000427916005620006fe565b5060a060405190810160409081526007825260036020808401829052828401829052600160608501819052608085015260009190915260089052600080516020620021eb83398151915290517f726566526577617264000000000000000000000000000000000000000000000081526009810191909152602901604051908190039020620004b7916005620006fe565b5060a06040519081016040908152600a8252600560208084019190915260038284018190526060840152600160808401526004600052600890526000805160206200228b83398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000547916005620006fe565b5060a06040519081016040908152600a8252600560208084019190915260038284018190526060840181905260808401526004600052600890526000805160206200228b83398151915290517f726566526577617264000000000000000000000000000000000000000000000081526009810191909152602901604051908190039020620005d7916005620006fe565b5060a06040519081016040908152600c8252600560208084018290526003838501819052606085018190526080850152600091909152600890526000805160206200226b83398151915290517f6465706f736974000000000000000000000000000000000000000000000000008152600781019190915260270160405190819003902062000667916005620006fe565b5060a06040519081016040908152600a8252600760208084019190915260058284018190526003606085018190526080850152600052600890526000805160206200226b83398151915290517f726566526577617264000000000000000000000000000000000000000000000081526009810191909152602901604051908190039020620006f7916005620006fe565b5062000773565b82805482825590600052602060002090810192821562000741579160200282015b8281111562000741578251829060ff169055916020019190600101906200071f565b506200074f92915062000753565b5090565b6200077091905b808211156200074f57600081556001016200075a565b90565b611a6880620007836000396000f3006060604052600436106101955763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461036457806306fdde031461038b578063095ea7b314610415578063107067981461043757806318160ddd1461047257806322734c0c1461049757806323b872dd146104c157806324463cbe146104e9578063278e07ce146105085780632f9c1df61461052d578063313ce5671461055257806334fcf437146105655780633ccfd60b1461057b578063631c56ef1461058e578063679aefce146105a15780636b89bfc7146105b457806370a08231146105d35780637d64bcb4146105f25780637eb30cd0146106055780638da5cb5b1461062a57806392a8424d1461063d57806395d89b4114610653578063a9059cbb14610666578063b955b95c14610688578063d5477d37146106a7578063dd62ed3e146106ba578063e863a122146106df578063f2fde38b146106f2578063f477c2b914610711578063fb86a40414610730578063fba13bd014610743578063fcb5ced314610762575b61019d611a08565b6000806a084595161401484a000000600b541015156101bb57600080fd5b600654600754600160a060020a03909116906108fc906101f5906064906101e990349063ffffffff61077516565b9063ffffffff6107ab16565b9081150290604051600060405180830381858888f19350505050151561021a57600080fd5b6000368080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505092507fc0629c5930c116f6e8c1eed6df81fc90be33cc9a751b2188394105dea097b0248360405160208082528190810183818151815260200191508051906020019080838360005b838110156102ad578082015183820152602001610295565b50505050905090810190601f1680156102da5780820380516001836020036101000a031916815260200191505b509250505060405180910390a16102f0836107c2565b91507fb710fec1570d614bb4e2a9b6c2fef7fdbccbc73f3988a20dd02e4ba7dacc7d4682604051600160a060020a03909116815260200160405180910390a1610339338361083d565b610344336001610904565b5061034e836109be565b905061035e33348360ff16610a35565b50505050005b341561036f57600080fd5b610377610af9565b604051901515815260200160405180910390f35b341561039657600080fd5b61039e610b09565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156103da5780820151838201526020016103c2565b50505050905090810190601f1680156104075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561042057600080fd5b610377600160a060020a0360043516602435610b40565b341561044257600080fd5b610456600160a060020a0360043516610bac565b604051600160a060020a03909116815260200160405180910390f35b341561047d57600080fd5b610485610bc7565b60405190815260200160405180910390f35b34156104a257600080fd5b6104bf600160a060020a0360043516602435604435606435610bcd565b005b34156104cc57600080fd5b610377600160a060020a0360043581169060243516604435610bfb565b34156104f457600080fd5b6104bf600160a060020a0360043516610cfb565b341561051357600080fd5b610377600160a060020a036004351660ff60243516610eec565b341561053857600080fd5b6104bf600160a060020a0360043516602435604435610f14565b341561055d57600080fd5b610485610f40565b341561057057600080fd5b6104bf600435610f45565b341561058657600080fd5b6104bf610fbe565b341561059957600080fd5b610485611169565b34156105ac57600080fd5b61048561116e565b34156105bf57600080fd5b610485600160a060020a0360043516611174565b34156105de57600080fd5b610485600160a060020a036004351661118f565b34156105fd57600080fd5b6103776111aa565b341561061057600080fd5b6104bf600160a060020a0360043581169060243516611235565b341561063557600080fd5b61045661125e565b341561064857600080fd5b6104bf60043561126d565b341561065e57600080fd5b61039e6112e6565b341561067157600080fd5b610377600160a060020a036004351660243561131d565b341561069357600080fd5b610485600160a060020a036004351661132a565b34156106b257600080fd5b610456611348565b34156106c557600080fd5b610485600160a060020a0360043581169060243516611376565b34156106ea57600080fd5b6104856113a1565b34156106fd57600080fd5b6104bf600160a060020a03600435166113c6565b341561071c57600080fd5b6104bf600160a060020a0360043516611461565b341561073b57600080fd5b610485611518565b341561074e57600080fd5b610485600160a060020a0360043516611527565b341561076d57600080fd5b6104bf611545565b60008083151561078857600091506107a4565b5082820282848281151561079857fe5b04146107a057fe5b8091505b5092915050565b60008082848115156107b957fe5b04949350505050565b6000806000808451600114806107d757508451155b156107e55760009350610835565b506001905060145b6000811115610831578185600183038151811061080657fe5b016020015160f860020a9081900481020460ff160292909201916101009190910290600019016107ed565b8293505b505050919050565b600160a060020a038083166000908152600a6020526040902054161561086257600080fd5b600160a060020a03828116908216141561087b57600080fd5b600160a060020a038281166000908152600a602052604090819020805473ffffffffffffffffffffffffffffffffffffffff1916928416929092179091557f8605db4fd34b21902199dd05165b79bd4bc899ae42bd9cb38852d735aacc3f07908390839051600160a060020a039283168152911660208201526040908101905180910390a15050565b600160a060020a03821660009081526009602052604081205460ff831614801590610932575060008260ff16115b8015610942575060058260ff1611155b151561094d57600080fd5b600160a060020a0383166000908152600960205260409081902060ff841690557fe1ed16dd06bcc126f351434bbb6b798e0790aaa1eb908db3d9e3c83f001f1e25908490849051600160a060020a03909216825260ff1660208201526040908101905180910390a150600192915050565b6000815115156109d057506004610a30565b815160011415610a0757816000815181106109e757fe5b016020015160f860020a900460f860020a0260f860020a90049050610a30565b81601481518110610a1457fe5b016020015160f860020a900460f860020a0260f860020a900490505b919050565b60035460009060a060020a900460ff1615610a4f57600080fd5b600160a060020a03841660009081526005602052604090205415610a7257600080fd5b600d54610a8690849063ffffffff61077516565b9250610a938484846115b7565b15610af257610ad6848460408051908101604052600781527f6465706f7369740000000000000000000000000000000000000000000000000060208201526115e5565b600160a060020a0384166000908152600c602052604090204290555b9392505050565b60035460a060020a900460ff1681565b60408051908101604052600a81527f4574686572537461746500000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600a60205260009081526040902054600160a060020a031681565b600b5481565b60035433600160a060020a03908116911614610be857600080fd5b610bf484848484611717565b5050505050565b600033600160a060020a031684600160a060020a031614151515610c1e57600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482901180610c785750600160a060020a038085166000908152600260209081526040808320339094168352929052205482145b1515610c8357600080fd5b610c8e848484611829565b90508015610af257600160a060020a0380851660009081526002602090815260408083203390941683529290522054610ccd908363ffffffff61192416565b600160a060020a03808616600090815260026020908152604080832033909416835292905220559392505050565b600160a060020a0381166000908152600c6020526040812054819015801590610d4f5750600160a060020a0383166000908152600c6020526040812054610d4d9042036201518063ffffffff6107ab16565b115b1515610d5a57600080fd5b600160a060020a0383166000908152600c6020526040902054610d889042036201518063ffffffff6107ab16565b600160a060020a038416600090815260056020526040812060020154919350915015610ec257600160a060020a0383166000908152600560209081526040808320600201548352600490915290819020610e59916064916101e991601e918391517f72657761726400000000000000000000000000000000000000000000000000008152600681019190915260260160405190819003902054600160a060020a038916600090815260056020526040902060010154610e4d908963ffffffff61077516565b9063ffffffff61077516565b9050610e658382611936565b50600160a060020a0383166000908152600560205260409081902060010154610ec2918591908051908101604052600981527f726566526577617264000000000000000000000000000000000000000000000060208201526115e5565b6000821115610ee757600160a060020a0383166000908152600c602052604090204290555b505050565b60035460009033600160a060020a03908116911614610f0a57600080fd5b610af28383610904565b60035433600160a060020a03908116911614610f2f57600080fd5b610f3a838383610a35565b50505050565b601281565b60035433600160a060020a03908116911614610f6057600080fd5b600d548114158015610f725750600081115b1515610f7d57600080fd5b7f4ac9052a820bf4f8c02d7588587cae835573b5b99ea7ad4ca002f17f319f7186600d548260405191825260208201526040908101905180910390a1600d55565b600160a060020a033316600090815260056020526040812060010154819081901515610fe957600080fd5b600d54600160a060020a0333166000908152600560205260409020600101546110179163ffffffff6107ab16565b600160a060020a03331660009081526005602052604090208054600290910154919450420392506110519062278d0063ffffffff61077516565b82101561113857600160a060020a03331660009081526005602090815260408083206002015483526004909152908190206110d3916064916101e991517f66656500000000000000000000000000000000000000000000000000000000008152600381019190915260230160405190819003902054869063ffffffff61077516565b90506110e5838263ffffffff61192416565b600654909350600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561111b57600080fd5b600160a060020a0333166000908152600560205260408120600101555b600160a060020a03331683156108fc0284604051600060405180830381858888f193505050501515610ee757600080fd5b600581565b600d5490565b600160a060020a031660009081526009602052604090205490565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a039081169116146111c857600080fd5b60035460a060020a900460ff16156111df57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a0390811691161461125057600080fd5b61125a828261083d565b5050565b600354600160a060020a031681565b60035433600160a060020a0390811691161461128857600080fd5b600754811415801561129a5750606481105b15156112a557600080fd5b7f409fbdae1e75481800c0fd2ee10e1409eace4268aae109448a54c016778fef6f6007548260405191825260208201526040908101905180910390a1600755565b60408051908101604052600481527f4554485300000000000000000000000000000000000000000000000000000000602082015281565b6000610af2338484611829565b600160a060020a031660009081526005602052604090206002015490565b60035460009033600160a060020a0390811691161461136657600080fd5b50600654600160a060020a031690565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035460009033600160a060020a039081169116146113bf57600080fd5b5060075490565b60035433600160a060020a039081169116146113e157600080fd5b600160a060020a03811615156113f657600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a0390811691161461147c57600080fd5b600654600160a060020a038281169116148015906114a25750600160a060020a03811615155b15156114ad57600080fd5b600654600160a060020a0380831691167fdd44c10ac5ae897c0468d19fcc13436e02d0fd4762ee70adaaa49eb2af44db1760405160405180910390a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6a084595161401484a00000081565b600160a060020a031660009081526005602052604090206001015490565b60035433600160a060020a0390811691161461156057600080fd5b600654600754600160a060020a03918216916108fc91611590916064916101e9913016319063ffffffff61077516565b9081150290604051600060405180830381858888f1935050505015156115b557600080fd5b565b60035460009060a060020a900460ff16156115d157600080fd5b6115dd84848442611717565b949350505050565b82600080805b600581101561170e57600160a060020a039384166000908152600a60205260409020549093169283151561161e5761170e565b600160a060020a038416600090815260096020526040902054925060038310801561164a575060038110155b1561165457611706565b6116f860646101e960086000878152602001908152602001600020886040518082805190602001908083835b6020831061169f5780518252601f199092019160209182019101611680565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020848154811015156116df57fe5b600091825260209091200154899063ffffffff61077516565b91506117048483611936565b505b6001016115eb565b50505050505050565b6000611721611a1a565b60035460a060020a900460ff161561173857600080fd5b60005461174b908663ffffffff6119f916565b60005560606040519081016040528084815260200186815260200185815250905085600160a060020a03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858660405190815260200160405180910390a2600160a060020a03861660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405190815260200160405180910390a3600160a060020a0386166000908152600560205260409020819081518155602082015181600101556040820151600290910155506001915050949350505050565b6000600160a060020a038316151561184057600080fd5b600160a060020a03841660009081526001602052604090205482111561186557600080fd5b600160a060020a03841660009081526001602052604090205461188e908363ffffffff61192416565b600160a060020a0380861660009081526001602052604080822093909355908516815220546118c3908363ffffffff6119f916565b600160a060020a03808516600081815260016020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60008282111561193057fe5b50900390565b600160a060020a03821660009081526001602052604081205461195f908363ffffffff6119f916565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b6000828201838110156107a057fe5b60206040519081016040526000815290565b60606040519081016040528060008152602001600081526020016000815250905600a165627a7a723058203c50358c44abe319270387495614c277ff3a3e255f88bf9ea863fa404442df3a0029625b35f5e76f098dd7c3a05b10e2e5e78a4a01228d60c3b143426cdf36d264556add646517a5b0f6793cd5891b7937d28a5b2981a5d88ebc7cd776088fea9041ad67d757c34507f157cacfa2e3153e9f260a2244f30428821be7be64587ac55f1a1e6821cde7d0159c0d293177871e09677b4e42307c7db3ba94f8648a5a050f91238f30f286c9a1c6e901c4eda3b214c381c846e3dbe48df95c21488e8e1fdb9321edea6e3be4df59a344b401fab4f888b556fda1f954244cff9204bad624b891da3fd0782e51c6b3986e9e672fd566868e71f3dbc2d6c2cd6fbb3e361af2a7
Deployed Bytecode
0x6060604052600436106101955763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166305d2035b811461036457806306fdde031461038b578063095ea7b314610415578063107067981461043757806318160ddd1461047257806322734c0c1461049757806323b872dd146104c157806324463cbe146104e9578063278e07ce146105085780632f9c1df61461052d578063313ce5671461055257806334fcf437146105655780633ccfd60b1461057b578063631c56ef1461058e578063679aefce146105a15780636b89bfc7146105b457806370a08231146105d35780637d64bcb4146105f25780637eb30cd0146106055780638da5cb5b1461062a57806392a8424d1461063d57806395d89b4114610653578063a9059cbb14610666578063b955b95c14610688578063d5477d37146106a7578063dd62ed3e146106ba578063e863a122146106df578063f2fde38b146106f2578063f477c2b914610711578063fb86a40414610730578063fba13bd014610743578063fcb5ced314610762575b61019d611a08565b6000806a084595161401484a000000600b541015156101bb57600080fd5b600654600754600160a060020a03909116906108fc906101f5906064906101e990349063ffffffff61077516565b9063ffffffff6107ab16565b9081150290604051600060405180830381858888f19350505050151561021a57600080fd5b6000368080601f016020809104026020016040519081016040528181529291906020840183838082843782019150505050505092507fc0629c5930c116f6e8c1eed6df81fc90be33cc9a751b2188394105dea097b0248360405160208082528190810183818151815260200191508051906020019080838360005b838110156102ad578082015183820152602001610295565b50505050905090810190601f1680156102da5780820380516001836020036101000a031916815260200191505b509250505060405180910390a16102f0836107c2565b91507fb710fec1570d614bb4e2a9b6c2fef7fdbccbc73f3988a20dd02e4ba7dacc7d4682604051600160a060020a03909116815260200160405180910390a1610339338361083d565b610344336001610904565b5061034e836109be565b905061035e33348360ff16610a35565b50505050005b341561036f57600080fd5b610377610af9565b604051901515815260200160405180910390f35b341561039657600080fd5b61039e610b09565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156103da5780820151838201526020016103c2565b50505050905090810190601f1680156104075780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561042057600080fd5b610377600160a060020a0360043516602435610b40565b341561044257600080fd5b610456600160a060020a0360043516610bac565b604051600160a060020a03909116815260200160405180910390f35b341561047d57600080fd5b610485610bc7565b60405190815260200160405180910390f35b34156104a257600080fd5b6104bf600160a060020a0360043516602435604435606435610bcd565b005b34156104cc57600080fd5b610377600160a060020a0360043581169060243516604435610bfb565b34156104f457600080fd5b6104bf600160a060020a0360043516610cfb565b341561051357600080fd5b610377600160a060020a036004351660ff60243516610eec565b341561053857600080fd5b6104bf600160a060020a0360043516602435604435610f14565b341561055d57600080fd5b610485610f40565b341561057057600080fd5b6104bf600435610f45565b341561058657600080fd5b6104bf610fbe565b341561059957600080fd5b610485611169565b34156105ac57600080fd5b61048561116e565b34156105bf57600080fd5b610485600160a060020a0360043516611174565b34156105de57600080fd5b610485600160a060020a036004351661118f565b34156105fd57600080fd5b6103776111aa565b341561061057600080fd5b6104bf600160a060020a0360043581169060243516611235565b341561063557600080fd5b61045661125e565b341561064857600080fd5b6104bf60043561126d565b341561065e57600080fd5b61039e6112e6565b341561067157600080fd5b610377600160a060020a036004351660243561131d565b341561069357600080fd5b610485600160a060020a036004351661132a565b34156106b257600080fd5b610456611348565b34156106c557600080fd5b610485600160a060020a0360043581169060243516611376565b34156106ea57600080fd5b6104856113a1565b34156106fd57600080fd5b6104bf600160a060020a03600435166113c6565b341561071c57600080fd5b6104bf600160a060020a0360043516611461565b341561073b57600080fd5b610485611518565b341561074e57600080fd5b610485600160a060020a0360043516611527565b341561076d57600080fd5b6104bf611545565b60008083151561078857600091506107a4565b5082820282848281151561079857fe5b04146107a057fe5b8091505b5092915050565b60008082848115156107b957fe5b04949350505050565b6000806000808451600114806107d757508451155b156107e55760009350610835565b506001905060145b6000811115610831578185600183038151811061080657fe5b016020015160f860020a9081900481020460ff160292909201916101009190910290600019016107ed565b8293505b505050919050565b600160a060020a038083166000908152600a6020526040902054161561086257600080fd5b600160a060020a03828116908216141561087b57600080fd5b600160a060020a038281166000908152600a602052604090819020805473ffffffffffffffffffffffffffffffffffffffff1916928416929092179091557f8605db4fd34b21902199dd05165b79bd4bc899ae42bd9cb38852d735aacc3f07908390839051600160a060020a039283168152911660208201526040908101905180910390a15050565b600160a060020a03821660009081526009602052604081205460ff831614801590610932575060008260ff16115b8015610942575060058260ff1611155b151561094d57600080fd5b600160a060020a0383166000908152600960205260409081902060ff841690557fe1ed16dd06bcc126f351434bbb6b798e0790aaa1eb908db3d9e3c83f001f1e25908490849051600160a060020a03909216825260ff1660208201526040908101905180910390a150600192915050565b6000815115156109d057506004610a30565b815160011415610a0757816000815181106109e757fe5b016020015160f860020a900460f860020a0260f860020a90049050610a30565b81601481518110610a1457fe5b016020015160f860020a900460f860020a0260f860020a900490505b919050565b60035460009060a060020a900460ff1615610a4f57600080fd5b600160a060020a03841660009081526005602052604090205415610a7257600080fd5b600d54610a8690849063ffffffff61077516565b9250610a938484846115b7565b15610af257610ad6848460408051908101604052600781527f6465706f7369740000000000000000000000000000000000000000000000000060208201526115e5565b600160a060020a0384166000908152600c602052604090204290555b9392505050565b60035460a060020a900460ff1681565b60408051908101604052600a81527f4574686572537461746500000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b600a60205260009081526040902054600160a060020a031681565b600b5481565b60035433600160a060020a03908116911614610be857600080fd5b610bf484848484611717565b5050505050565b600033600160a060020a031684600160a060020a031614151515610c1e57600080fd5b600160a060020a038085166000908152600260209081526040808320339094168352929052205482901180610c785750600160a060020a038085166000908152600260209081526040808320339094168352929052205482145b1515610c8357600080fd5b610c8e848484611829565b90508015610af257600160a060020a0380851660009081526002602090815260408083203390941683529290522054610ccd908363ffffffff61192416565b600160a060020a03808616600090815260026020908152604080832033909416835292905220559392505050565b600160a060020a0381166000908152600c6020526040812054819015801590610d4f5750600160a060020a0383166000908152600c6020526040812054610d4d9042036201518063ffffffff6107ab16565b115b1515610d5a57600080fd5b600160a060020a0383166000908152600c6020526040902054610d889042036201518063ffffffff6107ab16565b600160a060020a038416600090815260056020526040812060020154919350915015610ec257600160a060020a0383166000908152600560209081526040808320600201548352600490915290819020610e59916064916101e991601e918391517f72657761726400000000000000000000000000000000000000000000000000008152600681019190915260260160405190819003902054600160a060020a038916600090815260056020526040902060010154610e4d908963ffffffff61077516565b9063ffffffff61077516565b9050610e658382611936565b50600160a060020a0383166000908152600560205260409081902060010154610ec2918591908051908101604052600981527f726566526577617264000000000000000000000000000000000000000000000060208201526115e5565b6000821115610ee757600160a060020a0383166000908152600c602052604090204290555b505050565b60035460009033600160a060020a03908116911614610f0a57600080fd5b610af28383610904565b60035433600160a060020a03908116911614610f2f57600080fd5b610f3a838383610a35565b50505050565b601281565b60035433600160a060020a03908116911614610f6057600080fd5b600d548114158015610f725750600081115b1515610f7d57600080fd5b7f4ac9052a820bf4f8c02d7588587cae835573b5b99ea7ad4ca002f17f319f7186600d548260405191825260208201526040908101905180910390a1600d55565b600160a060020a033316600090815260056020526040812060010154819081901515610fe957600080fd5b600d54600160a060020a0333166000908152600560205260409020600101546110179163ffffffff6107ab16565b600160a060020a03331660009081526005602052604090208054600290910154919450420392506110519062278d0063ffffffff61077516565b82101561113857600160a060020a03331660009081526005602090815260408083206002015483526004909152908190206110d3916064916101e991517f66656500000000000000000000000000000000000000000000000000000000008152600381019190915260230160405190819003902054869063ffffffff61077516565b90506110e5838263ffffffff61192416565b600654909350600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561111b57600080fd5b600160a060020a0333166000908152600560205260408120600101555b600160a060020a03331683156108fc0284604051600060405180830381858888f193505050501515610ee757600080fd5b600581565b600d5490565b600160a060020a031660009081526009602052604090205490565b600160a060020a031660009081526001602052604090205490565b60035460009033600160a060020a039081169116146111c857600080fd5b60035460a060020a900460ff16156111df57600080fd5b6003805474ff0000000000000000000000000000000000000000191660a060020a1790557fae5184fba832cb2b1f702aca6117b8d265eaf03ad33eb133f19dde0f5920fa0860405160405180910390a150600190565b60035433600160a060020a0390811691161461125057600080fd5b61125a828261083d565b5050565b600354600160a060020a031681565b60035433600160a060020a0390811691161461128857600080fd5b600754811415801561129a5750606481105b15156112a557600080fd5b7f409fbdae1e75481800c0fd2ee10e1409eace4268aae109448a54c016778fef6f6007548260405191825260208201526040908101905180910390a1600755565b60408051908101604052600481527f4554485300000000000000000000000000000000000000000000000000000000602082015281565b6000610af2338484611829565b600160a060020a031660009081526005602052604090206002015490565b60035460009033600160a060020a0390811691161461136657600080fd5b50600654600160a060020a031690565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60035460009033600160a060020a039081169116146113bf57600080fd5b5060075490565b60035433600160a060020a039081169116146113e157600080fd5b600160a060020a03811615156113f657600080fd5b600354600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035433600160a060020a0390811691161461147c57600080fd5b600654600160a060020a038281169116148015906114a25750600160a060020a03811615155b15156114ad57600080fd5b600654600160a060020a0380831691167fdd44c10ac5ae897c0468d19fcc13436e02d0fd4762ee70adaaa49eb2af44db1760405160405180910390a36006805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6a084595161401484a00000081565b600160a060020a031660009081526005602052604090206001015490565b60035433600160a060020a0390811691161461156057600080fd5b600654600754600160a060020a03918216916108fc91611590916064916101e9913016319063ffffffff61077516565b9081150290604051600060405180830381858888f1935050505015156115b557600080fd5b565b60035460009060a060020a900460ff16156115d157600080fd5b6115dd84848442611717565b949350505050565b82600080805b600581101561170e57600160a060020a039384166000908152600a60205260409020549093169283151561161e5761170e565b600160a060020a038416600090815260096020526040902054925060038310801561164a575060038110155b1561165457611706565b6116f860646101e960086000878152602001908152602001600020886040518082805190602001908083835b6020831061169f5780518252601f199092019160209182019101611680565b6001836020036101000a0380198251168184511680821785525050505050509050019150509081526020016040518091039020848154811015156116df57fe5b600091825260209091200154899063ffffffff61077516565b91506117048483611936565b505b6001016115eb565b50505050505050565b6000611721611a1a565b60035460a060020a900460ff161561173857600080fd5b60005461174b908663ffffffff6119f916565b60005560606040519081016040528084815260200186815260200185815250905085600160a060020a03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968858660405190815260200160405180910390a2600160a060020a03861660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405190815260200160405180910390a3600160a060020a0386166000908152600560205260409020819081518155602082015181600101556040820151600290910155506001915050949350505050565b6000600160a060020a038316151561184057600080fd5b600160a060020a03841660009081526001602052604090205482111561186557600080fd5b600160a060020a03841660009081526001602052604090205461188e908363ffffffff61192416565b600160a060020a0380861660009081526001602052604080822093909355908516815220546118c3908363ffffffff6119f916565b600160a060020a03808516600081815260016020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060019392505050565b60008282111561193057fe5b50900390565b600160a060020a03821660009081526001602052604081205461195f908363ffffffff6119f916565b600160a060020a0384166000818152600160205260409081902092909255907f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d41213968859084905190815260200160405180910390a2600160a060020a03831660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405190815260200160405180910390a350600192915050565b6000828201838110156107a057fe5b60206040519081016040526000815290565b60606040519081016040528060008152602001600081526020016000815250905600a165627a7a723058203c50358c44abe319270387495614c277ff3a3e255f88bf9ea863fa404442df3a0029
Swarm Source
bzzr://3c50358c44abe319270387495614c277ff3a3e255f88bf9ea863fa404442df3a
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,412.51 | 0.00174173 | $5.94 |
Loading...
Loading
[ Download: CSV Export ]
[ 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.