Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 31 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Batch Return Eth... | 4657274 | 2628 days ago | IN | 0 ETH | 0.00397808 | ||||
Transfer | 4655213 | 2628 days ago | IN | 0.2 ETH | 0.00191394 | ||||
Transfer | 4653245 | 2628 days ago | IN | 0.1 ETH | 0.00323547 | ||||
Transfer | 4653220 | 2628 days ago | IN | 1 ETH | 0.00106293 | ||||
Transfer | 4652619 | 2628 days ago | IN | 1 ETH | 0.0018228 | ||||
Transfer | 4652416 | 2629 days ago | IN | 1.01 ETH | 0.00200508 | ||||
Transfer | 4651564 | 2629 days ago | IN | 60 ETH | 0.00050616 | ||||
Transfer | 4651558 | 2629 days ago | IN | 20 ETH | 0.00097412 | ||||
Transfer | 4651139 | 2629 days ago | IN | 1.37 ETH | 0.00196545 | ||||
Transfer | 4651109 | 2629 days ago | IN | 1 ETH | 0.00009359 | ||||
Transfer | 4651076 | 2629 days ago | IN | 0.5 ETH | 0.00009359 | ||||
Transfer | 4651068 | 2629 days ago | IN | 0.5 ETH | 0.000021 | ||||
Transfer | 4651013 | 2629 days ago | IN | 0.3 ETH | 0.00196545 | ||||
Transfer | 4650961 | 2629 days ago | IN | 0.4 ETH | 0.00196545 | ||||
Transfer | 4650866 | 2629 days ago | IN | 0.125 ETH | 0.0012167 | ||||
Transfer | 4650859 | 2629 days ago | IN | 1.01 ETH | 0.00053069 | ||||
Transfer | 4650855 | 2629 days ago | IN | 1 ETH | 0.00093593 | ||||
Transfer | 4650705 | 2629 days ago | IN | 0.19 ETH | 0.00093593 | ||||
Transfer | 4650305 | 2629 days ago | IN | 1.5 ETH | 0.00009359 | ||||
Transfer | 4649487 | 2629 days ago | IN | 1 ETH | 0.00042 | ||||
Transfer | 4649414 | 2629 days ago | IN | 0.05 ETH | 0.00187186 | ||||
Transfer | 4649334 | 2629 days ago | IN | 1 ETH | 0.00196545 | ||||
Transfer | 4649142 | 2629 days ago | IN | 1 ETH | 0.00093593 | ||||
Transfer | 4649136 | 2629 days ago | IN | 1 ETH | 0.00093593 | ||||
Transfer | 4649128 | 2629 days ago | IN | 2 ETH | 0.00196545 |
Latest 23 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
4657274 | 2628 days ago | 0.2 ETH | ||||
4657274 | 2628 days ago | 0.1 ETH | ||||
4657274 | 2628 days ago | 1 ETH | ||||
4657274 | 2628 days ago | 1.01 ETH | ||||
4657274 | 2628 days ago | 80 ETH | ||||
4657274 | 2628 days ago | 1.37 ETH | ||||
4657274 | 2628 days ago | 1 ETH | ||||
4657274 | 2628 days ago | 0.5 ETH | ||||
4657274 | 2628 days ago | 0.3 ETH | ||||
4657274 | 2628 days ago | 0.4 ETH | ||||
4657274 | 2628 days ago | 0.125 ETH | ||||
4657274 | 2628 days ago | 2.01 ETH | ||||
4657274 | 2628 days ago | 0.19 ETH | ||||
4657274 | 2628 days ago | 1.5 ETH | ||||
4657274 | 2628 days ago | 0.05 ETH | ||||
4657274 | 2628 days ago | 50 ETH | ||||
4657274 | 2628 days ago | 1 ETH | ||||
4657274 | 2628 days ago | 1 ETH | ||||
4657274 | 2628 days ago | 1 ETH | ||||
4657274 | 2628 days ago | 2 ETH | ||||
4657274 | 2628 days ago | 2 ETH | ||||
4657274 | 2628 days ago | 2 ETH | ||||
4649358 | 2629 days ago | 50 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
MediaSifterSeedCrowdsale
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 2017-11-29 */ /* Copyright 2017 Cofound.it. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License. */ pragma solidity ^0.4.13; contract ReentrancyHandlingContract { bool locked; modifier noReentrancy() { require(!locked); locked = true; _; locked = false; } } contract Owned { address public owner; address public newOwner; function Owned() public { owner = msg.sender; } modifier onlyOwner { assert(msg.sender == owner); _; } function transferOwnership(address _newOwner) public onlyOwner { require(_newOwner != owner); newOwner = _newOwner; } function acceptOwnership() public { require(msg.sender == newOwner); OwnerUpdate(owner, newOwner); owner = newOwner; newOwner = 0x0; } event OwnerUpdate(address _prevOwner, address _newOwner); } contract PriorityPassInterface { function getAccountLimit(address _accountAddress) public constant returns (uint); function getAccountActivity(address _accountAddress) public constant returns (bool); } contract ERC20TokenInterface { function totalSupply() public constant returns (uint256 _totalSupply); function balanceOf(address _owner) public constant returns (uint256 balance); function transfer(address _to, uint256 _value) public returns (bool success); 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); event Transfer(address indexed _from, address indexed _to, uint256 _value); event Approval(address indexed _owner, address indexed _spender, uint256 _value); } contract SeedCrowdsaleContract is ReentrancyHandlingContract, Owned { struct ContributorData { uint contributionAmount; } mapping(address => ContributorData) public contributorList; uint public nextContributorIndex; mapping(uint => address) public contributorIndexes; state public crowdsaleState = state.pendingStart; enum state { pendingStart, priorityPass, openedPriorityPass, crowdsaleEnded } uint public presaleStartTime; uint public presaleUnlimitedStartTime; uint public crowdsaleEndedTime; event PresaleStarted(uint blocktime); event PresaleUnlimitedStarted(uint blocktime); event CrowdsaleEnded(uint blocktime); event ErrorSendingETH(address to, uint amount); event MinCapReached(uint blocktime); event MaxCapReached(uint blocktime); event ContributionMade(address indexed contributor, uint amount); PriorityPassInterface priorityPassContract = PriorityPassInterface(0x0); uint public minCap; uint public maxP1Cap; uint public maxCap; uint public ethRaised; address public multisigAddress; uint nextContributorToClaim; mapping(address => bool) hasClaimedEthWhenFail; // // Unnamed function that runs when eth is sent to the contract // @payable // function() noReentrancy payable public { require(msg.value != 0); // Throw if value is 0 require(crowdsaleState != state.crowdsaleEnded); // Check if crowdsale has ended bool stateChanged = checkCrowdsaleState(); // Check blocks time and calibrate crowdsale state if (crowdsaleState == state.priorityPass) { if (priorityPassContract.getAccountActivity(msg.sender)) { // Check if contributor is in priorityPass processTransaction(msg.sender, msg.value); // Process transaction and issue tokens } else { refundTransaction(stateChanged); // Set state and return funds or throw } } else if (crowdsaleState == state.openedPriorityPass) { if (priorityPassContract.getAccountActivity(msg.sender)) { // Check if contributor is in priorityPass processTransaction(msg.sender, msg.value); // Process transaction and issue tokens } else { refundTransaction(stateChanged); // Set state and return funds or throw } } else { refundTransaction(stateChanged); // Set state and return funds or throw } } // // @internal checks crowdsale state and emits events it // @returns boolean // function checkCrowdsaleState() internal returns (bool) { if (ethRaised == maxCap && crowdsaleState != state.crowdsaleEnded) { // Check if max cap is reached crowdsaleState = state.crowdsaleEnded; MaxCapReached(block.timestamp); // Close the crowdsale CrowdsaleEnded(block.timestamp); // Raise event return true; } if (block.timestamp > presaleStartTime && block.timestamp <= presaleUnlimitedStartTime) { // Check if we are in presale phase if (crowdsaleState != state.priorityPass) { // Check if state needs to be changed crowdsaleState = state.priorityPass; // Set new state PresaleStarted(block.timestamp); // Raise event return true; } } else if (block.timestamp > presaleUnlimitedStartTime && block.timestamp <= crowdsaleEndedTime) { // Check if we are in presale unlimited phase if (crowdsaleState != state.openedPriorityPass) { // Check if state needs to be changed crowdsaleState = state.openedPriorityPass; // Set new state PresaleUnlimitedStarted(block.timestamp); // Raise event return true; } } else { if (crowdsaleState != state.crowdsaleEnded && block.timestamp > crowdsaleEndedTime) {// Check if crowdsale is over crowdsaleState = state.crowdsaleEnded; // Set new state CrowdsaleEnded(block.timestamp); // Raise event return true; } } return false; } // // @internal determines if return eth or throw according to changing state // @param _stateChanged boolean message about state change // function refundTransaction(bool _stateChanged) internal { if (_stateChanged) { msg.sender.transfer(msg.value); } else { revert(); } } // // Getter to calculate how much user can contribute // @param _contributor address of the contributor // function calculateMaxContribution(address _contributor) constant public returns (uint maxContribution) { uint maxContrib; if (crowdsaleState == state.priorityPass) { // Check if we are in priority pass maxContrib = priorityPassContract.getAccountLimit(_contributor) - contributorList[_contributor].contributionAmount; if (maxContrib > (maxP1Cap - ethRaised)) { // Check if max contribution is more that max cap maxContrib = maxP1Cap - ethRaised; // Alter max cap } } else { maxContrib = maxCap - ethRaised; // Alter max cap } return maxContrib; } // // Return if there is overflow of contributed eth // @internal processes transactions // @param _contributor address of an contributor // @param _amount contributed amount // function processTransaction(address _contributor, uint _amount) internal { uint maxContribution = calculateMaxContribution(_contributor); // Calculate max users contribution uint contributionAmount = _amount; uint returnAmount = 0; if (maxContribution < _amount) { // Check if max contribution is lower than _amount sent contributionAmount = maxContribution; // Set that user contributes his maximum alowed contribution returnAmount = _amount - maxContribution; // Calculate how much he must get back } if (ethRaised + contributionAmount >= minCap && minCap > ethRaised) { MinCapReached(block.timestamp); } if (contributorList[_contributor].contributionAmount == 0) { // Check if contributor has already contributed contributorList[_contributor].contributionAmount = contributionAmount; // Set their contribution contributorIndexes[nextContributorIndex] = _contributor; // Set contributors index nextContributorIndex++; } else { contributorList[_contributor].contributionAmount += contributionAmount; // Add contribution amount to existing contributor } ethRaised += contributionAmount; // Add to eth raised ContributionMade(msg.sender, contributionAmount); // Raise event about contribution if (returnAmount != 0) { _contributor.transfer(returnAmount); // Return overflow of ether } } // // Recovers ERC20 tokens other than eth that are send to this address // @owner refunds the erc20 tokens // @param _tokenAddress address of the erc20 token // @param _to address to where tokens should be send to // @param _amount amount of tokens to refund // function salvageTokensFromContract(address _tokenAddress, address _to, uint _amount) onlyOwner public { ERC20TokenInterface(_tokenAddress).transfer(_to, _amount); } // // withdrawEth when minimum cap is reached // @owner sets contributions to withdraw // function withdrawEth() onlyOwner public { require(this.balance != 0); require(ethRaised >= minCap); pendingEthWithdrawal = this.balance; } uint public pendingEthWithdrawal; // // pulls the funds that were set to send with calling of // withdrawEth when minimum cap is reached // @multisig pulls the contributions to self // function pullBalance() public { require(msg.sender == multisigAddress); require(pendingEthWithdrawal > 0); multisigAddress.transfer(pendingEthWithdrawal); pendingEthWithdrawal = 0; } // // Owner can batch return contributors contributions(eth) // @owner returns contributions // @param _numberOfReturns number of returns to do in one transaction // function batchReturnEthIfFailed(uint _numberOfReturns) onlyOwner public { require(block.timestamp > crowdsaleEndedTime && ethRaised < minCap); // Check if crowdsale has failed address currentParticipantAddress; uint contribution; for (uint cnt = 0; cnt < _numberOfReturns; cnt++) { currentParticipantAddress = contributorIndexes[nextContributorToClaim]; // Get next unclaimed participant if (currentParticipantAddress == 0x0) { return; // Check if all the participants were compensated } if (!hasClaimedEthWhenFail[currentParticipantAddress]) { // Check if participant has already claimed contribution = contributorList[currentParticipantAddress].contributionAmount; // Get contribution of participant hasClaimedEthWhenFail[currentParticipantAddress] = true; // Set that he has claimed if (!currentParticipantAddress.send(contribution)) { // Refund eth ErrorSendingETH(currentParticipantAddress, contribution); // If there is an issue raise event for manual recovery } } nextContributorToClaim += 1; // Repeat } } // // If there were any issue with refund owner can withdraw eth at the end for manual recovery // @owner withdraws remaining funds // function withdrawRemainingBalanceForManualRecovery() onlyOwner public { require(this.balance != 0); // Check if there are any eth to claim require(block.timestamp > crowdsaleEndedTime); // Check if crowdsale is over require(contributorIndexes[nextContributorToClaim] == 0x0); // Check if all the users were refunded multisigAddress.transfer(this.balance); // Withdraw to multisig for manual processing } // // Owner can set multisig address for crowdsale // @owner sets an address where funds will go // @param _newAddress // function setMultisigAddress(address _newAddress) onlyOwner public { multisigAddress = _newAddress; } // // Setter for the whitelist contract // @owner sets address of whitelist contract // @param address // function setPriorityPassContract(address _newAddress) onlyOwner public { priorityPassContract = PriorityPassInterface(_newAddress); } // // Getter for the whitelist contract // @returns white list contract address // function priorityPassContractAddress() constant public returns (address) { return address(priorityPassContract); } // // Before crowdsale starts owner can calibrate time of crowdsale stages // @owner sends new times for the sale // @param _presaleStartTime timestamp for sale limited start // @param _presaleUnlimitedStartTime timestamp for sale unlimited // @param _crowdsaleEndedTime timestamp for ending sale // function setCrowdsaleTimes(uint _presaleStartTime, uint _presaleUnlimitedStartTime, uint _crowdsaleEndedTime) onlyOwner public { require(crowdsaleState == state.pendingStart); // Check if crowdsale has started require(_presaleStartTime != 0); // Check if any value is 0 require(_presaleStartTime < _presaleUnlimitedStartTime); // Check if presaleUnlimitedStartTime is set properly require(_presaleUnlimitedStartTime != 0); // Check if any value is 0 require(_presaleUnlimitedStartTime < _crowdsaleEndedTime); // Check if crowdsaleEndedTime is set properly require(_crowdsaleEndedTime != 0); // Check if any value is 0 presaleStartTime = _presaleStartTime; presaleUnlimitedStartTime = _presaleUnlimitedStartTime; crowdsaleEndedTime = _crowdsaleEndedTime; } } contract MediaSifterSeedCrowdsale is SeedCrowdsaleContract { function MediaSifterSeedCrowdsale() { presaleStartTime = 1512032400; presaleUnlimitedStartTime = 1512063000; crowdsaleEndedTime = 1512140400; minCap = 416 ether; maxP1Cap = 802 ether; maxCap = 891 ether; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"setMultisigAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"presaleUnlimitedStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"contributorIndexes","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawRemainingBalanceForManualRecovery","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"maxCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"pendingEthWithdrawal","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"priorityPassContractAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxP1Cap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"multisigAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"setPriorityPassContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_presaleStartTime","type":"uint256"},{"name":"_presaleUnlimitedStartTime","type":"uint256"},{"name":"_crowdsaleEndedTime","type":"uint256"}],"name":"setCrowdsaleTimes","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_contributor","type":"address"}],"name":"calculateMaxContribution","outputs":[{"name":"maxContribution","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_numberOfReturns","type":"uint256"}],"name":"batchReturnEthIfFailed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"contributorList","outputs":[{"name":"contributionAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"nextContributorIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenAddress","type":"address"},{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"}],"name":"salvageTokensFromContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawEth","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"presaleStartTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pullBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleState","outputs":[{"name":"","type":"uint8"}],"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":"crowdsaleEndedTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"blocktime","type":"uint256"}],"name":"PresaleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"blocktime","type":"uint256"}],"name":"PresaleUnlimitedStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"blocktime","type":"uint256"}],"name":"CrowdsaleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ErrorSendingETH","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"blocktime","type":"uint256"}],"name":"MinCapReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"blocktime","type":"uint256"}],"name":"MaxCapReached","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"contributor","type":"address"},{"indexed":false,"name":"amount","type":"uint256"}],"name":"ContributionMade","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]
Contract Creation Code
60606040526005805460ff1916905560098054600160a060020a0319169055341561002957600080fd5b60008054600160a060020a0333166101000261010060a860020a0319909116179055635a1fc890600655635a204018600755635a216e7060085568168d28e3f002800000600a55682b79fc5ed267480000600b5568304d1be347990c0000600c556110a5806100996000396000f3006060604052600436106101455763ffffffff60e060020a6000350416630554053481146102ce578063101e652e146102ef5780631790bd17146103145780632165e1aa1461034657806323548b8b146103595780632c0a7e331461036c5780633e84b2661461037f5780633fa615b0146103925780634aa5a05d146103a55780635462870d146103b857806358b0a2aa146103cb57806359a591be146103ea5780635f2536f71461040657806379ba5097146104255780637f860330146104385780638da5cb5b1461044e57806392acb4d6146104615780639561a03814610480578063a0929cda14610493578063a0ef91df146104bb578063a82524b2146104ce578063b45aff16146104e1578063d4ee1d90146104f4578063e7bb523314610507578063f2fde38b1461053e578063f3a5644d1461055d578063fddf0fc014610570575b6000805460ff161561015657600080fd5b6000805460ff1916600117905534151561016f57600080fd5b600360055460ff16600381111561018257fe5b141561018d57600080fd5b610195610583565b9050600160055460ff1660038111156101aa57fe5b141561024657600954600160a060020a0316634afb07c43360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561020957600080fd5b6102c65a03f1151561021a57600080fd5b5050506040518051905015610238576102333334610794565b610241565b61024181610925565b6102c1565b600260055460ff16600381111561025957fe5b14156102b857600954600160a060020a0316634afb07c43360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561020957600080fd5b6102c181610925565b506000805460ff19169055005b34156102d957600080fd5b6102ed600160a060020a036004351661096a565b005b34156102fa57600080fd5b6103026109b6565b60405190815260200160405180910390f35b341561031f57600080fd5b61032a6004356109bc565b604051600160a060020a03909116815260200160405180910390f35b341561035157600080fd5b6102ed6109d7565b341561036457600080fd5b610302610a78565b341561037757600080fd5b610302610a7e565b341561038a57600080fd5b61032a610a84565b341561039d57600080fd5b610302610a93565b34156103b057600080fd5b610302610a99565b34156103c357600080fd5b61032a610a9f565b34156103d657600080fd5b6102ed600160a060020a0360043516610aae565b34156103f557600080fd5b6102ed600435602435604435610afa565b341561041157600080fd5b610302600160a060020a0360043516610b7e565b341561043057600080fd5b6102ed610c51565b341561044357600080fd5b6102ed600435610d15565b341561045957600080fd5b61032a610e5e565b341561046c57600080fd5b610302600160a060020a0360043516610e72565b341561048b57600080fd5b610302610e84565b341561049e57600080fd5b6102ed600160a060020a0360043581169060243516604435610e8a565b34156104c657600080fd5b6102ed610f24565b34156104d957600080fd5b610302610f78565b34156104ec57600080fd5b6102ed610f7e565b34156104ff57600080fd5b61032a610fe9565b341561051257600080fd5b61051a610ff8565b6040518082600381111561052a57fe5b60ff16815260200191505060405180910390f35b341561054957600080fd5b6102ed600160a060020a0360043516611001565b341561056857600080fd5b61030261106d565b341561057b57600080fd5b610302611073565b6000600c54600d541480156105a95750600360055460ff1660038111156105a657fe5b14155b15610629576005805460ff191660031790557f38caa2c61728c18eb71cbd06d1915e4164ffe51c69a09b68d78be1f125a5dea74260405190815260200160405180910390a17f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b4260405190815260200160405180910390a1506001610791565b6006544211801561063c57506007544211155b156106a657600160055460ff16600381111561065457fe5b146106a1576005805460ff191660011790557f350219912288aa2ab1c63b5922619564a732d06ab5d23696cafa1afe515304a04260405190815260200160405180910390a1506001610791565b61078d565b600754421180156106b957506008544211155b1561071e57600260055460ff1660038111156106d157fe5b146106a1576005805460ff191660021790557fb7375af7a044d5065808a05cbebd17a66f5bdf2d4f7ca631a5bd4be6c7f1bb324260405190815260200160405180910390a1506001610791565b600360055460ff16600381111561073157fe5b14158015610740575060085442115b1561078d576005805460ff191660031790557f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b4260405190815260200160405180910390a1506001610791565b5060005b90565b60008060006107a285610b7e565b925083915060009050838310156107bb57508190508083035b600a5482600d5401101580156107d45750600d54600a54115b1561080d577f71bd1f47064193be653e360173639170d33d2cfe47bf52a3de621ca4040e23584260405190815260200160405180910390a15b600160a060020a038516600090815260026020526040902054151561088357600160a060020a03851660008181526002602090815260408083208690556003805484526004909252909120805473ffffffffffffffffffffffffffffffffffffffff1916909217909155805460010190556108a2565b600160a060020a03851660009081526002602052604090208054830190555b600d805483019055600160a060020a0333167f6770260ea820d2f539364e7617e021543aaf6d192f2fd2a47c20db6bd99a4eb98360405190815260200160405180910390a2801561091e57600160a060020a03851681156108fc0282604051600060405180830381858888f19350505050151561091e57600080fd5b5050505050565b801561096257600160a060020a0333163480156108fc0290604051600060405180830381858888f19350505050151561095d57600080fd5b610967565b600080fd5b50565b60005433600160a060020a03908116610100909204161461098757fe5b600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075481565b600460205260009081526040902054600160a060020a031681565b60005433600160a060020a0390811661010090920416146109f457fe5b600160a060020a033016311515610a0a57600080fd5b6008544211610a1857600080fd5b600f54600090815260046020526040902054600160a060020a031615610a3d57600080fd5b600e54600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610a7657600080fd5b565b600c5481565b60115481565b600954600160a060020a031690565b600a5481565b600b5481565b600e54600160a060020a031681565b60005433600160a060020a039081166101009092041614610acb57fe5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081166101009092041614610b1757fe5b600060055460ff166003811115610b2a57fe5b14610b3457600080fd5b821515610b4057600080fd5b818310610b4c57600080fd5b811515610b5857600080fd5b808210610b6457600080fd5b801515610b7057600080fd5b600692909255600755600855565b600080600160055460ff166003811115610b9457fe5b1415610c4257600160a060020a03808416600090815260026020526040808220546009549093169163caa4041e91879190516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c0857600080fd5b6102c65a03f11515610c1957600080fd5b50505060405180519050039050600d54600b5403811115610c3d5750600d54600b54035b610c4b565b50600d54600c54035b92915050565b60015433600160a060020a03908116911614610c6c57600080fd5b6000546001547f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91600160a060020a0361010090910481169116604051600160a060020a039283168152911660208201526040908101905180910390a1600180546000805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0384160217905573ffffffffffffffffffffffffffffffffffffffff19169055565b600080548190819033600160a060020a039081166101009092041614610d3757fe5b60085442118015610d4b5750600a54600d54105b1515610d5657600080fd5b5060005b83811015610e5857600f54600090815260046020526040902054600160a060020a03169250821515610d8b57610e58565b600160a060020a03831660009081526010602052604090205460ff161515610e4657600160a060020a038316600081815260026020908152604080832054601090925291829020805460ff19166001179055935083156108fc0290849051600060405180830381858888f193505050501515610e46577fdb623bd5ad9b688a8d252706b5f3b2849545e7c47f1a9be77f95b198445a67d38383604051600160a060020a03909216825260208201526040908101905180910390a15b600f8054600190810190915501610d5a565b50505050565b6000546101009004600160a060020a031681565b60026020526000908152604090205481565b60035481565b60005433600160a060020a039081166101009092041614610ea757fe5b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610f0457600080fd5b6102c65a03f11515610f1557600080fd5b50505060405180515050505050565b60005433600160a060020a039081166101009092041614610f4157fe5b600160a060020a033016311515610f5757600080fd5b600a54600d541015610f6857600080fd5b600160a060020a03301631601155565b60065481565b600e5433600160a060020a03908116911614610f9957600080fd5b60115460009011610fa957600080fd5b600e54601154600160a060020a039091169080156108fc0290604051600060405180830381858888f193505050501515610fe257600080fd5b6000601155565b600154600160a060020a031681565b60055460ff1681565b60005433600160a060020a03908116610100909204161461101e57fe5b600054600160a060020a0382811661010090920416141561103e57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085481565b600d54815600a165627a7a72305820c962283108af1052917302bad2472c3ab97ab1017602296c1aae587ed4ebedee0029
Deployed Bytecode
0x6060604052600436106101455763ffffffff60e060020a6000350416630554053481146102ce578063101e652e146102ef5780631790bd17146103145780632165e1aa1461034657806323548b8b146103595780632c0a7e331461036c5780633e84b2661461037f5780633fa615b0146103925780634aa5a05d146103a55780635462870d146103b857806358b0a2aa146103cb57806359a591be146103ea5780635f2536f71461040657806379ba5097146104255780637f860330146104385780638da5cb5b1461044e57806392acb4d6146104615780639561a03814610480578063a0929cda14610493578063a0ef91df146104bb578063a82524b2146104ce578063b45aff16146104e1578063d4ee1d90146104f4578063e7bb523314610507578063f2fde38b1461053e578063f3a5644d1461055d578063fddf0fc014610570575b6000805460ff161561015657600080fd5b6000805460ff1916600117905534151561016f57600080fd5b600360055460ff16600381111561018257fe5b141561018d57600080fd5b610195610583565b9050600160055460ff1660038111156101aa57fe5b141561024657600954600160a060020a0316634afb07c43360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561020957600080fd5b6102c65a03f1151561021a57600080fd5b5050506040518051905015610238576102333334610794565b610241565b61024181610925565b6102c1565b600260055460ff16600381111561025957fe5b14156102b857600954600160a060020a0316634afb07c43360006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561020957600080fd5b6102c181610925565b506000805460ff19169055005b34156102d957600080fd5b6102ed600160a060020a036004351661096a565b005b34156102fa57600080fd5b6103026109b6565b60405190815260200160405180910390f35b341561031f57600080fd5b61032a6004356109bc565b604051600160a060020a03909116815260200160405180910390f35b341561035157600080fd5b6102ed6109d7565b341561036457600080fd5b610302610a78565b341561037757600080fd5b610302610a7e565b341561038a57600080fd5b61032a610a84565b341561039d57600080fd5b610302610a93565b34156103b057600080fd5b610302610a99565b34156103c357600080fd5b61032a610a9f565b34156103d657600080fd5b6102ed600160a060020a0360043516610aae565b34156103f557600080fd5b6102ed600435602435604435610afa565b341561041157600080fd5b610302600160a060020a0360043516610b7e565b341561043057600080fd5b6102ed610c51565b341561044357600080fd5b6102ed600435610d15565b341561045957600080fd5b61032a610e5e565b341561046c57600080fd5b610302600160a060020a0360043516610e72565b341561048b57600080fd5b610302610e84565b341561049e57600080fd5b6102ed600160a060020a0360043581169060243516604435610e8a565b34156104c657600080fd5b6102ed610f24565b34156104d957600080fd5b610302610f78565b34156104ec57600080fd5b6102ed610f7e565b34156104ff57600080fd5b61032a610fe9565b341561051257600080fd5b61051a610ff8565b6040518082600381111561052a57fe5b60ff16815260200191505060405180910390f35b341561054957600080fd5b6102ed600160a060020a0360043516611001565b341561056857600080fd5b61030261106d565b341561057b57600080fd5b610302611073565b6000600c54600d541480156105a95750600360055460ff1660038111156105a657fe5b14155b15610629576005805460ff191660031790557f38caa2c61728c18eb71cbd06d1915e4164ffe51c69a09b68d78be1f125a5dea74260405190815260200160405180910390a17f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b4260405190815260200160405180910390a1506001610791565b6006544211801561063c57506007544211155b156106a657600160055460ff16600381111561065457fe5b146106a1576005805460ff191660011790557f350219912288aa2ab1c63b5922619564a732d06ab5d23696cafa1afe515304a04260405190815260200160405180910390a1506001610791565b61078d565b600754421180156106b957506008544211155b1561071e57600260055460ff1660038111156106d157fe5b146106a1576005805460ff191660021790557fb7375af7a044d5065808a05cbebd17a66f5bdf2d4f7ca631a5bd4be6c7f1bb324260405190815260200160405180910390a1506001610791565b600360055460ff16600381111561073157fe5b14158015610740575060085442115b1561078d576005805460ff191660031790557f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b4260405190815260200160405180910390a1506001610791565b5060005b90565b60008060006107a285610b7e565b925083915060009050838310156107bb57508190508083035b600a5482600d5401101580156107d45750600d54600a54115b1561080d577f71bd1f47064193be653e360173639170d33d2cfe47bf52a3de621ca4040e23584260405190815260200160405180910390a15b600160a060020a038516600090815260026020526040902054151561088357600160a060020a03851660008181526002602090815260408083208690556003805484526004909252909120805473ffffffffffffffffffffffffffffffffffffffff1916909217909155805460010190556108a2565b600160a060020a03851660009081526002602052604090208054830190555b600d805483019055600160a060020a0333167f6770260ea820d2f539364e7617e021543aaf6d192f2fd2a47c20db6bd99a4eb98360405190815260200160405180910390a2801561091e57600160a060020a03851681156108fc0282604051600060405180830381858888f19350505050151561091e57600080fd5b5050505050565b801561096257600160a060020a0333163480156108fc0290604051600060405180830381858888f19350505050151561095d57600080fd5b610967565b600080fd5b50565b60005433600160a060020a03908116610100909204161461098757fe5b600e805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60075481565b600460205260009081526040902054600160a060020a031681565b60005433600160a060020a0390811661010090920416146109f457fe5b600160a060020a033016311515610a0a57600080fd5b6008544211610a1857600080fd5b600f54600090815260046020526040902054600160a060020a031615610a3d57600080fd5b600e54600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610a7657600080fd5b565b600c5481565b60115481565b600954600160a060020a031690565b600a5481565b600b5481565b600e54600160a060020a031681565b60005433600160a060020a039081166101009092041614610acb57fe5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005433600160a060020a039081166101009092041614610b1757fe5b600060055460ff166003811115610b2a57fe5b14610b3457600080fd5b821515610b4057600080fd5b818310610b4c57600080fd5b811515610b5857600080fd5b808210610b6457600080fd5b801515610b7057600080fd5b600692909255600755600855565b600080600160055460ff166003811115610b9457fe5b1415610c4257600160a060020a03808416600090815260026020526040808220546009549093169163caa4041e91879190516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b1515610c0857600080fd5b6102c65a03f11515610c1957600080fd5b50505060405180519050039050600d54600b5403811115610c3d5750600d54600b54035b610c4b565b50600d54600c54035b92915050565b60015433600160a060020a03908116911614610c6c57600080fd5b6000546001547f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91600160a060020a0361010090910481169116604051600160a060020a039283168152911660208201526040908101905180910390a1600180546000805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0384160217905573ffffffffffffffffffffffffffffffffffffffff19169055565b600080548190819033600160a060020a039081166101009092041614610d3757fe5b60085442118015610d4b5750600a54600d54105b1515610d5657600080fd5b5060005b83811015610e5857600f54600090815260046020526040902054600160a060020a03169250821515610d8b57610e58565b600160a060020a03831660009081526010602052604090205460ff161515610e4657600160a060020a038316600081815260026020908152604080832054601090925291829020805460ff19166001179055935083156108fc0290849051600060405180830381858888f193505050501515610e46577fdb623bd5ad9b688a8d252706b5f3b2849545e7c47f1a9be77f95b198445a67d38383604051600160a060020a03909216825260208201526040908101905180910390a15b600f8054600190810190915501610d5a565b50505050565b6000546101009004600160a060020a031681565b60026020526000908152604090205481565b60035481565b60005433600160a060020a039081166101009092041614610ea757fe5b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610f0457600080fd5b6102c65a03f11515610f1557600080fd5b50505060405180515050505050565b60005433600160a060020a039081166101009092041614610f4157fe5b600160a060020a033016311515610f5757600080fd5b600a54600d541015610f6857600080fd5b600160a060020a03301631601155565b60065481565b600e5433600160a060020a03908116911614610f9957600080fd5b60115460009011610fa957600080fd5b600e54601154600160a060020a039091169080156108fc0290604051600060405180830381858888f193505050501515610fe257600080fd5b6000601155565b600154600160a060020a031681565b60055460ff1681565b60005433600160a060020a03908116610100909204161461101e57fe5b600054600160a060020a0382811661010090920416141561103e57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60085481565b600d54815600a165627a7a72305820c962283108af1052917302bad2472c3ab97ab1017602296c1aae587ed4ebedee0029
Swarm Source
bzzr://c962283108af1052917302bad2472c3ab97ab1017602296c1aae587ed4ebedee
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.