ETH Price: $3,539.15 (-0.97%)
Gas: 29 Gwei

Contract

0x5B6660ca047Cc351BFEdCA4Fc864d0A88F551485
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Value
Approve175712832023-06-27 14:28:59275 days ago1687876139IN
0x5B6660ca...88F551485
0 ETH0.000505917.50777879
Approve172823902023-05-17 22:47:35316 days ago1684363655IN
0x5B6660ca...88F551485
0 ETH0.0016825853.08500459
Approve161124612022-12-04 15:52:59480 days ago1670169179IN
0x5B6660ca...88F551485
0 ETH0.0004209613.25133689
Approve151427912022-07-14 19:48:45623 days ago1657828125IN
0x5B6660ca...88F551485
0 ETH0.0010927634.38529674
Approve145276102022-04-05 18:40:56723 days ago1649184056IN
0x5B6660ca...88F551485
0 ETH0.0017401854.75716398
Approve142089462022-02-15 5:48:50773 days ago1644904130IN
0x5B6660ca...88F551485
0 ETH0.0023088747.21616244
Approve142038482022-02-14 10:48:10774 days ago1644835690IN
0x5B6660ca...88F551485
0 ETH0.001212238.14354641
Approve142038032022-02-14 10:37:11774 days ago1644835031IN
0x5B6660ca...88F551485
0 ETH0.0017582335.95576881
Approve141329192022-02-03 12:06:48785 days ago1643890008IN
0x5B6660ca...88F551485
0 ETH0.002157967.90146099
Approve141249812022-02-02 6:22:10786 days ago1643782930IN
0x5B6660ca...88F551485
0 ETH0.0029712393.49399856
Approve140615312022-01-23 11:16:31796 days ago1642936591IN
0x5B6660ca...88F551485
0 ETH0.0046581595.2588613
Approve140264372022-01-18 0:54:05801 days ago1642467245IN
0x5B6660ca...88F551485
0 ETH0.00556735113.87982975
Approve140190702022-01-16 21:45:47802 days ago1642369547IN
0x5B6660ca...88F551485
0 ETH0.00857361175.32951158
Approve140124462022-01-15 21:16:00803 days ago1642281360IN
0x5B6660ca...88F551485
0 ETH0.00313532108.18931183
Approve138717302021-12-25 2:46:05825 days ago1640400365IN
0x5B6660ca...88F551485
0 ETH0.0013405642.18255848
Approve138130372021-12-16 0:40:01834 days ago1639615201IN
0x5B6660ca...88F551485
0 ETH0.00308491106.44991933
Approve135317372021-11-01 14:39:23878 days ago1635777563IN
0x5B6660ca...88F551485
0 ETH0.00633521218.60645538
Approve134280352021-10-16 8:47:57895 days ago1634374077IN
0x5B6660ca...88F551485
0 ETH0.0024384184.14127869
Approve134104702021-10-13 14:18:34897 days ago1634134714IN
0x5B6660ca...88F551485
0 ETH0.00316365109.16680584
Approve133920022021-10-10 16:32:02900 days ago1633883522IN
0x5B6660ca...88F551485
0 ETH0.0032816767.12639055
Approve133527162021-10-04 12:58:03907 days ago1633352283IN
0x5B6660ca...88F551485
0 ETH0.0039192380.14794659
Approve133526982021-10-04 12:51:56907 days ago1633351916IN
0x5B6660ca...88F551485
0 ETH0.0027995857.25117595
Approve133424392021-10-02 21:58:40908 days ago1633211920IN
0x5B6660ca...88F551485
0 ETH0.0028951559.20568966
Approve133422522021-10-02 21:18:38908 days ago1633209518IN
0x5B6660ca...88F551485
0 ETH0.0031263363.9332817
Approve133089712021-09-27 16:45:23913 days ago1632761123IN
0x5B6660ca...88F551485
0 ETH0.0031124107.39839621
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Jingle

Compiler Version
v0.4.19+commit.c4cbbb05

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-02-18
*/

pragma solidity ^0.4.18;

