ETH Price: $1,853.48 (+0.65%)
Gas: 26 Gwei
 

Overview

ETH Balance

0.25 ETH

Eth Value

$463.37 (@ $1,853.48/ETH)

Multi Chain

Multichain Addresses

0 address found via
Transaction Hash
Method
Block
From
To
Value
Get Gifted86831362019-10-05 16:28:571342 days 4 hrs ago1570292937IN
0xba6Db6...f5C50012
0 ETH0.000093934
Withdraw86831272019-10-05 16:25:341342 days 4 hrs ago1570292734IN
0xba6Db6...f5C50012
0 ETH0.000086954
Get In Line63882972018-09-24 2:44:281718 days 18 hrs ago1537757068IN
0xba6Db6...f5C50012
0.125 ETH0.002490977
Get In Line63615352018-09-19 16:37:231723 days 4 hrs ago1537375043IN
0xba6Db6...f5C50012
0.125 ETH0.002799327
0x6080604061005422018-08-06 20:17:341767 days 42 mins ago1533586654IN
 Create: CChain
0 ETH0.001158681.3

Advanced mode:
Parent Txn Hash Block From To Value
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CChain

Compiler Version
v0.4.25-nightly.2018.6.6+commit.59b35fa5

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.2;

contract CChain {

    //Model User
    struct User {
        int8 gifters;
        uint id;
        uint lineNo;
        bool in_queue;
        string uid;
        address eth_address;
       // bool newPayer;
    }

    //Store User
    User[] userStore;

    //Fetch User
    mapping(address => User) public users;
    mapping(uint => address) public intUsers;
    //Store User Count
    uint public userCount;
    //pay price
    //uint price = 0.10 ether;
    //contract fee
    //uint contract_price = 0.025 ether;
    uint gift = 0.30 ether;
    uint public total_price = 0.125 ether;
    //my own
    address public iown;

    uint public currentlyInLine;
    uint public lineCount;

     //Constructor
    constructor() public{
        iown = msg.sender;
        currentlyInLine = 0;
        lineCount = 0;
    }

    //add User to Contract
    function addUser(string _user_id, address _user_address) private {
        require(users[_user_address].id == 0);

        userCount++;
        userStore.length++;
        User storage u = userStore[userStore.length - 1];
        u.id = userCount;
        u.uid = _user_id;
        u.eth_address = _user_address;
        u.in_queue = false;
        u.gifters = 0;

        users[_user_address] = u;
        //intUsers[userCount] = _user_address;
        //checkGifters();
    }


    //Pay to get in line
    function getInLine(string _user_id, address _user_address) public payable returns (bool) {
        require(msg.value >= total_price);
        require(users[_user_address].in_queue == false);

        if(users[_user_address].id == 0) {
            addUser(_user_id, _user_address);
        }

        lineCount++;
        User storage u = users[_user_address];
        u.in_queue = true;
        u.lineNo = lineCount;
        intUsers[lineCount] = _user_address;

        checkGifters();

        return true;
    }

    function checkGifters() private {
        if(currentlyInLine == 0){
            currentlyInLine = 1;
        }
        else{
            address add = intUsers[currentlyInLine];
            User storage u = users[add];
            u.gifters++;
            if(u.gifters == 3 && u.in_queue == true){
                u.in_queue = false;
                currentlyInLine++;
            }
        }
    }

    //read your gifter
    function getMyGifters(address _user_address) external view returns (int8) {
        return users[_user_address].gifters;
    }

    //user withdraw
    function getGifted(address _user_address) external {
        require(users[_user_address].id != 0);
        require(users[_user_address].gifters == 3);

        if(users[_user_address].id != 0 && users[_user_address].gifters == 3){
            _user_address.transfer(gift);
            User storage u = users[_user_address];
            u.gifters = 0;
        }
    }

    //admin
    function withdraw() external{
        require(msg.sender == iown);
        iown.transfer(address(this).balance);
    }

    function withdrawAmount(uint amount) external{
        require(msg.sender == iown);
        iown.transfer(amount);
    }

    function getThisBalance() external view returns (uint) {
        return address(this).balance;
    }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"amount","type":"uint256"}],"name":"withdrawAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"userCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_user_address","type":"address"}],"name":"getMyGifters","outputs":[{"name":"","type":"int8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"currentlyInLine","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_user_id","type":"string"},{"name":"_user_address","type":"address"}],"name":"getInLine","outputs":[{"name":"","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"iown","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getThisBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"users","outputs":[{"name":"gifters","type":"int8"},{"name":"id","type":"uint256"},{"name":"lineNo","type":"uint256"},{"name":"in_queue","type":"bool"},{"name":"uid","type":"string"},{"name":"eth_address","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"intUsers","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_user_address","type":"address"}],"name":"getGifted","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"total_price","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"lineCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"}]

6080604052670429d069189e00006004556701bc16d674ec800060055534801561002857600080fd5b5060068054600160a060020a0319163317905560006007819055600855610b3a806100546000396000f3006080604052600436106100c45763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630562b9f781146100c957806307973ccf146100e35780633ccfd60b1461010a578063402ba4b71461011f578063574419c3146101595780636a99a3041461016e5780638e0bba69146101d95780638e8cf4a81461020a578063a87430ba1461021f578063cb1611cf146102f7578063e98f83d51461030f578063f5cd303d14610330578063fd3615c914610345575b600080fd5b3480156100d557600080fd5b506100e160043561035a565b005b3480156100ef57600080fd5b506100f86103af565b60408051918252519081900360200190f35b34801561011657600080fd5b506100e16103b5565b34801561012b57600080fd5b50610140600160a060020a0360043516610409565b60408051600092830b90920b8252519081900360200190f35b34801561016557600080fd5b506100f8610426565b6040805160206004803580820135601f81018490048402850184019095528484526101c594369492936024939284019190819084018382808284375094975050509235600160a060020a0316935061042c92505050565b604080519115158252519081900360200190f35b3480156101e557600080fd5b506101ee61050f565b60408051600160a060020a039092168252519081900360200190f35b34801561021657600080fd5b506100f861051e565b34801561022b57600080fd5b50610240600160a060020a0360043516610524565b604051808760000b60000b8152602001868152602001858152602001841515151581526020018060200183600160a060020a0316600160a060020a03168152602001828103825284818151815260200191508051906020019080838360005b838110156102b757818101518382015260200161029f565b50505050905090810190601f1680156102e45780820380516001836020036101000a031916815260200191505b5097505050505050505060405180910390f35b34801561030357600080fd5b506101ee6004356105f3565b34801561031b57600080fd5b506100e1600160a060020a036004351661060e565b34801561033c57600080fd5b506100f8610704565b34801561035157600080fd5b506100f861070a565b600654600160a060020a0316331461037157600080fd5b600654604051600160a060020a039091169082156108fc029083906000818181858888f193505050501580156103ab573d6000803e3d6000fd5b5050565b60035481565b600654600160a060020a031633146103cc57600080fd5b600654604051600160a060020a0390911690303180156108fc02916000818181858888f19350505050158015610406573d6000803e3d6000fd5b50565b600160a060020a0316600090815260016020526040812054900b90565b60075481565b600080600554341015151561044057600080fd5b600160a060020a03831660009081526001602052604090206003015460ff161561046957600080fd5b600160a060020a038316600090815260016020819052604090912001541515610496576104968484610710565b506008805460019081018255600160a060020a03841660008181526020838152604080832060038101805460ff191690961790955594546002808601829055908352905292909220805473ffffffffffffffffffffffffffffffffffffffff191690921790915561050561088b565b5060019392505050565b600654600160a060020a031681565b30315b90565b6001602081815260009283526040808420805481850154600280840154600385015460048601805488516101009b8216159b909b02600019011693909304601f810189900489028a0189019097528689529390980b979196919560ff9093169491929091908301828280156105da5780601f106105af576101008083540402835291602001916105da565b820191906000526020600020905b8154815290600101906020018083116105bd57829003601f168201915b50505060059093015491925050600160a060020a031686565b600260205260009081526040902054600160a060020a031681565b600160a060020a038116600090815260016020819052604082200154151561063557600080fd5b600160a060020a038216600090815260016020526040812054810b900b60031461065e57600080fd5b600160a060020a03821660009081526001602081905260409091200154158015906106a55750600160a060020a038216600090815260016020526040812054810b900b6003145b156103ab57600454604051600160a060020a0384169180156108fc02916000818181858888f193505050501580156106e1573d6000803e3d6000fd5b5050600160a060020a03166000908152600160205260409020805460ff19169055565b60055481565b60085481565b600160a060020a0381166000908152600160208190526040822001541561073657600080fd5b600380546001908101909155600080549161075391908301610923565b5060008054600019810190811061076657fe5b90600052602060002090600602019050600354816001018190555082816004019080519060200190610799929190610954565b5060058101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384169081179091556003808301805460ff19908116825584548116808655600094855260016020819052604086208054841660ff93880b90970b831696909617865580870154868201556002808801548782015593549486018054909316949091161515939093179055600480850180548695946108539493860193610100918316159190910260001901909116046109d2565b506005918201549101805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055505050565b600080600754600014156108a35760016007556103ab565b5050600754600090815260026020908152604080832054600160a060020a0316808452600192839052908320805460ff19811660ff91860b909401850b1692909217808355909290810b900b60031480156109075750600381015460ff1615156001145b156103ab57600301805460ff1916905550600780546001019055565b81548183558181111561094f5760060281600602836000526020600020918201910161094f9190610a47565b505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f1061099557805160ff19168380011785556109c2565b828001600101855582156109c2579182015b828111156109c25782518255916020019190600101906109a7565b506109ce929150610ab0565b5090565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610a0b57805485556109c2565b828001600101855582156109c257600052602060002091601f016020900482015b828111156109c2578254825591600101919060010190610a2c565b61052191905b808211156109ce57805460ff19908116825560006001830181905560028301819055600383018054909216909155610a886004830182610aca565b5060058101805473ffffffffffffffffffffffffffffffffffffffff19169055600601610a4d565b61052191905b808211156109ce5760008155600101610ab6565b50805460018160011615610100020316600290046000825580601f10610af05750610406565b601f0160209004906000526020600020908101906104069190610ab05600a165627a7a72305820402a53fbe1eb4c7f14b0f02e9127ab9d418407b7fccff0039017286dc7f844fc0029

Swarm Source

bzzr://402a53fbe1eb4c7f14b0f02e9127ab9d418407b7fccff0039017286dc7f844fc

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.