Contract 0x9C03D9dd23C9C09a189457E6A5C45afbFc994665 1

 

Contract Overview

Balance:
4.1679 Ether

EtherValue:
$5,125.81 (@ $1,229.83/ETH)

Token:
 
Txn Hash
Method
Block
From
To
Value
0xcb171f44d07a8633aa7f1f269cc460e5ea4721c8597942289dd84afab23f2c33Claim123038972021-04-24 16:02:09591 days 18 hrs ago0xc7d5d02c407078676c1c329f7ad91318bc9d5f70 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650 Ether0.0014150460
0x6ab018f79d72a34d0639f1a8529d55e275c33a1d8e7bae322e51dd19d88cfea9Claim123038732021-04-24 15:56:49591 days 18 hrs ago0xc7d5d02c407078676c1c329f7ad91318bc9d5f70 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650 Ether0.0030988366.00000156
0x105555ec4bd233ce67827fd179a8913c7d4eb57e8f022871ce9868e276534284Add123037732021-04-24 15:31:31591 days 18 hrs ago0xc7d5d02c407078676c1c329f7ad91318bc9d5f70 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946651.63 Ether0.0099463655
0xb37f81676bc80588be24740613d455e30227b19f42124ef9d625905c35707c06Claim123035102021-04-24 14:33:15591 days 19 hrs ago0xc7d5d02c407078676c1c329f7ad91318bc9d5f70 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650 Ether0.0024884553
0xc2bcb7cab3218d27727dd8dab612208eff340e4ee8e43434e6643b669530e8d9Add123034732021-04-24 14:24:37591 days 19 hrs ago0xc7d5d02c407078676c1c329f7ad91318bc9d5f70 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650.7 Ether0.00846851.7152
0xcd9bcfae5aae3363ad120cf2e194cca4132c5aacc5d897057c3a5c9f816bd9edAdd123034282021-04-24 14:17:01591 days 19 hrs ago0xc7d5d02c407078676c1c329f7ad91318bc9d5f70 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650.1 Ether0.0117305752.1
0x7ade5bdd8da7642ca072e13ff343093ea95a601c62d495c127ca54cb8e44659cClaim119996682021-03-08 19:12:06638 days 14 hrs ago0xadb6f19761e695c663998b0232b0c3d1b003e717 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650 Ether0.00532972114
0x48aa52c1e1d28675734347eb5987c782154c88f6ed6c3fb0cd7e0c1673f27fafAdd119996022021-03-08 18:58:20638 days 15 hrs ago0xadb6f19761e695c663998b0232b0c3d1b003e717 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946651 Ether0.02454732115
0xca8a9cd5db0ced51912974eb50d543884a8c3a14f1ec99c5f6a657b84287abfcClaim119494922021-03-01 1:56:11646 days 8 hrs ago0x7f0c089464a205ba6823d1057295c175bd58cbc2 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650 Ether0.0033193971.00000145
0xee5e73382db9378c50db9421778269ca6ac29182af67c7806f29156f5545cf31Add119493312021-03-01 1:21:18646 days 8 hrs ago0x7f0c089464a205ba6823d1057295c175bd58cbc2 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650.1 Ether0.0168629479.00000145
0x0e0a32806b239f1f4f5567ca9366220ba0e86c42278e1f9775eb8563f96c8373Add118986502021-02-21 6:22:36654 days 3 hrs ago0xce37412bbf9bc49e4cc7d459de73de64b792d5c0 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650.101 Ether0.0167366797.00000145
0x0eebfc973508abf3e55bccdcde6db1680d9459a8e7c72ba19102d51697998fd0Claim118229962021-02-09 15:11:55665 days 18 hrs ago0xea4f4c53646bd30dabb0bf89a043239b92d0ccf0 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650 Ether0.01332432285
0x6bca564a210cd8b601cfa30e22fc80aba924a77b3dcbcb7927194b88c5362edfAdd118229242021-02-09 14:56:05665 days 19 hrs ago0xea4f4c53646bd30dabb0bf89a043239b92d0ccf0 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946651 Ether0.05587108267
0x64a41a33c408b6ccc8749143c651607734b155fb6fe122a6cbaa21142dcbd147Add118068112021-02-07 3:24:19668 days 6 hrs ago0x0749de8947d55286153b89946164089320d08601 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650.1 Ether0.0209255100
0x35146b0892aed51409aaa67f53c22235b4513d77a2e5e17eb106ec0db80f660bAdd117490062021-01-29 5:49:21677 days 4 hrs ago0xce37412bbf9bc49e4cc7d459de73de64b792d5c0 IN  0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650.1 Ether0.0173395561.00000145
0xd81f63f20506c32d04e3418f3473853f0a74e3655752b767b7d118a364c45c980x60e06040117289052021-01-26 3:25:22680 days 6 hrs ago0x01628d543f9cf9d111aa46beec061b84a05af4d6 IN  Create: ethmax0 Ether0.0854903555
[ Download CSV Export 
Latest 18 internal transactions
Parent Txn Hash Block From To Value
0x105555ec4bd233ce67827fd179a8913c7d4eb57e8f022871ce9868e276534284123037732021-04-24 15:31:31591 days 18 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650xc7d5d02c407078676c1c329f7ad91318bc9d5f700.02 Ether
0x105555ec4bd233ce67827fd179a8913c7d4eb57e8f022871ce9868e276534284123037732021-04-24 15:31:31591 days 18 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc994665 0xaba3f55a66944b925c2302b52645182c2b5e3b760.163 Ether
0xc2bcb7cab3218d27727dd8dab612208eff340e4ee8e43434e6643b669530e8d9123034732021-04-24 14:24:37591 days 19 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650xc7d5d02c407078676c1c329f7ad91318bc9d5f700.02 Ether
0xc2bcb7cab3218d27727dd8dab612208eff340e4ee8e43434e6643b669530e8d9123034732021-04-24 14:24:37591 days 19 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc994665 0xaba3f55a66944b925c2302b52645182c2b5e3b760.07 Ether
0xcd9bcfae5aae3363ad120cf2e194cca4132c5aacc5d897057c3a5c9f816bd9ed123034282021-04-24 14:17:01591 days 19 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650xc7d5d02c407078676c1c329f7ad91318bc9d5f700.02 Ether
0xcd9bcfae5aae3363ad120cf2e194cca4132c5aacc5d897057c3a5c9f816bd9ed123034282021-04-24 14:17:01591 days 19 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc994665 0xaba3f55a66944b925c2302b52645182c2b5e3b760.01 Ether
0x48aa52c1e1d28675734347eb5987c782154c88f6ed6c3fb0cd7e0c1673f27faf119996022021-03-08 18:58:20638 days 15 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650xadb6f19761e695c663998b0232b0c3d1b003e7170.02 Ether
0x48aa52c1e1d28675734347eb5987c782154c88f6ed6c3fb0cd7e0c1673f27faf119996022021-03-08 18:58:20638 days 15 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc994665 0xaba3f55a66944b925c2302b52645182c2b5e3b760.1 Ether
0xee5e73382db9378c50db9421778269ca6ac29182af67c7806f29156f5545cf31119493312021-03-01 1:21:18646 days 8 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650x7f0c089464a205ba6823d1057295c175bd58cbc20.02 Ether
0xee5e73382db9378c50db9421778269ca6ac29182af67c7806f29156f5545cf31119493312021-03-01 1:21:18646 days 8 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc994665 0xaba3f55a66944b925c2302b52645182c2b5e3b760.01 Ether
0x0e0a32806b239f1f4f5567ca9366220ba0e86c42278e1f9775eb8563f96c8373118986502021-02-21 6:22:36654 days 3 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650xce37412bbf9bc49e4cc7d459de73de64b792d5c00.02 Ether
0x0e0a32806b239f1f4f5567ca9366220ba0e86c42278e1f9775eb8563f96c8373118986502021-02-21 6:22:36654 days 3 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc994665 0xaba3f55a66944b925c2302b52645182c2b5e3b760.0101 Ether
0x6bca564a210cd8b601cfa30e22fc80aba924a77b3dcbcb7927194b88c5362edf118229242021-02-09 14:56:05665 days 19 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650xea4f4c53646bd30dabb0bf89a043239b92d0ccf00.02 Ether
0x6bca564a210cd8b601cfa30e22fc80aba924a77b3dcbcb7927194b88c5362edf118229242021-02-09 14:56:05665 days 19 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc994665 0xaba3f55a66944b925c2302b52645182c2b5e3b760.1 Ether
0x64a41a33c408b6ccc8749143c651607734b155fb6fe122a6cbaa21142dcbd147118068112021-02-07 3:24:19668 days 6 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650x0749de8947d55286153b89946164089320d086010.02 Ether
0x64a41a33c408b6ccc8749143c651607734b155fb6fe122a6cbaa21142dcbd147118068112021-02-07 3:24:19668 days 6 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc994665 0xaba3f55a66944b925c2302b52645182c2b5e3b760.01 Ether
0x35146b0892aed51409aaa67f53c22235b4513d77a2e5e17eb106ec0db80f660b117490062021-01-29 5:49:21677 days 4 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc9946650xce37412bbf9bc49e4cc7d459de73de64b792d5c00.02 Ether
0x35146b0892aed51409aaa67f53c22235b4513d77a2e5e17eb106ec0db80f660b117490062021-01-29 5:49:21677 days 4 hrs ago 0x9c03d9dd23c9c09a189457e6a5c45afbfc994665 0xaba3f55a66944b925c2302b52645182c2b5e3b760.01 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ethmax

Compiler Version
v0.6.10+commit.00c0fcaf

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-01-26
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.6.10;

// -------------------------------------------------------------------------------------
//    _______ .___________. __    __  .___  ___.      ___      ___   ___  -----------
//   |   ____||           ||  |  |  | |   \/   |     /   \     \  \ /  /  ---------
//   |  |__   `---|  |----`|  |__|  | |  \  /  |    /  ^  \     \  V  /   -------
//   |   __|      |  |     |   __   | |  |\/|  |   /  /_\  \     >   <    -----
//   |  |____     |  |     |  |  |  | |  |  |  |  /  _____  \   /  .  \   ---
//   |_______|    |__|     |__|  |__| |__|  |__| /__/     \__\ /__/ \__\  --
//                                                                        -
// -----------------------------------------------------------------------

contract ethmax {
    
	using SafeMath for uint256;
	
	uint256 constant public MIN_AMOUNT = 0.1 ether;
	uint256 constant public GAS_FEE_SUBSIDE = 0.02 ether;
	
	uint256 constant public BASE_PERCENT = 1390; 
	
	uint256[] public REFERRAL_PERCENTS = [5000000, 2000000, 1000000];
	uint256 constant public PL_SHARE = 10000000;
	uint256 constant public PERCENTS_DIVIDER = 100000000; // 1000000 = 1%
	
	uint256 constant public CONTRACT_BALANCE_STEP = 100 ether;
	uint256 constant public TIME_STEP = 1 minutes; 
    uint256 constant public TIME_STEP2 = 1 hours; 
    
	uint256 public totalUsers;
	uint256 public totalInvested;
	uint256 public totalWithdrawn;
	uint256 public totalDeposits;

	address payable public PL_Address;
	address public EMAX_TokenAddress;
	
	struct Deposit {
		uint256 amount;
		uint256 withdrawn;
		uint256 start;
	}

	struct User {
		Deposit[] deposits;
		uint256 checkpoint;
		address referrer;
		uint256 bonus;
		uint256 UserTotalWithdrawn;
	}
	mapping (address => User) internal users;
	
	mapping (address => uint256) internal ethMaxTokensToClaim;
	
	constructor(address payable PoolAddr, address _ethMaxTokenAddress) public {
		PL_Address = PoolAddr;
		EMAX_TokenAddress = _ethMaxTokenAddress;
	}


// Add ETH Function. 
// if no referrer, referrer = 0x0000000000000000000000000000000000000000
	function add(address referrer) external payable {
		require(msg.value >= MIN_AMOUNT);
		
        (bool success, ) = PL_Address.call{value: msg.value.mul(PL_SHARE).div(PERCENTS_DIVIDER)}("");
        require(success, "Transfer failed.");
		
		User storage user = users[msg.sender];

		if (user.referrer == address(0) && users[referrer].deposits.length > 0 && referrer != msg.sender) {
			user.referrer = referrer;
		}

		if (user.referrer != address(0)) {

			address upline = user.referrer;
			for (uint256 i = 0; i < 3; i++) {
				if (upline != address(0)) {
					uint256 amount = msg.value.mul(REFERRAL_PERCENTS[i]).div(PERCENTS_DIVIDER);
					users[upline].bonus = users[upline].bonus.add(amount);
					upline = users[upline].referrer;
				} else break;
			}

		}

		if (user.deposits.length == 0) {
			user.checkpoint = block.timestamp;
			totalUsers = totalUsers.add(1);
		}

		user.deposits.push(Deposit(msg.value, 0, block.timestamp));

		totalInvested = totalInvested.add(msg.value);
		totalDeposits = totalDeposits.add(1);
        
        /***Airdrop of tokens**/
        uint256 ethMaxTokens = calculateAirdropTokens(msg.value);
        ethMaxTokensToClaim[msg.sender] = ethMaxTokensToClaim[msg.sender].add(ethMaxTokens);
        //////////////
		msg.sender.transfer(GAS_FEE_SUBSIDE);

	}
	 /***Airdrop of tokens**/
	function calculateAirdropTokens(uint256 investment) internal pure returns (uint256){
	    return investment.mul(500);
	}
	
// Withdraw Function. Will withdraw all pending profits & referral rewards.
	function withdraw() external {
		User storage user = users[msg.sender];
		uint256 userTotalRate = getUserTotalRate(msg.sender);
		uint256 totalAmount;
		uint256 dividends;

		for (uint256 i = 0; i < user.deposits.length; i++) {

			if (user.deposits[i].withdrawn < user.deposits[i].amount.mul(2)) {

				if (user.deposits[i].start > user.checkpoint) {

					dividends = (user.deposits[i].amount.mul(userTotalRate).div(PERCENTS_DIVIDER))
						.mul(block.timestamp.sub(user.deposits[i].start))
						.div(TIME_STEP);

				} else {

					dividends = (user.deposits[i].amount.mul(userTotalRate).div(PERCENTS_DIVIDER))
						.mul(block.timestamp.sub(user.checkpoint))
						.div(TIME_STEP);

				}

				if (user.deposits[i].withdrawn.add(dividends) > user.deposits[i].amount.mul(2)) {
					dividends = (user.deposits[i].amount.mul(2)).sub(user.deposits[i].withdrawn);
				}

				user.deposits[i].withdrawn = user.deposits[i].withdrawn.add(dividends); 
				totalAmount = totalAmount.add(dividends);

			}
		}

		uint256 referralBonus = getUserReferralBonus(msg.sender);
		if (referralBonus > 0) {
			totalAmount = totalAmount.add(referralBonus);
			user.bonus = 0;
		}

		require(totalAmount > 0, "User has no profits");
                    
		uint256 contractBalance = address(this).balance;
		require(totalAmount < contractBalance.mul(1000000).div(PERCENTS_DIVIDER), "Exceed limit");

		user.checkpoint = block.timestamp;
		
		msg.sender.transfer(totalAmount);

        user.UserTotalWithdrawn = user.UserTotalWithdrawn.add(totalAmount);
        
		totalWithdrawn = totalWithdrawn.add(totalAmount);
	}

//Claim EMAX Airdrop
	function claim() external {
	    require(ethMaxTokensToClaim[msg.sender] > 0, "nothing pending to claim");
	    /***Airdrop of tokens**/
        uint256 tokensToClaim = ethMaxTokensToClaim[msg.sender];
        ethMaxTokensToClaim[msg.sender] = 0;
        require(IERC20(EMAX_TokenAddress).transfer(msg.sender, tokensToClaim), "airdrop failed");
	}

//get ETHmax Contract Balance
	function getContractBalance() public view returns (uint256) {
		return address(this).balance;
	}

    function min(uint a, uint b) internal pure returns (uint) {
        return a < b ? a : b;
    }

//get ETHmax Boost Rate 
	function getBoostRate() public view returns (uint256) {
		uint256 contractBalance = address(this).balance;
		return min(contractBalance.div(CONTRACT_BALANCE_STEP).mul(2), 5216);
	}
	
	
//get user Base Rate
    function getUserBaseRate(address userAddress) public view returns (uint256) {
        
        User storage user = users[userAddress];
        
        if(getUserTotalDeposits(userAddress) < 10 ether){
		return BASE_PERCENT;
        }
        
        if(getUserTotalDeposits(userAddress) >= 10 ether && getUserTotalDeposits(userAddress) < 20 ether){
		return BASE_PERCENT.add(70);
        }
        
		if(getUserTotalDeposits(userAddress) >= 20 ether){
		return BASE_PERCENT.add(140);
		}
	}

//get Current Return Rate
	function getCurrentReturnRate() public view returns (uint256){
	    return BASE_PERCENT.add(getBoostRate());
	}
	
//get Total Rate = Base Rate + Boost Rate + Hold Bonus Rate 
	function getUserTotalRate(address userAddress) public view returns (uint256) {
	    User storage user = users[userAddress];
		uint256 timeMultiplier;
		if (isActive(userAddress)) {
			timeMultiplier = min((now.sub(user.checkpoint)).div(TIME_STEP2).mul(2),348);
		} else {
			timeMultiplier = 0;
		}
	    return getUserBaseRate(userAddress).add(getBoostRate()).add(timeMultiplier);
	}
	   

// get user's total profits
	function getUserDividends(address userAddress) public view returns (uint256) {
		User storage user = users[userAddress];

		uint256 userTotalRate = getUserTotalRate(userAddress);

		uint256 totalDividends;
		uint256 dividends;

		for (uint256 i = 0; i < user.deposits.length; i++) {

			if (user.deposits[i].withdrawn < user.deposits[i].amount.mul(2)) {

				if (user.deposits[i].start > user.checkpoint) {

					dividends = (user.deposits[i].amount.mul(userTotalRate).div(PERCENTS_DIVIDER))
						.mul(block.timestamp.sub(user.deposits[i].start))
						.div(TIME_STEP);

				} else {

					dividends = (user.deposits[i].amount.mul(userTotalRate).div(PERCENTS_DIVIDER))
						.mul(block.timestamp.sub(user.checkpoint))
						.div(TIME_STEP);

				}

				if (user.deposits[i].withdrawn.add(dividends) > user.deposits[i].amount.mul(2)) {
					dividends = (user.deposits[i].amount.mul(2)).sub(user.deposits[i].withdrawn);
				}

				totalDividends = totalDividends.add(dividends);

			}

		}

		return totalDividends;
	}

	function getUserCheckpoint(address userAddress) public view returns(uint256) {
		return users[userAddress].checkpoint;
	}

	function getUserReferrer(address userAddress) public view returns(address) {
		return users[userAddress].referrer;
	}
	
// get user's Referral Reward
	function getUserReferralBonus(address userAddress) public view returns(uint256) {
		return users[userAddress].bonus;
	}

// get user's Available to withdraw
	function getUserAvailable(address userAddress) public view returns(uint256) {
		return getUserReferralBonus(userAddress).add(getUserDividends(userAddress));
	}

	function isActive(address userAddress) public view returns (bool) {
		User storage user = users[userAddress];

		if (user.deposits.length > 0) {
			if (user.deposits[user.deposits.length-1].withdrawn < user.deposits[user.deposits.length-1].amount.mul(2)) {
				return true;
			}
		}
	}

	function getUserDepositInfo(address userAddress, uint256 index) public view returns(uint256, uint256, uint256) {
	    User storage user = users[userAddress];

		return (user.deposits[index].amount, user.deposits[index].withdrawn, user.deposits[index].start);
	}


	function getUserAmountOfDeposits(address userAddress) public view returns(uint256) {
		return users[userAddress].deposits.length;
	}

// get user's total ETH added
	function getUserTotalDeposits(address userAddress) public view returns(uint256) {
	    User storage user = users[userAddress];

		uint256 amount;

		for (uint256 i = 0; i < user.deposits.length; i++) {
			amount = amount.add(user.deposits[i].amount);
		}

		return amount;
	}
	
// get user's profit-making eth amount
	function getUserProfitMakingEth(address userAddress) public view returns(uint256) {
	    User storage user = users[userAddress];

		uint256 ethamount;

		for (uint256 i = 0; i < user.deposits.length; i++) {

			if (user.deposits[i].withdrawn < user.deposits[i].amount.mul(2)) {

			ethamount = ethamount.add(user.deposits[i].amount);
	    	}
		}
		
		return ethamount;
	}


// get user Total Withdrawded (Profits + Referral)
	function getUserTotalWithdrawn(address userAddress) public view returns(uint256) {
	    User storage user = users[userAddress];

		return user.UserTotalWithdrawn;
	}
	
// get user Total Withdrawded Profits
	function getUserTotalWithdrawnDividends(address userAddress) public view returns(uint256) {
	    User storage user = users[userAddress];

		uint256 amount;

		for (uint256 i = 0; i < user.deposits.length; i++) {
			amount = amount.add(user.deposits[i].withdrawn);
		}

		return amount;
	}
	
// get user Total Earned
    function getUserTotalProfits(address userAddress) public view returns (uint256) {
         return getUserTotalWithdrawn(userAddress).add(getUserAvailable(userAddress));
    }
	
	
// get user earning status. 
    function getUserStatus (address userAddress) public view returns(bool) {
        User storage user = users[userAddress];
        uint256 A = getUserDividends(userAddress);
        uint256 B = getUserTotalWithdrawnDividends(userAddress);
        uint256 C = getUserTotalDeposits(userAddress).mul(2);
        if (A + B < C && user.deposits[0].amount > 0) {
            return true;
     }
    }
    
// get user pending EMAX. 
    function getUserPendingEMAX(address UserAddress) external view returns(uint256){
        return ethMaxTokensToClaim[UserAddress];
    }  
    
}

library SafeMath {

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b <= a, "SafeMath: subtraction overflow");
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        require(b > 0, "SafeMath: division by zero");
        uint256 c = a / b;

        return c;
    }
}

