Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 12 from a total of 12 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Purchase | 6104482 | 2339 days ago | IN | 1 ETH | 0.00045378 | ||||
Purchase | 6104472 | 2339 days ago | IN | 1 ETH | 0.00037878 | ||||
Purchase | 6104454 | 2339 days ago | IN | 1 ETH | 0.00037878 | ||||
Purchase | 6104430 | 2339 days ago | IN | 1 ETH | 0.00030302 | ||||
Purchase | 6104400 | 2339 days ago | IN | 1 ETH | 0.00036302 | ||||
Purchase | 6099125 | 2340 days ago | IN | 1.02 ETH | 0.00030261 | ||||
Purchase | 6090099 | 2341 days ago | IN | 1 ETH | 0.00083993 | ||||
Purchase | 6090013 | 2341 days ago | IN | 1.33 ETH | 0.00151434 | ||||
Purchase | 6089817 | 2341 days ago | IN | 1 ETH | 0.00176519 | ||||
Purchase | 6089812 | 2341 days ago | IN | 0.5 ETH | 0.00072164 | ||||
Purchase | 6089793 | 2341 days ago | IN | 5 ETH | 0.00053936 | ||||
Start Card Sale | 6089497 | 2341 days ago | IN | 0 ETH | 0.00005439 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
6369527 | 2294 days ago | 0.00006471 ETH | ||||
6369527 | 2294 days ago | 0.00006471 ETH | ||||
6369527 | 2294 days ago | 0.00012942 ETH | ||||
6366520 | 2295 days ago | 0.00125 ETH | ||||
6366520 | 2295 days ago | 0.00125 ETH | ||||
6366520 | 2295 days ago | 0.0025 ETH | ||||
6366156 | 2295 days ago | 0.0005 ETH | ||||
6366156 | 2295 days ago | 0.0005 ETH | ||||
6366156 | 2295 days ago | 0.001 ETH | ||||
6366029 | 2295 days ago | 0.001 ETH | ||||
6366029 | 2295 days ago | 0.001 ETH | ||||
6366029 | 2295 days ago | 0.002 ETH | ||||
6112489 | 2337 days ago | 0.00005 ETH | ||||
6112489 | 2337 days ago | 0.00005 ETH | ||||
6112489 | 2337 days ago | 0.0001 ETH | ||||
6108638 | 2338 days ago | 0.00043756 ETH | ||||
6108638 | 2338 days ago | 0.00043756 ETH | ||||
6108638 | 2338 days ago | 0.00087512 ETH | ||||
6108395 | 2338 days ago | 0.0005 ETH | ||||
6108395 | 2338 days ago | 0.0005 ETH | ||||
6108395 | 2338 days ago | 0.001 ETH | ||||
6108049 | 2338 days ago | 0.00035 ETH | ||||
6108049 | 2338 days ago | 0.00035 ETH | ||||
6108049 | 2338 days ago | 0.0007 ETH | ||||
6106241 | 2338 days ago | 0.000345 ETH |
Loading...
Loading
Contract Name:
XYZethrDividendCards
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-04 */ pragma solidity ^0.4.24; /** __ __ __ __ ________ ________ ________ __ __ _______ | \ | \| \ / \| \| \| \| \ | \| \ | $$ | $$ \$$\ / $$ \$$$$$$$$| $$$$$$$$ \$$$$$$$$| $$ | $$| $$$$$$$\ \$$\/ $$ \$$\/ $$ / $$ | $$__ | $$ | $$__| $$| $$__| $$ >$$ $$ \$$ $$ / $$ | $$ \ | $$ | $$ $$| $$ $$ / $$$$\ \$$$$ / $$ | $$$$$ | $$ | $$$$$$$$| $$$$$$$\ | $$ \$$\ | $$ / $$___ | $$_____ | $$ | $$ | $$| $$ | $$ | $$ | $$ | $$ | $$ \| $$ \ | $$ | $$ | $$| $$ | $$ \$$ \$$ \$$ \$$$$$$$$ \$$$$$$$$ \$$ \$$ \$$ \$$ \$$ .------..------..------..------. .------..------..------..------..------..------..------. |M.--. ||O.--. ||R.--. ||E.--. |.-. |L.--. ||E.--. ||T.--. ||T.--. ||E.--. ||R.--. ||S.--. | | (\/) || :/\: || :(): || (\/) ((5)) | :/\: || (\/) || :/\: || :/\: || (\/) || :(): || :/\: | | :\/: || :\/: || ()() || :\/: |'-.-.| (__) || :\/: || (__) || (__) || :\/: || ()() || :\/: | | '--'M|| '--'O|| '--'R|| '--'E| ((1)) '--'L|| '--'E|| '--'T|| '--'T|| '--'E|| '--'R|| '--'S| `------'`------'`------'`------' '-'`------'`------'`------'`------'`------'`------'`------' An interactive, variable-dividend rate contract with an ICO-capped price floor and collectibles. This contract describes those collectibles. Don't get left with a hot potato! **/ // Required ERC721 interface. contract ERC721 { function approve(address _to, uint _tokenId) public; function balanceOf(address _owner) public view returns (uint balance); function implementsERC721() public pure returns (bool); function ownerOf(uint _tokenId) public view returns (address addr); function takeOwnership(uint _tokenId) public; function totalSupply() public view returns (uint total); function transferFrom(address _from, address _to, uint _tokenId) public; function transfer(address _to, uint _tokenId) public; event Transfer(address indexed from, address indexed to, uint tokenId); event Approval(address indexed owner, address indexed approved, uint tokenId); } contract XYZethrDividendCards is ERC721 { using SafeMath for uint; /*** EVENTS ***/ /// @dev The Birth event is fired whenever a new dividend card comes into existence. event Birth(uint tokenId, string name, address owner); /// @dev The TokenSold event is fired whenever a token (dividend card, in this case) is sold. event TokenSold(uint tokenId, uint oldPrice, uint newPrice, address prevOwner, address winner, string name); /// @dev Transfer event as defined in current draft of ERC721. /// Ownership is assigned, including births. event Transfer(address from, address to, uint tokenId); /*** CONSTANTS ***/ /// @notice Name and symbol of the non fungible token, as defined in ERC721. string public constant NAME = "XYZethrDividendCard"; string public constant SYMBOL = "XYZDC"; address public BANKROLL; /*** STORAGE ***/ /// @dev A mapping from dividend card indices to the address that owns them. /// All dividend cards have a valid owner address. mapping (uint => address) public divCardIndexToOwner; // A mapping from a dividend rate to the card index. mapping (uint => uint) public divCardRateToIndex; // @dev A mapping from owner address to the number of dividend cards that address owns. // Used internally inside balanceOf() to resolve ownership count. mapping (address => uint) private ownershipDivCardCount; /// @dev A mapping from dividend card indices to an address that has been approved to call /// transferFrom(). Each dividend card can only have one approved address for transfer /// at any time. A zero value means no approval is outstanding. mapping (uint => address) public divCardIndexToApproved; // @dev A mapping from dividend card indices to the price of the dividend card. mapping (uint => uint) private divCardIndexToPrice; mapping (address => bool) internal administrators; address public creator; bool public onSale; /*** DATATYPES ***/ struct Card { string name; uint percentIncrease; } Card[] private divCards; modifier onlyCreator() { require(msg.sender == creator); _; } constructor (address _bankroll) public { creator = msg.sender; BANKROLL = _bankroll; createDivCard("2%", 1 ether, 2); divCardRateToIndex[2] = 0; createDivCard("5%", 1 ether, 5); divCardRateToIndex[5] = 1; createDivCard("10%", 1 ether, 10); divCardRateToIndex[10] = 2; createDivCard("15%", 1 ether, 15); divCardRateToIndex[15] = 3; createDivCard("20%", 1 ether, 20); divCardRateToIndex[20] = 4; createDivCard("25%", 1 ether, 25); divCardRateToIndex[25] = 5; createDivCard("33%", 1 ether, 33); divCardRateToIndex[33] = 6; createDivCard("MASTER", 5 ether, 10); divCardRateToIndex[999] = 7; onSale = false; administrators[msg.sender] = true; } /*** MODIFIERS ***/ // Modifier to prevent contracts from interacting with the flip cards modifier isNotContract() { require (msg.sender == tx.origin); _; } // Modifier to prevent purchases before we open them up to everyone modifier hasStarted() { require (onSale == true); _; } modifier isAdmin() { require(administrators[msg.sender]); _; } /*** PUBLIC FUNCTIONS ***/ // Administrative update of the bankroll contract address function setBankroll(address where) isAdmin { BANKROLL = where; } /// @notice Grant another address the right to transfer token via takeOwnership() and transferFrom(). /// @param _to The address to be granted transfer approval. Pass address(0) to /// clear all approvals. /// @param _tokenId The ID of the Token that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function approve(address _to, uint _tokenId) public isNotContract { // Caller must own token. require(_owns(msg.sender, _tokenId)); divCardIndexToApproved[_tokenId] = _to; emit Approval(msg.sender, _to, _tokenId); } /// For querying balance of a particular account /// @param _owner The address for balance query /// @dev Required for ERC-721 compliance. function balanceOf(address _owner) public view returns (uint balance) { return ownershipDivCardCount[_owner]; } // Creates a div card with bankroll as the owner function createDivCard(string _name, uint _price, uint _percentIncrease) public onlyCreator { _createDivCard(_name, BANKROLL, _price, _percentIncrease); } // Opens the dividend cards up for sale. function startCardSale() public onlyCreator { onSale = true; } /// @notice Returns all the relevant information about a specific div card /// @param _divCardId The tokenId of the div card of interest. function getDivCard(uint _divCardId) public view returns (string divCardName, uint sellingPrice, address owner) { Card storage divCard = divCards[_divCardId]; divCardName = divCard.name; sellingPrice = divCardIndexToPrice[_divCardId]; owner = divCardIndexToOwner[_divCardId]; } function implementsERC721() public pure returns (bool) { return true; } /// @dev Required for ERC-721 compliance. function name() public pure returns (string) { return NAME; } /// For querying owner of token /// @param _divCardId The tokenID for owner inquiry /// @dev Required for ERC-721 compliance. function ownerOf(uint _divCardId) public view returns (address owner) { owner = divCardIndexToOwner[_divCardId]; require(owner != address(0)); return owner; } // Allows someone to send Ether and obtain a card function purchase(uint _divCardId) public payable hasStarted isNotContract { address oldOwner = divCardIndexToOwner[_divCardId]; address newOwner = msg.sender; // Get the current price of the card uint currentPrice = divCardIndexToPrice[_divCardId]; // Making sure token owner is not sending to self require(oldOwner != newOwner); // Safety check to prevent against an unexpected 0x0 default. require(_addressNotNull(newOwner)); // Making sure sent amount is greater than or equal to the sellingPrice require(msg.value >= currentPrice); // To find the total profit, we need to know the previous price // currentPrice = previousPrice * (100 + percentIncrease); // previousPrice = currentPrice / (100 + percentIncrease); uint percentIncrease = divCards[_divCardId].percentIncrease; uint previousPrice = SafeMath.mul(currentPrice, 100).div(100 + percentIncrease); // Calculate total profit and allocate 50% to old owner, 50% to bankroll uint totalProfit = SafeMath.sub(currentPrice, previousPrice); uint oldOwnerProfit = SafeMath.div(totalProfit, 2); uint bankrollProfit = SafeMath.sub(totalProfit, oldOwnerProfit); oldOwnerProfit = SafeMath.add(oldOwnerProfit, previousPrice); // Refund the sender the excess he sent uint purchaseExcess = SafeMath.sub(msg.value, currentPrice); // Raise the price by the percentage specified by the card divCardIndexToPrice[_divCardId] = SafeMath.div(SafeMath.mul(currentPrice, (100 + percentIncrease)), 100); // Transfer ownership _transfer(oldOwner, newOwner, _divCardId); // Using send rather than transfer to prevent contract exploitability. BANKROLL.send(bankrollProfit); oldOwner.send(oldOwnerProfit); msg.sender.transfer(purchaseExcess); } function priceOf(uint _divCardId) public view returns (uint price) { return divCardIndexToPrice[_divCardId]; } function setCreator(address _creator) public onlyCreator { require(_creator != address(0)); creator = _creator; } /// @dev Required for ERC-721 compliance. function symbol() public pure returns (string) { return SYMBOL; } /// @notice Allow pre-approved user to take ownership of a dividend card. /// @param _divCardId The ID of the card that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function takeOwnership(uint _divCardId) public isNotContract { address newOwner = msg.sender; address oldOwner = divCardIndexToOwner[_divCardId]; // Safety check to prevent against an unexpected 0x0 default. require(_addressNotNull(newOwner)); // Making sure transfer is approved require(_approved(newOwner, _divCardId)); _transfer(oldOwner, newOwner, _divCardId); } /// For querying totalSupply of token /// @dev Required for ERC-721 compliance. function totalSupply() public view returns (uint total) { return divCards.length; } /// Owner initates the transfer of the card to another account /// @param _to The address for the card to be transferred to. /// @param _divCardId The ID of the card that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function transfer(address _to, uint _divCardId) public isNotContract { require(_owns(msg.sender, _divCardId)); require(_addressNotNull(_to)); _transfer(msg.sender, _to, _divCardId); } /// Third-party initiates transfer of a card from address _from to address _to /// @param _from The address for the card to be transferred from. /// @param _to The address for the card to be transferred to. /// @param _divCardId The ID of the card that can be transferred if this call succeeds. /// @dev Required for ERC-721 compliance. function transferFrom(address _from, address _to, uint _divCardId) public isNotContract { require(_owns(_from, _divCardId)); require(_approved(_to, _divCardId)); require(_addressNotNull(_to)); _transfer(_from, _to, _divCardId); } function receiveDividends(uint _divCardRate) public payable { uint _divCardId = divCardRateToIndex[_divCardRate]; address _regularAddress = divCardIndexToOwner[_divCardId]; address _masterAddress = divCardIndexToOwner[7]; uint toMaster = msg.value.div(2); uint toRegular = msg.value.sub(toMaster); _masterAddress.send(toMaster); _regularAddress.send(toRegular); } /*** PRIVATE FUNCTIONS ***/ /// Safety check on _to address to prevent against an unexpected 0x0 default. function _addressNotNull(address _to) private pure returns (bool) { return _to != address(0); } /// For checking approval of transfer for address _to function _approved(address _to, uint _divCardId) private view returns (bool) { return divCardIndexToApproved[_divCardId] == _to; } /// For creating a dividend card function _createDivCard(string _name, address _owner, uint _price, uint _percentIncrease) private { Card memory _divcard = Card({ name: _name, percentIncrease: _percentIncrease }); uint newCardId = divCards.push(_divcard) - 1; // It's probably never going to happen, 4 billion tokens are A LOT, but // let's just be 100% sure we never let this happen. require(newCardId == uint(uint32(newCardId))); emit Birth(newCardId, _name, _owner); divCardIndexToPrice[newCardId] = _price; // This will assign ownership, and also emit the Transfer event as per ERC721 draft _transfer(BANKROLL, _owner, newCardId); } /// Check for token ownership function _owns(address claimant, uint _divCardId) private view returns (bool) { return claimant == divCardIndexToOwner[_divCardId]; } /// @dev Assigns ownership of a specific Card to an address. function _transfer(address _from, address _to, uint _divCardId) private { // Since the number of cards is capped to 2^32 we can't overflow this ownershipDivCardCount[_to]++; //transfer ownership divCardIndexToOwner[_divCardId] = _to; // When creating new div cards _from is 0x0, but we can't account that address. if (_from != address(0)) { ownershipDivCardCount[_from]--; // clear any previously approved ownership exchange delete divCardIndexToApproved[_divCardId]; } // Emit the transfer event. emit Transfer(_from, _to, _divCardId); } } // SafeMath library library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint a, uint b) internal pure returns (uint) { if (a == 0) { return 0; } uint c = a * b; assert(c / a == b); return c; } /** * @dev Integer division of two numbers, truncating the quotient. */ function div(uint a, uint b) internal pure returns (uint) { // assert(b > 0); // Solidity automatically throws when dividing by 0 uint c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint a, uint b) internal pure returns (uint) { assert(b <= a); return a - b; } /** * @dev Adds two numbers, throws on overflow. */ function add(uint a, uint b) internal pure returns (uint) { uint c = a + b; assert(c >= a); return c; } } /** * Utility library of inline functions on addresses */ library AddressUtils { /** * Returns whether the target address is a contract * @dev This function will return false if invoked during the constructor of a contract, * as the code is not actually created until after the constructor finishes. * @param addr address to check * @return whether the target address is a contract */ function isContract(address addr) internal view returns (bool) { uint size; // XXX Currently there is no better way to check if there is a contract in an address // than to check the size of the code at that address. // See https://ethereum.stackexchange.com/a/14016/36603 // for more details about how this works. // TODO Check this again before the Serenity release, because all addresses will be // contracts then. assembly { size := extcodesize(addr) } // solium-disable-line security/no-inline-assembly return size > 0; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"creator","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":"_tokenId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"divCardRateToIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"total","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_divCardId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"onSale","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_creator","type":"address"}],"name":"setCreator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"startCardSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_divCardId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_price","type":"uint256"},{"name":"_percentIncrease","type":"uint256"}],"name":"createDivCard","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_divCardId","type":"uint256"}],"name":"getDivCard","outputs":[{"name":"divCardName","type":"string"},{"name":"sellingPrice","type":"uint256"},{"name":"owner","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"BANKROLL","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":true,"inputs":[],"name":"NAME","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_divCardId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_divCardId","type":"uint256"}],"name":"takeOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_divCardId","type":"uint256"}],"name":"priceOf","outputs":[{"name":"price","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"where","type":"address"}],"name":"setBankroll","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"divCardIndexToApproved","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_divCardId","type":"uint256"}],"name":"purchase","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"divCardIndexToOwner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_divCardRate","type":"uint256"}],"name":"receiveDividends","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"SYMBOL","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_bankroll","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"owner","type":"address"}],"name":"Birth","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenId","type":"uint256"},{"indexed":false,"name":"oldPrice","type":"uint256"},{"indexed":false,"name":"newPrice","type":"uint256"},{"indexed":false,"name":"prevOwner","type":"address"},{"indexed":false,"name":"winner","type":"address"},{"indexed":false,"name":"name","type":"string"}],"name":"TokenSold","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"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
60806040523480156200001157600080fd5b506040516020806200279e8339810180604052810190808051906020019092919050505033600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001106040805190810160405280600281526020017f3225000000000000000000000000000000000000000000000000000000000000815250670de0b6b3a76400006002620004d0640100000000026401000000009004565b6000600260006002815260200190815260200160002081905550620001846040805190810160405280600281526020017f3525000000000000000000000000000000000000000000000000000000000000815250670de0b6b3a76400006005620004d0640100000000026401000000009004565b6001600260006005815260200190815260200160002081905550620001f86040805190810160405280600381526020017f3130250000000000000000000000000000000000000000000000000000000000815250670de0b6b3a7640000600a620004d0640100000000026401000000009004565b6002806000600a8152602001908152602001600020819055506200026b6040805190810160405280600381526020017f3135250000000000000000000000000000000000000000000000000000000000815250670de0b6b3a7640000600f620004d0640100000000026401000000009004565b600360026000600f815260200190815260200160002081905550620002df6040805190810160405280600381526020017f3230250000000000000000000000000000000000000000000000000000000000815250670de0b6b3a76400006014620004d0640100000000026401000000009004565b6004600260006014815260200190815260200160002081905550620003536040805190810160405280600381526020017f3235250000000000000000000000000000000000000000000000000000000000815250670de0b6b3a76400006019620004d0640100000000026401000000009004565b6005600260006019815260200190815260200160002081905550620003c76040805190810160405280600381526020017f3333250000000000000000000000000000000000000000000000000000000000815250670de0b6b3a76400006021620004d0640100000000026401000000009004565b60066002600060218152602001908152602001600020819055506200043b6040805190810160405280600681526020017f4d41535445520000000000000000000000000000000000000000000000000000815250674563918244f40000600a620004d0640100000000026401000000009004565b6007600260006103e78152602001908152602001600020819055506000600760146101000a81548160ff0219169083151502179055506001600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505062000a0a565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156200052d57600080fd5b6200056b836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848462000570640100000000026401000000009004565b505050565b6200057a62000941565b600060408051908101604052808781526020018481525091506001600883908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000019080519060200190620005e19291906200095b565b506020820151816001015550500390508063ffffffff16811415156200060657600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281878760405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015620006a457808201518184015260208101905062000687565b50505050905090810190601f168015620006d25780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1836005600083815260200190815260200160002081905550620007366000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686836200073e640100000000026401000000009004565b505050505050565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156200089d57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b604080519081016040528060608152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200099e57805160ff1916838001178555620009cf565b82800160010185558215620009cf579182015b82811115620009ce578251825591602001919060010190620009b1565b5b509050620009de9190620009e2565b5090565b62000a0791905b8082111562000a03576000816000905550600101620009e9565b5090565b90565b611d848062000a1a6000396000f300608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f1461015957806306fdde03146101b0578063095ea7b3146102405780631051db341461028d57806316946186146102bc57806318160ddd146102fd57806323b872dd14610328578063326687b9146103955780633f516018146103c45780634183f0b3146104075780636352211e1461041e57806370a082311461048b5780637894aafa146104e2578063882a1fa01461055f5780638e4ab74b1461063f57806395d89b4114610696578063a3f4df7e14610726578063a9059cbb146107b6578063b2e6ceeb14610803578063b9186d7d14610830578063bde8a93e14610871578063cc8b47eb146108b4578063efef39a114610921578063f0b0a76b14610941578063f2c7d331146109ae578063f76f8d78146109ce575b600080fd5b34801561016557600080fd5b5061016e610a5e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bc57600080fd5b506101c5610a84565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102055780820151818401526020810190506101ea565b50505050905090810190601f1680156102325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024c57600080fd5b5061028b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ac1565b005b34801561029957600080fd5b506102a2610bcb565b604051808215151515815260200191505060405180910390f35b3480156102c857600080fd5b506102e760048036038101908080359060200190929190505050610bd4565b6040518082815260200191505060405180910390f35b34801561030957600080fd5b50610312610bec565b6040518082815260200191505060405180910390f35b34801561033457600080fd5b50610393600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bf9565b005b3480156103a157600080fd5b506103aa610c81565b604051808215151515815260200191505060405180910390f35b3480156103d057600080fd5b50610405600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c94565b005b34801561041357600080fd5b5061041c610d70565b005b34801561042a57600080fd5b5061044960048036038101908080359060200190929190505050610de9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561049757600080fd5b506104cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e65565b6040518082815260200191505060405180910390f35b3480156104ee57600080fd5b5061055d600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919080359060200190929190505050610eae565b005b34801561056b57600080fd5b5061058a60048036038101908080359060200190929190505050610f3c565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156106025780820151818401526020810190506105e7565b50505050905090810190601f16801561062f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561064b57600080fd5b50610654611055565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106a257600080fd5b506106ab61107a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106eb5780820151818401526020810190506106d0565b50505050905090810190601f1680156107185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561073257600080fd5b5061073b6110b7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561077b578082015181840152602081019050610760565b50505050905090810190601f1680156107a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107c257600080fd5b50610801600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110f0565b005b34801561080f57600080fd5b5061082e60048036038101908080359060200190929190505050611162565b005b34801561083c57600080fd5b5061085b60048036038101908080359060200190929190505050611211565b6040518082815260200191505060405180910390f35b34801561087d57600080fd5b506108b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061122e565b005b3480156108c057600080fd5b506108df600480360381019080803590602001909291905050506112c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61093f600480360381019080803590602001909291905050506112fc565b005b34801561094d57600080fd5b5061096c600480360381019080803590602001909291905050506115ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109cc600480360381019080803590602001909291905050506115e1565b005b3480156109da57600080fd5b506109e361170b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a23578082015181840152602081019050610a08565b50505050905090810190601f168015610a505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040805190810160405280601381526020017f58595a657468724469766964656e644361726400000000000000000000000000815250905090565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610afb57600080fd5b610b053382611744565b1515610b1057600080fd5b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b60006001905090565b60026020528060005260406000206000915090505481565b6000600880549050905090565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3357600080fd5b610c3d8382611744565b1515610c4857600080fd5b610c5282826117b0565b1515610c5d57600080fd5b610c668261181c565b1515610c7157600080fd5b610c7c838383611855565b505050565b600760149054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cf057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d2c57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dcc57600080fd5b6001600760146101000a81548160ff021916908315150217905550565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e5d57600080fd5b809050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f0a57600080fd5b610f37836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484611a57565b505050565b60606000806000600885815481101515610f5257fe5b90600052602060002090600202019050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ffa5780601f10610fcf57610100808354040283529160200191610ffa565b820191906000526020600020905b815481529060010190602001808311610fdd57829003601f168201915b50505050509350600560008681526020019081526020016000205492506001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040805190810160405280600581526020017f58595a4443000000000000000000000000000000000000000000000000000000815250905090565b6040805190810160405280601381526020017f58595a657468724469766964656e64436172640000000000000000000000000081525081565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561112a57600080fd5b6111343382611744565b151561113f57600080fd5b6111488261181c565b151561115357600080fd5b61115e338383611855565b5050565b6000803273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119f57600080fd5b3391506001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506111e18261181c565b15156111ec57600080fd5b6111f682846117b0565b151561120157600080fd5b61120c818385611855565b505050565b600060056000838152602001908152602001600020549050919050565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561128657600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600080600080600060011515600760149054906101000a900460ff16151514151561132c57600080fd5b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561136657600080fd5b600160008b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169850339750600560008b81526020019081526020016000205496508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141515156113f057600080fd5b6113f98861181c565b151561140457600080fd5b86341015151561141357600080fd5b60088a81548110151561142257fe5b906000526020600020906002020160010154955061145686606401611448896064611c0c565b611c4790919063ffffffff16565b94506114628786611c62565b935061146f846002611c47565b925061147b8484611c62565b91506114878386611c7b565b92506114933488611c62565b90506114ac6114a58888606401611c0c565b6064611c47565b600560008c8152602001908152602001600020819055506114ce89898c611855565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050508873ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115a1573d6000803e3d6000fd5b5050505050505050505050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000600260008781526020019081526020016000205494506001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350600160006007815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250611680600234611c4790919063ffffffff16565b91506116958234611c6290919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050508373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505050505050505050565b6040805190810160405280600581526020017f58595a444300000000000000000000000000000000000000000000000000000081525081565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156119b357600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611a5f611c99565b600060408051908101604052808781526020018481525091506001600883908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000019080519060200190611ac4929190611cb3565b506020820151816001015550500390508063ffffffff1681141515611ae857600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281878760405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611b84578082015181840152602081019050611b69565b50505050905090810190601f168015611bb15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1836005600083815260200190815260200160002081905550611c046000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff168683611855565b505050505050565b6000806000841415611c215760009150611c40565b8284029050828482811515611c3257fe5b04141515611c3c57fe5b8091505b5092915050565b6000808284811515611c5557fe5b0490508091505092915050565b6000828211151515611c7057fe5b818303905092915050565b6000808284019050838110151515611c8f57fe5b8091505092915050565b604080519081016040528060608152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611cf457805160ff1916838001178555611d22565b82800160010185558215611d22579182015b82811115611d21578251825591602001919060010190611d06565b5b509050611d2f9190611d33565b5090565b611d5591905b80821115611d51576000816000905550600101611d39565b5090565b905600a165627a7a723058201efc491873885933e0d9986f3b280b8138906220116bf9627cd3f6cc991758700029000000000000000000000000c6bf1b866dfe81b6532198a6a0ace884e7508008
Deployed Bytecode
0x608060405260043610610154576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806302d05d3f1461015957806306fdde03146101b0578063095ea7b3146102405780631051db341461028d57806316946186146102bc57806318160ddd146102fd57806323b872dd14610328578063326687b9146103955780633f516018146103c45780634183f0b3146104075780636352211e1461041e57806370a082311461048b5780637894aafa146104e2578063882a1fa01461055f5780638e4ab74b1461063f57806395d89b4114610696578063a3f4df7e14610726578063a9059cbb146107b6578063b2e6ceeb14610803578063b9186d7d14610830578063bde8a93e14610871578063cc8b47eb146108b4578063efef39a114610921578063f0b0a76b14610941578063f2c7d331146109ae578063f76f8d78146109ce575b600080fd5b34801561016557600080fd5b5061016e610a5e565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156101bc57600080fd5b506101c5610a84565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156102055780820151818401526020810190506101ea565b50505050905090810190601f1680156102325780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561024c57600080fd5b5061028b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610ac1565b005b34801561029957600080fd5b506102a2610bcb565b604051808215151515815260200191505060405180910390f35b3480156102c857600080fd5b506102e760048036038101908080359060200190929190505050610bd4565b6040518082815260200191505060405180910390f35b34801561030957600080fd5b50610312610bec565b6040518082815260200191505060405180910390f35b34801561033457600080fd5b50610393600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff16906020019092919080359060200190929190505050610bf9565b005b3480156103a157600080fd5b506103aa610c81565b604051808215151515815260200191505060405180910390f35b3480156103d057600080fd5b50610405600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610c94565b005b34801561041357600080fd5b5061041c610d70565b005b34801561042a57600080fd5b5061044960048036038101908080359060200190929190505050610de9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561049757600080fd5b506104cc600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610e65565b6040518082815260200191505060405180910390f35b3480156104ee57600080fd5b5061055d600480360381019080803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091929192908035906020019092919080359060200190929190505050610eae565b005b34801561056b57600080fd5b5061058a60048036038101908080359060200190929190505050610f3c565b60405180806020018481526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825285818151815260200191508051906020019080838360005b838110156106025780820151818401526020810190506105e7565b50505050905090810190601f16801561062f5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561064b57600080fd5b50610654611055565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156106a257600080fd5b506106ab61107a565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156106eb5780820151818401526020810190506106d0565b50505050905090810190601f1680156107185780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561073257600080fd5b5061073b6110b7565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561077b578082015181840152602081019050610760565b50505050905090810190601f1680156107a85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156107c257600080fd5b50610801600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506110f0565b005b34801561080f57600080fd5b5061082e60048036038101908080359060200190929190505050611162565b005b34801561083c57600080fd5b5061085b60048036038101908080359060200190929190505050611211565b6040518082815260200191505060405180910390f35b34801561087d57600080fd5b506108b2600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061122e565b005b3480156108c057600080fd5b506108df600480360381019080803590602001909291905050506112c9565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b61093f600480360381019080803590602001909291905050506112fc565b005b34801561094d57600080fd5b5061096c600480360381019080803590602001909291905050506115ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b6109cc600480360381019080803590602001909291905050506115e1565b005b3480156109da57600080fd5b506109e361170b565b6040518080602001828103825283818151815260200191508051906020019080838360005b83811015610a23578082015181840152602081019050610a08565b50505050905090810190601f168015610a505780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040805190810160405280601381526020017f58595a657468724469766964656e644361726400000000000000000000000000815250905090565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610afb57600080fd5b610b053382611744565b1515610b1057600080fd5b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040518082815260200191505060405180910390a35050565b60006001905090565b60026020528060005260406000206000915090505481565b6000600880549050905090565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610c3357600080fd5b610c3d8382611744565b1515610c4857600080fd5b610c5282826117b0565b1515610c5d57600080fd5b610c668261181c565b1515610c7157600080fd5b610c7c838383611855565b505050565b600760149054906101000a900460ff1681565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610cf057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610d2c57600080fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dcc57600080fd5b6001600760146101000a81548160ff021916908315150217905550565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e5d57600080fd5b809050919050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610f0a57600080fd5b610f37836000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff168484611a57565b505050565b60606000806000600885815481101515610f5257fe5b90600052602060002090600202019050806000018054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610ffa5780601f10610fcf57610100808354040283529160200191610ffa565b820191906000526020600020905b815481529060010190602001808311610fdd57829003601f168201915b50505050509350600560008681526020019081526020016000205492506001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169150509193909250565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60606040805190810160405280600581526020017f58595a4443000000000000000000000000000000000000000000000000000000815250905090565b6040805190810160405280601381526020017f58595a657468724469766964656e64436172640000000000000000000000000081525081565b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561112a57600080fd5b6111343382611744565b151561113f57600080fd5b6111488261181c565b151561115357600080fd5b61115e338383611855565b5050565b6000803273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561119f57600080fd5b3391506001600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506111e18261181c565b15156111ec57600080fd5b6111f682846117b0565b151561120157600080fd5b61120c818385611855565b505050565b600060056000838152602001908152602001600020549050919050565b600660003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151561128657600080fd5b806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600080600080600080600060011515600760149054906101000a900460ff16151514151561132c57600080fd5b3273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561136657600080fd5b600160008b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169850339750600560008b81526020019081526020016000205496508773ffffffffffffffffffffffffffffffffffffffff168973ffffffffffffffffffffffffffffffffffffffff16141515156113f057600080fd5b6113f98861181c565b151561140457600080fd5b86341015151561141357600080fd5b60088a81548110151561142257fe5b906000526020600020906002020160010154955061145686606401611448896064611c0c565b611c4790919063ffffffff16565b94506114628786611c62565b935061146f846002611c47565b925061147b8484611c62565b91506114878386611c7b565b92506114933488611c62565b90506114ac6114a58888606401611c0c565b6064611c47565b600560008c8152602001908152602001600020819055506114ce89898c611855565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050508873ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051600060405180830381858888f19350505050503373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156115a1573d6000803e3d6000fd5b5050505050505050505050565b60016020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000806000806000600260008781526020019081526020016000205494506001600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169350600160006007815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169250611680600234611c4790919063ffffffff16565b91506116958234611c6290919063ffffffff16565b90508273ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050508373ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f1935050505050505050505050565b6040805190810160405280600581526020017f58595a444300000000000000000000000000000000000000000000000000000081525081565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008273ffffffffffffffffffffffffffffffffffffffff166004600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614905092915050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001019190505550816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415156119b357600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008154809291906001900391905055506004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690555b7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef838383604051808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828152602001935050505060405180910390a1505050565b611a5f611c99565b600060408051908101604052808781526020018481525091506001600883908060018154018082558091505090600182039060005260206000209060020201600090919290919091506000820151816000019080519060200190611ac4929190611cb3565b506020820151816001015550500390508063ffffffff1681141515611ae857600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef281878760405180848152602001806020018373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001828103825284818151815260200191508051906020019080838360005b83811015611b84578082015181840152602081019050611b69565b50505050905090810190601f168015611bb15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a1836005600083815260200190815260200160002081905550611c046000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff168683611855565b505050505050565b6000806000841415611c215760009150611c40565b8284029050828482811515611c3257fe5b04141515611c3c57fe5b8091505b5092915050565b6000808284811515611c5557fe5b0490508091505092915050565b6000828211151515611c7057fe5b818303905092915050565b6000808284019050838110151515611c8f57fe5b8091505092915050565b604080519081016040528060608152602001600081525090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611cf457805160ff1916838001178555611d22565b82800160010185558215611d22579182015b82811115611d21578251825591602001919060010190611d06565b5b509050611d2f9190611d33565b5090565b611d5591905b80821115611d51576000816000905550600101611d39565b5090565b905600a165627a7a723058201efc491873885933e0d9986f3b280b8138906220116bf9627cd3f6cc991758700029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000c6bf1b866dfe81b6532198a6a0ace884e7508008
-----Decoded View---------------
Arg [0] : _bankroll (address): 0xC6BF1b866dFe81b6532198a6A0ACe884e7508008
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000c6bf1b866dfe81b6532198a6a0ace884e7508008
Swarm Source
bzzr://1efc491873885933e0d9986f3b280b8138906220116bf9627cd3f6cc99175870
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.