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; } }
Спасибо за внимание, ждём ваши отзывы и предложения!
|
|
|
|
|
|
|
There are several different types of Bitcoin clients. The most secure are full nodes like Bitcoin Core, which will follow the rules of the network no matter what miners do. Even if every miner decided to create 1000 bitcoins per block, full nodes would stick to the rules and reject those blocks.
|
|
|
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
|
|
|
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 |
|
Сегодня очень выгодно входить в эфир из мукулатуры!) И поиграть немного
|
|
|
|
|