Bitcoin Forum
April 25, 2024, 10:57:58 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Warning: One or more bitcointalk.org users have reported that they strongly believe that the creator of this topic is a scammer. (Login to see the detailed trust ratings.) While the bitcointalk.org administration does not verify such claims, you should proceed with extreme caution.
Pages: [1] 2 3 »  All
  Print  
Author Topic: [ANN] EFIRICA - Smart Game Contract  (Read 800 times)
SHALARIBA (OP)
Jr. Member
*
Offline Offline

Activity: 101
Merit: 1


View Profile
November 08, 2018, 10:07:57 PM
Last edit: November 09, 2018, 07:30:49 PM by SHALARIBA
 #1






Code:
pragma solidity ^0.4.24;

/*
 * ETH SMART GAME DISTRIBUTION PROJECT
 * Web:                     https://efirica.io
 * Telegram_channel:        https://t.me/efirica_io
 * EN Telegram_chat:        https://t.me/efirica_chat
 * RU Telegram_chat:        https://t.me/efirica_chat_ru
 * Telegram Support:        @efirica
 *
 * - GAIN 0.5-5% per 24 HOURS lifetime income without invitations
 * - Life-long payments
 * - New technologies on blockchain
 * - Unique code (without admin, automatic % health for lifelong game, not fork !!! )
 * - Minimal contribution 0.01 eth
 * - Currency and payment - ETH
 * - Contribution allocation schemes:
 *    -- 99% payments (In some cases, the included 10% marketing to players when specifying a referral link)
 *    -- 1% technical support
 *
 * --- About the Project
 * EFIRICA - smart game contract, new technologies on blockchain ETH, have opened code allowing
 *           to work autonomously without admin for as long as possible with honest smart code.
 */

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    // Gas optimization: this is cheaper than asserting '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;
    }

    c = _a * _b;
    assert(c / _a == _b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
    // assert(_b > 0); // Solidity automatically throws 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 _a / _b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
    assert(_b <= _a);
    return _a - _b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
    c = _a + _b;
    assert(c >= _a);
    return c;
  }
}

// File: contracts/Efirica.sol