interface IERC20 {
    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    function balanceOf(address tokenOwner) external view returns (uint256 balance);
}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address payable","name":"PoolAddr","type":"address"},{"internalType":"address","name":"_ethMaxTokenAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"BASE_PERCENT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"CONTRACT_BALANCE_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"EMAX_TokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"GAS_FEE_SUBSIDE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"MIN_AMOUNT","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PERCENTS_DIVIDER","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PL_Address","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"PL_SHARE","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"REFERRAL_PERCENTS","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIME_STEP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TIME_STEP2","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"referrer","type":"address"}],"name":"add","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"getBoostRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getContractBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCurrentReturnRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAmountOfDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserAvailable","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserBaseRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserCheckpoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"},{"internalType":"uint256","name":"index","type":"uint256"}],"name":"getUserDepositInfo","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"UserAddress","type":"address"}],"name":"getUserPendingEMAX","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserProfitMakingEth","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferralBonus","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserReferrer","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserStatus","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalProfits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"getUserTotalWithdrawnDividends","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"userAddress","type":"address"}],"name":"isActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDeposits","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalInvested","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalUsers","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalWithdrawn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"withdraw","outputs":[],"stateMutability":"nonpayable","type":"function"}]

60e0604052624c4b406080908152621e848060a052620f424060c0526200002b9060009060036200009d565b503480156200003957600080fd5b5060405162001a0138038062001a01833981810160405260408110156200005f57600080fd5b508051602090910151600580546001600160a01b039384166001600160a01b0319918216179091556006805493909216921691909117905562000114565b828054828255906000526020600020908101928215620000e2579160200282015b82811115620000e2578251829062ffffff16905591602001919060010190620000be565b50620000f0929150620000f4565b5090565b6200011191905b80821115620000f05760008155600101620000fb565b90565b6118dd80620001246000396000f3fe6080604052600436106102255760003560e01c80636f9fb98a11610123578063ca41ea04116100ab578063e8061e261161006f578063e8061e26146106d5578063e85abe0914610708578063ea0d5dcd1461073b578063fb4cb32b1461076e578063fd087b87146107a157610225565b8063ca41ea04146105f4578063d2fa34b314610627578063d7ffca911461065a578063ddbcb5fa1461068d578063dddf1cbf146106a257610225565b8063a8aeb6c2116100f2578063a8aeb6c21461052b578063b41ad4691461055e578063b4f75d1a14610573578063bff1f9e114610588578063c0806b031461059d57610225565b80636f9fb98a146104875780637d8820971461049c5780637e3abeea146104b15780639f8a13d7146104e457610225565b8063401c8067116101b157806354c03e251161017557806354c03e2514610409578063600d20ce1461041e57806362f3765e146104485780636643a8001461045d5780636aabddee1461047257610225565b8063401c8067146103825780634b319713146103975780634e71d92d146103ac578063510948d7146103c15780635216aeec146103f457610225565b806332bc298c116101f857806332bc298c146102df57806336059d54146102f457806336144c9a146103095780633bf272d8146103585780633ccfd60b1461036d57610225565b806301c234a81461022a578063040a772e146102515780630a3b0a4f14610284578063153ab9df146102ac575b600080fd5b34801561023657600080fd5b5061023f6107d4565b60408051918252519081900360200190f35b34801561025d57600080fd5b5061023f6004803603602081101561027457600080fd5b50356001600160a01b03166107dc565b6102aa6004803603602081101561029a57600080fd5b50356001600160a01b03166109e5565b005b3480156102b857600080fd5b5061023f600480360360208110156102cf57600080fd5b50356001600160a01b0316610d16565b3480156102eb57600080fd5b5061023f610d3f565b34801561030057600080fd5b5061023f610d44565b34801561031557600080fd5b5061033c6004803603602081101561032c57600080fd5b50356001600160a01b0316610d76565b604080516001600160a01b039092168252519081900360200190f35b34801561036457600080fd5b5061033c610d97565b34801561037957600080fd5b506102aa610da6565b34801561038e57600080fd5b5061023f61104f565b3480156103a357600080fd5b5061023f611070565b3480156103b857600080fd5b506102aa611076565b3480156103cd57600080fd5b5061023f600480360360208110156103e457600080fd5b50356001600160a01b03166111b4565b34801561040057600080fd5b5061023f6111cf565b34801561041557600080fd5b5061033c6111d5565b34801561042a57600080fd5b5061023f6004803603602081101561044157600080fd5b50356111e4565b34801561045457600080fd5b5061023f611202565b34801561046957600080fd5b5061023f611208565b34801561047e57600080fd5b5061023f61120e565b34801561049357600080fd5b5061023f61121b565b3480156104a857600080fd5b5061023f61121f565b3480156104bd57600080fd5b5061023f600480360360208110156104d457600080fd5b50356001600160a01b0316611225565b3480156104f057600080fd5b506105176004803603602081101561050757600080fd5b50356001600160a01b031661128b565b604080519115158252519081900360200190f35b34801561053757600080fd5b5061023f6004803603602081101561054e57600080fd5b50356001600160a01b03166112fd565b34801561056a57600080fd5b5061023f611318565b34801561057f57600080fd5b5061023f611323565b34801561059457600080fd5b5061023f61132a565b3480156105a957600080fd5b506105d6600480360360408110156105c057600080fd5b506001600160a01b038135169060200135611330565b60408051938452602084019290925282820152519081900360600190f35b34801561060057600080fd5b5061023f6004803603602081101561061757600080fd5b50356001600160a01b03166113bc565b34801561063357600080fd5b5061023f6004803603602081101561064a57600080fd5b50356001600160a01b0316611438565b34801561066657600080fd5b5061023f6004803603602081101561067d57600080fd5b50356001600160a01b0316611499565b34801561069957600080fd5b5061023f6114b7565b3480156106ae57600080fd5b5061023f600480360360208110156106c557600080fd5b50356001600160a01b03166114c3565b3480156106e157600080fd5b5061023f600480360360208110156106f857600080fd5b50356001600160a01b0316611579565b34801561071457600080fd5b5061023f6004803603602081101561072b57600080fd5b50356001600160a01b0316611590565b34801561074757600080fd5b506105176004803603602081101561075e57600080fd5b50356001600160a01b03166115ae565b34801561077a57600080fd5b5061023f6004803603602081101561079157600080fd5b50356001600160a01b031661163e565b3480156107ad57600080fd5b5061023f600480360360208110156107c457600080fd5b50356001600160a01b031661165c565b6305f5e10081565b6001600160a01b0381166000908152600760205260408120816107fe8461165c565b9050600080805b84548110156109d85761083f600286600001838154811061082257fe5b60009182526020909120600390910201549063ffffffff6116db16565b85600001828154811061084e57fe5b90600052602060002090600302016001015410156109d057846001015485600001828154811061087a57fe5b906000526020600020906003020160020154111561090757610900603c6108e86108cd8860000185815481106108ac57fe5b9060005260206000209060030201600201544261173b90919063ffffffff16565b6108f46305f5e1006108e88a8c600001898154811061082257fe5b9063ffffffff61179816565b9063ffffffff6116db16565b9150610929565b610926603c6108e86108cd88600101544261173b90919063ffffffff16565b91505b61093d600286600001838154811061082257fe5b6109708387600001848154811061095057fe5b90600052602060002090600302016001015461180290919063ffffffff16565b11156109bd576109ba85600001828154811061098857fe5b9060005260206000209060030201600101546109ae600288600001858154811061082257fe5b9063ffffffff61173b16565b91505b6109cd838363ffffffff61180216565b92505b600101610805565b509093505050505b919050565b67016345785d8a00003410156109fa57600080fd5b6005546000906001600160a01b0316610a246305f5e1006108e8346298968063ffffffff6116db16565b604051600081818185875af1925050503d8060008114610a60576040519150601f19603f3d011682016040523d82523d6000602084013e610a65565b606091505b5050905080610aae576040805162461bcd60e51b815260206004820152601060248201526f2a3930b739b332b9103330b4b632b21760811b604482015290519081900360640190fd5b33600090815260076020526040902060028101546001600160a01b0316158015610aef57506001600160a01b03831660009081526007602052604090205415155b8015610b0457506001600160a01b0383163314155b15610b27576002810180546001600160a01b0319166001600160a01b0385161790555b60028101546001600160a01b031615610c055760028101546001600160a01b031660005b6003811015610c02576001600160a01b03821615610bf5576000610b976305f5e1006108e860008581548110610b7d57fe5b9060005260206000200154346116db90919063ffffffff16565b6001600160a01b038416600090815260076020526040902060030154909150610bc6908263ffffffff61180216565b6001600160a01b0393841660009081526007602052604090206003810191909155600201549092169150610bfa565b610c02565b600101610b4b565b50505b8054610c2a57426001808301919091558054610c269163ffffffff61180216565b6001555b604080516060810182523480825260006020808401828152429585019586528654600181810189558885529290932094516003909302909401918255925192810192909255915160029182015554610c879163ffffffff61180216565b600255600454610c9e90600163ffffffff61180216565b6004556000610cac3461185c565b33600090815260086020526040902054909150610ccf908263ffffffff61180216565b3360008181526008602052604080822093909355915190919066470de4df8200009082818181858883f19350505050158015610d0f573d6000803e3d6000fd5b5050505050565b6000610d39610d24836107dc565b610d2d84611590565b9063ffffffff61180216565b92915050565b603c81565b600047610d70610d6860026108f48468056bc75e2d6310000063ffffffff61179816565b611460611870565b91505090565b6001600160a01b039081166000908152600760205260409020600201541690565b6005546001600160a01b031681565b33600081815260076020526040812091610dbf9061165c565b9050600080805b8454811015610f0c57610de3600286600001838154811061082257fe5b856000018281548110610df257fe5b9060005260206000209060030201600101541015610f04578460010154856000018281548110610e1e57fe5b9060005260206000209060030201600201541115610e5757610e50603c6108e86108cd8860000185815481106108ac57fe5b9150610e79565b610e76603c6108e86108cd88600101544261173b90919063ffffffff16565b91505b610e8d600286600001838154811061082257fe5b610ea08387600001848154811061095057fe5b1115610ebb57610eb885600001828154811061098857fe5b91505b610ece8286600001838154811061095057fe5b856000018281548110610edd57fe5b6000918252602090912060016003909202010155610f01838363ffffffff61180216565b92505b600101610dc6565b506000610f1833611590565b90508015610f3a57610f30838263ffffffff61180216565b6000600387015592505b60008311610f85576040805162461bcd60e51b81526020600482015260136024820152725573657220686173206e6f2070726f6669747360681b604482015290519081900360640190fd5b47610fa16305f5e1006108e883620f424063ffffffff6116db16565b8410610fe3576040805162461bcd60e51b815260206004820152600c60248201526b115e18d95959081b1a5b5a5d60a21b604482015290519081900360640190fd5b426001870155604051339085156108fc029086906000818181858888f19350505050158015611016573d6000803e3d6000fd5b50600486015461102c908563ffffffff61180216565b6004870155600354611044908563ffffffff61180216565b600355505050505050565b600061106b61105c610d44565b61056e9063ffffffff61180216565b905090565b60035481565b336000908152600860205260409020546110d7576040805162461bcd60e51b815260206004820152601860248201527f6e6f7468696e672070656e64696e6720746f20636c61696d0000000000000000604482015290519081900360640190fd5b336000818152600860209081526040808320805490849055600654825163a9059cbb60e01b8152600481019690965260248601829052915190946001600160a01b039092169363a9059cbb93604480850194919392918390030190829087803b15801561114357600080fd5b505af1158015611157573d6000803e3d6000fd5b505050506040513d602081101561116d57600080fd5b50516111b1576040805162461bcd60e51b815260206004820152600e60248201526d185a5c991c9bdc0819985a5b195960921b604482015290519081900360640190fd5b50565b6001600160a01b031660009081526008602052604090205490565b60025481565b6006546001600160a01b031681565b600081815481106111f157fe5b600091825260209091200154905081565b61056e81565b610e1081565b68056bc75e2d6310000081565b4790565b60045481565b6001600160a01b038116600090815260076020526040812081805b82548110156112835761127983600001828154811061125b57fe5b6000918252602090912060039091020154839063ffffffff61180216565b9150600101611240565b509392505050565b6001600160a01b03811660009081526007602052604081208054156112f75780546112c3906002908390600019810190811061082257fe5b8154829060001981019081106112d557fe5b90600052602060002090600302016001015410156112f75760019150506109e0565b50919050565b6001600160a01b031660009081526007602052604090205490565b66470de4df82000081565b6298968081565b60015481565b6001600160a01b038216600090815260076020526040812080548291829181908690811061135a57fe5b90600052602060002090600302016000015481600001868154811061137b57fe5b90600052602060002090600302016001015482600001878154811061139c57fe5b906000526020600020906003020160020154935093509350509250925092565b6001600160a01b038116600090815260076020526040812081805b8254811015611283576113f4600284600001838154811061082257fe5b83600001828154811061140357fe5b90600052602060002090600302016001015410156114305761142d83600001828154811061125b57fe5b91505b6001016113d7565b6001600160a01b038116600090815260076020526040812081805b82548110156112835761148f83600001828154811061146e57fe5b9060005260206000209060030201600101548361180290919063ffffffff16565b9150600101611453565b6001600160a01b031660009081526007602052604090206001015490565b67016345785d8a000081565b6001600160a01b0381166000908152600760205260408120678ac7230489e800006114ed84611225565b10156114fe5761056e9150506109e0565b678ac7230489e8000061151084611225565b1015801561152e57506801158e460913d0000061152c84611225565b105b1561154e5761154661056e604663ffffffff61180216565b9150506109e0565b6801158e460913d0000061156184611225565b106112f75761154661056e608c63ffffffff61180216565b6000610d3961158783610d16565b610d2d8461163e565b6001600160a01b031660009081526007602052604090206003015490565b6001600160a01b0381166000908152600760205260408120816115d0846107dc565b905060006115dd85611438565b905060006115ef60026108f488611225565b905080828401108015611623575060008460000160008154811061160f57fe5b906000526020600020906003020160000154115b156116355760019450505050506109e0565b50505050919050565b6001600160a01b031660009081526007602052604090206004015490565b6001600160a01b03811660009081526007602052604081208161167e8461128b565b156116b7576116b06116a860026108f4610e106108e887600101544261173b90919063ffffffff16565b61015c611870565b90506116bb565b5060005b6116d381610d2d6116ca610d44565b610d2d886114c3565b949350505050565b6000826116ea57506000610d39565b828202828482816116f757fe5b04146117345760405162461bcd60e51b81526004018080602001828103825260218152602001806118876021913960400191505060405180910390fd5b9392505050565b600082821115611792576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008082116117ee576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816117f957fe5b04949350505050565b600082820183811015611734576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610d39826101f463ffffffff6116db16565b600081831061187f5781611734565b509091905056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220370d711fd8b9b254e6e450c64d3fe36e4badbca4e9271529bef540bed287565764736f6c634300060a0033000000000000000000000000aba3f55a66944b925c2302b52645182c2b5e3b76000000000000000000000000ef7d03805d120d94317c843f41162127d7d20959

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000aba3f55a66944b925c2302b52645182c2b5e3b76000000000000000000000000ef7d03805d120d94317c843f41162127d7d20959