contract Ownable {
  address public owner;

  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

  function Ownable() public {
    owner = msg.sender;
  }

  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

contract ERC721 {
    function implementsERC721() public pure returns (bool);
    function totalSupply() public view returns (uint256 total);
    function balanceOf(address _owner) public view returns (uint256 balance);
    function ownerOf(uint256 _tokenId) public view returns (address owner);
    function approve(address _to, uint256 _tokenId) public;
    function transferFrom(address _from, address _to, uint256 _tokenId) public;
    function transfer(address _to, uint256 _tokenId) public;
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
}

contract SampleStorage is Ownable {
    
    struct Sample {
        string ipfsHash;
        uint rarity;
    }
    
    mapping (uint32 => Sample) public sampleTypes;
    
    uint32 public numOfSampleTypes;
    
    uint32 public numOfCommon;
    uint32 public numOfRare;
    uint32 public numOfLegendary;

    // The mythical sample is a type common that appears only once in a 1000
    function addNewSampleType(string _ipfsHash, uint _rarityType) public onlyOwner {
        
        if (_rarityType == 0) {
            numOfCommon++;
        } else if (_rarityType == 1) {
            numOfRare++;
        } else if(_rarityType == 2) {
            numOfLegendary++;
        } else if(_rarityType == 3) {
            numOfCommon++;
        }
        
        sampleTypes[numOfSampleTypes] = Sample({
           ipfsHash: _ipfsHash,
           rarity: _rarityType
        });
        
        numOfSampleTypes++;
    }
    
    function getType(uint _randomNum) public view returns (uint32) {
        uint32 range = 0;
        
        if (_randomNum > 0 && _randomNum < 600) {
            range = 600 / numOfCommon;
            return uint32(_randomNum) / range;
            
        } else if(_randomNum >= 600 && _randomNum < 900) {
            range = 300 / numOfRare;
            return uint32(_randomNum) / range;
        } else {
            range = 100 / numOfLegendary;
            return uint32(_randomNum) / range;
        }
    }
    
}

contract Jingle is Ownable, ERC721 {
    
    struct MetaInfo {
        string name;
        string author;
    }
    
    mapping (uint => address) internal tokensForOwner;
    mapping (uint => address) internal tokensForApproved;
    mapping (address => uint[]) internal tokensOwned;
    mapping (uint => uint) internal tokenPosInArr;
    
    mapping(uint => uint[]) internal samplesInJingle;
    mapping(uint => MetaInfo) public jinglesInfo;
    
    mapping(bytes32 => bool) public uniqueJingles;
    
    mapping(uint => uint8[]) public soundEffects;
    mapping(uint => uint8[20]) public settings;
    
    uint public numOfJingles;
    
    address public cryptoJingles;
    Marketplace public marketplaceContract;
    
    event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);
    event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);
    event EffectAdded(uint indexed jingleId, uint8[] effectParams);
    event Composed(uint indexed jingleId, address indexed owner, uint32[5] samples, uint32[5] jingleTypes,
            string name, string author, uint8[20] settings);
    
    modifier onlyCryptoJingles() {
        require(msg.sender == cryptoJingles);
        _;
    }
    
    function transfer(address _to, uint256 _jingleId) public {
        require(tokensForOwner[_jingleId] != 0x0);
        require(tokensForOwner[_jingleId] == msg.sender);
        
        tokensForApproved[_jingleId] = 0x0;
        
        removeJingle(msg.sender, _jingleId);
        addJingle(_to, _jingleId);
        
        Approval(msg.sender, 0, _jingleId);
        Transfer(msg.sender, _to, _jingleId);
    }
    
    
    function approve(address _to, uint256 _jingleId) public {
        require(tokensForOwner[_jingleId] != 0x0);
        require(ownerOf(_jingleId) == msg.sender);
        require(_to != msg.sender);
        
        if (_getApproved(_jingleId) != 0x0 || _to != 0x0) {
            tokensForApproved[_jingleId] = _to;
            Approval(msg.sender, _to, _jingleId);
        }
    }
    
    function transferFrom(address _from, address _to, uint256 _jingleId) public {
        require(tokensForOwner[_jingleId] != 0x0);
        require(_getApproved(_jingleId) == msg.sender);
        require(ownerOf(_jingleId) == _from);
        require(_to != 0x0);
        
        tokensForApproved[_jingleId] = 0x0;
        
        removeJingle(_from, _jingleId);
        addJingle(_to, _jingleId);
        
        Approval(_from, 0, _jingleId);
        Transfer(_from, _to, _jingleId);
        
    }
    
    function approveAndSell(uint _jingleId, uint _amount) public {
        approve(address(marketplaceContract), _jingleId);
        
        marketplaceContract.sell(msg.sender, _jingleId, _amount);
    }
    
    function composeJingle(address _owner, uint32[5] jingles, 
    uint32[5] jingleTypes, string name, string author, uint8[20] _settings) public onlyCryptoJingles {
        
        uint _jingleId = numOfJingles;
        
        uniqueJingles[keccak256(jingles)] = true;
        
        tokensForOwner[_jingleId] = _owner;
        
        tokensOwned[_owner].push(_jingleId);
        
        samplesInJingle[_jingleId] = jingles;
        settings[_jingleId] = _settings;
        
        tokenPosInArr[_jingleId] = tokensOwned[_owner].length - 1;
        
        if (bytes(author).length == 0) {
            author = "Soundtoshi Nakajingles";
        }
        
        jinglesInfo[numOfJingles] = MetaInfo({
            name: name,
            author: author
        });
        
        Composed(numOfJingles, _owner, jingles, jingleTypes, 
        name, author, _settings);
        
        numOfJingles++;
    }
    
    function addSoundEffect(uint _jingleId, uint8[] _effectParams) external {
        require(msg.sender == ownerOf(_jingleId));
        
        soundEffects[_jingleId] = _effectParams;
        
        EffectAdded(_jingleId, _effectParams);
    }
    
    function implementsERC721() public pure returns (bool) {
        return true;
    }
    
    function totalSupply() public view returns (uint256) {
        return numOfJingles;
    }
    
    function balanceOf(address _owner) public view returns (uint256 balance) {
        return tokensOwned[_owner].length;
    }
    
    function ownerOf(uint256 _jingleId) public view returns (address) {
        return tokensForOwner[_jingleId];
    }
    
    function tokenOfOwnerByIndex(address _owner, uint256 _index) external view returns (uint256) {
        return tokensOwned[_owner][_index];
    }
    
    function getSamplesForJingle(uint _jingleId) external view returns(uint[]) {
        return samplesInJingle[_jingleId];
    }
    
    function getAllJingles(address _owner) external view returns(uint[]) {
        return tokensOwned[_owner];
    }
    
    function getMetaInfo(uint _jingleId) external view returns(string, string) {
        return (jinglesInfo[_jingleId].name, jinglesInfo[_jingleId].author);
    }
    
    function _getApproved(uint _jingleId) internal view returns (address) {
        return tokensForApproved[_jingleId];
    }
    
     // Internal functions of the contract
    
    function addJingle(address _owner, uint _jingleId) internal {
        tokensForOwner[_jingleId] = _owner;
        
        tokensOwned[_owner].push(_jingleId);
        
        tokenPosInArr[_jingleId] = tokensOwned[_owner].length - 1;
    }
    
    // find who owns that jingle and at what position is it in the owners arr 
    // Swap that token with the last one in arr and delete the end of arr
    function removeJingle(address _owner, uint _jingleId) internal {
        uint length = tokensOwned[_owner].length;
        uint index = tokenPosInArr[_jingleId];
        uint swapToken = tokensOwned[_owner][length - 1];

        tokensOwned[_owner][index] = swapToken;
        tokenPosInArr[swapToken] = index;

        delete tokensOwned[_owner][length - 1];
        tokensOwned[_owner].length--;
    }
    
    // Owner functions 
    function setCryptoJinglesContract(address _cryptoJingles) public onlyOwner {
        require(cryptoJingles == 0x0);
        
        cryptoJingles = _cryptoJingles;
    }
    
    function setMarketplaceContract(address _marketplace) public onlyOwner {
        require(address(marketplaceContract) == 0x0);
        
        marketplaceContract = Marketplace(_marketplace);
    }
}

