More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 4,622 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Transfer | 6673284 | 2209 days ago | IN | 0.02680892 ETH | 0.00134365 | ||||
Transfer | 6673230 | 2209 days ago | IN | 0.02815257 ETH | 0.00134365 | ||||
Transfer | 6553639 | 2228 days ago | IN | 0.10905002 ETH | 0.00110179 | ||||
Transfer | 6553026 | 2229 days ago | IN | 0.11015181 ETH | 0.00110179 | ||||
Transfer | 5271146 | 2446 days ago | IN | 0.0001 ETH | 0.00134365 | ||||
Transfer | 4965620 | 2498 days ago | IN | 0.000051 ETH | 0.00001343 | ||||
Transfer | 4965573 | 2498 days ago | IN | 0.0001 ETH | 0.000021 | ||||
Transfer | 4878958 | 2513 days ago | IN | 0 ETH | 0.00161388 | ||||
Transfer | 4865292 | 2516 days ago | IN | 0.004 ETH | 0.000725 | ||||
Transfer | 4864450 | 2516 days ago | IN | 0.00519768 ETH | 0.000725 | ||||
Transfer | 4843161 | 2520 days ago | IN | 0.00004 ETH | 0.00107492 | ||||
Transfer | 4781972 | 2530 days ago | IN | 0.01477353 ETH | 0.0000021 | ||||
Transfer | 4711332 | 2542 days ago | IN | 0.99 ETH | 0.0025 | ||||
Transfer | 4711325 | 2542 days ago | IN | 0.99 ETH | 0.0025 | ||||
Transfer | 4711211 | 2543 days ago | IN | 0.00545508 ETH | 0.00026873 | ||||
Transfer | 4711165 | 2543 days ago | IN | 0.00277 ETH | 0.0015 | ||||
Transfer | 4711149 | 2543 days ago | IN | 1 ETH | 0.0025 | ||||
Transfer | 4711078 | 2543 days ago | IN | 0.175 ETH | 0.0025 | ||||
Transfer | 4711037 | 2543 days ago | IN | 0.54780321 ETH | 0.00026873 | ||||
Transfer | 4710935 | 2543 days ago | IN | 0.22 ETH | 0.00025 | ||||
Transfer | 4710344 | 2543 days ago | IN | 1 ETH | 0.0002956 | ||||
Transfer | 4709150 | 2543 days ago | IN | 0.0275 ETH | 0.0025 | ||||
Transfer | 4708170 | 2543 days ago | IN | 0.99 ETH | 0.0025 | ||||
Transfer | 4707314 | 2543 days ago | IN | 4.26 ETH | 0.00505 | ||||
Transfer | 4707233 | 2543 days ago | IN | 2.1 ETH | 0.00525 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
4694118 | 2545 days ago | 1 ETH | ||||
4694090 | 2545 days ago | 2.7 ETH | ||||
4694090 | 2545 days ago | 231 ETH | ||||
4694076 | 2545 days ago | 1,667 ETH | ||||
4694071 | 2545 days ago | 37.11 ETH | ||||
4694057 | 2545 days ago | 1 ETH | ||||
4694022 | 2545 days ago | 15 ETH | ||||
4694016 | 2545 days ago | 6 ETH | ||||
4693968 | 2545 days ago | 2 ETH | ||||
4693966 | 2545 days ago | 2.45 ETH | ||||
4693965 | 2545 days ago | 2 ETH | ||||
4693962 | 2545 days ago | 0.10443531 ETH | ||||
4693960 | 2545 days ago | 4.29274524 ETH | ||||
4693946 | 2545 days ago | 1.24 ETH | ||||
4693937 | 2545 days ago | 0.5 ETH | ||||
4693920 | 2545 days ago | 10 ETH | ||||
4693809 | 2546 days ago | 4 ETH | ||||
4693809 | 2546 days ago | 11 ETH | ||||
4693792 | 2546 days ago | 14.6 ETH | ||||
4693759 | 2546 days ago | 1 ETH | ||||
4693734 | 2546 days ago | 0.88314687 ETH | ||||
4693731 | 2546 days ago | 2.48 ETH | ||||
4693707 | 2546 days ago | 1.01 ETH | ||||
4693648 | 2546 days ago | 1 ETH | ||||
4693634 | 2546 days ago | 0.13 ETH |
Loading...
Loading
Contract Name:
StormCrowdsale
Compiler Version
v0.4.19-nightly.2017.11.11+commit.284c3839
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-11-13 */ pragma solidity ^0.4.13; contract IERC20Token { function totalSupply() constant returns (uint256 totalSupply); function balanceOf(address _owner) constant returns (uint256 balance) {} function transfer(address _to, uint256 _value) returns (bool success) {} function transferFrom(address _from, address _to, uint256 _value) returns (bool success) {} function approve(address _spender, uint256 _value) returns (bool success) {} function allowance(address _owner, address _spender) 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 IToken { function totalSupply() constant returns (uint256 totalSupply); function mintTokens(address _to, uint256 _amount) {} } contract Owned { address public owner; address public newOwner; function Owned() { 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 ReentrancyHandling { bool locked; modifier noReentrancy() { require(!locked); locked = true; _; locked = false; } } /** * @title SafeMath * @dev Math operations with safety checks that throw on error */ library SafeMath { function mul(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a * b; assert(a == 0 || c / a == b); return c; } function div(uint256 a, uint256 b) internal constant returns (uint256) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } function sub(uint256 a, uint256 b) internal constant returns (uint256) { assert(b <= a); return a - b; } function add(uint256 a, uint256 b) internal constant returns (uint256) { uint256 c = a + b; assert(c >= a); return c; } } contract Crowdsale is ReentrancyHandling, Owned { using SafeMath for uint256; struct ContributorData { bool isWhiteListed; bool isCommunityRoundApproved; uint256 contributionAmount; uint256 tokensIssued; } mapping(address => ContributorData) public contributorList; enum state { pendingStart, communityRound, crowdsaleStarted, crowdsaleEnded } state crowdsaleState; uint public communityRoundStartDate; uint public crowdsaleStartDate; uint public crowdsaleEndDate; event CommunityRoundStarted(uint timestamp); event CrowdsaleStarted(uint timestamp); event CrowdsaleEnded(uint timestamp); IToken token = IToken(0x0); uint ethToTokenConversion; uint256 maxCrowdsaleCap; uint256 maxCommunityCap; uint256 maxCommunityWithoutBonusCap; uint256 maxContribution; uint256 tokenSold = 0; uint256 communityTokenSold = 0; uint256 communityTokenWithoutBonusSold = 0; uint256 crowdsaleTokenSold = 0; uint256 public ethRaisedWithoutCompany = 0; address companyAddress; // company wallet address in cold/hardware storage uint maxTokenSupply; uint companyTokens; bool treasuryLocked = false; bool ownerHasClaimedTokens = false; bool ownerHasClaimedCompanyTokens = false; // validates sender is whitelisted modifier onlyWhiteListUser { require(contributorList[msg.sender].isWhiteListed == true); _; } // limit gas price to 50 Gwei (about 5-10x the normal amount) modifier onlyLowGasPrice { require(tx.gasprice <= 50*10**9 wei); _; } // // Unnamed function that runs when eth is sent to the contract // function() public noReentrancy onlyWhiteListUser onlyLowGasPrice payable { require(msg.value != 0); // Throw if value is 0 require(companyAddress != 0x0); require(token != IToken(0x0)); checkCrowdsaleState(); // Calibrate crowdsale state assert((crowdsaleState == state.communityRound && contributorList[msg.sender].isCommunityRoundApproved) || crowdsaleState == state.crowdsaleStarted); processTransaction(msg.sender, msg.value); // Process transaction and issue tokens checkCrowdsaleState(); // Calibrate crowdsale state } // // return state of smart contract // function getState() public constant returns (uint256, uint256, uint) { uint currentState = 0; if (crowdsaleState == state.pendingStart) { currentState = 1; } else if (crowdsaleState == state.communityRound) { currentState = 2; } else if (crowdsaleState == state.crowdsaleStarted) { currentState = 3; } else if (crowdsaleState == state.crowdsaleEnded) { currentState = 4; } return (tokenSold, communityTokenSold, currentState); } // // Check crowdsale state and calibrate it // function checkCrowdsaleState() internal { if (now > crowdsaleEndDate || tokenSold >= maxTokenSupply) { // end crowdsale once all tokens are sold or run out of time if (crowdsaleState != state.crowdsaleEnded) { crowdsaleState = state.crowdsaleEnded; CrowdsaleEnded(now); } } else if (now > crowdsaleStartDate) { // move into crowdsale round if (crowdsaleState != state.crowdsaleStarted) { uint256 communityTokenRemaining = maxCommunityCap.sub(communityTokenSold); // apply any remaining tokens from community round to crowdsale round maxCrowdsaleCap = maxCrowdsaleCap.add(communityTokenRemaining); crowdsaleState = state.crowdsaleStarted; // change state CrowdsaleStarted(now); } } else if (now > communityRoundStartDate) { if (communityTokenSold < maxCommunityCap) { if (crowdsaleState != state.communityRound) { crowdsaleState = state.communityRound; CommunityRoundStarted(now); } } else { // automatically start crowdsale when all community round tokens are sold out if (crowdsaleState != state.crowdsaleStarted) { crowdsaleState = state.crowdsaleStarted; CrowdsaleStarted(now); } } } } // // Issue tokens and return if there is overflow // function calculateCommunity(address _contributor, uint256 _newContribution) internal returns (uint256, uint256) { uint256 communityEthAmount = 0; uint256 communityTokenAmount = 0; uint previousContribution = contributorList[_contributor].contributionAmount; // retrieve previous contributions // community round ONLY if (crowdsaleState == state.communityRound && contributorList[_contributor].isCommunityRoundApproved && previousContribution < maxContribution) { communityEthAmount = _newContribution; uint256 availableEthAmount = maxContribution.sub(previousContribution); // limit the contribution ETH amount to the maximum allowed for the community round if (communityEthAmount > availableEthAmount) { communityEthAmount = availableEthAmount; } // compute community tokens without bonus communityTokenAmount = communityEthAmount.mul(ethToTokenConversion); uint256 availableTokenAmount = maxCommunityWithoutBonusCap.sub(communityTokenWithoutBonusSold); // verify community tokens do not go over the max cap for community round if (communityTokenAmount > availableTokenAmount) { // cap the tokens to the max allowed for the community round communityTokenAmount = availableTokenAmount; // recalculate the corresponding ETH amount communityEthAmount = communityTokenAmount.div(ethToTokenConversion); } // track tokens sold during community round communityTokenWithoutBonusSold = communityTokenWithoutBonusSold.add(communityTokenAmount); // compute bonus tokens uint256 bonusTokenAmount = communityTokenAmount.mul(15); bonusTokenAmount = bonusTokenAmount.div(100); // add bonus to community tokens communityTokenAmount = communityTokenAmount.add(bonusTokenAmount); // track tokens sold during community round communityTokenSold = communityTokenSold.add(communityTokenAmount); } return (communityTokenAmount, communityEthAmount); } // // Issue tokens and return if there is overflow // function calculateCrowdsale(uint256 _remainingContribution) internal returns (uint256, uint256) { uint256 crowdsaleEthAmount = _remainingContribution; // compute crowdsale tokens uint256 crowdsaleTokenAmount = crowdsaleEthAmount.mul(ethToTokenConversion); // determine crowdsale tokens remaining uint256 availableTokenAmount = maxCrowdsaleCap.sub(crowdsaleTokenSold); // verify crowdsale tokens do not go over the max cap for crowdsale round if (crowdsaleTokenAmount > availableTokenAmount) { // cap the tokens to the max allowed for the crowdsale round crowdsaleTokenAmount = availableTokenAmount; // recalculate the corresponding ETH amount crowdsaleEthAmount = crowdsaleTokenAmount.div(ethToTokenConversion); } // track tokens sold during crowdsale round crowdsaleTokenSold = crowdsaleTokenSold.add(crowdsaleTokenAmount); return (crowdsaleTokenAmount, crowdsaleEthAmount); } // // Issue tokens and return if there is overflow // function processTransaction(address _contributor, uint256 _amount) internal { uint256 newContribution = _amount; var (communityTokenAmount, communityEthAmount) = calculateCommunity(_contributor, newContribution); // compute remaining ETH amount available for purchasing crowdsale tokens var (crowdsaleTokenAmount, crowdsaleEthAmount) = calculateCrowdsale(newContribution.sub(communityEthAmount)); // add up crowdsale + community tokens uint256 tokenAmount = crowdsaleTokenAmount.add(communityTokenAmount); assert(tokenAmount > 0); // Issue new tokens token.mintTokens(_contributor, tokenAmount); // log token issuance contributorList[_contributor].tokensIssued = contributorList[_contributor].tokensIssued.add(tokenAmount); // Add contribution amount to existing contributor newContribution = crowdsaleEthAmount.add(communityEthAmount); contributorList[_contributor].contributionAmount = contributorList[_contributor].contributionAmount.add(newContribution); ethRaisedWithoutCompany = ethRaisedWithoutCompany.add(newContribution); // Add contribution amount to ETH raised tokenSold = tokenSold.add(tokenAmount); // track how many tokens are sold // compute any refund if applicable uint256 refundAmount = _amount.sub(newContribution); if (refundAmount > 0) { _contributor.transfer(refundAmount); // refund contributor amount behind the maximum ETH cap } companyAddress.transfer(newContribution); // send ETH to company } // // whitelist validated participants. // function WhiteListContributors(address[] _contributorAddresses, bool[] _contributorCommunityRoundApproved) public onlyOwner { require(_contributorAddresses.length == _contributorCommunityRoundApproved.length); // Check if input data is correct for (uint cnt = 0; cnt < _contributorAddresses.length; cnt++) { contributorList[_contributorAddresses[cnt]].isWhiteListed = true; contributorList[_contributorAddresses[cnt]].isCommunityRoundApproved = _contributorCommunityRoundApproved[cnt]; } } // // Method is needed for recovering tokens accidentally sent to token address // function salvageTokensFromContract(address _tokenAddress, address _to, uint _amount) public onlyOwner { IERC20Token(_tokenAddress).transfer(_to, _amount); } // // Owner can set multisig address for crowdsale // function setCompanyAddress(address _newAddress) public onlyOwner { require(!treasuryLocked); // Check if owner has already claimed tokens companyAddress = _newAddress; treasuryLocked = true; } // // Owner can set token address where mints will happen // function setToken(address _newAddress) public onlyOwner { token = IToken(_newAddress); } function getToken() public constant returns (address) { return address(token); } // // Claims company tokens // function claimCompanyTokens() public onlyOwner { require(!ownerHasClaimedCompanyTokens); // Check if owner has already claimed tokens require(companyAddress != 0x0); tokenSold = tokenSold.add(companyTokens); token.mintTokens(companyAddress, companyTokens); // Issue company tokens ownerHasClaimedCompanyTokens = true; // Block further mints from this method } // // Claim remaining tokens when crowdsale ends // function claimRemainingTokens() public onlyOwner { checkCrowdsaleState(); // Calibrate crowdsale state require(crowdsaleState == state.crowdsaleEnded); // Check crowdsale has ended require(!ownerHasClaimedTokens); // Check if owner has already claimed tokens require(companyAddress != 0x0); uint256 remainingTokens = maxTokenSupply.sub(token.totalSupply()); token.mintTokens(companyAddress, remainingTokens); // Issue tokens to company ownerHasClaimedTokens = true; // Block further mints from this method } } contract StormCrowdsale is Crowdsale { string public officialWebsite; string public officialFacebook; string public officialTelegram; string public officialEmail; function StormCrowdsale() public { officialWebsite = "https://www.stormtoken.com"; officialFacebook = "https://www.facebook.com/stormtoken/"; officialTelegram = "https://t.me/joinchat/GHTZGQwsy9mZk0KFEEjGtg"; officialEmail = "[email protected]"; communityRoundStartDate = 1510063200; // Nov 7, 2017 @ 6am PST crowdsaleStartDate = communityRoundStartDate + 24 hours; // 24 hours later crowdsaleEndDate = communityRoundStartDate + 30 days + 12 hours; // 30 days + 12 hours later: Dec 7th, 2017 @ 6pm PST [1512698400] crowdsaleState = state.pendingStart; ethToTokenConversion = 26950; // 1 ETH == 26,950 STORM tokens maxTokenSupply = 10000000000 ether; // 10,000,000,000 companyTokens = 8124766171 ether; // allocation for company pool, private presale, user pool // 2,325,649,071 tokens from the company pool are voluntarily locked for 2 years maxCommunityWithoutBonusCap = 945000000 ether; maxCommunityCap = 1086750000 ether; // 945,000,000 with 15% bonus of 141,750,000 maxCrowdsaleCap = 788483829 ether; // tokens allocated to crowdsale maxContribution = 100 ether; // maximum contribution during community round } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"setToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getState","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleEndDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getToken","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"crowdsaleStartDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"officialEmail","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimRemainingTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"officialFacebook","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newAddress","type":"address"}],"name":"setCompanyAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"acceptOwnership","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":"isWhiteListed","type":"bool"},{"name":"isCommunityRoundApproved","type":"bool"},{"name":"contributionAmount","type":"uint256"},{"name":"tokensIssued","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"ethRaisedWithoutCompany","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":true,"inputs":[],"name":"officialTelegram","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimCompanyTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"officialWebsite","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"communityRoundStartDate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"newOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_contributorAddresses","type":"address[]"},{"name":"_contributorCommunityRoundApproved","type":"bool[]"}],"name":"WhiteListContributors","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"CommunityRoundStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"CrowdsaleStarted","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"CrowdsaleEnded","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"_prevOwner","type":"address"},{"indexed":false,"name":"_newOwner","type":"address"}],"name":"OwnerUpdate","type":"event"}]
Contract Creation Code
606060405260078054600160a060020a03191690556000600d819055600e819055600f81905560108190556011556015805462ffffff1916905534156200004557600080fd5b6000805461010060a860020a03191661010033600160a060020a03160217905560408051908101604052601a81527f68747470733a2f2f7777772e73746f726d746f6b656e2e636f6d00000000000060208201526016908051620000ae9291602001906200026a565b50606060405190810160405280602481526020017f68747470733a2f2f7777772e66616365626f6f6b2e636f6d2f73746f726d746f81526020017f6b656e2f000000000000000000000000000000000000000000000000000000008152506017908051620001219291602001906200026a565b50606060405190810160405280602c81526020017f68747470733a2f2f742e6d652f6a6f696e636861742f4748545a47517773793981526020017f6d5a6b304b4645456a47746700000000000000000000000000000000000000008152506018908051620001949291602001906200026a565b5060408051908101604052601381527f696e666f4073746f726d746f6b656e2e636f6d0000000000000000000000000060208201526019908051620001de9291602001906200026a565b50635a01bc60600455635a030de0600555635a29f2206006556003805460ff191690556169466008556b204fce5e3e250261100000006013556b1a40a628ad3f45122e8c00006014556b030daf88a662792f51000000600b556b0382f0438c2471c336c00000600a556b028c37f204c14b8baab4000060095568056bc75e2d63100000600c556200030f565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002ad57805160ff1916838001178555620002dd565b82800160010185558215620002dd579182015b82811115620002dd578251825591602001919060010190620002c0565b50620002eb929150620002ef565b5090565b6200030c91905b80821115620002eb5760008155600101620002f6565b90565b611468806200031f6000396000f3006060604052600436106101035763ffffffff60e060020a600035041663144fa6d7811461021a5780631865c57d1461023b578063192f10761461027257806321df0da7146102975780632edcc661146102c65780632fa146d8146102d9578063313602d4146103635780634e58e920146103765780634f63a7721461038957806379ba5097146103a85780638da5cb5b146103bb57806392acb4d6146103ce5780639bf070b51461041b578063a0929cda1461042e578063a10d6a5114610456578063b7e621c314610469578063bf3d99951461047c578063d1baaf581461048f578063d4ee1d90146104a2578063f2fde38b146104b5578063fbbc2243146104d4575b60005460ff161561011357600080fd5b6000805460ff191660019081178255600160a060020a0333168252600260205260409091205460ff1615151461014857600080fd5b640ba43b74003a111561015a57600080fd5b34151561016657600080fd5b601254600160a060020a0316151561017d57600080fd5b600754600160a060020a0316151561019457600080fd5b61019c610563565b60016003805460ff16908111156101af57fe5b1480156101d9575033600160a060020a0316600090815260026020526040902054610100900460ff165b806101f4575060026003805460ff16908111156101f257fe5b145b15156101fc57fe5b610206333461073d565b61020e610563565b6000805460ff19169055005b341561022557600080fd5b610239600160a060020a0360043516610952565b005b341561024657600080fd5b61024e61099e565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561027d57600080fd5b610285610a32565b60405190815260200160405180910390f35b34156102a257600080fd5b6102aa610a38565b604051600160a060020a03909116815260200160405180910390f35b34156102d157600080fd5b610285610a47565b34156102e457600080fd5b6102ec610a4d565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610328578082015183820152602001610310565b50505050905090810190601f1680156103555780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036e57600080fd5b610239610aeb565b341561038157600080fd5b6102ec610c53565b341561039457600080fd5b610239600160a060020a0360043516610cbe565b34156103b357600080fd5b610239610d27565b34156103c657600080fd5b6102aa610deb565b34156103d957600080fd5b6103ed600160a060020a0360043516610dff565b6040519315158452911515602084015260408084019190915260608301919091526080909101905180910390f35b341561042657600080fd5b610285610e2d565b341561043957600080fd5b610239600160a060020a0360043581169060243516604435610e33565b341561046157600080fd5b6102ec610ecd565b341561047457600080fd5b610239610f38565b341561048757600080fd5b6102ec611021565b341561049a57600080fd5b61028561108c565b34156104ad57600080fd5b6102aa611092565b34156104c057600080fd5b610239600160a060020a03600435166110a1565b34156104df57600080fd5b61023960046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061110d95505050505050565b60006006544211806105795750601354600d5410155b156105d9576003805460ff168181111561058f57fe5b146105d4576003805460ff1916811790557f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b4260405190815260200160405180910390a15b61073a565b60055442111561066e5760026003805460ff16908111156105f657fe5b146105d457600e54600a546106109163ffffffff6111f616565b600954909150610626908263ffffffff61120816565b6009556003805460ff191660021790557f712173de1d50109191e0d0671c67415bf3d44508558069796106054c5600d5014260405190815260200160405180910390a161073a565b60045442111561073a57600a54600e5410156106e15760016003805460ff169081111561069757fe5b146105d4576003805460ff191660011790557f0c4f5d815bd2c3e7c8433a9d1cfd00fb1eb7882d59378327a234d51009fae8254260405190815260200160405180910390a161073a565b60026003805460ff16908111156106f457fe5b1461073a576003805460ff191660021790557f712173de1d50109191e0d0671c67415bf3d44508558069796106054c5600d5014260405190815260200160405180910390a15b50565b806000808080808061074f898861121e565b909650945061076c610767888763ffffffff6111f616565b611383565b9094509250610781848763ffffffff61120816565b91506000821161078d57fe5b600754600160a060020a031663f0dda65c8a8460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156107e357600080fd5b6102c65a03f115156107f457600080fd5b505050600160a060020a03891660009081526002602081905260409091200154610824908363ffffffff61120816565b600160a060020a038a1660009081526002602081905260409091200155610851838663ffffffff61120816565b600160a060020a038a16600090815260026020526040902060010154909750610880908863ffffffff61120816565b600160a060020a038a166000908152600260205260409020600101556011546108af908863ffffffff61120816565b601155600d546108c5908363ffffffff61120816565b600d556108d8888863ffffffff6111f616565b9050600081111561091457600160a060020a03891681156108fc0282604051600060405180830381858888f19350505050151561091457600080fd5b601254600160a060020a031687156108fc0288604051600060405180830381858888f19350505050151561094757600080fd5b505050505050505050565b60005433600160a060020a03908116610100909204161461096f57fe5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000808080806003805460ff16908111156109b557fe5b14156109c357506001610a20565b60016003805460ff16908111156109d657fe5b14156109e457506002610a20565b60026003805460ff16908111156109f757fe5b1415610a0557506003610a20565b6003805460ff1681811115610a1657fe5b1415610a20575060045b600d54600e5490959094509092509050565b60065481565b600754600160a060020a031690565b60055481565b60198054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b820191906000526020600020905b815481529060010190602001808311610ac657829003601f168201915b505050505081565b6000805433600160a060020a039081166101009092041614610b0957fe5b610b11610563565b6003805460ff1681811115610b2257fe5b14610b2c57600080fd5b601554610100900460ff1615610b4157600080fd5b601254600160a060020a03161515610b5857600080fd5b600754610bcd90600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ba457600080fd5b6102c65a03f11515610bb557600080fd5b5050506040518051601354915063ffffffff6111f616565b600754601254919250600160a060020a039081169163f0dda65c91168360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610c2d57600080fd5b6102c65a03f11515610c3e57600080fd5b50506015805461ff0019166101001790555050565b60178054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b60005433600160a060020a039081166101009092041614610cdb57fe5b60155460ff1615610ceb57600080fd5b6012805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556015805460ff19166001179055565b60015433600160a060020a03908116911614610d4257600080fd5b6000546001547f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91600160a060020a0361010090910481169116604051600160a060020a039283168152911660208201526040908101905180910390a1600180546000805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0384160217905573ffffffffffffffffffffffffffffffffffffffff19169055565b6000546101009004600160a060020a031681565b600260208190526000918252604090912080546001820154919092015460ff80841693610100900416919084565b60115481565b60005433600160a060020a039081166101009092041614610e5057fe5b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610ead57600080fd5b6102c65a03f11515610ebe57600080fd5b50505060405180515050505050565b60188054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b60005433600160a060020a039081166101009092041614610f5557fe5b60155462010000900460ff1615610f6b57600080fd5b601254600160a060020a03161515610f8257600080fd5b601454600d54610f979163ffffffff61120816565b600d55600754601254601454600160a060020a039283169263f0dda65c92169060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610ffa57600080fd5b6102c65a03f1151561100b57600080fd5b50506015805462ff000019166201000017905550565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b60045481565b600154600160a060020a031681565b60005433600160a060020a0390811661010090920416146110be57fe5b600054600160a060020a038281166101009092041614156110de57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000805433600160a060020a03908116610100909204161461112b57fe5b815183511461113957600080fd5b5060005b82518110156111f15760016002600085848151811061115857fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff191691151591909117905581818151811061119657fe5b90602001906020020151600260008584815181106111b057fe5b90602001906020020151600160a060020a03168152602081019190915260400160002080549115156101000261ff001990921691909117905560010161113d565b505050565b60008282111561120257fe5b50900390565b60008282018381101561121757fe5b9392505050565b600160a060020a03821660009081526002602052604081206001908101548291829182918290819081906003805460ff169081111561125957fe5b1480156112835750600160a060020a038a16600090815260026020526040902054610100900460ff165b80156112905750600c5484105b1561137357600c548996506112ab908563ffffffff6111f616565b9250828611156112b9578295505b6008546112cd90879063ffffffff61140116565b94506112e6600f54600b546111f690919063ffffffff16565b91508185111561130b578194506113086008548661142590919063ffffffff16565b95505b600f5461131e908663ffffffff61120816565b600f90815561133490869063ffffffff61140116565b905061134781606463ffffffff61142516565b9050611359858263ffffffff61120816565b600e5490955061136f908663ffffffff61120816565b600e555b5092989397509295505050505050565b60008060008060008592506113a36008548461140190919063ffffffff16565b91506113bc6010546009546111f690919063ffffffff16565b9050808211156113e1578091506113de6008548361142590919063ffffffff16565b92505b6010546113f4908363ffffffff61120816565b6010555094909350915050565b600082820283158061141d575082848281151561141a57fe5b04145b151561121757fe5b600080828481151561143357fe5b049493505050505600a165627a7a72305820e2b689ace3daeac854c0fa90273b3f3c22656dce664044dba6788eb8a6b45d510029
Deployed Bytecode
0x6060604052600436106101035763ffffffff60e060020a600035041663144fa6d7811461021a5780631865c57d1461023b578063192f10761461027257806321df0da7146102975780632edcc661146102c65780632fa146d8146102d9578063313602d4146103635780634e58e920146103765780634f63a7721461038957806379ba5097146103a85780638da5cb5b146103bb57806392acb4d6146103ce5780639bf070b51461041b578063a0929cda1461042e578063a10d6a5114610456578063b7e621c314610469578063bf3d99951461047c578063d1baaf581461048f578063d4ee1d90146104a2578063f2fde38b146104b5578063fbbc2243146104d4575b60005460ff161561011357600080fd5b6000805460ff191660019081178255600160a060020a0333168252600260205260409091205460ff1615151461014857600080fd5b640ba43b74003a111561015a57600080fd5b34151561016657600080fd5b601254600160a060020a0316151561017d57600080fd5b600754600160a060020a0316151561019457600080fd5b61019c610563565b60016003805460ff16908111156101af57fe5b1480156101d9575033600160a060020a0316600090815260026020526040902054610100900460ff165b806101f4575060026003805460ff16908111156101f257fe5b145b15156101fc57fe5b610206333461073d565b61020e610563565b6000805460ff19169055005b341561022557600080fd5b610239600160a060020a0360043516610952565b005b341561024657600080fd5b61024e61099e565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561027d57600080fd5b610285610a32565b60405190815260200160405180910390f35b34156102a257600080fd5b6102aa610a38565b604051600160a060020a03909116815260200160405180910390f35b34156102d157600080fd5b610285610a47565b34156102e457600080fd5b6102ec610a4d565b60405160208082528190810183818151815260200191508051906020019080838360005b83811015610328578082015183820152602001610310565b50505050905090810190601f1680156103555780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561036e57600080fd5b610239610aeb565b341561038157600080fd5b6102ec610c53565b341561039457600080fd5b610239600160a060020a0360043516610cbe565b34156103b357600080fd5b610239610d27565b34156103c657600080fd5b6102aa610deb565b34156103d957600080fd5b6103ed600160a060020a0360043516610dff565b6040519315158452911515602084015260408084019190915260608301919091526080909101905180910390f35b341561042657600080fd5b610285610e2d565b341561043957600080fd5b610239600160a060020a0360043581169060243516604435610e33565b341561046157600080fd5b6102ec610ecd565b341561047457600080fd5b610239610f38565b341561048757600080fd5b6102ec611021565b341561049a57600080fd5b61028561108c565b34156104ad57600080fd5b6102aa611092565b34156104c057600080fd5b610239600160a060020a03600435166110a1565b34156104df57600080fd5b61023960046024813581810190830135806020818102016040519081016040528093929190818152602001838360200280828437820191505050505050919080359060200190820180359060200190808060200260200160405190810160405280939291908181526020018383602002808284375094965061110d95505050505050565b60006006544211806105795750601354600d5410155b156105d9576003805460ff168181111561058f57fe5b146105d4576003805460ff1916811790557f9145a7fd7de2aa5b50a289cf5dd2e2d100aa067911e49855b88f94b5a196f04b4260405190815260200160405180910390a15b61073a565b60055442111561066e5760026003805460ff16908111156105f657fe5b146105d457600e54600a546106109163ffffffff6111f616565b600954909150610626908263ffffffff61120816565b6009556003805460ff191660021790557f712173de1d50109191e0d0671c67415bf3d44508558069796106054c5600d5014260405190815260200160405180910390a161073a565b60045442111561073a57600a54600e5410156106e15760016003805460ff169081111561069757fe5b146105d4576003805460ff191660011790557f0c4f5d815bd2c3e7c8433a9d1cfd00fb1eb7882d59378327a234d51009fae8254260405190815260200160405180910390a161073a565b60026003805460ff16908111156106f457fe5b1461073a576003805460ff191660021790557f712173de1d50109191e0d0671c67415bf3d44508558069796106054c5600d5014260405190815260200160405180910390a15b50565b806000808080808061074f898861121e565b909650945061076c610767888763ffffffff6111f616565b611383565b9094509250610781848763ffffffff61120816565b91506000821161078d57fe5b600754600160a060020a031663f0dda65c8a8460405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b15156107e357600080fd5b6102c65a03f115156107f457600080fd5b505050600160a060020a03891660009081526002602081905260409091200154610824908363ffffffff61120816565b600160a060020a038a1660009081526002602081905260409091200155610851838663ffffffff61120816565b600160a060020a038a16600090815260026020526040902060010154909750610880908863ffffffff61120816565b600160a060020a038a166000908152600260205260409020600101556011546108af908863ffffffff61120816565b601155600d546108c5908363ffffffff61120816565b600d556108d8888863ffffffff6111f616565b9050600081111561091457600160a060020a03891681156108fc0282604051600060405180830381858888f19350505050151561091457600080fd5b601254600160a060020a031687156108fc0288604051600060405180830381858888f19350505050151561094757600080fd5b505050505050505050565b60005433600160a060020a03908116610100909204161461096f57fe5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000808080806003805460ff16908111156109b557fe5b14156109c357506001610a20565b60016003805460ff16908111156109d657fe5b14156109e457506002610a20565b60026003805460ff16908111156109f757fe5b1415610a0557506003610a20565b6003805460ff1681811115610a1657fe5b1415610a20575060045b600d54600e5490959094509092509050565b60065481565b600754600160a060020a031690565b60055481565b60198054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b820191906000526020600020905b815481529060010190602001808311610ac657829003601f168201915b505050505081565b6000805433600160a060020a039081166101009092041614610b0957fe5b610b11610563565b6003805460ff1681811115610b2257fe5b14610b2c57600080fd5b601554610100900460ff1615610b4157600080fd5b601254600160a060020a03161515610b5857600080fd5b600754610bcd90600160a060020a03166318160ddd6000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ba457600080fd5b6102c65a03f11515610bb557600080fd5b5050506040518051601354915063ffffffff6111f616565b600754601254919250600160a060020a039081169163f0dda65c91168360405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610c2d57600080fd5b6102c65a03f11515610c3e57600080fd5b50506015805461ff0019166101001790555050565b60178054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b60005433600160a060020a039081166101009092041614610cdb57fe5b60155460ff1615610ceb57600080fd5b6012805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790556015805460ff19166001179055565b60015433600160a060020a03908116911614610d4257600080fd5b6000546001547f343765429aea5a34b3ff6a3785a98a5abb2597aca87bfbb58632c173d585373a91600160a060020a0361010090910481169116604051600160a060020a039283168152911660208201526040908101905180910390a1600180546000805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a0384160217905573ffffffffffffffffffffffffffffffffffffffff19169055565b6000546101009004600160a060020a031681565b600260208190526000918252604090912080546001820154919092015460ff80841693610100900416919084565b60115481565b60005433600160a060020a039081166101009092041614610e5057fe5b82600160a060020a031663a9059cbb838360006040516020015260405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401602060405180830381600087803b1515610ead57600080fd5b6102c65a03f11515610ebe57600080fd5b50505060405180515050505050565b60188054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b60005433600160a060020a039081166101009092041614610f5557fe5b60155462010000900460ff1615610f6b57600080fd5b601254600160a060020a03161515610f8257600080fd5b601454600d54610f979163ffffffff61120816565b600d55600754601254601454600160a060020a039283169263f0dda65c92169060405160e060020a63ffffffff8516028152600160a060020a0390921660048301526024820152604401600060405180830381600087803b1515610ffa57600080fd5b6102c65a03f1151561100b57600080fd5b50506015805462ff000019166201000017905550565b60168054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ae35780601f10610ab857610100808354040283529160200191610ae3565b60045481565b600154600160a060020a031681565b60005433600160a060020a0390811661010090920416146110be57fe5b600054600160a060020a038281166101009092041614156110de57600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000805433600160a060020a03908116610100909204161461112b57fe5b815183511461113957600080fd5b5060005b82518110156111f15760016002600085848151811061115857fe5b90602001906020020151600160a060020a031681526020810191909152604001600020805460ff191691151591909117905581818151811061119657fe5b90602001906020020151600260008584815181106111b057fe5b90602001906020020151600160a060020a03168152602081019190915260400160002080549115156101000261ff001990921691909117905560010161113d565b505050565b60008282111561120257fe5b50900390565b60008282018381101561121757fe5b9392505050565b600160a060020a03821660009081526002602052604081206001908101548291829182918290819081906003805460ff169081111561125957fe5b1480156112835750600160a060020a038a16600090815260026020526040902054610100900460ff165b80156112905750600c5484105b1561137357600c548996506112ab908563ffffffff6111f616565b9250828611156112b9578295505b6008546112cd90879063ffffffff61140116565b94506112e6600f54600b546111f690919063ffffffff16565b91508185111561130b578194506113086008548661142590919063ffffffff16565b95505b600f5461131e908663ffffffff61120816565b600f90815561133490869063ffffffff61140116565b905061134781606463ffffffff61142516565b9050611359858263ffffffff61120816565b600e5490955061136f908663ffffffff61120816565b600e555b5092989397509295505050505050565b60008060008060008592506113a36008548461140190919063ffffffff16565b91506113bc6010546009546111f690919063ffffffff16565b9050808211156113e1578091506113de6008548361142590919063ffffffff16565b92505b6010546113f4908363ffffffff61120816565b6010555094909350915050565b600082820283158061141d575082848281151561141a57fe5b04145b151561121757fe5b600080828481151561143357fe5b049493505050505600a165627a7a72305820e2b689ace3daeac854c0fa90273b3f3c22656dce664044dba6788eb8a6b45d510029
Swarm Source
bzzr://e2b689ace3daeac854c0fa90273b3f3c22656dce664044dba6788eb8a6b45d51
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.