ETH Price: $2,194.97 (+2.20%)

Contract

0x75f75B2A604F72C95A131aa3E18682B57052937B
 

Overview

ETH Balance

0.268822928389064955 ETH

Eth Value

$590.06 (@ $2,194.97/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Send Prize65937502018-10-27 15:00:292321 days ago1540652429IN
0x75f75B2A...57052937B
0 ETH0.001105717.15625
Send Prize65907092018-10-27 3:00:432321 days ago1540609243IN
0x75f75B2A...57052937B
0 ETH0.000927826
Send Prize65876402018-10-26 15:02:182322 days ago1540566138IN
0x75f75B2A...57052937B
0 ETH0.001521019.8359927
Send Prize65846032018-10-26 3:01:012322 days ago1540522861IN
0x75f75B2A...57052937B
0 ETH0.001455929.42285714
Send Prize65814912018-10-25 15:00:302323 days ago1540479630IN
0x75f75B2A...57052937B
0 ETH0.001253238.111
Send Prize65784432018-10-25 3:01:072323 days ago1540436467IN
0x75f75B2A...57052937B
0 ETH0.001517879.8359927
Send Prize65753782018-10-24 15:00:032324 days ago1540393203IN
0x75f75B2A...57052937B
0 ETH0.001519759.8359927
Send Prize65723122018-10-24 3:00:392324 days ago1540350039IN
0x75f75B2A...57052937B
0 ETH0.000927826
Send Prize65692412018-10-23 15:01:562325 days ago1540306916IN
0x75f75B2A...57052937B
0 ETH0.000927826
Send Prize65661842018-10-23 3:00:272325 days ago1540263627IN
0x75f75B2A...57052937B
0 ETH0.000771595
Send Prize65631102018-10-22 15:00:262326 days ago1540220426IN
0x75f75B2A...57052937B
0 ETH0.001519499.834276
Send Prize65601022018-10-22 3:00:532326 days ago1540177253IN
0x75f75B2A...57052937B
0 ETH0.000618554
Send Prize65569752018-10-21 15:00:102327 days ago1540134010IN
0x75f75B2A...57052937B
0 ETH0.001081577
Send Prize65539552018-10-21 3:00:512327 days ago1540090851IN
0x75f75B2A...57052937B
0 ETH0.000664394.3
Send Prize65508852018-10-20 15:01:512328 days ago1540047711IN
0x75f75B2A...57052937B
0 ETH0.000772235
Send Prize65478232018-10-20 3:01:112328 days ago1540004471IN
0x75f75B2A...57052937B
0 ETH0.000617274
Send Prize65447722018-10-19 15:00:122329 days ago1539961212IN
0x75f75B2A...57052937B
0 ETH0.001545110
Send Prize65417182018-10-19 3:00:142329 days ago1539918014IN
0x75f75B2A...57052937B
0 ETH0.000927826
Send Prize65386852018-10-18 15:00:082330 days ago1539874808IN
0x75f75B2A...57052937B
0 ETH0.001080227
Send Prize65356322018-10-18 3:00:562330 days ago1539831656IN
0x75f75B2A...57052937B
0 ETH0.000463533
Send Prize65325332018-10-17 15:01:082331 days ago1539788468IN
0x75f75B2A...57052937B
0 ETH0.000464063.001
Send Prize65294862018-10-17 3:02:232331 days ago1539745343IN
0x75f75B2A...57052937B
0 ETH0.000927826
Send Prize65264052018-10-16 15:00:092332 days ago1539702009IN
0x75f75B2A...57052937B
0 ETH0.000773195
Send Prize65250732018-10-16 9:46:362332 days ago1539683196IN
0x75f75B2A...57052937B
0 ETH0.000664394.3
Send Prize65202862018-10-15 15:00:152333 days ago1539615615IN
0x75f75B2A...57052937B
0 ETH0.001236088
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
71894992019-02-07 19:32:312217 days ago1549567951
0x75f75B2A...57052937B
0.005 ETH
71894682019-02-07 19:23:362217 days ago1549567416
0x75f75B2A...57052937B
0.005 ETH
69257902018-12-21 9:06:082266 days ago1545383168
0x75f75B2A...57052937B
0.005 ETH
68794582018-12-13 14:18:132274 days ago1544710693
0x75f75B2A...57052937B
0.02375 ETH
68717652018-12-12 7:58:572275 days ago1544601537
0x75f75B2A...57052937B
0.005 ETH
68608912018-12-10 12:46:482277 days ago1544446008
0x75f75B2A...57052937B
0.005 ETH
68346512018-12-06 4:45:392281 days ago1544071539
0x75f75B2A...57052937B
0.045 ETH
68345222018-12-06 4:15:572281 days ago1544069757
0x75f75B2A...57052937B
0.045 ETH
67645282018-11-24 14:54:472293 days ago1543071287
0x75f75B2A...57052937B
0.005 ETH
67542542018-11-22 22:40:012294 days ago1542926401
0x75f75B2A...57052937B
0.005 ETH
67438472018-11-21 5:34:292296 days ago1542778469
0x75f75B2A...57052937B
0.005 ETH
66839182018-11-11 9:54:332306 days ago1541930073
0x75f75B2A...57052937B
0.005 ETH
66839052018-11-11 9:51:282306 days ago1541929888
0x75f75B2A...57052937B
0.005 ETH
66800682018-11-10 18:44:222307 days ago1541875462
0x75f75B2A...57052937B
0.005 ETH
66792452018-11-10 15:38:472307 days ago1541864327
0x75f75B2A...57052937B
0.005 ETH
66791332018-11-10 15:15:152307 days ago1541862915
0x75f75B2A...57052937B
0.005 ETH
66791272018-11-10 15:13:322307 days ago1541862812
0x75f75B2A...57052937B
0.005 ETH
66767782018-11-10 5:57:132307 days ago1541829433
0x75f75B2A...57052937B
0.02375 ETH
66767332018-11-10 5:46:502307 days ago1541828810
0x75f75B2A...57052937B
0.005 ETH
66767102018-11-10 5:42:112307 days ago1541828531
0x75f75B2A...57052937B
0.02375 ETH
66758612018-11-10 2:23:472307 days ago1541816627
0x75f75B2A...57052937B
0.005 ETH
65937502018-10-27 15:00:292321 days ago1540652429
0x75f75B2A...57052937B
0.00076591 ETH
65937502018-10-27 15:00:292321 days ago1540652429
0x75f75B2A...57052937B
0.00076591 ETH
65937502018-10-27 15:00:292321 days ago1540652429
0x75f75B2A...57052937B
0.00015318 ETH
65937502018-10-27 15:00:292321 days ago1540652429
0x75f75B2A...57052937B
0.00015318 ETH
View All Internal Transactions
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xa115cCb6...d057ABf4b
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
PrizePool

Compiler Version
v0.4.21+commit.dfe3193c

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-04-26
*/

/* ==================================================================== */
/* Copyright (c) 2018 The ether.online Project.  All rights reserved.
/* 
/* https://ether.online  The first RPG game of blockchain 
/*  
/* authors [email protected]   
/*         [email protected]            
/* ==================================================================== */

pragma solidity ^0.4.20;

contract AccessAdmin {
    bool public isPaused = false;
    address public addrAdmin;  

    event AdminTransferred(address indexed preAdmin, address indexed newAdmin);

    function AccessAdmin() public {
        addrAdmin = msg.sender;
    }  


    modifier onlyAdmin() {
        require(msg.sender == addrAdmin);
        _;
    }

    modifier whenNotPaused() {
        require(!isPaused);
        _;
    }

    modifier whenPaused {
        require(isPaused);
        _;
    }

    function setAdmin(address _newAdmin) external onlyAdmin {
        require(_newAdmin != address(0));
        AdminTransferred(addrAdmin, _newAdmin);
        addrAdmin = _newAdmin;
    }

    function doPause() external onlyAdmin whenNotPaused {
        isPaused = true;
    }

    function doUnpause() external onlyAdmin whenPaused {
        isPaused = false;
    }
}

contract AccessService is AccessAdmin {
    address public addrService;
    address public addrFinance;

    modifier onlyService() {
        require(msg.sender == addrService);
        _;
    }

    modifier onlyFinance() {
        require(msg.sender == addrFinance);
        _;
    }

    function setService(address _newService) external {
        require(msg.sender == addrService || msg.sender == addrAdmin);
        require(_newService != address(0));
        addrService = _newService;
    }

    function setFinance(address _newFinance) external {
        require(msg.sender == addrFinance || msg.sender == addrAdmin);
        require(_newFinance != address(0));
        addrFinance = _newFinance;
    }

    function withdraw(address _target, uint256 _amount) 
        external 
    {
        require(msg.sender == addrFinance || msg.sender == addrAdmin);
        require(_amount > 0);
        address receiver = _target == address(0) ? addrFinance : _target;
        uint256 balance = this.balance;
        if (_amount < balance) {
            receiver.transfer(_amount);
        } else {
            receiver.transfer(this.balance);
        }      
    }
}

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    /**
    * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

contract PrizePool is AccessService {
    using SafeMath for uint256;

    event SendPrizeSuccesss(uint64 flag, uint256 oldBalance, uint256 sendVal);
    event PrizeTimeClear(uint256 newVal);
    uint64 public nextPrizeTime;
    uint256 maxPrizeOneDay = 30;

    
    function PrizePool() public {
        addrAdmin = msg.sender;
        addrService = msg.sender;
        addrFinance = msg.sender;
    }

    function() external payable {

    }

    function getBalance() external view returns(uint256) {
        return this.balance;
    }

    function clearNextPrizeTime() external onlyService {
        nextPrizeTime = 0;
        PrizeTimeClear(0);
    }

    function setMaxPrizeOneDay(uint256 val) external onlyAdmin {
        require(val > 0 && val < 100);
        require(val != maxPrizeOneDay);
        maxPrizeOneDay = val;
    }

    // gas 130000 per 10 address
    function sendPrize(address[] winners, uint256[] amounts, uint64 _flag) 
        external 
        onlyService 
        whenNotPaused
    {
        uint64 tmNow = uint64(block.timestamp);
        uint256 length = winners.length;
        require(length == amounts.length);
        require(length <= 64);

        uint256 sum = 0;
        for (uint32 i = 0; i < length; ++i) {
            sum = sum.add(amounts[i]);
        }
        uint256 balance = this.balance;
        require((sum.mul(100).div(balance)) <= maxPrizeOneDay);

        address addrZero = address(0);
        for (uint32 j = 0; j < length; ++j) {
            if (winners[j] != addrZero) {
                winners[j].transfer(amounts[j]);
            }
        }
        nextPrizeTime = tmNow + 72000;
        SendPrizeSuccesss(_flag, balance, sum);
    }
}

Contract Security Audit

Contract ABI

API
[{"constant":true,"inputs":[],"name":"getBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"doUnpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"val","type":"uint256"}],"name":"setMaxPrizeOneDay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"doPause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newAdmin","type":"address"}],"name":"setAdmin","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"clearNextPrizeTime","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"addrFinance","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newFinance","type":"address"}],"name":"setFinance","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isPaused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newService","type":"address"}],"name":"setService","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"addrAdmin","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"addrService","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"winners","type":"address[]"},{"name":"amounts","type":"uint256[]"},{"name":"_flag","type":"uint64"}],"name":"sendPrize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_target","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"nextPrizeTime","outputs":[{"name":"","type":"uint64"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"flag","type":"uint64"},{"indexed":false,"name":"oldBalance","type":"uint256"},{"indexed":false,"name":"sendVal","type":"uint256"}],"name":"SendPrizeSuccesss","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"newVal","type":"uint256"}],"name":"PrizeTimeClear","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"preAdmin","type":"address"},{"indexed":true,"name":"newAdmin","type":"address"}],"name":"AdminTransferred","type":"event"}]

Deployed Bytecode

0x6060604052600436106100da5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166312065fe081146100dc57806330efb8d314610101578063335aa61a1461011457806367d0661d1461012a578063704b6c021461013d57806376db76f11461015c57806382cb9df91461016f5780639b8d30641461019e578063b187bd26146101bd578063bf8bdac1146101e4578063bfae2f0e14610203578063cdd977e014610216578063da0bba9014610229578063f3fef3a314610260578063f548686014610282575b005b34156100e757600080fd5b6100ef6102b2565b60405190815260200160405180910390f35b341561010c57600080fd5b6100da6102c0565b341561011f57600080fd5b6100da6004356102fd565b341561013557600080fd5b6100da61034c565b341561014857600080fd5b6100da600160a060020a036004351661038b565b341561016757600080fd5b6100da610436565b341561017a57600080fd5b6101826104ac565b604051600160a060020a03909116815260200160405180910390f35b34156101a957600080fd5b6100da600160a060020a03600435166104bb565b34156101c857600080fd5b6101d061053a565b604051901515815260200160405180910390f35b34156101ef57600080fd5b6100da600160a060020a0360043516610543565b341561020e57600080fd5b6101826105c2565b341561022157600080fd5b6101826105d6565b341561023457600080fd5b6100da602460048035828101929082013591813591820191013567ffffffffffffffff604435166105e5565b341561026b57600080fd5b6100da600160a060020a0360043516602435610847565b341561028d57600080fd5b610295610945565b60405167ffffffffffffffff909116815260200160405180910390f35b600160a060020a0330163190565b60005433600160a060020a0390811661010090920416146102e057600080fd5b60005460ff1615156102f157600080fd5b6000805460ff19169055565b60005433600160a060020a03908116610100909204161461031d57600080fd5b60008111801561032d5750606481105b151561033857600080fd5b60035481141561034757600080fd5b600355565b60005433600160a060020a03908116610100909204161461036c57600080fd5b60005460ff161561037c57600080fd5b6000805460ff19166001179055565b60005433600160a060020a0390811661010090920416146103ab57600080fd5b600160a060020a03811615156103c057600080fd5b600054600160a060020a03808316916101009004167ff8ccb027dfcd135e000e9d45e6cc2d662578a8825d4c45b5e32e0adf67e79ec660405160405180910390a360008054600160a060020a039092166101000274ffffffffffffffffffffffffffffffffffffffff0019909216919091179055565b60015433600160a060020a0390811691161461045157600080fd5b600280547bffffffffffffffff0000000000000000000000000000000000000000191690557f5375a076502d9c75336a86508db399eb44d81c74d7a4b21d8f17fee4a38a3c7a600060405190815260200160405180910390a1565b600254600160a060020a031681565b60025433600160a060020a03908116911614806104eb575060005433600160a060020a0390811661010090920416145b15156104f657600080fd5b600160a060020a038116151561050b57600080fd5b6002805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60005460ff1681565b60015433600160a060020a0390811691161480610573575060005433600160a060020a0390811661010090920416145b151561057e57600080fd5b600160a060020a038116151561059357600080fd5b6001805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000546101009004600160a060020a031681565b600154600160a060020a031681565b60015460009081908190819081908190819033600160a060020a0390811691161461060f57600080fd5b60005460ff161561061f57600080fd5b4296508a955088861461063157600080fd5b604086111561063f57600080fd5b60009450600093505b858463ffffffff16101561068e576106818a8a63ffffffff871681811061066b57fe5b905060200201358661096d90919063ffffffff16565b9450836001019350610648565b600354600160a060020a0330163193506106bf846106b388606463ffffffff61098716565b9063ffffffff6109b216565b11156106ca57600080fd5b5060009050805b858163ffffffff16101561079157600160a060020a0382168c8c63ffffffff84168181106106fb57fe5b90506020020135600160a060020a0316600160a060020a0316141515610789578b8b63ffffffff831681811061072d57fe5b90506020020135600160a060020a0316600160a060020a03166108fc8b8b8463ffffffff16818110151561075d57fe5b905060200201359081150290604051600060405180830381858888f19350505050151561078957600080fd5b6001016106d1565b600280547bffffffffffffffff0000000000000000000000000000000000000000191674010000000000000000000000000000000000000000620119408a0167ffffffffffffffff16021790557f3ac35f44fa8ae72d6230239912bf440fedd9ce83f24526787fa0efd7d615a17d888487604051808467ffffffffffffffff1667ffffffffffffffff168152602001838152602001828152602001935050505060405180910390a1505050505050505050505050565b600254600090819033600160a060020a039081169116148061087c575060005433600160a060020a0390811661010090920416145b151561088757600080fd5b6000831161089457600080fd5b600160a060020a038416156108a957836108b6565b600254600160a060020a03165b915050600160a060020a033016318083101561090257600160a060020a03821683156108fc0284604051600060405180830381858888f1935050505015156108fd57600080fd5b61093f565b81600160a060020a03166108fc30600160a060020a0316319081150290604051600060405180830381858888f19350505050151561093f57600080fd5b50505050565b60025474010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60008282018381101561097c57fe5b8091505b5092915050565b60008083151561099a5760009150610980565b508282028284828115156109aa57fe5b041461097c57fe5b60008082848115156109c057fe5b049493505050505600a165627a7a72305820ed8c99c85fa0f57f3faf2fa766b5cea5bb447979eb8d309d3f3645d5b4a67c820029

Swarm Source

bzzr://ed8c99c85fa0f57f3faf2fa766b5cea5bb447979eb8d309d3f3645d5b4a67c82

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

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