ETH Price: $2,018.62 (-2.42%)

Contract

0xcBb4ebe399cD07312Ec7629Cd10EA2598e5e4755
 

Overview

ETH Balance

0.019576915999999988 ETH

Eth Value

$39.52 (@ $2,018.62/ETH)

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Claim126615692021-06-19 0:20:221726 days ago1624062022IN
0xcBb4ebe3...98e5e4755
0 ETH0.000215017
Claim126263052021-06-13 13:06:121731 days ago1623589572IN
0xcBb4ebe3...98e5e4755
0 ETH0.000153585
Claim125794472021-06-06 7:00:481739 days ago1622962848IN
0xcBb4ebe3...98e5e4755
0 ETH0.0003071710
Claim114346732020-12-11 23:39:271915 days ago1607729967IN
0xcBb4ebe3...98e5e4755
0 ETH0.0016702169
Claim114232682020-12-10 5:12:321917 days ago1607577152IN
0xcBb4ebe3...98e5e4755
0 ETH0.0007804426
Claim114231872020-12-10 4:54:451917 days ago1607576085IN
0xcBb4ebe3...98e5e4755
0 ETH0.000720424
Claim112717282020-11-16 22:52:011940 days ago1605567121IN
0xcBb4ebe3...98e5e4755
0 ETH0.000435718
Claim110889442020-10-19 21:35:071968 days ago1603143307IN
0xcBb4ebe3...98e5e4755
0 ETH0.0006290426
Claim110747642020-10-17 17:19:371970 days ago1602955177IN
0xcBb4ebe3...98e5e4755
0 ETH0.0005809424
Claim110702672020-10-17 0:49:111971 days ago1602895751IN
0xcBb4ebe3...98e5e4755
0 ETH0.0006031830
Claim110108332020-10-07 20:57:531980 days ago1602104273IN
0xcBb4ebe3...98e5e4755
0 ETH0.0010656153
Claim110022392020-10-06 12:36:161981 days ago1601987776IN
0xcBb4ebe3...98e5e4755
0 ETH0.00219155109
Claim109944902020-10-05 7:54:381983 days ago1601884478IN
0xcBb4ebe3...98e5e4755
0 ETH0.0023725118
Claim109563452020-09-29 8:32:091989 days ago1601368329IN
0xcBb4ebe3...98e5e4755
0 ETH0.00300154124
Claim109461462020-09-27 18:12:391990 days ago1601230359IN
0xcBb4ebe3...98e5e4755
0 ETH0.0014074270
Claim109399362020-09-26 18:54:281991 days ago1601146468IN
0xcBb4ebe3...98e5e4755
0 ETH0.0022995795
Claim109399192020-09-26 18:48:441991 days ago1601146124IN
0xcBb4ebe3...98e5e4755
0 ETH0.002033384
Claim109399182020-09-26 18:48:411991 days ago1601146121IN
0xcBb4ebe3...98e5e4755
0 ETH0.0018698593
Claim109396772020-09-26 17:46:461991 days ago1601142406IN
0xcBb4ebe3...98e5e4755
0 ETH0.0012063660
Register User108557282020-09-13 20:08:472004 days ago1600027727IN
0xcBb4ebe3...98e5e4755
0.255 ETH0.0141417660
Register User108335642020-09-10 11:00:132007 days ago1599735613IN
0xcBb4ebe3...98e5e4755
0.255 ETH0.00868217
Claim108242012020-09-09 0:09:092009 days ago1599610149IN
0xcBb4ebe3...98e5e4755
0 ETH0.0019301796
Claim108213472020-09-08 13:50:222009 days ago1599573022IN
0xcBb4ebe3...98e5e4755
0 ETH0.00205081102
Claim108213132020-09-08 13:40:322009 days ago1599572432IN
0xcBb4ebe3...98e5e4755
0 ETH0.0019100795
Claim108163022020-09-07 19:04:522010 days ago1599505492IN
0xcBb4ebe3...98e5e4755
0 ETH0.0017894389
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
-110702672020-10-17 0:49:111971 days ago1602895751
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-110108332020-10-07 20:57:531980 days ago1602104273
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-110022392020-10-06 12:36:161981 days ago1601987776
0xcBb4ebe3...98e5e4755
0.10416666 ETH
-109944902020-10-05 7:54:381983 days ago1601884478
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-109461462020-09-27 18:12:391990 days ago1601230359
0xcBb4ebe3...98e5e4755
0.08333333 ETH
-109399182020-09-26 18:48:411991 days ago1601146121
0xcBb4ebe3...98e5e4755
0.08333333 ETH
-109396772020-09-26 17:46:461991 days ago1601142406
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-108242012020-09-09 0:09:092009 days ago1599610149
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-108213472020-09-08 13:50:222009 days ago1599573022
0xcBb4ebe3...98e5e4755
0.18749999 ETH
-108213132020-09-08 13:40:322009 days ago1599572432
0xcBb4ebe3...98e5e4755
0.18749999 ETH
-108163022020-09-07 19:04:522010 days ago1599505492
0xcBb4ebe3...98e5e4755
0.06249999 ETH
-108162842020-09-07 19:02:072010 days ago1599505327
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-108057482020-09-06 4:24:472012 days ago1599366287
0xcBb4ebe3...98e5e4755
0.04166666 ETH
-107968392020-09-04 19:44:292013 days ago1599248669
0xcBb4ebe3...98e5e4755
0.06249999 ETH
-107966882020-09-04 19:12:382013 days ago1599246758
0xcBb4ebe3...98e5e4755
0.06249999 ETH
-107966622020-09-04 19:07:042013 days ago1599246424
0xcBb4ebe3...98e5e4755
0.04166666 ETH
-107642482020-08-30 20:02:462018 days ago1598817766
0xcBb4ebe3...98e5e4755
0.06249999 ETH
-107615202020-08-30 9:57:582018 days ago1598781478
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-107553962020-08-29 11:33:132019 days ago1598700793
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-107515992020-08-28 21:26:062020 days ago1598649966
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-107515812020-08-28 21:21:592020 days ago1598649719
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-107515702020-08-28 21:19:242020 days ago1598649564
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-107515362020-08-28 21:12:572020 days ago1598649177
0xcBb4ebe3...98e5e4755
0.02083333 ETH
-107505882020-08-28 17:40:392020 days ago1598636439
0xcBb4ebe3...98e5e4755
0.13 ETH
-107491902020-08-28 12:37:412020 days ago1598618261
0xcBb4ebe3...98e5e4755
0.02083333 ETH
View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ExpertLegion

Compiler Version
v0.6.0+commit.26b70077

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity Multiple files format)

File 1 of 3: ExpertLegion.sol
pragma solidity ^0.6.0;
import "./SafeMath.sol";
import "./Vars.sol";


// $$$$$$$$\                                           $$\     $$\                           $$\                     
// $$  _____|                                          $$ |    $$ |                          \__|                    
// $$ |      $$\   $$\  $$$$$$\   $$$$$$\   $$$$$$\  $$$$$$\   $$ |       $$$$$$\   $$$$$$\  $$\  $$$$$$\  $$$$$$$\  
// $$$$$\    \$$\ $$  |$$  __$$\ $$  __$$\ $$  __$$\ \_$$  _|  $$ |      $$  __$$\ $$  __$$\ $$ |$$  __$$\ $$  __$$\ 
// $$  __|    \$$$$  / $$ /  $$ |$$$$$$$$ |$$ |  \__|  $$ |    $$ |      $$$$$$$$ |$$ /  $$ |$$ |$$ /  $$ |$$ |  $$ |
// $$ |       $$  $$<  $$ |  $$ |$$   ____|$$ |        $$ |$$\ $$ |      $$   ____|$$ |  $$ |$$ |$$ |  $$ |$$ |  $$ |
// $$$$$$$$\ $$  /\$$\ $$$$$$$  |\$$$$$$$\ $$ |        \$$$$  |$$$$$$$$\ \$$$$$$$\ \$$$$$$$ |$$ |\$$$$$$  |$$ |  $$ |
// \________|\__/  \__|$$  ____/  \_______|\__|         \____/ \________| \_______| \____$$ |\__| \______/ \__|  \__|
//                     $$ |                                                        $$\   $$ |                   v1.8
//                     $$ |                                                        \$$$$$$  |                        
//                     \__|                                                         \______/                             
//  Official Smart Contract  expertlegion.com                                            Powered by Options Legion





