Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 1 from a total of 1 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Set Betting Cond... | 4527329 | 2660 days ago | IN | 0 ETH | 0.00065784 |
Loading...
Loading
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0xf0b02cd3...C53f82e3b The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
bet_various_v2
Compiler Version
v0.4.11+commit.68ef5810
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2017-11-10 */ pragma solidity ^0.4.7; contract bet_various_v2{ enum State { Started, Locked } State public state = State.Started; struct Guess{ address addr; uint guess; } uint arraysize=1000; uint constant maxguess=1000000; uint bettingprice = 0.01 ether; uint statusprice = 0.01 ether; Guess[1000] guesses; uint numguesses = 0; bytes32 curhash = ''; uint stasticsarrayitems = 20; uint[20] statistics; uint _gameindex = 1; struct Winner{ address addr; } Winner[1000] winnners; uint numwinners = 0; modifier inState(State _state) { require(state == _state); _; } address developer = 0x0; event SentPrizeToWinner(address winner, uint money, uint guess, uint gameindex, uint lotterynumber, uint timestamp); event SentDeveloperFee(uint amount, uint balance); function bet_various_v2() { if(developer==address(0)){ developer = msg.sender; } } function setBettingCondition(uint _contenders, uint _bettingprice) { if(msg.sender != developer) return; arraysize = _contenders; if(arraysize>1000) arraysize = 1000; bettingprice = _bettingprice; } function getMaxContenders() constant returns(uint){ return arraysize; } function getBettingPrice() constant returns(uint){ return bettingprice; } function findWinners(uint value) returns (uint) { numwinners = 0; uint lastdiff = maxguess; uint i = 0; int diff = 0; uint guess = 0; for (i = 0; i < numguesses; i++) { diff = (int)((int)(value)-(int)(guesses[i].guess)); if(diff<0) diff = diff*-1; if(lastdiff>(uint)(diff)){ guess = guesses[i].guess; lastdiff = (uint)(diff); } } for (i = 0; i < numguesses; i++) { diff = (int)((int)(value)-(int)(guesses[i].guess)); if(diff<0) diff = diff*-1; if(lastdiff==uint(diff)){ winnners[numwinners++].addr = guesses[i].addr; } } return guess; } function getDeveloperAddress() constant returns(address) { return developer; } function getDeveloperFee() constant returns(uint) { uint developerfee = this.balance/100; return developerfee; } function getBalance() constant returns(uint) { return this.balance; } function getLotteryMoney() constant returns(uint) { uint developerfee = getDeveloperFee(); uint prize = (this.balance - developerfee)/(numwinners<1?1:numwinners); return prize; } function getBettingStastics() payable returns(uint[20]) { require(msg.value == statusprice); // 0.01 eth return statistics; } function getBettingStatus() constant returns (uint, uint, uint, uint, uint) { return ((uint)(state), numguesses, getLotteryMoney(), this.balance, bettingprice); } function setStatusPrice(uint value) { if(msg.sender != developer) return; statusprice = value; } function finish() { if(msg.sender != developer) return; _finish(); } function _finish() private { state = State.Locked; uint lotterynumber = (uint(curhash)+block.timestamp)%(maxguess+1); // now that we know the random number was safely generate, let's do something with the random number.. var guess = findWinners(lotterynumber); uint prize = getLotteryMoney(); uint remain = this.balance - (prize*numwinners); for (uint i = 0; i < numwinners; i++) { address winner = winnners[i].addr; winner.transfer(prize); SentPrizeToWinner(winner, prize, guess, _gameindex, lotterynumber, block.timestamp); } // give delveoper the money left behind SentDeveloperFee(remain, this.balance); developer.transfer(remain); numguesses = 0; for (i = 0; i < stasticsarrayitems; i++) { statistics[i] = 0; } _gameindex++; state = State.Started; } function addguess(uint guess) inState(State.Started) payable { require(msg.value == bettingprice); uint divideby = maxguess/stasticsarrayitems; curhash = sha256(block.timestamp, block.coinbase, block.difficulty, curhash); if((uint)(numguesses+1)<=arraysize) { guesses[numguesses++] = Guess(msg.sender, guess); uint statindex = guess / divideby; if(statindex>=stasticsarrayitems) statindex = stasticsarrayitems-1; statistics[statindex] ++; if((uint)(numguesses)>=arraysize){ _finish(); } } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getBettingStatus","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getDeveloperAddress","outputs":[{"name":"","type":"address"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"findWinners","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getMaxContenders","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[],"name":"getBettingStastics","outputs":[{"name":"","type":"uint256[20]"}],"payable":true,"type":"function"},{"constant":true,"inputs":[],"name":"getBettingPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getDeveloperFee","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"getLotteryMoney","outputs":[{"name":"","type":"uint256"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"_contenders","type":"uint256"},{"name":"_bettingprice","type":"uint256"}],"name":"setBettingCondition","outputs":[],"payable":false,"type":"function"},{"constant":true,"inputs":[],"name":"state","outputs":[{"name":"","type":"uint8"}],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"guess","type":"uint256"}],"name":"addguess","outputs":[],"payable":true,"type":"function"},{"constant":false,"inputs":[],"name":"finish","outputs":[],"payable":false,"type":"function"},{"constant":false,"inputs":[{"name":"value","type":"uint256"}],"name":"setStatusPrice","outputs":[],"payable":false,"type":"function"},{"inputs":[],"payable":false,"type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"winner","type":"address"},{"indexed":false,"name":"money","type":"uint256"},{"indexed":false,"name":"guess","type":"uint256"},{"indexed":false,"name":"gameindex","type":"uint256"},{"indexed":false,"name":"lotterynumber","type":"uint256"},{"indexed":false,"name":"timestamp","type":"uint256"}],"name":"SentPrizeToWinner","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"amount","type":"uint256"},{"indexed":false,"name":"balance","type":"uint256"}],"name":"SentDeveloperFee","type":"event"}]
Deployed Bytecode
0x606060405236156100ce576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806312065fe0146100d0578063179dfbf3146100f657806322a27f3b14610138578063307f6b121461018a5780633bee8726146101be578063479e393c146101e457806371b804ee1461023857806377482b181461025e5780637842aded146102845780637847352a146102aa578063c19d93fb146102d3578063ccd1a62114610307578063d56b28891461031f578063fe04cb1d14610331575bfe5b34156100d857fe5b6100e0610351565b6040518082815260200191505060405180910390f35b34156100fe57fe5b610106610371565b604051808681526020018581526020018481526020018381526020018281526020019550505050505060405180910390f35b341561014057fe5b6101486103cf565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b341561019257fe5b6101a860048080359060200190919050506103fb565b6040518082815260200191505060405180910390f35b34156101c657fe5b6101ce6105de565b6040518082815260200191505060405180910390f35b6101ec6105e9565b6040518082601460200280838360008314610226575b80518252602083111561022657602082019150602081019050602083039250610202565b50505090500191505060405180910390f35b341561024057fe5b610248610647565b6040518082815260200191505060405180910390f35b341561026657fe5b61026e610652565b6040518082815260200191505060405180910390f35b341561028c57fe5b610294610684565b6040518082815260200191505060405180910390f35b34156102b257fe5b6102d160048080359060200190919080359060200190919050506106da565b005b34156102db57fe5b6102e3610760565b604051808260018111156102f357fe5b60ff16815260200191505060405180910390f35b61031d6004808035906020019091905050610773565b005b341561032757fe5b61032f610997565b005b341561033957fe5b61034f60048080359060200190919050506109ff565b005b60003073ffffffffffffffffffffffffffffffffffffffff163190505b90565b60006000600060006000600060009054906101000a900460ff16600181111561039657fe5b6107d4546103a2610684565b3073ffffffffffffffffffffffffffffffffffffffff1631600254945094509450945094505b9091929394565b6000610bd560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690505b90565b600060006000600060006000610bd481905550620f42409350600092506000915060009050600092505b6107d4548310156104b7576004836103e88110151561044057fe5b6002020160005b506001015486039150600082121561047f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820291505b818411156104a9576004836103e88110151561049757fe5b6002020160005b506001015490508193505b5b8280600101935050610425565b600092505b6107d4548310156105d1576004836103e8811015156104d757fe5b6002020160005b5060010154860391506000821215610516577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820291505b818414156105c3576004836103e88110151561052e57fe5b6002020160005b5060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166107ec610bd46000815480929190600101919050556103e88110151561057c57fe5b0160005b5060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505b5b82806001019350506104bc565b8094505b50505050919050565b600060015490505b90565b6105f1610d4d565b600354341415156106025760006000fd5b6107d760148060200260405190810160405280929190826014801561063c576020028201915b815481526020019060010190808311610628575b505050505090505b90565b600060025490505b90565b6000600060643073ffffffffffffffffffffffffffffffffffffffff163181151561067957fe5b0490508091505b5090565b600060006000610692610652565b91506001610bd454106106a857610bd4546106ab565b60015b823073ffffffffffffffffffffffffffffffffffffffff1631038115156106ce57fe5b0490508092505b505090565b610bd560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156107375761075c565b816001819055506103e86001541115610754576103e86001819055505b806002819055505b5050565b600060009054906101000a900460ff1681565b60006000600080600181111561078557fe5b600060009054906101000a900460ff1660018111156107a057fe5b1415156107ad5760006000fd5b600254341415156107be5760006000fd5b6107d654620f42408115156107cf57fe5b04925060024241446107d554600060405160200152604051808581526020018473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c01000000000000000000000000028152601401838152602001826000191660001916815260200194505050505060206040518083038160008661646e5a03f1151561086357fe5b5050604051805190506107d5816000191690555060015460016107d4540111151561098f576040604051908101604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018581525060046107d46000815480929190600101919050556103e8811015156108d557fe5b6002020160005b5060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160010155905050828481151561093c57fe5b0491506107d654821015156109555760016107d6540391505b6107d78260148110151561096557fe5b0160005b81548092919060010191905055506001546107d45410151561098e5761098d610a67565b5b5b5b5b50505050565b610bd560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff161415156109f4576109fd565b6109fc610a67565b5b565b610bd560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16141515610a5c57610a64565b806003819055505b50565b6000600060006000600060006001600060006101000a81548160ff02191690836001811115610a9257fe5b02179055506001620f424001426107d5546001900401811515610ab157fe5b069550610abd866103fb565b9450610ac7610684565b9350610bd45484023073ffffffffffffffffffffffffffffffffffffffff1631039250600091505b610bd454821015610c12576107ec826103e881101515610b0b57fe5b0160005b5060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff166108fc859081150290604051809050600060405180830381858888f193505050501515610b7657fe5b7f16772b6ac3e9823e1f39326dbe356dac767fad821f4a2af003066838235e1bbd8185876107eb548a42604051808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001868152602001858152602001848152602001838152602001828152602001965050505050505060405180910390a15b8180600101925050610aef565b7ff758ff59202247fe26bd4bd951f620cf543dc36b500de667d055cb5816def873833073ffffffffffffffffffffffffffffffffffffffff1631604051808381526020018281526020019250505060405180910390a1610bd560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc849081150290604051809050600060405180830381858888f193505050501515610ccb57fe5b60006107d481905550600091505b6107d654821015610d0d5760006107d783601481101515610cf657fe5b0160005b50819055505b8180600101925050610cd9565b6107eb600081548092919060010191905055506000600060006101000a81548160ff02191690836001811115610d3f57fe5b02179055505b505050505050565b610280604051908101604052806014905b6000815260200190600190039081610d5e57905050905600a165627a7a72305820279340ff11bd95a6290bdc6e3a53381279e3cd32dad0750a2fa9b9e7b7bb69ca0029
Swarm Source
bzzr://279340ff11bd95a6290bdc6e3a53381279e3cd32dad0750a2fa9b9e7b7bb69ca
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 31 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.