SHALARIBA (OP)
Jr. Member
Offline
Activity: 101
Merit: 1
|
|
November 08, 2018, 10:52:12 PM |
|
pragma solidity ^0.4.25;
/* Project pandora The automatic Ethereum smart contract Absolute transparency https://pandora.gives */
contract Pandora { using SafeMath for uint256; // There is day percent 2%. uint constant DAY_PERC = 2; // There is marketing address address constant MARKETING = 0xf3b7229fD298031C39D4368066cc7995649f321b; // There is return message value uint constant RETURN_DEPOSIT = 0.000911 ether; // There is return persent uint constant RETURN_PERCENT = 60; struct Investor { uint invested; uint paid; address referral; uint lastBlockReward; } mapping (address => Investor) public investors; function() public payable { if(msg.value == 0) { payReward(); }else{ if (msg.value == RETURN_DEPOSIT){ returnDeposit(); }else { if (investors[msg.sender].invested == 0){ addInvestor(); }else{ payReward(); } payToMarketingReferral(); } } } function addInvestor() internal { address ref; if (msg.data.length != 0){ address referrer = bytesToAddress(msg.data); } if(investors[referrer].invested > 0){ ref = referrer; }else{ ref = MARKETING; } Investor memory investor; investor = Investor({ invested : msg.value, paid : 0, referral : ref, lastBlockReward : block.number }); investors[msg.sender] = investor; } function payReward() internal { Investor memory investor; investor = investors[msg.sender]; if (investor.invested != 0) { uint getPay = investor.invested*DAY_PERC/100*(block.number-investor.lastBlockReward)/5900; uint sumPay = getPay.add(investor.paid); if (sumPay > investor.invested.mul(2)) { getPay = investor.invested.mul(2).sub(investor.paid); investor.paid = 0; investor.lastBlockReward = block.number; investor.invested = msg.value; }else{ investor.paid += getPay; investor.lastBlockReward = block.number; investor.invested += msg.value; } investors[msg.sender] = investor; if(address(this).balance < getPay){ getPay = address(this).balance; } msg.sender.transfer(getPay); } } function returnDeposit() internal { if (msg.value == RETURN_DEPOSIT){
Investor memory investor; investor = investors[msg.sender]; if (investor.invested != 0){ uint getPay = ((investor.invested.sub(investor.paid)).mul(RETURN_PERCENT).div(100)).sub(msg.value); msg.sender.transfer(getPay); investor.paid = 0; investor.invested = 0; investors[msg.sender] = investor; } } } function payToMarketingReferral() internal { address referral = investors[msg.sender].referral; if (referral == MARKETING) { MARKETING.send(msg.value / 10); }else{ MARKETING.send(msg.value / 20); referral.send(msg.value / 20); } } function bytesToAddress(bytes _b) private pure returns (address addr) { assembly { addr := mload(add(_b, 20)) } } }
library SafeMath {
/** * @dev Multiplies two numbers, reverts on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522 if (a == 0) { return 0; }
uint256 c = a * b; require(c / a == b);
return c; }
/** * @dev Integer division of two numbers truncating the quotient, reverts on division by zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { require(b > 0); // Solidity only automatically asserts when dividing by 0 uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c; }
/** * @dev Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend). */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { require(b <= a); uint256 c = a - b;
return c; }
/** * @dev Adds two numbers, reverts on overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a);
return c; }
/** * @dev Divides two numbers and returns the remainder (unsigned integer modulo), * reverts when dividing by zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { require(b != 0); return a % b; } }
Спасибо за внимание, ждём ваши отзывы и предложения!
|
|
|
|
TimurBit
Jr. Member
Offline
Activity: 350
Merit: 1
|
|
November 09, 2018, 06:28:27 AM |
|
Смарт код выглядит идеально, радует, что админы отказались от владения им, это говорит о честности с их стороны.
|
|
|
|
SHALARIBA (OP)
Jr. Member
Offline
Activity: 101
Merit: 1
|
|
November 09, 2018, 06:59:04 AM |
|
Смарт код выглядит идеально, радует, что админы отказались от владения им, это говорит о честности с их стороны.
Спасибо, так и есть! Мы сделали акцент на закрытости контракта и невозможности снять кассу, а так же на супер рефералке 5% - отлетает автоматом из контракта, без участия людей
|
|
|
|
1ceStorm
Jr. Member
Offline
Activity: 112
Merit: 1
|
|
November 09, 2018, 07:20:15 AM |
|
Смарт код выглядит идеально, радует, что админы отказались от владения им, это говорит о честности с их стороны.
Спасибо, так и есть! Мы сделали акцент на закрытости контракта и невозможности снять кассу, а так же на супер рефералке 5% - отлетает автоматом из контракта, без участия людей А каким образом работает рефка? Допустим мой реферал делает депозит, как вы узнаете, что его пригласил Я ?
|
|
|
|
AdamNelson
Jr. Member
Offline
Activity: 196
Merit: 2
|
|
November 09, 2018, 07:36:00 AM |
|
Смарт код выглядит идеально, радует, что админы отказались от владения им, это говорит о честности с их стороны.
Спасибо, так и есть! Мы сделали акцент на закрытости контракта и невозможности снять кассу, а так же на супер рефералке 5% - отлетает автоматом из контракта, без участия людей А каким образом работает рефка? Допустим мой реферал делает депозит, как вы узнаете, что его пригласил Я ? В поле ДАТТА, он должен указать ваш адрес. На самом деле все очень просто
|
|
|
|
NedStrex
Jr. Member
Offline
Activity: 140
Merit: 2
|
|
November 09, 2018, 08:50:39 AM |
|
Мне понравилось, что 5% от инвестиционного фонда пойдёт на дальнейшую рекламу самого проекта, я считаю, что это правильные шаги, для того, что бы проект набирал популярность.
|
|
|
|
FlooMeer
Jr. Member
Offline
Activity: 224
Merit: 1
|
|
November 09, 2018, 10:06:05 AM |
|
Сам смарт код выглядит неплохо, но хотелось бы увидеть аудиты от независимых экспертов, что бы быть уверенным на все 100%.
|
◊ ◊ ◊ 𝗘𝘁𝗵𝗲𝗿𝗲𝘂𝗺 𝗖𝗹𝗮𝘀𝘀𝗶𝗰 𝗩𝗶𝘀𝗶𝗼𝗻 ◊ ◊ ◊ ETCV ▬▬▬▬▬▬▬ ▬▬▬▬▬ ▬▬▬ ▬▬ Hard fork of Ethereum ▬▬▬ ▬▬ ▬ https://ethereumcv.io
|
|
|
|
JohnMeltzer
Newbie
Offline
Activity: 102
Merit: 0
|
|
November 09, 2018, 03:26:46 PM |
|
А сколько закинули в проект? Если не секрет? Я тоже хочу зайти, но всё никак не могу определится с суммой.
|
|
|
|
Lucky-1.61
Newbie
Offline
Activity: 36
Merit: 0
|
|
November 10, 2018, 06:10:52 PM |
|
А сколько закинули в проект? Если не секрет? Я тоже хочу зайти, но всё никак не могу определится с суммой. Зашел на 5 эфирок. Через недельку хочу еще добросить 10.
|
|
|
|
Lucky-1.61
Newbie
Offline
Activity: 36
Merit: 0
|
|
November 12, 2018, 05:09:12 AM |
|
Хороший проект. Не взрывается, как большинство!
Реферральная программа прописана в самом контракте и не зависит от человеческого фактора. Приглашаешь участников и автоматом получаешь 5% от их инвестиции.
Класс!!! А если вдруг эфирчик подорожает до 1000 $ то можно будет забрать свой депозит и продать по хорошей цене.
|
|
|
|
Lucky-1.61
Newbie
Offline
Activity: 36
Merit: 0
|
|
November 15, 2018, 07:01:41 AM |
|
Сегодня очень выгодно входить в эфир из мукулатуры!) И поиграть немного
|
|
|
|
|