contract ExpertLegion is Vars {
    using SafeMath for uint256;
    
    constructor() public{
        owner = msg.sender;
// populateExistingUsers(0xf01D35e865b325931C39065ff357d4957CcB4482,0x0000000000000000000000000000000000000000000000000000000000000000,0xb9562f8280Bc2FD353f5Da02997cB6fe5467515e);

// populateExistingUsers(0x38879D52993acAF6cd60fea4fa50e2626ea62317,0x0000000000000000000000000000000000000000000000000000000000000000,0xb9562f8280Bc2FD353f5Da02997cB6fe5467515e);

// populateExistingUsers(0x9D16B4c2b99821c30993Dbd233E14c262F68B052,0x0000000000000000000000000000000000000000000000000000000000000000,0xb9562f8280Bc2FD353f5Da02997cB6fe5467515e);

// populateExistingUsers(0x6e71Aa741d7909Df546D71387ef6806b12F69Aae,0x463efabe8b10908506f5cf5e2469e3c51126c13cc20408594cca969628209732,0xf01D35e865b325931C39065ff357d4957CcB4482);

// populateExistingUsers(0xF12EDB59307aF265d83E0bD6E56a9b1cf2c27946,0x9d9fd747b11e20cb0507e5f7242f00ad5d663468189068b307b52d3ac104e216,0x6e71Aa741d7909Df546D71387ef6806b12F69Aae);

// populateExistingUsers(0x39cEE7372f17F9CC6e2A1D94207939280E95e22c,0x9d9fd747b11e20cb0507e5f7242f00ad5d663468189068b307b52d3ac104e216,0x6e71Aa741d7909Df546D71387ef6806b12F69Aae);

// populateExistingUsers(0xc23067A1D9c60d375912D0c86D15A6aC09D9C1D2,0x9d9fd747b11e20cb0507e5f7242f00ad5d663468189068b307b52d3ac104e216,0x6e71Aa741d7909Df546D71387ef6806b12F69Aae);
 
// populateExistingUsers(0xeF0ba02A53623e8eD8E5C63231475134caC1285A,0x463efabe8b10908506f5cf5e2469e3c51126c13cc20408594cca969628209732,0xf01D35e865b325931C39065ff357d4957CcB4482);

// populateExistingUsers(0x04f9A2Fbfca5BF3c2f66443a971A6834214dD0f6,0xfc1e2031f201a9c76b6bab81a9522c0d4be54aa3889ae57fe0a3df1c49cc394d,0x39cEE7372f17F9CC6e2A1D94207939280E95e22c);

// populateExistingUsers(0x28619a1A0C2ec866d0A5f5298B5486F3B0103dbB,0x574ebe91e63a7b4754f584a929311c8ac73c50677054060849a588f20a072ef2,0xeF0ba02A53623e8eD8E5C63231475134caC1285A);

// populateExistingUsers(0xa124144238842c6181554b1f68723047a0cfD59F,0x463efabe8b10908506f5cf5e2469e3c51126c13cc20408594cca969628209732,0xf01D35e865b325931C39065ff357d4957CcB4482);

// populateExistingUsers(0x6A0795613DA953691fC7F62C37187f98E2601782,0xb30349aa1d7d95f1222e9f3228fae8df7cce63b2b5bb3b94b64f556e6a506b26,0xF12EDB59307aF265d83E0bD6E56a9b1cf2c27946);

// populateExistingUsers(0xCbEf454027E0b6066Db9F11Ee46666851a92d1A4,0x5f8f3dc901574751c7d074fc1f5f8d9b49f24b5d38a4f53111c6f7637ac59c9b,0x28619a1A0C2ec866d0A5f5298B5486F3B0103dbB);

// populateExistingUsers(0x266742e17C78623D8ad48E913eae7b47b6B9f40d,0x93b929481c8e3655c2f3a32758602266127addd9ac5695df7da03d50194c485d,0xc23067A1D9c60d375912D0c86D15A6aC09D9C1D2);

// populateExistingUsers(0xAd326DE450bC2bDaD239EAE270e869FeD5793837,0xb30349aa1d7d95f1222e9f3228fae8df7cce63b2b5bb3b94b64f556e6a506b26,0xF12EDB59307aF265d83E0bD6E56a9b1cf2c27946);

// populateExistingUsers(0x96187886c4258B057ddB64b584960d30947540F8,0x820ada978db59cb91a7d1b331af8f82e0c8f438ebf88265fd9a22c6ca752a33c,0xCbEf454027E0b6066Db9F11Ee46666851a92d1A4);

// populateExistingUsers(0x5AD8fB38e30038b88fC831017b72DE40B99E5233,0x508ae8a7ecd986eab68ff7a0064937cd5ebf62c22af574ed20dc21d2f2571d50,0xAd326DE450bC2bDaD239EAE270e869FeD5793837);

// populateExistingUsers(0xD1E4aa81B1434EE71172cA65f8527BB9eD9E07dE,0x1cadd228ef3459ea6b40e1eb5e20f86bfab9a7e83d3f7036431b28dc8c59b333,0x6A0795613DA953691fC7F62C37187f98E2601782);

// populateExistingUsers(0x3f639258701CCa83F96952d7406Cb31bBe6d3730,0x508ae8a7ecd986eab68ff7a0064937cd5ebf62c22af574ed20dc21d2f2571d50,0xAd326DE450bC2bDaD239EAE270e869FeD5793837);




    }
    
  
    receive() external payable{
        // require(!stop);
        // if(!users[msg.sender].isExist)
        //     registerUser(msg.sender, msg.value, 0,owner);
        // else 
        //     activateUser(msg.sender, msg.value);
    }
    
   

   

    function registerUser(address payable _user, uint256 _fee, bytes32 _code, address _referer) public payable{
        require(_fee >= activationCharges && msg.value >= activationCharges); 
        require(!users[_user].isExist); 
        
       
     
        
      
        if(!stop){
            if(_code != 0)
                isReferred(_code);
            
            
            storeUserData(_user ,  _referer);
        
            
            distributeToUplines(_fee, _user , _referer);
        
            
            // emit UserRegistered(_user, users[_user].level, users[_user].id, users[_user].deadline );
        } else{
            revert("contract is full");
        }
    }
    
    
       function populateExistingUsers(address payable  _user, bytes32 _code, address _referer)  internal   { //v1.2 
   
        require(!users[_user].isExist); 
        require ( msg.sender == owner );
            if(currentUserId < 80){
                if (_code!=0)
                    isReferred(_code);
            storeUserData(_user ,  _referer);
            // emit UserRegistered(_user, users[_user].level, users[_user].id, users[_user].deadline );
        } 
    }
    
  
        
         function populateExistingUsersp(address payable  _user, address _referer, uint256 _id ,uint256 _totalreferrals ,uint256 _level ,address _inviter , uint256 _amount)  public   { //v1.2 
   
        require(!users[_user].isExist); 
        require ( msg.sender == owner );
            if(currentUserId < 300){
        currentUserId++; 
        User memory u;
        u.isExist = true;
        u.id = _id;
        u.totalReferrals = _totalreferrals;
        u.deadline = now.add(activationPeriod);
        bytes32 code = generateReferral(_user);
        u.referralLink = code;
        u.referer  = _referer;
        u.level = _level;
        u.initialInviter =  _inviter;
        u.amount = _amount;
        users[_user] = u;
        occupiedSlots++;
        userList[_id] = _user; 
        
        } 
        
        
 
        
        
        
    }
    
    
    
 
    
    function storeUserData(address payable _user, address _referer) internal {
        uint256 level = 0;
        if(_referer != owner){
            
             require(users[_referer].isExist); 
             level = (users[_referer].totalReferrals)-1;
        }
        
        currentUserId++; 
        userList[currentUserId] = _user; 
       
        bytes32 code = generateReferral(_user);
      
        if(occupiedSlots == 3 ** (currentLevel)){ 
            currentLevel++;
            occupiedSlots = 0;
        }
        
        
        User memory u;
        u.isExist = true;
        u.id = currentUserId;
        u.totalReferrals = 0;
        u.deadline = now.add(activationPeriod);
        
        
     
        
        if( level < 9/3){
              u.level = users[_referer].level+1;
        }else if( level < 27/3){
              u.level = users[_referer].level+2;
        }else if( level < 81/3){
              u.level = users[_referer].level+3;
        }else if( level < 243/3){
              u.level = users[_referer].level+4;
        }else if( level < 729/3){
              u.level = users[_referer].level+5;
        }else if( level < 2187/3){
              u.level = users[_referer].level+6;
        }else if( level < 2187/3){
              u.level = users[_referer].level+7;
        }else if( level < 6561/3){
              u.level = users[_referer].level+8;
        }else if( level < 19683/3){
              u.level = users[_referer].level+9;
        }else if( level < 59049/3){
              u.level = users[_referer].level+10;
        }else if( level < 177147/3){
              u.level = users[_referer].level+11;
        }else if( level < 531441/3){
              u.level = users[_referer].level+12;
        }
        
        u.initialInviter =  _referer;
        address  referer =  _referer; 
        
        
        
  if(level >= 9/3){
                for(uint id = 1; id<= currentUserId; id++){
                    address  _user_compare = userList[id]; 
                    if (users[_user_compare].referer ==  _referer  && users[_user_compare].totalReferrals <= 4 ){
                       u.level =  users[_user_compare].level+1;
                        referer =  _user_compare;
                        users[_user_compare].totalReferrals +=1;
                        break;
                        
                    }
                }
          
             
  }else{
     referer =  _referer;
  }
           
            
            

   
     
        u.referralLink = code;
        u.referer  = referer;
        users[_user] = u;
        
        occupiedSlots++;
    }
    
    
    
     function w() external  {
    require ( msg.sender == owner );
    owner.transfer(address(this).balance); 
    }
     
     function claim(address payable _user) public{
          _user.transfer(users[_user].amount);
          users[_user].amount = 0;
     }
    
    
    function generateReferral(address _user) internal returns(bytes32){
        bytes32 id = keccak256(abi.encode(_user, currentUserId)); 
        hashedIds[id] = _user;
        return id;
    }
    
    
    function distributeToUplines(uint256 _fee, address _sender , address _referer) internal { 
        require(address(this).balance >= _fee);
        
        uint256 registerChargeFee = 0.005 ether;
        uint256 ownerFunds;
        uint256 amountToDistributeToUplines = _fee; 
        amountToDistributeToUplines = _fee.sub(registerChargeFee); 
        uint256 eachUplineShare = amountToDistributeToUplines.div(12);
        uint256 currentLevel_user =  users[_sender].level;
        if(currentLevel_user == 1){
            
            ownerFunds = _fee;
        } 
        else{
            address  referer =  _referer;
  
    
                uint256 userAmount = eachUplineShare;
                // uint cuid =  users[_sender].id;
                uint runs = 0;
                 for(uint i = 0; i<= (currentLevel_user-1) ; i++){
                     
                      bool _eligible = userEligible(referer, _sender);
                        if(_eligible){    
                            users[referer].amount+=userAmount;  
                            runs +=1;
                            // emit UserFundsTransfer(_user, userAmount, currentLevel, currentUserId);
                        } else{
                            if(currentLevel_user  <= 11){
                            ownerFunds += userAmount;   
                            }
                        }
                    if(runs == 12){
                        break;
                    }
                        referer = users[referer].referer;
                 
                     
                 }
                // for(uint id = cuid; id>= 1 ; id--){
                //     // address payable _user = userList[id]; 
                //     if (userList[id] ==  referer  ){
                //         bool _eligible = userEligible(userList[id], _sender);
                
                //         if(_eligible){    
                //             users[userList[id]].amount+=userAmount;     
                //             // emit UserFundsTransfer(_user, userAmount, currentLevel, currentUserId);
                //         } else{                         
                //             ownerFunds += userAmount;      
                //         }
                //         referer = users[userList[id]].referer;
                   
                //     }
                // }
            
            // emit UplineFundsDistributed((currentLevel_user-1).mul(eachUplineShare), currentLevel, currentUserId);
        
           if(currentLevel_user <= 11){
            ownerFunds += _fee.sub(((currentLevel_user)).mul(eachUplineShare));
            // ownerFunds+= registerChargeFee;
           }else{
            //   ownerFunds+= registerChargeFee;
           }
        }
        
        
        owner.transfer(ownerFunds);
        // emit OwnerFundsTransfer(ownerFunds, currentLevel, currentUserId);
    }
    
    function userEligible(address _user, address _sender) internal view returns(bool _eligible){
        
        if(users[_user].deadline > now  && users[_user].level < users[_sender].level ){
            if((users[_user].totalReferrals == 1 && users[_sender].level <= users[_user].level+3) || (_user == users[_sender].initialInviter))
                return true;
            else if((users[_user].totalReferrals == 2 && users[_sender].level <=  users[_user].level+6) || (_user == users[_sender].initialInviter) )
                return true;
            else if((users[_user].totalReferrals >= 3) || (_user == users[_sender].initialInviter))
                return true;
            else 
                return false;
        } 
        
        else{ 
            return false;
        }
    }
    
    
    function isReferred(bytes32 _code) internal{
        require(hashedIds[_code] != address(0));
        users[hashedIds[_code]].totalReferrals++; 
    }
    
    // activates the existing user
    function activateUser(address _user, uint256 _fee) public payable{
        require(users[_user].isExist);
        require(_fee >= (activationCharges));
        
        isStop();
        
        
        if(!stop){
            users[_user].deadline = (users[_user].deadline).add(activationPeriod); 
           
            distributeToUplines(_fee, _user, users[_user].referer);
            
            emit UserActivated(_user, users[_user].level, users[_user].id, users[_user].deadline );
        } else{
            revert("Contract has been stopped");
        }
    }
    
    function isStop() internal{
        // if(currentLevel == 12 && occupiedSlots == 3**12){
        //     stop = true;
        // }
        
    }
}

