Feature Tip: Add private address tag to any address under My Name Tag !
Overview
ETH Balance
0.00388416 ETH
Eth Value
$13.46 (@ $3,466.44/ETH)More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 25 from a total of 59 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Buy Bag | 6705718 | 2231 days ago | IN | 0.036992 ETH | 0.0006069 | ||||
Buy Bag | 6705714 | 2231 days ago | IN | 0 ETH | 0.00011643 | ||||
Buy Bag | 6549820 | 2257 days ago | IN | 0.04 ETH | 0.0014306 | ||||
Withdraw Ether | 5780798 | 2386 days ago | IN | 0 ETH | 0.00009087 | ||||
Add Bag And Gift | 5300541 | 2469 days ago | IN | 0 ETH | 0.00012697 | ||||
Buy Bag | 5300381 | 2469 days ago | IN | 0.052 ETH | 0.00036414 | ||||
Add Bag And Gift | 5300330 | 2469 days ago | IN | 0 ETH | 0.00012697 | ||||
Add Bag And Gift | 5300315 | 2469 days ago | IN | 0 ETH | 0.00012697 | ||||
Add Bag And Gift | 5300298 | 2469 days ago | IN | 0 ETH | 0.00012697 | ||||
Add Bag And Gift | 5300262 | 2469 days ago | IN | 0 ETH | 0.00025395 | ||||
Add Bag And Gift | 5300249 | 2469 days ago | IN | 0 ETH | 0.00025395 | ||||
Add Bag And Gift | 5300245 | 2469 days ago | IN | 0 ETH | 0.00025395 | ||||
Add Bag And Gift | 5300233 | 2469 days ago | IN | 0 ETH | 0.00038093 | ||||
Buy Bag | 5294586 | 2470 days ago | IN | 0.036992 ETH | 0.00012138 | ||||
Buy Bag | 5249535 | 2478 days ago | IN | 0.03 ETH | 0.00024498 | ||||
Buy Bag | 5248205 | 2478 days ago | IN | 0.0272 ETH | 0.00024276 | ||||
Buy Bag | 5247774 | 2478 days ago | IN | 0.08788 ETH | 0.00024263 | ||||
Buy Bag | 5239893 | 2479 days ago | IN | 0.04 ETH | 0.00006643 | ||||
Buy Bag | 5239853 | 2479 days ago | IN | 0.03 ETH | 0.00013286 | ||||
Buy Bag | 5239850 | 2479 days ago | IN | 0.0272 ETH | 0.00006532 | ||||
Buy Bag | 5239779 | 2479 days ago | IN | 0.03 ETH | 0.00006643 | ||||
Buy Bag | 5239757 | 2479 days ago | IN | 0.04 ETH | 0.00006643 | ||||
Buy Bag | 5239624 | 2479 days ago | IN | 0.04 ETH | 0.00024498 | ||||
Buy Bag | 5238017 | 2480 days ago | IN | 0.03 ETH | 0.00073496 | ||||
Buy Bag | 5238009 | 2480 days ago | IN | 0.02 ETH | 0.00134743 |
Latest 11 internal transactions
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
6705718 | 2231 days ago | 0.03310784 ETH | ||||
6549820 | 2257 days ago | 0.04 ETH | ||||
5780798 | 2386 days ago | 0.54056536 ETH | ||||
5300381 | 2469 days ago | 0.0442 ETH | ||||
5294586 | 2470 days ago | 0.03310784 ETH | ||||
5248205 | 2478 days ago | 0.024208 ETH | ||||
5247774 | 2478 days ago | 0.0755768 ETH | ||||
5239850 | 2479 days ago | 0.024208 ETH | ||||
5238006 | 2480 days ago | 0.057798 ETH | ||||
5238005 | 2480 days ago | 0.024208 ETH | ||||
5238003 | 2480 days ago | 0.0442 ETH |
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
CryptoSurprise
Compiler Version
v0.4.20+commit.3155dd80
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-03-13 */ pragma solidity ^0.4.19; //////////////////////////////////// ////// CRYPTO SURPRISE ////// https://cryptosurprise.me //////////////////////////////////// contract CryptoSurprise { using SetLibrary for SetLibrary.Set; //////////////////////////////////// ////// CONSTANTS uint256 constant public BAG_TRANSFER_FEE = 0.05 ether; uint256 constant public BAG_TRANSFER_MINIMUM_AMOUNT_OF_BUYS = 4; //////////////////////////////////// ////// STATE VARIABLES struct BagType { // Constants string name; uint256 startPrice; uint256 priceMultiplierPerBuy; // For example, 2 000 000 means 100% increase. (100% = doubling every buy) uint256 startCommission; // 0 to 1 000 000, for example 100 000 means 10% uint256 commissionIncrementPerBuy; uint256 maximumCommission; uint256 supplyHardCap; // Variables uint256 currentSupply; } struct Bag { // Constants uint256 bagTypeIndex; // Variables uint256 amountOfBuys; address owner; uint256 commission; // 0 to 1 000 000, for example 100 000 means 10% uint256 price; uint256 availableTimestamp; } // Variable that remembers the current owner address public owner; BagType[] public bagTypes; Bag[] public bags; mapping(address => uint256) public addressToTotalEtherSpent; mapping(address => uint256) public addressToTotalPurchasesMade; mapping(address => SetLibrary.Set) private ownerToBagIndices; address[] public allParticipants; //////////////////////////////////// ////// PLAYER FUNCTIONS function buyBag(uint256 _bagIndex) external payable { // Make sure that the bag exists require(_bagIndex < bags.length); // Reference the bag data and bag type data Bag storage bag = bags[_bagIndex]; BagType storage bagType = bagTypes[bag.bagTypeIndex]; // Make sure the bag is already available require(now >= bag.availableTimestamp); // Make sure the caller payed at least the current price require(msg.value >= bag.price); uint256 refund = msg.value - bag.price; // Remember who the previous owner was address previousOwner = bag.owner; // Set the buyer as the new owner bag.owner = msg.sender; // Calculate the previous and next price uint256 previousPrice = bag.price * 1000000 / bagType.priceMultiplierPerBuy; uint256 nextPrice = bag.price * bagType.priceMultiplierPerBuy / 1000000; // Calculate how much the previous owner should get: uint256 previousOwnerReward; // If this is the first buy: the full current price if (bag.amountOfBuys == 0) { previousOwnerReward = bag.price; } // otherwise: previous price + the commission else { previousOwnerReward = bag.price * bag.commission / 1000000; //previousOwnerReward = previousPrice + previousPrice * bag.commission / 1000000; } // Set the new price of the bag bag.price = nextPrice; // Increment the amountOfBuys counter bag.amountOfBuys++; // If this is NOT the first buy of this bag: if (bag.amountOfBuys > 1) { // Increase the commission up to the maximum if (bag.commission < bagType.maximumCommission) { uint256 newCommission = bag.commission + bagType.commissionIncrementPerBuy; if (newCommission >= bagType.maximumCommission) { bag.commission = bagType.maximumCommission; } else { bag.commission = newCommission; } } } // Record statistics if (addressToTotalPurchasesMade[msg.sender] == 0) { allParticipants.push(msg.sender); } addressToTotalEtherSpent[msg.sender] += msg.value; addressToTotalPurchasesMade[msg.sender]++; // Transfer the reward to the previous owner. If the previous owner is // the CryptoSurprise smart contract itself, we don't need to perform any // transfer because the contract already has it. if (previousOwner != address(this)) { previousOwner.transfer(previousOwnerReward); } if (refund > 0) { msg.sender.transfer(refund); } } function transferBag(address _newOwner, uint256 _bagIndex) public payable { // Require payment require(msg.value == BAG_TRANSFER_FEE); // Perform the transfer _transferBag(msg.sender, _newOwner, _bagIndex); } //////////////////////////////////// ////// OWNER FUNCTIONS // Constructor function function CryptoSurprise() public { owner = msg.sender; bagTypes.push(BagType({ name: "Blue", startPrice: 0.04 ether, priceMultiplierPerBuy: 1300000, // 130% startCommission: 850000, // 85% commissionIncrementPerBuy: 5000, // 0.5 %-point maximumCommission: 900000, // 90% supplyHardCap: 600, currentSupply: 0 })); bagTypes.push(BagType({ name: "Red", startPrice: 0.03 ether, priceMultiplierPerBuy: 1330000, // 133% startCommission: 870000, // 87% commissionIncrementPerBuy: 5000, // 0.5 %-point maximumCommission: 920000, // 92% supplyHardCap: 300, currentSupply: 0 })); bagTypes.push(BagType({ name: "Green", startPrice: 0.02 ether, priceMultiplierPerBuy: 1360000, // 136% startCommission: 890000, // 89% commissionIncrementPerBuy: 5000, // 0.5 %-point maximumCommission: 940000, // 94% supplyHardCap: 150, currentSupply: 0 })); bagTypes.push(BagType({ name: "Black", startPrice: 0.1 ether, priceMultiplierPerBuy: 1450000, // 145% startCommission: 920000, // 92% commissionIncrementPerBuy: 10000, // 1 %-point maximumCommission: 960000, // 96% supplyHardCap: 50, currentSupply: 0 })); bagTypes.push(BagType({ name: "Pink", startPrice: 1 ether, priceMultiplierPerBuy: 1500000, // 150% startCommission: 940000, // 94% commissionIncrementPerBuy: 10000, // 1 %-point maximumCommission: 980000, // 98% supplyHardCap: 10, currentSupply: 0 })); bagTypes.push(BagType({ name: "White", startPrice: 10 ether, priceMultiplierPerBuy: 1500000, // 150% startCommission: 970000, // 97% commissionIncrementPerBuy: 10000, // 1 %-point maximumCommission: 990000, // 99% supplyHardCap: 1, currentSupply: 0 })); } // Function that allows the current owner to transfer ownership function transferOwnership(address _newOwner) external { require(msg.sender == owner); owner = _newOwner; } // Only the owner can deposit ETH by sending it directly to the contract function () payable external { require(msg.sender == owner); } // Function that allows the current owner to withdraw any amount // of ETH from the contract function withdrawEther(uint256 amount) external { require(msg.sender == owner); owner.transfer(amount); } function addBag(uint256 _bagTypeIndex) external { addBagAndGift(_bagTypeIndex, address(this)); } function addBagDelayed(uint256 _bagTypeIndex, uint256 _delaySeconds) external { addBagAndGiftAtTime(_bagTypeIndex, address(this), now + _delaySeconds); } function addBagAndGift(uint256 _bagTypeIndex, address _firstOwner) public { addBagAndGiftAtTime(_bagTypeIndex, _firstOwner, now); } function addBagAndGiftAtTime(uint256 _bagTypeIndex, address _firstOwner, uint256 _timestamp) public { require(msg.sender == owner); require(_bagTypeIndex < bagTypes.length); BagType storage bagType = bagTypes[_bagTypeIndex]; require(bagType.currentSupply < bagType.supplyHardCap); bags.push(Bag({ bagTypeIndex: _bagTypeIndex, amountOfBuys: 0, owner: _firstOwner, commission: bagType.startCommission, price: bagType.startPrice, availableTimestamp: _timestamp })); bagType.currentSupply++; } //////////////////////////////////// ////// INTERNAL FUNCTIONS function _transferBag(address _from, address _to, uint256 _bagIndex) internal { // Make sure that the bag exists require(_bagIndex < bags.length); // Bag may not be transferred before it has been bought x times require(bags[_bagIndex].amountOfBuys >= BAG_TRANSFER_MINIMUM_AMOUNT_OF_BUYS); // Make sure that the sender is the current owner of the bag require(bags[_bagIndex].owner == _from); // Set the new owner bags[_bagIndex].owner = _to; ownerToBagIndices[_from].remove(_bagIndex); ownerToBagIndices[_to].add(_bagIndex); // Trigger blockchain event Transfer(_from, _to, _bagIndex); } //////////////////////////////////// ////// VIEW FUNCTIONS FOR USER INTERFACE function amountOfBags() external view returns (uint256) { return bags.length; } function amountOfBagTypes() external view returns (uint256) { return bagTypes.length; } function amountOfParticipants() external view returns (uint256) { return allParticipants.length; } //////////////////////////////////// ////// ERC721 NON FUNGIBLE TOKEN INTERFACE event Transfer(address indexed _from, address indexed _to, uint256 _tokenId); event Approval(address indexed _owner, address indexed _approved, uint256 _tokenId); function name() external pure returns (string) { return "Bags"; } function symbol() external pure returns (string) { return "BAG"; } function totalSupply() external view returns (uint256) { return bags.length; } function balanceOf(address _owner) external view returns (uint256) { return ownerToBagIndices[_owner].size(); } function ownerOf(uint256 _bagIndex) external view returns (address) { require(_bagIndex < bags.length); return bags[_bagIndex].owner; } mapping(address => mapping(address => mapping(uint256 => bool))) private ownerToAddressToBagIndexAllowed; function approve(address _to, uint256 _bagIndex) external { require(_bagIndex < bags.length); require(msg.sender == bags[_bagIndex].owner); ownerToAddressToBagIndexAllowed[msg.sender][_to][_bagIndex] = true; } function takeOwnership(uint256 _bagIndex) external { require(_bagIndex < bags.length); address previousOwner = bags[_bagIndex].owner; require(ownerToAddressToBagIndexAllowed[previousOwner][msg.sender][_bagIndex] == true); ownerToAddressToBagIndexAllowed[previousOwner][msg.sender][_bagIndex] = false; _transferBag(previousOwner, msg.sender, _bagIndex); } function transfer(address _to, uint256 _bagIndex) external { transferBag(_to, _bagIndex); } function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256) { require(_index < ownerToBagIndices[_owner].size()); return ownerToBagIndices[_owner].values[_index]; } } library SetLibrary { struct ArrayIndexAndExistsFlag { uint256 index; bool exists; } struct Set { mapping(uint256 => ArrayIndexAndExistsFlag) valuesMapping; uint256[] values; } function add(Set storage self, uint256 value) public returns (bool added) { // If the value is already in the set, we don't need to do anything if (self.valuesMapping[value].exists == true) return false; // Remember that the value is in the set, and remember the value's array index self.valuesMapping[value] = ArrayIndexAndExistsFlag({index: self.values.length, exists: true}); // Add the value to the array of unique values self.values.push(value); return true; } function contains(Set storage self, uint256 value) public view returns (bool contained) { return self.valuesMapping[value].exists; } function remove(Set storage self, uint256 value) public returns (bool removed) { // If the value is not in the set, we don't need to do anything if (self.valuesMapping[value].exists == false) return false; // Remember that the value is not in the set self.valuesMapping[value].exists = false; // Now we need to remove the value from the array. To prevent leaking // storage space, we move the last value in the array into the spot that // contains the element we're removing. if (self.valuesMapping[value].index < self.values.length-1) { uint256 valueToMove = self.values[self.values.length-1]; uint256 indexToMoveItTo = self.valuesMapping[value].index; self.values[indexToMoveItTo] = valueToMove; self.valuesMapping[valueToMove].index = indexToMoveItTo; } // Now we remove the last element from the array, because we just duplicated it. // We don't free the storage allocation of the removed last element, // because it will most likely be used again by a call to add(). // De-allocating and re-allocating storage space costs more gas than // just keeping it allocated and unused. // Uncomment this line to save gas if your use case does not call add() after remove(): // delete self.values[self.values.length-1]; self.values.length--; // We do free the storage allocation in the mapping, because it is // less likely that the exact same value will added again. delete self.valuesMapping[value]; return true; } function size(Set storage self) public view returns (uint256 amountOfValues) { return self.values.length; } // Also accept address and bytes32 types, so the user doesn't have to cast. function add(Set storage self, address value) public returns (bool added) { return add(self, uint256(value)); } function add(Set storage self, bytes32 value) public returns (bool added) { return add(self, uint256(value)); } function contains(Set storage self, address value) public view returns (bool contained) { return contains(self, uint256(value)); } function contains(Set storage self, bytes32 value) public view returns (bool contained) { return contains(self, uint256(value)); } function remove(Set storage self, address value) public returns (bool removed) { return remove(self, uint256(value)); } function remove(Set storage self, bytes32 value) public returns (bool removed) { return remove(self, uint256(value)); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"allParticipants","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_bagIndex","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bagTypeIndex","type":"uint256"},{"name":"_firstOwner","type":"address"},{"name":"_timestamp","type":"uint256"}],"name":"addBagAndGiftAtTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bagIndex","type":"uint256"}],"name":"buyBag","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bagTypeIndex","type":"uint256"}],"name":"addBag","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"amountOfBagTypes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_bagIndex","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressToTotalPurchasesMade","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"addressToTotalEtherSpent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"},{"name":"_bagIndex","type":"uint256"}],"name":"transferBag","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_bagIndex","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_bagIndex","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"amountOfBags","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bags","outputs":[{"name":"bagTypeIndex","type":"uint256"},{"name":"amountOfBuys","type":"uint256"},{"name":"owner","type":"address"},{"name":"commission","type":"uint256"},{"name":"price","type":"uint256"},{"name":"availableTimestamp","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"bagTypes","outputs":[{"name":"name","type":"string"},{"name":"startPrice","type":"uint256"},{"name":"priceMultiplierPerBuy","type":"uint256"},{"name":"startCommission","type":"uint256"},{"name":"commissionIncrementPerBuy","type":"uint256"},{"name":"maximumCommission","type":"uint256"},{"name":"supplyHardCap","type":"uint256"},{"name":"currentSupply","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"amountOfParticipants","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bagTypeIndex","type":"uint256"},{"name":"_firstOwner","type":"address"}],"name":"addBagAndGift","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"BAG_TRANSFER_FEE","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_bagTypeIndex","type":"uint256"},{"name":"_delaySeconds","type":"uint256"}],"name":"addBagDelayed","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"BAG_TRANSFER_MINIMUM_AMOUNT_OF_BUYS","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":true,"name":"_from","type":"address"},{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_owner","type":"address"},{"indexed":true,"name":"_approved","type":"address"},{"indexed":false,"name":"_tokenId","type":"uint256"}],"name":"Approval","type":"event"}]
Contract Creation Code
606060405234156200001057600080fd5b60008054600160a060020a03191633600160a060020a0316179055600180548082016200003e838262000690565b91600052602060002090600802016000610100604051908101604052806040805190810160405280600481526020017f426c7565000000000000000000000000000000000000000000000000000000008152508152602001668e1bc9bf04000081526020016213d6208152602001620cf85081526020016113888152602001620dbba08152602001610258815260200160008152509091909150600082015181908051620000f1929160200190620006c4565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e08201516007909101555050600180548082016200014e838262000690565b91600052602060002090600802016000610100604051908101604052806040805190810160405280600381526020017f52656400000000000000000000000000000000000000000000000000000000008152508152602001666a94d74f430000815260200162144b508152602001620d467081526020016113888152602001620e09c0815260200161012c81526020016000815250909190915060008201518190805162000201929160200190620006c4565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e08201516007909101555050600180548082016200025e838262000690565b91600052602060002090600802016000610100604051908101604052806040805190810160405280600581526020017f477265656e000000000000000000000000000000000000000000000000000000815250815260200166470de4df82000081526020016214c0808152602001620d949081526020016113888152602001620e57e08152602001609681526020016000815250909190915060008201518190805162000310929160200190620006c4565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e08201516007909101555050600180548082016200036d838262000690565b91600052602060002090600802016000610100604051908101604052806040805190810160405280600581526020017f426c61636b000000000000000000000000000000000000000000000000000000815250815260200167016345785d8a00008152602001621620108152602001620e09c081526020016127108152602001620ea6008152602001603281526020016000815250909190915060008201518190805162000420929160200190620006c4565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e08201516007909101555050600180548082016200047d838262000690565b91600052602060002090600802016000610100604051908101604052806040805190810160405280600481526020017f50696e6b000000000000000000000000000000000000000000000000000000008152508152602001670de0b6b3a764000081526020016216e3608152602001620e57e081526020016127108152602001620ef4208152602001600a81526020016000815250909190915060008201518190805162000530929160200190620006c4565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e08201516007909101555050600180548082016200058d838262000690565b91600052602060002090600802016000610100604051908101604052806040805190810160405280600581526020017f57686974650000000000000000000000000000000000000000000000000000008152508152602001678ac7230489e8000081526020016216e3608152602001620ecd1081526020016127108152602001620f1b308152602001600181526020016000815250909190915060008201518190805162000640929160200190620006c4565b506020820151816001015560408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701555050506200080d565b815481835581811511620006bf57600802816008028360005260206000209182019101620006bf919062000749565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200070757805160ff191683800117855562000737565b8280016001018555821562000737579182015b82811115620007375782518255916020019190600101906200071a565b5062000745929150620007a5565b5090565b620007a291905b8082111562000745576000620007678282620007c2565b506000600182018190556002820181905560038201819055600482018190556005820181905560068201819055600782015560080162000750565b90565b620007a291905b80821115620007455760008155600101620007ac565b50805460018160011615610100020316600290046000825580601f10620007ea57506200080a565b601f0160209004906000526020600020908101906200080a9190620007a5565b50565b6111cf806200081d6000396000f3006060604052600436106101505763ffffffff60e060020a60003504166305e33dd0811461016d57806306fdde031461019f578063095ea7b31461022957806318160ddd1461024b57806326ba1c19146102705780632db93fc7146102955780632f745c59146102a05780633221e125146102c25780633bed33ce146102d857806343a8775a146102ee5780636352211e1461030157806370a0823114610317578063808cd1251461033657806381e4d40c146103555780638da5cb5b1461037457806395d89b4114610387578063993b4f711461039a578063a9059cbb146103b1578063b2e6ceeb146103d3578063bd355f431461024b578063dda4df4e146103e9578063df41e2541461044a578063e2a51b8f14610520578063ef532a4714610533578063f17a1ff514610555578063f272a60c14610568578063f2fde38b14610581578063f7dd2e28146105a0575b60005433600160a060020a0390811691161461016b57600080fd5b005b341561017857600080fd5b6101836004356105b3565b604051600160a060020a03909116815260200160405180910390f35b34156101aa57600080fd5b6101b26105db565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101ee5780820151838201526020016101d6565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023457600080fd5b61016b600160a060020a036004351660243561061d565b341561025657600080fd5b61025e6106a2565b60405190815260200160405180910390f35b341561027b57600080fd5b61016b600435600160a060020a03602435166044356106a8565b61016b6004356107d0565b34156102ab57600080fd5b61025e600160a060020a0360043516602435610a46565b34156102cd57600080fd5b61016b600435610b18565b34156102e357600080fd5b61016b600435610b25565b34156102f957600080fd5b61025e610b73565b341561030c57600080fd5b610183600435610b79565b341561032257600080fd5b61025e600160a060020a0360043516610bbb565b341561034157600080fd5b61025e600160a060020a0360043516610c4c565b341561036057600080fd5b61025e600160a060020a0360043516610c5e565b341561037f57600080fd5b610183610c70565b341561039257600080fd5b6101b2610c7f565b61016b600160a060020a0360043516602435610cc0565b34156103bc57600080fd5b61016b600160a060020a0360043516602435610ce2565b34156103de57600080fd5b61016b600435610cec565b34156103f457600080fd5b6103ff600435610da6565b6040518087815260200186815260200185600160a060020a0316600160a060020a03168152602001848152602001838152602001828152602001965050505050505060405180910390f35b341561045557600080fd5b610460600435610df4565b6040516020810188905260408101879052606081018690526080810185905260a0810184905260c0810183905260e081018290526101008082528954600260001960018316158402019091160490820181905281906101208201908b90801561050a5780601f106104df5761010080835404028352916020019161050a565b820191906000526020600020905b8154815290600101906020018083116104ed57829003601f168201915b5050995050505050505050505060405180910390f35b341561052b57600080fd5b61025e610e49565b341561053e57600080fd5b61016b600435600160a060020a0360243516610e4f565b341561056057600080fd5b61025e610e5a565b341561057357600080fd5b61016b600435602435610e65565b341561058c57600080fd5b61016b600160a060020a0360043516610e72565b34156105ab57600080fd5b61025e610eaf565b60068054829081106105c157fe5b600091825260209091200154600160a060020a0316905081565b6105e36110d7565b60408051908101604052600481527f4261677300000000000000000000000000000000000000000000000000000000602082015290505b90565b600254811061062b57600080fd5b600280548290811061063957fe5b600091825260209091206002600690920201015433600160a060020a0390811691161461066557600080fd5b600160a060020a0333811660009081526007602090815260408083209590931682529384528181209281529190925220805460ff19166001179055565b60025490565b6000805433600160a060020a039081169116146106c457600080fd5b60015484106106d257600080fd5b60018054859081106106e057fe5b906000526020600020906008020190508060060154816007015410151561070657600080fd5b600280546001810161071883826110e9565b9160005260206000209060060201600060c0604051908101604090815288825260006020830152600160a060020a03881690820152600385015460608201526001850154608082015260a0810186905291905081518155602082015181600101556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151600590910155505060070180546001019055505050565b600080600080600080600080600280549050891015156107ef57600080fd5b600280548a9081106107fd57fe5b906000526020600020906006020197506001886000015481548110151561082057fe5b906000526020600020906008020196508760050154421015151561084357600080fd5b600488015434101561085457600080fd5b60048801546002808a01805433600160a060020a03908116600160a060020a0319831617909255918a01543484900399509116965090620f42400281151561089857fe5b049350620f424087600201548960040154028115156108b357fe5b0492508760010154600014156108cf57876004015491506108e3565b60038801546004890154620f424091020491505b6004880183905560018089018054820190819055111561093d5786600501548860030154101561093d57506004860154600388015460058801549101908110610935576005870154600389015561093d565b600388018190555b600160a060020a033316600090815260046020526040902054151561099457600680546001810161096e838261111a565b5060009182526020909120018054600160a060020a03191633600160a060020a03161790555b600160a060020a03338116600090815260036020908152604080832080543401905560049091529020805460010190558581163090911614610a0157600160a060020a03851682156108fc0283604051600060405180830381858888f193505050501515610a0157600080fd5b6000861115610a3b57600160a060020a03331686156108fc0287604051600060405180830381858888f193505050501515610a3b57600080fd5b505050505050505050565b600160a060020a0382166000908152600560205260408082207355f44e8b16651a7c5ea1ffcc54749336ffc17e3a916381d21e4d91908490516020015260405160e060020a63ffffffff8416028152600481019190915260240160206040518083038186803b1515610ab757600080fd5b6102c65a03f41515610ac857600080fd5b505050604051805183109050610add57600080fd5b600160a060020a0383166000908152600560205260409020600101805483908110610b0457fe5b906000526020600020900154905092915050565b610b228130610e4f565b50565b60005433600160a060020a03908116911614610b4057600080fd5b600054600160a060020a031681156108fc0282604051600060405180830381858888f193505050501515610b2257600080fd5b60015490565b6002546000908210610b8a57600080fd5b6002805483908110610b9857fe5b6000918252602090912060069091020160020154600160a060020a031692915050565b600160a060020a0381166000908152600560205260408082207355f44e8b16651a7c5ea1ffcc54749336ffc17e3a916381d21e4d91908490516020015260405160e060020a63ffffffff8416028152600481019190915260240160206040518083038186803b1515610c2c57600080fd5b6102c65a03f41515610c3d57600080fd5b50505060405180519392505050565b60046020526000908152604090205481565b60036020526000908152604090205481565b600054600160a060020a031681565b610c876110d7565b60408051908101604052600381527f42414700000000000000000000000000000000000000000000000000000000006020820152905090565b3466b1a2bc2ec5000014610cd357600080fd5b610cde338383610eb4565b5050565b610cde8282610cc0565b6002546000908210610cfd57600080fd5b6002805483908110610d0b57fe5b6000918252602080832060026006909302019190910154600160a060020a039081168084526007835260408085203390931685529183528184208685529092529091205490915060ff161515600114610d6357600080fd5b600160a060020a03808216600090815260076020908152604080832033948516845282528083208684529091529020805460ff19169055610cde90829084610eb4565b6002805482908110610db457fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501549395509193600160a060020a039091169286565b6001805482908110610e0257fe5b906000526020600020906008020160009150905080600001908060010154908060020154908060030154908060040154908060050154908060060154908060070154905088565b60065490565b610cde8282426106a8565b66b1a2bc2ec5000081565b610cde82308342016106a8565b60005433600160a060020a03908116911614610e8d57600080fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b600481565b6002548110610ec257600080fd5b6004600282815481101515610ed357fe5b90600052602060002090600602016001015410151515610ef257600080fd5b82600160a060020a0316600282815481101515610f0b57fe5b6000918252602090912060026006909202010154600160a060020a031614610f3257600080fd5b81600282815481101515610f4257fe5b600091825260208083206006929092029091016002018054600160a060020a031916600160a060020a039485161790559185168152600590915260408082207355f44e8b16651a7c5ea1ffcc54749336ffc17e3a92636cd23f5392859190516020015260405160e060020a63ffffffff85160281526004810192909252602482015260440160206040518083038186803b1515610fde57600080fd5b6102c65a03f41515610fef57600080fd5b50505060405180515050600160a060020a0382166000908152600560205260408082207355f44e8b16651a7c5ea1ffcc54749336ffc17e3a92632e6b975d92859190516020015260405160e060020a63ffffffff85160281526004810192909252602482015260440160206040518083038186803b151561106f57600080fd5b6102c65a03f4151561108057600080fd5b505050604051805190505081600160a060020a031683600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a3505050565b60206040519081016040526000815290565b81548183558181151161111557600602816006028360005260206000209182019101611115919061113e565b505050565b81548183558181151161111557600083815260209020611115918101908301611189565b61061a91905b8082111561118557600080825560018201819055600282018054600160a060020a031916905560038201819055600482018190556005820155600601611144565b5090565b61061a91905b80821115611185576000815560010161118f5600a165627a7a72305820344941c93384be2385ef37755c9aaa5684448e3fd92bb21795385eee1d2b7c230029
Deployed Bytecode
0x6060604052600436106101505763ffffffff60e060020a60003504166305e33dd0811461016d57806306fdde031461019f578063095ea7b31461022957806318160ddd1461024b57806326ba1c19146102705780632db93fc7146102955780632f745c59146102a05780633221e125146102c25780633bed33ce146102d857806343a8775a146102ee5780636352211e1461030157806370a0823114610317578063808cd1251461033657806381e4d40c146103555780638da5cb5b1461037457806395d89b4114610387578063993b4f711461039a578063a9059cbb146103b1578063b2e6ceeb146103d3578063bd355f431461024b578063dda4df4e146103e9578063df41e2541461044a578063e2a51b8f14610520578063ef532a4714610533578063f17a1ff514610555578063f272a60c14610568578063f2fde38b14610581578063f7dd2e28146105a0575b60005433600160a060020a0390811691161461016b57600080fd5b005b341561017857600080fd5b6101836004356105b3565b604051600160a060020a03909116815260200160405180910390f35b34156101aa57600080fd5b6101b26105db565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156101ee5780820151838201526020016101d6565b50505050905090810190601f16801561021b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023457600080fd5b61016b600160a060020a036004351660243561061d565b341561025657600080fd5b61025e6106a2565b60405190815260200160405180910390f35b341561027b57600080fd5b61016b600435600160a060020a03602435166044356106a8565b61016b6004356107d0565b34156102ab57600080fd5b61025e600160a060020a0360043516602435610a46565b34156102cd57600080fd5b61016b600435610b18565b34156102e357600080fd5b61016b600435610b25565b34156102f957600080fd5b61025e610b73565b341561030c57600080fd5b610183600435610b79565b341561032257600080fd5b61025e600160a060020a0360043516610bbb565b341561034157600080fd5b61025e600160a060020a0360043516610c4c565b341561036057600080fd5b61025e600160a060020a0360043516610c5e565b341561037f57600080fd5b610183610c70565b341561039257600080fd5b6101b2610c7f565b61016b600160a060020a0360043516602435610cc0565b34156103bc57600080fd5b61016b600160a060020a0360043516602435610ce2565b34156103de57600080fd5b61016b600435610cec565b34156103f457600080fd5b6103ff600435610da6565b6040518087815260200186815260200185600160a060020a0316600160a060020a03168152602001848152602001838152602001828152602001965050505050505060405180910390f35b341561045557600080fd5b610460600435610df4565b6040516020810188905260408101879052606081018690526080810185905260a0810184905260c0810183905260e081018290526101008082528954600260001960018316158402019091160490820181905281906101208201908b90801561050a5780601f106104df5761010080835404028352916020019161050a565b820191906000526020600020905b8154815290600101906020018083116104ed57829003601f168201915b5050995050505050505050505060405180910390f35b341561052b57600080fd5b61025e610e49565b341561053e57600080fd5b61016b600435600160a060020a0360243516610e4f565b341561056057600080fd5b61025e610e5a565b341561057357600080fd5b61016b600435602435610e65565b341561058c57600080fd5b61016b600160a060020a0360043516610e72565b34156105ab57600080fd5b61025e610eaf565b60068054829081106105c157fe5b600091825260209091200154600160a060020a0316905081565b6105e36110d7565b60408051908101604052600481527f4261677300000000000000000000000000000000000000000000000000000000602082015290505b90565b600254811061062b57600080fd5b600280548290811061063957fe5b600091825260209091206002600690920201015433600160a060020a0390811691161461066557600080fd5b600160a060020a0333811660009081526007602090815260408083209590931682529384528181209281529190925220805460ff19166001179055565b60025490565b6000805433600160a060020a039081169116146106c457600080fd5b60015484106106d257600080fd5b60018054859081106106e057fe5b906000526020600020906008020190508060060154816007015410151561070657600080fd5b600280546001810161071883826110e9565b9160005260206000209060060201600060c0604051908101604090815288825260006020830152600160a060020a03881690820152600385015460608201526001850154608082015260a0810186905291905081518155602082015181600101556040820151600282018054600160a060020a031916600160a060020a0392909216919091179055606082015181600301556080820151816004015560a0820151600590910155505060070180546001019055505050565b600080600080600080600080600280549050891015156107ef57600080fd5b600280548a9081106107fd57fe5b906000526020600020906006020197506001886000015481548110151561082057fe5b906000526020600020906008020196508760050154421015151561084357600080fd5b600488015434101561085457600080fd5b60048801546002808a01805433600160a060020a03908116600160a060020a0319831617909255918a01543484900399509116965090620f42400281151561089857fe5b049350620f424087600201548960040154028115156108b357fe5b0492508760010154600014156108cf57876004015491506108e3565b60038801546004890154620f424091020491505b6004880183905560018089018054820190819055111561093d5786600501548860030154101561093d57506004860154600388015460058801549101908110610935576005870154600389015561093d565b600388018190555b600160a060020a033316600090815260046020526040902054151561099457600680546001810161096e838261111a565b5060009182526020909120018054600160a060020a03191633600160a060020a03161790555b600160a060020a03338116600090815260036020908152604080832080543401905560049091529020805460010190558581163090911614610a0157600160a060020a03851682156108fc0283604051600060405180830381858888f193505050501515610a0157600080fd5b6000861115610a3b57600160a060020a03331686156108fc0287604051600060405180830381858888f193505050501515610a3b57600080fd5b505050505050505050565b600160a060020a0382166000908152600560205260408082207355f44e8b16651a7c5ea1ffcc54749336ffc17e3a916381d21e4d91908490516020015260405160e060020a63ffffffff8416028152600481019190915260240160206040518083038186803b1515610ab757600080fd5b6102c65a03f41515610ac857600080fd5b505050604051805183109050610add57600080fd5b600160a060020a0383166000908152600560205260409020600101805483908110610b0457fe5b906000526020600020900154905092915050565b610b228130610e4f565b50565b60005433600160a060020a03908116911614610b4057600080fd5b600054600160a060020a031681156108fc0282604051600060405180830381858888f193505050501515610b2257600080fd5b60015490565b6002546000908210610b8a57600080fd5b6002805483908110610b9857fe5b6000918252602090912060069091020160020154600160a060020a031692915050565b600160a060020a0381166000908152600560205260408082207355f44e8b16651a7c5ea1ffcc54749336ffc17e3a916381d21e4d91908490516020015260405160e060020a63ffffffff8416028152600481019190915260240160206040518083038186803b1515610c2c57600080fd5b6102c65a03f41515610c3d57600080fd5b50505060405180519392505050565b60046020526000908152604090205481565b60036020526000908152604090205481565b600054600160a060020a031681565b610c876110d7565b60408051908101604052600381527f42414700000000000000000000000000000000000000000000000000000000006020820152905090565b3466b1a2bc2ec5000014610cd357600080fd5b610cde338383610eb4565b5050565b610cde8282610cc0565b6002546000908210610cfd57600080fd5b6002805483908110610d0b57fe5b6000918252602080832060026006909302019190910154600160a060020a039081168084526007835260408085203390931685529183528184208685529092529091205490915060ff161515600114610d6357600080fd5b600160a060020a03808216600090815260076020908152604080832033948516845282528083208684529091529020805460ff19169055610cde90829084610eb4565b6002805482908110610db457fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501549395509193600160a060020a039091169286565b6001805482908110610e0257fe5b906000526020600020906008020160009150905080600001908060010154908060020154908060030154908060040154908060050154908060060154908060070154905088565b60065490565b610cde8282426106a8565b66b1a2bc2ec5000081565b610cde82308342016106a8565b60005433600160a060020a03908116911614610e8d57600080fd5b60008054600160a060020a031916600160a060020a0392909216919091179055565b600481565b6002548110610ec257600080fd5b6004600282815481101515610ed357fe5b90600052602060002090600602016001015410151515610ef257600080fd5b82600160a060020a0316600282815481101515610f0b57fe5b6000918252602090912060026006909202010154600160a060020a031614610f3257600080fd5b81600282815481101515610f4257fe5b600091825260208083206006929092029091016002018054600160a060020a031916600160a060020a039485161790559185168152600590915260408082207355f44e8b16651a7c5ea1ffcc54749336ffc17e3a92636cd23f5392859190516020015260405160e060020a63ffffffff85160281526004810192909252602482015260440160206040518083038186803b1515610fde57600080fd5b6102c65a03f41515610fef57600080fd5b50505060405180515050600160a060020a0382166000908152600560205260408082207355f44e8b16651a7c5ea1ffcc54749336ffc17e3a92632e6b975d92859190516020015260405160e060020a63ffffffff85160281526004810192909252602482015260440160206040518083038186803b151561106f57600080fd5b6102c65a03f4151561108057600080fd5b505050604051805190505081600160a060020a031683600160a060020a03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405190815260200160405180910390a3505050565b60206040519081016040526000815290565b81548183558181151161111557600602816006028360005260206000209182019101611115919061113e565b505050565b81548183558181151161111557600083815260209020611115918101908301611189565b61061a91905b8082111561118557600080825560018201819055600282018054600160a060020a031916905560038201819055600482018190556005820155600601611144565b5090565b61061a91905b80821115611185576000815560010161118f5600a165627a7a72305820344941c93384be2385ef37755c9aaa5684448e3fd92bb21795385eee1d2b7c230029
Swarm Source
bzzr://344941c93384be2385ef37755c9aaa5684448e3fd92bb21795385eee1d2b7c23
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,466.44 | 0.00388416 | $13.46 |
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.