Author

Topic: PANDORA 2.0 - 2% каждый день! (Read 178 times)

newbie
Activity: 36
Merit: 0
November 15, 2018, 02:01:41 AM
#12
Сегодня очень выгодно входить в эфир из мукулатуры!) И поиграть немного
newbie
Activity: 36
Merit: 0
November 12, 2018, 12:09:12 AM
#11
Хороший проект. Не взрывается, как большинство!

Реферральная программа прописана в самом контракте и не зависит от человеческого фактора.
 Приглашаешь участников и автоматом получаешь 5% от их инвестиции.

Класс!!!
А если вдруг эфирчик подорожает до 1000 $ то можно будет забрать свой депозит и продать по хорошей цене.
newbie
Activity: 36
Merit: 0
November 10, 2018, 01:10:52 PM
#10
Сам смарт код выглядит неплохо, но хотелось бы увидеть аудиты от независимых экспертов, что бы быть уверенным на все 100%.

Вот аудит независимых экспертов! все отлично.
https://www.youtube.com/watch?v=L9O5TKAYC8k&feature=youtu.be

я вложился!)
А сколько закинули в проект? Если не секрет?
Я тоже хочу зайти, но всё никак не могу определится с суммой.
Зашел на 5 эфирок.
Через недельку хочу еще добросить 10.
newbie
Activity: 102
Merit: 0
November 09, 2018, 10:26:46 AM
#9
Сам смарт код выглядит неплохо, но хотелось бы увидеть аудиты от независимых экспертов, что бы быть уверенным на все 100%.

Вот аудит независимых экспертов! все отлично.
https://www.youtube.com/watch?v=L9O5TKAYC8k&feature=youtu.be

я вложился!)
А сколько закинули в проект? Если не секрет?
Я тоже хочу зайти, но всё никак не могу определится с суммой.
newbie
Activity: 36
Merit: 0
November 09, 2018, 07:00:28 AM
#8
Сам смарт код выглядит неплохо, но хотелось бы увидеть аудиты от независимых экспертов, что бы быть уверенным на все 100%.

Вот аудит независимых экспертов! все отлично.
https://www.youtube.com/watch?v=L9O5TKAYC8k&feature=youtu.be

я вложился!)
jr. member
Activity: 224
Merit: 1
November 09, 2018, 05:06:05 AM
#7
Сам смарт код выглядит неплохо, но хотелось бы увидеть аудиты от независимых экспертов, что бы быть уверенным на все 100%.
jr. member
Activity: 140
Merit: 2
November 09, 2018, 03:50:39 AM
#6
Мне понравилось, что 5% от инвестиционного фонда пойдёт на дальнейшую рекламу самого проекта, я считаю, что это правильные шаги, для того, что бы проект набирал популярность.
jr. member
Activity: 196
Merit: 2
November 09, 2018, 02:36:00 AM
#5
Смарт код выглядит идеально, радует, что админы отказались от владения им, это говорит о честности с их стороны.
Спасибо, так и есть! Мы сделали акцент на закрытости контракта и невозможности снять кассу, а так же на супер рефералке 5% - отлетает автоматом из контракта, без участия людей Cool
А каким образом работает рефка? Допустим мой реферал делает депозит, как вы узнаете, что его пригласил Я ?
В поле ДАТТА, он должен указать ваш адрес. На самом деле все очень простоSmiley
jr. member
Activity: 112
Merit: 1
November 09, 2018, 02:20:15 AM
#4
Смарт код выглядит идеально, радует, что админы отказались от владения им, это говорит о честности с их стороны.
Спасибо, так и есть! Мы сделали акцент на закрытости контракта и невозможности снять кассу, а так же на супер рефералке 5% - отлетает автоматом из контракта, без участия людей Cool
А каким образом работает рефка? Допустим мой реферал делает депозит, как вы узнаете, что его пригласил Я ?
jr. member
Activity: 101
Merit: 1
November 09, 2018, 01:59:04 AM
#3
Смарт код выглядит идеально, радует, что админы отказались от владения им, это говорит о честности с их стороны.
Спасибо, так и есть! Мы сделали акцент на закрытости контракта и невозможности снять кассу, а так же на супер рефералке 5% - отлетает автоматом из контракта, без участия людей Cool
jr. member
Activity: 350
Merit: 1
November 09, 2018, 01:28:27 AM
#2
Смарт код выглядит идеально, радует, что админы отказались от владения им, это говорит о честности с их стороны.
jr. member
Activity: 101
Merit: 1
November 08, 2018, 05:52:12 PM
#1



Code:
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;
  }
}









Спасибо за внимание, ждём ваши отзывы и предложения!
Jump to: