ETH Price: $2,258.57 (-7.42%)

Transaction Decoder

Block:
10107505 at May-21-2020 06:04:44 AM +UTC
Transaction Fee:
0.00688755 ETH $15.56
Gas Used:
186,150 Gas / 37 Gwei

Emitted Events:

74 BullRun.getMoneyForLevelEvent( _user=0xc3773b8fe4d16ed2905474f9a0d80766f9c6247c, _referral=[Sender] 0x66e21ef283e553fe8a7472631739dec55a0d598e, _level=1, _time=1590041084 )
75 BullRun.getMoneyForLevelEvent( _user=0x3b2cf88872e91750b7e4b40c7a09a826b16c3263, _referral=[Sender] 0x66e21ef283e553fe8a7472631739dec55a0d598e, _level=2, _time=1590041084 )
76 BullRun.getMoneyForLevelEvent( _user=0x74347b2b4defcb8b904289d3f202ebd218828686, _referral=[Sender] 0x66e21ef283e553fe8a7472631739dec55a0d598e, _level=3, _time=1590041084 )
77 BullRun.getMoneyForLevelEvent( _user=0xa61bbbe65fe0a8dd51cde8bdd65306700d959984, _referral=[Sender] 0x66e21ef283e553fe8a7472631739dec55a0d598e, _level=4, _time=1590041084 )
78 BullRun.regLevelEvent( _user=[Sender] 0x66e21ef283e553fe8a7472631739dec55a0d598e, _referrer=0xc3773b8fe4d16ed2905474f9a0d80766f9c6247c, _time=1590041084 )

Account State Difference:

  Address   Before After State Difference Code
0x3b2Cf888...6B16c3263 0.84319268 Eth0.84819268 Eth0.005
0x66e21EF2...55A0D598E
0.582206694 Eth
Nonce: 2
0.525319144 Eth
Nonce: 3
0.05688755
0x74347B2B...218828686 4.26955584900531865 Eth4.27205584900531865 Eth0.0025
0x924a9908...54E0DBb51
(Bullrunv3.github.io)
0xa61bBbe6...00d959984
(Bullrunv3.github.io: Deployer)
86.9886779 Eth87.0211779 Eth0.0325
0xc3773b8F...6f9C6247c 0.45162765757 Eth0.46162765757 Eth0.01
(Easy2Mine)
815.924105542596591259 Eth815.930993092596591259 Eth0.00688755

Execution Trace