contract Efirica {
    using SafeMath for uint256;

    uint256 constant public ONE_HUNDRED_PERCENTS = 10000;
    uint256 constant public LOWEST_DIVIDEND_PERCENTS = 50;            // 0.50%
    uint256 constant public HIGHEST_DIVIDEND_PERCENTS = 500;          // 5.00%
    uint256 constant public REFERRAL_ACTIVATION_TIME = 1 days;
    uint256[] /*constant*/ public referralPercents = [500, 300, 200]; // 5%, 3%, 2%

    bool public running = true;
    address public admin = msg.sender;
    uint256 public totalDeposits = 0;
    mapping(address => uint256) public deposits;
    mapping(address => uint256) public withdrawals;
    mapping(address => uint256) public joinedAt;
    mapping(address => uint256) public updatedAt;
    mapping(address => address) public referrers;
    mapping(address => uint256) public refCount;
    mapping(address => uint256) public refEarned;

    event InvestorAdded(address indexed investor);
    event ReferrerAdded(address indexed investor, address indexed referrer);
    event DepositAdded(address indexed investor, uint256 deposit, uint256 amount);
    event DividendPayed(address indexed investor, uint256 dividend);
    event ReferrerPayed(address indexed investor, uint256 indexed level, address referrer, uint256 amount);
    event AdminFeePayed(address indexed investor, uint256 amount);
    event TotalDepositsChanged(uint256 totalDeposits);
    event BalanceChanged(uint256 balance);
    
    function() public payable {
        require(running, "Project is not running");

        // Dividends
        uint256 dividends = dividendsForUser(msg.sender);
        if (dividends > 0) {
            if (dividends >= address(this).balance) {
                dividends = address(this).balance;
                running = false;
            }
            msg.sender.transfer(dividends);
            withdrawals[msg.sender] = withdrawals[msg.sender].add(dividends);
            updatedAt[msg.sender] = now;
            emit DividendPayed(msg.sender, dividends);
        }

        // Deposit
        if (msg.value > 0) {
            if (deposits[msg.sender] == 0) {
                joinedAt[msg.sender] = now;
                emit InvestorAdded(msg.sender);
            }
            updatedAt[msg.sender] = now;
            deposits[msg.sender] = deposits[msg.sender].add(msg.value);
            emit DepositAdded(msg.sender, deposits[msg.sender], msg.value);

            totalDeposits = totalDeposits.add(msg.value);
            emit TotalDepositsChanged(totalDeposits);

            // Add referral if possible
            if (referrers[msg.sender] == address(0) && msg.data.length == 20) {
                address referrer = _bytesToAddress(msg.data);
                if (referrer != address(0) && deposits[referrer] > 0 && now >= joinedAt[referrer].add(REFERRAL_ACTIVATION_TIME)) {
                    referrers[msg.sender] = referrer;
                    refCount[referrer] += 1;
                    emit ReferrerAdded(msg.sender, referrer);
                }
            }

            // Referrers fees
            referrer = referrers[msg.sender];
            for (uint i = 0; referrer != address(0) && i < referralPercents.length; i++) {
                uint256 refAmount = msg.value.mul(referralPercents[i]).div(ONE_HUNDRED_PERCENTS);
                referrer.send(refAmount); // solium-disable-line security/no-send
                refEarned[referrer] = refEarned[referrer].add(refAmount);
                emit ReferrerPayed(msg.sender, i, referrer, refAmount);
                referrer = referrers[referrer];
            }

            // Admin fee 1%
            uint256 adminFee = msg.value.div(100);
            admin.send(adminFee); // solium-disable-line security/no-send
            emit AdminFeePayed(msg.sender, adminFee);
        }

        emit BalanceChanged(address(this).balance);
    }

    function dividendsForUser(address user) public view returns(uint256) {
        return dividendsForPercents(user, percentsForUser(user));
    }

    function dividendsForPercents(address user, uint256 percents) public view returns(uint256) {
        return deposits[user]
            .mul(percents).div(ONE_HUNDRED_PERCENTS)
            .mul(now.sub(updatedAt[user])).div(1 days); // solium-disable-line security/no-block-members
    }

    function percentsForUser(address user) public view returns(uint256) {
        uint256 percents = generalPercents();

        // Referrals should have increased percents (+10%)
        if (referrers[user] != address(0)) {
            percents = percents.mul(110).div(100);
        }

        return percents;
    }

    function generalPercents() public view returns(uint256) {
        uint256 health = healthPercents();
        if (health >= ONE_HUNDRED_PERCENTS.mul(80).div(100)) { // health >= 80%
            return HIGHEST_DIVIDEND_PERCENTS;
        }

        // From 5% to 0.5% with 0.1% step (45 steps) while health drops from 100% to 0%
        uint256 percents = LOWEST_DIVIDEND_PERCENTS.add(
            HIGHEST_DIVIDEND_PERCENTS.sub(LOWEST_DIVIDEND_PERCENTS)
                .mul(healthPercents().mul(45).div(ONE_HUNDRED_PERCENTS.mul(80).div(100))).div(45)
        );

        return percents;
    }

    function healthPercents() public view returns(uint256) {
        if (totalDeposits == 0) {
            return ONE_HUNDRED_PERCENTS;
        }

        return address(this).balance
            .mul(ONE_HUNDRED_PERCENTS).div(totalDeposits);
    }

    function _bytesToAddress(bytes data) internal pure returns(address addr) {
        // solium-disable-next-line security/no-inline-assembly
        assembly {
            addr := mload(add(data, 0x14))
        }
    }
}











Thank you. Waiting for your feedback and suggestions!
Whoever mines the block which ends up containing your transaction will get its fee.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714042678
Hero Member
*
Offline Offline

Posts: 1714042678

View Profile Personal Message (Offline)

Ignore
1714042678
Reply with quote  #2

1714042678
Report to moderator
1714042678
Hero Member
*
Offline Offline

Posts: 1714042678

View Profile Personal Message (Offline)

Ignore
1714042678
Reply with quote  #2

1714042678
Report to moderator
zorgo
Member
**
Offline Offline

Activity: 350
Merit: 10


View Profile
November 09, 2018, 06:31:11 AM
 #2

EFIRICA is gaining momentum, in just a few days of work, collected 6500 dollars, this is a good sign.
1ceStorm
Jr. Member
*
Offline Offline

Activity: 112
Merit: 1


View Profile
November 09, 2018, 07:19:27 AM
 #3

EFIRICA is gaining momentum, in just a few days of work, collected 6500 dollars, this is a good sign.

The results are really good, but this is only the beginning. Any investor understands that in HYIP projects you need to invest at the very beginning of its activity!
Algrinys
Jr. Member
*
Offline Offline

Activity: 238
Merit: 1


View Profile
November 09, 2018, 07:37:26 AM
 #4

EFIRICA is gaining momentum, in just a few days of work, collected 6500 dollars, this is a good sign.

The results are really good, but this is only the beginning. Any investor understands that in HYIP projects you need to invest at the very beginning of its activity!

I agree with you, who invested in the pyramid first, he will earn the most, but it is a certain risk.
Dezlife
Jr. Member
*
Offline Offline

Activity: 168
Merit: 1


View Profile
November 09, 2018, 08:52:28 AM
 #5

Have you tested the smart code by independent experts? can I see a link to the audit?
Loxness
Jr. Member
*
Offline Offline

Activity: 182
Merit: 2


View Profile
November 09, 2018, 10:09:12 AM
 #6

