Transaction Hash:
Block:
10744489 at Aug-27-2020 07:25:58 PM +UTC
Transaction Fee:
0.0066977 ETH
$16.58
Gas Used:
133,954 Gas / 50 Gwei
Emitted Events:
37 |
eeplus.getPoolPayment( _user=[Sender] 0x47cbbd6abbe59ced50dd84049ee26cd47ce3d895, _receiver=0x95c9bdae6ba2b2ccee86a4141758dd9f5e21a17d, _level=1, _time=1598556358 )
|
38 |
eeplus.regPoolEntry( _user=[Sender] 0x47cbbd6abbe59ced50dd84049ee26cd47ce3d895, _level=1, _time=1598556358 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x04668Ec2...D451c8F7F
Miner
| (zhizhu.top) | 3,321.291679089037992727 Eth | 3,321.298376789037992727 Eth | 0.0066977 | |
0x22e84cB1...A84F888De | |||||
0x47cBbd6a...47ce3D895 |
0.053575664 Eth
Nonce: 5
|
0.021877964 Eth
Nonce: 6
| 0.0316977 | ||
0x95c9BDAE...f5e21A17d | 0.00000423831293695 Eth | 0.02500423831293695 Eth | 0.025 |
Execution Trace
ETH 0.025
eeplus.CALL( )
- ETH 0.025
0x95c9bdae6ba2b2ccee86a4141758dd9f5e21a17d.CALL( )
/* .########.........########..##.......##.....##..######. .##...............##.....##.##.......##.....##.##....## .##...............##.....##.##.......##.....##.##...... .######...#######.########..##.......##.....##..######. .##...............##........##.......##.....##.......## .##...............##........##.......##.....##.##....## .########.........##........########..#######...######. */ pragma solidity 0.5.11; contract eeplus { 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 pool1activeUserID = 0; uint public pool2activeUserID = 0; uint public pool3activeUserID = 0; uint public pool4activeUserID = 0; uint public pool5activeUserID = 0; uint public pool6activeUserID = 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(uint => uint) public LEVEL_PRICE; uint REGESTRATION_FESS=0.05 ether; uint pool1_price=0.025 ether; uint pool2_price=0.05 ether ; uint pool3_price=0.1 ether; uint pool4_price=0.2 ether; uint pool5_price=0.8 ether; uint pool6_price=1.6 ether; event regLevelEvent(address indexed _user, address indexed _referrer, uint _time); event getMoneyForLevelEvent(address indexed _user, address indexed _referral, uint _level, uint _time); event getMoneyForSplEvent(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); event getReInvestPoolPayment(address indexed _user, uint _level, uint _time); UserStruct[] public requests; uint public totalEarned = 0; constructor() public { ownerWallet = msg.sender; 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; } 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(users[userList[users[_user].referrerID]].referredUsers % 4 == 0 ) { level_price_local=0.05 ether; sent = address(uint160(referer)).send(level_price_local); if (sent) { totalEarned += level_price_local; emit getMoneyForSplEvent(referer, msg.sender, _level, now); } } else { level_price_local=0.025 ether; sent = address(uint160(referer)).send(level_price_local); if (sent) { totalEarned += level_price_local; emit getMoneyForLevelEvent(referer, msg.sender, _level, now); } } } function reInvest( address _user, uint _level) internal { if(_level==1) { PoolUserStruct memory userStruct; address pool1Currentuser=pool1userList[pool1activeUserID]; pool1currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool1currUserID, payment_received:0 }); pool1users[_user] = userStruct; pool1userList[pool1currUserID]=_user; emit getReInvestPoolPayment(_user, _level, now); } else if(_level==2) { PoolUserStruct memory userStruct; address pool2Currentuser=pool2userList[pool2activeUserID]; pool2currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool2currUserID, payment_received:0 }); pool2users[_user] = userStruct; pool2userList[pool2currUserID]=_user; emit getReInvestPoolPayment(_user, _level, now); } else if(_level==3) { PoolUserStruct memory userStruct; address pool3Currentuser=pool3userList[pool3activeUserID]; pool3currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool3currUserID, payment_received:0 }); pool3users[_user] = userStruct; pool3userList[pool3currUserID]=_user; emit getReInvestPoolPayment(_user, _level, now); } else if(_level==4) { PoolUserStruct memory userStruct; address pool4Currentuser=pool4userList[pool4activeUserID]; pool4currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool4currUserID, payment_received:0 }); pool4users[_user] = userStruct; pool4userList[pool4currUserID]=_user; emit getReInvestPoolPayment(_user, _level, now); } else if(_level==5) { PoolUserStruct memory userStruct; address pool5Currentuser=pool5userList[pool5activeUserID]; pool5currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool5currUserID, payment_received:0 }); pool5users[_user] = userStruct; pool5userList[pool5currUserID]=_user; emit getReInvestPoolPayment(_user, _level, now); } else if(_level==6) { PoolUserStruct memory userStruct; address pool6Currentuser=pool6userList[pool6activeUserID]; pool6currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool6currUserID, payment_received:0 }); pool6users[_user] = userStruct; pool6userList[pool6currUserID]=_user; emit getReInvestPoolPayment(_user, _level, now); } } 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; uint poolshare = pool1_price; sent = address(uint160(pool1Currentuser)).send(poolshare); if (sent) { totalEarned += poolshare; pool1users[pool1Currentuser].payment_received+=1; if(pool1users[pool1Currentuser].payment_received>=3) { pool1activeUserID+=1; reInvest(pool1Currentuser,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'); 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; uint poolshare = pool2_price; sent = address(uint160(pool2Currentuser)).send(poolshare); if (sent) { totalEarned += poolshare; pool2users[pool2Currentuser].payment_received+=1; if(pool2users[pool2Currentuser].payment_received>=3) { pool2activeUserID+=1; reInvest(pool2Currentuser,2); } 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'); 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; uint poolshare = pool3_price; sent = address(uint160(pool3Currentuser)).send(poolshare); if (sent) { totalEarned += poolshare; pool3users[pool3Currentuser].payment_received+=1; if(pool3users[pool3Currentuser].payment_received>=3) { pool3activeUserID+=1; reInvest(pool3Currentuser,3); } 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'); 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; uint poolshare = pool4_price ; sent = address(uint160(pool4Currentuser)).send(poolshare); if (sent) { totalEarned += poolshare; pool4users[pool4Currentuser].payment_received+=1; if(pool4users[pool4Currentuser].payment_received>=3) { pool4activeUserID+=1; reInvest(pool4Currentuser,4); } 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'); 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; uint poolshare = pool5_price ; sent = address(uint160(pool5Currentuser)).send(poolshare); if (sent) { totalEarned += poolshare; pool5users[pool5Currentuser].payment_received+=1; if(pool5users[pool5Currentuser].payment_received>=3) { pool5activeUserID+=1; reInvest(pool5Currentuser,5); } emit getPoolPayment(msg.sender,pool5Currentuser, 5, now); } emit regPoolEntry(msg.sender,5, now); } function buyPool6() public payable { require(users[msg.sender].isExist, "User Not Registered"); require(!pool6users[msg.sender].isExist, "Already in AutoPool"); require(msg.value == pool6_price, 'Incorrect Value'); 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; uint poolshare = pool6_price; sent = address(uint160(pool6Currentuser)).send(poolshare); if (sent) { totalEarned += poolshare; pool6users[pool6Currentuser].payment_received+=1; if(pool6users[pool6Currentuser].payment_received>=3) { pool6activeUserID+=1; reInvest(pool6Currentuser,6); } emit getPoolPayment(msg.sender,pool6Currentuser, 6, now); } emit regPoolEntry(msg.sender,6, now); } function getEthBalance() public view returns(uint) { return address(this).balance; } function sendBalance() private { if (!address(uint160(ownerWallet)).send(getEthBalance())) { } } }