More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 95 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Owner Cashout | 6223171 | 2367 days ago | IN | 0 ETH | 0.00016969 | ||||
Owner Cashout | 6223170 | 2367 days ago | IN | 0 ETH | 0.00005656 | ||||
Owner Cashout | 6223044 | 2367 days ago | IN | 0 ETH | 0.00002828 | ||||
Owner Cashout | 6191612 | 2373 days ago | IN | 0 ETH | 0.00019983 | ||||
Cash Out | 6173956 | 2376 days ago | IN | 0 ETH | 0.00007783 | ||||
Cash Out | 5236373 | 2536 days ago | IN | 0 ETH | 0.00006849 | ||||
Cash Out | 5198099 | 2543 days ago | IN | 0 ETH | 0.00007783 | ||||
Cash Out | 5192045 | 2544 days ago | IN | 0 ETH | 0.00005189 | ||||
Cash Out | 5188575 | 2544 days ago | IN | 0 ETH | 0.00002594 | ||||
Cash Out | 5175278 | 2547 days ago | IN | 0 ETH | 0.00005189 | ||||
Cash Out | 5174924 | 2547 days ago | IN | 0 ETH | 0.00002594 | ||||
Purchase Themed ... | 5150079 | 2551 days ago | IN | 0.052 ETH | 0.00075295 | ||||
Cash Out | 5144955 | 2552 days ago | IN | 0 ETH | 0.00004 | ||||
Cash Out | 5143346 | 2552 days ago | IN | 0 ETH | 0.00005189 | ||||
Cash Out | 5142860 | 2552 days ago | IN | 0 ETH | 0.00012973 | ||||
Purchase Themed ... | 5132926 | 2554 days ago | IN | 0.00121 ETH | 0.00062666 | ||||
Cash Out | 5122665 | 2556 days ago | IN | 0 ETH | 0.00007783 | ||||
Purchase Themed ... | 5119398 | 2556 days ago | IN | 0.0012 ETH | 0.00184112 | ||||
Purchase Themed ... | 5116096 | 2557 days ago | IN | 0.0515 ETH | 0.00034864 | ||||
Cash Out | 5115863 | 2557 days ago | IN | 0 ETH | 0.00002594 | ||||
Purchase Themed ... | 5114692 | 2557 days ago | IN | 0.00848 ETH | 0.00071439 | ||||
Purchase Themed ... | 5114677 | 2557 days ago | IN | 0.00119 ETH | 0.0011715 | ||||
Cash Out | 5114194 | 2557 days ago | IN | 0 ETH | 0.00004 | ||||
Cash Out | 5112779 | 2557 days ago | IN | 0 ETH | 0.00004 | ||||
Purchase Themed ... | 5110298 | 2558 days ago | IN | 0.051 ETH | 0.00670486 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block |
From
|
To
|
|||
---|---|---|---|---|---|---|
6191612 | 2373 days ago | 1.816 ETH | ||||
6173956 | 2376 days ago | 0.01036 ETH | ||||
5198099 | 2543 days ago | 0.00006 ETH | ||||
5192045 | 2544 days ago | 0.00016 ETH | ||||
5188575 | 2544 days ago | 0.002 ETH | ||||
5175278 | 2547 days ago | 0.00052 ETH | ||||
5174924 | 2547 days ago | 0.00027 ETH | ||||
5143346 | 2552 days ago | 0.0003 ETH | ||||
5142860 | 2552 days ago | 0.00001 ETH | ||||
5122665 | 2556 days ago | 0.00111 ETH | ||||
5115863 | 2557 days ago | 0.00464 ETH | ||||
5103764 | 2559 days ago | 0.00009 ETH | ||||
5103579 | 2559 days ago | 0.00003 ETH | ||||
5101162 | 2559 days ago | 0.00008 ETH | ||||
5099543 | 2560 days ago | 0.00212 ETH | ||||
5098234 | 2560 days ago | 0.00007 ETH | ||||
5093365 | 2561 days ago | 0.00002 ETH | ||||
5092058 | 2561 days ago | 0.00003 ETH | ||||
5086388 | 2562 days ago | 0.00001 ETH | ||||
5081507 | 2563 days ago | 0.00001 ETH | ||||
5074323 | 2564 days ago | 0.01005 ETH | ||||
5074294 | 2564 days ago | 0.00001 ETH | ||||
5074158 | 2564 days ago | 1.752 ETH | ||||
5069167 | 2565 days ago | 2.251 ETH | ||||
5069049 | 2565 days ago | 1.309 ETH |
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
SpinnerProcessor
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-14 */ pragma solidity ^0.4.18; /** * @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. */ function Ownable() 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)); OwnershipTransferred(owner, newOwner); owner = newOwner; } } library Shared { struct Spinner { string name; uint256 class; uint8 speed; uint8 momentum; uint8 inertia; uint256 _id; address spinnerOwner; uint256 created; uint256 purchasePrice; uint256 purchaseIndex; } struct SpinnerMint { bool purchasable; uint startPrice; uint currentPrice; uint returnPrice; } } contract SpinnerDatabase is Ownable { uint256 public totalSpinners; uint256 public availableThemedSpinners; uint256 public maxSpinners; //prevent hoarding uint256 public currentUniqueSpinnerPrice; uint256 spinnerModulus = 16777216; //16,777,216 or 256^3 possible unique spinners uint256 public uniqueSpinners; address[] public uniqueSpinnerOwners; address public owner; address public processorAddress; address public factoryAddress; address public marketAddress; function setProcessorAddress(address processAddress) public onlyOwner { processorAddress = processAddress; } function setFactoryAddress(address factorAddress) public onlyOwner { factoryAddress = factorAddress; } function setMarketAddress(address market) public onlyOwner { marketAddress = market; } mapping (uint => uint) public spinnerCounts; mapping (address => uint) public balances; mapping (address => uint) public earn; mapping (uint => Shared.SpinnerMint) public themedSpinners; mapping (address => Shared.Spinner[]) public SpinnersByAddress; mapping (uint => address[]) public OwnersBySpinner; mapping (address => uint) public SpinnerCountsByAddress; mapping (uint => uint) public originalPricesBySpinner; mapping (uint => uint) public spinnerCountsByType; function SpinnerDatabase() public { totalSpinners = 0; maxSpinners = 512; availableThemedSpinners = 0; uniqueSpinners = 0; currentUniqueSpinnerPrice = 1 ether; owner = msg.sender; } function addSpinner(string _name, uint _type, address creator, uint value, uint8 speed, uint8 momentum, uint8 inertia) external { require(msg.sender == factoryAddress); uint256 _id = uint(uint(keccak256(_type)) + uint(keccak256(block.timestamp + uint(keccak256(msg.sender))))); uint256 purchaseIndex = spinnerCountsByType[_type]; SpinnersByAddress[creator].push(Shared.Spinner(_name, _type, speed, momentum, inertia, _id, creator, block.timestamp, value, purchaseIndex)); incrementBalances(_type); //payout owners OwnersBySpinner[_type].push(creator); //Add new owner of Spinner incrementThemedSpinnerPrice(_type); //increase price spinnerCounts[_type]++; //Total Purchased of Spinner totalSpinners++; //Total Purchased overall SpinnerCountsByAddress[creator]++; //Total Owned spinnerCountsByType[_type]++; //increment count of type } function addUniqueSpinner(string _name, uint _type, address creator, uint value, uint8 speed, uint8 momentum, uint8 inertia) external { require(msg.sender == factoryAddress); uint256 _id = uint(uint(keccak256(_type)) + uint(keccak256(block.timestamp + uint(keccak256(msg.sender))))); uint256 purchaseIndex = uniqueSpinners; SpinnersByAddress[creator].push(Shared.Spinner(_name, _type, speed, momentum, inertia, _id, creator, block.timestamp, value, purchaseIndex)); uniqueSpinnerOwners.push(creator); //Add new owner of Spinner uniqueSpinners++; //Total Purchased of Spinner totalSpinners++; //Total Purchased overall SpinnerCountsByAddress[creator]++; //Total Owned } function changeOwnership(string _name, uint _id, uint _type, address originalOwner, address newOwner) external { require(msg.sender == marketAddress); uint256 totalSpinnersOwned = SpinnerCountsByAddress[originalOwner]; for (uint256 i = 0; i < totalSpinnersOwned; i++) { uint mySpinnerId = getSpinnerData(originalOwner, i)._id; if (mySpinnerId == _id) { executeOwnershipChange(i, _id, _type, originalOwner, newOwner, _name); break; } } changeOwnershipStepTwo(_type, originalOwner, newOwner); } function changeOwnershipStepTwo(uint _type, address originalOwner, address newOwner) private { uint totalSpinnersOfType = spinnerCountsByType[_type]; address[] storage owners = OwnersBySpinner[_type]; for (uint j = 0; j < totalSpinnersOfType; j++) { if (owners[j] == originalOwner) { owners[j] = newOwner; break; } } OwnersBySpinner[_type] = owners; } function changeUniqueOwnership(string _name, uint _id, address originalOwner, address newOwner) external { require(msg.sender == marketAddress); uint256 totalSpinnersOwned = SpinnerCountsByAddress[originalOwner]; for (uint256 i = 0; i < totalSpinnersOwned; i++) { uint mySpinnerId = getSpinnerData(originalOwner, i)._id; if (mySpinnerId == _id) { uint spinnerType = getSpinnerData(originalOwner, i).class; executeOwnershipChange(i, _id, spinnerType, originalOwner, newOwner, _name); break; } } changeUniqueOwnershipStepTwo(originalOwner, newOwner); } function changeUniqueOwnershipStepTwo(address originalOwner, address newOwner) private { uint totalUniqueSpinners = uniqueSpinners; for (uint j = 0; j < totalUniqueSpinners; j++) { if (uniqueSpinnerOwners[j] == originalOwner) { uniqueSpinnerOwners[j] = newOwner; break; } } } function executeOwnershipChange(uint i, uint _id, uint _type, address originalOwner, address newOwner, string _name) private { uint8 spinnerSpeed = getSpinnerData(originalOwner, i).speed; uint8 spinnerMomentum = getSpinnerData(originalOwner, i).momentum; uint8 spinnerInertia = getSpinnerData(originalOwner, i).inertia; uint spinnerTimestamp = getSpinnerData(originalOwner, i).created; uint spinnerPurchasePrice = getSpinnerData(originalOwner, i).purchasePrice; uint spinnerPurchaseIndex = getSpinnerData(originalOwner, i).purchaseIndex; SpinnerCountsByAddress[originalOwner]--; delete SpinnersByAddress[originalOwner][i]; SpinnersByAddress[newOwner].push(Shared.Spinner(_name, _type, spinnerSpeed, spinnerMomentum, spinnerInertia, _id, newOwner, spinnerTimestamp, spinnerPurchasePrice, spinnerPurchaseIndex)); SpinnerCountsByAddress[newOwner]++; } function generateThemedSpinners(uint seed, uint price, uint returnPrice) external { require(msg.sender == factoryAddress); themedSpinners[seed] = Shared.SpinnerMint(true, price, price, returnPrice); originalPricesBySpinner[seed] = price; availableThemedSpinners++; } function incrementThemedSpinnerPrice(uint seed) private { themedSpinners[seed].currentPrice = themedSpinners[seed].currentPrice + themedSpinners[seed].returnPrice; } function getSpinnerPrice(uint seed) public view returns (uint) { return themedSpinners[seed].currentPrice; } function getUniqueSpinnerPrice() public view returns (uint) { return currentUniqueSpinnerPrice; } function setUniqueSpinnerPrice(uint cost) public onlyOwner { currentUniqueSpinnerPrice = cost; } function getBalance(address walletAddress) public view returns (uint) { return balances[walletAddress]; } function getSpinnerData(address walletAddress, uint index) public view returns (Shared.Spinner) { return SpinnersByAddress[walletAddress][index]; } function getOriginalSpinnerPrice(uint256 _id) public view returns (uint) { return originalPricesBySpinner[_id]; } function doesAddressOwnSpinner(address walletAddress, uint _id) public view returns (bool) { uint count = spinnerCountsByType[_id + spinnerModulus]; for (uint i=0; i<count; i++) { if (keccak256(SpinnersByAddress[walletAddress][i].spinnerOwner) == keccak256(walletAddress)) { return true; } } return false; } function incrementBalances(uint _type) private { uint totalPurchased = spinnerCounts[_type]; address[] storage owners = OwnersBySpinner[_type]; uint payout = themedSpinners[_type].returnPrice; for (uint i = 0; i < totalPurchased; i++) { balances[owners[i]] = balances[owners[i]] + payout; earn[owners[i]] = earn[owners[i]] + payout; } } function decrementBalance(address walletAddress, uint amount) external { require(msg.sender == processorAddress); require(amount <= balances[walletAddress]); balances[walletAddress] = balances[walletAddress] - amount; } } contract SpinnerFactory is Ownable { function SpinnerFactory(address _spinnerDatabaseAddress) public { databaseAddress = _spinnerDatabaseAddress; } address public databaseAddress; address public processorAddress; uint256 public spinnerModulus = 16777216; //16,777,216 or 256^3 possible unique spinners address public owner; mapping (uint => bool) public initialSpinners; //mapping of initial spinners function setProcessorAddress(address processAddress) public onlyOwner { processorAddress = processAddress; } function _generateRandomSeed() internal view returns (uint) { uint rand = uint(keccak256(uint(block.blockhash(block.number-1)) + uint(keccak256(msg.sender)))); return rand % spinnerModulus; } function createUniqueSpinner(string _name, address creator, uint value) external { require(msg.sender == processorAddress); uint _seed = _generateRandomSeed(); SpinnerDatabase database = SpinnerDatabase(databaseAddress); database.addUniqueSpinner(_name, _seed, creator, value, uint8(keccak256(_seed + 1)) % 64 + 64, uint8(keccak256(_seed + 2)) % 64 + 64, uint8(keccak256(_seed + 3)) % 64 + 64); } function createThemedSpinner(string _name, uint _type, address creator, uint value) external { require(msg.sender == processorAddress); require(initialSpinners[_type] == true); uint _seed = _generateRandomSeed(); SpinnerDatabase database = SpinnerDatabase(databaseAddress); database.addSpinner(_name, _type, creator, value, uint8(keccak256(_seed + 1)) % 64 + 64, uint8(keccak256(_seed + 2)) % 64 + 64, uint8(keccak256(_seed + 3)) % 64 + 64); } function addNewSpinner(uint _type) public onlyOwner { initialSpinners[_type] = true; } function blockNewSpinnerPurchase(uint _type) public onlyOwner { initialSpinners[_type] = false; } function mintGen0Spinners() public onlyOwner { SpinnerDatabase database = SpinnerDatabase(databaseAddress); addNewSpinner(1 + spinnerModulus); database.generateThemedSpinners(1 + spinnerModulus, 1 ether, .01 ether); addNewSpinner(2 + spinnerModulus); database.generateThemedSpinners(2 + spinnerModulus, 1 ether, .01 ether); addNewSpinner(3 + spinnerModulus); database.generateThemedSpinners(3 + spinnerModulus, .75 ether, .0075 ether); addNewSpinner(4 + spinnerModulus); database.generateThemedSpinners(4 + spinnerModulus, .75 ether, .0075 ether); addNewSpinner(5 + spinnerModulus); database.generateThemedSpinners(5 + spinnerModulus, .75 ether, .0075 ether); addNewSpinner(6 + spinnerModulus); database.generateThemedSpinners(6 + spinnerModulus, .75 ether, .0075 ether); addNewSpinner(7 + spinnerModulus); database.generateThemedSpinners(7 + spinnerModulus, .75 ether, .0075 ether); addNewSpinner(8 + spinnerModulus); database.generateThemedSpinners(8 + spinnerModulus, .75 ether, .0075 ether); addNewSpinner(9 + spinnerModulus); database.generateThemedSpinners(9 + spinnerModulus, .5 ether, .005 ether); addNewSpinner(10 + spinnerModulus); database.generateThemedSpinners(10 + spinnerModulus, .5 ether, .005 ether); addNewSpinner(11 + spinnerModulus); database.generateThemedSpinners(11 + spinnerModulus, .5 ether, .005 ether); addNewSpinner(12 + spinnerModulus); database.generateThemedSpinners(12 + spinnerModulus, .5 ether, .005 ether); addNewSpinner(13 + spinnerModulus); database.generateThemedSpinners(13 + spinnerModulus, .2 ether, .002 ether); addNewSpinner(14 + spinnerModulus); database.generateThemedSpinners(14 + spinnerModulus, .2 ether, .002 ether); addNewSpinner(15 + spinnerModulus); database.generateThemedSpinners(15 + spinnerModulus, .3 ether, .003 ether); addNewSpinner(16 + spinnerModulus); database.generateThemedSpinners(16 + spinnerModulus, .3 ether, .003 ether); addNewSpinner(17 + spinnerModulus); database.generateThemedSpinners(17 + spinnerModulus, .05 ether, .0005 ether); addNewSpinner(18 + spinnerModulus); database.generateThemedSpinners(18 + spinnerModulus, .05 ether, .0005 ether); addNewSpinner(19 + spinnerModulus); database.generateThemedSpinners(19 + spinnerModulus, .008 ether, .00008 ether); addNewSpinner(20 + spinnerModulus); database.generateThemedSpinners(20 + spinnerModulus, .001 ether, .00001 ether); } function mintNewSpinner(uint _id, uint price, uint returnPrice) public onlyOwner { SpinnerDatabase database = SpinnerDatabase(databaseAddress); addNewSpinner(_id + spinnerModulus); database.generateThemedSpinners(_id + spinnerModulus, price, returnPrice); } } contract SpinnerProcessor is Ownable { uint256 spinnerModulus = 16777216; //16,777,216 or 256^3 possible unique spinners modifier whenNotPaused() { require(!paused); _; } modifier uniqueSpinnersActivated() { require(uniqueSpinnersActive); _; } address public owner; function pause() public onlyOwner { paused = true; } function unpause() public onlyOwner { paused = false; } function activateUniqueSpinners() public onlyOwner { uniqueSpinnersActive = true; } bool public paused; bool public uniqueSpinnersActive; address factoryAddress; address databaseAddress; address ownerAddress; uint256 ownerEarn; uint256 ownerBalance; function viewBalance() view public returns (uint256) { return this.balance; } function SpinnerProcessor(address _spinnerFactoryAddress, address _spinnerDatabaseAddress, address _ownerAddress) public { factoryAddress = _spinnerFactoryAddress; databaseAddress = _spinnerDatabaseAddress; ownerAddress = _ownerAddress; paused = true; uniqueSpinnersActive = false; } function purchaseThemedSpinner(string _name, uint _id) public payable whenNotPaused { SpinnerDatabase database = SpinnerDatabase(databaseAddress); uint currentPrice = database.getSpinnerPrice(_id + spinnerModulus); require(msg.value == currentPrice); uint ownerPayout = database.getOriginalSpinnerPrice(_id + spinnerModulus); ownerEarn = ownerEarn + ownerPayout; ownerBalance = ownerBalance + ownerPayout; SpinnerFactory factory = SpinnerFactory(factoryAddress); factory.createThemedSpinner(_name, _id + spinnerModulus, msg.sender, msg.value); } function purchaseUniqueSpinner(string _name) public payable whenNotPaused uniqueSpinnersActivated { SpinnerDatabase database = SpinnerDatabase(databaseAddress); uint currentPrice = database.getUniqueSpinnerPrice(); require(msg.value == currentPrice); SpinnerFactory factory = SpinnerFactory(factoryAddress); factory.createUniqueSpinner(_name, msg.sender, msg.value); } function cashOut() public whenNotPaused { SpinnerDatabase database = SpinnerDatabase(databaseAddress); uint balance = database.getBalance(msg.sender); uint contractBalance = this.balance; require(balance <= contractBalance); database.decrementBalance(msg.sender, balance); msg.sender.transfer(balance); } function OwnerCashout() public onlyOwner { require(ownerBalance <= this.balance); msg.sender.transfer(ownerBalance); ownerBalance = 0; } function transferBalance(address newProcessor) public onlyOwner { newProcessor.transfer(this.balance); } function () payable public {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"purchaseUniqueSpinner","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"OwnerCashout","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"viewBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newProcessor","type":"address"}],"name":"transferBalance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"cashOut","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"},{"name":"_id","type":"uint256"}],"name":"purchaseThemedSpinner","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"uniqueSpinnersActive","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"activateUniqueSpinners","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_spinnerFactoryAddress","type":"address"},{"name":"_spinnerDatabaseAddress","type":"address"},{"name":"_ownerAddress","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]
Contract Creation Code
60606040526301000000600155341561001757600080fd5b6040516060806110f683398101604052808051906020019091908051906020019091908051906020019091905050336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600260146101000a81548160ff0219169083151502179055506000600260156101000a81548160ff021916908315150217905550505050610f66806101906000396000f3006060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063315a6001146100c75780633ed4006b146101195780633f4ba83a1461012e5780633ff1e05b146101435780635c975abb1461016c57806363b6b31f14610199578063793cd71e146101d25780638456cb59146101e7578063863b3b66146101fc5780638da5cb5b146102575780638f9de24b146102ac578063aada1cb3146102d9578063f2fde38b146102ee575b005b610117600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610327565b005b341561012457600080fd5b61012c61056d565b005b341561013957600080fd5b61014161063c565b005b341561014e57600080fd5b6101566106b4565b6040518082815260200191505060405180910390f35b341561017757600080fd5b61017f6106d3565b604051808215151515815260200191505060405180910390f35b34156101a457600080fd5b6101d0600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106e6565b005b34156101dd57600080fd5b6101e561079b565b005b34156101f257600080fd5b6101fa6109c5565b005b610255600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610a3d565b005b341561026257600080fd5b61026a610d34565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102b757600080fd5b6102bf610d5a565b604051808215151515815260200191505060405180910390f35b34156102e457600080fd5b6102ec610d6d565b005b34156102f957600080fd5b610325600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de5565b005b6000806000600260149054906101000a900460ff1615151561034857600080fd5b600260159054906101000a900460ff16151561036357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508273ffffffffffffffffffffffffffffffffffffffff16638ce7be016000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156103f457600080fd5b6102c65a03f1151561040557600080fd5b505050604051805190509150813414151561041f57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663439e10e58533346040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156105065780820151818401526020810190506104eb565b50505050905090810190601f1680156105335780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561055357600080fd5b6102c65a03f1151561056457600080fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105c857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631600754111515156105f057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc6007549081150290604051600060405180830381858888f19350505050151561063257600080fd5b6000600781905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561069757600080fd5b6000600260146101000a81548160ff021916908315150217905550565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600260149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561074157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561079857600080fd5b50565b6000806000600260149054906101000a900460ff161515156107bc57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508273ffffffffffffffffffffffffffffffffffffffff1663f8b2cb4f336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561088457600080fd5b6102c65a03f1151561089557600080fd5b5050506040518051905091503073ffffffffffffffffffffffffffffffffffffffff163190508082111515156108ca57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663720ee37c33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561096c57600080fd5b6102c65a03f1151561097d57600080fd5b5050503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156109c057600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2057600080fd5b6001600260146101000a81548160ff021916908315150217905550565b600080600080600260149054906101000a900460ff16151515610a5f57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693508373ffffffffffffffffffffffffffffffffffffffff16632e3aff3b60015487016000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610aff57600080fd5b6102c65a03f11515610b1057600080fd5b5050506040518051905092508234141515610b2a57600080fd5b8373ffffffffffffffffffffffffffffffffffffffff1663ea85c7ac60015487016000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610ba557600080fd5b6102c65a03f11515610bb657600080fd5b50505060405180519050915081600654016006819055508160075401600781905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663b07be1fe87600154880133346040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825286818151815260200191508051906020019080838360005b83811015610cca578082015181840152602081019050610caf565b50505050905090810190601f168015610cf75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610d1857600080fd5b6102c65a03f11515610d2957600080fd5b505050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dc857600080fd5b6001600260156101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e4057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e7c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820b1da5e18b2a1b35f9d343f75e2dac4c8336aea590f25762fa200f69906f5785100290000000000000000000000005f0ca657fc96b0fa616ca01ca42d9414d02d54600000000000000000000000000bbfe2b67a4caded4d6c607cb91be5354ba6617d0000000000000000000000000000000000000000000000000000000000000000
Deployed Bytecode
0x6060604052600436106100c5576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff168063315a6001146100c75780633ed4006b146101195780633f4ba83a1461012e5780633ff1e05b146101435780635c975abb1461016c57806363b6b31f14610199578063793cd71e146101d25780638456cb59146101e7578063863b3b66146101fc5780638da5cb5b146102575780638f9de24b146102ac578063aada1cb3146102d9578063f2fde38b146102ee575b005b610117600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050610327565b005b341561012457600080fd5b61012c61056d565b005b341561013957600080fd5b61014161063c565b005b341561014e57600080fd5b6101566106b4565b6040518082815260200191505060405180910390f35b341561017757600080fd5b61017f6106d3565b604051808215151515815260200191505060405180910390f35b34156101a457600080fd5b6101d0600480803573ffffffffffffffffffffffffffffffffffffffff169060200190919050506106e6565b005b34156101dd57600080fd5b6101e561079b565b005b34156101f257600080fd5b6101fa6109c5565b005b610255600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091908035906020019091905050610a3d565b005b341561026257600080fd5b61026a610d34565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34156102b757600080fd5b6102bf610d5a565b604051808215151515815260200191505060405180910390f35b34156102e457600080fd5b6102ec610d6d565b005b34156102f957600080fd5b610325600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610de5565b005b6000806000600260149054906101000a900460ff1615151561034857600080fd5b600260159054906101000a900460ff16151561036357600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508273ffffffffffffffffffffffffffffffffffffffff16638ce7be016000604051602001526040518163ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401602060405180830381600087803b15156103f457600080fd5b6102c65a03f1151561040557600080fd5b505050604051805190509150813414151561041f57600080fd5b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663439e10e58533346040518463ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825285818151815260200191508051906020019080838360005b838110156105065780820151818401526020810190506104eb565b50505050905090810190601f1680156105335780820380516001836020036101000a031916815260200191505b50945050505050600060405180830381600087803b151561055357600080fd5b6102c65a03f1151561056457600080fd5b50505050505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156105c857600080fd5b3073ffffffffffffffffffffffffffffffffffffffff1631600754111515156105f057600080fd5b3373ffffffffffffffffffffffffffffffffffffffff166108fc6007549081150290604051600060405180830381858888f19350505050151561063257600080fd5b6000600781905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561069757600080fd5b6000600260146101000a81548160ff021916908315150217905550565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b600260149054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561074157600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f19350505050151561079857600080fd5b50565b6000806000600260149054906101000a900460ff161515156107bc57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1692508273ffffffffffffffffffffffffffffffffffffffff1663f8b2cb4f336000604051602001526040518263ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001915050602060405180830381600087803b151561088457600080fd5b6102c65a03f1151561089557600080fd5b5050506040518051905091503073ffffffffffffffffffffffffffffffffffffffff163190508082111515156108ca57600080fd5b8273ffffffffffffffffffffffffffffffffffffffff1663720ee37c33846040518363ffffffff167c0100000000000000000000000000000000000000000000000000000000028152600401808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050600060405180830381600087803b151561096c57600080fd5b6102c65a03f1151561097d57600080fd5b5050503373ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015156109c057600080fd5b505050565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a2057600080fd5b6001600260146101000a81548160ff021916908315150217905550565b600080600080600260149054906101000a900460ff16151515610a5f57600080fd5b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1693508373ffffffffffffffffffffffffffffffffffffffff16632e3aff3b60015487016000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610aff57600080fd5b6102c65a03f11515610b1057600080fd5b5050506040518051905092508234141515610b2a57600080fd5b8373ffffffffffffffffffffffffffffffffffffffff1663ea85c7ac60015487016000604051602001526040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050602060405180830381600087803b1515610ba557600080fd5b6102c65a03f11515610bb657600080fd5b50505060405180519050915081600654016006819055508160075401600781905550600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663b07be1fe87600154880133346040518563ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180806020018581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001838152602001828103825286818151815260200191508051906020019080838360005b83811015610cca578082015181840152602081019050610caf565b50505050905090810190601f168015610cf75780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b1515610d1857600080fd5b6102c65a03f11515610d2957600080fd5b505050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260159054906101000a900460ff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610dc857600080fd5b6001600260156101000a81548160ff021916908315150217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610e4057600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614151515610e7c57600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a72305820b1da5e18b2a1b35f9d343f75e2dac4c8336aea590f25762fa200f69906f578510029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000005f0ca657fc96b0fa616ca01ca42d9414d02d54600000000000000000000000000bbfe2b67a4caded4d6c607cb91be5354ba6617d0000000000000000000000000000000000000000000000000000000000000000
-----Decoded View---------------
Arg [0] : _spinnerFactoryAddress (address): 0x5F0cA657fC96B0fa616CA01Ca42d9414d02d5460
Arg [1] : _spinnerDatabaseAddress (address): 0x0Bbfe2B67A4CADeD4D6C607CB91bE5354ba6617D
Arg [2] : _ownerAddress (address): 0x0000000000000000000000000000000000000000
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000005f0ca657fc96b0fa616ca01ca42d9414d02d5460
Arg [1] : 0000000000000000000000000bbfe2b67a4caded4d6c607cb91be5354ba6617d
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000000
Swarm Source
bzzr://b1da5e18b2a1b35f9d343f75e2dac4c8336aea590f25762fa200f69906f57851
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
ETH | 100.00% | $2,714.17 | 0.00304 | $8.25 |
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.