Have you tested the smart code by independent experts? can I see a link to the audit?

Here is a link to the audit
 https://www.youtube.com/watch?time_continue=7&v=8nrwIo17fbs
BrieMiller
Jr. Member
*
Offline Offline

Activity: 182
Merit: 1


View Profile
November 09, 2018, 03:29:50 PM
 #7

I watched the video from independent experts,I really liked that EFIRICA passed the test perfectly.
Colin Memfis
Newbie
*
Offline Offline

Activity: 154
Merit: 0


View Profile
November 09, 2018, 03:41:40 PM
 #8

Sorry, but I still do not understand how I play. I put money in you, then something happens and I get%. and what happens? is it like a bank deposit?
I also understand very well that it looks like a financial pyramid. How do you plan to keep the flow of new investments at such a level that you can pay those who take their money?
1ceStorm
Jr. Member
*
Offline Offline

Activity: 112
Merit: 1


View Profile
November 09, 2018, 04:42:33 PM
 #9

Sorry, but I still do not understand how I play. I put money in you, then something happens and I get%. and what happens? is it like a bank deposit?
I also understand very well that it looks like a financial pyramid. How do you plan to keep the flow of new investments at such a level that you can pay those who take their money?
EFIRICA is an ordinary hyip investment project, an investment Fund for payments is replenished with new deposits.
zorgo
Member
**
Offline Offline

Activity: 350
Merit: 10


View Profile
November 09, 2018, 05:50:50 PM
 #10

I am sympathetic to the marketing of the project and the allocation of funds of the investment fund.
dzkrb1966
Full Member
***
Offline Offline

Activity: 602
Merit: 110



View Profile
November 09, 2018, 06:13:11 PM
 #11

I personally do not have enough information about the project. I did not see the white paper. No information about the team. This woman who entrenched on the site and have a team?
SHALARIBA (OP)
Jr. Member
*
Offline Offline

Activity: 101
Merit: 1


View Profile
November 09, 2018, 07:26:54 PM
 #12

Audit CryptoManiacs

TimurBit
Jr. Member
*
Offline Offline

Activity: 350
Merit: 1


View Profile
November 09, 2018, 08:13:36 PM
 #13

I personally do not have enough information about the project. I did not see the white paper. No information about the team. This woman who entrenched on the site and have a team?
This is an investment project that is already working. why do you need white paper, if all the information is on the website?
Colin Memfis
Newbie
*
Offline Offline

Activity: 154
Merit: 0


View Profile
November 12, 2018, 03:05:49 AM
 #14

Sorry, but I still do not understand how I play. I put money in you, then something happens and I get%. and what happens? is it like a bank deposit?
I also understand very well that it looks like a financial pyramid. How do you plan to keep the flow of new investments at such a level that you can pay those who take their money?
EFIRICA is an ordinary hyip investment project, an investment Fund for payments is replenished with new deposits.

so I understood everything correctly. All the signs were on the face, but I wanted to make sure Smiley
5thangel
Hero Member
*****
Offline Offline

Activity: 910
Merit: 508


View Profile WWW
November 13, 2018, 05:48:39 AM
 #15

Audit CryptoManiacs



That's a very good start and to be honest, it was interesting to watch too. Well done
limtjoehua
Member
**
Offline Offline

Activity: 216
Merit: 10

Best solution for smart cities


View Profile
November 13, 2018, 08:02:55 AM
 #16

So what is the minimum to be able to invest in the game? Will the 5% bonus be added directly to my account every day?

━━━       CitiOS       ━━━     
━━━━━━━━━━━━━ Best Solution for Smart Cities | Monetize the True Potential of Smart Cities ━━━━━━━━━━━━━
  ● Telegram    ● Twitter    ● Facebook    ● Medium    ● Reddit    ● Whitepaper
inushkin
Hero Member
*****
Offline Offline

Activity: 973
Merit: 500



View Profile WWW
November 14, 2018, 08:51:24 PM
 #17

So what is the minimum to be able to invest in the game? Will the 5% bonus be added directly to my account every day?

0.01 ETH minimum investment. Yes, 5% per day will be a profit every day at the moment. It works autonomously without admins.

Krezz2017
Full Member
***
Offline Offline

Activity: 560
Merit: 128



View Profile
November 14, 2018, 09:09:33 PM
 #18

You wrote. "The smart contract is verified by independent experts.". Can you lay out the test protocol for your platform? What actions were taken? How many stages? How much time does each stage take?

EMINIBAYEV
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
November 15, 2018, 10:36:32 AM
 #19

I've already received two payments. Invested 0.1 eth
nouno
Newbie
*
Offline Offline

Activity: 2
Merit: 0


View Profile
November 15, 2018, 05:55:16 PM
 #20

Payment received. Smart contract seems to be protected
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!