ETH 0.05 BullRun.regUser( _referrerID=2161 )
  • ETH 0.01 0xc3773b8fe4d16ed2905474f9a0d80766f9c6247c.CALL( )
  • ETH 0.005 0x3b2cf88872e91750b7e4b40c7a09a826b16c3263.CALL( )
  • ETH 0.0025 0x74347b2b4defcb8b904289d3f202ebd218828686.CALL( )
  • ETH 0.00025 Bullrunv3.github.io: Deployer.CALL( )
  • ETH 0.03225 Bullrunv3.github.io: Deployer.CALL( )
    /**
     *Submitted for verification at Etherscan.io on 2020-04-01  //  yyyy/mm/dd
    */
    
    /*
    ██████╗░██╗░░░██╗██╗░░░░░██╗░░░░░██████╗░██╗░░░██╗███╗░░██╗
    ██╔══██╗██║░░░██║██║░░░░░██║░░░░░██╔══██╗██║░░░██║████╗░██║
    ██████╦╝██║░░░██║██║░░░░░██║░░░░░██████╔╝██║░░░██║██╔██╗██║
    ██╔══██╗██║░░░██║██║░░░░░██║░░░░░██╔══██╗██║░░░██║██║╚████║
    ██████╦╝╚██████╔╝███████╗███████╗██║░░██║╚██████╔╝██║░╚███║
    ╚═════╝░░╚═════╝░╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝ V3
    
    Hello 
    I am Bullrun,
    Global One line AutoPool Smart contract.
    
    My URL : https://bullrunv3.github.io
    Telegram Channel: https://t.me/BullRunV3
    Hashtag: #bullrun V3.0
    */
    pragma solidity 0.5.11 - 0.6.4;
    
    contract BullRun {
         address public ownerWallet;
          uint public currUserID = 0;
          uint public pool1currUserID = 0;
          uint public pool2currUserID = 0;
          uint public pool3currUserID = 0;
          uint public pool4currUserID = 0;
          uint public pool5currUserID = 0;
          uint public pool6currUserID = 0;
          uint public pool7currUserID = 0;
          uint public pool8currUserID = 0;
          uint public pool9currUserID = 0;
          uint public pool10currUserID = 0;
          
            uint public pool1activeUserID = 0;
          uint public pool2activeUserID = 0;
          uint public pool3activeUserID = 0;
          uint public pool4activeUserID = 0;
          uint public pool5activeUserID = 0;
          uint public pool6activeUserID = 0;
          uint public pool7activeUserID = 0;
          uint public pool8activeUserID = 0;
          uint public pool9activeUserID = 0;
          uint public pool10activeUserID = 0;
          
          
          uint public unlimited_level_price=0;
         
          struct UserStruct {
            bool isExist;
            uint id;
            uint referrerID;
           uint referredUsers;
            mapping(uint => uint) levelExpired;
        }
        
         struct PoolUserStruct {
            bool isExist;
            uint id;
           uint payment_received; 
        }
        
        mapping (address => UserStruct) public users;
         mapping (uint => address) public userList;
         
         mapping (address => PoolUserStruct) public pool1users;
         mapping (uint => address) public pool1userList;
         
         mapping (address => PoolUserStruct) public pool2users;
         mapping (uint => address) public pool2userList;
         
         mapping (address => PoolUserStruct) public pool3users;
         mapping (uint => address) public pool3userList;
         
         mapping (address => PoolUserStruct) public pool4users;
         mapping (uint => address) public pool4userList;
         
         mapping (address => PoolUserStruct) public pool5users;
         mapping (uint => address) public pool5userList;
         
         mapping (address => PoolUserStruct) public pool6users;
         mapping (uint => address) public pool6userList;
         
         mapping (address => PoolUserStruct) public pool7users;
         mapping (uint => address) public pool7userList;
         
         mapping (address => PoolUserStruct) public pool8users;
         mapping (uint => address) public pool8userList;
         
         mapping (address => PoolUserStruct) public pool9users;
         mapping (uint => address) public pool9userList;
         
         mapping (address => PoolUserStruct) public pool10users;
         mapping (uint => address) public pool10userList;
         
        mapping(uint => uint) public LEVEL_PRICE;
        
       uint REGESTRATION_FESS=0.05 ether;
       uint pool1_price=0.1 ether;
       uint pool2_price=0.2 ether ;
       uint pool3_price=0.5 ether;
       uint pool4_price=1 ether;
       uint pool5_price=2 ether;
       uint pool6_price=5 ether;
       uint pool7_price=10 ether ;
       uint pool8_price=20 ether;
       uint pool9_price=50 ether;
       uint pool10_price=100 ether;
       
         event regLevelEvent(address indexed _user, address indexed _referrer, uint _time);
          event getMoneyForLevelEvent(address indexed _user, address indexed _referral, uint _level, uint _time);
          
         event regPoolEntry(address indexed _user,uint _level,   uint _time);
       
         
        event getPoolPayment(address indexed _user,address indexed _receiver, uint _level, uint _time);
       
        UserStruct[] public requests;
         
          constructor() public {
              ownerWallet = msg.sender;
    
            LEVEL_PRICE[1] = 0.01 ether;
            LEVEL_PRICE[2] = 0.005 ether;
            LEVEL_PRICE[3] = 0.0025 ether;
            LEVEL_PRICE[4] = 0.00025 ether;
          unlimited_level_price=0.00025 ether;
    
            UserStruct memory userStruct;
            currUserID++;
    
            userStruct = UserStruct({
                isExist: true,
                id: currUserID,
                referrerID: 0,
                referredUsers:0
               
            });
            
            users[ownerWallet] = userStruct;
           userList[currUserID] = ownerWallet;
           
           
             PoolUserStruct memory pooluserStruct;
            
            pool1currUserID++;
    
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool1currUserID,
                payment_received:0
            });
        pool1activeUserID=pool1currUserID;
           pool1users[msg.sender] = pooluserStruct;
           pool1userList[pool1currUserID]=msg.sender;
          
            
            pool2currUserID++;
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool2currUserID,
                payment_received:0
            });
        pool2activeUserID=pool2currUserID;
           pool2users[msg.sender] = pooluserStruct;
           pool2userList[pool2currUserID]=msg.sender;
           
           
            pool3currUserID++;
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool3currUserID,
                payment_received:0
            });
        pool3activeUserID=pool3currUserID;
           pool3users[msg.sender] = pooluserStruct;
           pool3userList[pool3currUserID]=msg.sender;
           
           
             pool4currUserID++;
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool4currUserID,
                payment_received:0
            });
        pool4activeUserID=pool4currUserID;
           pool4users[msg.sender] = pooluserStruct;
           pool4userList[pool4currUserID]=msg.sender;
    
            
              pool5currUserID++;
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool5currUserID,
                payment_received:0
            });
        pool5activeUserID=pool5currUserID;
           pool5users[msg.sender] = pooluserStruct;
           pool5userList[pool5currUserID]=msg.sender;
           
           
             pool6currUserID++;
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool6currUserID,
                payment_received:0
            });
        pool6activeUserID=pool6currUserID;
           pool6users[msg.sender] = pooluserStruct;
           pool6userList[pool6currUserID]=msg.sender;
           
             pool7currUserID++;
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool7currUserID,
                payment_received:0
            });
        pool7activeUserID=pool7currUserID;
           pool7users[msg.sender] = pooluserStruct;
           pool7userList[pool7currUserID]=msg.sender;
           
           pool8currUserID++;
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool8currUserID,
                payment_received:0
            });
        pool8activeUserID=pool8currUserID;
           pool8users[msg.sender] = pooluserStruct;
           pool8userList[pool8currUserID]=msg.sender;
           
            pool9currUserID++;
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool9currUserID,
                payment_received:0
            });
        pool9activeUserID=pool9currUserID;
           pool9users[msg.sender] = pooluserStruct;
           pool9userList[pool9currUserID]=msg.sender;
           
           
            pool10currUserID++;
            pooluserStruct = PoolUserStruct({
                isExist:true,
                id:pool10currUserID,
                payment_received:0
            });
        pool10activeUserID=pool10currUserID;
           pool10users[msg.sender] = pooluserStruct;
           pool10userList[pool10currUserID]=msg.sender;
           
           
          }
         
           function regUser(uint _referrerID) public payable {
           
          require(!users[msg.sender].isExist, "User Exists");
          require(_referrerID > 0 && _referrerID <= currUserID, 'Incorrect referral ID');
            require(msg.value == REGESTRATION_FESS, 'Incorrect Value');
           
            UserStruct memory userStruct;
            currUserID++;
    
            userStruct = UserStruct({
                isExist: true,
                id: currUserID,
                referrerID: _referrerID,
                referredUsers:0
            });
       
        
           users[msg.sender] = userStruct;
           userList[currUserID]=msg.sender;
           
            users[userList[users[msg.sender].referrerID]].referredUsers=users[userList[users[msg.sender].referrerID]].referredUsers+1;
            
           payReferral(1,msg.sender);
            emit regLevelEvent(msg.sender, userList[_referrerID], now);
        }
       
       
         function payReferral(uint _level, address _user) internal {
            address referer;
           
            referer = userList[users[_user].referrerID];
           
           
             bool sent = false;
           
                uint level_price_local=0;
                if(_level>4){
                level_price_local=unlimited_level_price;
                }
                else{
                level_price_local=LEVEL_PRICE[_level];
                }
                sent = address(uint160(referer)).send(level_price_local);
    
                if (sent) {
                    emit getMoneyForLevelEvent(referer, msg.sender, _level, now);
                    if(_level < 100 && users[referer].referrerID >= 1){
                        payReferral(_level+1,referer);
                    }
                    else
                    {
                        sendBalance();
                    }
                   
                }
           
            if(!sent) {
              //  emit lostMoneyForLevelEvent(referer, msg.sender, _level, now);
    
                payReferral(_level, referer);
            }
         }
       
       
       
       
           function buyPool1() public payable {
           require(users[msg.sender].isExist, "User Not Registered");
          require(!pool1users[msg.sender].isExist, "Already in AutoPool");
          
            require(msg.value == pool1_price, 'Incorrect Value');
            
           
            PoolUserStruct memory userStruct;
            address pool1Currentuser=pool1userList[pool1activeUserID];
            
            pool1currUserID++;
    
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool1currUserID,
                payment_received:0
            });
       
           pool1users[msg.sender] = userStruct;
           pool1userList[pool1currUserID]=msg.sender;
           bool sent = false;
           sent = address(uint160(pool1Currentuser)).send(pool1_price);
    
                if (sent) {
                    pool1users[pool1Currentuser].payment_received+=1;
                    if(pool1users[pool1Currentuser].payment_received>=2)
                    {
                        pool1activeUserID+=1;
                    }
                    emit getPoolPayment(msg.sender,pool1Currentuser, 1, now);
                }
           emit regPoolEntry(msg.sender, 1, now);
        }
        
        
          function buyPool2() public payable {
              require(users[msg.sender].isExist, "User Not Registered");
          require(!pool2users[msg.sender].isExist, "Already in AutoPool");
            require(msg.value == pool2_price, 'Incorrect Value');
            require(users[msg.sender].referredUsers>=0, "Must need 0 referral");
             
            PoolUserStruct memory userStruct;
            address pool2Currentuser=pool2userList[pool2activeUserID];
            
            pool2currUserID++;
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool2currUserID,
                payment_received:0
            });
           pool2users[msg.sender] = userStruct;
           pool2userList[pool2currUserID]=msg.sender;
           
           
           
           bool sent = false;
           sent = address(uint160(pool2Currentuser)).send(pool2_price);
    
                if (sent) {
                    pool2users[pool2Currentuser].payment_received+=1;
                    if(pool2users[pool2Currentuser].payment_received>=3)
                    {
                        pool2activeUserID+=1;
                    }
                    emit getPoolPayment(msg.sender,pool2Currentuser, 2, now);
                }
                emit regPoolEntry(msg.sender,2,  now);
        }
        
        
         function buyPool3() public payable {
             require(users[msg.sender].isExist, "User Not Registered");
          require(!pool3users[msg.sender].isExist, "Already in AutoPool");
            require(msg.value == pool3_price, 'Incorrect Value');
            require(users[msg.sender].referredUsers>=0, "Must need 0 referral");
            
            PoolUserStruct memory userStruct;
            address pool3Currentuser=pool3userList[pool3activeUserID];
            
            pool3currUserID++;
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool3currUserID,
                payment_received:0
            });
           pool3users[msg.sender] = userStruct;
           pool3userList[pool3currUserID]=msg.sender;
           bool sent = false;
           sent = address(uint160(pool3Currentuser)).send(pool3_price);
    
                if (sent) {
                    pool3users[pool3Currentuser].payment_received+=1;
                    if(pool3users[pool3Currentuser].payment_received>=3)
                    {
                        pool3activeUserID+=1;
                    }
                    emit getPoolPayment(msg.sender,pool3Currentuser, 3, now);
                }
    emit regPoolEntry(msg.sender,3,  now);
        }
        
        
        function buyPool4() public payable {
            require(users[msg.sender].isExist, "User Not Registered");
          require(!pool4users[msg.sender].isExist, "Already in AutoPool");
            require(msg.value == pool4_price, 'Incorrect Value');
            require(users[msg.sender].referredUsers>=0, "Must need 0 referral");
          
            PoolUserStruct memory userStruct;
            address pool4Currentuser=pool4userList[pool4activeUserID];
            
            pool4currUserID++;
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool4currUserID,
                payment_received:0
            });
           pool4users[msg.sender] = userStruct;
           pool4userList[pool4currUserID]=msg.sender;
           bool sent = false;
           sent = address(uint160(pool4Currentuser)).send(pool4_price);
    
                if (sent) {
                    pool4users[pool4Currentuser].payment_received+=1;
                    if(pool4users[pool4Currentuser].payment_received>=3)
                    {
                        pool4activeUserID+=1;
                    }
                     emit getPoolPayment(msg.sender,pool4Currentuser, 4, now);
                }
            emit regPoolEntry(msg.sender,4, now);
        }
        
        
        
        function buyPool5() public payable {
            require(users[msg.sender].isExist, "User Not Registered");
          require(!pool5users[msg.sender].isExist, "Already in AutoPool");
            require(msg.value == pool5_price, 'Incorrect Value');
            require(users[msg.sender].referredUsers>=0, "Must need 0 referral");
            
            PoolUserStruct memory userStruct;
            address pool5Currentuser=pool5userList[pool5activeUserID];
            
            pool5currUserID++;
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool5currUserID,
                payment_received:0
            });
           pool5users[msg.sender] = userStruct;
           pool5userList[pool5currUserID]=msg.sender;
           bool sent = false;
           sent = address(uint160(pool5Currentuser)).send(pool5_price);
    
                if (sent) {
                    pool5users[pool5Currentuser].payment_received+=1;
                    if(pool5users[pool5Currentuser].payment_received>=3)
                    {
                        pool5activeUserID+=1;
                    }
                     emit getPoolPayment(msg.sender,pool5Currentuser, 5, now);
                }
            emit regPoolEntry(msg.sender,5,  now);
        }
        
        function buyPool6() public payable {
          require(!pool6users[msg.sender].isExist, "Already in AutoPool");
            require(msg.value == pool6_price, 'Incorrect Value');
            require(users[msg.sender].referredUsers>=0, "Must need 0 referral");
            
            PoolUserStruct memory userStruct;
            address pool6Currentuser=pool6userList[pool6activeUserID];
            
            pool6currUserID++;
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool6currUserID,
                payment_received:0
            });
           pool6users[msg.sender] = userStruct;
           pool6userList[pool6currUserID]=msg.sender;
           bool sent = false;
           sent = address(uint160(pool6Currentuser)).send(pool6_price);
    
                if (sent) {
                    pool6users[pool6Currentuser].payment_received+=1;
                    if(pool6users[pool6Currentuser].payment_received>=3)
                    {
                        pool6activeUserID+=1;
                    }
                     emit getPoolPayment(msg.sender,pool6Currentuser, 6, now);
                }
            emit regPoolEntry(msg.sender,6,  now);
        }
        
        function buyPool7() public payable {
            require(users[msg.sender].isExist, "User Not Registered");
          require(!pool7users[msg.sender].isExist, "Already in AutoPool");
            require(msg.value == pool7_price, 'Incorrect Value');
            require(users[msg.sender].referredUsers>=0, "Must need 0 referral");
            
            PoolUserStruct memory userStruct;
            address pool7Currentuser=pool7userList[pool7activeUserID];
            
            pool7currUserID++;
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool7currUserID,
                payment_received:0
            });
           pool7users[msg.sender] = userStruct;
           pool7userList[pool7currUserID]=msg.sender;
           bool sent = false;
           sent = address(uint160(pool7Currentuser)).send(pool7_price);
    
                if (sent) {
                    pool7users[pool7Currentuser].payment_received+=1;
                    if(pool7users[pool7Currentuser].payment_received>=3)
                    {
                        pool7activeUserID+=1;
                    }
                     emit getPoolPayment(msg.sender,pool7Currentuser, 7, now);
                }
            emit regPoolEntry(msg.sender,7,  now);
        }
        
        
        function buyPool8() public payable {
            require(users[msg.sender].isExist, "User Not Registered");
          require(!pool8users[msg.sender].isExist, "Already in AutoPool");
            require(msg.value == pool8_price, 'Incorrect Value');
            require(users[msg.sender].referredUsers>=0, "Must need 0 referral");
           
            PoolUserStruct memory userStruct;
            address pool8Currentuser=pool8userList[pool8activeUserID];
            
            pool8currUserID++;
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool8currUserID,
                payment_received:0
            });
           pool8users[msg.sender] = userStruct;
           pool8userList[pool8currUserID]=msg.sender;
           bool sent = false;
           sent = address(uint160(pool8Currentuser)).send(pool8_price);
    
                if (sent) {
                    pool8users[pool8Currentuser].payment_received+=1;
                    if(pool8users[pool8Currentuser].payment_received>=3)
                    {
                        pool8activeUserID+=1;
                    }
                     emit getPoolPayment(msg.sender,pool8Currentuser, 8, now);
                }
            emit regPoolEntry(msg.sender,8,  now);
        }
        
        
        
        function buyPool9() public payable {
            require(users[msg.sender].isExist, "User Not Registered");
          require(!pool9users[msg.sender].isExist, "Already in AutoPool");
            require(msg.value == pool9_price, 'Incorrect Value');
            require(users[msg.sender].referredUsers>=0, "Must need 0 referral");
           
            PoolUserStruct memory userStruct;
            address pool9Currentuser=pool9userList[pool9activeUserID];
            
            pool9currUserID++;
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool9currUserID,
                payment_received:0
            });
           pool9users[msg.sender] = userStruct;
           pool9userList[pool9currUserID]=msg.sender;
           bool sent = false;
           sent = address(uint160(pool9Currentuser)).send(pool9_price);
    
                if (sent) {
                    pool9users[pool9Currentuser].payment_received+=1;
                    if(pool9users[pool9Currentuser].payment_received>=3)
                    {
                        pool9activeUserID+=1;
                    }
                     emit getPoolPayment(msg.sender,pool9Currentuser, 9, now);
                }
            emit regPoolEntry(msg.sender,9,  now);
        }
        
        
        function buyPool10() public payable {
            require(users[msg.sender].isExist, "User Not Registered");
          require(!pool10users[msg.sender].isExist, "Already in AutoPool");
            require(msg.value == pool10_price, 'Incorrect Value');
            require(users[msg.sender].referredUsers>=0, "Must need 0 referral");
            
            PoolUserStruct memory userStruct;
            address pool10Currentuser=pool10userList[pool10activeUserID];
            
            pool10currUserID++;
            userStruct = PoolUserStruct({
                isExist:true,
                id:pool10currUserID,
                payment_received:0
            });
           pool10users[msg.sender] = userStruct;
           pool10userList[pool10currUserID]=msg.sender;
           bool sent = false;
           sent = address(uint160(pool10Currentuser)).send(pool10_price);
    
                if (sent) {
                    pool10users[pool10Currentuser].payment_received+=1;
                    if(pool10users[pool10Currentuser].payment_received>=3)
                    {
                        pool10activeUserID+=1;
                    }
                     emit getPoolPayment(msg.sender,pool10Currentuser, 10, now);
                }
            emit regPoolEntry(msg.sender, 10, now);
        }
        
        function getEthBalance() public view returns(uint) {
        return address(this).balance;
        }
        
        function sendBalance() private
        {
             if (!address(uint160(ownerWallet)).send(getEthBalance()))
             {
                 
             }
        }
       
       
    }