contract Sample is Ownable {
    
    mapping (uint => address) internal tokensForOwner;
    mapping (address => uint[]) internal tokensOwned;
    mapping (uint => uint) internal tokenPosInArr;
    
    mapping (uint => uint32) public tokenType;
    
    uint public numOfSamples;
    
    address public cryptoJingles;
    address public sampleRegistry;


    SampleStorage public sampleStorage;
    
    event Mint(address indexed _to, uint256 indexed _tokenId);
    
    modifier onlyCryptoJingles() {
        require(msg.sender == cryptoJingles);
        _;
    }
    
    function Sample(address _sampleStorage) public {
        sampleStorage = SampleStorage(_sampleStorage);
    }
    
    function mint(address _owner, uint _randomNum) public onlyCryptoJingles {
        
        uint32 sampleType = sampleStorage.getType(_randomNum);
        
        addSample(_owner, sampleType, numOfSamples);
        
        Mint(_owner, numOfSamples);
        
        numOfSamples++;
    }
    
    function mintForSampleRegitry(address _owner, uint32 _type) public {
        require(msg.sender == sampleRegistry);
        
        addSample(_owner, _type, numOfSamples);
        
        Mint(_owner, numOfSamples);
        
        numOfSamples++;
    }
    
    function removeSample(address _owner, uint _sampleId) public onlyCryptoJingles {
        uint length = tokensOwned[_owner].length;
        uint index = tokenPosInArr[_sampleId];
        uint swapToken = tokensOwned[_owner][length - 1];

        tokensOwned[_owner][index] = swapToken;
        tokenPosInArr[swapToken] = index;

        delete tokensOwned[_owner][length - 1];
        tokensOwned[_owner].length--;
        
        tokensForOwner[_sampleId] = 0x0;
        
    }
    
    function getSamplesForOwner(address _owner) public constant returns (uint[]) {
        return tokensOwned[_owner];
    }
    
    function getTokenType(uint _sampleId) public constant returns (uint) {
        return tokenType[_sampleId];
    }
    
    function isTokenOwner(uint _tokenId, address _user) public constant returns(bool) {
        return tokensForOwner[_tokenId] == _user;
    }
    
    function getAllSamplesForOwner(address _owner) public constant returns(uint[]) {
        uint[] memory samples = tokensOwned[_owner];
        
        uint[] memory usersSamples = new uint[](samples.length * 2);
        
        uint j = 0;
        
        for(uint i = 0; i < samples.length; ++i) {
            usersSamples[j] = samples[i];
            usersSamples[j + 1] = tokenType[samples[i]];
            j += 2;
        }
        
        return usersSamples;
    }
    
    // Internal functions of the contract
    
    function addSample(address _owner, uint32 _sampleType, uint _sampleId) internal {
        tokensForOwner[_sampleId] = _owner;
        
        tokensOwned[_owner].push(_sampleId);
        
        tokenType[_sampleId] = _sampleType;
        
        tokenPosInArr[_sampleId] = tokensOwned[_owner].length - 1;
    }
    
     // Owner functions 
    // Set the crypto jingles contract can 
    function setCryptoJinglesContract(address _cryptoJingles) public onlyOwner {
        require(cryptoJingles == 0x0);
        
        cryptoJingles = _cryptoJingles;
    }
    
    function setSampleRegistry(address _sampleRegistry) public onlyOwner {
        sampleRegistry = _sampleRegistry;
    }
}

