Feature Tip: Add private address tag to any address under My Name Tag !
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 9,009 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Bid | 12313595 | 1387 days ago | IN | 0.09 ETH | 0.00233683 | ||||
Bid | 12085451 | 1422 days ago | IN | 0.089 ETH | 0.01029897 | ||||
Cancel Active Au... | 11964379 | 1441 days ago | IN | 0 ETH | 0.0031348 | ||||
Bid | 11831971 | 1461 days ago | IN | 0.006 ETH | 0.00595239 | ||||
Bid | 11658335 | 1488 days ago | IN | 0.01 ETH | 0.00216069 | ||||
Bid | 11658147 | 1488 days ago | IN | 0.01 ETH | 0.00216069 | ||||
Bid | 11649064 | 1489 days ago | IN | 0.025 ETH | 0.00200635 | ||||
Bid | 11644266 | 1490 days ago | IN | 0.015 ETH | 0.00463005 | ||||
Bid | 11619083 | 1494 days ago | IN | 0.008 ETH | 0.00282947 | ||||
Bid | 11063480 | 1579 days ago | IN | 0.005 ETH | 0.00169768 | ||||
Bid | 11049513 | 1581 days ago | IN | 0.004 ETH | 0.00352158 | ||||
Bid | 10975269 | 1593 days ago | IN | 0.003 ETH | 0.00478404 | ||||
Bid | 10944883 | 1597 days ago | IN | 0.0085 ETH | 0.00262369 | ||||
Cancel Active Au... | 9840875 | 1768 days ago | IN | 0 ETH | 0.00003688 | ||||
Cancel Active Au... | 9840875 | 1768 days ago | IN | 0 ETH | 0.00005188 | ||||
Cancel Active Au... | 9811261 | 1773 days ago | IN | 0 ETH | 0.00010326 | ||||
Cancel Active Au... | 9806987 | 1773 days ago | IN | 0 ETH | 0.00003688 | ||||
Cancel Active Au... | 9806987 | 1773 days ago | IN | 0 ETH | 0.00003688 | ||||
Bid | 9780203 | 1777 days ago | IN | 0.002 ETH | 0.00025722 | ||||
Bid | 9595050 | 1806 days ago | IN | 0.01 ETH | 0.00005144 | ||||
Cancel Active Au... | 9451612 | 1828 days ago | IN | 0 ETH | 0.00003554 | ||||
Cancel Active Au... | 9451612 | 1828 days ago | IN | 0 ETH | 0.00003688 | ||||
Cancel Active Au... | 9451602 | 1828 days ago | IN | 0 ETH | 0.00003688 | ||||
Cancel Active Au... | 9451600 | 1828 days ago | IN | 0 ETH | 0.00003554 | ||||
Cancel Active Au... | 9451600 | 1828 days ago | IN | 0 ETH | 0.00003688 |
Advanced mode: Intended for advanced users or developers and will display all Internal Transactions including zero value transfers. Name tag integration is not available in advanced view.
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
||||
---|---|---|---|---|---|---|---|
17011044 | 673 days ago | 0 ETH | |||||
17011044 | 673 days ago | 0 ETH | |||||
16076830 | 804 days ago | 0 ETH | |||||
16076800 | 804 days ago | 0 ETH | |||||
12995730 | 1281 days ago | 0 ETH | |||||
12995730 | 1281 days ago | 0 ETH | |||||
12987535 | 1282 days ago | 0 ETH | |||||
12987535 | 1282 days ago | 0 ETH | |||||
12924587 | 1292 days ago | 0 ETH | |||||
12924587 | 1292 days ago | 0 ETH | |||||
12751363 | 1319 days ago | 0 ETH | |||||
12751363 | 1319 days ago | 0 ETH | |||||
12670180 | 1332 days ago | 0 ETH | |||||
12670180 | 1332 days ago | 0 ETH | |||||
12313595 | 1387 days ago | 0 ETH | |||||
12313595 | 1387 days ago | 0.0864 ETH | |||||
12085451 | 1422 days ago | 0 ETH | |||||
12085451 | 1422 days ago | 0.08544 ETH | |||||
11964379 | 1441 days ago | 0 ETH | |||||
11831971 | 1461 days ago | 0 ETH | |||||
11831971 | 1461 days ago | 0.00576 ETH | |||||
11658335 | 1488 days ago | 0 ETH | |||||
11658335 | 1488 days ago | 0.0096 ETH | |||||
11658147 | 1488 days ago | 0 ETH | |||||
11658147 | 1488 days ago | 0.0096 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SaleMarket
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-09-20 */ pragma solidity ^0.4.24; contract CutieCoreInterface { function isCutieCore() pure public returns (bool); function transferFrom(address _from, address _to, uint256 _cutieId) external; function transfer(address _to, uint256 _cutieId) external; function ownerOf(uint256 _cutieId) external view returns (address owner); function getCutie(uint40 _id) external view returns ( uint256 genes, uint40 birthTime, uint40 cooldownEndTime, uint40 momId, uint40 dadId, uint16 cooldownIndex, uint16 generation ); function getGenes(uint40 _id) public view returns ( uint256 genes ); function getCooldownEndTime(uint40 _id) public view returns ( uint40 cooldownEndTime ); function getCooldownIndex(uint40 _id) public view returns ( uint16 cooldownIndex ); function getGeneration(uint40 _id) public view returns ( uint16 generation ); function getOptional(uint40 _id) public view returns ( uint64 optional ); function changeGenes( uint40 _cutieId, uint256 _genes) public; function changeCooldownEndTime( uint40 _cutieId, uint40 _cooldownEndTime) public; function changeCooldownIndex( uint40 _cutieId, uint16 _cooldownIndex) public; function changeOptional( uint40 _cutieId, uint64 _optional) public; function changeGeneration( uint40 _cutieId, uint16 _generation) public; function createSaleAuction( uint40 _cutieId, uint128 _startPrice, uint128 _endPrice, uint40 _duration ) public; function getApproved(uint256 _tokenId) external returns (address); } /** * @title Ownable * @dev The Ownable contract has an owner address, and provides basic authorization control * functions, this simplifies the implementation of "user permissions". */ contract Ownable { address public owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev The Ownable constructor sets the original `owner` of the contract to the sender * account. */ constructor() public { owner = msg.sender; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(msg.sender == owner); _; } /** * @dev Allows the current owner to transfer control of the contract to a newOwner. * @param newOwner The address to transfer ownership to. */ function transferOwnership(address newOwner) public onlyOwner { require(newOwner != address(0)); emit OwnershipTransferred(owner, newOwner); owner = newOwner; } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract Pausable is Ownable { event Pause(); event Unpause(); bool public paused = false; /** * @dev Modifier to make a function callable only when the contract is not paused. */ modifier whenNotPaused() { require(!paused); _; } /** * @dev Modifier to make a function callable only when the contract is paused. */ modifier whenPaused() { require(paused); _; } /** * @dev called by the owner to pause, triggers stopped state */ function pause() onlyOwner whenNotPaused public { paused = true; emit Pause(); } /** * @dev called by the owner to unpause, returns to normal state */ function unpause() onlyOwner whenPaused public { paused = false; emit Unpause(); } } pragma solidity ^0.4.24; /// @title Auction Market for Blockchain Cuties. /// @author https://BlockChainArchitect.io contract MarketInterface { function withdrawEthFromBalance() external; function createAuction(uint40 _cutieId, uint128 _startPrice, uint128 _endPrice, uint40 _duration, address _seller) public payable; function bid(uint40 _cutieId) public payable; function cancelActiveAuctionWhenPaused(uint40 _cutieId) public; function getAuctionInfo(uint40 _cutieId) public view returns ( address seller, uint128 startPrice, uint128 endPrice, uint40 duration, uint40 startedAt, uint128 featuringFee, bool tokensAllowed ); } pragma solidity ^0.4.24; // https://etherscan.io/address/0x4118d7f757ad5893b8fa2f95e067994e1f531371#code contract ERC20 { string public name; string public symbol; uint8 public decimals; /** * Transfer tokens from other address * * Send `_value` tokens to `_to` on behalf of `_from` * * @param _from The address of the sender * @param _to The address of the recipient * @param _value the amount to send */ function transferFrom(address _from, address _to, uint256 _value) external returns (bool success); function approveAndCall(address _spender, uint256 _value, bytes _extraData) external returns (bool success); /** * Transfer tokens * * Send `_value` tokens to `_to` from your account * * @param _to The address of the recipient * @param _value the amount to send */ function transfer(address _to, uint256 _value) external; /// @notice Count all tokens assigned to an owner function balanceOf(address _owner) external view returns (uint256); } pragma solidity ^0.4.24; // https://etherscan.io/address/0x3127be52acba38beab6b4b3a406dc04e557c037c#code contract PriceOracleInterface { // How much TOKENs you get for 1 ETH, multiplied by 10^18 uint256 public ETHPrice; } pragma solidity ^0.4.24; interface TokenRecipientInterface { function receiveApproval(address _from, uint256 _value, address _token, bytes _extraData) external; } /// @title Auction Market for Blockchain Cuties. /// @author https://BlockChainArchitect.io contract Market is MarketInterface, Pausable, TokenRecipientInterface { // Shows the auction on an Cutie Token struct Auction { // Price (in wei or tokens) at the beginning of auction uint128 startPrice; // Price (in wei or tokens) at the end of auction uint128 endPrice; // Current owner of Token address seller; // Auction duration in seconds uint40 duration; // Time when auction started // NOTE: 0 if this auction has been concluded uint40 startedAt; // Featuring fee (in wei, optional) uint128 featuringFee; // is it allowed to bid with erc20 tokens bool tokensAllowed; } // Reference to contract that tracks ownership CutieCoreInterface public coreContract; // Cut owner takes on each auction, in basis points - 1/100 of a per cent. // Values 0-10,000 map to 0%-100% uint16 public ownerFee; // Map from token ID to their corresponding auction. mapping (uint40 => Auction) public cutieIdToAuction; mapping (address => PriceOracleInterface) public priceOracle; address operatorAddress; event AuctionCreated(uint40 indexed cutieId, uint128 startPrice, uint128 endPrice, uint40 duration, uint128 fee, bool tokensAllowed); event AuctionSuccessful(uint40 indexed cutieId, uint128 totalPriceWei, address indexed winner); event AuctionSuccessfulForToken(uint40 indexed cutieId, uint128 totalPriceWei, address indexed winner, uint128 priceInTokens, address indexed token); event AuctionCancelled(uint40 indexed cutieId); modifier onlyOperator() { require(msg.sender == operatorAddress || msg.sender == owner); _; } function setOperator(address _newOperator) public onlyOwner { require(_newOperator != address(0)); operatorAddress = _newOperator; } /// @dev disables sending fund to this contract function() external {} modifier canBeStoredIn128Bits(uint256 _value) { require(_value <= 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF); _; } // @dev Adds to the list of open auctions and fires the // AuctionCreated event. // @param _cutieId The token ID is to be put on auction. // @param _auction To add an auction. // @param _fee Amount of money to feature auction function _addAuction(uint40 _cutieId, Auction _auction) internal { // Require that all auctions have a duration of // at least one minute. (Keeps our math from getting hairy!) require(_auction.duration >= 1 minutes); cutieIdToAuction[_cutieId] = _auction; emit AuctionCreated( _cutieId, _auction.startPrice, _auction.endPrice, _auction.duration, _auction.featuringFee, _auction.tokensAllowed ); } // @dev Returns true if the token is claimed by the claimant. // @param _claimant - Address claiming to own the token. function _isOwner(address _claimant, uint256 _cutieId) internal view returns (bool) { return (coreContract.ownerOf(_cutieId) == _claimant); } // @dev Transfers the token owned by this contract to another address. // Returns true when the transfer succeeds. // @param _receiver - Address to transfer token to. // @param _cutieId - Token ID to transfer. function _transfer(address _receiver, uint40 _cutieId) internal { // it will throw if transfer fails coreContract.transfer(_receiver, _cutieId); } // @dev Escrows the token and assigns ownership to this contract. // Throws if the escrow fails. // @param _owner - Current owner address of token to escrow. // @param _cutieId - Token ID the approval of which is to be verified. function _escrow(address _owner, uint40 _cutieId) internal { // it will throw if transfer fails coreContract.transferFrom(_owner, this, _cutieId); } // @dev just cancel auction. function _cancelActiveAuction(uint40 _cutieId, address _seller) internal { _removeAuction(_cutieId); _transfer(_seller, _cutieId); emit AuctionCancelled(_cutieId); } // @dev Calculates the price and transfers winnings. // Does not transfer token ownership. function _bid(uint40 _cutieId, uint128 _bidAmount) internal returns (uint128) { // Get a reference to the auction struct Auction storage auction = cutieIdToAuction[_cutieId]; require(_isOnAuction(auction)); // Check that bid > current price uint128 price = _currentPrice(auction); require(_bidAmount >= price); // Provide a reference to the seller before the auction struct is deleted. address seller = auction.seller; _removeAuction(_cutieId); // Transfer proceeds to seller (if there are any!) if (price > 0 && seller != address(coreContract)) { uint128 fee = _computeFee(price); uint128 sellerValue = price - fee; seller.transfer(sellerValue); } emit AuctionSuccessful(_cutieId, price, msg.sender); return price; } // @dev Removes from the list of open auctions. // @param _cutieId - ID of token on auction. function _removeAuction(uint40 _cutieId) internal { delete cutieIdToAuction[_cutieId]; } // @dev Returns true if the token is on auction. // @param _auction - Auction to check. function _isOnAuction(Auction storage _auction) internal view returns (bool) { return (_auction.startedAt > 0); } // @dev calculate current price of auction. // When testing, make this function public and turn on // `Current price calculation` test suite. function _computeCurrentPrice( uint128 _startPrice, uint128 _endPrice, uint40 _duration, uint40 _secondsPassed ) internal pure returns (uint128) { if (_secondsPassed >= _duration) { return _endPrice; } else { int256 totalPriceChange = int256(_endPrice) - int256(_startPrice); int256 currentPriceChange = totalPriceChange * int256(_secondsPassed) / int256(_duration); uint128 currentPrice = _startPrice + uint128(currentPriceChange); return currentPrice; } } // @dev return current price of token. function _currentPrice(Auction storage _auction) internal view returns (uint128) { uint40 secondsPassed = 0; uint40 timeNow = uint40(now); if (timeNow > _auction.startedAt) { secondsPassed = timeNow - _auction.startedAt; } return _computeCurrentPrice( _auction.startPrice, _auction.endPrice, _auction.duration, secondsPassed ); } // @dev Calculates owner's cut of a sale. // @param _price - Sale price of cutie. function _computeFee(uint128 _price) internal view returns (uint128) { return _price * ownerFee / 10000; } // @dev Remove all Ether from the contract with the owner's cuts. Also, remove any Ether sent directly to the contract address. // Transfers to the token contract, but can be called by // the owner or the token contract. function withdrawEthFromBalance() external { address coreAddress = address(coreContract); require( msg.sender == owner || msg.sender == coreAddress ); coreAddress.transfer(address(this).balance); } // @dev create and begin new auction. function createAuction(uint40 _cutieId, uint128 _startPrice, uint128 _endPrice, uint40 _duration, address _seller) public whenNotPaused payable { require(_isOwner(msg.sender, _cutieId)); _escrow(msg.sender, _cutieId); bool allowTokens = _duration < 0x8000000000; // first bit of duration is boolean flag (1 to disable tokens) _duration = _duration % 0x8000000000; // clear flag from duration Auction memory auction = Auction( _startPrice, _endPrice, _seller, _duration, uint40(now), uint128(msg.value), allowTokens ); _addAuction(_cutieId, auction); } // @dev Set the reference to cutie ownership contract. Verify the owner's fee. // @param fee should be between 0-10,000. function setup(address _coreContractAddress, uint16 _fee) public onlyOwner { require(_fee <= 10000); ownerFee = _fee; CutieCoreInterface candidateContract = CutieCoreInterface(_coreContractAddress); require(candidateContract.isCutieCore()); coreContract = candidateContract; } // @dev Set the owner's fee. // @param fee should be between 0-10,000. function setFee(uint16 _fee) public onlyOwner { require(_fee <= 10000); ownerFee = _fee; } // @dev bid on auction. Complete it and transfer ownership of cutie if enough ether was given. function bid(uint40 _cutieId) public payable whenNotPaused canBeStoredIn128Bits(msg.value) { // _bid throws if something failed. _bid(_cutieId, uint128(msg.value)); _transfer(msg.sender, _cutieId); } function getPriceInToken(ERC20 _tokenContract, uint128 priceWei) public view returns (uint128) { PriceOracleInterface oracle = priceOracle[address(_tokenContract)]; require(address(oracle) != address(0)); uint256 ethPerToken = oracle.ETHPrice(); int256 power = 36 - _tokenContract.decimals(); require(power > 0); return uint128(uint256(priceWei) * ethPerToken / (10 ** uint256(power))); } function getCutieId(bytes _extraData) pure internal returns (uint40) { return uint40(_extraData[0]) + uint40(_extraData[1]) * 0x100 + uint40(_extraData[2]) * 0x10000 + uint40(_extraData[3]) * 0x100000 + uint40(_extraData[4]) * 0x10000000; } // https://github.com/BitGuildPlatform/Documentation/blob/master/README.md#2-required-game-smart-contract-changes // Function that is called when trying to use PLAT for payments from approveAndCall function receiveApproval(address _sender, uint256 _value, address _tokenContract, bytes _extraData) external canBeStoredIn128Bits(_value) whenNotPaused { ERC20 tokenContract = ERC20(_tokenContract); require(_extraData.length == 5); // 40 bits uint40 cutieId = getCutieId(_extraData); // Get a reference to the auction struct Auction storage auction = cutieIdToAuction[cutieId]; require(auction.tokensAllowed); // buy for token is allowed require(_isOnAuction(auction)); uint128 priceWei = _currentPrice(auction); uint128 priceInTokens = getPriceInToken(tokenContract, priceWei); // Check that bid > current price //require(_value >= priceInTokens); // Provide a reference to the seller before the auction struct is deleted. address seller = auction.seller; _removeAuction(cutieId); require(tokenContract.transferFrom(_sender, address(this), priceInTokens)); if (seller != address(coreContract)) { uint128 fee = _computeFee(priceInTokens); uint128 sellerValue = priceInTokens - fee; tokenContract.transfer(seller, sellerValue); } emit AuctionSuccessfulForToken(cutieId, priceWei, _sender, priceInTokens, _tokenContract); _transfer(_sender, cutieId); } // @dev Returns auction info for a token on auction. // @param _cutieId - ID of token on auction. function getAuctionInfo(uint40 _cutieId) public view returns ( address seller, uint128 startPrice, uint128 endPrice, uint40 duration, uint40 startedAt, uint128 featuringFee, bool tokensAllowed ) { Auction storage auction = cutieIdToAuction[_cutieId]; require(_isOnAuction(auction)); return ( auction.seller, auction.startPrice, auction.endPrice, auction.duration, auction.startedAt, auction.featuringFee, auction.tokensAllowed ); } // @dev Returns auction info for a token on auction. // @param _cutieId - ID of token on auction. function isOnAuction(uint40 _cutieId) public view returns (bool) { return cutieIdToAuction[_cutieId].startedAt > 0; } /* /// @dev Import cuties from previous version of Core contract. /// @param _oldAddress Old core contract address /// @param _fromIndex (inclusive) /// @param _toIndex (inclusive) function migrate(address _oldAddress, uint40 _fromIndex, uint40 _toIndex) public onlyOwner whenPaused { Market old = Market(_oldAddress); for (uint40 i = _fromIndex; i <= _toIndex; i++) { if (coreContract.ownerOf(i) == _oldAddress) { address seller; uint128 startPrice; uint128 endPrice; uint40 duration; uint40 startedAt; uint128 featuringFee; (seller, startPrice, endPrice, duration, startedAt, featuringFee) = old.getAuctionInfo(i); Auction memory auction = Auction({ seller: seller, startPrice: startPrice, endPrice: endPrice, duration: duration, startedAt: startedAt, featuringFee: featuringFee }); _addAuction(i, auction); } } }*/ // @dev Returns the current price of an auction. function getCurrentPrice(uint40 _cutieId) public view returns (uint128) { Auction storage auction = cutieIdToAuction[_cutieId]; require(_isOnAuction(auction)); return _currentPrice(auction); } // @dev Cancels unfinished auction and returns token to owner. // Can be called when contract is paused. function cancelActiveAuction(uint40 _cutieId) public { Auction storage auction = cutieIdToAuction[_cutieId]; require(_isOnAuction(auction)); address seller = auction.seller; require(msg.sender == seller); _cancelActiveAuction(_cutieId, seller); } // @dev Cancels auction when contract is on pause. Option is available only to owners in urgent situations. Tokens returned to seller. // Used on Core contract upgrade. function cancelActiveAuctionWhenPaused(uint40 _cutieId) whenPaused onlyOwner public { Auction storage auction = cutieIdToAuction[_cutieId]; require(_isOnAuction(auction)); _cancelActiveAuction(_cutieId, auction.seller); } // @dev Cancels unfinished auction and returns token to owner. // Can be called when contract is paused. function cancelCreatorAuction(uint40 _cutieId) public onlyOperator { Auction storage auction = cutieIdToAuction[_cutieId]; require(_isOnAuction(auction)); address seller = auction.seller; require(seller == address(coreContract)); _cancelActiveAuction(_cutieId, msg.sender); } // @dev Transfers to _withdrawToAddress all tokens controlled by // contract _tokenContract. function withdrawTokenFromBalance(ERC20 _tokenContract, address _withdrawToAddress) external { address coreAddress = address(coreContract); require( msg.sender == owner || msg.sender == operatorAddress || msg.sender == coreAddress ); uint256 balance = _tokenContract.balanceOf(address(this)); _tokenContract.transfer(_withdrawToAddress, balance); } /// @dev Allow buy cuties for token function addToken(ERC20 _tokenContract, PriceOracleInterface _priceOracle) external onlyOwner { priceOracle[address(_tokenContract)] = _priceOracle; } /// @dev Disallow buy cuties for token function removeToken(ERC20 _tokenContract) external onlyOwner { delete priceOracle[address(_tokenContract)]; } function isPluginInterface() public pure returns (bool) { return true; } function onRemove() public pure {} function run( uint40 /*_cutieId*/, uint256 /*_parameter*/, address /*_seller*/ ) public payable { revert(); } function runSigned( uint40 /*_cutieId*/, uint256 /*_parameter*/, address /*_owner*/ ) external payable { revert(); } function withdraw() public { require( msg.sender == owner || msg.sender == address(coreContract) ); if (address(this).balance > 0) { address(coreContract).transfer(address(this).balance); } } } /// @title Auction market for cuties sale /// @author https://BlockChainArchitect.io contract SaleMarket is Market { // @dev Sanity check reveals that the // auction in our setSaleAuctionAddress() call is right. bool public isSaleMarket = true; // @dev create and start a new auction // @param _cutieId - ID of cutie to auction, sender must be owner. // @param _startPrice - Price of item (in wei) at the beginning of auction. // @param _endPrice - Price of item (in wei) at the end of auction. // @param _duration - Length of auction (in seconds). // @param _seller - Seller function createAuction( uint40 _cutieId, uint128 _startPrice, uint128 _endPrice, uint40 _duration, address _seller ) public payable { require(msg.sender == address(coreContract)); _escrow(_seller, _cutieId); bool allowTokens = _duration < 0x8000000000; // first bit of duration is boolean flag (1 to disable tokens) _duration = _duration % 0x8000000000; // clear flag from duration Auction memory auction = Auction( _startPrice, _endPrice, _seller, _duration, uint40(now), uint128(msg.value), allowTokens ); _addAuction(_cutieId, auction); } // @dev LastSalePrice is updated if seller is the token contract. // Otherwise, default bid method is used. function bid(uint40 _cutieId) public payable canBeStoredIn128Bits(msg.value) { // _bid verifies token ID size _bid(_cutieId, uint128(msg.value)); _transfer(msg.sender, _cutieId); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"onRemove","outputs":[],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[{"name":"_cutieId","type":"uint40"}],"name":"isOnAuction","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"priceOracle","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_cutieId","type":"uint40"}],"name":"cancelCreatorAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"},{"name":"_priceOracle","type":"address"}],"name":"addToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"}],"name":"removeToken","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isSaleMarket","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawEthFromBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_cutieId","type":"uint40"}],"name":"getCurrentPrice","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint40"}],"name":"cutieIdToAuction","outputs":[{"name":"startPrice","type":"uint128"},{"name":"endPrice","type":"uint128"},{"name":"seller","type":"address"},{"name":"duration","type":"uint40"},{"name":"startedAt","type":"uint40"},{"name":"featuringFee","type":"uint128"},{"name":"tokensAllowed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_fee","type":"uint16"}],"name":"setFee","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_tokenContract","type":"address"},{"name":"_extraData","type":"bytes"}],"name":"receiveApproval","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isPluginInterface","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"","type":"uint40"},{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"runSigned","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_cutieId","type":"uint40"}],"name":"cancelActiveAuction","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_cutieId","type":"uint40"}],"name":"getAuctionInfo","outputs":[{"name":"seller","type":"address"},{"name":"startPrice","type":"uint128"},{"name":"endPrice","type":"uint128"},{"name":"duration","type":"uint40"},{"name":"startedAt","type":"uint40"},{"name":"featuringFee","type":"uint128"},{"name":"tokensAllowed","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenContract","type":"address"},{"name":"priceWei","type":"uint128"}],"name":"getPriceInToken","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"","type":"uint40"},{"name":"","type":"uint256"},{"name":"","type":"address"}],"name":"run","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_cutieId","type":"uint40"}],"name":"cancelActiveAuctionWhenPaused","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newOperator","type":"address"}],"name":"setOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_cutieId","type":"uint40"}],"name":"bid","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_cutieId","type":"uint40"},{"name":"_startPrice","type":"uint128"},{"name":"_endPrice","type":"uint128"},{"name":"_duration","type":"uint40"},{"name":"_seller","type":"address"}],"name":"createAuction","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"_tokenContract","type":"address"},{"name":"_withdrawToAddress","type":"address"}],"name":"withdrawTokenFromBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownerFee","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_coreContractAddress","type":"address"},{"name":"_fee","type":"uint16"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"coreContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"payable":false,"stateMutability":"nonpayable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"cutieId","type":"uint40"},{"indexed":false,"name":"startPrice","type":"uint128"},{"indexed":false,"name":"endPrice","type":"uint128"},{"indexed":false,"name":"duration","type":"uint40"},{"indexed":false,"name":"fee","type":"uint128"},{"indexed":false,"name":"tokensAllowed","type":"bool"}],"name":"AuctionCreated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"cutieId","type":"uint40"},{"indexed":false,"name":"totalPriceWei","type":"uint128"},{"indexed":true,"name":"winner","type":"address"}],"name":"AuctionSuccessful","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"cutieId","type":"uint40"},{"indexed":false,"name":"totalPriceWei","type":"uint128"},{"indexed":true,"name":"winner","type":"address"},{"indexed":false,"name":"priceInTokens","type":"uint128"},{"indexed":true,"name":"token","type":"address"}],"name":"AuctionSuccessfulForToken","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"cutieId","type":"uint40"}],"name":"AuctionCancelled","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
6080604052600080546004805460a060020a60ff02191674010000000000000000000000000000000000000000179055600160a860020a03191633179055611c748061004c6000396000f30060806040526004361061017c5763ffffffff60e060020a60003504166311952369811461018b5780632177885d146101a25780632951f1b2146101d557806330d9161d146102125780633ccfd60b146102315780633f4ba83a146102465780635476bd721461025b5780635c975abb146102825780635fa7b584146102975780636066b066146102b8578063776247c4146102cd5780637ea310d4146102e257806381baab241461031d5780638456cb59146103965780638da5cb5b146103ab5780638e005553146103c05780638f4ffcb1146103dc57806394a89233146104145780639652713e1461042957806398c9faac1461044a5780639ccaec9814610469578063a01da7b2146104e1578063a055d45514610429578063b2fb3b901461050e578063b3ab15fb1461052d578063c170fd541461054e578063c1d1faf314610560578063cda8c71514610599578063d5b2a01a146105c0578063e410a0c6146105ec578063e80db5db14610614578063f2fde38b14610629575b34801561018857600080fd5b50005b34801561019757600080fd5b506101a061064a565b005b3480156101ae57600080fd5b506101c164ffffffffff6004351661064c565b604080519115158252519081900360200190f35b3480156101e157600080fd5b506101f6600160a060020a0360043516610675565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b506101a064ffffffffff60043516610690565b34801561023d57600080fd5b506101a061071f565b34801561025257600080fd5b506101a0610794565b34801561026757600080fd5b506101a0600160a060020a036004358116906024351661080a565b34801561028e57600080fd5b506101c161085c565b3480156102a357600080fd5b506101a0600160a060020a036004351661086c565b3480156102c457600080fd5b506101c16108b7565b3480156102d957600080fd5b506101a06108c7565b3480156102ee57600080fd5b5061030164ffffffffff60043516610934565b604080516001608060020a039092168252519081900360200190f35b34801561032957600080fd5b5061033c64ffffffffff6004351661096e565b604080516001608060020a0398891681529688166020880152600160a060020a039095168686015264ffffffffff9384166060870152919092166080850152931660a083015291151560c082015290519081900360e00190f35b3480156103a257600080fd5b506101a06109e1565b3480156103b757600080fd5b506101f6610a5c565b3480156103cc57600080fd5b506101a061ffff60043516610a6b565b3480156103e857600080fd5b506101a060048035600160a060020a039081169160248035926044351691606435918201910135610ac8565b34801561042057600080fd5b506101c1610dcf565b6101a064ffffffffff60043516602435600160a060020a0360443516610dd4565b34801561045657600080fd5b506101a064ffffffffff60043516610dd9565b34801561047557600080fd5b5061048864ffffffffff60043516610e29565b60408051600160a060020a0390981688526001608060020a0396871660208901529486168786015264ffffffffff9384166060880152919092166080860152921660a084015290151560c0830152519081900360e00190f35b3480156104ed57600080fd5b50610301600160a060020a03600435166001608060020a0360243516610ed0565b34801561051a57600080fd5b506101a064ffffffffff60043516611029565b34801561053957600080fd5b506101a0600160a060020a036004351661109d565b6101a064ffffffffff600435166110f8565b6101a064ffffffffff6004358116906001608060020a036024358116916044359091169060643516600160a060020a0360843516611122565b3480156105a557600080fd5b506101a0600160a060020a03600435811690602435166111e0565b3480156105cc57600080fd5b506105d5611342565b6040805161ffff9092168252519081900360200190f35b3480156105f857600080fd5b506101a0600160a060020a036004351661ffff60243516611353565b34801561062057600080fd5b506101f6611444565b34801561063557600080fd5b506101a0600160a060020a0360043516611453565b565b64ffffffffff90811660009081526002602052604081206001015460c860020a90049091161190565b600360205260009081526040902054600160a060020a031681565b6004546000908190600160a060020a03163314806106b85750600054600160a060020a031633145b15156106c357600080fd5b64ffffffffff8316600090815260026020526040902091506106e4826114e7565b15156106ef57600080fd5b506001808201549054600160a060020a039182169116811461071057600080fd5b61071a8333611500565b505050565b600054600160a060020a03163314806107425750600154600160a060020a031633145b151561074d57600080fd5b60003031111561064a57600154604051600160a060020a0390911690303180156108fc02916000818181858888f19350505050158015610791573d6000803e3d6000fd5b50565b600054600160a060020a031633146107ab57600080fd5b60005460a060020a900460ff1615156107c357600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b600054600160a060020a0316331461082157600080fd5b600160a060020a039182166000908152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60005460a060020a900460ff1681565b600054600160a060020a0316331461088357600080fd5b600160a060020a03166000908152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b60045460a060020a900460ff1681565b600154600054600160a060020a0391821691163314806108ef575033600160a060020a038216145b15156108fa57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015610930573d6000803e3d6000fd5b5050565b64ffffffffff81166000908152600260205260408120610953816114e7565b151561095e57600080fd5b61096781611549565b9392505050565b60026020819052600091825260409091208054600182015491909201546001608060020a038084169370010000000000000000000000000000000090819004821693600160a060020a0381169364ffffffffff60a060020a830481169460c860020a90930416929181169160ff91041687565b600054600160a060020a031633146109f857600080fd5b60005460a060020a900460ff1615610a0f57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b600054600160a060020a031681565b600054600160a060020a03163314610a8257600080fd5b61271061ffff82161115610a9557600080fd5b6001805461ffff90921660a060020a0275ffff000000000000000000000000000000000000000019909216919091179055565b6000808080808080808b6001608060020a03811115610ae657600080fd5b60005460a060020a900460ff1615610afd57600080fd5b8b985060058a14610b0d57600080fd5b610b468b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437506115d0945050505050565b64ffffffffff81166000908152600260208190526040909120908101549199509750700100000000000000000000000000000000900460ff161515610b8a57600080fd5b610b93876114e7565b1515610b9e57600080fd5b610ba787611549565b9550610bb38987610ed0565b6001880154909550600160a060020a03169350610bcf886116b5565b88600160a060020a03166323b872dd8f30886040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a03168152602001826001608060020a031681526020019350505050602060405180830381600087803b158015610c5557600080fd5b505af1158015610c69573d6000803e3d6000fd5b505050506040513d6020811015610c7f57600080fd5b50511515610c8c57600080fd5b600154600160a060020a03858116911614610d3657610caa85611714565b9250828503915088600160a060020a031663a9059cbb85846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a03168152602001826001608060020a0316815260200192505050600060405180830381600087803b158015610d1d57600080fd5b505af1158015610d31573d6000803e3d6000fd5b505050505b8b600160a060020a03168e600160a060020a03168964ffffffffff167ff65c85ee1272f6f51bd40bae1565e2868b8e887082e6f94b4924d29d21f842d7898960405180836001608060020a03166001608060020a03168152602001826001608060020a03166001608060020a031681526020019250505060405180910390a4610dbf8e8961173b565b5050505050505050505050505050565b600190565b600080fd5b64ffffffffff8116600090815260026020526040812090610df9826114e7565b1515610e0457600080fd5b506001810154600160a060020a0316338114610e1f57600080fd5b61071a8382611500565b64ffffffffff81166000908152600260205260408120819081908190819081908190610e54816114e7565b1515610e5f57600080fd5b60018101548154600290920154600160a060020a0382169b6001608060020a038085169c507001000000000000000000000000000000009485900481169b5060a060020a840464ffffffffff9081169b5060c860020a909404909316985091811696509190910460ff169350915050565b600160a060020a038083166000908152600360205260408120549091168180821515610efb57600080fd5b82600160a060020a0316633732e1536040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f3957600080fd5b505af1158015610f4d573d6000803e3d6000fd5b505050506040513d6020811015610f6357600080fd5b5051604080517f313ce5670000000000000000000000000000000000000000000000000000000081529051919350600160a060020a0388169163313ce567916004808201926020929091908290030181600087803b158015610fc457600080fd5b505af1158015610fd8573d6000803e3d6000fd5b505050506040513d6020811015610fee57600080fd5b505160240360ff1690506000811361100557600080fd5b80600a0a82866001608060020a03160281151561101e57fe5b049695505050505050565b6000805460a060020a900460ff16151561104257600080fd5b600054600160a060020a0316331461105957600080fd5b5064ffffffffff81166000908152600260205260409020611079816114e7565b151561108457600080fd5b6001810154610930908390600160a060020a0316611500565b600054600160a060020a031633146110b457600080fd5b600160a060020a03811615156110c957600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b346001608060020a0381111561110d57600080fd5b61111782346117cb565b50610930338361173b565b600061112c611c0c565b600154600160a060020a0316331461114357600080fd5b61114d8388611906565b64800000000064ffffffffff8516818110935006935060e060405190810160405280876001608060020a03168152602001866001608060020a0316815260200184600160a060020a031681526020018564ffffffffff1681526020014264ffffffffff168152602001346001608060020a0316815260200183151581525090506111d78782611980565b50505050505050565b60015460008054600160a060020a03928316921633148061120b5750600454600160a060020a031633145b8061121e575033600160a060020a038316145b151561122957600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038616916370a082319160248083019260209291908290030181600087803b15801561128a57600080fd5b505af115801561129e573d6000803e3d6000fd5b505050506040513d60208110156112b457600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301526024820184905291519293509086169163a9059cbb9160448082019260009290919082900301818387803b15801561132457600080fd5b505af1158015611338573d6000803e3d6000fd5b5050505050505050565b60015460a060020a900461ffff1681565b60008054600160a060020a0316331461136b57600080fd5b61271061ffff8316111561137e57600080fd5b81600160146101000a81548161ffff021916908361ffff16021790555082905080600160a060020a0316634d6a813a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156113dc57600080fd5b505af11580156113f0573d6000803e3d6000fd5b505050506040513d602081101561140657600080fd5b5051151561141357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600154600160a060020a031681565b600054600160a060020a0316331461146a57600080fd5b600160a060020a038116151561147f57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60010154600060c860020a90910464ffffffffff161190565b611509826116b5565b611513818361173b565b60405164ffffffffff8316907ff6680ade663631ec4dd74f7eaa1f75125361380cd50a22f969e9acfa5f53670490600090a25050565b60018101546000908190429064ffffffffff60c860020a9091048116908216111561158657600184015460c860020a900464ffffffffff16810391505b835460018501546115c8916001608060020a0380821692700100000000000000000000000000000000909204169060a060020a900464ffffffffff1685611ba5565b949350505050565b60008160048151811015156115e157fe5b90602001015160f860020a900460f860020a0260f860020a900463100000000282600381518110151561161057fe5b90602001015160f860020a900460f860020a0260f860020a9004621000000283600281518110151561163e57fe5b90602001015160f860020a900460f860020a0260f860020a9004620100000284600181518110151561166c57fe5b90602001015160f860020a900460f860020a0260f860020a90046101000285600081518110151561169957fe5b016020015160f860020a90819004810204010101019050919050565b64ffffffffff16600090815260026020819052604082209182556001820180547fffff00000000000000000000000000000000000000000000000000000000000016905501805470ffffffffffffffffffffffffffffffffff19169055565b6001546000906127109060a060020a900461ffff1683026001608060020a03160492915050565b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015264ffffffffff851660248301529151919092169163a9059cbb91604480830192600092919082900301818387803b1580156117af57600080fd5b505af11580156117c3573d6000803e3d6000fd5b505050505050565b64ffffffffff82166000908152600260205260408120818080806117ee856114e7565b15156117f957600080fd5b61180285611549565b93506001608060020a03808516908816101561181d57600080fd5b6001850154600160a060020a03169250611836886116b5565b6000846001608060020a031611801561185d5750600154600160a060020a03848116911614155b156118b35761186b84611714565b6040519092508285039150600160a060020a038416906001608060020a03831680156108fc02916000818181858888f193505050501580156118b1573d6000803e3d6000fd5b505b604080516001608060020a03861681529051339164ffffffffff8b16917f8500e47909916e51e97e4880e742d8b9af1afaeb9ea54166947cf42e6616b1179181900360200190a350919695505050505050565b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015230602483015264ffffffffff85166044830152915191909216916323b872dd91606480830192600092919082900301818387803b1580156117af57600080fd5b603c816060015164ffffffffff161015151561199b57600080fd5b80600260008464ffffffffff1664ffffffffff16815260200190815260200160002060008201518160000160006101000a8154816001608060020a0302191690836001608060020a0316021790555060208201518160000160106101000a8154816001608060020a0302191690836001608060020a0316021790555060408201518160010160006101000a815481600160a060020a030219169083600160a060020a0316021790555060608201518160010160146101000a81548164ffffffffff021916908364ffffffffff16021790555060808201518160010160196101000a81548164ffffffffff021916908364ffffffffff16021790555060a08201518160020160006101000a8154816001608060020a0302191690836001608060020a0316021790555060c08201518160020160106101000a81548160ff0219169083151502179055509050508164ffffffffff167fb5cfc381f79e09b5e427756c6c36086288faf8a39c226abab7c517219fb6c8018260000151836020015184606001518560a001518660c0015160405180866001608060020a03166001608060020a03168152602001856001608060020a03166001608060020a031681526020018464ffffffffff1664ffffffffff168152602001836001608060020a03166001608060020a03168152602001821515151581526020019550505050505060405180910390a25050565b600080808064ffffffffff80871690861610611bc357869350611c01565b876001608060020a0316876001608060020a03160392508564ffffffffff168564ffffffffff168402811515611bf557fe5b05915081880190508093505b505050949350505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810191909152905600a165627a7a72305820d6ca3accccb0d911b758a8b6d002ec3e0e1fade56e4af10bbac51d07a953630e0029
Deployed Bytecode
0x60806040526004361061017c5763ffffffff60e060020a60003504166311952369811461018b5780632177885d146101a25780632951f1b2146101d557806330d9161d146102125780633ccfd60b146102315780633f4ba83a146102465780635476bd721461025b5780635c975abb146102825780635fa7b584146102975780636066b066146102b8578063776247c4146102cd5780637ea310d4146102e257806381baab241461031d5780638456cb59146103965780638da5cb5b146103ab5780638e005553146103c05780638f4ffcb1146103dc57806394a89233146104145780639652713e1461042957806398c9faac1461044a5780639ccaec9814610469578063a01da7b2146104e1578063a055d45514610429578063b2fb3b901461050e578063b3ab15fb1461052d578063c170fd541461054e578063c1d1faf314610560578063cda8c71514610599578063d5b2a01a146105c0578063e410a0c6146105ec578063e80db5db14610614578063f2fde38b14610629575b34801561018857600080fd5b50005b34801561019757600080fd5b506101a061064a565b005b3480156101ae57600080fd5b506101c164ffffffffff6004351661064c565b604080519115158252519081900360200190f35b3480156101e157600080fd5b506101f6600160a060020a0360043516610675565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b506101a064ffffffffff60043516610690565b34801561023d57600080fd5b506101a061071f565b34801561025257600080fd5b506101a0610794565b34801561026757600080fd5b506101a0600160a060020a036004358116906024351661080a565b34801561028e57600080fd5b506101c161085c565b3480156102a357600080fd5b506101a0600160a060020a036004351661086c565b3480156102c457600080fd5b506101c16108b7565b3480156102d957600080fd5b506101a06108c7565b3480156102ee57600080fd5b5061030164ffffffffff60043516610934565b604080516001608060020a039092168252519081900360200190f35b34801561032957600080fd5b5061033c64ffffffffff6004351661096e565b604080516001608060020a0398891681529688166020880152600160a060020a039095168686015264ffffffffff9384166060870152919092166080850152931660a083015291151560c082015290519081900360e00190f35b3480156103a257600080fd5b506101a06109e1565b3480156103b757600080fd5b506101f6610a5c565b3480156103cc57600080fd5b506101a061ffff60043516610a6b565b3480156103e857600080fd5b506101a060048035600160a060020a039081169160248035926044351691606435918201910135610ac8565b34801561042057600080fd5b506101c1610dcf565b6101a064ffffffffff60043516602435600160a060020a0360443516610dd4565b34801561045657600080fd5b506101a064ffffffffff60043516610dd9565b34801561047557600080fd5b5061048864ffffffffff60043516610e29565b60408051600160a060020a0390981688526001608060020a0396871660208901529486168786015264ffffffffff9384166060880152919092166080860152921660a084015290151560c0830152519081900360e00190f35b3480156104ed57600080fd5b50610301600160a060020a03600435166001608060020a0360243516610ed0565b34801561051a57600080fd5b506101a064ffffffffff60043516611029565b34801561053957600080fd5b506101a0600160a060020a036004351661109d565b6101a064ffffffffff600435166110f8565b6101a064ffffffffff6004358116906001608060020a036024358116916044359091169060643516600160a060020a0360843516611122565b3480156105a557600080fd5b506101a0600160a060020a03600435811690602435166111e0565b3480156105cc57600080fd5b506105d5611342565b6040805161ffff9092168252519081900360200190f35b3480156105f857600080fd5b506101a0600160a060020a036004351661ffff60243516611353565b34801561062057600080fd5b506101f6611444565b34801561063557600080fd5b506101a0600160a060020a0360043516611453565b565b64ffffffffff90811660009081526002602052604081206001015460c860020a90049091161190565b600360205260009081526040902054600160a060020a031681565b6004546000908190600160a060020a03163314806106b85750600054600160a060020a031633145b15156106c357600080fd5b64ffffffffff8316600090815260026020526040902091506106e4826114e7565b15156106ef57600080fd5b506001808201549054600160a060020a039182169116811461071057600080fd5b61071a8333611500565b505050565b600054600160a060020a03163314806107425750600154600160a060020a031633145b151561074d57600080fd5b60003031111561064a57600154604051600160a060020a0390911690303180156108fc02916000818181858888f19350505050158015610791573d6000803e3d6000fd5b50565b600054600160a060020a031633146107ab57600080fd5b60005460a060020a900460ff1615156107c357600080fd5b6000805474ff0000000000000000000000000000000000000000191681556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b339190a1565b600054600160a060020a0316331461082157600080fd5b600160a060020a039182166000908152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff191691909216179055565b60005460a060020a900460ff1681565b600054600160a060020a0316331461088357600080fd5b600160a060020a03166000908152600360205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b60045460a060020a900460ff1681565b600154600054600160a060020a0391821691163314806108ef575033600160a060020a038216145b15156108fa57600080fd5b604051600160a060020a03821690303180156108fc02916000818181858888f19350505050158015610930573d6000803e3d6000fd5b5050565b64ffffffffff81166000908152600260205260408120610953816114e7565b151561095e57600080fd5b61096781611549565b9392505050565b60026020819052600091825260409091208054600182015491909201546001608060020a038084169370010000000000000000000000000000000090819004821693600160a060020a0381169364ffffffffff60a060020a830481169460c860020a90930416929181169160ff91041687565b600054600160a060020a031633146109f857600080fd5b60005460a060020a900460ff1615610a0f57600080fd5b6000805474ff0000000000000000000000000000000000000000191660a060020a1781556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff6259190a1565b600054600160a060020a031681565b600054600160a060020a03163314610a8257600080fd5b61271061ffff82161115610a9557600080fd5b6001805461ffff90921660a060020a0275ffff000000000000000000000000000000000000000019909216919091179055565b6000808080808080808b6001608060020a03811115610ae657600080fd5b60005460a060020a900460ff1615610afd57600080fd5b8b985060058a14610b0d57600080fd5b610b468b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437506115d0945050505050565b64ffffffffff81166000908152600260208190526040909120908101549199509750700100000000000000000000000000000000900460ff161515610b8a57600080fd5b610b93876114e7565b1515610b9e57600080fd5b610ba787611549565b9550610bb38987610ed0565b6001880154909550600160a060020a03169350610bcf886116b5565b88600160a060020a03166323b872dd8f30886040518463ffffffff1660e060020a0281526004018084600160a060020a0316600160a060020a0316815260200183600160a060020a0316600160a060020a03168152602001826001608060020a031681526020019350505050602060405180830381600087803b158015610c5557600080fd5b505af1158015610c69573d6000803e3d6000fd5b505050506040513d6020811015610c7f57600080fd5b50511515610c8c57600080fd5b600154600160a060020a03858116911614610d3657610caa85611714565b9250828503915088600160a060020a031663a9059cbb85846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a03168152602001826001608060020a0316815260200192505050600060405180830381600087803b158015610d1d57600080fd5b505af1158015610d31573d6000803e3d6000fd5b505050505b8b600160a060020a03168e600160a060020a03168964ffffffffff167ff65c85ee1272f6f51bd40bae1565e2868b8e887082e6f94b4924d29d21f842d7898960405180836001608060020a03166001608060020a03168152602001826001608060020a03166001608060020a031681526020019250505060405180910390a4610dbf8e8961173b565b5050505050505050505050505050565b600190565b600080fd5b64ffffffffff8116600090815260026020526040812090610df9826114e7565b1515610e0457600080fd5b506001810154600160a060020a0316338114610e1f57600080fd5b61071a8382611500565b64ffffffffff81166000908152600260205260408120819081908190819081908190610e54816114e7565b1515610e5f57600080fd5b60018101548154600290920154600160a060020a0382169b6001608060020a038085169c507001000000000000000000000000000000009485900481169b5060a060020a840464ffffffffff9081169b5060c860020a909404909316985091811696509190910460ff169350915050565b600160a060020a038083166000908152600360205260408120549091168180821515610efb57600080fd5b82600160a060020a0316633732e1536040518163ffffffff1660e060020a028152600401602060405180830381600087803b158015610f3957600080fd5b505af1158015610f4d573d6000803e3d6000fd5b505050506040513d6020811015610f6357600080fd5b5051604080517f313ce5670000000000000000000000000000000000000000000000000000000081529051919350600160a060020a0388169163313ce567916004808201926020929091908290030181600087803b158015610fc457600080fd5b505af1158015610fd8573d6000803e3d6000fd5b505050506040513d6020811015610fee57600080fd5b505160240360ff1690506000811361100557600080fd5b80600a0a82866001608060020a03160281151561101e57fe5b049695505050505050565b6000805460a060020a900460ff16151561104257600080fd5b600054600160a060020a0316331461105957600080fd5b5064ffffffffff81166000908152600260205260409020611079816114e7565b151561108457600080fd5b6001810154610930908390600160a060020a0316611500565b600054600160a060020a031633146110b457600080fd5b600160a060020a03811615156110c957600080fd5b6004805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b346001608060020a0381111561110d57600080fd5b61111782346117cb565b50610930338361173b565b600061112c611c0c565b600154600160a060020a0316331461114357600080fd5b61114d8388611906565b64800000000064ffffffffff8516818110935006935060e060405190810160405280876001608060020a03168152602001866001608060020a0316815260200184600160a060020a031681526020018564ffffffffff1681526020014264ffffffffff168152602001346001608060020a0316815260200183151581525090506111d78782611980565b50505050505050565b60015460008054600160a060020a03928316921633148061120b5750600454600160a060020a031633145b8061121e575033600160a060020a038316145b151561122957600080fd5b604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a038616916370a082319160248083019260209291908290030181600087803b15801561128a57600080fd5b505af115801561129e573d6000803e3d6000fd5b505050506040513d60208110156112b457600080fd5b5051604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0386811660048301526024820184905291519293509086169163a9059cbb9160448082019260009290919082900301818387803b15801561132457600080fd5b505af1158015611338573d6000803e3d6000fd5b5050505050505050565b60015460a060020a900461ffff1681565b60008054600160a060020a0316331461136b57600080fd5b61271061ffff8316111561137e57600080fd5b81600160146101000a81548161ffff021916908361ffff16021790555082905080600160a060020a0316634d6a813a6040518163ffffffff1660e060020a028152600401602060405180830381600087803b1580156113dc57600080fd5b505af11580156113f0573d6000803e3d6000fd5b505050506040513d602081101561140657600080fd5b5051151561141357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555050565b600154600160a060020a031681565b600054600160a060020a0316331461146a57600080fd5b600160a060020a038116151561147f57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60010154600060c860020a90910464ffffffffff161190565b611509826116b5565b611513818361173b565b60405164ffffffffff8316907ff6680ade663631ec4dd74f7eaa1f75125361380cd50a22f969e9acfa5f53670490600090a25050565b60018101546000908190429064ffffffffff60c860020a9091048116908216111561158657600184015460c860020a900464ffffffffff16810391505b835460018501546115c8916001608060020a0380821692700100000000000000000000000000000000909204169060a060020a900464ffffffffff1685611ba5565b949350505050565b60008160048151811015156115e157fe5b90602001015160f860020a900460f860020a0260f860020a900463100000000282600381518110151561161057fe5b90602001015160f860020a900460f860020a0260f860020a9004621000000283600281518110151561163e57fe5b90602001015160f860020a900460f860020a0260f860020a9004620100000284600181518110151561166c57fe5b90602001015160f860020a900460f860020a0260f860020a90046101000285600081518110151561169957fe5b016020015160f860020a90819004810204010101019050919050565b64ffffffffff16600090815260026020819052604082209182556001820180547fffff00000000000000000000000000000000000000000000000000000000000016905501805470ffffffffffffffffffffffffffffffffff19169055565b6001546000906127109060a060020a900461ffff1683026001608060020a03160492915050565b600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015264ffffffffff851660248301529151919092169163a9059cbb91604480830192600092919082900301818387803b1580156117af57600080fd5b505af11580156117c3573d6000803e3d6000fd5b505050505050565b64ffffffffff82166000908152600260205260408120818080806117ee856114e7565b15156117f957600080fd5b61180285611549565b93506001608060020a03808516908816101561181d57600080fd5b6001850154600160a060020a03169250611836886116b5565b6000846001608060020a031611801561185d5750600154600160a060020a03848116911614155b156118b35761186b84611714565b6040519092508285039150600160a060020a038416906001608060020a03831680156108fc02916000818181858888f193505050501580156118b1573d6000803e3d6000fd5b505b604080516001608060020a03861681529051339164ffffffffff8b16917f8500e47909916e51e97e4880e742d8b9af1afaeb9ea54166947cf42e6616b1179181900360200190a350919695505050505050565b600154604080517f23b872dd000000000000000000000000000000000000000000000000000000008152600160a060020a03858116600483015230602483015264ffffffffff85166044830152915191909216916323b872dd91606480830192600092919082900301818387803b1580156117af57600080fd5b603c816060015164ffffffffff161015151561199b57600080fd5b80600260008464ffffffffff1664ffffffffff16815260200190815260200160002060008201518160000160006101000a8154816001608060020a0302191690836001608060020a0316021790555060208201518160000160106101000a8154816001608060020a0302191690836001608060020a0316021790555060408201518160010160006101000a815481600160a060020a030219169083600160a060020a0316021790555060608201518160010160146101000a81548164ffffffffff021916908364ffffffffff16021790555060808201518160010160196101000a81548164ffffffffff021916908364ffffffffff16021790555060a08201518160020160006101000a8154816001608060020a0302191690836001608060020a0316021790555060c08201518160020160106101000a81548160ff0219169083151502179055509050508164ffffffffff167fb5cfc381f79e09b5e427756c6c36086288faf8a39c226abab7c517219fb6c8018260000151836020015184606001518560a001518660c0015160405180866001608060020a03166001608060020a03168152602001856001608060020a03166001608060020a031681526020018464ffffffffff1664ffffffffff168152602001836001608060020a03166001608060020a03168152602001821515151581526020019550505050505060405180910390a25050565b600080808064ffffffffff80871690861610611bc357869350611c01565b876001608060020a0316876001608060020a03160392508564ffffffffff168564ffffffffff168402811515611bf557fe5b05915081880190508093505b505050949350505050565b6040805160e081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810191909152905600a165627a7a72305820d6ca3accccb0d911b758a8b6d002ec3e0e1fade56e4af10bbac51d07a953630e0029
Swarm Source
bzzr://d6ca3accccb0d911b758a8b6d002ec3e0e1fade56e4af10bbac51d07a953630e
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ 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.