More Info
Private Name Tags
ContractCreator
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
12244983 | 1317 days ago | 0.000864 ETH | ||||
12244983 | 1317 days ago | 0.0009 ETH | ||||
12194134 | 1325 days ago | 0.00048 ETH | ||||
12194134 | 1325 days ago | 0.0005 ETH | ||||
12194134 | 1325 days ago | 0.0003552 ETH | ||||
12194134 | 1325 days ago | 0.00037 ETH | ||||
12168668 | 1329 days ago | 0.00864 ETH | ||||
12168668 | 1329 days ago | 0.009 ETH | ||||
12166231 | 1329 days ago | 0.0003552 ETH | ||||
12166231 | 1329 days ago | 0.00037 ETH | ||||
12157145 | 1331 days ago | 0.00768 ETH | ||||
12157145 | 1331 days ago | 0.008 ETH | ||||
12155238 | 1331 days ago | 0.0004896 ETH | ||||
12155238 | 1331 days ago | 0.00051 ETH | ||||
12155238 | 1331 days ago | 0.0004896 ETH | ||||
12155238 | 1331 days ago | 0.00051 ETH | ||||
12155238 | 1331 days ago | 0.0096 ETH | ||||
12155238 | 1331 days ago | 0.01 ETH | ||||
12154172 | 1331 days ago | 0.000624 ETH | ||||
12154172 | 1331 days ago | 0.00065 ETH | ||||
12152180 | 1331 days ago | 0.0004896 ETH | ||||
12152180 | 1331 days ago | 0.00051 ETH | ||||
12152177 | 1331 days ago | 0.0096 ETH | ||||
12152177 | 1331 days ago | 0.01 ETH | ||||
12152177 | 1331 days ago | 0.000096 ETH |
Loading...
Loading
Contract Name:
ItemMarket
Compiler Version
v0.4.26+commit.4563c3fc
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2019-07-09 */ pragma solidity ^0.4.23; pragma solidity ^0.4.23; pragma solidity ^0.4.23; pragma solidity ^0.4.23; pragma solidity ^0.4.23; /** * @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.23; /// @author https://BlockChainArchitect.iocontract Bank is CutiePluginBase contract PluginInterface { /// @dev simply a boolean to indicate this is the contract we expect to be function isPluginInterface() public pure returns (bool); function onRemove() public; /// @dev Begins new feature. /// @param _cutieId - ID of token to auction, sender must be owner. /// @param _parameter - arbitrary parameter /// @param _seller - Old owner, if not the message sender function run( uint40 _cutieId, uint256 _parameter, address _seller ) public payable; /// @dev Begins new feature, approved and signed by COO. /// @param _cutieId - ID of token to auction, sender must be owner. /// @param _parameter - arbitrary parameter function runSigned( uint40 _cutieId, uint256 _parameter, address _owner ) external payable; function withdraw() external; } pragma solidity ^0.4.23; pragma solidity ^0.4.23; /// @title BlockchainCuties: Collectible and breedable cuties on the Ethereum blockchain. /// @author https://BlockChainArchitect.io /// @dev This is the BlockchainCuties configuration. It can be changed redeploying another version. interface ConfigInterface { function isConfig() external pure returns (bool); function getCooldownIndexFromGeneration(uint16 _generation, uint40 _cutieId) external view returns (uint16); function getCooldownEndTimeFromIndex(uint16 _cooldownIndex, uint40 _cutieId) external view returns (uint40); function getCooldownIndexFromGeneration(uint16 _generation) external view returns (uint16); function getCooldownEndTimeFromIndex(uint16 _cooldownIndex) external view returns (uint40); function getCooldownIndexCount() external view returns (uint256); function getBabyGenFromId(uint40 _momId, uint40 _dadId) external view returns (uint16); function getBabyGen(uint16 _momGen, uint16 _dadGen) external pure returns (uint16); function getTutorialBabyGen(uint16 _dadGen) external pure returns (uint16); function getBreedingFee(uint40 _momId, uint40 _dadId) external view returns (uint256); } contract CutieCoreInterface { function isCutieCore() pure public returns (bool); ConfigInterface public config; 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); function totalSupply() view external returns (uint256); function createPromoCutie(uint256 _genes, address _owner) external; function checkOwnerAndApprove(address _claimant, uint40 _cutieId, address _pluginsContract) external view; function breedWith(uint40 _momId, uint40 _dadId) public payable returns (uint40); function getBreedingFee(uint40 _momId, uint40 _dadId) public view returns (uint256); function restoreCutieToAddress(uint40 _cutieId, address _recipient) external; function createGen0Auction(uint256 _genes, uint128 startPrice, uint128 endPrice, uint40 duration) external; function createGen0AuctionWithTokens(uint256 _genes, uint128 startPrice, uint128 endPrice, uint40 duration, address[] allowedTokens) external; function createPromoCutieWithGeneration(uint256 _genes, address _owner, uint16 _generation) external; function createPromoCutieBulk(uint256[] _genes, address _owner, uint16 _generation) external; } pragma solidity ^0.4.23; pragma solidity ^0.4.23; contract Operators { mapping (address=>bool) ownerAddress; mapping (address=>bool) operatorAddress; constructor() public { ownerAddress[msg.sender] = true; } modifier onlyOwner() { require(ownerAddress[msg.sender]); _; } function isOwner(address _addr) public view returns (bool) { return ownerAddress[_addr]; } function addOwner(address _newOwner) external onlyOwner { require(_newOwner != address(0)); ownerAddress[_newOwner] = true; } function removeOwner(address _oldOwner) external onlyOwner { delete(ownerAddress[_oldOwner]); } modifier onlyOperator() { require(isOperator(msg.sender)); _; } function isOperator(address _addr) public view returns (bool) { return operatorAddress[_addr] || ownerAddress[_addr]; } function addOperator(address _newOperator) external onlyOwner { require(_newOperator != address(0)); operatorAddress[_newOperator] = true; } function removeOperator(address _oldOperator) external onlyOwner { delete(operatorAddress[_oldOperator]); } } /** * @title Pausable * @dev Base contract which allows children to implement an emergency stop mechanism. */ contract PausableOperators is Operators { 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(); } } /// @author https://BlockChainArchitect.iocontract Bank is CutiePluginBase contract CutiePluginBase is PluginInterface, PausableOperators { function isPluginInterface() public pure returns (bool) { return true; } // Reference to contract tracking NFT ownership CutieCoreInterface public coreContract; address public pluginsContract; // @dev Throws if called by any account other than the owner. modifier onlyCore() { require(msg.sender == address(coreContract)); _; } modifier onlyPlugins() { require(msg.sender == pluginsContract); _; } /// @dev Constructor creates a reference to the NFT ownership contract /// and verifies the owner cut is in the valid range. /// @param _coreAddress - address of a deployed contract implementing /// the Nonfungible Interface. function setup(address _coreAddress, address _pluginsContract) public onlyOwner { CutieCoreInterface candidateContract = CutieCoreInterface(_coreAddress); require(candidateContract.isCutieCore()); coreContract = candidateContract; pluginsContract = _pluginsContract; } /// @dev Returns true if the claimant owns the token. /// @param _claimant - Address claiming to own the token. /// @param _cutieId - ID of token whose ownership to verify. function _isOwner(address _claimant, uint40 _cutieId) internal view returns (bool) { return (coreContract.ownerOf(_cutieId) == _claimant); } /// @dev Escrows the NFT, assigning ownership to this contract. /// Throws if the escrow fails. /// @param _owner - Current owner address of token to escrow. /// @param _cutieId - ID of token whose approval to verify. function _escrow(address _owner, uint40 _cutieId) internal { // it will throw if transfer fails coreContract.transferFrom(_owner, this, _cutieId); } /// @dev Transfers an NFT owned by this contract to another address. /// Returns true if the transfer succeeds. /// @param _receiver - Address to transfer NFT to. /// @param _cutieId - ID of token to transfer. function _transfer(address _receiver, uint40 _cutieId) internal { // it will throw if transfer fails coreContract.transfer(_receiver, _cutieId); } function withdraw() external { require( isOwner(msg.sender) || msg.sender == address(coreContract) ); _withdraw(); } function _withdraw() internal { if (address(this).balance > 0) { address(coreContract).transfer(address(this).balance); } } function onRemove() public onlyPlugins { _withdraw(); } function run(uint40, uint256, address) public payable onlyCore { revert(); } function runSigned(uint40, uint256, address) external payable onlyCore { revert(); } } /// @author https://BlockChainArchitect.iocontract Bank is CutiePluginBase contract CutiePluginBaseFee is CutiePluginBase { // Cut owner takes on each auction, measured in basis points (1/100 of a percent). // Values 0-10,000 map to 0%-100% uint16 public ownerFee; /// @dev Constructor creates a reference to the NFT ownership contract /// and verifies the owner cut is in the valid range. /// @param _coreAddress - address of a deployed contract implementing /// the Nonfungible Interface. /// @param _fee - percent cut the owner takes on each auction, must be /// between 0-10,000. function setup(address _coreAddress, address _pluginsContract, uint16 _fee) external onlyOwner { require(_fee <= 10000); ownerFee = _fee; super.setup(_coreAddress, _pluginsContract); } // @dev Set the owner's fee. // @param fee should be between 0-10,000. function setFee(uint16 _fee) external onlyOwner { require(_fee <= 10000); ownerFee = _fee; } /// @dev Computes owner's cut of a sale. /// @param _price - Sale price of NFT. function _computeFee(uint128 _price) internal view returns (uint128) { // NOTE: We don't use SafeMath (or similar) in this function because // all of our entry functions carefully cap the maximum values for // currency (at 128-bits), and ownerFee <= 10000 (see the require() // statement in the ClockAuction constructor). The result of this // function is always guaranteed to be <= _price. return _price * ownerFee / 10000; } } /// @dev Receives and transfers money from item buyer to seller for Blockchain Cuties /// @author https://BlockChainArchitect.iocontract Bank is CutiePluginBase contract ItemMarket is CutiePluginBaseFee { event Transfer(address from, address to, uint128 value); function run( uint40, uint256, address ) public payable onlyPlugins { revert(); } function runSigned(uint40, uint256 _parameter, address /*_buyer*/) external payable onlyPlugins { // first 160 bits - not working on TRON. Cast to address is used instead of it. //address seller = address(_parameter % 0x0010000000000000000000000000000000000000000); // next 40 bits (shift right by 160 bits) uint40 endTime = uint40(_parameter/0x0010000000000000000000000000000000000000000); // check if auction is ended require(now <= endTime); //uint128 fee = _computeFee(uint128(msg.value)); //uint256 sellerValue = msg.value - fee; uint256 sellerValue = 96*msg.value / 100; // take first 160 bits and use it as seller address address(_parameter).transfer(sellerValue); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[],"name":"onRemove","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_oldOwner","type":"address"}],"name":"removeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_coreAddress","type":"address"},{"name":"_pluginsContract","type":"address"},{"name":"_fee","type":"uint16"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_coreAddress","type":"address"},{"name":"_pluginsContract","type":"address"}],"name":"setup","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","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":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_addr","type":"address"}],"name":"isOperator","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"addOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_fee","type":"uint16"}],"name":"setFee","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":"_parameter","type":"uint256"},{"name":"","type":"address"}],"name":"runSigned","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"pluginsContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOperator","type":"address"}],"name":"addOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"_oldOperator","type":"address"}],"name":"removeOperator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ownerFee","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"coreContract","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"anonymous":false,"inputs":[{"indexed":false,"name":"from","type":"address"},{"indexed":false,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint128"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"}]
Contract Creation Code
608060409081526002805460ff19908116909155336000908152602081905291909120805490911660011790556109ab8061003b6000396000f3006080604052600436106101115763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663119523698114610116578063173825d91461012d5780632c5959f91461014e5780632d34ba791461017c5780632f54bf6e146101a35780633ccfd60b146101d85780633f4ba83a146101ed5780635c975abb146102025780636d70f7ae146102175780637065cb48146102385780638456cb59146102595780638e0055531461026e57806394a892331461028a5780639652713e1461029f578063976ef75b146102c05780639870d7fe146102f1578063a055d45514610312578063ac8a584a14610333578063d5b2a01a14610354578063e80db5db14610380575b600080fd5b34801561012257600080fd5b5061012b610395565b005b34801561013957600080fd5b5061012b600160a060020a03600435166103b6565b34801561015a57600080fd5b5061012b600160a060020a036004358116906024351661ffff604435166103f5565b34801561018857600080fd5b5061012b600160a060020a0360043581169060243516610471565b3480156101af57600080fd5b506101c4600160a060020a0360043516610576565b604080519115158252519081900360200190f35b3480156101e457600080fd5b5061012b610594565b3480156101f957600080fd5b5061012b6105c2565b34801561020e57600080fd5b506101c4610626565b34801561022357600080fd5b506101c4600160a060020a036004351661062f565b34801561024457600080fd5b5061012b600160a060020a0360043516610674565b34801561026557600080fd5b5061012b6106cb565b34801561027a57600080fd5b5061012b61ffff60043516610731565b34801561029657600080fd5b506101c46107a6565b61012b64ffffffffff60043516602435600160a060020a03604435166107ab565b3480156102cc57600080fd5b506102d561083c565b60408051600160a060020a039092168252519081900360200190f35b3480156102fd57600080fd5b5061012b600160a060020a036004351661084b565b61012b64ffffffffff60043516602435600160a060020a03604435166108a5565b34801561033f57600080fd5b5061012b600160a060020a03600435166108bc565b34801561036057600080fd5b506103696108fb565b6040805161ffff9092168252519081900360200190f35b34801561038c57600080fd5b506102d561091d565b600354600160a060020a031633146103ac57600080fd5b6103b4610931565b565b3360009081526020819052604090205460ff1615156103d457600080fd5b600160a060020a03166000908152602081905260409020805460ff19169055565b3360009081526020819052604090205460ff16151561041357600080fd5b61271061ffff8216111561042657600080fd5b6003805475ffff000000000000000000000000000000000000000019167401000000000000000000000000000000000000000061ffff84160217905561046c8383610471565b505050565b3360009081526020819052604081205460ff16151561048f57600080fd5b82905080600160a060020a0316634d6a813a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156104e957600080fd5b505af11580156104fd573d6000803e3d6000fd5b505050506040513d602081101561051357600080fd5b5051151561052057600080fd5b6002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a03938416021790556003805473ffffffffffffffffffffffffffffffffffffffff19169290911691909117905550565b600160a060020a031660009081526020819052604090205460ff1690565b61059d33610576565b806105b757506002546101009004600160a060020a031633145b15156103ac57600080fd5b3360009081526020819052604090205460ff1615156105e057600080fd5b60025460ff1615156105f157600080fd5b6002805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60025460ff1681565b600160a060020a03811660009081526001602052604081205460ff168061066e5750600160a060020a03821660009081526020819052604090205460ff165b92915050565b3360009081526020819052604090205460ff16151561069257600080fd5b600160a060020a03811615156106a757600080fd5b600160a060020a03166000908152602081905260409020805460ff19166001179055565b3360009081526020819052604090205460ff1615156106e957600080fd5b60025460ff16156106f957600080fd5b6002805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b3360009081526020819052604090205460ff16151561074f57600080fd5b61271061ffff8216111561076257600080fd5b6003805461ffff909216740100000000000000000000000000000000000000000275ffff000000000000000000000000000000000000000019909216919091179055565b600190565b6003546000908190600160a060020a031633146107c757600080fd5b740100000000000000000000000000000000000000008404915064ffffffffff82164211156107f557600080fd5b506040516064346060020490600160a060020a0385169082156108fc029083906000818181858888f19350505050158015610834573d6000803e3d6000fd5b505050505050565b600354600160a060020a031681565b3360009081526020819052604090205460ff16151561086957600080fd5b600160a060020a038116151561087e57600080fd5b600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b600354600160a060020a0316331461011157600080fd5b3360009081526020819052604090205460ff1615156108da57600080fd5b600160a060020a03166000908152600160205260409020805460ff19169055565b60035474010000000000000000000000000000000000000000900461ffff1681565b6002546101009004600160a060020a031681565b6000303111156103b457600254604051600160a060020a036101009092049190911690303180156108fc02916000818181858888f1935050505015801561097c573d6000803e3d6000fd5b505600a165627a7a72305820da81e23695d1801dd0ffcb80e425845791ea7a70aa5a05845dd0895825ac7b0b0029
Deployed Bytecode
0x6080604052600436106101115763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663119523698114610116578063173825d91461012d5780632c5959f91461014e5780632d34ba791461017c5780632f54bf6e146101a35780633ccfd60b146101d85780633f4ba83a146101ed5780635c975abb146102025780636d70f7ae146102175780637065cb48146102385780638456cb59146102595780638e0055531461026e57806394a892331461028a5780639652713e1461029f578063976ef75b146102c05780639870d7fe146102f1578063a055d45514610312578063ac8a584a14610333578063d5b2a01a14610354578063e80db5db14610380575b600080fd5b34801561012257600080fd5b5061012b610395565b005b34801561013957600080fd5b5061012b600160a060020a03600435166103b6565b34801561015a57600080fd5b5061012b600160a060020a036004358116906024351661ffff604435166103f5565b34801561018857600080fd5b5061012b600160a060020a0360043581169060243516610471565b3480156101af57600080fd5b506101c4600160a060020a0360043516610576565b604080519115158252519081900360200190f35b3480156101e457600080fd5b5061012b610594565b3480156101f957600080fd5b5061012b6105c2565b34801561020e57600080fd5b506101c4610626565b34801561022357600080fd5b506101c4600160a060020a036004351661062f565b34801561024457600080fd5b5061012b600160a060020a0360043516610674565b34801561026557600080fd5b5061012b6106cb565b34801561027a57600080fd5b5061012b61ffff60043516610731565b34801561029657600080fd5b506101c46107a6565b61012b64ffffffffff60043516602435600160a060020a03604435166107ab565b3480156102cc57600080fd5b506102d561083c565b60408051600160a060020a039092168252519081900360200190f35b3480156102fd57600080fd5b5061012b600160a060020a036004351661084b565b61012b64ffffffffff60043516602435600160a060020a03604435166108a5565b34801561033f57600080fd5b5061012b600160a060020a03600435166108bc565b34801561036057600080fd5b506103696108fb565b6040805161ffff9092168252519081900360200190f35b34801561038c57600080fd5b506102d561091d565b600354600160a060020a031633146103ac57600080fd5b6103b4610931565b565b3360009081526020819052604090205460ff1615156103d457600080fd5b600160a060020a03166000908152602081905260409020805460ff19169055565b3360009081526020819052604090205460ff16151561041357600080fd5b61271061ffff8216111561042657600080fd5b6003805475ffff000000000000000000000000000000000000000019167401000000000000000000000000000000000000000061ffff84160217905561046c8383610471565b505050565b3360009081526020819052604081205460ff16151561048f57600080fd5b82905080600160a060020a0316634d6a813a6040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b1580156104e957600080fd5b505af11580156104fd573d6000803e3d6000fd5b505050506040513d602081101561051357600080fd5b5051151561052057600080fd5b6002805474ffffffffffffffffffffffffffffffffffffffff001916610100600160a060020a03938416021790556003805473ffffffffffffffffffffffffffffffffffffffff19169290911691909117905550565b600160a060020a031660009081526020819052604090205460ff1690565b61059d33610576565b806105b757506002546101009004600160a060020a031633145b15156103ac57600080fd5b3360009081526020819052604090205460ff1615156105e057600080fd5b60025460ff1615156105f157600080fd5b6002805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60025460ff1681565b600160a060020a03811660009081526001602052604081205460ff168061066e5750600160a060020a03821660009081526020819052604090205460ff165b92915050565b3360009081526020819052604090205460ff16151561069257600080fd5b600160a060020a03811615156106a757600080fd5b600160a060020a03166000908152602081905260409020805460ff19166001179055565b3360009081526020819052604090205460ff1615156106e957600080fd5b60025460ff16156106f957600080fd5b6002805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b3360009081526020819052604090205460ff16151561074f57600080fd5b61271061ffff8216111561076257600080fd5b6003805461ffff909216740100000000000000000000000000000000000000000275ffff000000000000000000000000000000000000000019909216919091179055565b600190565b6003546000908190600160a060020a031633146107c757600080fd5b740100000000000000000000000000000000000000008404915064ffffffffff82164211156107f557600080fd5b506040516064346060020490600160a060020a0385169082156108fc029083906000818181858888f19350505050158015610834573d6000803e3d6000fd5b505050505050565b600354600160a060020a031681565b3360009081526020819052604090205460ff16151561086957600080fd5b600160a060020a038116151561087e57600080fd5b600160a060020a03166000908152600160208190526040909120805460ff19169091179055565b600354600160a060020a0316331461011157600080fd5b3360009081526020819052604090205460ff1615156108da57600080fd5b600160a060020a03166000908152600160205260409020805460ff19169055565b60035474010000000000000000000000000000000000000000900461ffff1681565b6002546101009004600160a060020a031681565b6000303111156103b457600254604051600160a060020a036101009092049190911690303180156108fc02916000818181858888f1935050505015801561097c573d6000803e3d6000fd5b505600a165627a7a72305820da81e23695d1801dd0ffcb80e425845791ea7a70aa5a05845dd0895825ac7b0b0029
Deployed Bytecode Sourcemap
14578:1098:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12451:74;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12451:74:0;;;;;;8027:109;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8027:109:0;-1:-1:-1;;;;;8027:109:0;;;;;13389:218;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13389:218:0;-1:-1:-1;;;;;13389:218:0;;;;;;;;;;;;;;10590:311;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10590:311:0;-1:-1:-1;;;;;10590:311:0;;;;;;;;;;7757:104;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7757:104:0;-1:-1:-1;;;;;7757:104:0;;;;;;;;;;;;;;;;;;;;;;;12083:179;;8:9:-1;5:2;;;30:1;27;20:12;5:2;12083:179:0;;;;9575:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9575:105:0;;;;8892:26;;8:9:-1;5:2;;;30:1;27;20:12;5:2;8892:26:0;;;;8238:133;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8238:133:0;-1:-1:-1;;;;;8238:133:0;;;;;7869:150;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7869:150:0;-1:-1:-1;;;;;7869:150:0;;;;;9377:103;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9377:103:0;;;;13697:122;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;13697:122:0;;;;;;;9836:91;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9836:91:0;;;;14860:813;;;;;;;;-1:-1:-1;;;;;14860:813:0;;;;;10033:30;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10033:30:0;;;;;;;;-1:-1:-1;;;;;10033:30:0;;;;;;;;;;;;;;8379:165;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8379:165:0;-1:-1:-1;;;;;8379:165:0;;;;;14692:160;;;;;;;;-1:-1:-1;;;;;14692:160:0;;;;;8552:121;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8552:121:0;-1:-1:-1;;;;;8552:121:0;;;;;13006:22;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13006:22:0;;;;;;;;;;;;;;;;;;;;;;;9988:38;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9988:38:0;;;;12451:74;10298:15;;-1:-1:-1;;;;;10298:15:0;10284:10;:29;10276:38;;;;;;12506:11;:9;:11::i;:::-;12451:74::o;8027:109::-;7717:10;7704:12;:24;;;;;;;;;;;;;7696:33;;;;;;;;-1:-1:-1;;;;;8104:23:0;:12;:23;;;;;;;;;;8097:31;;-1:-1:-1;;8097:31:0;;;8027:109::o;13389:218::-;7717:10;7704:12;:24;;;;;;;;;;;;;7696:33;;;;;;;;13511:5;13503:13;;;;;13495:22;;;;;;13528:8;:15;;-1:-1:-1;;13528:15:0;;;;;;;;;13556:43;13568:12;13582:16;13556:11;:43::i;:::-;13389:218;;;:::o;10590:311::-;7717:10;10681:36;7704:24;;;;;;;;;;;;;7696:33;;;;;;;;10739:12;10681:71;;10771:17;-1:-1:-1;;;;;10771:29:0;;:31;;;;;;;;;;;;;;;;;;;;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10771:31:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10771:31:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10771:31:0;10763:40;;;;;;;;10814:12;:32;;-1:-1:-1;;10814:32:0;;-1:-1:-1;;;;;10814:32:0;;;;;;;10859:15;:34;;-1:-1:-1;;10859:34:0;;;;;;;;;;;-1:-1:-1;10590:311:0:o;7757:104::-;-1:-1:-1;;;;;7834:19:0;7810:4;7834:19;;;;;;;;;;;;;;7757:104::o;12083:179::-;12150:19;12158:10;12150:7;:19::i;:::-;:71;;;-1:-1:-1;12208:12:0;;;;;-1:-1:-1;;;;;12208:12:0;12186:10;:35;12150:71;12128:104;;;;;;;9575:105;7717:10;7704:12;:24;;;;;;;;;;;;;7696:33;;;;;;;;9258:6;;;;9250:15;;;;;;;;9633:6;:14;;-1:-1:-1;;9633:14:0;;;9663:9;;;;9642:5;;9663:9;9575:105::o;8892:26::-;;;;;;:::o;8238:133::-;-1:-1:-1;;;;;8318:22:0;;8294:4;8318:22;;;:15;:22;;;;;;;;;:45;;-1:-1:-1;;;;;;8344:19:0;;:12;:19;;;;;;;;;;;;;8318:45;8311:52;8238:133;-1:-1:-1;;8238:133:0:o;7869:150::-;7717:10;7704:12;:24;;;;;;;;;;;;;7696:33;;;;;;;;-1:-1:-1;;;;;7944:23:0;;;;7936:32;;;;;;-1:-1:-1;;;;;7981:23:0;:12;:23;;;;;;;;;;:30;;-1:-1:-1;;7981:30:0;8007:4;7981:30;;;7869:150::o;9377:103::-;7717:10;7704:12;:24;;;;;;;;;;;;;7696:33;;;;;;;;9080:6;;;;9079:7;9071:16;;;;;;9436:6;:13;;-1:-1:-1;;9436:13:0;9445:4;9436:13;;;9465:7;;;;9436:6;;9465:7;9377:103::o;13697:122::-;7717:10;7704:12;:24;;;;;;;;;;;;;7696:33;;;;;;;;13777:5;13769:13;;;;;13761:22;;;;;;13796:8;:15;;;;;;;;-1:-1:-1;;13796:15:0;;;;;;;;;13697:122::o;9836:91::-;9915:4;9836:91;:::o;14860:813::-;10298:15;;15236:14;;;;-1:-1:-1;;;;;10298:15:0;10284:10;:29;10276:38;;;;;;15271:45;15260:10;:56;;-1:-1:-1;15374:14:0;;;:3;:14;;15366:23;;;;;;-1:-1:-1;15624:41:0;;15547:3;15535:9;15532:2;:12;:18;;-1:-1:-1;;;;;15624:28:0;;;:41;;;;;15532:18;;15624:41;;;;15532:18;15624:28;:41;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;15624:41:0;14860:813;;;;;:::o;10033:30::-;;;-1:-1:-1;;;;;10033:30:0;;:::o;8379:165::-;7717:10;7704:12;:24;;;;;;;;;;;;;7696:33;;;;;;;;-1:-1:-1;;;;;8460:26:0;;;;8452:35;;;;;;-1:-1:-1;;;;;8500:29:0;;;;;8532:4;8500:29;;;;;;;;:36;;-1:-1:-1;;8500:36:0;;;;;;8379:165::o;14692:160::-;10298:15;;-1:-1:-1;;;;;10298:15:0;10284:10;:29;10276:38;;;;;8552:121;7717:10;7704:12;:24;;;;;;;;;;;;;7696:33;;;;;;;;-1:-1:-1;;;;;8635:29:0;;;;;:15;:29;;;;;8628:37;;-1:-1:-1;;8628:37:0;;;8552:121::o;13006:22::-;;;;;;;;;:::o;9988:38::-;;;;;;-1:-1:-1;;;;;9988:38:0;;:::o;12270:173::-;12344:1;12328:4;12320:21;:25;12316:120;;;12379:12;;12371:53;;-1:-1:-1;;;;;12379:12:0;;;;;;;;;12410:4;12402:21;12371:53;;;;;;;;;12402:21;12379:12;12371:53;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;12371:53:0;12270:173::o
Swarm Source
bzzr://da81e23695d1801dd0ffcb80e425845791ea7a70aa5a05845dd0895825ac7b0b
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | Ether (ETH) | 100.00% | $3,351.81 | 0.0324 | $108.56 |
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.