contract CryptoJingles is Ownable {
    
    struct Purchase {
        address user;
        uint blockNumber;
        bool revealed;
        uint numSamples;
        bool exists;
    }
    
    event Purchased(address indexed user, uint blockNumber, uint numJingles, uint numOfPurchases);
    event JinglesOpened(address byWhom, address jingleOwner, uint currBlockNumber);
    
    mapping (uint => bool) public isAlreadyUsed;
    
    mapping(address => string) public authors;

    uint numOfPurchases;
    
    uint MAX_SAMPLES_PER_PURCHASE = 15;
    uint SAMPLE_PRICE = 10 ** 15;
    uint SAMPLES_PER_JINGLE = 5;
    uint NUM_SAMPLE_RANGE = 1000;
    
    Sample public sampleContract;
    Jingle public jingleContract;
    
    function CryptoJingles(address _sample, address _jingle) public {
        numOfPurchases = 0;
        sampleContract = Sample(_sample);
        jingleContract = Jingle(_jingle);
    }
    
    function buySamples(uint _numSamples, address _to) public payable {
        require(_numSamples <= MAX_SAMPLES_PER_PURCHASE);
        require(msg.value >= (SAMPLE_PRICE * _numSamples));
        require(_to != 0x0);
        
         for (uint i = 0; i < _numSamples; ++i) {
            
            bytes32 blockHash = block.blockhash(block.number - 1);
            
            uint randomNum = randomGen(blockHash, i);
            sampleContract.mint(_to, randomNum);
        }
        
        Purchased(_to, block.number, _numSamples, numOfPurchases);
        
        numOfPurchases++;
    }
    
    function composeJingle(string name, uint32[5] samples, uint8[20] settings) public {
        require(jingleContract.uniqueJingles(keccak256(samples)) == false);
        
        uint32[5] memory sampleTypes;
        
        //check if you own all the 5 samples 
        for (uint i = 0; i < SAMPLES_PER_JINGLE; ++i) {
            bool isOwner = sampleContract.isTokenOwner(samples[i], msg.sender);
            
            require(isOwner == true && isAlreadyUsed[samples[i]] == false);
            
            isAlreadyUsed[samples[i]] = true;
            
            sampleTypes[i] = sampleContract.tokenType(samples[i]);
            sampleContract.removeSample(msg.sender, samples[i]);
        }
        
        //create a new jingle containing those 5 samples
        jingleContract.composeJingle(msg.sender, samples, sampleTypes, name,
                            authors[msg.sender], settings);
    }
    
    // Addresses can set their name when composing jingles
    function setAuthorName(string _name) public {
        authors[msg.sender] = _name;
    }
    
    function randomGen(bytes32 blockHash, uint seed) constant public returns (uint randomNumber) {
        return (uint(keccak256(blockHash, block.timestamp, numOfPurchases, seed )) % NUM_SAMPLE_RANGE);
    }
    
    // The only ether kept on this contract are owner money for samples
    function withdraw(uint _amount) public onlyOwner {
        require(_amount <= this.balance);
        
        msg.sender.transfer(_amount);
    }
    
}

contract Marketplace is Ownable {
    
    modifier onlyJingle() {
        require(msg.sender == address(jingleContract));
        _;
    }
    
    struct Order {
        uint price;
        address seller;
        uint timestamp;
        bool exists;
    }
    
    event SellOrder(address owner, uint jingleId, uint price);
    event Bought(uint jingleId, address buyer, uint price);
    event Canceled(address owner, uint jingleId);
    
    uint public numOrders;
    uint public ownerBalance;
    
    uint OWNERS_CUT = 3; // 3 percent of every sale goes to owner
    
    mapping (uint => Order) public sellOrders;
    mapping(uint => uint) public positionOfJingle;
    
    uint[] public jinglesOnSale;
    
    Jingle public jingleContract;
    
    function Marketplace(address _jingle) public {
        jingleContract = Jingle(_jingle);
        ownerBalance = 0;
    }

    function sell(address _owner, uint _jingleId, uint _amount) public onlyJingle {
        require(_amount > 100);
        require(sellOrders[_jingleId].exists == false);
        
        sellOrders[_jingleId] = Order({
           price: _amount,
           seller: _owner,
           timestamp: now,
           exists: true
        });
        
        numOrders++;
        
        // set for iterating
        jinglesOnSale.push(_jingleId);
        positionOfJingle[_jingleId] = jinglesOnSale.length - 1;
        
        //transfer ownership 
        jingleContract.transferFrom(_owner, this, _jingleId);
        
        //Fire an sell event
        SellOrder(_owner, _jingleId, _amount);
    }
    
    function buy(uint _jingleId) public payable {
        require(sellOrders[_jingleId].exists == true);
        require(msg.value >= sellOrders[_jingleId].price);
        
        sellOrders[_jingleId].exists = false;
        
        numOrders--;
        
        //delete stuff for iterating 
        removeOrder(_jingleId);
        
        //transfer ownership 
        jingleContract.transfer(msg.sender, _jingleId);
        
        // transfer money to seller
        uint price = sellOrders[_jingleId].price;
        
        uint threePercent = (price / 100) * OWNERS_CUT;
        
        sellOrders[_jingleId].seller.transfer(price - threePercent);
        
        ownerBalance += threePercent;
        
        //fire and event
        Bought(_jingleId, msg.sender, msg.value);
    }
    
    function cancel(uint _jingleId) public {
        require(sellOrders[_jingleId].exists == true);
        require(sellOrders[_jingleId].seller == msg.sender);
        
        sellOrders[_jingleId].exists = false;
        
        numOrders--;
        
        //delete stuff for iterating 
        removeOrder(_jingleId);
        
        jingleContract.transfer(msg.sender, _jingleId);
        
        //fire and event
        Canceled(msg.sender, _jingleId);
    }
    
    function removeOrder(uint _jingleId) internal {
        uint length = jinglesOnSale.length;
        uint index = positionOfJingle[_jingleId];
        uint lastOne = jinglesOnSale[length - 1];

        jinglesOnSale[index] = lastOne;
        positionOfJingle[lastOne] = index;

        delete jinglesOnSale[length - 1];
        jinglesOnSale.length--;
    }
    
    function getAllJinglesOnSale() public view returns(uint[]) {
        return jinglesOnSale;
    }
    
    //Owners functions 
    function withdraw(uint _amount) public onlyOwner {
        require(_amount <= ownerBalance);
        
        msg.sender.transfer(_amount);
    }
    
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"settings","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_jingleId","type":"uint256"}],"name":"getSamplesForJingle","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_jingleId","type":"uint256"}],"name":"approve","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"implementsERC721","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":false,"inputs":[{"name":"_marketplace","type":"address"}],"name":"setMarketplaceContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"numOfJingles","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_jingleId","type":"uint256"}],"name":"transferFrom","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"cryptoJingles","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_index","type":"uint256"}],"name":"tokenOfOwnerByIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"name":"soundEffects","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"getAllJingles","outputs":[{"name":"","type":"uint256[]"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_jingleId","type":"uint256"}],"name":"ownerOf","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_jingleId","type":"uint256"},{"name":"_amount","type":"uint256"}],"name":"approveAndSell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_jingleId","type":"uint256"}],"name":"getMetaInfo","outputs":[{"name":"","type":"string"},{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_to","type":"address"},{"name":"_jingleId","type":"uint256"}],"name":"transfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_jingleId","type":"uint256"},{"name":"_effectParams","type":"uint8[]"}],"name":"addSoundEffect","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"jinglesInfo","outputs":[{"name":"name","type":"string"},{"name":"author","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_cryptoJingles","type":"address"}],"name":"setCryptoJinglesContract","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_owner","type":"address"},{"name":"jingles","type":"uint32[5]"},{"name":"jingleTypes","type":"uint32[5]"},{"name":"name","type":"string"},{"name":"author","type":"string"},{"name":"_settings","type":"uint8[20]"}],"name":"composeJingle","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"uniqueJingles","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"marketplaceContract","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"approved","type":"address"},{"indexed":true,"name":"tokenId","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"jingleId","type":"uint256"},{"indexed":false,"name":"effectParams","type":"uint8[]"}],"name":"EffectAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"jingleId","type":"uint256"},{"indexed":true,"name":"owner","type":"address"},{"indexed":false,"name":"samples","type":"uint32[5]"},{"indexed":false,"name":"jingleTypes","type":"uint32[5]"},{"indexed":false,"name":"name","type":"string"},{"indexed":false,"name":"author","type":"string"},{"indexed":false,"name":"settings","type":"uint8[20]"}],"name":"Composed","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

