Source Code
Showing the last 25 transactions (View Advanced Filter)
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Change Tokens Wa... | 4886910 | 2976 days ago | IN | 0 ETH | 0.0031341 | ||||
| Withdraw Remaini... | 4886794 | 2976 days ago | IN | 0 ETH | 0.016526 | ||||
| Withdraw Remaini... | 4886647 | 2976 days ago | IN | 0 ETH | 0.014024 | ||||
| Withdraw Remaini... | 4886626 | 2976 days ago | IN | 0 ETH | 0.0035075 | ||||
| Withdraw Remaini... | 4886613 | 2976 days ago | IN | 0 ETH | 0.001753 | ||||
| Update Funding E... | 4886576 | 2976 days ago | IN | 0 ETH | 0.00084069 | ||||
| Transfer | 4883068 | 2976 days ago | IN | 1 ETH | 0.00378395 | ||||
| Transfer | 4879650 | 2977 days ago | IN | 1 ETH | 0.00280012 | ||||
| Transfer | 4879317 | 2977 days ago | IN | 1 ETH | 0.0053732 | ||||
| Authorize Kyc | 4875951 | 2978 days ago | IN | 0 ETH | 0.01335408 | ||||
| Transfer | 4873202 | 2978 days ago | IN | 1 ETH | 0.00158925 | ||||
| Transfer | 4872882 | 2978 days ago | IN | 1 ETH | 0.00048415 | ||||
| Transfer | 4872785 | 2978 days ago | IN | 1 ETH | 0.00048415 | ||||
| Transfer | 4872711 | 2978 days ago | IN | 1 ETH | 0.000441 | ||||
| Transfer | 4870336 | 2979 days ago | IN | 1 ETH | 0.00151358 | ||||
| Authorize Kyc | 4870158 | 2979 days ago | IN | 0 ETH | 0.00955535 | ||||
| Authorize Kyc | 4867306 | 2979 days ago | IN | 0 ETH | 0.00147625 | ||||
| Authorize Kyc | 4867283 | 2979 days ago | IN | 0 ETH | 0.00133575 | ||||
| Authorize Kyc | 4863944 | 2980 days ago | IN | 0 ETH | 0.00789237 | ||||
| Transfer | 4858035 | 2981 days ago | IN | 1 ETH | 0.00378395 | ||||
| Transfer | 4857951 | 2981 days ago | IN | 1 ETH | 0.00364074 | ||||
| Authorize Kyc | 4857173 | 2981 days ago | IN | 0 ETH | 0.00336291 | ||||
| Authorize Kyc | 4857152 | 2981 days ago | IN | 0 ETH | 0.00697527 | ||||
| Transfer | 4849517 | 2982 days ago | IN | 1 ETH | 0.00204333 | ||||
| Transfer | 4848229 | 2983 days ago | IN | 1 ETH | 0.00302716 |
Showing the last 23 internal transactions (View Advanced Filter)
Advanced mode:
| Parent Transaction Hash | Method | Block |
From
|
|
To
|
||
|---|---|---|---|---|---|---|---|
| Transfer | 4883068 | 2976 days ago | 1 ETH | ||||
| Transfer | 4879650 | 2977 days ago | 1 ETH | ||||
| Transfer | 4879317 | 2977 days ago | 1 ETH | ||||
| Transfer | 4873202 | 2978 days ago | 1 ETH | ||||
| Transfer | 4870336 | 2979 days ago | 1 ETH | ||||
| Transfer | 4858035 | 2981 days ago | 1 ETH | ||||
| Transfer | 4857951 | 2981 days ago | 1 ETH | ||||
| Transfer | 4849517 | 2982 days ago | 1 ETH | ||||
| Transfer | 4848229 | 2983 days ago | 1 ETH | ||||
| Transfer | 4827959 | 2986 days ago | 1 ETH | ||||
| Transfer | 4823671 | 2987 days ago | 1 ETH | ||||
| Transfer | 4823123 | 2987 days ago | 1 ETH | ||||
| Transfer | 4822785 | 2987 days ago | 1 ETH | ||||
| Transfer | 4820988 | 2987 days ago | 1 ETH | ||||
| Transfer | 4819523 | 2988 days ago | 1 ETH | ||||
| Transfer | 4812500 | 2989 days ago | 1 ETH | ||||
| Transfer | 4805774 | 2990 days ago | 1 ETH | ||||
| Transfer | 4805769 | 2990 days ago | 1 ETH | ||||
| Transfer | 4801344 | 2991 days ago | 1 ETH | ||||
| Transfer | 4799803 | 2991 days ago | 1 ETH | ||||
| Transfer | 4768241 | 2996 days ago | 1 ETH | ||||
| Transfer | 4758482 | 2998 days ago | 1 ETH | ||||
| Transfer | 4750907 | 2999 days ago | 1 ETH |
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
CrowdSale
Compiler Version
v0.4.18+commit.9cf6e910
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2017-12-17
*/
pragma solidity ^0.4.18;
/* taking ideas from Zeppelin solidity module */
contract SafeMath {
// it is recommended to define functions which can neither read the state of blockchain nor write in it as pure instead of constant
function safeAdd(uint256 x, uint256 y) internal pure returns(uint256) {
uint256 z = x + y;
assert((z >= x));
return z;
}
function safeSubtract(uint256 x, uint256 y) internal pure returns(uint256) {
assert(x >= y);
return x - y;
}
function safeMult(uint256 x, uint256 y) internal pure returns(uint256) {
uint256 z = x * y;
assert((x == 0)||(z/x == y));
return z;
}
function safeDiv(uint256 x, uint256 y) internal pure returns (uint256) {
uint256 z = x / y;
return z;
}
// mitigate short address attack
// thanks to https://github.com/numerai/contract/blob/c182465f82e50ced8dacb3977ec374a892f5fa8c/contracts/Safe.sol#L30-L34.
// TODO: doublecheck implication of >= compared to ==
modifier onlyPayloadSize(uint numWords) {
assert(msg.data.length >= numWords * 32 + 4);
_;
}
}
// The abstract token contract
contract TrakToken {
function TrakToken () public {}
function transfer (address ,uint) public pure { }
function burn (uint256) public pure { }
function finalize() public pure { }
function changeTokensWallet (address) public pure { }
}
contract CrowdSale is SafeMath {
///metadata
enum State { Fundraising,Paused,Successful,Closed }
State public state = State.Fundraising; // equal to 0
string public version = "1.0";
//External contracts
TrakToken public trakToken;
// who created smart contract
address public creator;
// Address which will receive raised funds
address public contractOwner;
// adreess vs state mapping (1 for exists , zero default);
mapping (address => bool) public whitelistedContributors;
uint256 public fundingStartBlock; // Dec 15 - Dec 25
uint256 public firstChangeBlock; // December 25 - January 5
uint256 public secondChangeBlock; // January 5 -January 15
uint256 public thirdChangeBlock; // January 16
uint256 public fundingEndBlock; // Jan 31
// funding maximum duration in hours
uint256 public fundingDurationInHours;
uint256 constant public fundingMaximumTargetInWei = 66685 ether;
// We need to keep track of how much ether (in units of Wei) has been contributed
uint256 public totalRaisedInWei;
// maximum ether we will accept from one user
uint256 constant public maxPriceInWeiFromUser = 1500 ether;
uint256 constant public minPriceInWeiForPre = 1 ether;
uint256 constant public minPriceInWeiForIco = 0.5 ether;
uint8 constant public decimals = 18;
// Number of tokens distributed to investors
uint public tokensDistributed = 0;
// tokens per tranche
uint constant public tokensPerTranche = 11000000 * (uint256(10) ** decimals);
uint256 public constant privateExchangeRate = 1420; // 23.8%
uint256 public constant firstExchangeRate = 1289; // 15.25%
uint256 public constant secondExchangeRate = 1193; // 8.42%
uint256 public constant thirdExchangeRate = 1142; // 4.31%
uint256 public constant fourthExchangeRate = 1118; // 2.25%
uint256 public constant fifthExchangeRate = 1105; // 1.09%
/// modifiers
modifier onlyOwner() {
require(msg.sender == contractOwner);
_;
}
modifier isIcoOpen() {
require(block.number >= fundingStartBlock);
require(block.number <= fundingEndBlock);
require(totalRaisedInWei <= fundingMaximumTargetInWei);
_;
}
modifier isMinimumPrice() {
if (tokensDistributed < safeMult(3,tokensPerTranche) || block.number < thirdChangeBlock ) {
require(msg.value >= minPriceInWeiForPre);
}
else if (tokensDistributed <= safeMult(6,tokensPerTranche)) {
require(msg.value >= minPriceInWeiForIco);
}
require(msg.value <= maxPriceInWeiFromUser);
_;
}
modifier isIcoFinished() {
require(totalRaisedInWei >= fundingMaximumTargetInWei || (block.number > fundingEndBlock) || state == State.Successful );
_;
}
modifier inState(State _state) {
require(state == _state);
_;
}
modifier isCreator() {
require(msg.sender == creator);
_;
}
// wait 100 block after final contract state before allowing contract destruction
modifier atEndOfLifecycle() {
require(totalRaisedInWei >= fundingMaximumTargetInWei || (block.number > fundingEndBlock + 40000));
_;
}
/// constructor
function CrowdSale(
address _fundsWallet,
uint256 _fundingStartBlock,
uint256 _firstInHours,
uint256 _secondInHours,
uint256 _thirdInHours,
uint256 _fundingDurationInHours,
TrakToken _tokenAddress
) public {
require(safeAdd(_fundingStartBlock, safeMult(_fundingDurationInHours , 212)) > _fundingStartBlock);
creator = msg.sender;
if (_fundsWallet !=0) {
contractOwner = _fundsWallet;
}
else {
contractOwner = msg.sender;
}
fundingStartBlock = _fundingStartBlock;
firstChangeBlock = safeAdd(fundingStartBlock, safeMult(_firstInHours , 212));
secondChangeBlock = safeAdd(fundingStartBlock, safeMult(_secondInHours , 212));
thirdChangeBlock = safeAdd(fundingStartBlock, safeMult(_thirdInHours , 212));
fundingDurationInHours = _fundingDurationInHours;
fundingEndBlock = safeAdd(fundingStartBlock, safeMult(_fundingDurationInHours , 212));
trakToken = TrakToken(_tokenAddress);
}
// fallback function can be used to buy tokens
function () external payable {
buyTokens(msg.sender);
}
function buyTokens(address beneficiary) inState(State.Fundraising) isIcoOpen isMinimumPrice public payable {
require(beneficiary != 0x0);
// state 1 is set for
require(whitelistedContributors[beneficiary] == true );
uint256 tokenAmount;
uint256 checkedReceivedWei = safeAdd(totalRaisedInWei, msg.value);
// Check that this transaction wouldn't exceed the ETH max cap
if (checkedReceivedWei > fundingMaximumTargetInWei ) {
// update totalRaised After Subtracting
totalRaisedInWei = safeAdd(totalRaisedInWei,safeSubtract(fundingMaximumTargetInWei,totalRaisedInWei));
// Calculate how many tokens (in units of Wei) should be awarded on this transaction
var (rate,/*trancheMaxTokensLeft */) = getCurrentTokenPrice();
// Calculate how many tokens (in units of Wei) should be awarded on this transaction
tokenAmount = safeMult(safeSubtract(fundingMaximumTargetInWei,totalRaisedInWei), rate);
// Send change extra ether to user.
beneficiary.transfer(safeSubtract(checkedReceivedWei,fundingMaximumTargetInWei));
}
else {
totalRaisedInWei = safeAdd(totalRaisedInWei,msg.value);
var (currentRate,trancheMaxTokensLeft) = getCurrentTokenPrice();
// Calculate how many tokens (in units of Wei) should be awarded on this transaction
tokenAmount = safeMult(msg.value, currentRate);
if (tokenAmount > trancheMaxTokensLeft) {
// handle round off error by adding .1 token
tokensDistributed = safeAdd(tokensDistributed,safeAdd(trancheMaxTokensLeft,safeDiv(1,10)));
//find remaining tokens by getCurrentTokenPrice() function and sell them from remaining ethers left
var (nextCurrentRate,nextTrancheMaxTokensLeft) = getCurrentTokenPrice();
if (nextTrancheMaxTokensLeft <= 0) {
tokenAmount = safeAdd(trancheMaxTokensLeft,safeDiv(1,10));
state = State.Successful;
// Send change extra ether to user.
beneficiary.transfer(safeDiv(safeSubtract(tokenAmount,trancheMaxTokensLeft),currentRate));
} else {
uint256 nextTokenAmount = safeMult(safeSubtract(msg.value,safeMult(trancheMaxTokensLeft,safeDiv(1,currentRate))),nextCurrentRate);
tokensDistributed = safeAdd(tokensDistributed,nextTokenAmount);
tokenAmount = safeAdd(nextTokenAmount,safeAdd(trancheMaxTokensLeft,safeDiv(1,10)));
}
}
else {
tokensDistributed = safeAdd(tokensDistributed,tokenAmount);
}
}
trakToken.transfer(beneficiary,tokenAmount);
// immediately transfer ether to fundsWallet
forwardFunds();
}
function forwardFunds() internal {
contractOwner.transfer(msg.value);
}
/// @dev Returns the current token rate , minimum ether needed and maximum tokens left in currenttranche
function getCurrentTokenPrice() private constant returns (uint256 currentRate, uint256 maximumTokensLeft) {
if (tokensDistributed < safeMult(1,tokensPerTranche) && (block.number < firstChangeBlock)) {
// return ( privateExchangeRate, minPriceInWeiForPre, safeSubtract(tokensPerTranche,tokensDistributed) );
return ( privateExchangeRate, safeSubtract(tokensPerTranche,tokensDistributed) );
}
else if (tokensDistributed < safeMult(2,tokensPerTranche) && (block.number < secondChangeBlock)) {
return ( firstExchangeRate, safeSubtract(safeMult(2,tokensPerTranche),tokensDistributed) );
}
else if (tokensDistributed < safeMult(3,tokensPerTranche) && (block.number < thirdChangeBlock)) {
return ( secondExchangeRate, safeSubtract(safeMult(3,tokensPerTranche),tokensDistributed) );
}
else if (tokensDistributed < safeMult(4,tokensPerTranche) && (block.number < fundingEndBlock)) {
return (thirdExchangeRate,safeSubtract(safeMult(4,tokensPerTranche),tokensDistributed) );
}
else if (tokensDistributed < safeMult(5,tokensPerTranche) && (block.number < fundingEndBlock)) {
return (fourthExchangeRate,safeSubtract(safeMult(5,tokensPerTranche),tokensDistributed) );
}
else if (tokensDistributed <= safeMult(6,tokensPerTranche)) {
return (fifthExchangeRate,safeSubtract(safeMult(6,tokensPerTranche),tokensDistributed) );
}
}
function authorizeKyc(address[] addrs) external onlyOwner returns (bool success) {
//@TODO maximum batch size for uploading
// @TODO amount of gas for a block of code - and will fail if that is exceeded
uint arrayLength = addrs.length;
for (uint x = 0; x < arrayLength; x++) {
whitelistedContributors[addrs[x]] = true;
}
return true;
}
function withdrawWei () external onlyOwner {
// send the eth to the project multisig wallet
contractOwner.transfer(this.balance);
}
function updateFundingEndBlock(uint256 newFundingEndBlock) external onlyOwner {
require(newFundingEndBlock > fundingStartBlock);
//require(newFundingEndBlock >= fundingEndBlock);
fundingEndBlock = newFundingEndBlock;
}
// after ICO only owner can call this
function burnRemainingToken(uint256 _value) external onlyOwner isIcoFinished {
//@TODO - check balance of address if no value passed
require(_value > 0);
trakToken.burn(_value);
}
// after ICO only owner can call this
function withdrawRemainingToken(uint256 _value,address trakTokenAdmin) external onlyOwner isIcoFinished {
//@TODO - check balance of address if no value passed
require(trakTokenAdmin != 0x0);
require(_value > 0);
trakToken.transfer(trakTokenAdmin,_value);
}
// after ICO only owner can call this
function finalize() external onlyOwner isIcoFinished {
state = State.Closed;
trakToken.finalize();
}
// after ICO only owner can call this
function changeTokensWallet(address newAddress) external onlyOwner {
require(newAddress != address(0));
trakToken.changeTokensWallet(newAddress);
}
function removeContract () external onlyOwner atEndOfLifecycle {
// msg.sender will receive all the ethers if this contract has ethers
selfdestruct(msg.sender);
}
/// @param newAddress Address of new owner.
function changeFundsWallet(address newAddress) external onlyOwner returns (bool)
{
require(newAddress != address(0));
contractOwner = newAddress;
}
/// @dev Pauses the contract
function pause() external onlyOwner inState(State.Fundraising) {
// Move the contract to Paused state
state = State.Paused;
}
/// @dev Resume the contract
function resume() external onlyOwner {
// Move the contract out of the Paused state
state = State.Fundraising;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":true,"inputs":[],"name":"creator","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"resume","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"thirdChangeBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensDistributed","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minPriceInWeiForIco","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"privateExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"},{"name":"trakTokenAdmin","type":"address"}],"name":"withdrawRemainingToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"trakToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"secondChangeBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawWei","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"version","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"thirdExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minPriceInWeiForPre","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newAddress","type":"address"}],"name":"changeTokensWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"firstExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"addrs","type":"address[]"}],"name":"authorizeKyc","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newAddress","type":"address"}],"name":"changeFundsWallet","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_value","type":"uint256"}],"name":"burnRemainingToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"fundingEndBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"secondExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fourthExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundingDurationInHours","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundingMaximumTargetInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"firstChangeBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxPriceInWeiFromUser","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whitelistedContributors","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contractOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundingStartBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fifthExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokensPerTranche","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newFundingEndBlock","type":"uint256"}],"name":"updateFundingEndBlock","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalRaisedInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"beneficiary","type":"address"}],"name":"buyTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"removeContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_fundsWallet","type":"address"},{"name":"_fundingStartBlock","type":"uint256"},{"name":"_firstInHours","type":"uint256"},{"name":"_secondInHours","type":"uint256"},{"name":"_thirdInHours","type":"uint256"},{"name":"_fundingDurationInHours","type":"uint256"},{"name":"_tokenAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"}]Contract Creation Code
606060405260008060006101000a81548160ff021916908360038111156200002357fe5b02179055506040805190810160405280600381526020017f312e3000000000000000000000000000000000000000000000000000000000008152506001908051906020019062000075929190620003e4565b506000600d5534156200008757600080fd5b60405160e080620022aa83398101604052808051906020019091908051906020019091908051906020019091908051906020019091908051906020019091908051906020019091908051906020019091905050856200011b87620001018560d46200038f6401000000000262001ade176401000000009004565b620003c56401000000000262001b11176401000000009004565b1115156200012857600080fd5b33600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060008773ffffffffffffffffffffffffffffffffffffffff16141515620001d15786600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000213565b33600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b856006819055506200025c600654620002428760d46200038f6401000000000262001ade176401000000009004565b620003c56401000000000262001b11176401000000009004565b600781905550620002a46006546200028a8660d46200038f6401000000000262001ade176401000000009004565b620003c56401000000000262001b11176401000000009004565b600881905550620002ec600654620002d28560d46200038f6401000000000262001ade176401000000009004565b620003c56401000000000262001b11176401000000009004565b60098190555081600b819055506200033b600654620003218460d46200038f6401000000000262001ade176401000000009004565b620003c56401000000000262001b11176401000000009004565b600a8190555080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050505062000493565b60008082840290506000841480620003b25750828482811515620003af57fe5b04145b1515620003bb57fe5b8091505092915050565b6000808284019050838110151515620003da57fe5b8091505092915050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200042757805160ff191683800117855562000458565b8280016001018555821562000458579182015b82811115620004575782518255916020019190600101906200043a565b5b5090506200046791906200046b565b5090565b6200049091905b808211156200048c57600081600090555060010162000472565b5090565b90565b611e0780620004a36000396000f3006060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f146101e3578063046f7da214610238578063148dd1011461024d578063152e84a7146102765780631dd8f0531461029f5780631eb5de94146102c85780632b7d13cc146102f15780632f885f79146103335780633125443d14610388578063313ce567146103b15780634bb278f3146103e05780635211ac2e146103f557806354fd4d501461040a57806358d3ce8a14610498578063634b3df9146104c15780636a734036146104ea5780636b0f02e61461052357806370d7a0e71461054c5780637d6f0d5f146105925780637ed9c734146105e35780638456cb591461060657806391b43d131461061b578063961a16f214610644578063a382aee21461066d578063a958ffc414610696578063aa367664146106bf578063b41e79d4146106e8578063b614213d14610711578063c19d93fb1461073a578063c7b850dd14610771578063ce606ee0146107c2578063d648a64714610817578063da85868e14610840578063e1ffdecb14610869578063e28b0d9a14610892578063ebcbee16146108b5578063ec8ac4d8146108de578063fe389e091461090c575b6101e133610921565b005b34156101ee57600080fd5b6101f6610de7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561024357600080fd5b61024b610e0d565b005b341561025857600080fd5b610260610e8e565b6040518082815260200191505060405180910390f35b341561028157600080fd5b610289610e94565b6040518082815260200191505060405180910390f35b34156102aa57600080fd5b6102b2610e9a565b6040518082815260200191505060405180910390f35b34156102d357600080fd5b6102db610ea6565b6040518082815260200191505060405180910390f35b34156102fc57600080fd5b610331600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610eac565b005b341561033e57600080fd5b61034661106f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561039357600080fd5b61039b611095565b6040518082815260200191505060405180910390f35b34156103bc57600080fd5b6103c461109b565b604051808260ff1660ff16815260200191505060405180910390f35b34156103eb57600080fd5b6103f36110a0565b005b341561040057600080fd5b610408611210565b005b341561041557600080fd5b61041d6112e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561045d578082015181840152602081019050610442565b50505050905090810190601f16801561048a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104a357600080fd5b6104ab611385565b6040518082815260200191505060405180910390f35b34156104cc57600080fd5b6104d461138b565b6040518082815260200191505060405180910390f35b34156104f557600080fd5b610521600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611397565b005b341561052e57600080fd5b610536611502565b6040518082815260200191505060405180910390f35b341561055757600080fd5b61057860048080359060200190820180359060200191909192905050611508565b604051808215151515815260200191505060405180910390f35b341561059d57600080fd5b6105c9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611617565b604051808215151515815260200191505060405180910390f35b34156105ee57600080fd5b61060460048080359060200190919050506116f7565b005b341561061157600080fd5b61061961185f565b005b341561062657600080fd5b61062e611915565b6040518082815260200191505060405180910390f35b341561064f57600080fd5b61065761191b565b6040518082815260200191505060405180910390f35b341561067857600080fd5b610680611921565b6040518082815260200191505060405180910390f35b34156106a157600080fd5b6106a9611927565b6040518082815260200191505060405180910390f35b34156106ca57600080fd5b6106d261192d565b6040518082815260200191505060405180910390f35b34156106f357600080fd5b6106fb61193b565b6040518082815260200191505060405180910390f35b341561071c57600080fd5b610724611941565b6040518082815260200191505060405180910390f35b341561074557600080fd5b61074d61194e565b6040518082600381111561075d57fe5b60ff16815260200191505060405180910390f35b341561077c57600080fd5b6107a8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611960565b604051808215151515815260200191505060405180910390f35b34156107cd57600080fd5b6107d5611980565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561082257600080fd5b61082a6119a6565b6040518082815260200191505060405180910390f35b341561084b57600080fd5b6108536119ac565b6040518082815260200191505060405180910390f35b341561087457600080fd5b61087c6119b2565b6040518082815260200191505060405180910390f35b341561089d57600080fd5b6108b360048080359060200190919050506119c2565b005b34156108c057600080fd5b6108c8611a38565b6040518082815260200191505060405180910390f35b61090a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610921565b005b341561091757600080fd5b61091f611a3e565b005b600080600080600080600080600080600381111561093b57fe5b6000809054906101000a900460ff16600381111561095557fe5b14151561096157600080fd5b600654431015151561097257600080fd5b600a54431115151561098357600080fd5b690e1f0047abba4bd40000600c541115151561099e57600080fd5b6109b56003601260ff16600a0a62a7d8c002611ade565b600d5410806109c5575060095443105b156109e657670de0b6b3a764000034101515156109e157600080fd5b610a20565b6109fd6006601260ff16600a0a62a7d8c002611ade565b600d54111515610a1f576706f05b59d3b200003410151515610a1e57600080fd5b5b5b685150ae84a8cdf000003411151515610a3857600080fd5b60008a73ffffffffffffffffffffffffffffffffffffffff1614151515610a5e57600080fd5b60011515600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515610abd57600080fd5b610ac9600c5434611b11565b9750690e1f0047abba4bd40000881115610b8857610afe600c54610af9690e1f0047abba4bd40000600c54611b2f565b611b11565b600c81905550610b0c611b48565b509650610b2e610b28690e1f0047abba4bd40000600c54611b2f565b88611ade565b98508973ffffffffffffffffffffffffffffffffffffffff166108fc610b5e8a690e1f0047abba4bd40000611b2f565b9081150290604051600060405180830381858888f193505050501515610b8357600080fd5b610cfb565b610b94600c5434611b11565b600c81905550610ba2611b48565b95509550610bb03487611ade565b985084891115610ce757610bda600d54610bd587610bd06001600a611d5c565b611b11565b611b11565b600d81905550610be8611b48565b93509350600083111515610c8757610c0b85610c066001600a611d5c565b611b11565b985060026000806101000a81548160ff02191690836003811115610c2b57fe5b02179055508973ffffffffffffffffffffffffffffffffffffffff166108fc610c5d610c578c89611b2f565b89611d5c565b9081150290604051600060405180830381858888f193505050501515610c8257600080fd5b610ce2565b610cad610ca734610ca288610c9d60018c611d5c565b611ade565b611b2f565b85611ade565b9150610cbb600d5483611b11565b600d81905550610cdf82610cda87610cd56001600a611d5c565b611b11565b611b11565b98505b610cfa565b610cf3600d548a611b11565b600d819055505b5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610dbf57600080fd5b6102c65a03f11515610dd057600080fd5b505050610ddb611d77565b50505050505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6957600080fd5b60008060006101000a81548160ff02191690836003811115610e8757fe5b0217905550565b60095481565b600d5481565b6706f05b59d3b2000081565b61058c81565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f0857600080fd5b690e1f0047abba4bd40000600c54101580610f245750600a5443115b80610f53575060026003811115610f3757fe5b6000809054906101000a900460ff166003811115610f5157fe5b145b1515610f5e57600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610f8457600080fd5b600082111515610f9357600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561105757600080fd5b6102c65a03f1151561106857600080fd5b5050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b601281565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110fc57600080fd5b690e1f0047abba4bd40000600c541015806111185750600a5443115b8061114757506002600381111561112b57fe5b6000809054906101000a900460ff16600381111561114557fe5b145b151561115257600080fd5b60036000806101000a81548160ff0219169083600381111561117057fe5b0217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bb278f36040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15156111fa57600080fd5b6102c65a03f1151561120b57600080fd5b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126c57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156112e557600080fd5b565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561137d5780601f106113525761010080835404028352916020019161137d565b820191906000526020600020905b81548152906001019060200180831161136057829003601f168201915b505050505081565b61047681565b670de0b6b3a764000081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113f357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561142f57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a734036826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15156114eb57600080fd5b6102c65a03f115156114fc57600080fd5b50505050565b61050981565b6000806000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561156957600080fd5b848490509150600090505b8181101561160b57600160056000878785818110151561159057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611574565b60019250505092915050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561167557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156116b157600080fd5b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175357600080fd5b690e1f0047abba4bd40000600c5410158061176f5750600a5443115b8061179e57506002600381111561178257fe5b6000809054906101000a900460ff16600381111561179c57fe5b145b15156117a957600080fd5b6000811115156117b857600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561184857600080fd5b6102c65a03f1151561185957600080fd5b50505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118bb57600080fd5b60008060038111156118c957fe5b6000809054906101000a900460ff1660038111156118e357fe5b1415156118ef57600080fd5b60016000806101000a81548160ff0219169083600381111561190d57fe5b021790555050565b600a5481565b6104a981565b61045e81565b600b5481565b690e1f0047abba4bd4000081565b60075481565b685150ae84a8cdf0000081565b6000809054906101000a900460ff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b61045181565b601260ff16600a0a62a7d8c00281565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a1e57600080fd5b60065481111515611a2e57600080fd5b80600a8190555050565b600c5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a9a57600080fd5b690e1f0047abba4bd40000600c54101580611aba5750619c40600a540143115b1515611ac557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b60008082840290506000841480611aff5750828482811515611afc57fe5b04145b1515611b0757fe5b8091505092915050565b6000808284019050838110151515611b2557fe5b8091505092915050565b6000818310151515611b3d57fe5b818303905092915050565b600080611b626001601260ff16600a0a62a7d8c002611ade565b600d54108015611b73575060075443105b15611b9c5761058c611b93601260ff16600a0a62a7d8c002600d54611b2f565b91509150611d58565b611bb36002601260ff16600a0a62a7d8c002611ade565b600d54108015611bc4575060085443105b15611bf757610509611bee611be66002601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b611c0e6003601260ff16600a0a62a7d8c002611ade565b600d54108015611c1f575060095443105b15611c52576104a9611c49611c416003601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b611c696004601260ff16600a0a62a7d8c002611ade565b600d54108015611c7a5750600a5443105b15611cad57610476611ca4611c9c6004601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b611cc46005601260ff16600a0a62a7d8c002611ade565b600d54108015611cd55750600a5443105b15611d085761045e611cff611cf76005601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b611d1f6006601260ff16600a0a62a7d8c002611ade565b600d54111515611d5757610451611d4e611d466006601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b5b9091565b6000808284811515611d6a57fe5b0490508091505092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515611dd957600080fd5b5600a165627a7a723058205a8d347f2d3a48e298ffd43fefaa39803672cc26d7093b78a4cc1fbe24bde55f002900000000000000000000000054011a0d6252f50790acaf4340d9e46737ca0ab9000000000000000000000000000000000000000000000000000000000048527600000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000054800000000000000000000000012759512d326303b45f1cec8f7b6fd96f387778e
Deployed Bytecode
0x6060604052600436106101d8576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f146101e3578063046f7da214610238578063148dd1011461024d578063152e84a7146102765780631dd8f0531461029f5780631eb5de94146102c85780632b7d13cc146102f15780632f885f79146103335780633125443d14610388578063313ce567146103b15780634bb278f3146103e05780635211ac2e146103f557806354fd4d501461040a57806358d3ce8a14610498578063634b3df9146104c15780636a734036146104ea5780636b0f02e61461052357806370d7a0e71461054c5780637d6f0d5f146105925780637ed9c734146105e35780638456cb591461060657806391b43d131461061b578063961a16f214610644578063a382aee21461066d578063a958ffc414610696578063aa367664146106bf578063b41e79d4146106e8578063b614213d14610711578063c19d93fb1461073a578063c7b850dd14610771578063ce606ee0146107c2578063d648a64714610817578063da85868e14610840578063e1ffdecb14610869578063e28b0d9a14610892578063ebcbee16146108b5578063ec8ac4d8146108de578063fe389e091461090c575b6101e133610921565b005b34156101ee57600080fd5b6101f6610de7565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561024357600080fd5b61024b610e0d565b005b341561025857600080fd5b610260610e8e565b6040518082815260200191505060405180910390f35b341561028157600080fd5b610289610e94565b6040518082815260200191505060405180910390f35b34156102aa57600080fd5b6102b2610e9a565b6040518082815260200191505060405180910390f35b34156102d357600080fd5b6102db610ea6565b6040518082815260200191505060405180910390f35b34156102fc57600080fd5b610331600480803590602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610eac565b005b341561033e57600080fd5b61034661106f565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561039357600080fd5b61039b611095565b6040518082815260200191505060405180910390f35b34156103bc57600080fd5b6103c461109b565b604051808260ff1660ff16815260200191505060405180910390f35b34156103eb57600080fd5b6103f36110a0565b005b341561040057600080fd5b610408611210565b005b341561041557600080fd5b61041d6112e7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561045d578082015181840152602081019050610442565b50505050905090810190601f16801561048a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34156104a357600080fd5b6104ab611385565b6040518082815260200191505060405180910390f35b34156104cc57600080fd5b6104d461138b565b6040518082815260200191505060405180910390f35b34156104f557600080fd5b610521600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611397565b005b341561052e57600080fd5b610536611502565b6040518082815260200191505060405180910390f35b341561055757600080fd5b61057860048080359060200190820180359060200191909192905050611508565b604051808215151515815260200191505060405180910390f35b341561059d57600080fd5b6105c9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611617565b604051808215151515815260200191505060405180910390f35b34156105ee57600080fd5b61060460048080359060200190919050506116f7565b005b341561061157600080fd5b61061961185f565b005b341561062657600080fd5b61062e611915565b6040518082815260200191505060405180910390f35b341561064f57600080fd5b61065761191b565b6040518082815260200191505060405180910390f35b341561067857600080fd5b610680611921565b6040518082815260200191505060405180910390f35b34156106a157600080fd5b6106a9611927565b6040518082815260200191505060405180910390f35b34156106ca57600080fd5b6106d261192d565b6040518082815260200191505060405180910390f35b34156106f357600080fd5b6106fb61193b565b6040518082815260200191505060405180910390f35b341561071c57600080fd5b610724611941565b6040518082815260200191505060405180910390f35b341561074557600080fd5b61074d61194e565b6040518082600381111561075d57fe5b60ff16815260200191505060405180910390f35b341561077c57600080fd5b6107a8600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611960565b604051808215151515815260200191505060405180910390f35b34156107cd57600080fd5b6107d5611980565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561082257600080fd5b61082a6119a6565b6040518082815260200191505060405180910390f35b341561084b57600080fd5b6108536119ac565b6040518082815260200191505060405180910390f35b341561087457600080fd5b61087c6119b2565b6040518082815260200191505060405180910390f35b341561089d57600080fd5b6108b360048080359060200190919050506119c2565b005b34156108c057600080fd5b6108c8611a38565b6040518082815260200191505060405180910390f35b61090a600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610921565b005b341561091757600080fd5b61091f611a3e565b005b600080600080600080600080600080600381111561093b57fe5b6000809054906101000a900460ff16600381111561095557fe5b14151561096157600080fd5b600654431015151561097257600080fd5b600a54431115151561098357600080fd5b690e1f0047abba4bd40000600c541115151561099e57600080fd5b6109b56003601260ff16600a0a62a7d8c002611ade565b600d5410806109c5575060095443105b156109e657670de0b6b3a764000034101515156109e157600080fd5b610a20565b6109fd6006601260ff16600a0a62a7d8c002611ade565b600d54111515610a1f576706f05b59d3b200003410151515610a1e57600080fd5b5b5b685150ae84a8cdf000003411151515610a3857600080fd5b60008a73ffffffffffffffffffffffffffffffffffffffff1614151515610a5e57600080fd5b60011515600560008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161515141515610abd57600080fd5b610ac9600c5434611b11565b9750690e1f0047abba4bd40000881115610b8857610afe600c54610af9690e1f0047abba4bd40000600c54611b2f565b611b11565b600c81905550610b0c611b48565b509650610b2e610b28690e1f0047abba4bd40000600c54611b2f565b88611ade565b98508973ffffffffffffffffffffffffffffffffffffffff166108fc610b5e8a690e1f0047abba4bd40000611b2f565b9081150290604051600060405180830381858888f193505050501515610b8357600080fd5b610cfb565b610b94600c5434611b11565b600c81905550610ba2611b48565b95509550610bb03487611ade565b985084891115610ce757610bda600d54610bd587610bd06001600a611d5c565b611b11565b611b11565b600d81905550610be8611b48565b93509350600083111515610c8757610c0b85610c066001600a611d5c565b611b11565b985060026000806101000a81548160ff02191690836003811115610c2b57fe5b02179055508973ffffffffffffffffffffffffffffffffffffffff166108fc610c5d610c578c89611b2f565b89611d5c565b9081150290604051600060405180830381858888f193505050501515610c8257600080fd5b610ce2565b610cad610ca734610ca288610c9d60018c611d5c565b611ade565b611b2f565b85611ade565b9150610cbb600d5483611b11565b600d81905550610cdf82610cda87610cd56001600a611d5c565b611b11565b611b11565b98505b610cfa565b610cf3600d548a611b11565b600d819055505b5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb8b8b6040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b1515610dbf57600080fd5b6102c65a03f11515610dd057600080fd5b505050610ddb611d77565b50505050505050505050565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e6957600080fd5b60008060006101000a81548160ff02191690836003811115610e8757fe5b0217905550565b60095481565b600d5481565b6706f05b59d3b2000081565b61058c81565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f0857600080fd5b690e1f0047abba4bd40000600c54101580610f245750600a5443115b80610f53575060026003811115610f3757fe5b6000809054906101000a900460ff166003811115610f5157fe5b145b1515610f5e57600080fd5b60008173ffffffffffffffffffffffffffffffffffffffff1614151515610f8457600080fd5b600082111515610f9357600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663a9059cbb82846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561105757600080fd5b6102c65a03f1151561106857600080fd5b5050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60085481565b601281565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156110fc57600080fd5b690e1f0047abba4bd40000600c541015806111185750600a5443115b8061114757506002600381111561112b57fe5b6000809054906101000a900460ff16600381111561114557fe5b145b151561115257600080fd5b60036000806101000a81548160ff0219169083600381111561117057fe5b0217905550600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16634bb278f36040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401600060405180830381600087803b15156111fa57600080fd5b6102c65a03f1151561120b57600080fd5b505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561126c57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f1935050505015156112e557600080fd5b565b60018054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561137d5780601f106113525761010080835404028352916020019161137d565b820191906000526020600020905b81548152906001019060200180831161136057829003601f168201915b505050505081565b61047681565b670de0b6b3a764000081565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156113f357600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561142f57600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a734036826040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050600060405180830381600087803b15156114eb57600080fd5b6102c65a03f115156114fc57600080fd5b50505050565b61050981565b6000806000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561156957600080fd5b848490509150600090505b8181101561160b57600160056000878785818110151561159057fe5b9050602002013573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080600101915050611574565b60019250505092915050565b6000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561167557600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141515156116b157600080fd5b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550919050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561175357600080fd5b690e1f0047abba4bd40000600c5410158061176f5750600a5443115b8061179e57506002600381111561178257fe5b6000809054906101000a900460ff16600381111561179c57fe5b145b15156117a957600080fd5b6000811115156117b857600080fd5b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166342966c68826040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050600060405180830381600087803b151561184857600080fd5b6102c65a03f1151561185957600080fd5b50505050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156118bb57600080fd5b60008060038111156118c957fe5b6000809054906101000a900460ff1660038111156118e357fe5b1415156118ef57600080fd5b60016000806101000a81548160ff0219169083600381111561190d57fe5b021790555050565b600a5481565b6104a981565b61045e81565b600b5481565b690e1f0047abba4bd4000081565b60075481565b685150ae84a8cdf0000081565b6000809054906101000a900460ff1681565b60056020528060005260406000206000915054906101000a900460ff1681565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60065481565b61045181565b601260ff16600a0a62a7d8c00281565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a1e57600080fd5b60065481111515611a2e57600080fd5b80600a8190555050565b600c5481565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611a9a57600080fd5b690e1f0047abba4bd40000600c54101580611aba5750619c40600a540143115b1515611ac557600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16ff5b60008082840290506000841480611aff5750828482811515611afc57fe5b04145b1515611b0757fe5b8091505092915050565b6000808284019050838110151515611b2557fe5b8091505092915050565b6000818310151515611b3d57fe5b818303905092915050565b600080611b626001601260ff16600a0a62a7d8c002611ade565b600d54108015611b73575060075443105b15611b9c5761058c611b93601260ff16600a0a62a7d8c002600d54611b2f565b91509150611d58565b611bb36002601260ff16600a0a62a7d8c002611ade565b600d54108015611bc4575060085443105b15611bf757610509611bee611be66002601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b611c0e6003601260ff16600a0a62a7d8c002611ade565b600d54108015611c1f575060095443105b15611c52576104a9611c49611c416003601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b611c696004601260ff16600a0a62a7d8c002611ade565b600d54108015611c7a5750600a5443105b15611cad57610476611ca4611c9c6004601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b611cc46005601260ff16600a0a62a7d8c002611ade565b600d54108015611cd55750600a5443105b15611d085761045e611cff611cf76005601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b611d1f6006601260ff16600a0a62a7d8c002611ade565b600d54111515611d5757610451611d4e611d466006601260ff16600a0a62a7d8c002611ade565b600d54611b2f565b91509150611d58565b5b9091565b6000808284811515611d6a57fe5b0490508091505092915050565b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501515611dd957600080fd5b5600a165627a7a723058205a8d347f2d3a48e298ffd43fefaa39803672cc26d7093b78a4cc1fbe24bde55f0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000054011a0d6252f50790acaf4340d9e46737ca0ab9000000000000000000000000000000000000000000000000000000000048527600000000000000000000000000000000000000000000000000000000000001a900000000000000000000000000000000000000000000000000000000000002c400000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000054800000000000000000000000012759512d326303b45f1cec8f7b6fd96f387778e
-----Decoded View---------------
Arg [0] : _fundsWallet (address): 0x54011a0D6252f50790acaf4340D9e46737ca0ab9
Arg [1] : _fundingStartBlock (uint256): 4739702
Arg [2] : _firstInHours (uint256): 425
Arg [3] : _secondInHours (uint256): 708
Arg [4] : _thirdInHours (uint256): 992
Arg [5] : _fundingDurationInHours (uint256): 1352
Arg [6] : _tokenAddress (address): 0x12759512D326303B45f1ceC8F7B6fd96F387778E
-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 00000000000000000000000054011a0d6252f50790acaf4340d9e46737ca0ab9
Arg [1] : 0000000000000000000000000000000000000000000000000000000000485276
Arg [2] : 00000000000000000000000000000000000000000000000000000000000001a9
Arg [3] : 00000000000000000000000000000000000000000000000000000000000002c4
Arg [4] : 00000000000000000000000000000000000000000000000000000000000003e0
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000548
Arg [6] : 00000000000000000000000012759512d326303b45f1cec8f7b6fd96f387778e
Swarm Source
bzzr://5a8d347f2d3a48e298ffd43fefaa39803672cc26d7093b78a4cc1fbe24bde55f
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 33 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
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.