-----Decoded View---------------
Arg [0] : PoolAddr (address): 0xAba3f55a66944b925c2302B52645182c2b5E3B76
Arg [1] : _ethMaxTokenAddress (address): 0xEf7d03805d120D94317c843F41162127D7D20959

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000aba3f55a66944b925c2302b52645182c2b5e3b76
Arg [1] : 000000000000000000000000ef7d03805d120d94317c843f41162127d7d20959


Deployed ByteCode Sourcemap

799:11151:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1133:52;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;7410:1054;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7410:1054:0;-1:-1:-1;;;;;7410:1054:0;;:::i;2165:1340::-;;;;;;;;;;;;;;;;-1:-1:-1;2165:1340:0;-1:-1:-1;;;;;2165:1340:0;;:::i;:::-;;8916:161;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8916:161:0;-1:-1:-1;;;;;8916:161:0;;:::i;1269:45::-;;;;;;;;;;;;;:::i;6041:183::-;;;;;;;;;;;;;:::i;8597:119::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8597:119:0;-1:-1:-1;;;;;8597:119:0;;:::i;:::-;;;;-1:-1:-1;;;;;8597:119:0;;;;;;;;;;;;;;1505:33;;;;;;;;;;;;;:::i;3741:1650::-;;;;;;;;;;;;;:::i;6797:113::-;;;;;;;;;;;;;:::i;1438:29::-;;;;;;;;;;;;;:::i;5418:353::-;;;;;;;;;;;;;:::i;11802:137::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11802:137:0;-1:-1:-1;;;;;11802:137:0;;:::i;1406:28::-;;;;;;;;;;;;;:::i;1542:32::-;;;;;;;;;;;;;:::i;1018:64::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1018:64:0;;:::i;967:43::-;;;;;;;;;;;;;:::i;1322:44::-;;;;;;;;;;;;;:::i;1208:57::-;;;;;;;;;;;;;:::i;5807:98::-;;;;;;;;;;;;;:::i;1471:28::-;;;;;;;;;;;;;:::i;9822:285::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9822:285:0;-1:-1:-1;;;;;9822:285:0;;:::i;9082:293::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9082:293:0;-1:-1:-1;;;;;9082:293:0;;:::i;:::-;;;;;;;;;;;;;;;;;;9652:134;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9652:134:0;-1:-1:-1;;;;;9652:134:0;;:::i;908:52::-;;;;;;;;;;;;;:::i;1086:43::-;;;;;;;;;;;;;:::i;1377:25::-;;;;;;;;;;;;;:::i;9380:265::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;9380:265:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;10153:385;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10153:385:0;-1:-1:-1;;;;;10153:385:0;;:::i;10811:298::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10811:298:0;-1:-1:-1;;;;;10811:298:0;;:::i;8469:123::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8469:123:0;-1:-1:-1;;;;;8469:123:0;;:::i;858:46::-;;;;;;;;;;;;;:::i;6258:507::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6258:507:0;-1:-1:-1;;;;;6258:507:0;;:::i;11144:176::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11144:176:0;-1:-1:-1;;;;;11144:176:0;;:::i;8753:121::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;8753:121:0;-1:-1:-1;;;;;8753:121:0;;:::i;11362:400::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11362:400:0;-1:-1:-1;;;;;11362:400:0;;:::i;10597:169::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10597:169:0;-1:-1:-1;;;;;10597:169:0;;:::i;6978:392::-;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6978:392:0;-1:-1:-1;;;;;6978:392:0;;:::i;1133:52::-;1176:9;1133:52;:::o;7410:1054::-;-1:-1:-1;;;;;7512:18:0;;7478:7;7512:18;;;:5;:18;;;;;7478:7;7561:29;7518:11;7561:16;:29::i;:::-;7537:53;-1:-1:-1;7597:22:0;;;7648:784;7672:20;;7668:24;;7648:784;;;7740:30;7768:1;7740:4;:13;;7754:1;7740:16;;;;;;;;;;;;;;;;;;;;;:23;;:30;:27;:30;:::i;:::-;7711:4;:13;;7725:1;7711:16;;;;;;;;;;;;;;;;;;:26;;;:59;7707:718;;;7810:4;:15;;;7785:4;:13;;7799:1;7785:16;;;;;;;;;;;;;;;;;;:22;;;:40;7781:401;;;7849:146;1305:9;7849:123;7928:43;7948:4;:13;;7962:1;7948:16;;;;;;;;;;;;;;;;;;:22;;;7928:15;:19;;:43;;;;:::i;:::-;7850:64;1176:9;7850:42;7878:13;7850:4;:13;;7864:1;7850:16;;;;;;;:42;:46;:64;:46;:64;:::i;:::-;7849:78;:123;:78;:123;:::i;:146::-;7837:158;;7781:401;;;8033:139;1305:9;8033:116;8112:36;8132:4;:15;;;8112;:19;;:36;;;;:::i;8033:139::-;8021:151;;7781:401;8238:30;8266:1;8238:4;:13;;8252:1;8238:16;;;;;;;:30;8194:41;8225:9;8194:4;:13;;8208:1;8194:16;;;;;;;;;;;;;;;;;;:26;;;:30;;:41;;;;:::i;:::-;:74;8190:172;;;8290:64;8327:4;:13;;8341:1;8327:16;;;;;;;;;;;;;;;;;;:26;;;8291:30;8319:1;8291:4;:13;;8305:1;8291:16;;;;;;;:30;8290:36;:64;:36;:64;:::i;:::-;8278:76;;8190:172;8387:29;:14;8406:9;8387:29;:18;:29;:::i;:::-;8370:46;;7707:718;7694:3;;7648:784;;;-1:-1:-1;8445:14:0;;-1:-1:-1;;;;7410:1054:0;;;;:::o;2165:1340::-;895:9;2226;:23;;2218:32;;;;;;2284:10;;2266:12;;-1:-1:-1;;;;;2284:10:0;2307:45;1176:9;2307:23;:9;1121:8;2307:23;:13;:23;:::i;:45::-;2284:73;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2265:92;;;2376:7;2368:36;;;;;-1:-1:-1;;;2368:36:0;;;;;;;;;;;;-1:-1:-1;;;2368:36:0;;;;;;;;;;;;;;;2439:10;2413:17;2433;;;:5;:17;;;;;2461:13;;;;-1:-1:-1;;;;;2461:13:0;:27;:66;;;;-1:-1:-1;;;;;;2492:15:0;;2526:1;2492:15;;;:5;:15;;;;;:31;:35;;2461:66;:92;;;;-1:-1:-1;;;;;;2531:22:0;;2543:10;2531:22;;2461:92;2457:134;;;2561:13;;;:24;;-1:-1:-1;;;;;;2561:24:0;-1:-1:-1;;;;;2561:24:0;;;;;2457:134;2601:13;;;;-1:-1:-1;;;;;2601:13:0;:27;2597:357;;2655:13;;;;-1:-1:-1;;;;;2655:13:0;2638:14;2674:273;2698:1;2694;:5;2674:273;;;-1:-1:-1;;;;;2717:20:0;;;2713:227;;2747:14;2764:57;1176:9;2764:35;2778:17;2796:1;2778:20;;;;;;;;;;;;;;;;2764:9;:13;;:35;;;;:::i;:57::-;-1:-1:-1;;;;;2851:13:0;;;;;;:5;:13;;;;;:19;;;2747:74;;-1:-1:-1;2851:31:0;;2747:74;2851:31;:23;:31;:::i;:::-;-1:-1:-1;;;;;2829:13:0;;;;;;;:5;:13;;;;;:19;;;:53;;;;2899:22;;;;;;;-1:-1:-1;2713:227:0;;;2935:5;;2713:227;2701:3;;2674:273;;;;2597:357;;2964:20;;2960:112;;3015:15;2997;;;;:33;;;;3049:10;;:17;;;:14;:17;:::i;:::-;3036:10;:30;2960:112;3097:38;;;;;;;;3105:9;3097:38;;;3078:13;3097:38;;;;;;;3119:15;3097:38;;;;;;3078:58;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3159:13;:28;;;:17;:28;:::i;:::-;3143:13;:44;3208:13;;:20;;3226:1;3208:20;:17;:20;:::i;:::-;3192:13;:36;3283:20;3306:33;3329:9;3306:22;:33::i;:::-;3404:10;3384:31;;;;:19;:31;;;;;;3283:56;;-1:-1:-1;3384:49:0;;3283:56;3384:49;:35;:49;:::i;:::-;3370:10;3350:31;;;;:19;:31;;;;;;:83;;;;3462:36;;3370:10;;3350:31;950:10;;3350:31;3462:36;3350:31;3462:36;950:10;3370;3350:31;3462:36;;;;;;;;;;;;;;;;;;;;2165:1340;;;;:::o;8916:161::-;8983:7;9004:68;9042:29;9059:11;9042:16;:29::i;:::-;9004:33;9025:11;9004:20;:33::i;:::-;:37;:68;:37;:68;:::i;:::-;8997:75;8916:161;-1:-1:-1;;8916:161:0:o;1269:45::-;1305:9;1269:45;:::o;6041:183::-;6086:7;6126:21;6159:60;6163:49;6210:1;6163:42;6126:21;1256:9;6163:42;:19;:42;:::i;:49::-;6214:4;6159:3;:60::i;:::-;6152:67;;;6041:183;:::o;8597:119::-;-1:-1:-1;;;;;8684:18:0;;;8663:7;8684:18;;;:5;:18;;;;;:27;;;;;8597:119::o;1505:33::-;;;-1:-1:-1;;;;;1505:33:0;;:::o;3741:1650::-;3801:10;3775:17;3795;;;:5;:17;;;;;;3841:28;;:16;:28::i;:::-;3817:52;-1:-1:-1;3874:19:0;;;3922:854;3946:20;;3942:24;;3922:854;;;4014:30;4042:1;4014:4;:13;;4028:1;4014:16;;;;;;;:30;3985:4;:13;;3999:1;3985:16;;;;;;;;;;;;;;;;;;:26;;;:59;3981:790;;;4084:4;:15;;;4059:4;:13;;4073:1;4059:16;;;;;;;;;;;;;;;;;;:22;;;:40;4055:401;;;4123:146;1305:9;4123:123;4202:43;4222:4;:13;;4236:1;4222:16;;;;;;;4123:146;4111:158;;4055:401;;;4307:139;1305:9;4307:116;4386:36;4406:4;:15;;;4386;:19;;:36;;;;:::i;4307:139::-;4295:151;;4055:401;4512:30;4540:1;4512:4;:13;;4526:1;4512:16;;;;;;;:30;4468:41;4499:9;4468:4;:13;;4482:1;4468:16;;;;;;;:41;:74;4464:172;;;4564:64;4601:4;:13;;4615:1;4601:16;;;;;;;4564:64;4552:76;;4464:172;4673:41;4704:9;4673:4;:13;;4687:1;4673:16;;;;;;;:41;4644:4;:13;;4658:1;4644:16;;;;;;;;;;;;;;;;:26;:16;;;;;:26;:70;4736:26;:11;4752:9;4736:26;:15;:26;:::i;:::-;4722:40;;3981:790;3968:3;;3922:854;;;;4782:21;4806:32;4827:10;4806:20;:32::i;:::-;4782:56;-1:-1:-1;4847:17:0;;4843:99;;4886:30;:11;4902:13;4886:30;:15;:30;:::i;:::-;4935:1;4922:10;;;:14;4872:44;-1:-1:-1;4843:99:0;4970:1;4956:11;:15;4948:47;;;;;-1:-1:-1;;;4948:47:0;;;;;;;;;;;;-1:-1:-1;;;4948:47:0;;;;;;;;;;;;;;;5048:21;5096:50;1176:9;5096:28;5048:21;5116:7;5096:28;:19;:28;:::i;:50::-;5082:11;:64;5074:89;;;;;-1:-1:-1;;;5074:89:0;;;;;;;;;;;;-1:-1:-1;;;5074:89:0;;;;;;;;;;;;;;;5188:15;5170;;;:33;5212:32;;:10;;:32;;;;;5232:11;;5212:32;;;;5232:11;5212:10;:32;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5283:23:0;;;;:40;;5311:11;5283:40;:27;:40;:::i;:::-;5257:23;;;:66;5355:14;;:31;;5374:11;5355:31;:18;:31;:::i;:::-;5338:14;:48;-1:-1:-1;;;;;;3741:1650:0:o;6797:113::-;6850:7;6873:32;6890:14;:12;:14::i;:::-;1006:4;;6873:32;:16;:32;:::i;:::-;6866:39;;6797:113;:::o;1438:29::-;;;;:::o;5418:353::-;5480:10;5494:1;5460:31;;;:19;:31;;;;;;5452:72;;;;;-1:-1:-1;;;5452:72:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;5610:10;5566:21;5590:31;;;:19;:31;;;;;;;;;;5632:35;;;;5693:17;;5686:61;;-1:-1:-1;;;5686:61:0;;;;;;;;;;;;;;;;;5590:31;;-1:-1:-1;;;;;5693:17:0;;;;5686:34;;:61;;;;;5590:31;;5686:61;;;;;;;;;5693:17;5686:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;5686:61:0;5678:88;;;;;-1:-1:-1;;;5678:88:0;;;;;;;;;;;;-1:-1:-1;;;5678:88:0;;;;;;;;;;;;;;;5418:353;:::o;11802:137::-;-1:-1:-1;;;;;11899:32:0;11873:7;11899:32;;;:19;:32;;;;;;;11802:137::o;1406:28::-;;;;:::o;1542:32::-;;;-1:-1:-1;;;;;1542:32:0;;:::o;1018:64::-;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1018:64:0;:::o;967:43::-;1006:4;967:43;:::o;1322:44::-;1359:7;1322:44;:::o;1208:57::-;1256:9;1208:57;:::o;5807:98::-;5879:21;5807:98;:::o;1471:28::-;;;;:::o;9822:285::-;-1:-1:-1;;;;;9930:18:0;;9893:7;9930:18;;;:5;:18;;;;;9893:7;;9976:107;10000:20;;9996:24;;9976:107;;;10042:35;10053:4;:13;;10067:1;10053:16;;;;;;;;;;;;;;;;;;;;;:23;10042:6;;:35;:10;:35;:::i;:::-;10033:44;-1:-1:-1;10022:3:0;;9976:107;;;-1:-1:-1;10096:6:0;9822:285;-1:-1:-1;;;9822:285:0:o;9082:293::-;-1:-1:-1;;;;;9173:18:0;;9142:4;9173:18;;;:5;:18;;;;;9202:20;;:24;9198:173;;9302:20;;9288:51;;9337:1;;9288:4;;-1:-1:-1;;9302:22:0;;;9288:37;;;;;:51;9252:20;;9238:4;;-1:-1:-1;;9252:22:0;;;9238:37;;;;;;;;;;;;;;;;:47;;;:101;9234:132;;;9355:4;9348:11;;;;;9234:132;9082:293;;;;:::o;9652:134::-;-1:-1:-1;;;;;9747:18:0;9726:7;9747:18;;;:5;:18;;;;;:34;;9652:134::o;908:52::-;950:10;908:52;:::o;1086:43::-;1121:8;1086:43;:::o;1377:25::-;;;;:::o;9380:265::-;-1:-1:-1;;;;;9519:18:0;;9464:7;9519:18;;;:5;:18;;;;;9552:20;;9464:7;;;;9519:18;;9566:5;;9552:20;;;;;;;;;;;;;;;;:27;;;9581:4;:13;;9595:5;9581:20;;;;;;;;;;;;;;;;;;:30;;;9613:4;:13;;9627:5;9613:20;;;;;;;;;;;;;;;;;;:26;;;9544:96;;;;;;;9380:265;;;;;:::o;10153:385::-;-1:-1:-1;;;;;10263:18:0;;10226:7;10263:18;;;:5;:18;;;;;10226:7;;10312:197;10336:20;;10332:24;;10312:197;;;10404:30;10432:1;10404:4;:13;;10418:1;10404:16;;;;;;;:30;10375:4;:13;;10389:1;10375:16;;;;;;;;;;;;;;;;;;:26;;;:59;10371:133;;;10456:38;10470:4;:13;;10484:1;10470:16;;;;;;;10456:38;10444:50;;10371:133;10358:3;;10312:197;;10811:298;-1:-1:-1;;;;;10929:18:0;;10892:7;10929:18;;;:5;:18;;;;;10892:7;;10975:110;10999:20;;10995:24;;10975:110;;;11041:38;11052:4;:13;;11066:1;11052:16;;;;;;;;;;;;;;;;;;:26;;;11041:6;:10;;:38;;;;:::i;:::-;11032:47;-1:-1:-1;11021:3:0;;10975:110;;8469:123;-1:-1:-1;;;;;8558:18:0;8537:7;8558:18;;;:5;:18;;;;;:29;;;;8469:123::o;858:46::-;895:9;858:46;:::o;6258:507::-;-1:-1:-1;;;;;6375:18:0;;6325:7;6375:18;;;:5;:18;;;;;6453:8;6417:33;6381:11;6417:20;:33::i;:::-;:44;6414:84;;;1006:4;6467:19;;;;;6414:84;6558:8;6521:33;6542:11;6521:20;:33::i;:::-;:45;;:93;;;;;6606:8;6570:33;6591:11;6570:20;:33::i;:::-;:44;6521:93;6518:141;;;6627:20;1006:4;6644:2;6627:20;:16;:20;:::i;:::-;6620:27;;;;;6518:141;6713:8;6676:33;6697:11;6676:20;:33::i;:::-;:45;6673:88;;6734:21;1006:4;6751:3;6734:21;:16;:21;:::i;11144:176::-;11215:7;11243:69;11282:29;11299:11;11282:16;:29::i;:::-;11243:34;11265:11;11243:21;:34::i;8753:121::-;-1:-1:-1;;;;;8845:18:0;8824:7;8845:18;;;:5;:18;;;;;:24;;;;8753:121::o;11362:400::-;-1:-1:-1;;;;;11464:18:0;;11427:4;11464:18;;;:5;:18;;;;;11427:4;11505:29;11470:11;11505:16;:29::i;:::-;11493:41;;11545:9;11557:43;11588:11;11557:30;:43::i;:::-;11545:55;;11611:9;11623:40;11661:1;11623:33;11644:11;11623:20;:33::i;:40::-;11611:52;;11686:1;11682;11678;:5;:9;:40;;;;;11717:1;11691:4;:13;;11705:1;11691:16;;;;;;;;;;;;;;;;;;:23;;;:27;11678:40;11674:81;;;11742:4;11735:11;;;;;;;;11674:81;11362:400;;;;;;;:::o;10597:169::-;-1:-1:-1;;;;;10706:18:0;10669:7;10706:18;;;:5;:18;;;;;10738:23;;;;10597:169::o;6978:392::-;-1:-1:-1;;;;;7083:18:0;;7046:7;7083:18;;;:5;:18;;;;;7046:7;7137:21;7089:11;7137:8;:21::i;:::-;7133:150;;;7183:58;7187:49;7234:1;7187:42;1359:7;7188:24;7196:4;:15;;;7188:3;:7;;:24;;;;:::i;7187:49::-;7237:3;7183;:58::i;:::-;7166:75;;7133:150;;;-1:-1:-1;7276:1:0;7133:150;7297:68;7350:14;7297:48;7330:14;:12;:14::i;:::-;7297:28;7313:11;7297:15;:28::i;:68::-;7290:75;6978:392;-1:-1:-1;;;;6978:392:0:o;12361:250::-;12419:7;12443:6;12439:47;;-1:-1:-1;12473:1:0;12466:8;;12439:47;12510:5;;;12514:1;12510;:5;:1;12534:5;;;;;:10;12526:56;;;;-1:-1:-1;;;12526:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12602:1;12361:250;-1:-1:-1;;;12361:250:0:o;12169:184::-;12227:7;12260:1;12255;:6;;12247:49;;;;;-1:-1:-1;;;12247:49:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;12319:5:0;;;12169:184::o;12619:179::-;12677:7;12709:1;12705;:5;12697:44;;;;;-1:-1:-1;;;12697:44:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;12752:9;12768:1;12764;:5;;;;;;;12619:179;-1:-1:-1;;;;12619:179:0:o;11980:181::-;12038:7;12070:5;;;12094:6;;;;12086:46;;;;;-1:-1:-1;;;12086:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;3536:122;3611:7;3634:19;:10;3649:3;3634:19;:14;:19;:::i;5913:97::-;5965:4;5993:1;5989;:5;:13;;6001:1;5989:13;;;-1:-1:-1;5997:1:0;;5982:20;-1:-1:-1;5913:97:0:o

Swarm Source

ipfs://370d711fd8b9b254e6e450c64d3fe36e4badbca4e9271529bef540bed2875657
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.