6060604052336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550612584806100536000396000f300606060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301fe45e11461014e578063085bcb3414610194578063095ea7b31461020c5780631051db341461024e5780631102610e1461027b57806318160ddd146102b4578063210ab6af146102dd57806323b872dd146103065780632535b150146103675780632f745c59146103bc57806342e296d31461041257806349ee2ae1146104585780636352211e146104e65780636f2feb0a1461054957806370a082311461057557806378533046146105c25780638da5cb5b146106ca578063a9059cbb1461071f578063b1aac62914610761578063b78e4bfd14610798578063ba1803c1146108da578063bea40bad14610913578063cfac228014610a57578063d1bb5cf114610a96578063f2fde38b14610aeb575b600080fd5b341561015957600080fd5b6101786004808035906020019091908035906020019091905050610b24565b604051808260ff1660ff16815260200191505060405180910390f35b341561019f57600080fd5b6101b56004808035906020019091905050610b5c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101f85780820151818401526020810190506101dd565b505050509050019250505060405180910390f35b341561021757600080fd5b61024c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bcd565b005b341561025957600080fd5b610261610d9f565b604051808215151515815260200191505060405180910390f35b341561028657600080fd5b6102b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610da8565b005b34156102bf57600080fd5b6102c7610e8e565b6040518082815260200191505060405180910390f35b34156102e857600080fd5b6102f0610e98565b6040518082815260200191505060405180910390f35b341561031157600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e9e565b005b341561037257600080fd5b61037a6110ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103c757600080fd5b6103fc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110d4565b6040518082815260200191505060405180910390f35b341561041d57600080fd5b61043c6004808035906020019091908035906020019091905050611136565b604051808260ff1660ff16815260200191505060405180910390f35b341561046357600080fd5b61048f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611178565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104d25780820151818401526020810190506104b7565b505050509050019250505060405180910390f35b34156104f157600080fd5b6105076004808035906020019091905050611215565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055457600080fd5b6105736004808035906020019091908035906020019091905050611252565b005b341561058057600080fd5b6105ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611362565b6040518082815260200191505060405180910390f35b34156105cd57600080fd5b6105e360048080359060200190919050506113ae565b604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561062757808201518184015260208101905061060c565b50505050905090810190601f1680156106545780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561068d578082015181840152602081019050610672565b50505050905090810190601f1680156106ba5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34156106d557600080fd5b6106dd61152b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561072a57600080fd5b61075f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611550565b005b341561076c57600080fd5b61079660048080359060200190919080359060200190820180359060200191909192905050611722565b005b34156107a357600080fd5b6107b960048080359060200190919050506117e1565b6040518080602001806020018381038352858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156108465780601f1061081b57610100808354040283529160200191610846565b820191906000526020600020905b81548152906001019060200180831161082957829003601f168201915b50508381038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156108c95780601f1061089e576101008083540402835291602001916108c9565b820191906000526020600020905b8154815290600101906020018083116108ac57829003601f168201915b505094505050505060405180910390f35b34156108e557600080fd5b610911600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611803565b005b341561091e57600080fd5b610a55600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060a001906005806020026040519081016040528092919082600560200280828437820191505050505091908060a00190600580602002604051908101604052809291908260056020028082843782019150505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080610280019060148060200260405190810160405280929190826014602002808284378201915050505050919050506118e9565b005b3415610a6257600080fd5b610a7c600480803560001916906020019091905050611d90565b604051808215151515815260200191505060405180910390f35b3415610aa157600080fd5b610aa9611db0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610af657600080fd5b610b22600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611dd6565b005b600960205281600052604060002081601481101515610b3f57fe5b60209182820401919006915091509054906101000a900460ff1681565b610b6461226a565b60056000838152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610bc157602002820191906000526020600020905b815481526020019060010190808311610bad575b50505050509050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610c2657600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16610c4682611215565b73ffffffffffffffffffffffffffffffffffffffff16141515610c6857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610ca357600080fd5b6000610cae82611f2b565b73ffffffffffffffffffffffffffffffffffffffff16141580610ce8575060008273ffffffffffffffffffffffffffffffffffffffff1614155b15610d9b57816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b60006001905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e0357600080fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e4a57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600a54905090565b600a5481565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610ef757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16610f1782611f2b565b73ffffffffffffffffffffffffffffffffffffffff16141515610f3957600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16610f5982611215565b73ffffffffffffffffffffffffffffffffffffffff16141515610f7b57600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff1614151515610fa157600080fd5b60006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ffe8382611f68565b6110088282612151565b8060008473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561112257fe5b906000526020600020900154905092915050565b60086020528160005260406000208181548110151561115157fe5b9060005260206000209060209182820401919006915091509054906101000a900460ff1681565b61118061226a565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561120957602002820191906000526020600020905b8154815260200190600101908083116111f5575b50505050509050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61127e600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610bcd565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a2724623384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050600060405180830381600087803b151561134a57600080fd5b6102c65a03f1151561135b57600080fd5b5050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b6113b661227e565b6113be61227e565b6006600084815260200190815260200160002060000160066000858152602001908152602001600020600101818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561147f5780601f106114545761010080835404028352916020019161147f565b820191906000526020600020905b81548152906001019060200180831161146257829003601f168201915b50505050509150808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561151b5780601f106114f05761010080835404028352916020019161151b565b820191906000526020600020905b8154815290600101906020018083116114fe57829003601f168201915b5050505050905091509150915091565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156115a957600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561161657600080fd5b60006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506116733382611f68565b61167d8282612151565b8060003373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4808273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b61172b83611215565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561176457600080fd5b8181600860008681526020019081526020016000209190611786929190612292565b50827f502e3b46aad530247f3dd21f612065d4b18ab1cfb1937f7ea71c899c469dd3088383604051808060200182810382528484828181526020019250602002808284378201915050935050505060405180910390a2505050565b6006602052806000526040600020600091509050806000019080600101905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561185e57600080fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156118a557600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561194757600080fd5b600a549050600160076000886040518082600560200280838360005b8381101561197e578082015181840152602081019050611963565b5050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550866001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611a60919061233c565b9160005260206000209001600083909190915055508560056000838152602001908152602001600020906005611a97929190612368565b508160096000838152602001908152602001600020906014611aba9291906123bd565b506001600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050036004600083815260200190815260200160002081905550600083511415611b5b576040805190810160405280601681526020017f536f756e64746f736869204e616b616a696e676c65730000000000000000000081525092505b60408051908101604052808581526020018481525060066000600a5481526020019081526020016000206000820151816000019080519060200190611ba1929190612457565b506020820151816001019080519060200190611bbe929190612457565b509050508673ffffffffffffffffffffffffffffffffffffffff16600a547f41266ae823e673e05c8eeaa4f6547cae3e46bb3aca61f70f82f8c374a567911a88888888886040518086600560200280838360005b83811015611c2d578082015181840152602081019050611c12565b5050505090500185600560200280838360005b83811015611c5b578082015181840152602081019050611c40565b50505050905001806020018060200184601460200280838360005b83811015611c91578082015181840152602081019050611c76565b50505050905001838103835286818151815260200191508051906020019080838360005b83811015611cd0578082015181840152602081019050611cb5565b50505050905090810190601f168015611cfd5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015611d36578082015181840152602081019050611d1b565b50505050905090810190601f168015611d635780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a3600a6000815480929190600101919050555050505050505050565b60076020528060005260406000206000915054906101000a900460ff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e3157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e6d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000806000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050925060046000858152602001908152602001600020549150600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001840381548110151561201757fe5b906000526020600020900154905080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561207257fe5b906000526020600020900181905550816004600083815260200190815260200160002081905550600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600184038154811015156120e857fe5b906000526020600020900160009055600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548091906001900361214991906124d7565b505050505050565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816121f4919061233c565b9160005260206000209001600083909190915055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490500360046000838152602001908152602001600020819055505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b82805482825590600052602060002090601f0160209004810192821561232b5791602002820160005b838211156122fc57833560ff1683826101000a81548160ff021916908360ff16021790555092602001926001016020816000010492830192600103026122bb565b80156123295782816101000a81549060ff02191690556001016020816000010492830192600103026122fc565b505b5090506123389190612503565b5090565b815481835581811511612363578183600052602060002091820191016123629190612533565b5b505050565b8280548282559060005260206000209081019282156123ac579160200282015b828111156123ab578251829063ffffffff16905591602001919060010190612388565b5b5090506123b99190612533565b5090565b826014601f016020900481019282156124465791602002820160005b8382111561241757835183826101000a81548160ff021916908360ff16021790555092602001926001016020816000010492830192600103026123d9565b80156124445782816101000a81549060ff0219169055600101602081600001049283019260010302612417565b505b5090506124539190612503565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061249857805160ff19168380011785556124c6565b828001600101855582156124c6579182015b828111156124c55782518255916020019190600101906124aa565b5b5090506124d39190612533565b5090565b8154818355818115116124fe578183600052602060002091820191016124fd9190612533565b5b505050565b61253091905b8082111561252c57600081816101000a81549060ff021916905550600101612509565b5090565b90565b61255591905b80821115612551576000816000905550600101612539565b5090565b905600a165627a7a72305820bc09aa234b6968a7b9aaec9dc5594ac3fb51a626c8a2d04d71baf7aa0345e6170029

