Transaction Hash:
Block:
10112832 at May-22-2020 01:42:39 AM +UTC
Transaction Fee:
0.006417025 ETH
$16.13
Gas Used:
256,681 Gas / 25 Gwei
Emitted Events:
115 |
XoXo.RegisterUserEvent( userId=10576, user=[Sender] 0x18f9deeaa954d281b401ed678ac86bae00d597a6, referrer=0x97b89cd9dabe07a8322629e986e8b4d1ac953380, time=1590111759, autopool=2, amount=100000000000000000 )
|
116 |
XoXo.DistributeUplineEvent( amount=50000000000000000, sponsor=0x97b89cd9dabe07a8322629e986e8b4d1ac953380, level=1, time=1590111759 )
|
117 |
XoXo.DistributeUplineEvent( amount=25000000000000000, sponsor=0x9aae5951d5b45917ae467c1bd9cd4a7dc27678c1, level=2, time=1590111759 )
|
118 |
XoXo.DistributeUplineEvent( amount=15000000000000000, sponsor=0x0b4f6ae6e5cdeaf730a21f3ce1b021ad52380b66, level=3, time=1590111759 )
|
119 |
XoXo.DistributeUplineEvent( amount=10000000000000000, sponsor=0xf0148f68850e372ff81b10e8f2dcd1b08f27c323, level=4, time=1590111759 )
|
Account State Difference:
Address | Before | After | State Difference | ||
---|---|---|---|---|---|
0x09ab1303...240c70294
Miner
| (Minerall Pool) | 449.353911778946301295 Eth | 449.360328803946301295 Eth | 0.006417025 | |
0x0B4F6Ae6...d52380b66 | 1.474632855297256 Eth | 1.489632855297256 Eth | 0.015 | ||
0x18F9dEeA...e00D597a6 |
0.113 Eth
Nonce: 0
|
0.006582975 Eth
Nonce: 1
| 0.106417025 | ||
0x97B89cD9...1aC953380 | 0.009707975 Eth | 0.059707975 Eth | 0.05 | ||
0x9AAE5951...Dc27678c1 | 0.233169531086350975 Eth | 0.258169531086350975 Eth | 0.025 | ||
0xEe744c63...0BA8aa4C8 | |||||
0xF0148f68...08f27c323 | 2.229919839994624 Eth | 2.239919839994624 Eth | 0.01 |
Execution Trace
ETH 0.1
XoXo.participatePool1( _referrerId=8856 )
- ETH 0.05
0x97b89cd9dabe07a8322629e986e8b4d1ac953380.CALL( )
- ETH 0.025
0x9aae5951d5b45917ae467c1bd9cd4a7dc27678c1.CALL( )
- ETH 0.015
0x0b4f6ae6e5cdeaf730a21f3ce1b021ad52380b66.CALL( )
- ETH 0.01
0xf0148f68850e372ff81b10e8f2dcd1b08f27c323.CALL( )
participatePool1[XoXo (ln:287)]
isUserExists[XoXo (ln:294)]
User[XoXo (ln:304)]
RegisterUserEvent[XoXo (ln:311)]
push[XoXo (ln:315)]
isUserExists[XoXo (ln:323)]
payUpline[XoXo (ln:324)]
send[XoXo (ln:798)]
DistributeUplineEvent[XoXo (ln:800)]
payFirstLine[XoXo (ln:332)]
send[XoXo (ln:810)]
DistributeUplineEvent[XoXo (ln:812)]
/** * ========================================================== * * XoXo Network * FIRST EVER FULLY DECENTRALIZED GLOBAL POWERLINE AUTOPOOL * * Website : https://xoxo.run * Telegram : https://t.me/xoxonetwork_official * * ========================================================== **/ pragma solidity >=0.5.12 <0.7.0; contract XoXo { struct User { uint id; uint referrerCount; uint referrerID; address[] referrals; } struct UsersPool2 { uint id; uint referrerID; uint reinvestCount; } struct Pool_2_Slots { address userAddress; uint referrerID; uint eventsCount; } struct UsersPool3 { uint id; uint referrerID; uint reinvestCount; } struct Pool_3_Slots { address userAddress; uint referrerID; uint eventsCount; } struct UsersPool4 { uint id; uint referrerID; uint reinvestCount; } struct Pool_4_Slots { address userAddress; uint referrerID; uint eventsCount; } struct UsersPool5 { uint id; uint referrerID; uint reinvestCount; } struct Pool_5_Slots { address userAddress; uint referrerID; uint eventsCount; } struct UsersPool6 { uint id; uint referrerID; uint reinvestCount; } struct Pool_6_Slots { address userAddress; uint referrerID; uint eventsCount; } struct UsersPool7 { uint id; uint referrerID; uint reinvestCount; } struct Pool_7_Slots { address userAddress; uint referrerID; uint eventsCount; } modifier validReferrerID(uint _referrerID) { require(_referrerID > 0 && _referrerID < newUserId, 'Invalid referrer ID'); _; } event RegisterUserEvent(uint userId, address indexed user, address indexed referrer, uint time, uint8 indexed autopool, uint amount); event DistributeUplineEvent(uint amount, address indexed sponsor, uint level, uint time); mapping(address => User) public users; mapping(address => UsersPool2) public users_2; mapping(uint => Pool_2_Slots) public pool_slots_2; mapping(address => UsersPool3) public users_3; mapping(uint => Pool_3_Slots) public pool_slots_3; mapping(address => UsersPool4) public users_4; mapping(uint => Pool_4_Slots) public pool_slots_4; mapping(address => UsersPool5) public users_5; mapping(uint => Pool_5_Slots) public pool_slots_5; mapping(address => UsersPool6) public users_6; mapping(uint => Pool_6_Slots) public pool_slots_6; mapping(address => UsersPool7) public users_7; mapping(uint => Pool_7_Slots) public pool_slots_7; mapping(uint => address) public idToAddress; mapping(address => uint) public balances; mapping (uint => uint) public uplineAmount; uint public newUserId = 1; uint public newUserId_ap2 = 1; uint public activeSlot_ap2 = 1; uint public newUserId_ap3 = 1; uint public activeSlot_ap3 = 1; uint public newUserId_ap4 = 1; uint public activeSlot_ap4 = 1; uint public newUserId_ap5 = 1; uint public activeSlot_ap5 = 1; uint public newUserId_ap6 = 1; uint public activeSlot_ap6 = 1; uint public newUserId_ap7 = 1; uint public activeSlot_ap7 = 1; address public owner; constructor(address _ownerAddress) public { uplineAmount[1] = 50; uplineAmount[2] = 25; uplineAmount[3] = 15; uplineAmount[4] = 10; owner = _ownerAddress; User memory user = User({ id: newUserId, referrerCount: uint(0), referrerID: uint(0), referrals: new address[](0) }); users[_ownerAddress] = user; idToAddress[newUserId] = _ownerAddress; newUserId++; ////// UsersPool2 memory user2 = UsersPool2({ id: newUserId_ap2, referrerID: uint(0), reinvestCount: uint(0) }); users_2[_ownerAddress] = user2; Pool_2_Slots memory _newslot2 = Pool_2_Slots({ userAddress: _ownerAddress, referrerID: uint(0), eventsCount: uint(0) }); pool_slots_2[newUserId_ap2] = _newslot2; newUserId_ap2++; ////// UsersPool3 memory user3 = UsersPool3({ id: newUserId_ap3, referrerID: uint(0), reinvestCount: uint(0) }); users_3[_ownerAddress] = user3; Pool_3_Slots memory _newslot3 = Pool_3_Slots({ userAddress: _ownerAddress, referrerID: uint(0), eventsCount: uint(0) }); pool_slots_3[newUserId_ap3] = _newslot3; newUserId_ap3++; ////// UsersPool4 memory user4 = UsersPool4({ id: newUserId_ap4, referrerID: uint(0), reinvestCount: uint(0) }); users_4[_ownerAddress] = user4; Pool_4_Slots memory _newslot4 = Pool_4_Slots({ userAddress: _ownerAddress, referrerID: uint(0), eventsCount: uint(0) }); pool_slots_4[newUserId_ap4] = _newslot4; newUserId_ap4++; ////// UsersPool5 memory user5 = UsersPool5({ id: newUserId_ap5, referrerID: uint(0), reinvestCount: uint(0) }); users_5[_ownerAddress] = user5; Pool_5_Slots memory _newslot5 = Pool_5_Slots({ userAddress: _ownerAddress, referrerID: uint(0), eventsCount: uint(0) }); pool_slots_5[newUserId_ap5] = _newslot5; newUserId_ap5++; ////// UsersPool6 memory user6 = UsersPool6({ id: newUserId_ap6, referrerID: uint(0), reinvestCount: uint(0) }); users_6[_ownerAddress] = user6; Pool_6_Slots memory _newslot6 = Pool_6_Slots({ userAddress: _ownerAddress, referrerID: uint(0), eventsCount: uint(0) }); pool_slots_6[newUserId_ap6] = _newslot6; newUserId_ap6++; ////// UsersPool7 memory user7 = UsersPool7({ id: newUserId_ap7, referrerID: uint(0), reinvestCount: uint(0) }); users_7[_ownerAddress] = user7; Pool_7_Slots memory _newslot7 = Pool_7_Slots({ userAddress: _ownerAddress, referrerID: uint(0), eventsCount: uint(0) }); pool_slots_7[newUserId_ap7] = _newslot7; newUserId_ap7++; } function participatePool1(uint _referrerId) public payable validReferrerID(_referrerId) { require(msg.value == 0.1 ether, "Participation fee is 0.1 ETH"); require(!isUserExists(msg.sender), "User already registered"); address _userAddress = msg.sender; uint32 size; assembly { size := extcodesize(_userAddress) } require(size == 0, "cannot be a contract"); users[_userAddress] = User({ id: newUserId, referrerCount: uint(0), referrerID: _referrerId, referrals: new address[](0) }); idToAddress[newUserId] = _userAddress; emit RegisterUserEvent(newUserId, msg.sender, idToAddress[_referrerId], now, 2, msg.value); newUserId++; users[idToAddress[_referrerId]].referrals.push(_userAddress); users[idToAddress[_referrerId]].referrerCount++; uint amountToDistribute = msg.value; address sponsorAddress = idToAddress[_referrerId]; for (uint32 i = 1; i <= 4; i++) { if ( isUserExists(sponsorAddress) ) { amountToDistribute -= payUpline(sponsorAddress, i); address _nextSponsorAddress = idToAddress[users[sponsorAddress].referrerID]; sponsorAddress = _nextSponsorAddress; } } if (amountToDistribute > 0) { payFirstLine(idToAddress[1], amountToDistribute); } } function participatePool2() public payable { require(msg.value == 0.2 ether, "Participation fee in Autopool is 0.2 ETH"); require(isUserExists(msg.sender), "User not present in AP1"); require(isUserQualified(msg.sender), "User not qualified in AP1"); require(!isUserExists2(msg.sender), "User already registered in AP2"); uint _referrerId = users[msg.sender].referrerID; UsersPool2 memory user2 = UsersPool2({ id: newUserId_ap2, referrerID: _referrerId, reinvestCount: uint(0) }); users_2[msg.sender] = user2; Pool_2_Slots memory _newslot = Pool_2_Slots({ userAddress: msg.sender, referrerID: _referrerId, eventsCount: uint(0) }); pool_slots_2[newUserId_ap2] = _newslot; emit RegisterUserEvent(newUserId_ap2, msg.sender, idToAddress[_referrerId], now, 2, msg.value); newUserId_ap2++; uint eventCount = pool_slots_2[activeSlot_ap2].eventsCount; uint newEventCount = eventCount + 1; if (newEventCount == 3) { Pool_2_Slots memory _reinvestslot = Pool_2_Slots({ userAddress: pool_slots_2[activeSlot_ap2].userAddress, referrerID: pool_slots_2[activeSlot_ap2].referrerID, eventsCount: uint(0) }); pool_slots_2[newUserId_ap2] = _reinvestslot; emit RegisterUserEvent(newUserId_ap2, pool_slots_2[activeSlot_ap2].userAddress, idToAddress[pool_slots_2[activeSlot_ap2].referrerID], now, 2, msg.value); newUserId_ap2++; activeSlot_ap2++; payUpline(idToAddress[_referrerId], 1); if (pool_slots_2[activeSlot_ap2].referrerID > 0) payUpline(idToAddress[pool_slots_2[activeSlot_ap2].referrerID], 1); else payUpline(idToAddress[1], 1); } if (eventCount < 3) { if(eventCount == 0) { payUpline(pool_slots_2[activeSlot_ap2].userAddress, 1); payUpline(idToAddress[_referrerId], 1); } if(eventCount == 1) { payUpline(idToAddress[_referrerId], 1); if (pool_slots_2[activeSlot_ap2].referrerID > 0) payUpline(idToAddress[pool_slots_2[activeSlot_ap2].referrerID], 1); else payUpline(idToAddress[1], 1); } pool_slots_2[activeSlot_ap2].eventsCount++; } } function participatePool3() public payable { require(msg.value == 0.3 ether, "Participation fee in Autopool is 0.3 ETH"); require(isUserExists(msg.sender), "User not present in AP1"); require(isUserQualified(msg.sender), "User not qualified in AP1"); require(!isUserExists3(msg.sender), "User already registered in AP3"); uint _referrerId = users[msg.sender].referrerID; UsersPool3 memory user3 = UsersPool3({ id: newUserId_ap3, referrerID: _referrerId, reinvestCount: uint(0) }); users_3[msg.sender] = user3; Pool_3_Slots memory _newslot = Pool_3_Slots({ userAddress: msg.sender, referrerID: _referrerId, eventsCount: uint(0) }); pool_slots_3[newUserId_ap3] = _newslot; emit RegisterUserEvent(newUserId_ap3, msg.sender, idToAddress[_referrerId], now, 3, msg.value); newUserId_ap3++; uint eventCount = pool_slots_3[activeSlot_ap3].eventsCount; uint newEventCount = eventCount + 1; if (newEventCount == 3) { Pool_3_Slots memory _reinvestslot = Pool_3_Slots({ userAddress: pool_slots_3[activeSlot_ap3].userAddress, referrerID: pool_slots_3[activeSlot_ap3].referrerID, eventsCount: uint(0) }); pool_slots_3[newUserId_ap3] = _reinvestslot; emit RegisterUserEvent(newUserId_ap3, pool_slots_3[activeSlot_ap3].userAddress, idToAddress[pool_slots_3[activeSlot_ap3].referrerID], now, 3, msg.value); newUserId_ap3++; activeSlot_ap3++; payUpline(idToAddress[_referrerId], 1); if (pool_slots_3[activeSlot_ap3].referrerID > 0) payUpline(idToAddress[pool_slots_3[activeSlot_ap3].referrerID], 1); else payUpline(idToAddress[1], 1); } if (eventCount < 3) { if(eventCount == 0) { payUpline(pool_slots_3[activeSlot_ap3].userAddress, 1); payUpline(idToAddress[_referrerId], 1); } if(eventCount == 1) { payUpline(idToAddress[_referrerId], 1); if (pool_slots_3[activeSlot_ap3].referrerID > 0) payUpline(idToAddress[pool_slots_3[activeSlot_ap3].referrerID], 1); else payUpline(idToAddress[1], 1); } pool_slots_3[activeSlot_ap3].eventsCount++; } } function participatePool4() public payable { require(msg.value == 0.4 ether, "Participation fee in Autopool is 0.4 ETH"); require(isUserExists(msg.sender), "User not present in AP1"); require(isUserQualified(msg.sender), "User not qualified in AP1"); require(!isUserExists4(msg.sender), "User already registered in AP4"); uint _referrerId = users[msg.sender].referrerID; UsersPool4 memory user4 = UsersPool4({ id: newUserId_ap4, referrerID: _referrerId, reinvestCount: uint(0) }); users_4[msg.sender] = user4; Pool_4_Slots memory _newslot = Pool_4_Slots({ userAddress: msg.sender, referrerID: _referrerId, eventsCount: uint(0) }); pool_slots_4[newUserId_ap4] = _newslot; emit RegisterUserEvent(newUserId_ap4, msg.sender, idToAddress[_referrerId], now, 4, msg.value); newUserId_ap4++; uint eventCount = pool_slots_4[activeSlot_ap4].eventsCount; uint newEventCount = eventCount + 1; if (newEventCount == 3) { Pool_4_Slots memory _reinvestslot = Pool_4_Slots({ userAddress: pool_slots_4[activeSlot_ap4].userAddress, referrerID: pool_slots_4[activeSlot_ap4].referrerID, eventsCount: uint(0) }); pool_slots_4[newUserId_ap4] = _reinvestslot; emit RegisterUserEvent(newUserId_ap4, pool_slots_4[activeSlot_ap4].userAddress, idToAddress[pool_slots_4[activeSlot_ap4].referrerID], now, 4, msg.value); newUserId_ap4++; activeSlot_ap4++; payUpline(idToAddress[_referrerId], 1); if (pool_slots_4[activeSlot_ap4].referrerID > 0) payUpline(idToAddress[pool_slots_4[activeSlot_ap4].referrerID], 1); else payUpline(idToAddress[1], 1); } if (eventCount < 3) { if(eventCount == 0) { payUpline(pool_slots_4[activeSlot_ap4].userAddress, 1); payUpline(idToAddress[_referrerId], 1); } if(eventCount == 1) { payUpline(idToAddress[_referrerId], 1); if (pool_slots_4[activeSlot_ap4].referrerID > 0) payUpline(idToAddress[pool_slots_4[activeSlot_ap4].referrerID], 1); else payUpline(idToAddress[1], 1); } pool_slots_4[activeSlot_ap4].eventsCount++; } } function participatePool5() public payable { require(msg.value == 0.5 ether, "Participation fee in Autopool is 0.5 ETH"); require(isUserExists(msg.sender), "User not present in AP1"); require(isUserQualified(msg.sender), "User not qualified in AP1"); require(!isUserExists5(msg.sender), "User already registered in AP5"); uint _referrerId = users[msg.sender].referrerID; UsersPool5 memory user5 = UsersPool5({ id: newUserId_ap5, referrerID: _referrerId, reinvestCount: uint(0) }); users_5[msg.sender] = user5; Pool_5_Slots memory _newslot = Pool_5_Slots({ userAddress: msg.sender, referrerID: _referrerId, eventsCount: uint(0) }); pool_slots_5[newUserId_ap5] = _newslot; emit RegisterUserEvent(newUserId_ap5, msg.sender, idToAddress[_referrerId], now, 5, msg.value); newUserId_ap5++; uint eventCount = pool_slots_5[activeSlot_ap5].eventsCount; uint newEventCount = eventCount + 1; if (newEventCount == 3) { Pool_5_Slots memory _reinvestslot = Pool_5_Slots({ userAddress: pool_slots_5[activeSlot_ap5].userAddress, referrerID: pool_slots_5[activeSlot_ap5].referrerID, eventsCount: uint(0) }); pool_slots_5[newUserId_ap5] = _reinvestslot; emit RegisterUserEvent(newUserId_ap5, pool_slots_5[activeSlot_ap5].userAddress, idToAddress[pool_slots_5[activeSlot_ap5].referrerID], now, 5, msg.value); newUserId_ap5++; activeSlot_ap5++; payUpline(idToAddress[_referrerId], 1); if (pool_slots_5[activeSlot_ap5].referrerID > 0) payUpline(idToAddress[pool_slots_5[activeSlot_ap5].referrerID], 1); else payUpline(idToAddress[1], 1); } if (eventCount < 3) { if(eventCount == 0) { payUpline(pool_slots_5[activeSlot_ap5].userAddress, 1); payUpline(idToAddress[_referrerId], 1); } if(eventCount == 1) { payUpline(idToAddress[_referrerId], 1); if (pool_slots_5[activeSlot_ap5].referrerID > 0) payUpline(idToAddress[pool_slots_5[activeSlot_ap5].referrerID], 1); else payUpline(idToAddress[1], 1); } pool_slots_5[activeSlot_ap5].eventsCount++; } } function participatePool6() public payable { require(msg.value == 0.7 ether, "Participation fee in Autopool is 0.7 ETH"); require(isUserExists(msg.sender), "User not present in AP1"); require(isUserQualified(msg.sender), "User not qualified in AP1"); require(!isUserExists6(msg.sender), "User already registered in AP6"); uint _referrerId = users[msg.sender].referrerID; UsersPool6 memory user6 = UsersPool6({ id: newUserId_ap6, referrerID: _referrerId, reinvestCount: uint(0) }); users_6[msg.sender] = user6; Pool_6_Slots memory _newslot = Pool_6_Slots({ userAddress: msg.sender, referrerID: _referrerId, eventsCount: uint(0) }); pool_slots_6[newUserId_ap6] = _newslot; emit RegisterUserEvent(newUserId_ap6, msg.sender, idToAddress[_referrerId], now, 6, msg.value); newUserId_ap6++; uint eventCount = pool_slots_6[activeSlot_ap6].eventsCount; uint newEventCount = eventCount + 1; if (newEventCount == 3) { Pool_6_Slots memory _reinvestslot = Pool_6_Slots({ userAddress: pool_slots_6[activeSlot_ap6].userAddress, referrerID: pool_slots_6[activeSlot_ap6].referrerID, eventsCount: uint(0) }); pool_slots_6[newUserId_ap6] = _reinvestslot; emit RegisterUserEvent(newUserId_ap6, pool_slots_6[activeSlot_ap6].userAddress, idToAddress[pool_slots_6[activeSlot_ap6].referrerID], now, 6, msg.value); newUserId_ap6++; activeSlot_ap6++; payUpline(idToAddress[_referrerId], 1); if (pool_slots_6[activeSlot_ap6].referrerID > 0) payUpline(idToAddress[pool_slots_6[activeSlot_ap6].referrerID], 1); else payUpline(idToAddress[1], 1); } if (eventCount < 3) { if(eventCount == 0) { payUpline(pool_slots_6[activeSlot_ap6].userAddress, 1); payUpline(idToAddress[_referrerId], 1); } if(eventCount == 1) { payUpline(idToAddress[_referrerId], 1); if (pool_slots_6[activeSlot_ap6].referrerID > 0) payUpline(idToAddress[pool_slots_6[activeSlot_ap6].referrerID], 1); else payUpline(idToAddress[1], 1); } pool_slots_6[activeSlot_ap6].eventsCount++; } } function participatePool7() public payable { require(msg.value == 1 ether, "Participation fee in Autopool is 1 ETH"); require(isUserExists(msg.sender), "User not present in AP1"); require(isUserQualified(msg.sender), "User not qualified in AP1"); require(!isUserExists7(msg.sender), "User already registered in AP7"); uint _referrerId = users[msg.sender].referrerID; UsersPool7 memory user7 = UsersPool7({ id: newUserId_ap7, referrerID: _referrerId, reinvestCount: uint(0) }); users_7[msg.sender] = user7; Pool_7_Slots memory _newslot = Pool_7_Slots({ userAddress: msg.sender, referrerID: _referrerId, eventsCount: uint(0) }); pool_slots_7[newUserId_ap7] = _newslot; emit RegisterUserEvent(newUserId_ap7, msg.sender, idToAddress[_referrerId], now, 7, msg.value); newUserId_ap7++; uint eventCount = pool_slots_7[activeSlot_ap7].eventsCount; uint newEventCount = eventCount + 1; if (newEventCount == 3) { Pool_7_Slots memory _reinvestslot = Pool_7_Slots({ userAddress: pool_slots_7[activeSlot_ap7].userAddress, referrerID: pool_slots_7[activeSlot_ap7].referrerID, eventsCount: uint(0) }); pool_slots_7[newUserId_ap7] = _reinvestslot; emit RegisterUserEvent(newUserId_ap7, pool_slots_7[activeSlot_ap7].userAddress, idToAddress[pool_slots_7[activeSlot_ap7].referrerID], now, 7, msg.value); newUserId_ap7++; activeSlot_ap7++; payUpline(idToAddress[_referrerId], 1); if (pool_slots_7[activeSlot_ap7].referrerID > 0) payUpline(idToAddress[pool_slots_7[activeSlot_ap7].referrerID], 1); else payUpline(idToAddress[1], 1); } if (eventCount < 3) { if(eventCount == 0) { payUpline(pool_slots_7[activeSlot_ap7].userAddress, 1); payUpline(idToAddress[_referrerId], 1); } if(eventCount == 1) { payUpline(idToAddress[_referrerId], 1); if (pool_slots_7[activeSlot_ap7].referrerID > 0) payUpline(idToAddress[pool_slots_7[activeSlot_ap7].referrerID], 1); else payUpline(idToAddress[1], 1); } pool_slots_7[activeSlot_ap7].eventsCount++; } } function payUpline(address _sponsorAddress, uint _refLevel) private returns (uint distributeAmount) { require( _refLevel <= 4); distributeAmount = msg.value / 100 * uplineAmount[_refLevel]; if (address(uint160(_sponsorAddress)).send(distributeAmount)) { balances[_sponsorAddress] += distributeAmount; emit DistributeUplineEvent(distributeAmount, _sponsorAddress, _refLevel, now); } return distributeAmount; } function payFirstLine(address _sponsorAddress, uint payAmount) private returns (uint distributeAmount) { distributeAmount = payAmount; if (address(uint160(_sponsorAddress)).send(distributeAmount)) { balances[_sponsorAddress] += distributeAmount; emit DistributeUplineEvent(distributeAmount, _sponsorAddress, 1, now); } return distributeAmount; } function isUserQualified(address _userAddress) public view returns (bool) { return (users[_userAddress].referrerCount > 0); } function isUserExists(address _userAddress) public view returns (bool) { return (users[_userAddress].id != 0); } function isUserExists2(address _userAddress) public view returns (bool) { return (users_2[_userAddress].id != 0); } function isUserExists3(address _userAddress) public view returns (bool) { return (users_3[_userAddress].id != 0); } function isUserExists4(address _userAddress) public view returns (bool) { return (users_4[_userAddress].id != 0); } function isUserExists5(address _userAddress) public view returns (bool) { return (users_5[_userAddress].id != 0); } function isUserExists6(address _userAddress) public view returns (bool) { return (users_6[_userAddress].id != 0); } function isUserExists7(address _userAddress) public view returns (bool) { return (users_7[_userAddress].id != 0); } function getUserReferrals(address _userAddress) public view returns (address[] memory) { return users[_userAddress].referrals; } }