Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
TokenTracker
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Start Card Sale | 6122930 | 2392 days ago | IN | 0 ETH | 0.00027121 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
6246525 | 2371 days ago | 0.000001 ETH | ||||
6246525 | 2371 days ago | 0.000001 ETH | ||||
6246525 | 2371 days ago | 0.000002 ETH | ||||
6151967 | 2387 days ago | 0.00021016 ETH | ||||
6151967 | 2387 days ago | 0.00021016 ETH | ||||
6151967 | 2387 days ago | 0.00042032 ETH | ||||
6148760 | 2388 days ago | 0.00000745 ETH | ||||
6148760 | 2388 days ago | 0.00000745 ETH | ||||
6148760 | 2388 days ago | 0.00001491 ETH | ||||
6148750 | 2388 days ago | 0.00000923 ETH | ||||
6148750 | 2388 days ago | 0.00000923 ETH | ||||
6148750 | 2388 days ago | 0.00001847 ETH | ||||
6146109 | 2388 days ago | 0.0000511 ETH | ||||
6146109 | 2388 days ago | 0.0000511 ETH | ||||
6146109 | 2388 days ago | 0.0001022 ETH | ||||
6146009 | 2388 days ago | 0.00009592 ETH | ||||
6146009 | 2388 days ago | 0.00009592 ETH | ||||
6146009 | 2388 days ago | 0.00019185 ETH | ||||
6142692 | 2389 days ago | 0.00001198 ETH | ||||
6142692 | 2389 days ago | 0.00001198 ETH | ||||
6142692 | 2389 days ago | 0.00002396 ETH | ||||
6141090 | 2389 days ago | 0.0025 ETH | ||||
6141090 | 2389 days ago | 0.0025 ETH | ||||
6141090 | 2389 days ago | 0.005 ETH | ||||
6141000 | 2389 days ago | 0.00002182 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
ZethrDividendCards
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2018-08-10 */ pragma solidity ^0.4.24; /** https://fortisgames.com https://fortisgames.com https://fortisgames.com https://fortisgames.com https://fortisgames.com FFFFFFFFFFFFFFFFFFFFFF tttt iiii F::::::::::::::::::::F ttt:::t i::::i F::::::::::::::::::::F t:::::t iiii FF::::::FFFFFFFFF::::F t:::::t F:::::F FFFFFFooooooooooo rrrrr rrrrrrrrr ttttttt:::::ttttttt iiiiiii ssssssssss F:::::F oo:::::::::::oo r::::rrr:::::::::r t:::::::::::::::::t i:::::i ss::::::::::s F::::::FFFFFFFFFFo:::::::::::::::or:::::::::::::::::r t:::::::::::::::::t i::::i ss:::::::::::::s F:::::::::::::::Fo:::::ooooo:::::orr::::::rrrrr::::::rtttttt:::::::tttttt i::::i s::::::ssss:::::s F:::::::::::::::Fo::::o o::::o r:::::r r:::::r t:::::t i::::i s:::::s ssssss F::::::FFFFFFFFFFo::::o o::::o r:::::r rrrrrrr t:::::t i::::i s::::::s F:::::F o::::o o::::o r:::::r t:::::t i::::i s::::::s F:::::F o::::o o::::o r:::::r t:::::t tttttt i::::i ssssss s:::::s FF:::::::FF o:::::ooooo:::::o r:::::r t::::::tttt:::::ti::::::is:::::ssss::::::s F::::::::FF o:::::::::::::::o r:::::r tt::::::::::::::ti::::::is::::::::::::::s F::::::::FF oo:::::::::::oo r:::::r tt:::::::::::tti::::::i s:::::::::::ss FFFFFFFFFFF ooooooooooo rrrrrrr ttttttttttt iiiiiiii sssssssssss Discord: https://discord.gg/gDtTX62 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 ZethrDividendCards 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 = "ZethrDividendCard"; string public constant SYMBOL = "ZDC"; 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[0x4F4eBF556CFDc21c3424F85ff6572C77c514Fcae] = true; // Norsefire administrators[0x11e52c75998fe2E7928B191bfc5B25937Ca16741] = true; // klob administrators[0x20C945800de43394F70D789874a4daC9cFA57451] = true; // Etherguy administrators[0xef764BAC8a438E7E498c2E5fcCf0f174c3E3F8dB] = true; // blurr } /*** 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
60806040523480156200001157600080fd5b5060405160208062001a2283398101604081815291516007805433600160a060020a03199182161790915560008054909116600160a060020a03831617905582820190925260028082527f32250000000000000000000000000000000000000000000000000000000000006020830152620000a09190670de0b6b3a76400009064010000000062000549810204565b6002600081815260208281527f679795a0195a1b76cdebb7c51d74e058aee92919b8c3389af86ef24535e8a28c91909155604080518082019091529182527f3525000000000000000000000000000000000000000000000000000000000000908201526200012290670de0b6b3a7640000600564010000000062000549810204565b60056000526002602090815260017fb98b78633099fa36ed8b8680c4f8092689e1e04080eb9cbb077ca38a14d7e3845560408051808201909152600381527f313025000000000000000000000000000000000000000000000000000000000091810191909152620001a790670de0b6b3a7640000600a64010000000062000549810204565b600a600052600260208181527fd3604db978f6137b0d18816b77b2ce810487a3af08a922e0b184963be5f3adfc9190915560408051808201909152600381527f3135250000000000000000000000000000000000000000000000000000000000918101919091526200022d90670de0b6b3a7640000600f64010000000062000549810204565b600f6000526002602090815260037f0353061a88c0592f32d7468be32ff6e5e91e49a3ea3ffb3c4fbe417c36501ba2819055604080518082019091529081527f323025000000000000000000000000000000000000000000000000000000000091810191909152620002b390670de0b6b3a7640000601464010000000062000549810204565b60146000526002602090815260047f50d9dffd10eb4437a15e8bb1c50afee98ea231805f136fb9a057e7aaeec448ae5560408051808201909152600381527f3235250000000000000000000000000000000000000000000000000000000000918101919091526200033890670de0b6b3a7640000601964010000000062000549810204565b60196000526002602090815260057f38378c408f71c9e5f35d8db763a45d2b35da16f98182f9f4d54306cbd58c0a095560408051808201909152600381527f333325000000000000000000000000000000000000000000000000000000000091810191909152620003bd90670de0b6b3a7640000602164010000000062000549810204565b60216000526002602090815260067f43b5581607f3794931937dc64797d2130b6bf8bdfd272fb8ea0df3fe46d9c410819055604080518082019091529081527f4d41535445520000000000000000000000000000000000000000000000000000918101919091526200044390674563918244f40000600a64010000000062000549810204565b5060077fb4c8a47455e1a045cb1b6ee58110c8d95008aab5dfd1854d3951c2768f7e7e11819055805460a060020a60ff021916905560066020527ffd9c370149b5f8cfd66eb25eb781bb13a72bc98985ad13a1c19f81c150c7c6e7805460ff1990811660019081179092557f6264f7471ad450f3f98f63b8a2d510cdada977ac83cb8f0f550dec774fce530b80548216831790557f7bd50a95403c288ed87adb96976b08f3bb5af170942f92dfa28b1ebb9fa866cc805482168317905573ef764bac8a438e7e498c2e5fccf0f174c3e3f8db6000527fe7b1cd869b109a3699ad7cd218ab5af3b712126ad661f0e3a09a54032b465b9b80549091169091179055620008a8565b600754600160a060020a031633146200056157600080fd5b60005462000585908490600160a060020a031684846401000000006200058a810204565b505050565b62000594620007eb565b50604080518082019091528481526020808201839052600880546001818101808455600093845285518051949592949193879360029091027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30192620005fe928492019062000803565b506020919091015160019091015503905063ffffffff811681146200062257600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef2818787604051808481526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b83811015620006a357818101518382015260200162000689565b50505050905090810190601f168015620006d15780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a16000818152600560205260408120859055546200071190600160a060020a0316868364010000000062000719810204565b505050505050565b600160a060020a0380831660008181526003602090815260408083208054600190810190915586845290915290208054600160a060020a03191690911790558316156200079c57600160a060020a03831660009081526003602090815260408083208054600019019055838352600490915290208054600160a060020a03191690555b60408051600160a060020a0380861682528416602082015280820183905290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360600190a1505050565b60408051808201909152606081526000602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200084657805160ff191683800117855562000876565b8280016001018555821562000876579182015b828111156200087657825182559160200191906001019062000859565b506200088492915062000888565b5090565b620008a591905b808211156200088457600081556001016200088f565b90565b61116a80620008b86000396000f3006080604052600436106101535763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302d05d3f811461015857806306fdde0314610189578063095ea7b3146102135780631051db3414610239578063169461861461026257806318160ddd1461028c57806323b872dd146102a1578063326687b9146102cb5780633f516018146102e05780634183f0b3146103015780636352211e1461031657806370a082311461032e5780637894aafa1461034f578063882a1fa0146103b15780638e4ab74b1461046157806395d89b4114610476578063a3f4df7e1461048b578063a9059cbb146104a0578063b2e6ceeb146104c4578063b9186d7d146104dc578063bde8a93e146104f4578063cc8b47eb14610515578063efef39a11461052d578063f0b0a76b14610538578063f2c7d33114610550578063f76f8d781461055b575b600080fd5b34801561016457600080fd5b5061016d610570565b60408051600160a060020a039092168252519081900360200190f35b34801561019557600080fd5b5061019e61057f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d85781810151838201526020016101c0565b50505050905090810190601f1680156102055780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021f57600080fd5b50610237600160a060020a03600435166024356105b7565b005b34801561024557600080fd5b5061024e61064b565b604080519115158252519081900360200190f35b34801561026e57600080fd5b5061027a600435610650565b60408051918252519081900360200190f35b34801561029857600080fd5b5061027a610662565b3480156102ad57600080fd5b50610237600160a060020a0360043581169060243516604435610668565b3480156102d757600080fd5b5061024e6106c2565b3480156102ec57600080fd5b50610237600160a060020a03600435166106e3565b34801561030d57600080fd5b5061023761073e565b34801561032257600080fd5b5061016d60043561078c565b34801561033a57600080fd5b5061027a600160a060020a03600435166107b5565b34801561035b57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102379436949293602493928401919081908401838280828437509497505084359550505060209092013591506107d09050565b3480156103bd57600080fd5b506103c9600435610800565b604051808060200184815260200183600160a060020a0316600160a060020a03168152602001828103825285818151815260200191508051906020019080838360005b8381101561042457818101518382015260200161040c565b50505050905090810190601f1680156104515780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561046d57600080fd5b5061016d6108e1565b34801561048257600080fd5b5061019e6108f0565b34801561049757600080fd5b5061019e610927565b3480156104ac57600080fd5b50610237600160a060020a036004351660243561095e565b3480156104d057600080fd5b506102376004356109a2565b3480156104e857600080fd5b5061027a600435610a01565b34801561050057600080fd5b50610237600160a060020a0360043516610a13565b34801561052157600080fd5b5061016d600435610a60565b610237600435610a7b565b34801561054457600080fd5b5061016d600435610c49565b610237600435610c64565b34801561056757600080fd5b5061019e610d34565b600754600160a060020a031681565b60408051808201909152601181527f5a657468724469766964656e644361726400000000000000000000000000000060208201525b90565b3332146105c357600080fd5b6105cd3382610d6b565b15156105d857600080fd5b600081815260046020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03861690811790915582518481529251909233927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92592918290030190a35050565b600190565b60026020526000908152604090205481565b60085490565b33321461067457600080fd5b61067e8382610d6b565b151561068957600080fd5b6106938282610d8b565b151561069e57600080fd5b6106a782610dab565b15156106b257600080fd5b6106bd838383610db9565b505050565b60075474010000000000000000000000000000000000000000900460ff1681565b600754600160a060020a031633146106fa57600080fd5b600160a060020a038116151561070f57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600754600160a060020a0316331461075557600080fd5b6007805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600081815260016020526040902054600160a060020a03168015156107b057600080fd5b919050565b600160a060020a031660009081526003602052604090205490565b600754600160a060020a031633146107e757600080fd5b6000546106bd908490600160a060020a03168484610ea4565b6060600080600060088581548110151561081657fe5b60009182526020918290206002918202018054604080516001831615610100026000190190921693909304601f8101859004850282018501909352828152909350918391908301828280156108ac5780601f10610881576101008083540402835291602001916108ac565b820191906000526020600020905b81548152906001019060200180831161088f57829003601f168201915b50505060009788525050600560209081526040808820546001909252909620549096600160a060020a03909116945092505050565b600054600160a060020a031681565b60408051808201909152600381527f5a44430000000000000000000000000000000000000000000000000000000000602082015290565b60408051808201909152601181527f5a657468724469766964656e6443617264000000000000000000000000000000602082015281565b33321461096a57600080fd5b6109743382610d6b565b151561097f57600080fd5b61098882610dab565b151561099357600080fd5b61099e338383610db9565b5050565b6000803332146109b157600080fd5b50506000818152600160205260409020543390600160a060020a03166109d682610dab565b15156109e157600080fd5b6109eb8284610d8b565b15156109f657600080fd5b6106bd818385610db9565b60009081526005602052604090205490565b3360009081526006602052604090205460ff161515610a3157600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600460205260009081526040902054600160a060020a031681565b6000806000806000806000806000600760149054906101000a900460ff16151560011515141515610aab57600080fd5b333214610ab757600080fd5b60008a815260016020908152604080832054600590925290912054600160a060020a039091169950339850965087891415610af157600080fd5b610afa88610dab565b1515610b0557600080fd5b34871115610b1257600080fd5b600880548b908110610b2057fe5b9060005260206000209060020201600101549550610b5286606401610b46896064611020565b9063ffffffff61105616565b9450610b5e878661106d565b9350610b6b846002611056565b9250610b77848461106d565b9150610b83838661107f565b9250610b8f348861106d565b9050610ba8610ba18888606401611020565b6064611056565b60008b815260056020526040902055610bc289898c610db9565b60008054604051600160a060020a039091169184156108fc02918591818181858888f15050604051600160a060020a038d16935086156108fc0292508691506000818181858888f1505060405133935084156108fc0292508491506000818181858888f19350505050158015610c3c573d6000803e3d6000fd5b5050505050505050505050565b600160205260009081526040902054600160a060020a031681565b6000818152600260208181526040808420548085526001909252832054600784527fdc686ec4a0ff239c70e7c7c36e8f853eced3bc8618f48d2b816da2a74311237e549193600160a060020a039182169392909116918190610ccd90349063ffffffff61105616565b9150610cdf348363ffffffff61106d16565b604051909150600160a060020a0384169083156108fc029084906000818181858888f15050604051600160a060020a038816935084156108fc0292508491506000818181858888f15050505050505050505050565b60408051808201909152600381527f5a44430000000000000000000000000000000000000000000000000000000000602082015281565b600090815260016020526040902054600160a060020a0390811691161490565b600090815260046020526040902054600160a060020a0391821691161490565b600160a060020a0316151590565b600160a060020a038083166000818152600360209081526040808320805460019081019091558684529091529020805473ffffffffffffffffffffffffffffffffffffffff19169091179055831615610e5557600160a060020a0383166000908152600360209081526040808320805460001901905583835260049091529020805473ffffffffffffffffffffffffffffffffffffffff191690555b60408051600160a060020a0380861682528416602082015280820183905290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360600190a1505050565b610eac61108e565b50604080518082019091528481526020808201839052600880546001818101808455600093845285518051949592949193879360029091027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30192610f1492849201906110a6565b506020919091015160019091015503905063ffffffff81168114610f3757600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef2818787604051808481526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b83811015610fb6578181015183820152602001610f9e565b50505050905090810190601f168015610fe35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160008181526005602052604081208590555461101890600160a060020a03168683610db9565b505050505050565b600080831515611033576000915061104f565b5082820282848281151561104357fe5b041461104b57fe5b8091505b5092915050565b600080828481151561106457fe5b04949350505050565b60008282111561107957fe5b50900390565b60008282018381101561104b57fe5b60408051808201909152606081526000602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110e757805160ff1916838001178555611114565b82800160010185558215611114579182015b828111156111145782518255916020019190600101906110f9565b50611120929150611124565b5090565b6105b491905b80821115611120576000815560010161112a5600a165627a7a72305820922d77e4dc22c1b90ae4cf4906aa0a156f31d21aad9b38217b9a0445ad2dba860029000000000000000000000000818189b1a0ba4f9e543de04eb76669ec8354e122
Deployed Bytecode
0x6080604052600436106101535763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302d05d3f811461015857806306fdde0314610189578063095ea7b3146102135780631051db3414610239578063169461861461026257806318160ddd1461028c57806323b872dd146102a1578063326687b9146102cb5780633f516018146102e05780634183f0b3146103015780636352211e1461031657806370a082311461032e5780637894aafa1461034f578063882a1fa0146103b15780638e4ab74b1461046157806395d89b4114610476578063a3f4df7e1461048b578063a9059cbb146104a0578063b2e6ceeb146104c4578063b9186d7d146104dc578063bde8a93e146104f4578063cc8b47eb14610515578063efef39a11461052d578063f0b0a76b14610538578063f2c7d33114610550578063f76f8d781461055b575b600080fd5b34801561016457600080fd5b5061016d610570565b60408051600160a060020a039092168252519081900360200190f35b34801561019557600080fd5b5061019e61057f565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d85781810151838201526020016101c0565b50505050905090810190601f1680156102055780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021f57600080fd5b50610237600160a060020a03600435166024356105b7565b005b34801561024557600080fd5b5061024e61064b565b604080519115158252519081900360200190f35b34801561026e57600080fd5b5061027a600435610650565b60408051918252519081900360200190f35b34801561029857600080fd5b5061027a610662565b3480156102ad57600080fd5b50610237600160a060020a0360043581169060243516604435610668565b3480156102d757600080fd5b5061024e6106c2565b3480156102ec57600080fd5b50610237600160a060020a03600435166106e3565b34801561030d57600080fd5b5061023761073e565b34801561032257600080fd5b5061016d60043561078c565b34801561033a57600080fd5b5061027a600160a060020a03600435166107b5565b34801561035b57600080fd5b506040805160206004803580820135601f81018490048402850184019095528484526102379436949293602493928401919081908401838280828437509497505084359550505060209092013591506107d09050565b3480156103bd57600080fd5b506103c9600435610800565b604051808060200184815260200183600160a060020a0316600160a060020a03168152602001828103825285818151815260200191508051906020019080838360005b8381101561042457818101518382015260200161040c565b50505050905090810190601f1680156104515780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34801561046d57600080fd5b5061016d6108e1565b34801561048257600080fd5b5061019e6108f0565b34801561049757600080fd5b5061019e610927565b3480156104ac57600080fd5b50610237600160a060020a036004351660243561095e565b3480156104d057600080fd5b506102376004356109a2565b3480156104e857600080fd5b5061027a600435610a01565b34801561050057600080fd5b50610237600160a060020a0360043516610a13565b34801561052157600080fd5b5061016d600435610a60565b610237600435610a7b565b34801561054457600080fd5b5061016d600435610c49565b610237600435610c64565b34801561056757600080fd5b5061019e610d34565b600754600160a060020a031681565b60408051808201909152601181527f5a657468724469766964656e644361726400000000000000000000000000000060208201525b90565b3332146105c357600080fd5b6105cd3382610d6b565b15156105d857600080fd5b600081815260046020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03861690811790915582518481529251909233927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92592918290030190a35050565b600190565b60026020526000908152604090205481565b60085490565b33321461067457600080fd5b61067e8382610d6b565b151561068957600080fd5b6106938282610d8b565b151561069e57600080fd5b6106a782610dab565b15156106b257600080fd5b6106bd838383610db9565b505050565b60075474010000000000000000000000000000000000000000900460ff1681565b600754600160a060020a031633146106fa57600080fd5b600160a060020a038116151561070f57600080fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600754600160a060020a0316331461075557600080fd5b6007805474ff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000179055565b600081815260016020526040902054600160a060020a03168015156107b057600080fd5b919050565b600160a060020a031660009081526003602052604090205490565b600754600160a060020a031633146107e757600080fd5b6000546106bd908490600160a060020a03168484610ea4565b6060600080600060088581548110151561081657fe5b60009182526020918290206002918202018054604080516001831615610100026000190190921693909304601f8101859004850282018501909352828152909350918391908301828280156108ac5780601f10610881576101008083540402835291602001916108ac565b820191906000526020600020905b81548152906001019060200180831161088f57829003601f168201915b50505060009788525050600560209081526040808820546001909252909620549096600160a060020a03909116945092505050565b600054600160a060020a031681565b60408051808201909152600381527f5a44430000000000000000000000000000000000000000000000000000000000602082015290565b60408051808201909152601181527f5a657468724469766964656e6443617264000000000000000000000000000000602082015281565b33321461096a57600080fd5b6109743382610d6b565b151561097f57600080fd5b61098882610dab565b151561099357600080fd5b61099e338383610db9565b5050565b6000803332146109b157600080fd5b50506000818152600160205260409020543390600160a060020a03166109d682610dab565b15156109e157600080fd5b6109eb8284610d8b565b15156109f657600080fd5b6106bd818385610db9565b60009081526005602052604090205490565b3360009081526006602052604090205460ff161515610a3157600080fd5b6000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600460205260009081526040902054600160a060020a031681565b6000806000806000806000806000600760149054906101000a900460ff16151560011515141515610aab57600080fd5b333214610ab757600080fd5b60008a815260016020908152604080832054600590925290912054600160a060020a039091169950339850965087891415610af157600080fd5b610afa88610dab565b1515610b0557600080fd5b34871115610b1257600080fd5b600880548b908110610b2057fe5b9060005260206000209060020201600101549550610b5286606401610b46896064611020565b9063ffffffff61105616565b9450610b5e878661106d565b9350610b6b846002611056565b9250610b77848461106d565b9150610b83838661107f565b9250610b8f348861106d565b9050610ba8610ba18888606401611020565b6064611056565b60008b815260056020526040902055610bc289898c610db9565b60008054604051600160a060020a039091169184156108fc02918591818181858888f15050604051600160a060020a038d16935086156108fc0292508691506000818181858888f1505060405133935084156108fc0292508491506000818181858888f19350505050158015610c3c573d6000803e3d6000fd5b5050505050505050505050565b600160205260009081526040902054600160a060020a031681565b6000818152600260208181526040808420548085526001909252832054600784527fdc686ec4a0ff239c70e7c7c36e8f853eced3bc8618f48d2b816da2a74311237e549193600160a060020a039182169392909116918190610ccd90349063ffffffff61105616565b9150610cdf348363ffffffff61106d16565b604051909150600160a060020a0384169083156108fc029084906000818181858888f15050604051600160a060020a038816935084156108fc0292508491506000818181858888f15050505050505050505050565b60408051808201909152600381527f5a44430000000000000000000000000000000000000000000000000000000000602082015281565b600090815260016020526040902054600160a060020a0390811691161490565b600090815260046020526040902054600160a060020a0391821691161490565b600160a060020a0316151590565b600160a060020a038083166000818152600360209081526040808320805460019081019091558684529091529020805473ffffffffffffffffffffffffffffffffffffffff19169091179055831615610e5557600160a060020a0383166000908152600360209081526040808320805460001901905583835260049091529020805473ffffffffffffffffffffffffffffffffffffffff191690555b60408051600160a060020a0380861682528416602082015280820183905290517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360600190a1505050565b610eac61108e565b50604080518082019091528481526020808201839052600880546001818101808455600093845285518051949592949193879360029091027ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30192610f1492849201906110a6565b506020919091015160019091015503905063ffffffff81168114610f3757600080fd5b7fb3b0cf861f168bcdb275c69da97b2543631552ba562628aa3c7317d4a6089ef2818787604051808481526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b83811015610fb6578181015183820152602001610f9e565b50505050905090810190601f168015610fe35780820380516001836020036101000a031916815260200191505b5094505050505060405180910390a160008181526005602052604081208590555461101890600160a060020a03168683610db9565b505050505050565b600080831515611033576000915061104f565b5082820282848281151561104357fe5b041461104b57fe5b8091505b5092915050565b600080828481151561106457fe5b04949350505050565b60008282111561107957fe5b50900390565b60008282018381101561104b57fe5b60408051808201909152606081526000602082015290565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110e757805160ff1916838001178555611114565b82800160010185558215611114579182015b828111156111145782518255916020019190600101906110f9565b50611120929150611124565b5090565b6105b491905b80821115611120576000815560010161112a5600a165627a7a72305820922d77e4dc22c1b90ae4cf4906aa0a156f31d21aad9b38217b9a0445ad2dba860029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000818189b1a0ba4f9e543de04eb76669ec8354e122
-----Decoded View---------------
Arg [0] : _bankroll (address): 0x818189b1A0BA4f9e543DE04eb76669ec8354E122
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000818189b1a0ba4f9e543de04eb76669ec8354e122
Swarm Source
bzzr://922d77e4dc22c1b90ae4cf4906aa0a156f31d21aad9b38217b9a0445ad2dba86
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 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.