More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 12,222 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 5591657 | 2421 days ago | IN | 0.65 ETH | 0.00055122 | ||||
Transfer | 5224833 | 2484 days ago | IN | 0.5 ETH | 0.00187416 | ||||
Transfer | 5076174 | 2509 days ago | IN | 4.89 ETH | 0.00110245 | ||||
Transfer | 5073052 | 2509 days ago | IN | 3 ETH | 0.000609 | ||||
Transfer | 5072101 | 2510 days ago | IN | 2.46 ETH | 0.00176392 | ||||
Transfer | 5072101 | 2510 days ago | IN | 2.47 ETH | 0.00088196 | ||||
Transfer | 5072098 | 2510 days ago | IN | 2.47 ETH | 0.00088196 | ||||
Withdrawal For | 5071449 | 2510 days ago | IN | 0 ETH | 0.0546267 | ||||
Withdrawal For | 5071444 | 2510 days ago | IN | 0 ETH | 0.12613644 | ||||
Withdrawal For | 5071439 | 2510 days ago | IN | 0 ETH | 0.12613644 | ||||
Withdrawal For | 5071428 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071421 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071416 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071413 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071408 | 2510 days ago | IN | 0 ETH | 0.12613644 | ||||
Withdrawal For | 5071403 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071397 | 2510 days ago | IN | 0 ETH | 0.12613516 | ||||
Withdrawal For | 5071386 | 2510 days ago | IN | 0 ETH | 0.12643516 | ||||
Withdrawal For | 5071380 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071371 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071368 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071358 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071355 | 2510 days ago | IN | 0 ETH | 0.12613644 | ||||
Withdrawal For | 5071346 | 2510 days ago | IN | 0 ETH | 0.12643644 | ||||
Withdrawal For | 5071342 | 2510 days ago | IN | 0 ETH | 0.12643644 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
5450953 | 2446 days ago | 0 ETH | ||||
5450613 | 2446 days ago | 0 ETH | ||||
5449393 | 2446 days ago | 0 ETH | ||||
5447162 | 2446 days ago | 0 ETH | ||||
5071449 | 2510 days ago | 0.12081424 ETH | ||||
5071449 | 2510 days ago | 0.07918575 ETH | ||||
5071449 | 2510 days ago | 0.88880312 ETH | ||||
5071449 | 2510 days ago | 0.58255173 ETH | ||||
5071449 | 2510 days ago | 0.92422896 ETH | ||||
5071449 | 2510 days ago | 0.60577103 ETH | ||||
5071449 | 2510 days ago | 543.66409673 ETH | ||||
5071449 | 2510 days ago | 356.33590326 ETH | ||||
5071449 | 2510 days ago | 2.41628487 ETH | ||||
5071449 | 2510 days ago | 1.58371512 ETH | ||||
5071449 | 2510 days ago | 15.10178046 ETH | ||||
5071449 | 2510 days ago | 9.89821953 ETH | ||||
5071449 | 2510 days ago | 60.40712185 ETH | ||||
5071449 | 2510 days ago | 39.59287814 ETH | ||||
5071449 | 2510 days ago | 0.60407121 ETH | ||||
5071449 | 2510 days ago | 0.39592878 ETH | ||||
5071449 | 2510 days ago | 1.20814243 ETH | ||||
5071449 | 2510 days ago | 0.79185756 ETH | ||||
5071449 | 2510 days ago | 13.2895668 ETH | ||||
5071449 | 2510 days ago | 8.71043319 ETH | ||||
5071449 | 2510 days ago | 0.60407121 ETH |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x13955F18...2D72f06E7 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
ShareTokenSale
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-01-31 */ pragma solidity ^0.4.18; /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ 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; } /** * @dev Integer division of two numbers, truncating the quotient. */ 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; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ 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; } } /** * @title ERC20Basic * @dev Simpler version of ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/179 */ contract ERC20Basic { function totalSupply() public view returns (uint256); function balanceOf(address who) public view returns (uint256); function transfer(address to, uint256 value) public returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); } /** * @title ERC20 interface * @dev see https://github.com/ethereum/EIPs/issues/20 */ contract ERC20 is ERC20Basic { function allowance(address owner, address spender) public view returns (uint256); function transferFrom(address from, address to, uint256 value) public returns (bool); function approve(address spender, uint256 value) public returns (bool); event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @title ERC20 FSN Token Generation and Voluntary Participants Program * @dev see https://github.com/FusionFoundation/TokenSale */ contract ShareTokenSale is Ownable { using SafeMath for uint256; ERC20 public token; address public receiverAddr; uint256 public totalSaleAmount; uint256 public totalWannaBuyAmount; uint256 public startTime; uint256 public endTime; uint256 public userWithdrawalStartTime; uint256 public clearStartTime; uint256 public withdrawn; uint256 public proportion = 1 ether; mapping(uint256 => uint256) public globalAmounts; struct Stage { uint256 rate; uint256 duration; uint256 startTime; } Stage[] public stages; struct PurchaserInfo { bool withdrew; bool recorded; mapping(uint256 => uint256) amounts; } mapping(address => PurchaserInfo) public purchaserMapping; address[] public purchaserList; modifier onlyOpenTime { require(isStarted()); require(!isEnded()); _; } modifier onlyAutoWithdrawalTime { require(isEnded()); _; } modifier onlyUserWithdrawalTime { require(isUserWithdrawalTime()); _; } modifier purchasersAllWithdrawn { require(withdrawn==purchaserList.length); _; } modifier onlyClearTime { require(isClearTime()); _; } function ShareTokenSale(address _receiverAddr, address _tokenAddr, uint256 _totalSaleAmount, uint256 _startTime) public { require(_receiverAddr != address(0)); require(_tokenAddr != address(0)); require(_totalSaleAmount > 0); require(_startTime > 0); receiverAddr = _receiverAddr; token = ERC20(_tokenAddr); totalSaleAmount = _totalSaleAmount; startTime = _startTime; } function isStarted() public view returns(bool) { return 0 < startTime && startTime <= now && endTime != 0; } function isEnded() public view returns(bool) { return now > endTime; } function isUserWithdrawalTime() public view returns(bool) { return now > userWithdrawalStartTime; } function isClearTime() public view returns(bool) { return now > clearStartTime; } function startSale(uint256[] rates, uint256[] durations, uint256 userWithdrawalDelaySec, uint256 clearDelaySec) public onlyOwner { require(endTime == 0); require(durations.length == rates.length); delete stages; endTime = startTime; for (uint256 i = 0; i < durations.length; i++) { uint256 rate = rates[i]; uint256 duration = durations[i]; stages.push(Stage({rate: rate, duration: duration, startTime:endTime})); endTime = endTime.add(duration); } userWithdrawalStartTime = endTime.add(userWithdrawalDelaySec); clearStartTime = endTime.add(clearDelaySec); } function getCurrentStage() public onlyOpenTime view returns(uint256) { for (uint256 i = stages.length - 1; i >= 0; i--) { if (now >= stages[i].startTime) { return i; } } revert(); } function getPurchaserCount() public view returns(uint256) { return purchaserList.length; } function _calcProportion() internal { if (totalWannaBuyAmount == 0 || totalSaleAmount >= totalWannaBuyAmount) { proportion = 1 ether; return; } proportion = totalSaleAmount.mul(1 ether).div(totalWannaBuyAmount); } function getSaleInfo(address purchaser) public view returns (uint256, uint256, uint256) { PurchaserInfo storage pi = purchaserMapping[purchaser]; uint256 sendEther = 0; uint256 usedEther = 0; uint256 getToken = 0; for (uint256 i = 0; i < stages.length; i++) { sendEther = sendEther.add(pi.amounts[i]); uint256 stageUsedEther = pi.amounts[i].mul(proportion).div(1 ether); uint256 stageGetToken = stageUsedEther.mul(stages[i].rate); if (stageGetToken > 0) { getToken = getToken.add(stageGetToken); usedEther = usedEther.add(stageUsedEther); } } return (sendEther, usedEther, getToken); } function () payable public { buy(); } function buy() payable public onlyOpenTime { require(msg.value >= 0.1 ether); uint256 stageIndex = getCurrentStage(); uint256 amount = msg.value; PurchaserInfo storage pi = purchaserMapping[msg.sender]; if (!pi.recorded) { pi.recorded = true; purchaserList.push(msg.sender); } pi.amounts[stageIndex] = pi.amounts[stageIndex].add(amount); globalAmounts[stageIndex] = globalAmounts[stageIndex].add(amount); totalWannaBuyAmount = totalWannaBuyAmount.add(amount.mul(stages[stageIndex].rate)); _calcProportion(); } function _withdrawal(address purchaser) internal { require(purchaser != 0x0); PurchaserInfo storage pi = purchaserMapping[purchaser]; if (pi.withdrew) { return; } pi.withdrew = true; withdrawn = withdrawn.add(1); var (sendEther, usedEther, getToken) = getSaleInfo(purchaser); if (usedEther > 0 && getToken > 0) { receiverAddr.transfer(usedEther); token.transfer(purchaser, getToken); if (sendEther.sub(usedEther) > 0) { purchaser.transfer(sendEther.sub(usedEther)); } } else { purchaser.transfer(sendEther); } return; } function withdrawal() payable public onlyUserWithdrawalTime { _withdrawal(msg.sender); } function withdrawalFor(uint256 index, uint256 stop) payable public onlyAutoWithdrawalTime onlyOwner { for (; index < stop; index++) { _withdrawal(purchaserList[index]); } } function clear(uint256 tokenAmount, uint256 etherAmount) payable public purchasersAllWithdrawn onlyClearTime onlyOwner { if (tokenAmount > 0) { token.transfer(receiverAddr, tokenAmount); } if (etherAmount > 0) { receiverAddr.transfer(etherAmount); } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"isClearTime","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"rates","type":"uint256[]"},{"name":"durations","type":"uint256[]"},{"name":"userWithdrawalDelaySec","type":"uint256"},{"name":"clearDelaySec","type":"uint256"}],"name":"startSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"endTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"tokenAmount","type":"uint256"},{"name":"etherAmount","type":"uint256"}],"name":"clear","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"isUserWithdrawalTime","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isStarted","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"proportion","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"index","type":"uint256"},{"name":"stop","type":"uint256"}],"name":"withdrawalFor","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"startTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSaleAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"stages","outputs":[{"name":"rate","type":"uint256"},{"name":"duration","type":"uint256"},{"name":"startTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"purchaserList","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getPurchaserCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"globalAmounts","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"receiverAddr","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isEnded","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"purchaserMapping","outputs":[{"name":"withdrew","type":"bool"},{"name":"recorded","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"purchaser","type":"address"}],"name":"getSaleInfo","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalWannaBuyAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"clearStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawn","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawal","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"getCurrentStage","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":true,"inputs":[],"name":"userWithdrawalStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"token","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_receiverAddr","type":"address"},{"name":"_tokenAddr","type":"address"},{"name":"_totalSaleAmount","type":"uint256"},{"name":"_startTime","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Deployed Bytecode
0x6060604052600436106101505763ffffffff60e060020a600035041663088266b5811461015a57806323aedc62146101815780633197cbb61461021757806341ee903e1461023c578063463d5ce11461024a578063544736e61461025d5780635b4246d4146102705780635d977c021461028357806378e9792514610291578063814e5c9b146102a4578063845ddcb2146102b75780638815ee86146102f15780638da5cb5b1461032357806391de5474146103365780639cba355914610349578063a3dcb4d21461035f578063a4fd6f5614610372578063a6f2ae3a14610150578063a8754caa14610385578063aafbb120146103c0578063ad78dc8e146103df578063af21037f146103f2578063c80ec52214610405578063d4e9329214610418578063eedbe31d14610420578063f2fde38b14610433578063f7e2ff0014610452578063fc0c546a14610465575b610158610478565b005b341561016557600080fd5b61016d6105f1565b604051901515815260200160405180910390f35b341561018c57600080fd5b610158600460248135818101908301358060208181020160405190810160405280939291908181526020018383602002808284378201915050505050509190803590602001908201803590602001908080602002602001604051908101604052809392919081815260200183836020028082843750949650508435946020013593506105fa92505050565b341561022257600080fd5b61022a61073b565b60405190815260200160405180910390f35b610158600435602435610741565b341561025557600080fd5b61016d61084a565b341561026857600080fd5b61016d610852565b341561027b57600080fd5b61022a61087a565b610158600435602435610880565b341561029c57600080fd5b61022a6108ed565b34156102af57600080fd5b61022a6108f3565b34156102c257600080fd5b6102cd6004356108f9565b60405180848152602001838152602001828152602001935050505060405180910390f35b34156102fc57600080fd5b61030760043561092a565b604051600160a060020a03909116815260200160405180910390f35b341561032e57600080fd5b610307610952565b341561034157600080fd5b61022a610961565b341561035457600080fd5b61022a600435610967565b341561036a57600080fd5b610307610979565b341561037d57600080fd5b61016d610988565b341561039057600080fd5b6103a4600160a060020a0360043516610990565b6040519115158252151560208201526040908101905180910390f35b34156103cb57600080fd5b6102cd600160a060020a03600435166109ae565b34156103ea57600080fd5b61022a610abd565b34156103fd57600080fd5b61022a610ac3565b341561041057600080fd5b61022a610ac9565b610158610acf565b341561042b57600080fd5b61022a610aed565b341561043e57600080fd5b610158600160a060020a0360043516610b68565b341561045d57600080fd5b61022a610c03565b341561047057600080fd5b610307610c09565b6000806000610485610852565b151561049057600080fd5b610498610988565b156104a257600080fd5b67016345785d8a00003410156104b757600080fd5b6104bf610aed565b33600160a060020a03166000908152600d6020526040902080549194503493509150610100900460ff16151561054157805461ff001916610100178155600e80546001810161050e8382610ea6565b506000918252602090912001805473ffffffffffffffffffffffffffffffffffffffff191633600160a060020a03161790555b6000838152600182016020526040902054610562908363ffffffff610c1816565b6000848152600183016020908152604080832093909355600b9052205461058f908363ffffffff610c1816565b6000848152600b6020526040902055600c80546105e1916105d291869081106105b457fe5b6000918252602090912060039091020154849063ffffffff610c3216565b6004549063ffffffff610c1816565b6004556105ec610c5d565b505050565b60085442115b90565b600080548190819033600160a060020a0390811691161461061a57600080fd5b6006541561062757600080fd5b865186511461063557600080fd5b610641600c6000610eca565b600554600655600092505b85518310156107065786838151811061066157fe5b90602001906020020151915085838151811061067957fe5b906020019060200201519050600c80548060010182816106999190610eee565b916000526020600020906003020160006060604051908101604090815286825260208201869052600654908201529190508151815560208201518160010155604082015160029091015550506006546106f8908263ffffffff610c1816565b60065560019092019161064c565b600654610719908663ffffffff610c1816565b60075560065461072f908563ffffffff610c1816565b60085550505050505050565b60065481565b600e546009541461075157600080fd5b6107596105f1565b151561076457600080fd5b60005433600160a060020a0390811691161461077f57600080fd5b600082111561080a57600154600254600160a060020a039182169163a9059cbb91168460006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b15156107ee57600080fd5b6102c65a03f115156107ff57600080fd5b505050604051805150505b600081111561084657600254600160a060020a031681156108fc0282604051600060405180830381858888f19350505050151561084657600080fd5b5050565b600754421190565b6000600554600010801561086857504260055411155b8015610875575060065415155b905090565b600a5481565b610888610988565b151561089357600080fd5b60005433600160a060020a039081169116146108ae57600080fd5b80821015610846576108e2600e838154811015156108c857fe5b600091825260209091200154600160a060020a0316610cae565b6001909101906108ae565b60055481565b60035481565b600c80548290811061090757fe5b600091825260209091206003909102018054600182015460029092015490925083565b600e80548290811061093857fe5b600091825260209091200154600160a060020a0316905081565b600054600160a060020a031681565b600e5490565b600b6020526000908152604090205481565b600254600160a060020a031681565b600654421190565b600d6020526000908152604090205460ff8082169161010090041682565b600160a060020a0381166000908152600d60205260408120819081908180808080805b600c54831015610aab5760008381526001880160205260409020546109fd90879063ffffffff610c1816565b600a54600085815260018a016020526040902054919750610a3e91670de0b6b3a764000091610a32919063ffffffff610c3216565b9063ffffffff610e7d16565b9150610a70600c84815481101515610a5257fe5b6000918252602090912060039091020154839063ffffffff610c3216565b90506000811115610aa057610a8b848263ffffffff610c1816565b9350610a9d858363ffffffff610c1816565b94505b6001909201916109d1565b50939992985090965090945050505050565b60045481565b60085481565b60095481565b610ad761084a565b1515610ae257600080fd5b610aeb33610cae565b565b600080610af8610852565b1515610b0357600080fd5b610b0b610988565b15610b1557600080fd5b50600c54600019015b60008110610b5f57600c805482908110610b3457fe5b90600052602060002090600302016002015442101515610b5657809150610b64565b60001901610b1e565b600080fd5b5090565b60005433600160a060020a03908116911614610b8357600080fd5b600160a060020a0381161515610b9857600080fd5b600054600160a060020a0380831691167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075481565b600154600160a060020a031681565b600082820183811015610c2757fe5b8091505b5092915050565b600080831515610c455760009150610c2b565b50828202828482811515610c5557fe5b0414610c2757fe5b6004541580610c70575060045460035410155b15610c8657670de0b6b3a7640000600a55610aeb565b610ca9600454610a32670de0b6b3a7640000600354610c3290919063ffffffff16565b600a55565b6000808080600160a060020a0385161515610cc857600080fd5b600160a060020a0385166000908152600d60205260409020805490945060ff1615610cf257610e76565b835460ff191660019081178555600954610d119163ffffffff610c1816565b600955610d1d856109ae565b925092509250600082118015610d335750600081115b15610e4557600254600160a060020a031682156108fc0283604051600060405180830381858888f193505050501515610d6b57600080fd5b600154600160a060020a031663a9059cbb868360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610dca57600080fd5b6102c65a03f11515610ddb57600080fd5b50505060405180515060009050610df8848463ffffffff610e9416565b1115610e4057600160a060020a0385166108fc610e1b858563ffffffff610e9416565b9081150290604051600060405180830381858888f193505050501515610e4057600080fd5b610e76565b600160a060020a03851683156108fc0284604051600060405180830381858888f193505050501515610e7657600080fd5b5050505050565b6000808284811515610e8b57fe5b04949350505050565b600082821115610ea057fe5b50900390565b8154818355818115116105ec576000838152602090206105ec918101908301610f1a565b5080546000825560030290600052602060002090810190610eeb9190610f34565b50565b8154818355818115116105ec576003028160030283600052602060002091820191016105ec9190610f34565b6105f791905b80821115610b645760008155600101610f20565b6105f791905b80821115610b64576000808255600182018190556002820155600301610f3a5600a165627a7a7230582037a0288bd942631b5b0208b1f950fb4a8b18d68d863ad21bf9ca17a78e10ce1e0029
Swarm Source
bzzr://37a0288bd942631b5b0208b1f950fb4a8b18d68d863ad21bf9ca17a78e10ce1e
Loading...
Loading
Loading...
Loading
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.