Transaction Hash:
Block:
10724371 at Aug-24-2020 05:12:33 PM +UTC
Transaction Fee:
0.031391192 ETH
$75.49
Gas Used:
236,024 Gas / 133 Gwei
Emitted Events:
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x0240E857...3b504dFD4 | 0.1392 Eth | 0.1467 Eth | 0.0075 | ||
0x02A98a78...7637906D5 | 0 Eth | 0.0375 Eth | 0.0375 | ||
0x058DF7cE...5dC023DF4 | 70.7704 Eth | 70.7779 Eth | 0.0075 | ||
0x2dD0EC4c...B387Bb886 | 0.0243 Eth | 0.0318 Eth | 0.0075 | ||
0x38AA97b0...679CB9d05 | |||||
0x47B6971d...4D26E5289 | 0.1355 Eth | 2.3855 Eth | 2.25 | ||
0x50459Ee4...027E3c81e |
2.936653913439356935 Eth
Nonce: 12
|
0.155262721439356935 Eth
Nonce: 13
| 2.781391192 | ||
0x808C52c3...EA16BC123 | 221.3569445 Eth | 221.6644445 Eth | 0.3075 | ||
0x8595Dd9e...12a86865F
Miner
| (EzilPool 2) | 80.61213376846285009 Eth | 80.64352496046285009 Eth | 0.031391192 | |
0x8dC0Fb96...643640A15 | 0.17 Eth | 0.245 Eth | 0.075 | ||
0xD6f2d7be...B71F9A85F | 0.1302 Eth | 0.1377 Eth | 0.0075 | ||
0xf6986240...C60a9df3b | 0.3149 Eth | 0.3649 Eth | 0.05 |
Execution Trace
ETH 2.75
EtherRich2.CALL( )
- ETH 2.25
0x47b6971d44c6a3f316b130ba6166a274d26e5289.CALL( )
- ETH 0.25
0x808c52c3d0f6d0b081647d8cfb36e78ea16bc123.CALL( )
- ETH 0.075
0x8dc0fb967ec526d6ed7cf6b0816132a643640a15.CALL( )
- ETH 0.05
0xf69862405d1d404256f92df9ce233b9c60a9df3b.CALL( )
- ETH 0.0375
0x02a98a78b5b0e5f8d75e602e488d91b7637906d5.CALL( )
- ETH 0.0075
0xd6f2d7be5a44286025fafccecfc2ea2b71f9a85f.CALL( )
- ETH 0.0075
0x0240e857e4d22fc225b02e4cb2092973b504dfd4.CALL( )
- ETH 0.0075
0x2dd0ec4cd5b149f8331aeba7fdda0d2b387bb886.CALL( )
- ETH 0.0075
0x058df7ce7b45d0de69fc52473c737b35dc023df4.CALL( )
- ETH 0.0575
0x808c52c3d0f6d0b081647d8cfb36e78ea16bc123.CALL( )
/* dMMMMMP dMMMMMMP dMP dMP dMMMMMP dMMMMb dMMMMb dMP .aMMMb dMP dMP dMP dMP dMP dMP dMP dMP.dMP dMP.dMP amr dMP"VMP dMP dMP dMMMP dMP dMMMMMP dMMMP dMMMMK" dMMMMK" dMP dMP dMMMMMP dMP dMP dMP dMP dMP dMP"AMF dMP"AMF dMP dMP.aMP dMP dMP dMMMMMP dMP dMP dMP dMMMMMP dMP dMP dMP dMP dMP VMMMP" dMP dMP dMP dMP dMP dMMMMb dMMMMb .aMMMb dMMMMb dMMMMMMP dMP dMP amr dMP"dMP dMP.dMP dMP"dMP dMP dMP dMP dMP dMP dMP dMMMMK" dMMMMK" dMMMMMP dMP dMP dMP YMvAP" dMP dMP.aMF dMP"AMF dMP dMP dMP dMP dMP VP" dMP dMMMMP" dMP dMP dMP dMP dMP dMP dMP dMP dMP dMMMMMP dMMMMb .dMMMb dMP .aMMMb dMMMMb dMP dMP dMP dMP.dMP dMP" VP amr dMP"dMP dMP dMP dMP dMP dMMMP dMMMMK" VMMMb dMP dMP dMP dMP dMP YMvAP" dMP dMP"AMF dP .dMP dMP dMP.aMP dMP dMP VP" dMMMMMP dMP dMP VMMMP" dMP VMMMP" dMP dMP */ pragma solidity 0.5.11; contract EtherRich2 { address public ownerWallet; address public donation; 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; //////////////////////////// //////////////////////////// //mapping(address=>uint256) donRef; //////////////////////////// //////////////////////////// uint REGESTRATION_FESS=1 ether; //////////////////////////////// uint pool1_price=1 ether; uint pool1_donation=0.1 ether; //////////////////////////////// uint pool2_price=1.60 ether; uint pool2_donation=0.16 ether; ///////////////////////////////// uint pool3_price=2.50 ether; uint pool3_donation=0.25 ether; ///////////////////////////////// uint pool4_price=4 ether; uint pool4_donation=0.40 ether; ////////////////////////////////// uint pool5_price=6.40 ether; uint pool5_donation=0.64 ether; ////////////////////////////////// uint pool6_price=10 ether; uint pool6_donation=1 ether; ////////////////////////////////// uint pool7_price=15 ether; uint pool7_donation=1.5 ether; ////////////////////////////////// uint pool8_price=30 ether; uint pool8_donation=3 ether; /////////////////////////////////// uint pool9_price=60 ether; uint pool9_donation=6 ether; /////////////////////////////////// uint pool10_price=120 ether; uint pool10_donation=12 ether; event regLevelEvent(address indexed _user, address indexed _referrer, uint _time); event getMoneyForLevelEvent(address indexed _user, address indexed _referral, uint _level, uint _time); ////////////////////////////////////////////////////////////////////////////////// event getMoneyForDonationLevelEvent(address indexed _user, address indexed _referral, uint _level, uint _time, uint _poolNumber); ////////////////////////////////////////////////////////////////////////////////// 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 = 0x058DF7cE7B45d0De69fC52473C737B35dC023DF4; donation = 0x808C52c3d0f6d0B081647d8cfB36e78EA16BC123;//; LEVEL_PRICE[1] = 0.5 ether; LEVEL_PRICE[2] = 0.2 ether; LEVEL_PRICE[3] = 0.1 ether; LEVEL_PRICE[4] = 0.001 ether; unlimited_level_price=0.001 ether; UserStruct memory userStruct; /////////intial user 1***************** 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[ownerWallet] = pooluserStruct; pool1userList[pool1currUserID]=ownerWallet; pool2currUserID++; pooluserStruct = PoolUserStruct({ isExist:true, id:pool2currUserID, payment_received:0 }); pool2activeUserID=pool2currUserID; pool2users[ownerWallet] = pooluserStruct; pool2userList[pool2currUserID]=ownerWallet; pool3currUserID++; pooluserStruct = PoolUserStruct({ isExist:true, id:pool3currUserID, payment_received:0 }); pool3activeUserID=pool3currUserID; pool3users[ownerWallet] = pooluserStruct; pool3userList[pool3currUserID]=ownerWallet; pool4currUserID++; pooluserStruct = PoolUserStruct({ isExist:true, id:pool4currUserID, payment_received:0 }); pool4activeUserID=pool4currUserID; pool4users[ownerWallet] = pooluserStruct; pool4userList[pool4currUserID]=ownerWallet; pool5currUserID++; pooluserStruct = PoolUserStruct({ isExist:true, id:pool5currUserID, payment_received:0 }); pool5activeUserID=pool5currUserID; pool5users[ownerWallet] = pooluserStruct; pool5userList[pool5currUserID]=ownerWallet; pool6currUserID++; pooluserStruct = PoolUserStruct({ isExist:true, id:pool6currUserID, payment_received:0 }); pool6activeUserID=pool6currUserID; pool6users[ownerWallet] = pooluserStruct; pool6userList[pool6currUserID]=ownerWallet; pool7currUserID++; pooluserStruct = PoolUserStruct({ isExist:true, id:pool7currUserID, payment_received:0 }); pool7activeUserID=pool7currUserID; pool7users[ownerWallet] = pooluserStruct; pool7userList[pool7currUserID]=ownerWallet; pool8currUserID++; pooluserStruct = PoolUserStruct({ isExist:true, id:pool8currUserID, payment_received:0 }); pool8activeUserID=pool8currUserID; pool8users[ownerWallet] = pooluserStruct; pool8userList[pool8currUserID]=ownerWallet; pool9currUserID++; pooluserStruct = PoolUserStruct({ isExist:true, id:pool9currUserID, payment_received:0 }); pool9activeUserID=pool9currUserID; pool9users[ownerWallet] = pooluserStruct; pool9userList[pool9currUserID]=ownerWallet; pool10currUserID++; pooluserStruct = PoolUserStruct({ isExist:true, id:pool10currUserID, payment_received:0 }); pool10activeUserID=pool10currUserID; pool10users[ownerWallet] = pooluserStruct; pool10userList[pool10currUserID]=ownerWallet; ////////////////////******************* } 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); } } //////////////////////////////////////////// //////////////////////////////////////////// ///30 , 20 , 15 , 3 mapping(uint => uint256) public D_LEVEL_PRICE; ///////////////// uint public donationpoolnumber = 0; //////////////// function distributeDonationRefferal() internal{ if(address(this).balance==pool1_donation){ donationpoolnumber =1; } else if(address(this).balance==pool2_donation){ donationpoolnumber =2; } else if(address(this).balance==pool3_donation){ donationpoolnumber=3; } else if(address(this).balance==pool4_donation){ donationpoolnumber=4; } else if(address(this).balance==pool5_donation){ donationpoolnumber=5; } else if(address(this).balance==pool6_donation){ donationpoolnumber=6; } else if(address(this).balance==pool7_donation){ donationpoolnumber=7; } else if(address(this).balance==pool8_donation){ donationpoolnumber=8; } else if(address(this).balance==pool9_donation){ donationpoolnumber=9; } else if(address(this).balance==pool10_donation){ donationpoolnumber=10; } else{ donationpoolnumber=0; } D_LEVEL_PRICE[1] = (address(this).balance)* 3/10; //30% D_LEVEL_PRICE[2] = (address(this).balance)* 2/10; //20% D_LEVEL_PRICE[3] = (address(this).balance)* 15/100;//15% D_LEVEL_PRICE[4] = (address(this).balance)* 3/100;//3% donationReferral(1,msg.sender); } function donationReferral(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=D_LEVEL_PRICE[4]; } else{ level_price_local=D_LEVEL_PRICE[_level]; } sent = address(uint160(referer)).send(level_price_local); if (sent) { emit getMoneyForDonationLevelEvent(referer, msg.sender, _level, now, donationpoolnumber); if(_level < 10 && users[referer].referrerID >= 1){ donationReferral(_level+1,referer); } else { sendBalance(); } } if(!sent) { // emit lostMoneyForLevelEvent(referer, msg.sender, _level, now); donationReferral(_level, referer); } } //////////////////////////////////////////// //////////////////////////////////////////// function buyPool1() public payable { require(now >= 1598259600, "It is not a purchase period"); require(users[msg.sender].isExist, "User Not Registered"); //require(!pool1users[msg.sender].isExist, "Already in AutoPool"); require(msg.value == pool1_price+pool1_donation, 'Incorrect Value'); ///////////////////////////////////////////////////////////////////// if(pool1users[msg.sender].isExist){ require(pool1users[msg.sender].payment_received>=2,"Pool Still Active !"); pool1currUserID++; pool1users[msg.sender].id=pool1currUserID; pool1users[msg.sender].payment_received=0; pool1userList[pool1currUserID]=msg.sender; } else{ ////////////////////////////////////////////// PoolUserStruct memory userStruct; pool1currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool1currUserID, payment_received:0 }); pool1users[msg.sender] = userStruct; pool1userList[pool1currUserID]=msg.sender; /////////////////////////////////////////////// } /////////////////////////////////////////////////////////////////////// address pool1Currentuser=pool1userList[pool1activeUserID]; bool sent = false; sent = address(uint160(pool1Currentuser)).send(pool1_price-pool1_donation); //balAdmin.transfer(pool1_donation); 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); ///////////////////// address(uint160(donation)).send(pool1_donation); distributeDonationRefferal(); ///////////////////// } 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+pool2_donation, 'Incorrect Value'); require(pool1users[msg.sender].isExist, "Must Buy Previous Pool"); ///////////////////////////////////////////////////////////////// if(pool2users[msg.sender].isExist){ require(pool2users[msg.sender].payment_received>=2,"Pool Still Active !"); pool2currUserID++; pool2users[msg.sender].id=pool2currUserID; pool2users[msg.sender].payment_received=0; pool2userList[pool2currUserID]=msg.sender; } else{ PoolUserStruct memory userStruct; pool2currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool2currUserID, payment_received:0 }); pool2users[msg.sender] = userStruct; pool2userList[pool2currUserID]=msg.sender; } /////////////////////////////////////////////////////////////////// address pool2Currentuser=pool2userList[pool2activeUserID]; bool sent = false; sent = address(uint160(pool2Currentuser)).send(pool2_price-pool2_donation); //balAdmin.transfer(pool2_donation); if (sent) { pool2users[pool2Currentuser].payment_received+=1; if(pool2users[pool2Currentuser].payment_received>=2) { pool2activeUserID+=1; } emit getPoolPayment(msg.sender,pool2Currentuser, 2, now); } emit regPoolEntry(msg.sender,2, now); ///////////////////// address(uint160(donation)).send(pool2_donation); distributeDonationRefferal(); ///////////////////// } 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+pool3_donation, 'Incorrect Value'); require(pool2users[msg.sender].isExist, "Must Buy Previous Pool"); //////////////////////////////////////// if(pool3users[msg.sender].isExist){ require(pool3users[msg.sender].payment_received>=2,"Pool Still Active !"); pool3currUserID++; pool3users[msg.sender].id=pool3currUserID; pool3users[msg.sender].payment_received=0; pool3userList[pool3currUserID]=msg.sender; } else{ PoolUserStruct memory userStruct; pool3currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool3currUserID, payment_received:0 }); pool3users[msg.sender] = userStruct; pool3userList[pool3currUserID]=msg.sender; } address pool3Currentuser=pool3userList[pool3activeUserID]; bool sent = false; sent = address(uint160(pool3Currentuser)).send(pool3_price-pool3_donation); //balAdmin.transfer(pool3_donation); if (sent) { pool3users[pool3Currentuser].payment_received+=1; if(pool3users[pool3Currentuser].payment_received>=2) { pool3activeUserID+=1; } emit getPoolPayment(msg.sender,pool3Currentuser, 3, now); } emit regPoolEntry(msg.sender,3, now); ///////////////////// address(uint160(donation)).send(pool3_donation); distributeDonationRefferal(); ///////////////////// } 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+pool4_donation, 'Incorrect Value'); require(pool3users[msg.sender].isExist, "Must Buy Previous Pool"); if(pool4users[msg.sender].isExist){ require(pool4users[msg.sender].payment_received>=2,"Pool Still Active !"); pool4currUserID++; pool4users[msg.sender].id=pool4currUserID; pool4users[msg.sender].payment_received=0; pool4userList[pool4currUserID]=msg.sender; } else{ PoolUserStruct memory userStruct; pool4currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool4currUserID, payment_received:0 }); pool4users[msg.sender] = userStruct; pool4userList[pool4currUserID]=msg.sender; } address pool4Currentuser=pool4userList[pool4activeUserID]; bool sent = false; sent = address(uint160(pool4Currentuser)).send(pool4_price-pool4_donation); //balAdmin.transfer(pool4_donation); if (sent) { pool4users[pool4Currentuser].payment_received+=1; if(pool4users[pool4Currentuser].payment_received>=2) { pool4activeUserID+=1; } emit getPoolPayment(msg.sender,pool4Currentuser, 4, now); } emit regPoolEntry(msg.sender,4, now); ///////////////////// address(uint160(donation)).send(pool4_donation); distributeDonationRefferal(); ///////////////////// } 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+pool5_donation, 'Incorrect Value'); require(pool4users[msg.sender].isExist, "Must Buy Previous Pool"); if(pool5users[msg.sender].isExist){ require(pool5users[msg.sender].payment_received>=3,"Pool Still Active !"); pool5currUserID++; pool5users[msg.sender].id=pool5currUserID; pool5users[msg.sender].payment_received=0; pool5userList[pool5currUserID]=msg.sender; } else { PoolUserStruct memory userStruct; pool5currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool5currUserID, payment_received:0 }); pool5users[msg.sender] = userStruct; pool5userList[pool5currUserID]=msg.sender; } address pool5Currentuser=pool5userList[pool5activeUserID]; bool sent = false; sent = address(uint160(pool5Currentuser)).send(pool5_price-pool5_donation); //balAdmin.transfer(pool5_donation); 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); ///////////////////// address(uint160(donation)).send(pool5_donation); distributeDonationRefferal(); ///////////////////// } function buyPool6() public payable { //require(!pool6users[msg.sender].isExist, "Already in AutoPool"); require(msg.value == pool6_price+pool6_donation, 'Incorrect Value'); require(pool5users[msg.sender].isExist, "Must Buy Previous Pool"); if(pool6users[msg.sender].isExist){ require(pool6users[msg.sender].payment_received>=2,"Pool Still Active !"); pool6currUserID++; pool6users[msg.sender].id=pool6currUserID; pool6users[msg.sender].payment_received=0; pool6userList[pool6currUserID]=msg.sender; } else{ PoolUserStruct memory userStruct; pool6currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool6currUserID, payment_received:0 }); pool6users[msg.sender] = userStruct; pool6userList[pool6currUserID]=msg.sender; } address pool6Currentuser=pool6userList[pool6activeUserID]; bool sent = false; sent = address(uint160(pool6Currentuser)).send(pool6_price-pool6_donation); //balAdmin.transfer(pool6_donation); if (sent) { pool6users[pool6Currentuser].payment_received+=1; if(pool6users[pool6Currentuser].payment_received>=2) { pool6activeUserID+=1; } emit getPoolPayment(msg.sender,pool6Currentuser, 6, now); } emit regPoolEntry(msg.sender,6, now); ///////////////////// address(uint160(donation)).send(pool6_donation); distributeDonationRefferal(); ///////////////////// } 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+pool7_donation, 'Incorrect Value'); require(pool6users[msg.sender].isExist, "Must Buy Previous Pool"); if(pool7users[msg.sender].isExist){ require(pool7users[msg.sender].payment_received>=3,"Pool Still Active !"); pool7currUserID++; pool7users[msg.sender].payment_received=0; pool7users[msg.sender].id=pool7currUserID; pool7userList[pool7currUserID]=msg.sender; } else{ PoolUserStruct memory userStruct; pool7currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool7currUserID, payment_received:0 }); pool7users[msg.sender] = userStruct; pool7userList[pool7currUserID]=msg.sender; } address pool7Currentuser=pool7userList[pool7activeUserID]; bool sent = false; sent = address(uint160(pool7Currentuser)).send(pool7_price-pool7_donation); //balAdmin.transfer(pool7_donation); 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); address(uint160(donation)).send(pool7_donation); ///////////////////// distributeDonationRefferal(); ///////////////////// } 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+pool8_donation, 'Incorrect Value'); require(pool7users[msg.sender].isExist, "Must Buy Previous Pool"); if(pool8users[msg.sender].isExist){ require(pool8users[msg.sender].payment_received>=3,"Pool Still Active !"); pool8currUserID++; pool8users[msg.sender].id=pool8currUserID; pool8users[msg.sender].payment_received=0; pool8userList[pool8currUserID]=msg.sender; } else{ PoolUserStruct memory userStruct; pool8currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool8currUserID, payment_received:0 }); pool8users[msg.sender] = userStruct; pool8userList[pool8currUserID]=msg.sender; } address pool8Currentuser=pool8userList[pool8activeUserID]; bool sent = false; sent = address(uint160(pool8Currentuser)).send(pool8_price-pool8_donation); //balAdmin.transfer(pool8_donation); 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); ///////////////////// address(uint160(donation)).send(pool8_donation); distributeDonationRefferal(); ///////////////////// } 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+pool9_donation, 'Incorrect Value'); require(pool8users[msg.sender].isExist, "Must Buy Previous Pool"); if(pool9users[msg.sender].isExist){ require(pool9users[msg.sender].payment_received>=3,"Pool Still Active !"); pool9currUserID++; pool9users[msg.sender].id=pool9currUserID; pool9users[msg.sender].payment_received=0; pool9userList[pool9currUserID]=msg.sender; } else{ PoolUserStruct memory userStruct; pool9currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool9currUserID, payment_received:0 }); pool9users[msg.sender] = userStruct; pool9userList[pool9currUserID]=msg.sender; } address pool9Currentuser=pool9userList[pool9activeUserID]; bool sent = false; sent = address(uint160(pool9Currentuser)).send(pool9_price-pool9_donation); //balAdmin.transfer(pool9_donation); 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); ///////////////////// address(uint160(donation)).send(pool9_donation); distributeDonationRefferal(); ///////////////////// } 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+pool10_donation, 'Incorrect Value'); require(pool9users[msg.sender].isExist, "Must Buy Previous Pool"); if(pool10users[msg.sender].isExist){ require(pool10users[msg.sender].payment_received>=3,"Pool Still Active !"); pool10currUserID++; pool10users[msg.sender].id=pool10currUserID; pool10users[msg.sender].payment_received=0; pool10userList[pool10currUserID]=msg.sender; } else{ PoolUserStruct memory userStruct; pool10currUserID++; userStruct = PoolUserStruct({ isExist:true, id:pool10currUserID, payment_received:0 }); pool10users[msg.sender] = userStruct; pool10userList[pool10currUserID]=msg.sender; } address pool10Currentuser=pool10userList[pool10activeUserID]; bool sent = false; sent = address(uint160(pool10Currentuser)).send(pool10_price-pool10_donation); //balAdmin.transfer(pool10_donation); 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); ///////////////////// address(uint160(donation)).send(pool10_donation); distributeDonationRefferal(); ///////////////////// } function getEthBalance() public view returns(uint) { return address(this).balance; } function sendBalance() private { if (!address(uint160(donation)).send(getEthBalance())) { } } }