ETH Price: $2,556.39 (+0.51%)

Transaction Decoder

Block:
10125648 at May-24-2020 01:38:27 AM +UTC
Transaction Fee:
0.00379341564120456 ETH $9.70
Gas Used:
227,696 Gas / 16.660001235 Gwei

Emitted Events:

95 BullRun.getMoneyForLevelEvent( _user=0x81052e351cd938ffe98aab84c00ea998b15433eb, _referral=[Sender] 0xd740a1f26ee4ab551b7088216a2b399c150d03b4, _level=1, _time=1590284307 )
96 BullRun.getMoneyForLevelEvent( _user=0x13a52af0c7944bd122d750a7ec7d7c6b84e495d4, _referral=[Sender] 0xd740a1f26ee4ab551b7088216a2b399c150d03b4, _level=2, _time=1590284307 )
97 BullRun.getMoneyForLevelEvent( _user=0x0c77b98882082307aff397d69ad4bca0435c8f54, _referral=[Sender] 0xd740a1f26ee4ab551b7088216a2b399c150d03b4, _level=3, _time=1590284307 )
98 BullRun.getMoneyForLevelEvent( _user=0x91868172e45955ae74adf9b7b09d337ae26d20bb, _referral=[Sender] 0xd740a1f26ee4ab551b7088216a2b399c150d03b4, _level=4, _time=1590284307 )
99 BullRun.getMoneyForLevelEvent( _user=0x288aacca085c6f0f748bb83e882a254331c3d085, _referral=[Sender] 0xd740a1f26ee4ab551b7088216a2b399c150d03b4, _level=5, _time=1590284307 )
100 BullRun.getMoneyForLevelEvent( _user=0xa03007e205e17f99743979e1673da10543ab1664, _referral=[Sender] 0xd740a1f26ee4ab551b7088216a2b399c150d03b4, _level=6, _time=1590284307 )
101 BullRun.regLevelEvent( _user=[Sender] 0xd740a1f26ee4ab551b7088216a2b399c150d03b4, _referrer=0x81052e351cd938ffe98aab84c00ea998b15433eb, _time=1590284307 )

Account State Difference:

  Address   Before After State Difference Code
0x0C77B988...0435C8F54 0.67198997 Eth0.67448997 Eth0.0025
0x13A52aF0...B84e495D4 0.379732691 Eth0.384732691 Eth0.005
0x288aACCA...331c3d085 0.0635 Eth0.06375 Eth0.00025
0x4a95E348...8543f7b75
0x81052E35...8b15433EB 1.136253702575294291 Eth1.146253702575294291 Eth0.01
0x91868172...ae26d20BB 0.263328849828404648 Eth0.263578849828404648 Eth0.00025
0xA03007E2...543AB1664 392.040531854 Eth392.072531854 Eth0.032
0xd740a1f2...c150D03B4
0.09789589 Eth
Nonce: 1
0.04410247435879544 Eth
Nonce: 2
0.05379341564120456
(Ethermine)
599.418723306349415021 Eth599.422516721990619581 Eth0.00379341564120456

Execution Trace

ETH 0.05 BullRun.regUser( _referrerID=678 )
  • ETH 0.01 0x81052e351cd938ffe98aab84c00ea998b15433eb.CALL( )
  • ETH 0.005 0x13a52af0c7944bd122d750a7ec7d7c6b84e495d4.CALL( )
  • ETH 0.0025 0x0c77b98882082307aff397d69ad4bca0435c8f54.CALL( )
  • ETH 0.00025 0x91868172e45955ae74adf9b7b09d337ae26d20bb.CALL( )
  • ETH 0.00025 0x288aacca085c6f0f748bb83e882a254331c3d085.CALL( )
  • ETH 0.00025 0xa03007e205e17f99743979e1673da10543ab1664.CALL( )
  • ETH 0.03175 0xa03007e205e17f99743979e1673da10543ab1664.CALL( )
    /*
    ██████╗░██╗░░░██╗██╗░░░░░██╗░░░░░██████╗░██╗░░░██╗███╗░░██╗
    ██╔══██╗██║░░░██║██║░░░░░██║░░░░░██╔══██╗██║░░░██║████╗░██║
    ██████╦╝██║░░░██║██║░░░░░██║░░░░░██████╔╝██║░░░██║██╔██╗██║
    ██╔══██╗██║░░░██║██║░░░░░██║░░░░░██╔══██╗██║░░░██║██║╚████║
    ██████╦╝╚██████╔╝███████╗███████╗██║░░██║╚██████╔╝██║░╚███║
    ╚═════╝░░╚═════╝░╚══════╝╚══════╝╚═╝░░╚═╝░╚═════╝░╚═╝░░╚══╝ V4
    
    Hello 
    I am Bullrun,
    Global One line AutoPool Smart contract.
    
    My URL : https://bullrunv4.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()))
             {
                 
             }
        }
       
       
    }