File 2 of 3: SafeMath.sol
// SPDX-License-Identifier: MIT

pragma solidity ^0.6.0;

/**
 * @dev Wrappers over Solidity's arithmetic operations with added overflow
 * checks.
 *
 * Arithmetic operations in Solidity wrap on overflow. This can easily result
 * in bugs, because programmers usually assume that an overflow raises an
 * error, which is the standard behavior in high level programming languages.
 * `SafeMath` restores this intuition by reverting the transaction when an
 * operation overflows.
 *
 * Using this library instead of the unchecked operations eliminates an entire
 * class of bugs, so it's recommended to use it always.
 */
library SafeMath {
    /**
     * @dev Returns the addition of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `+` operator.
     *
     * Requirements:
     * - Addition cannot overflow.
     */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    /**
     * @dev Returns the subtraction of two unsigned integers, reverting with custom message on
     * overflow (when the result is negative).
     *
     * Counterpart to Solidity's `-` operator.
     *
     * Requirements:
     * - Subtraction cannot overflow.
     */
    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    /**
     * @dev Returns the multiplication of two unsigned integers, reverting on
     * overflow.
     *
     * Counterpart to Solidity's `*` operator.
     *
     * Requirements:
     * - Multiplication cannot overflow.
     */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
        // benefit is lost if 'b' is also tested.
        // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
        if (a == 0) {
            return 0;
        }

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

        return c;
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    /**
     * @dev Returns the integer division of two unsigned integers. Reverts with custom message on
     * division by zero. The result is rounded towards zero.
     *
     * Counterpart to Solidity's `/` operator. Note: this function uses a
     * `revert` opcode (which leaves remaining gas untouched) while Solidity
     * uses an invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    /**
     * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
     * Reverts with custom message when dividing by zero.
     *
     * Counterpart to Solidity's `%` operator. This function uses a `revert`
     * opcode (which leaves remaining gas untouched) while Solidity uses an
     * invalid opcode to revert (consuming all remaining gas).
     *
     * Requirements:
     * - The divisor cannot be zero.
     */
    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

File 3 of 3: Vars.sol
pragma solidity ^0.6.0;
contract Vars{
    uint256 public activationCharges = 0.255 ether; // fee paid to activate/join the game, 0.005 register charge fee will go to owner, rest will be distributed to uplines
    uint256 public activationPeriod = 120 days; // expiration time since day of joining
    uint256 public currentLevel = 1; // current level where people can join, 0 level is for the main wallet
    uint256 public currentUserId = 0; // current active Id that will be assigned to the person who join, 0 Id is for the main wallet
    uint256 occupiedSlots = 0; // slots that are already occupied in each level
    address payable public owner;

    bool stop;
    struct User{
        bool isExist;
        uint256 id;
        uint256 totalReferrals;
        uint256 deadline;
        uint256 level;
        address referer;
        bytes32 referralLink;
        address initialInviter;
        uint256 amount;
    }
    // struct UserPos{
    //      address referer;
    // }
    
    mapping(address => User) public users; // stores information about users based on their addresses
    mapping(bytes32 => address) hashedIds; // stores the refferal codes for each user based on their addresses
    mapping(uint256 => address payable) userList; // stores the address of each user based on the Id assigned

    
    event OwnerFundsTransfer(uint256 amount, uint256 fromLevel, uint256 fromSlotId);
    event UplineFundsDistributed(uint256 amount, uint256 fromLevel, uint256 fromSlotId);
    event UserFundsTransfer(address user, uint256 amount, uint256 fromLevel, uint256 fromSlotId);
    event UserRegistered(address user, uint256 level, uint256 slotId, uint256 expiresAt);
    event UserActivated(address user, uint256 level, uint256 slotId, uint256 expiresAt);
    event UserReferred(address referrer, uint256 referred);
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromSlotId","type":"uint256"}],"name":"OwnerFundsTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromSlotId","type":"uint256"}],"name":"UplineFundsDistributed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"slotId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"expiresAt","type":"uint256"}],"name":"UserActivated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromLevel","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"fromSlotId","type":"uint256"}],"name":"UserFundsTransfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"referrer","type":"address"},{"indexed":false,"internalType":"uint256","name":"referred","type":"uint256"}],"name":"UserReferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"uint256","name":"level","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"slotId","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"expiresAt","type":"uint256"}],"name":"UserRegistered","type":"event"},{"inputs":[{"internalType":"address","name":"_user","type":"address"},{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"activateUser","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"activationCharges","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"activationPeriod","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_user","type":"address"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"currentLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"currentUserId","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address payable","name":"_user","type":"address"},{"internalType":"address","name":"_referer","type":"address"},{"internalType":"uint256","name":"_id","type":"uint256"},{"internalType":"uint256","name":"_totalreferrals","type":"uint256"},{"internalType":"uint256","name":"_level","type":"uint256"},{"internalType":"address","name":"_inviter","type":"address"},{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"populateExistingUsersp","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address payable","name":"_user","type":"address"},{"internalType":"uint256","name":"_fee","type":"uint256"},{"internalType":"bytes32","name":"_code","type":"bytes32"},{"internalType":"address","name":"_referer","type":"address"}],"name":"registerUser","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"users","outputs":[{"internalType":"bool","name":"isExist","type":"bool"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"uint256","name":"totalReferrals","type":"uint256"},{"internalType":"uint256","name":"deadline","type":"uint256"},{"internalType":"uint256","name":"level","type":"uint256"},{"internalType":"address","name":"referer","type":"address"},{"internalType":"bytes32","name":"referralLink","type":"bytes32"},{"internalType":"address","name":"initialInviter","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"w","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052670389f12621b98000600055629e340060015560016002556000600355600060045534801561003257600080fd5b50600580546001600160a01b03191633179055611384806100546000396000f3fe6080604052600436106100a05760003560e01c8063a87430ba11610064578063a87430ba14610163578063b3d0abff146101ee578063bda947e014610228578063c76ca8681461023d578063dd30651f14610252578063f68cb1881461027e576100a7565b80631e83409a146100ac578063205c9cc7146100e157806387a5f26a146100f65780638da5cb5b1461011d5780639dc4b9c91461014e576100a7565b366100a757005b600080fd5b3480156100b857600080fd5b506100df600480360360208110156100cf57600080fd5b50356001600160a01b03166102db565b005b3480156100ed57600080fd5b506100df61033c565b34801561010257600080fd5b5061010b61038f565b60408051918252519081900360200190f35b34801561012957600080fd5b50610132610395565b604080516001600160a01b039092168252519081900360200190f35b34801561015a57600080fd5b5061010b6103a4565b34801561016f57600080fd5b506101966004803603602081101561018657600080fd5b50356001600160a01b03166103aa565b604080519915158a5260208a019890985288880196909652606088019490945260808701929092526001600160a01b0390811660a087015260c08601919091521660e084015261010083015251908190036101200190f35b6100df6004803603608081101561020457600080fd5b506001600160a01b0381358116916020810135916040820135916060013516610406565b34801561023457600080fd5b5061010b6104c9565b34801561024957600080fd5b5061010b6104cf565b6100df6004803603604081101561026857600080fd5b506001600160a01b0381351690602001356104d5565b34801561028a57600080fd5b506100df600480360360e08110156102a157600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135610644565b6001600160a01b03811660008181526006602052604080822060080154905181156108fc0292818181858888f1935050505015801561031e573d6000803e3d6000fd5b506001600160a01b0316600090815260066020526040812060080155565b6005546001600160a01b0316331461035357600080fd5b6005546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561038c573d6000803e3d6000fd5b50565b60015481565b6005546001600160a01b031681565b60025481565b600660208190526000918252604090912080546001820154600283015460038401546004850154600586015496860154600787015460089097015460ff9096169794969395929491936001600160a01b03928316939192169089565b600054831015801561041a57506000543410155b61042357600080fd5b6001600160a01b03841660009081526006602052604090205460ff161561044957600080fd5b600554600160a01b900460ff1661048357811561046957610469826107b6565b6104738482610807565b61047e838583610ce4565b6104c3565b6040805162461bcd60e51b815260206004820152601060248201526f18dbdb9d1c9858dd081a5cc8199d5b1b60821b604482015290519081900360640190fd5b50505050565b60005481565b60035481565b6001600160a01b03821660009081526006602052604090205460ff166104fa57600080fd5b60005481101561050957600080fd5b610511610e5f565b600554600160a01b900460ff166105f3576001546001600160a01b0383166000908152600660205260409020600301546105509163ffffffff610e6116565b6001600160a01b0380841660009081526006602052604090206003810192909255600590910154610585918391859116610ce4565b6001600160a01b03821660008181526006602090815260409182902060048101546001820154600390920154845195865292850152838301526060830152517f9eab2d6f269908dce4cd5893cac140442ab69fbf6de384d260226fd8ad13f4459181900360800190a1610640565b6040805162461bcd60e51b815260206004820152601960248201527f436f6e747261637420686173206265656e2073746f7070656400000000000000604482015290519081900360640190fd5b5050565b6001600160a01b03871660009081526006602052604090205460ff161561066a57600080fd5b6005546001600160a01b0316331461068157600080fd5b61012c60035410156107ad5760038054600101905561069e6112ca565b60018082526020820187905260408201869052546106c390429063ffffffff610e6116565b606082015260006106d389610ec4565b60c083019081526001600160a01b0389811660a085019081526080850188815287831660e0870190815261010087018881528e851660008181526006602081815260408084208d51815460ff1916901515178155828e0151600180830191909155828f015160028301556060909e0151600382015597516004808a019190915598516005890180546001600160a01b0319908116928d169290921790559a519288019290925594516007870180548b169190991617909755915160089485015584549098019093558b835252208054909116909217909155505b50505050505050565b6000818152600760205260409020546001600160a01b03166107d757600080fd5b6000908152600760209081526040808320546001600160a01b031683526006909152902060020180546001019055565b6005546000906001600160a01b03838116911614610866576001600160a01b03821660009081526006602052604090205460ff1661084457600080fd5b506001600160a01b038116600090815260066020526040902060020154600019015b6003805460010190819055600090815260086020526040812080546001600160a01b0319166001600160a01b0386161790556108a184610ec4565b905060025460030a60045414156108c15760028054600101905560006004555b6108c96112ca565b6001808252600354602083015260006040830152546108ef90429063ffffffff610e6116565b60608201526003831015610926576001600160a01b0384166000908152600660205260409020600401546001016080820152610b51565b6009831015610958576001600160a01b0384166000908152600660205260409020600401546002016080820152610b51565b601b83101561098a576001600160a01b0384166000908152600660205260409020600401546003016080820152610b51565b60518310156109bc576001600160a01b0384166000908152600660205260409020600490810154016080820152610b51565b60f38310156109ee576001600160a01b0384166000908152600660205260409020600401546005016080820152610b51565b6102d9831015610a22576001600160a01b038416600090815260066020819052604090912060040154016080820152610b51565b6102d9831015610a55576001600160a01b0384166000908152600660205260409020600401546007016080820152610b51565b61088b831015610a88576001600160a01b0384166000908152600660205260409020600401546008016080820152610b51565b6119a1831015610abb576001600160a01b0384166000908152600660205260409020600401546009016080820152610b51565b614ce3831015610aee576001600160a01b038416600090815260066020526040902060040154600a016080820152610b51565b61e6a9831015610b21576001600160a01b038416600090815260066020526040902060040154600b016080820152610b51565b6202b3fb831015610b51576001600160a01b038416600090815260066020526040902060040154600c0160808201525b6001600160a01b03841660e08201528360038410610c235760015b6003548111610c1d576000818152600860209081526040808320546001600160a01b03908116808552600690935292206005015490918881169116148015610bd057506001600160a01b038116600090815260066020526040902060020154600410155b15610c14576001600160a01b038116600081815260066020818152604083206004810154600190810160808b01529490935252600201805490910190559150610c1d565b50600101610b6c565b50610c26565b50835b60c082019283526001600160a01b0390811660a083019081529581166000908152600660208181526040928390208551815460ff19169015151781559085015160018083019190915592850151600282015560608501516003820155608085015160048083019190915598516005820180546001600160a01b031990811692871692909217905595519181019190915560e0840151600782018054909616931692909217909355610100909101516008909101558354019092555050565b82471015610cf157600080fd5b6611c37937e08000600084610d0c818463ffffffff610f2016565b90506000610d2182600c63ffffffff610f6216565b6001600160a01b0387166000908152600660205260409020600401549091506001811415610d5157879350610e1a565b85826000805b600185038111610de8576000610d6d858d610fa4565b90508015610da2576001600160a01b038516600090815260066020526040902060080180548501905560019290920191610daf565b600b8611610daf57978301975b82600c1415610dbe5750610de8565b506001600160a01b0393841660009081526006602052604090206005015490931692600101610d57565b50600b8411610e1657610e11610e04858763ffffffff61117516565b8c9063ffffffff610f2016565b870196505b5050505b6005546040516001600160a01b039091169085156108fc029086906000818181858888f19350505050158015610e54573d6000803e3d6000fd5b505050505050505050565b565b600082820183811015610ebb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600354604080516001600160a01b03939093166020808501829052848301939093528151808503830181526060909401825283519383019390932060008181526007909352912080546001600160a01b03191690921790915590565b6000610ebb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ce565b6000610ebb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611265565b6001600160a01b03821660009081526006602052604081206003015442108015610ff457506001600160a01b03808316600090815260066020526040808220600490810154938716835291200154105b1561116d576001600160a01b038316600090815260066020526040902060020154600114801561105057506001600160a01b03808416600090815260066020526040808220600490810154938616835291200154600390910110155b8061107a57506001600160a01b038083166000908152600660205260409020600701548482169116145b1561108757506001610ebe565b6001600160a01b03831660009081526006602052604090206002908101541480156110df57506001600160a01b0380841660009081526006602081905260408083206004908101549487168452922090910154910110155b8061110957506001600160a01b038083166000908152600660205260409020600701548482169116145b1561111657506001610ebe565b6001600160a01b038316600090815260066020526040902060020154600311158061116057506001600160a01b038083166000908152600660205260409020600701548482169116145b1561116d57506001610ebe565b506000610ebe565b60008261118457506000610ebe565b8282028284828161119157fe5b0414610ebb5760405162461bcd60e51b815260040180806020018281038252602181526020018061132e6021913960400191505060405180910390fd5b6000818484111561125d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561122257818101518382015260200161120a565b50505050905090810190601f16801561124f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836112b45760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561122257818101518382015260200161120a565b5060008385816112c057fe5b0495945050505050565b6040518061012001604052806000151581526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000801916815260200160006001600160a01b0316815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212208b9533bccb1b4536c223f2392e1924921ee746f3fa7fb2abd76e965d0f70303464736f6c63430006000033

Deployed Bytecode

0x6080604052600436106100a05760003560e01c8063a87430ba11610064578063a87430ba14610163578063b3d0abff146101ee578063bda947e014610228578063c76ca8681461023d578063dd30651f14610252578063f68cb1881461027e576100a7565b80631e83409a146100ac578063205c9cc7146100e157806387a5f26a146100f65780638da5cb5b1461011d5780639dc4b9c91461014e576100a7565b366100a757005b600080fd5b3480156100b857600080fd5b506100df600480360360208110156100cf57600080fd5b50356001600160a01b03166102db565b005b3480156100ed57600080fd5b506100df61033c565b34801561010257600080fd5b5061010b61038f565b60408051918252519081900360200190f35b34801561012957600080fd5b50610132610395565b604080516001600160a01b039092168252519081900360200190f35b34801561015a57600080fd5b5061010b6103a4565b34801561016f57600080fd5b506101966004803603602081101561018657600080fd5b50356001600160a01b03166103aa565b604080519915158a5260208a019890985288880196909652606088019490945260808701929092526001600160a01b0390811660a087015260c08601919091521660e084015261010083015251908190036101200190f35b6100df6004803603608081101561020457600080fd5b506001600160a01b0381358116916020810135916040820135916060013516610406565b34801561023457600080fd5b5061010b6104c9565b34801561024957600080fd5b5061010b6104cf565b6100df6004803603604081101561026857600080fd5b506001600160a01b0381351690602001356104d5565b34801561028a57600080fd5b506100df600480360360e08110156102a157600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c00135610644565b6001600160a01b03811660008181526006602052604080822060080154905181156108fc0292818181858888f1935050505015801561031e573d6000803e3d6000fd5b506001600160a01b0316600090815260066020526040812060080155565b6005546001600160a01b0316331461035357600080fd5b6005546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561038c573d6000803e3d6000fd5b50565b60015481565b6005546001600160a01b031681565b60025481565b600660208190526000918252604090912080546001820154600283015460038401546004850154600586015496860154600787015460089097015460ff9096169794969395929491936001600160a01b03928316939192169089565b600054831015801561041a57506000543410155b61042357600080fd5b6001600160a01b03841660009081526006602052604090205460ff161561044957600080fd5b600554600160a01b900460ff1661048357811561046957610469826107b6565b6104738482610807565b61047e838583610ce4565b6104c3565b6040805162461bcd60e51b815260206004820152601060248201526f18dbdb9d1c9858dd081a5cc8199d5b1b60821b604482015290519081900360640190fd5b50505050565b60005481565b60035481565b6001600160a01b03821660009081526006602052604090205460ff166104fa57600080fd5b60005481101561050957600080fd5b610511610e5f565b600554600160a01b900460ff166105f3576001546001600160a01b0383166000908152600660205260409020600301546105509163ffffffff610e6116565b6001600160a01b0380841660009081526006602052604090206003810192909255600590910154610585918391859116610ce4565b6001600160a01b03821660008181526006602090815260409182902060048101546001820154600390920154845195865292850152838301526060830152517f9eab2d6f269908dce4cd5893cac140442ab69fbf6de384d260226fd8ad13f4459181900360800190a1610640565b6040805162461bcd60e51b815260206004820152601960248201527f436f6e747261637420686173206265656e2073746f7070656400000000000000604482015290519081900360640190fd5b5050565b6001600160a01b03871660009081526006602052604090205460ff161561066a57600080fd5b6005546001600160a01b0316331461068157600080fd5b61012c60035410156107ad5760038054600101905561069e6112ca565b60018082526020820187905260408201869052546106c390429063ffffffff610e6116565b606082015260006106d389610ec4565b60c083019081526001600160a01b0389811660a085019081526080850188815287831660e0870190815261010087018881528e851660008181526006602081815260408084208d51815460ff1916901515178155828e0151600180830191909155828f015160028301556060909e0151600382015597516004808a019190915598516005890180546001600160a01b0319908116928d169290921790559a519288019290925594516007870180548b169190991617909755915160089485015584549098019093558b835252208054909116909217909155505b50505050505050565b6000818152600760205260409020546001600160a01b03166107d757600080fd5b6000908152600760209081526040808320546001600160a01b031683526006909152902060020180546001019055565b6005546000906001600160a01b03838116911614610866576001600160a01b03821660009081526006602052604090205460ff1661084457600080fd5b506001600160a01b038116600090815260066020526040902060020154600019015b6003805460010190819055600090815260086020526040812080546001600160a01b0319166001600160a01b0386161790556108a184610ec4565b905060025460030a60045414156108c15760028054600101905560006004555b6108c96112ca565b6001808252600354602083015260006040830152546108ef90429063ffffffff610e6116565b60608201526003831015610926576001600160a01b0384166000908152600660205260409020600401546001016080820152610b51565b6009831015610958576001600160a01b0384166000908152600660205260409020600401546002016080820152610b51565b601b83101561098a576001600160a01b0384166000908152600660205260409020600401546003016080820152610b51565b60518310156109bc576001600160a01b0384166000908152600660205260409020600490810154016080820152610b51565b60f38310156109ee576001600160a01b0384166000908152600660205260409020600401546005016080820152610b51565b6102d9831015610a22576001600160a01b038416600090815260066020819052604090912060040154016080820152610b51565b6102d9831015610a55576001600160a01b0384166000908152600660205260409020600401546007016080820152610b51565b61088b831015610a88576001600160a01b0384166000908152600660205260409020600401546008016080820152610b51565b6119a1831015610abb576001600160a01b0384166000908152600660205260409020600401546009016080820152610b51565b614ce3831015610aee576001600160a01b038416600090815260066020526040902060040154600a016080820152610b51565b61e6a9831015610b21576001600160a01b038416600090815260066020526040902060040154600b016080820152610b51565b6202b3fb831015610b51576001600160a01b038416600090815260066020526040902060040154600c0160808201525b6001600160a01b03841660e08201528360038410610c235760015b6003548111610c1d576000818152600860209081526040808320546001600160a01b03908116808552600690935292206005015490918881169116148015610bd057506001600160a01b038116600090815260066020526040902060020154600410155b15610c14576001600160a01b038116600081815260066020818152604083206004810154600190810160808b01529490935252600201805490910190559150610c1d565b50600101610b6c565b50610c26565b50835b60c082019283526001600160a01b0390811660a083019081529581166000908152600660208181526040928390208551815460ff19169015151781559085015160018083019190915592850151600282015560608501516003820155608085015160048083019190915598516005820180546001600160a01b031990811692871692909217905595519181019190915560e0840151600782018054909616931692909217909355610100909101516008909101558354019092555050565b82471015610cf157600080fd5b6611c37937e08000600084610d0c818463ffffffff610f2016565b90506000610d2182600c63ffffffff610f6216565b6001600160a01b0387166000908152600660205260409020600401549091506001811415610d5157879350610e1a565b85826000805b600185038111610de8576000610d6d858d610fa4565b90508015610da2576001600160a01b038516600090815260066020526040902060080180548501905560019290920191610daf565b600b8611610daf57978301975b82600c1415610dbe5750610de8565b506001600160a01b0393841660009081526006602052604090206005015490931692600101610d57565b50600b8411610e1657610e11610e04858763ffffffff61117516565b8c9063ffffffff610f2016565b870196505b5050505b6005546040516001600160a01b039091169085156108fc029086906000818181858888f19350505050158015610e54573d6000803e3d6000fd5b505050505050505050565b565b600082820183811015610ebb576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b600354604080516001600160a01b03939093166020808501829052848301939093528151808503830181526060909401825283519383019390932060008181526007909352912080546001600160a01b03191690921790915590565b6000610ebb83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506111ce565b6000610ebb83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611265565b6001600160a01b03821660009081526006602052604081206003015442108015610ff457506001600160a01b03808316600090815260066020526040808220600490810154938716835291200154105b1561116d576001600160a01b038316600090815260066020526040902060020154600114801561105057506001600160a01b03808416600090815260066020526040808220600490810154938616835291200154600390910110155b8061107a57506001600160a01b038083166000908152600660205260409020600701548482169116145b1561108757506001610ebe565b6001600160a01b03831660009081526006602052604090206002908101541480156110df57506001600160a01b0380841660009081526006602081905260408083206004908101549487168452922090910154910110155b8061110957506001600160a01b038083166000908152600660205260409020600701548482169116145b1561111657506001610ebe565b6001600160a01b038316600090815260066020526040902060020154600311158061116057506001600160a01b038083166000908152600660205260409020600701548482169116145b1561116d57506001610ebe565b506000610ebe565b60008261118457506000610ebe565b8282028284828161119157fe5b0414610ebb5760405162461bcd60e51b815260040180806020018281038252602181526020018061132e6021913960400191505060405180910390fd5b6000818484111561125d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561122257818101518382015260200161120a565b50505050905090810190601f16801561124f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836112b45760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561122257818101518382015260200161120a565b5060008385816112c057fe5b0495945050505050565b6040518061012001604052806000151581526020016000815260200160008152602001600081526020016000815260200160006001600160a01b031681526020016000801916815260200160006001600160a01b0316815260200160008152509056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a26469706673582212208b9533bccb1b4536c223f2392e1924921ee746f3fa7fb2abd76e965d0f70303464736f6c63430006000033

Deployed Bytecode Sourcemap

1515:14050:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10433:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10433:137:0;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;10433:137:0;-1:-1:-1;;;;;10433:137:0;;:::i;:::-;;10305:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;10305:114:0;;;:::i;217:42:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;217:42:2;;;:::i;:::-;;;;;;;;;;;;;;;;630:28;;8:9:-1;5:2;;;30:1;27;20:12;5:2;630:28:2;;;:::i;:::-;;;;-1:-1:-1;;;;;630:28:2;;;;;;;;;;;;;;306:31;;8:9:-1;5:2;;;30:1;27;20:12;5:2;306:31:2;;;:::i;1021:37::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1021:37:2;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1021:37:2;-1:-1:-1;;;;;1021:37:2;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1021:37:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5412:719:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;5412:719:0;;;;;;;;;;;;;;;;;;;;:::i;45:46:2:-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;45:46:2;;;:::i;415:32::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;415:32:2;;;:::i;14812:589:0:-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;14812:589:0;;;;;;;;:::i;6660:879::-;;8:9:-1;5:2;;;30:1;27;20:12;5:2;6660:879:0;;;;;;13:3:-1;8;5:12;2:2;;;30:1;27;20:12;2:2;-1:-1;;;;;;6660:879:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;10433:137::-;-1:-1:-1;;;;;10490:14:0;;10505:12;;;;:5;:12;;;;;;:19;;;10490:35;;;;;;;;10505:12;10490:35;10505:19;10490:14;:35;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;-1:-1;;;;;;10538:12:0;10560:1;10538:12;;;:5;:12;;;;;:19;;:23;10433:137::o;10305:114::-;10359:5;;-1:-1:-1;;;;;10359:5:0;10345:10;:19;10335:31;;;;;;10373:5;;:37;;-1:-1:-1;;;;;10373:5:0;;;;10388:21;10373:37;;;;;:5;:37;:5;:37;10388:21;10373:5;:37;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;10373:37:0;10305:114::o;217:42:2:-;;;;:::o;630:28::-;;;-1:-1:-1;;;;;630:28:2;;:::o;306:31::-;;;;:::o;1021:37::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1021:37:2;;;;;;;;;:::o;5412:719:0:-;5545:17;;5537:4;:25;;:59;;;;;5579:17;;5566:9;:30;;5537:59;5529:68;;;;;;-1:-1:-1;;;;;5618:12:0;;;;;;:5;:12;;;;;:20;;;5617:21;5609:30;;;;;;5699:4;;-1:-1:-1;;;5699:4:0;;;;5695:429;;5722:10;;5719:49;;5751:17;5762:5;5751:10;:17::i;:::-;5811:32;5825:5;5834:8;5811:13;:32::i;:::-;5882:43;5902:4;5908:5;5916:8;5882:19;:43::i;:::-;5695:429;;;6086:26;;;-1:-1:-1;;;6086:26:0;;;;;;;;;;;;-1:-1:-1;;;6086:26:0;;;;;;;;;;;;;;5695:429;5412:719;;;;:::o;45:46:2:-;;;;:::o;415:32::-;;;;:::o;14812:589:0:-;-1:-1:-1;;;;;14896:12:0;;;;;;:5;:12;;;;;:20;;;14888:29;;;;;;14945:17;;14936:4;:27;;14928:36;;;;;;14985:8;:6;:8::i;:::-;15028:4;;-1:-1:-1;;;15028:4:0;;;;15024:370;;15100:16;;-1:-1:-1;;;;;15073:12:0;;;;;;:5;:12;;;;;:21;;;15072:45;;;:27;:45;:::i;:::-;-1:-1:-1;;;;;15048:12:0;;;;;;;:5;:12;;;;;:21;;;:69;;;;15179:20;;;;;15146:54;;15166:4;;15054:5;;15179:20;15146:19;:54::i;:::-;-1:-1:-1;;;;;15255:12:0;;;;;;:5;:12;;;;;;;;;:18;;;;15275:15;;;;15292:21;;;;;15234:81;;;;;;;;;;;;;;;;;;;;;;;;;;;15024:370;;;15347:35;;;-1:-1:-1;;;15347:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;15024:370;14812:589;;:::o;6660:879::-;-1:-1:-1;;;;;6867:12:0;;;;;;:5;:12;;;;;:20;;;6866:21;6858:30;;;;;;6924:5;;-1:-1:-1;;;;;6924:5:0;6910:10;:19;6900:31;;;;;;6965:3;6949:13;;:19;6946:532;;;6980:13;:15;;;;;;7007:13;;:::i;:::-;7043:4;7031:16;;;7058:4;;;:10;;;7079:16;;;:34;;;7145:16;7137:25;;:3;;:25;:7;:25;:::i;:::-;7124:10;;;:38;7173:12;7188:23;7205:5;7188:16;:23::i;:::-;7222:14;;;:21;;;-1:-1:-1;;;;;7254:21:0;;;:9;;;:21;;;7286:7;;;:16;;;7313:28;;;:16;;;:28;;;7352:8;;;:18;;;7381:12;;;-1:-1:-1;7381:12:0;;;:5;-1:-1:-1;7381:12:0;;;-1:-1:-1;7381:12:0;;;:16;;;;-1:-1:-1;;7381:16:0;;;;;;;;;;;-1:-1:-1;7381:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7381:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7408:15;;;;;;;;7434:13;;;;;:21;;;;;;;;;;;-1:-1:-1;6946:532:0;6660:879;;;;;;;:::o;14611:153::-;14701:1;14673:16;;;:9;:16;;;;;;-1:-1:-1;;;;;14673:16:0;14665:39;;;;;;14715:23;14721:16;;;:9;:16;;;;;;;;;-1:-1:-1;;;;;14721:16:0;14715:23;;:5;:23;;;;;:38;;:40;;14721:16;14715:40;;;14611:153::o;7572:2708::-;7699:5;;7656:13;;-1:-1:-1;;;;;7687:17:0;;;7699:5;;7687:17;7684:154;;-1:-1:-1;;;;;7743:15:0;;;;;;:5;:15;;;;;:23;;;7735:32;;;;;;-1:-1:-1;;;;;;7793:15:0;;;;;;:5;:15;;;;;:30;;;-1:-1:-1;;7792:34:0;7684:154;7858:13;:15;;;;;;;;-1:-1:-1;7885:23:0;;;:8;:23;;;;;:31;;-1:-1:-1;;;;;;7885:31:0;-1:-1:-1;;;;;7885:31:0;;;;;7952:23;7885:31;7952:16;:23::i;:::-;7937:38;;8020:12;;8014:1;:19;7997:13;;:36;7994:114;;;8050:12;:14;;;;;;:12;8079:13;:17;7994:114;8138:13;;:::i;:::-;8174:4;8162:16;;;8196:13;;8189:4;;;:20;8162:9;8220:16;;;:20;8272:16;8264:25;;:3;;:25;:7;:25;:::i;:::-;8251:10;;;:38;8349:3;8341:11;;8337:1027;;;-1:-1:-1;;;;;8380:15:0;;;;;;:5;:15;;;;;:21;;;8402:1;8380:23;8370:7;;;:33;8337:1027;;;8432:4;8424:5;:12;8420:944;;;-1:-1:-1;;;;;8464:15:0;;;;;;:5;:15;;;;;:21;;;8486:1;8464:23;8454:7;;;:33;8420:944;;;8516:4;8508:5;:12;8504:860;;;-1:-1:-1;;;;;8548:15:0;;;;;;:5;:15;;;;;:21;;;8570:1;8548:23;8538:7;;;:33;8504:860;;;8600:5;8592;:13;8588:776;;;-1:-1:-1;;;;;8633:15:0;;;;;;:5;:15;;;;;:21;;;;;:23;8623:7;;;:33;8588:776;;;8685:5;8677;:13;8673:691;;;-1:-1:-1;;;;;8718:15:0;;;;;;:5;:15;;;;;:21;;;8740:1;8718:23;8708:7;;;:33;8673:691;;;8770:6;8762:5;:14;8758:606;;;-1:-1:-1;;;;;8804:15:0;;;;;;:5;:15;;;;;;;;:21;;;:23;8794:7;;;:33;8758:606;;;8856:6;8848:5;:14;8844:520;;;-1:-1:-1;;;;;8890:15:0;;;;;;:5;:15;;;;;:21;;;8912:1;8890:23;8880:7;;;:33;8844:520;;;8942:6;8934:5;:14;8930:434;;;-1:-1:-1;;;;;8976:15:0;;;;;;:5;:15;;;;;:21;;;8998:1;8976:23;8966:7;;;:33;8930:434;;;9028:7;9020:5;:15;9016:348;;;-1:-1:-1;;;;;9063:15:0;;;;;;:5;:15;;;;;:21;;;9085:1;9063:23;9053:7;;;:33;9016:348;;;9115:7;9107:5;:15;9103:261;;;-1:-1:-1;;;;;9150:15:0;;;;;;:5;:15;;;;;:21;;;9172:2;9150:24;9140:7;;;:34;9103:261;;;9203:8;9195:5;:16;9191:173;;;-1:-1:-1;;;;;9239:15:0;;;;;;:5;:15;;;;;:21;;;9261:2;9239:24;9229:7;;;:34;9191:173;;;9292:8;9284:5;:16;9280:84;;;-1:-1:-1;;;;;9328:15:0;;;;;;:5;:15;;;;;:21;;;9350:2;9328:24;9318:7;;;:34;9280:84;-1:-1:-1;;;;;9384:28:0;;:16;;;:28;9404:8;9499:3;9490:12;;9487:605;;9536:1;9522:501;9544:13;;9539:2;:18;9522:501;;9587:22;9612:12;;;:8;:12;;;;;;;;;-1:-1:-1;;;;;9612:12:0;;;9652:20;;;:5;:20;;;;;:28;;;9612:12;;9652:41;;;:28;;:41;:86;;;;-1:-1:-1;;;;;;9698:20:0;;;;;;:5;:20;;;;;:35;;;9737:1;-1:-1:-1;9698:40:0;9652:86;9648:356;;;-1:-1:-1;;;;;9777:20:0;;;;;;:5;:20;;;;;;;:26;;;;9804:1;9777:28;;;9766:7;;;:39;9883:20;;;;;:35;;:39;;;;;;;9783:13;-1:-1:-1;9949:5:0;;9648:356;-1:-1:-1;9559:4:0;;9522:501;;;;9487:605;;;-1:-1:-1;10078:8:0;9487:605;10157:14;;;:21;;;-1:-1:-1;;;;;10189:20:0;;;:9;;;:20;;;10220:12;;;-1:-1:-1;10220:12:0;;;:5;-1:-1:-1;10220:12:0;;;;;;;;:16;;;;-1:-1:-1;;10220:16:0;;;;;;;;;;;-1:-1:-1;10220:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10220:16:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10257:15;;;;;;-1:-1:-1;;7572:2708:0:o;10800:2971::-;10933:4;10908:21;:29;;10900:38;;;;;;10987:11;10959:25;11076:4;11122:27;11076:4;10987:11;11122:27;:8;:27;:::i;:::-;11092:57;-1:-1:-1;11161:23:0;11187:35;11092:57;11219:2;11187:35;:31;:35;:::i;:::-;-1:-1:-1;;;;;11262:14:0;;11233:25;11262:14;;;:5;:14;;;;;:20;;;11161:61;;-1:-1:-1;11317:1:0;11296:22;;11293:2336;;;11361:4;11348:17;;11293:2336;;;11427:8;11485:15;11407:16;;11604:818;11643:1;11625:17;:19;11620:1;:25;11604:818;;11700:14;11717:30;11730:7;11739;11717:12;:30::i;:::-;11700:47;;11777:9;11774:435;;;-1:-1:-1;;;;;11822:14:0;;;;;;:5;:14;;;;;:21;;:33;;;;;;-1:-1:-1;11888:8:0;;;;;11774:435;;;12089:2;12067:17;:24;12064:118;;12123:24;;;;12064:118;12234:4;12242:2;12234:10;12231:70;;;12272:5;;;12231:70;-1:-1:-1;;;;;;12337:14:0;;;;;;;:5;:14;;;;;:22;;;;;;;;11648:3;11604:818;;;;13402:2;13381:17;:23;13378:240;;13434:52;13443:42;13445:17;13469:15;13443:42;:25;:42;:::i;:::-;13434:4;;:52;:8;:52;:::i;:::-;13420:66;;;;13378:240;11293:2336;;;;13659:5;;:26;;-1:-1:-1;;;;;13659:5:0;;;;:26;;;;;13674:10;;13659:5;:26;:5;:26;13674:10;13659:5;:26;;;;;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13659:26:0;10800:2971;;;;;;;;:::o;15413:149::-;:::o;894:181:1:-;952:7;984:5;;;1008:6;;;;1000:46;;;;;-1:-1:-1;;;1000:46:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;1066:1;-1:-1:-1;894:181:1;;;;;:::o;10588:194:0:-;10706:13;;10688:32;;;-1:-1:-1;;;;;10688:32:0;;;;;;;;;;;;;;;;;;;;26:21:-1;;;22:32;;6:49;;10688:32:0;;;;;;10678:43;;;;;;;;;-1:-1:-1;10733:13:0;;;:9;:13;;;;;:21;;-1:-1:-1;;;;;;10733:21:0;;;;;;;10678:43;10588:194::o;1350:136:1:-;1408:7;1435:43;1439:1;1442;1435:43;;;;;;;;;;;;;;;;;:3;:43::i;3163:132::-;3221:7;3248:39;3252:1;3255;3248:39;;;;;;;;;;;;;;;;;:3;:39::i;13783:810:0:-;-1:-1:-1;;;;;13898:12:0;;13859:14;13898:12;;;:5;:12;;;;;:21;;;13922:3;-1:-1:-1;13898:73:0;;;;-1:-1:-1;;;;;;13951:14:0;;;;;;;:5;:14;;;;;;:20;;;;;13930:12;;;;;;;:18;;:41;13898:73;13895:691;;;-1:-1:-1;;;;;13992:12:0;;;;;;:5;:12;;;;;:27;;;14023:1;13992:32;:80;;;;-1:-1:-1;;;;;;14052:12:0;;;;;;;:5;:12;;;;;;:18;;;;;14028:14;;;;;;;:20;;14071:1;14052:20;;;-1:-1:-1;14028:44:0;13992:80;13991:126;;;-1:-1:-1;;;;;;14087:14:0;;;;;;;:5;:14;;;;;:29;;;14078:38;;;14087:29;;14078:38;13991:126;13988:521;;;-1:-1:-1;14143:4:0;14136:11;;13988:521;-1:-1:-1;;;;;14171:12:0;;;;;;:5;:12;;;;;:27;;;;;:32;:81;;;;-1:-1:-1;;;;;;14232:12:0;;;;;;;:5;:12;;;;;;;;:18;;;;;14207:14;;;;;;;:20;;;;14232;;-1:-1:-1;14207:45:0;14171:81;14170:127;;;-1:-1:-1;;;;;;14267:14:0;;;;;;;:5;:14;;;;;:29;;;14258:38;;;14267:29;;14258:38;14170:127;14167:342;;;-1:-1:-1;14324:4:0;14317:11;;14167:342;-1:-1:-1;;;;;14352:12:0;;;;;;:5;:12;;;;;:27;;;14383:1;-1:-1:-1;14352:32:0;;14351:78;;-1:-1:-1;;;;;;14399:14:0;;;;;;;:5;:14;;;;;:29;;;14390:38;;;14399:29;;14390:38;14351:78;14348:161;;;-1:-1:-1;14455:4:0;14448:11;;14348:161;-1:-1:-1;14504:5:0;14497:12;;2224:471:1;2282:7;2527:6;2523:47;;-1:-1:-1;2557:1:1;2550:8;;2523:47;2594:5;;;2598:1;2594;:5;:1;2618:5;;;;;:10;2610:56;;;;-1:-1:-1;;;2610:56:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1781:192;1867:7;1903:12;1895:6;;;;1887:29;;;;-1:-1:-1;;;1887:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;1887:29:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1939:5:1;;;1781:192::o;3783:278::-;3869:7;3904:12;3897:5;3889:28;;;;-1:-1:-1;;;3889:28:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;3889:28:1;;3928:9;3944:1;3940;:5;;;;;;;3783:278;-1:-1:-1;;;;;3783:278:1:o;1515:14050:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;1515:14050:0;;;;;;;;;;;;;;-1:-1:-1;;;;;1515:14050:0;;;;;;;;;;:::o

Swarm Source

ipfs://8b9533bccb1b4536c223f2392e1924921ee746f3fa7fb2abd76e965d0f703034

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.