Deployed Bytecode

0x606060405260043610610149576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806301fe45e11461014e578063085bcb3414610194578063095ea7b31461020c5780631051db341461024e5780631102610e1461027b57806318160ddd146102b4578063210ab6af146102dd57806323b872dd146103065780632535b150146103675780632f745c59146103bc57806342e296d31461041257806349ee2ae1146104585780636352211e146104e65780636f2feb0a1461054957806370a082311461057557806378533046146105c25780638da5cb5b146106ca578063a9059cbb1461071f578063b1aac62914610761578063b78e4bfd14610798578063ba1803c1146108da578063bea40bad14610913578063cfac228014610a57578063d1bb5cf114610a96578063f2fde38b14610aeb575b600080fd5b341561015957600080fd5b6101786004808035906020019091908035906020019091905050610b24565b604051808260ff1660ff16815260200191505060405180910390f35b341561019f57600080fd5b6101b56004808035906020019091905050610b5c565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156101f85780820151818401526020810190506101dd565b505050509050019250505060405180910390f35b341561021757600080fd5b61024c600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610bcd565b005b341561025957600080fd5b610261610d9f565b604051808215151515815260200191505060405180910390f35b341561028657600080fd5b6102b2600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610da8565b005b34156102bf57600080fd5b6102c7610e8e565b6040518082815260200191505060405180910390f35b34156102e857600080fd5b6102f0610e98565b6040518082815260200191505060405180910390f35b341561031157600080fd5b610365600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050610e9e565b005b341561037257600080fd5b61037a6110ae565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156103c757600080fd5b6103fc600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919080359060200190919050506110d4565b6040518082815260200191505060405180910390f35b341561041d57600080fd5b61043c6004808035906020019091908035906020019091905050611136565b604051808260ff1660ff16815260200191505060405180910390f35b341561046357600080fd5b61048f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611178565b6040518080602001828103825283818151815260200191508051906020019060200280838360005b838110156104d25780820151818401526020810190506104b7565b505050509050019250505060405180910390f35b34156104f157600080fd5b6105076004808035906020019091905050611215565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561055457600080fd5b6105736004808035906020019091908035906020019091905050611252565b005b341561058057600080fd5b6105ac600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611362565b6040518082815260200191505060405180910390f35b34156105cd57600080fd5b6105e360048080359060200190919050506113ae565b604051808060200180602001838103835285818151815260200191508051906020019080838360005b8381101561062757808201518184015260208101905061060c565b50505050905090810190601f1680156106545780820380516001836020036101000a031916815260200191505b50838103825284818151815260200191508051906020019080838360005b8381101561068d578082015181840152602081019050610672565b50505050905090810190601f1680156106ba5780820380516001836020036101000a031916815260200191505b5094505050505060405180910390f35b34156106d557600080fd5b6106dd61152b565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561072a57600080fd5b61075f600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908035906020019091905050611550565b005b341561076c57600080fd5b61079660048080359060200190919080359060200190820180359060200191909192905050611722565b005b34156107a357600080fd5b6107b960048080359060200190919050506117e1565b6040518080602001806020018381038352858181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156108465780601f1061081b57610100808354040283529160200191610846565b820191906000526020600020905b81548152906001019060200180831161082957829003601f168201915b50508381038252848181546001816001161561010002031660029004815260200191508054600181600116156101000203166002900480156108c95780601f1061089e576101008083540402835291602001916108c9565b820191906000526020600020905b8154815290600101906020018083116108ac57829003601f168201915b505094505050505060405180910390f35b34156108e557600080fd5b610911600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611803565b005b341561091e57600080fd5b610a55600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091908060a001906005806020026040519081016040528092919082600560200280828437820191505050505091908060a00190600580602002604051908101604052809291908260056020028082843782019150505050509190803590602001908201803590602001908080601f0160208091040260200160405190810160405280939291908181526020018383808284378201915050505050509190803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919080610280019060148060200260405190810160405280929190826014602002808284378201915050505050919050506118e9565b005b3415610a6257600080fd5b610a7c600480803560001916906020019091905050611d90565b604051808215151515815260200191505060405180910390f35b3415610aa157600080fd5b610aa9611db0565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3415610af657600080fd5b610b22600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611dd6565b005b600960205281600052604060002081601481101515610b3f57fe5b60209182820401919006915091509054906101000a900460ff1681565b610b6461226a565b60056000838152602001908152602001600020805480602002602001604051908101604052809291908181526020018280548015610bc157602002820191906000526020600020905b815481526020019060010190808311610bad575b50505050509050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610c2657600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16610c4682611215565b73ffffffffffffffffffffffffffffffffffffffff16141515610c6857600080fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610ca357600080fd5b6000610cae82611f2b565b73ffffffffffffffffffffffffffffffffffffffff16141580610ce8575060008273ffffffffffffffffffffffffffffffffffffffff1614155b15610d9b57816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b5050565b60006001905090565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e0357600080fd5b6000600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515610e4a57600080fd5b80600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600a54905090565b600a5481565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151515610ef757600080fd5b3373ffffffffffffffffffffffffffffffffffffffff16610f1782611f2b565b73ffffffffffffffffffffffffffffffffffffffff16141515610f3957600080fd5b8273ffffffffffffffffffffffffffffffffffffffff16610f5982611215565b73ffffffffffffffffffffffffffffffffffffffff16141515610f7b57600080fd5b60008273ffffffffffffffffffffffffffffffffffffffff1614151515610fa157600080fd5b60006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550610ffe8382611f68565b6110088282612151565b8060008473ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110151561112257fe5b906000526020600020900154905092915050565b60086020528160005260406000208181548110151561115157fe5b9060005260206000209060209182820401919006915091509054906101000a900460ff1681565b61118061226a565b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060200260200160405190810160405280929190818152602001828054801561120957602002820191906000526020600020905b8154815260200190600101908083116111f5575b50505050509050919050565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61127e600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1683610bcd565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16636a2724623384846040518463ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018381526020018281526020019350505050600060405180830381600087803b151561134a57600080fd5b6102c65a03f1151561135b57600080fd5b5050505050565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490509050919050565b6113b661227e565b6113be61227e565b6006600084815260200190815260200160002060000160066000858152602001908152602001600020600101818054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561147f5780601f106114545761010080835404028352916020019161147f565b820191906000526020600020905b81548152906001019060200180831161146257829003601f168201915b50505050509150808054600181600116156101000203166002900480601f01602080910402602001604051908101604052809291908181526020018280546001816001161561010002031660029004801561151b5780601f106114f05761010080835404028352916020019161151b565b820191906000526020600020905b8154815290600101906020018083116114fe57829003601f168201915b5050505050905091509150915091565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60006001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141515156115a957600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166001600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614151561161657600080fd5b60006002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506116733382611f68565b61167d8282612151565b8060003373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4808273ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b61172b83611215565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561176457600080fd5b8181600860008681526020019081526020016000209190611786929190612292565b50827f502e3b46aad530247f3dd21f612065d4b18ab1cfb1937f7ea71c899c469dd3088383604051808060200182810382528484828181526020019250602002808284378201915050935050505060405180910390a2505050565b6006602052806000526040600020600091509050806000019080600101905082565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561185e57600080fd5b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161415156118a557600080fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561194757600080fd5b600a549050600160076000886040518082600560200280838360005b8381101561197e578082015181840152602081019050611963565b5050505090500191505060405180910390206000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550866001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054806001018281611a60919061233c565b9160005260206000209001600083909190915055508560056000838152602001908152602001600020906005611a97929190612368565b508160096000838152602001908152602001600020906014611aba9291906123bd565b506001600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050036004600083815260200190815260200160002081905550600083511415611b5b576040805190810160405280601681526020017f536f756e64746f736869204e616b616a696e676c65730000000000000000000081525092505b60408051908101604052808581526020018481525060066000600a5481526020019081526020016000206000820151816000019080519060200190611ba1929190612457565b506020820151816001019080519060200190611bbe929190612457565b509050508673ffffffffffffffffffffffffffffffffffffffff16600a547f41266ae823e673e05c8eeaa4f6547cae3e46bb3aca61f70f82f8c374a567911a88888888886040518086600560200280838360005b83811015611c2d578082015181840152602081019050611c12565b5050505090500185600560200280838360005b83811015611c5b578082015181840152602081019050611c40565b50505050905001806020018060200184601460200280838360005b83811015611c91578082015181840152602081019050611c76565b50505050905001838103835286818151815260200191508051906020019080838360005b83811015611cd0578082015181840152602081019050611cb5565b50505050905090810190601f168015611cfd5780820380516001836020036101000a031916815260200191505b50838103825285818151815260200191508051906020019080838360005b83811015611d36578082015181840152602081019050611d1b565b50505050905090810190601f168015611d635780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390a3600a6000815480929190600101919050555050505050505050565b60076020528060005260406000206000915054906101000a900460ff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515611e3157600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515611e6d57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000806000600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080549050925060046000858152602001908152602001600020549150600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001840381548110151561201757fe5b906000526020600020900154905080600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208381548110151561207257fe5b906000526020600020900181905550816004600083815260200190815260200160002081905550600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600184038154811015156120e857fe5b906000526020600020900160009055600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548091906001900361214991906124d7565b505050505050565b816001600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548060010182816121f4919061233c565b9160005260206000209001600083909190915055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490500360046000838152602001908152602001600020819055505050565b602060405190810160405280600081525090565b602060405190810160405280600081525090565b82805482825590600052602060002090601f0160209004810192821561232b5791602002820160005b838211156122fc57833560ff1683826101000a81548160ff021916908360ff16021790555092602001926001016020816000010492830192600103026122bb565b80156123295782816101000a81549060ff02191690556001016020816000010492830192600103026122fc565b505b5090506123389190612503565b5090565b815481835581811511612363578183600052602060002091820191016123629190612533565b5b505050565b8280548282559060005260206000209081019282156123ac579160200282015b828111156123ab578251829063ffffffff16905591602001919060010190612388565b5b5090506123b99190612533565b5090565b826014601f016020900481019282156124465791602002820160005b8382111561241757835183826101000a81548160ff021916908360ff16021790555092602001926001016020816000010492830192600103026123d9565b80156124445782816101000a81549060ff0219169055600101602081600001049283019260010302612417565b505b5090506124539190612503565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061249857805160ff19168380011785556124c6565b828001600101855582156124c6579182015b828111156124c55782518255916020019190600101906124aa565b5b5090506124d39190612533565b5090565b8154818355818115116124fe578183600052602060002091820191016124fd9190612533565b5b505050565b61253091905b8082111561252c57600081816101000a81549060ff021916905550600101612509565b5090565b90565b61255591905b80821115612551576000816000905550600101612539565b5090565b905600a165627a7a72305820bc09aa234b6968a7b9aaec9dc5594ac3fb51a626c8a2d04d71baf7aa0345e6170029

Swarm Source

bzzr://bc09aa234b6968a7b9aaec9dc5594ac3fb51a626c8a2d04d71baf7aa0345e617

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Txn Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.