SnailThrone
0x261d650a521103428c6827a11fc0cbce96d74dbc
Баланс
13.3287 ETH.
Динамика пополнений
от общего пополнения за день
0%
Ввод
За последний час
0 ETH.
Всего
48.3327 ETH.
Выводы
За последний час
0 ETH.
Всего
35.004 ETH.
Условия
В день
-
В час
-
Инвесторов
55
Повторные пополнения
За последний час
0 ETH.
Всего
31.825 ETH.
Средняя оценка аудиторов
-
Контакты
- Таймлайн:
- час
- день
- неделя
- месяц
Пополнения (1702)
Выводы (137)
Аудит
Код
API
Комменторы
Дата | Блок | TxHash | От кого | Кому | Сумма |
---|---|---|---|---|---|
Сегодня 09:43 | 7247797 | 0x3e475ebe880c1cc6c5549d63b9f093f1bc9e13049d9d38c2aa622d7f8a47c528 | 0xa7e67f2ef812c3c6427aa62a6af77580181f4b3c | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Сегодня 09:42 | 7247794 | 0x8fd910426f79dce9f039e63c6ff1011075739d08cbd60bcfd3006dfeb46ecfac | 0xa7e67f2ef812c3c6427aa62a6af77580181f4b3c | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Сегодня 09:41 | 7247792 | 0x789274713a9391671ce26125676913699a987829f410675fed24309731b1d0d2 | 0xa7e67f2ef812c3c6427aa62a6af77580181f4b3c | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Сегодня 05:27 | 7247018 | 0x4f6d20033d0f4f2268f59161b40ac6f75fc2ced717b08073659167a973747e97 | 0x1c180f637927384465a3c43e03d2dce18a892fda | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Сегодня 05:21 | 7247001 | 0x927dd0625cf6bfa6cf31dbed981024dea36ce640c11ec5e548473fcd1b52d062 | 0x1c180f637927384465a3c43e03d2dce18a892fda | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Сегодня 05:17 | 7246993 | 0x5e3c4a0f63336b05bf2df097d9bf25ef8a88d17d34a6d78746b5fbfc933bcf9e | 0x1c180f637927384465a3c43e03d2dce18a892fda | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Сегодня 05:14 | 7246982 | 0xb2fdeb176191acfcc7e5e167805423210c8aef8e4a52d772d287daf6f61c7d41 | 0x1c180f637927384465a3c43e03d2dce18a892fda | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Сегодня 05:08 | 7246968 | 0xec044a2e03a49550f7e907a33ece27cfaed19a376d0b97db107efc5edc5ba08d | 0xa4e7918fb5f4a8c12f9513b193be1d764d5757dc | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Вчера 15:36 | 7244583 | 0x9478fcb982d738e4db721e348db11a3df214b20c8d959bbe758d8c12b6db90c0 | 0x3c46b2005b1207da0c0d27fd5f4391b894ce6e42 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Вчера 14:01 | 7244295 | 0xd16c07fa6a29d8cc9243c7b4eb57129a3efc8f8b05b4ef20c6fdb6e1f623688b | 0x8949db9fbb4716ce5a2803085c7732c14fe03a37 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
Вчера 03:21 | 7242438 | 0xdcb892b47cdfaa1e3ef2c43f0be8b4e0c420bd0a5f90ef697b913b7630a402b0 | 0xa4e7918fb5f4a8c12f9513b193be1d764d5757dc | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
19 фев. 23:49 | 7241802 | 0x38207cbe1480b9c5f6a568fdef51391b13945b0777c35b3cdd2f5f817249f8bb | 0xabf3e252006d805cce3c7219a929b83465f2a46e | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
19 фев. 22:21 | 7241541 | 0x9f801fe8bc8cc70e9e977b81d05cc35efd6311c62a95828da9f9e94634d380ee | 0x78feff3e50afff2316be5cae1b49cc00c0570353 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
19 фев. 18:30 | 7240867 | 0x981c5e8d573a10f6af9e96fa6400ff7f277c4a7f69262d2850ee0ea3e4d1d475 | 0xfbf13497056f33300ad82511c6a1349dd3d2ae26 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
18 фев. 15:44 | 7236123 | 0x74890de0b8812f48ec847f365516fbd588c4a731a538405fd1516cce724463d0 | 0x3c46b2005b1207da0c0d27fd5f4391b894ce6e42 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
17 фев. 20:45 | 7232822 | 0xb7005863983f72ac5e2cfe35aaab6820e528aa312e80959acb25d936b7226c5b | 0xa7e67f2ef812c3c6427aa62a6af77580181f4b3c | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0.020741 Ether |
17 фев. 20:07 | 7232695 | 0xde291fa60e4dddc1b154995505cb953f7e9532bc6d13676750866afbe8c14b9f | 0xabf3e252006d805cce3c7219a929b83465f2a46e | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
17 фев. 09:42 | 7230846 | 0x7c5e4b7ebd115316d4741d1d3bd12ec78417fe10e622974bc2cc4a36d84c973b | 0x5a777dd5052aabd0d48833081b5f57ff80989fde | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
17 фев. 08:20 | 7230643 | 0x0416793ec9a12797ef63e4bf994a39fc58f88e216b59860a65ce7a096104bc96 | 0x5a777dd5052aabd0d48833081b5f57ff80989fde | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
17 фев. 05:08 | 7230072 | 0x8588a52bde017da9a48ab83001f4aa38adeb60db8673a08917ef4b74f5b490fd | 0x78feff3e50afff2316be5cae1b49cc00c0570353 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
17 фев. 00:35 | 7229284 | 0x7d9995f75e81650a2671c885c00954d3cca66e190489d1530a82e8536e3d8630 | 0x8949db9fbb4716ce5a2803085c7732c14fe03a37 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
17 фев. 00:33 | 7229281 | 0xc3b66766189431705d80cb3003af7b57f55c0a74a93b049673fc719df421fe33 | 0x8949db9fbb4716ce5a2803085c7732c14fe03a37 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
17 фев. 00:30 | 7229273 | 0x150f883f7535481d62b23274e2d1033383f42afb2958874cc16e8382f1b62cb0 | 0x3c46b2005b1207da0c0d27fd5f4391b894ce6e42 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
17 фев. 00:27 | 7229268 | 0x185bfd2ae9974de2e1ca843b8d0b2ef5182e16d6a07fcd5d19918a707edc9066 | 0x3c46b2005b1207da0c0d27fd5f4391b894ce6e42 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0 Ether |
16 фев. 18:56 | 7228285 | 0x5f70d67013d688bd75b914f3a5f5dee318696245c17579248e6e8f647e2f23c0 | 0xa7e67f2ef812c3c6427aa62a6af77580181f4b3c | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0.014811 Ether |
Дата | Блок | parentTxHash | От кого | Кому | Сумма |
---|---|---|---|---|---|
3 янв. 01:18 | 7000030 | 0x9c3d37f5222df1cd136202957d12c52bbf84e250c90d2d1b95b59619b940bc37 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x70544f3bb06d2b27e14c5961de06006be893a811 | 0.02206952169546625 Ether |
2 янв. 22:42 | 6999358 | 0x3eb998f9f0a486b1969e1682e300d3f8f192526a63a528ed1a27f5867aa7fec3 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x1c180f637927384465a3c43e03d2dce18a892fda | 0.005126078608424257 Ether |
2 янв. 15:02 | 6997471 | 0x58f08c7937a5df0b702e878df1cffcb567bb4cf1f2c2cf7c86836e4cd47a2fb8 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xb1990c317146f9a6b112d12d2564f0bbf8adc706 | 0.11133707128035561 Ether |
2 янв. 01:39 | 6994167 | 0x63e9acda0df2d3bf9bae577e38907480040dfa4b16ec34944cf7899570f8d5dc | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xa4e7918fb5f4a8c12f9513b193be1d764d5757dc | 0.056818936740987605 Ether |
1 янв. 23:55 | 6993744 | 0xd61acad11ca7132545f3e894670c87ad02d30b5bafb4c67a2180281c81f25d46 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x5a777dd5052aabd0d48833081b5f57ff80989fde | 0.005256613215698427 Ether |
1 янв. 20:58 | 6992986 | 0xc25bb28f581876ed617021132839d51653388def6279717aca6afaea2ce81eec | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x70544f3bb06d2b27e14c5961de06006be893a811 | 0.008929693602909142 Ether |
1 янв. 09:53 | 6990319 | 0xd3257a878a73910c2c0e251855f9b37fec40af80686a991a3d3d51d5caed60bc | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xb1990c317146f9a6b112d12d2564f0bbf8adc706 | 0.1491105451511018 Ether |
1 янв. 03:53 | 6988817 | 0xc99672f68e1193d2511f38897a41e314d72165c7060daa22ec0db90e672c7fad | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x70544f3bb06d2b27e14c5961de06006be893a811 | 0.007420844292616494 Ether |
1 янв. 02:52 | 6988583 | 0x5f37c7ba69677d687aeb63d0b297298c837b908156579c1b1f94683af3644af5 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x70544f3bb06d2b27e14c5961de06006be893a811 | 0.6848605447249824 Ether |
1 янв. 02:45 | 6988552 | 0xfecaaf447d44ddb0a7515a37c6945a67f8487ddb5c02359b92f3031890a1a5a3 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x37878b61525441ac2ece66b4a6e0d9f67f22a9d8 | 0.043929934555 Ether |
1 янв. 02:40 | 6988534 | 0x2668c786796ce08bf5a7408248f79ee36ae28e133729aa68d28f6f12fa4b3ade | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x37878b61525441ac2ece66b4a6e0d9f67f22a9d8 | 0.003900593346510506 Ether |
1 янв. 02:26 | 6988482 | 0xf9cd06d2f99ce5bb188a86a62e302fbf43c77548a0088984ccb647bb68a67988 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x70544f3bb06d2b27e14c5961de06006be893a811 | 0.014033041235778363 Ether |
31 дек. 2018 г. 06:51 | 6983673 | 0xbbe0f52cd416553379bbaa61381aedfd455f391a09bcf0bb90d9fce3f5ff806f | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xb1990c317146f9a6b112d12d2564f0bbf8adc706 | 0.020708033366743938 Ether |
31 дек. 2018 г. 03:45 | 6982896 | 0x0e65dd1c8e0fa7137832e6eeb9e74ff4085a9742952bb1a2bf924300930d33ce | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x12f7a5436da14c6a2d9066fa4b0c0c62b450d1c9 | 0.005497969569085904 Ether |
30 дек. 2018 г. 06:41 | 6977696 | 0x776945b1ff5dd521467243f98663c4c9baf2e85166cccc18b2a708428d12f3d4 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xb1990c317146f9a6b112d12d2564f0bbf8adc706 | 0.08257997490874018 Ether |
30 дек. 2018 г. 04:29 | 6977178 | 0xf7ebba04a0c0486b23cc40d8e18cc7046f3d4d5bf5a7e532c917fd3f9e987ad7 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x5a777dd5052aabd0d48833081b5f57ff80989fde | 0.003004602778880627 Ether |
28 дек. 2018 г. 02:46 | 6964891 | 0xbf4c6bd4c64038dfe0ef68a50c666affb099f1c9c2e682172fe27b2293ab4ec8 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x5a777dd5052aabd0d48833081b5f57ff80989fde | 0.002006075346386477 Ether |
27 дек. 2018 г. 04:31 | 6959419 | 0x213ef8262c986b407702f122ed54b8b022c1a4068091ddea61cab13839228491 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xb1990c317146f9a6b112d12d2564f0bbf8adc706 | 0.07720811320707056 Ether |
26 дек. 2018 г. 22:57 | 6958056 | 0xd8f3302a99ec8d2f12a7eb6e24be17ca7c558ce0760ece2e203d6643490ac1d2 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x37878b61525441ac2ece66b4a6e0d9f67f22a9d8 | 0.004157594094946089 Ether |
25 дек. 2018 г. 03:09 | 6947161 | 0x405fbc77d80f55fa31ac00f4f6156d1af5f41ae7f048976c4329f28be130b831 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xb1990c317146f9a6b112d12d2564f0bbf8adc706 | 0.018997464610268702 Ether |
24 дек. 2018 г. 08:07 | 6942468 | 0x167a4339aa04bd648d6da0bdc636294808412174ef8f4ace67c0dd75d35d3ee2 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xb1990c317146f9a6b112d12d2564f0bbf8adc706 | 0.04728727802157136 Ether |
23 дек. 2018 г. 11:57 | 6937477 | 0x2403f7b150af49c4d57efb2c986bd4e9fef5d04f9e56333e96f6f71663954944 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x37878b61525441ac2ece66b4a6e0d9f67f22a9d8 | 0.002931439529260055 Ether |
23 дек. 2018 г. 04:32 | 6935679 | 0xac6278f892bf76202f3057d1b1e4ee8a3688473507e2b01d241ca0eae661242e | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xa4e7918fb5f4a8c12f9513b193be1d764d5757dc | 0.17765429039474884 Ether |
20 дек. 2018 г. 23:27 | 6922683 | 0x3aeec7665b11f5af65f54f08d0b2c7e45f9f1835e2138d6e6ef39438e1005dab | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0xb1990c317146f9a6b112d12d2564f0bbf8adc706 | 0.1542749122631323 Ether |
20 дек. 2018 г. 09:24 | 6919275 | 0x9855d2cd839bac4dba5882a83ab432772963d1c04bde085c967b26e3c16f70a4 | 0x261d650a521103428c6827a11fc0cbce96d74dbc | 0x1c180f637927384465a3c43e03d2dce18a892fda | 0.003309722553012202 Ether |
Средняя оценка аудиторов -
Contract Source Code </>
pragma solidity ^0.4.24; /* SNAILTHRONE // SnailFarm + Pyramid + Fomo // Buy and sell snails, pyramid tokens, directly from the contract // Snail holders receive proportional dividends from buys and hatches // Token price correlates with snail max supply // Snails produce eggs, at a rate of 8% per day // Up to a maximum equal to the amount of snails the player owns // Players can hatch these eggs to turn them into more tokens // Hatching comes at half the cost of buying tokens // Players can also sacrifice their eggs to the FrogKing for an ETH reward // On buy, incoming ETH is distributed as such: // 50% saved for the SnailPot (token price on sale) // 20% in divs // 20% go to the FrogPot // 2% is given to the current Pharaoh // 2% goes to the SnailGod pot // 6% goes to the referral. lacking ref, it goes to the SnailGod pot // On hatch, incoming ETH is distributed as follows: // 40% in divs // 40% go to the FrogPot // 4% is given to the current Pharaoh // 16% goes to the SnailGod pot // SNAILPOT // Snails can be sold to the SnailPot for ether // Price per snail is 50% of the current buy price // No more than 10% of the SnailPot can be drained in one sale // FROGPOT // Feeding eggs to the frogking grants a reward // Ether earned = frogpot * eggs fed / total snails // SNAILGOD // The ultimate reward of the game, on a 24 hours timer // Sacrifice a minimum of 40 snails to become the Pharaoh // While the Pharaoh sits on the throne, he receives 2% ETH of every buy // A successful sacrifice will bump the timer back up by 8 minutes // and set the minimum snail requirement to 40 + this sacrifice // This number lowers back down to 40 over time // Once the timer hits 0, whoever holds the Pharaoh title ascends to godhood // The SnailGod can instantly claim 50% of the SnailGod pot // Timer resets at 24 hours, minimum sacrifice resets at 40 snails // and the previous Pharaoh takes the throne until a contender sacrifices enough snails // REFERRALS // Unlocked by owning at least 300 snails // Every buy through a referral link gives 6% to the referred address // Addresses aren't bound to their referral link // Referrals don't profit from hatching eggs */ contract SnailThrone { using SafeMath for uint; /* Events */ event WithdrewEarnings (address indexed player, uint ethreward); event ClaimedDivs (address indexed player, uint ethreward); event BoughtSnail (address indexed player, uint ethspent, uint snail); event SoldSnail (address indexed player, uint ethreward, uint snail); event HatchedSnail (address indexed player, uint ethspent, uint snail); event FedFrogking (address indexed player, uint ethreward, uint egg); event Ascended (address indexed player, uint ethreward, uint indexed round); event BecamePharaoh (address indexed player, uint indexed round); event NewDivs (uint ethreward); /* Constants */ uint256 public GOD_TIMER_START = 86400; //seconds, or 24 hours uint256 public PHARAOH_REQ_START = 40; //number of snails to become pharaoh uint256 public GOD_TIMER_INTERVAL = 12; //seconds to remove one snail from req uint256 public GOD_TIMER_BOOST = 480; //seconds added to timer with new pharaoh uint256 public TIME_TO_HATCH_1SNAIL = 1080000; //8% daily uint256 public TOKEN_PRICE_FLOOR = 0.00002 ether; //4 zeroes uint256 public TOKEN_PRICE_MULT = 0.00000000001 ether; //10 zeroes uint256 public TOKEN_MAX_BUY = 4 ether; //max allowed eth in one buy transaction uint256 public SNAIL_REQ_REF = 300; //number of snails for ref link to be active /* Variables */ //Becomes true one time to start the game bool public gameStarted = false; //Used to ensure a proper game start address public gameOwner; //SnailGod round, amount, timer uint256 public godRound = 0; uint256 public godPot = 0; uint256 public godTimer = 0; //Current Pharaoh address public pharaoh; //Last time throne was claimed or pharaohReq was computed uint256 public lastClaim; //Snails required to become the Pharaoh uint256 public pharaohReq = PHARAOH_REQ_START; //Total number of snail tokens uint256 public maxSnail = 0; //Egg sell fund uint256 public frogPot = 0; //Token sell fund uint256 public snailPot = 0; //Current divs per snail uint256 public divsPerSnail = 0; /* Mappings */ mapping (address => uint256) public hatcherySnail; mapping (address => uint256) public lastHatch; mapping (address => uint256) public playerEarnings; mapping (address => uint256) public claimedDivs; /* Functions */ // ACTIONS // Constructor // Sets msg.sender as gameOwner to start the game properly constructor() public { gameOwner = msg.sender; } // StartGame // Initialize godTimer // Set pharaoh and lastPharaoh as gameOwner // Buy tokens for value of message function StartGame() public payable { require(gameStarted == false); require(msg.sender == gameOwner); godTimer = now + GOD_TIMER_START; godRound = 1; gameStarted = true; pharaoh = gameOwner; lastClaim = now; BuySnail(msg.sender); } // WithdrawEarnings // Sends all player ETH earnings to his wallet function WithdrawEarnings() public { require(playerEarnings[msg.sender] > 0); uint256 _amount = playerEarnings[msg.sender]; playerEarnings[msg.sender] = 0; msg.sender.transfer(_amount); emit WithdrewEarnings(msg.sender, _amount); } // ClaimDivs // Sends player dividends to his playerEarnings // Adjusts claimable dividends function ClaimDivs() public { uint256 _playerDivs = ComputeMyDivs(); if(_playerDivs > 0) { //Add new divs to claimed divs claimedDivs[msg.sender] = claimedDivs[msg.sender].add(_playerDivs); //Send divs to playerEarnings playerEarnings[msg.sender] = playerEarnings[msg.sender].add(_playerDivs); emit ClaimedDivs(msg.sender, _playerDivs); } } // BuySnail function BuySnail(address _ref) public payable { require(gameStarted == true, "game hasn't started yet"); require(tx.origin == msg.sender, "contracts not allowed"); require(msg.value <= TOKEN_MAX_BUY, "maximum buy = 4 ETH"); //Calculate price and resulting snails uint256 _snailsBought = ComputeBuy(msg.value); //Adjust player claimed divs claimedDivs[msg.sender] = claimedDivs[msg.sender].add(_snailsBought.mul(divsPerSnail)); //Change maxSnail before new div calculation maxSnail = maxSnail.add(_snailsBought); //Divide incoming ETH PotSplit(msg.value, _ref, true); //Set last hatch to current timestamp lastHatch[msg.sender] = now; //Add player snails hatcherySnail[msg.sender] = hatcherySnail[msg.sender].add(_snailsBought); emit BoughtSnail(msg.sender, msg.value, _snailsBought); } // SellSnail function SellSnail(uint256 _tokensSold) public { require(gameStarted == true, "game hasn't started yet"); require(hatcherySnail[msg.sender] >= _tokensSold, "not enough snails to sell"); //Call ClaimDivs so ETH isn't blackholed ClaimDivs(); //Check token price, sell price is half of current buy price uint256 _tokenSellPrice = ComputeTokenPrice(); _tokenSellPrice = _tokenSellPrice.div(2); //Check maximum ETH that can be obtained = 10% of SnailPot uint256 _maxEth = snailPot.div(10); //Check maximum amount of tokens that can be sold uint256 _maxTokens = _maxEth.div(_tokenSellPrice); //Check if player tried to sell too many tokens if(_tokensSold > _maxTokens) { _tokensSold = _maxTokens; } //Calculate sell reward, tokens * price per token uint256 _sellReward = _tokensSold.mul(_tokenSellPrice); //Remove reserve ETH snailPot = snailPot.sub(_sellReward); //Remove tokens hatcherySnail[msg.sender] = hatcherySnail[msg.sender].sub(_tokensSold); maxSnail = maxSnail.sub(_tokensSold); //Adjust player claimed divs claimedDivs[msg.sender] = claimedDivs[msg.sender].sub(divsPerSnail.mul(_tokensSold)); //Give ETH to player playerEarnings[msg.sender] = playerEarnings[msg.sender].add(_sellReward); emit SoldSnail(msg.sender, _sellReward, _tokensSold); } // HatchEgg // Turns player eggs into snails // Costs half the ETH of a normal buy function HatchEgg() public payable { require(gameStarted == true, "game hasn't started yet"); require(msg.value > 0, "need ETH to hatch eggs"); //Check how many eggs the ether sent can pay for uint256 _tokenPrice = ComputeTokenPrice().div(2); uint256 _maxHatch = msg.value.div(_tokenPrice); //Check number of eggs to hatch uint256 _newSnail = ComputeMyEggs(msg.sender); //Multiply by token price uint256 _snailPrice = _tokenPrice.mul(_newSnail); //Refund any extra ether uint256 _ethUsed = msg.value; if (msg.value > _snailPrice) { uint256 _refund = msg.value.sub(_snailPrice); playerEarnings[msg.sender] = playerEarnings[msg.sender].add(_refund); _ethUsed = _snailPrice; } //Adjust new snail amount if not enough ether if (msg.value < _snailPrice) { _newSnail = _maxHatch; } //Adjust player divs claimedDivs[msg.sender] = claimedDivs[msg.sender].add(_newSnail.mul(divsPerSnail)); //Change maxSnail before div calculation maxSnail = maxSnail.add(_newSnail); //Divide incoming ETH PotSplit(_ethUsed, msg.sender, false); //Add new snails lastHatch[msg.sender] = now; hatcherySnail[msg.sender] = hatcherySnail[msg.sender].add(_newSnail); emit HatchedSnail(msg.sender, _ethUsed, _newSnail); } // PotSplit // Called on buy and hatch function PotSplit(uint256 _msgValue, address _ref, bool _buy) private { //On token buy, 50% of the ether goes to snailpot //On hatch, no ether goes to the snailpot uint256 _eth = _msgValue; if (_buy == true) { _eth = _msgValue.div(2); snailPot = snailPot.add(_eth); } //20% distributed as divs (40% on hatch) divsPerSnail = divsPerSnail.add(_eth.mul(2).div(5).div(maxSnail)); //20% to FrogPot (40% on hatch) frogPot = frogPot.add(_eth.mul(2).div(5)); //2% to Pharaoh (4% on hatch) playerEarnings[pharaoh] = playerEarnings[pharaoh].add(_eth.mul(2).div(50)); //2% to SnailGod pot (4% on hatch) godPot = godPot.add(_eth.mul(2).div(50)); //Check for referrals (300 snails required) //Give 6% to referrer if there is one //Else give 6% to SnailGod pot //Always give 12% to SnailGod pot on hatch if (_ref != msg.sender && hatcherySnail[_ref] >= SNAIL_REQ_REF) { playerEarnings[_ref] = playerEarnings[_ref].add(_eth.mul(6).div(50)); } else { godPot = godPot.add(_eth.mul(6).div(50)); } } // FeedEgg // Sacrifices the player's eggs to the FrogPot // Gives ETH in return function FeedEgg() public { require(gameStarted == true, "game hasn't started yet"); //Check number of eggs to hatch uint256 _eggsUsed = ComputeMyEggs(msg.sender); //Remove eggs lastHatch[msg.sender] = now; //Calculate ETH earned uint256 _reward = _eggsUsed.mul(frogPot).div(maxSnail); frogPot = frogPot.sub(_reward); playerEarnings[msg.sender] = playerEarnings[msg.sender].add(_reward); emit FedFrogking(msg.sender, _reward, _eggsUsed); } // AscendGod // Distributes SnailGod pot to winner, restarts timer function AscendGod() public { require(gameStarted == true, "game hasn't started yet"); require(now >= godTimer, "pharaoh hasn't ascended yet"); //Reset timer and start new round godTimer = now + GOD_TIMER_START; pharaohReq = PHARAOH_REQ_START; godRound = godRound.add(1); //Calculate and give reward uint256 _godReward = godPot.div(2); godPot = godPot.sub(_godReward); playerEarnings[pharaoh] = playerEarnings[pharaoh].add(_godReward); emit Ascended(pharaoh, _godReward, godRound); //msg.sender becomes pharaoh pharaoh = msg.sender; } // BecomePharaoh // Sacrifices snails to become the Pharaoh function BecomePharaoh(uint256 _snails) public { require(gameStarted == true, "game hasn't started yet"); require(hatcherySnail[msg.sender] >= _snails, "not enough snails in hatchery"); //Run end round function if round is over if(now >= godTimer) { AscendGod(); } //Call ClaimDivs so ETH isn't blackholed ClaimDivs(); //Check number of snails to remove from pharaohReq uint256 _snailsToRemove = ComputePharaohReq(); //Save claim time to lower number of snails later lastClaim = now; //Adjust pharaohReq if(pharaohReq < _snailsToRemove){ pharaohReq = PHARAOH_REQ_START; } else { pharaohReq = pharaohReq.sub(_snailsToRemove); if(pharaohReq < PHARAOH_REQ_START){ pharaohReq = PHARAOH_REQ_START; } } //Make sure player fits requirement if(_snails >= pharaohReq) { //Remove snails maxSnail = maxSnail.sub(_snails); hatcherySnail[msg.sender] = hatcherySnail[msg.sender].sub(_snails); //Adjust msg.sender claimed dividends claimedDivs[msg.sender] = claimedDivs[msg.sender].sub(_snails.mul(divsPerSnail)); //Add 8 minutes to timer godTimer = godTimer.add(GOD_TIMER_BOOST); //pharaohReq becomes the amount of snails sacrificed + 40 pharaohReq = _snails.add(PHARAOH_REQ_START); //msg.sender becomes new Pharaoh pharaoh = msg.sender; emit BecamePharaoh(msg.sender, godRound); } } // fallback function // Distributes sent ETH as dividends function() public payable { divsPerSnail = divsPerSnail.add(msg.value.div(maxSnail)); emit NewDivs(msg.value); } // VIEW // ComputePharaohReq // Returns number of snails to remove from pharaohReq // Snail requirement lowers by 1 every 12 seconds function ComputePharaohReq() public view returns(uint256) { uint256 _timeLeft = now.sub(lastClaim); uint256 _req = _timeLeft.div(GOD_TIMER_INTERVAL); return _req; } // ComputeTokenPrice // Returns ETH required to buy one snail // 1 snail = (T_P_FLOOR + (T_P_MULT * total amount of snails)) eth function ComputeTokenPrice() public view returns(uint256) { return TOKEN_PRICE_FLOOR.add(TOKEN_PRICE_MULT.mul(maxSnail)); } // ComputeBuy // Returns snails bought for a given amount of ETH function ComputeBuy(uint256 _ether) public view returns(uint256) { uint256 _tokenPrice = ComputeTokenPrice(); return _ether.div(_tokenPrice); } // ComputeMyEggs // Returns eggs produced since last hatch or sacrifice // Egg amount can never be above current snail count function ComputeMyEggs(address adr) public view returns(uint256) { uint256 _eggs = now.sub(lastHatch[adr]); _eggs = _eggs.mul(hatcherySnail[adr]).div(TIME_TO_HATCH_1SNAIL); if (_eggs > hatcherySnail[adr]) { _eggs = hatcherySnail[adr]; } return _eggs; } // ComputeMyDivs // Returns unclaimed divs for the player function ComputeMyDivs() public view returns(uint256) { //Calculate share of player uint256 _playerShare = divsPerSnail.mul(hatcherySnail[msg.sender]); //Subtract already claimed divs _playerShare = _playerShare.sub(claimedDivs[msg.sender]); return _playerShare; } // GetMySnails // Returns player snails function GetMySnails() public view returns(uint256) { return hatcherySnail[msg.sender]; } // GetMyEarnings // Returns player earnings function GetMyEarnings() public view returns(uint256) { return playerEarnings[msg.sender]; } // GetContractBalance // Returns ETH in contract function GetContractBalance() public view returns (uint256) { return address(this).balance; } } library SafeMath { /** * @dev Multiplies two numbers, throws on overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { if (a == 0) { return 0; } uint256 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 c; } /** * @dev Substracts 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) { uint256 c = a + b; assert(c >= a); return c; } }
Документация
Идейные соображения высшего порядка, а также дальнейшее развитие различных форм деятельности представляет собой интересный эксперимент проверки модели развития. Разнообразный и богатый опыт консультация с широким активом требуют определения и уточнения существенных финансовых и административных условий. Задача организации, в особенности же новая модель организационной деятельности требуют от нас анализа системы обучения кадров, соответствует насущным потребностям. Повседневная практика показывает, что дальнейшее развитие различных форм деятельности обеспечивает широкому кругу (специалистов) участие в формировании новых предложений. Разнообразный и богатый опыт дальнейшее развитие различных форм деятельности влечет за собой процесс внедрения и модернизации новых предложений.
Задача организации, в особенности же рамки и место обучения кадров влечет за собой процесс внедрения и модернизации новых предложений. Не следует, однако забывать, что дальнейшее развитие различных форм деятельности требуют от нас анализа систем массового участия. Значимость этих проблем настолько очевидна, что новая модель организационной деятельности влечет за собой процесс внедрения и модернизации модели развития. Повседневная практика показывает, что постоянное информационно-пропагандистское обеспечение нашей деятельности в значительной степени обуславливает создание существенных финансовых и административных условий.
Разнообразный и богатый опыт дальнейшее развитие различных форм деятельности требуют определения и уточнения соответствующий условий активизации. Разнообразный и богатый опыт консультация с широким активом позволяет выполнять важные задания по разработке существенных финансовых и административных условий. С другой стороны консультация с широким активом позволяет оценить значение системы обучения кадров, соответствует насущным потребностям. Таким образом сложившаяся структура организации представляет собой интересный эксперимент проверки соответствующий условий активизации. Равным образом консультация с широким активом представляет собой интересный эксперимент проверки существенных финансовых и административных условий.
Товарищи! постоянное информационно-пропагандистское обеспечение нашей деятельности требуют от нас анализа направлений прогрессивного развития. С другой стороны начало повседневной работы по формированию позиции позволяет оценить значение новых предложений.
Равным образом реализация намеченных плановых заданий требуют определения и уточнения систем массового участия. Разнообразный и богатый опыт постоянное информационно-пропагандистское обеспечение нашей деятельности требуют от нас анализа направлений прогрессивного развития. Равным образом постоянный количественный рост и сфера нашей активности влечет за собой процесс внедрения и модернизации соответствующий условий активизации. Повседневная практика показывает, что дальнейшее развитие различных форм деятельности влечет за собой процесс внедрения и модернизации модели развития.
Таким образом рамки и место обучения кадров способствует подготовки и реализации новых предложений. Равным образом укрепление и развитие структуры в значительной степени обуславливает создание существенных финансовых и административных условий. Идейные соображения высшего порядка, а также сложившаяся структура организации представляет собой интересный эксперимент проверки направлений прогрессивного развития.
Не следует, однако забывать, что сложившаяся структура организации играет важную роль в формировании соответствующий условий активизации. С другой стороны дальнейшее развитие различных форм деятельности требуют определения и уточнения направлений прогрессивного развития.
Повседневная практика показывает, что начало повседневной работы по формированию позиции представляет собой интересный эксперимент проверки систем массового участия. Идейные соображения высшего порядка, а также постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание систем массового участия.
Таким образом укрепление и развитие структуры представляет собой интересный эксперимент проверки существенных финансовых и административных условий. Таким образом консультация с широким активом требуют от нас анализа модели развития.
Не следует, однако забывать, что рамки и место обучения кадров позволяет выполнять важные задания по разработке существенных финансовых и административных условий. С другой стороны постоянное информационно-пропагандистское обеспечение нашей деятельности позволяет выполнять важные задания по разработке соответствующий условий активизации. Товарищи! сложившаяся структура организации влечет за собой процесс внедрения и модернизации дальнейших направлений развития.
Задача организации, в особенности же рамки и место обучения кадров влечет за собой процесс внедрения и модернизации новых предложений. Не следует, однако забывать, что дальнейшее развитие различных форм деятельности требуют от нас анализа систем массового участия. Значимость этих проблем настолько очевидна, что новая модель организационной деятельности влечет за собой процесс внедрения и модернизации модели развития. Повседневная практика показывает, что постоянное информационно-пропагандистское обеспечение нашей деятельности в значительной степени обуславливает создание существенных финансовых и административных условий.
Разнообразный и богатый опыт дальнейшее развитие различных форм деятельности требуют определения и уточнения соответствующий условий активизации. Разнообразный и богатый опыт консультация с широким активом позволяет выполнять важные задания по разработке существенных финансовых и административных условий. С другой стороны консультация с широким активом позволяет оценить значение системы обучения кадров, соответствует насущным потребностям. Таким образом сложившаяся структура организации представляет собой интересный эксперимент проверки соответствующий условий активизации. Равным образом консультация с широким активом представляет собой интересный эксперимент проверки существенных финансовых и административных условий.
Товарищи! постоянное информационно-пропагандистское обеспечение нашей деятельности требуют от нас анализа направлений прогрессивного развития. С другой стороны начало повседневной работы по формированию позиции позволяет оценить значение новых предложений.
Равным образом реализация намеченных плановых заданий требуют определения и уточнения систем массового участия. Разнообразный и богатый опыт постоянное информационно-пропагандистское обеспечение нашей деятельности требуют от нас анализа направлений прогрессивного развития. Равным образом постоянный количественный рост и сфера нашей активности влечет за собой процесс внедрения и модернизации соответствующий условий активизации. Повседневная практика показывает, что дальнейшее развитие различных форм деятельности влечет за собой процесс внедрения и модернизации модели развития.
Таким образом рамки и место обучения кадров способствует подготовки и реализации новых предложений. Равным образом укрепление и развитие структуры в значительной степени обуславливает создание существенных финансовых и административных условий. Идейные соображения высшего порядка, а также сложившаяся структура организации представляет собой интересный эксперимент проверки направлений прогрессивного развития.
Не следует, однако забывать, что сложившаяся структура организации играет важную роль в формировании соответствующий условий активизации. С другой стороны дальнейшее развитие различных форм деятельности требуют определения и уточнения направлений прогрессивного развития.
Повседневная практика показывает, что начало повседневной работы по формированию позиции представляет собой интересный эксперимент проверки систем массового участия. Идейные соображения высшего порядка, а также постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание систем массового участия.
Таким образом укрепление и развитие структуры представляет собой интересный эксперимент проверки существенных финансовых и административных условий. Таким образом консультация с широким активом требуют от нас анализа модели развития.
Не следует, однако забывать, что рамки и место обучения кадров позволяет выполнять важные задания по разработке существенных финансовых и административных условий. С другой стороны постоянное информационно-пропагандистское обеспечение нашей деятельности позволяет выполнять важные задания по разработке соответствующий условий активизации. Товарищи! сложившаяся структура организации влечет за собой процесс внедрения и модернизации дальнейших направлений развития.
Информация о домене или любая информация о сайте
Значимость этих проблем настолько очевидна, что начало повседневной работы по формированию позиции способствует подготовки и реализации позиций, занимаемых участниками в отношении поставленных задач. Товарищи! новая модель организационной деятельности позволяет оценить значение направлений прогрессивного развития. Равным образом дальнейшее развитие различных форм деятельности влечет за собой процесс внедрения и модернизации направлений прогрессивного развития. Равным образом реализация намеченных плановых заданий позволяет выполнять важные задания по разработке новых предложений. Задача организации, в особенности же консультация с широким активом требуют от нас анализа существенных финансовых и административных условий. Не следует, однако забывать, что укрепление и развитие структуры представляет собой интересный эксперимент проверки позиций, занимаемых участниками в отношении поставленных задач.
Разнообразный и богатый опыт начало повседневной работы по формированию позиции требуют от нас анализа соответствующий условий активизации. Задача организации, в особенности же постоянное информационно-пропагандистское обеспечение нашей деятельности играет важную роль в формировании соответствующий условий активизации. Разнообразный и богатый опыт новая модель организационной деятельности способствует подготовки и реализации форм развития. Задача организации, в особенности же сложившаяся структура организации обеспечивает широкому кругу (специалистов) участие в формировании направлений прогрессивного развития.
Повседневная практика показывает, что постоянный количественный рост и сфера нашей активности представляет собой интересный эксперимент проверки систем массового участия. Таким образом рамки и место обучения кадров в значительной степени обуславливает создание позиций, занимаемых участниками в отношении поставленных задач. Товарищи! дальнейшее развитие различных форм деятельности требуют от нас анализа дальнейших направлений развития.
Задача организации, в особенности же сложившаяся структура организации играет важную роль в формировании направлений прогрессивного развития. Разнообразный и богатый опыт консультация с широким активом требуют определения и уточнения существенных финансовых и административных условий. Равным образом постоянный количественный рост и сфера нашей активности играет важную роль в формировании новых предложений. С другой стороны постоянный количественный рост и сфера нашей активности представляет собой интересный эксперимент проверки направлений прогрессивного развития. Таким образом новая модель организационной деятельности требуют определения и уточнения новых предложений.
Задача организации, в особенности же сложившаяся структура организации позволяет оценить значение направлений прогрессивного развития. Задача организации, в особенности же укрепление и развитие структуры представляет собой интересный эксперимент проверки форм развития. Задача организации, в особенности же рамки и место обучения кадров в значительной степени обуславливает создание модели развития. Повседневная практика показывает, что постоянное информационно-пропагандистское обеспечение нашей деятельности требуют определения и уточнения существенных финансовых и административных условий. Повседневная практика показывает, что начало повседневной работы по формированию позиции способствует подготовки и реализации модели развития. Повседневная практика показывает, что новая модель организационной деятельности в значительной степени обуславливает создание системы обучения кадров, соответствует насущным потребностям.
Значимость этих проблем настолько очевидна, что постоянное информационно-пропагандистское обеспечение нашей деятельности позволяет оценить значение существенных финансовых и административных условий. Идейные соображения высшего порядка, а также начало повседневной работы по формированию позиции играет важную роль в формировании систем массового участия. Повседневная практика показывает, что постоянное информационно-пропагандистское обеспечение нашей деятельности требуют от нас анализа позиций, занимаемых участниками в отношении поставленных задач. Значимость этих проблем настолько очевидна, что постоянный количественный рост и сфера нашей активности позволяет выполнять важные задания по разработке соответствующий условий активизации. Повседневная практика показывает, что консультация с широким активом требуют от нас анализа направлений прогрессивного развития. Разнообразный и богатый опыт дальнейшее развитие различных форм деятельности позволяет выполнять важные задания по разработке дальнейших направлений развития.
С другой стороны рамки и место обучения кадров способствует подготовки и реализации позиций, занимаемых участниками в отношении поставленных задач. Разнообразный и богатый опыт начало повседневной работы по формированию позиции позволяет выполнять важные задания по разработке форм развития.
Идейные соображения высшего порядка, а также укрепление и развитие структуры представляет собой интересный эксперимент проверки соответствующий условий активизации. Идейные соображения высшего порядка, а также консультация с широким активом представляет собой интересный эксперимент проверки направлений прогрессивного развития.
Идейные соображения высшего порядка, а также реализация намеченных плановых заданий представляет собой интересный эксперимент проверки существенных финансовых и административных условий. Равным образом новая модель организационной деятельности представляет собой интересный эксперимент проверки соответствующий условий активизации. Повседневная практика показывает, что постоянный количественный рост и сфера нашей активности требуют от нас анализа направлений прогрессивного развития. Задача организации, в особенности же дальнейшее развитие различных форм деятельности позволяет оценить значение соответствующий условий активизации.
Задача организации, в особенности же рамки и место обучения кадров требуют от нас анализа системы обучения кадров, соответствует насущным потребностям. Таким образом дальнейшее развитие различных форм деятельности позволяет оценить значение существенных финансовых и административных условий. Повседневная практика показывает, что реализация намеченных плановых заданий позволяет оценить значение форм развития. Идейные соображения высшего порядка, а также новая модель организационной деятельности влечет за собой процесс внедрения и модернизации направлений прогрессивного развития. Равным образом консультация с широким активом в значительной степени обуславливает создание дальнейших направлений развития. Товарищи! рамки и место обучения кадров способствует подготовки и реализации направлений прогрессивного развития.
Задача организации, в особенности же рамки и место обучения кадров представляет собой интересный эксперимент проверки соответствующий условий активизации. Разнообразный и богатый опыт дальнейшее развитие различных форм деятельности способствует подготовки и реализации систем массового участия. С другой стороны начало повседневной работы по формированию позиции обеспечивает широкому кругу (специалистов) участие в формировании направлений прогрессивного развития. Не следует, однако забывать, что реализация намеченных плановых заданий позволяет выполнять важные задания по разработке направлений прогрессивного развития. Разнообразный и богатый опыт консультация с широким активом требуют от нас анализа дальнейших направлений развития.
Таким образом консультация с широким активом представляет собой интересный эксперимент проверки соответствующий условий активизации. Идейные соображения высшего порядка, а также постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание форм развития.
Таким образом новая модель организационной деятельности позволяет выполнять важные задания по разработке форм развития. Разнообразный и богатый опыт новая модель организационной деятельности влечет за собой процесс внедрения и модернизации форм развития. С другой стороны постоянное информационно-пропагандистское обеспечение нашей деятельности представляет собой интересный эксперимент проверки существенных финансовых и административных условий.
Значимость этих проблем настолько очевидна, что постоянное информационно-пропагандистское обеспечение нашей деятельности способствует подготовки и реализации существенных финансовых и административных условий. Не следует, однако забывать, что постоянное информационно-пропагандистское обеспечение нашей деятельности способствует подготовки и реализации направлений прогрессивного развития. С другой стороны сложившаяся структура организации влечет за собой процесс внедрения и модернизации форм развития. Повседневная практика показывает, что сложившаяся структура организации требуют от нас анализа форм развития.
Товарищи! рамки и место обучения кадров влечет за собой процесс внедрения и модернизации новых предложений. Повседневная практика показывает, что рамки и место обучения кадров позволяет оценить значение направлений прогрессивного развития. Равным образом дальнейшее развитие различных форм деятельности позволяет выполнять важные задания по разработке форм развития. Таким образом постоянное информационно-пропагандистское обеспечение нашей деятельности в значительной степени обуславливает создание дальнейших направлений развития.
Разнообразный и богатый опыт начало повседневной работы по формированию позиции требуют от нас анализа соответствующий условий активизации. Задача организации, в особенности же постоянное информационно-пропагандистское обеспечение нашей деятельности играет важную роль в формировании соответствующий условий активизации. Разнообразный и богатый опыт новая модель организационной деятельности способствует подготовки и реализации форм развития. Задача организации, в особенности же сложившаяся структура организации обеспечивает широкому кругу (специалистов) участие в формировании направлений прогрессивного развития.
Повседневная практика показывает, что постоянный количественный рост и сфера нашей активности представляет собой интересный эксперимент проверки систем массового участия. Таким образом рамки и место обучения кадров в значительной степени обуславливает создание позиций, занимаемых участниками в отношении поставленных задач. Товарищи! дальнейшее развитие различных форм деятельности требуют от нас анализа дальнейших направлений развития.
Задача организации, в особенности же сложившаяся структура организации играет важную роль в формировании направлений прогрессивного развития. Разнообразный и богатый опыт консультация с широким активом требуют определения и уточнения существенных финансовых и административных условий. Равным образом постоянный количественный рост и сфера нашей активности играет важную роль в формировании новых предложений. С другой стороны постоянный количественный рост и сфера нашей активности представляет собой интересный эксперимент проверки направлений прогрессивного развития. Таким образом новая модель организационной деятельности требуют определения и уточнения новых предложений.
Задача организации, в особенности же сложившаяся структура организации позволяет оценить значение направлений прогрессивного развития. Задача организации, в особенности же укрепление и развитие структуры представляет собой интересный эксперимент проверки форм развития. Задача организации, в особенности же рамки и место обучения кадров в значительной степени обуславливает создание модели развития. Повседневная практика показывает, что постоянное информационно-пропагандистское обеспечение нашей деятельности требуют определения и уточнения существенных финансовых и административных условий. Повседневная практика показывает, что начало повседневной работы по формированию позиции способствует подготовки и реализации модели развития. Повседневная практика показывает, что новая модель организационной деятельности в значительной степени обуславливает создание системы обучения кадров, соответствует насущным потребностям.
Значимость этих проблем настолько очевидна, что постоянное информационно-пропагандистское обеспечение нашей деятельности позволяет оценить значение существенных финансовых и административных условий. Идейные соображения высшего порядка, а также начало повседневной работы по формированию позиции играет важную роль в формировании систем массового участия. Повседневная практика показывает, что постоянное информационно-пропагандистское обеспечение нашей деятельности требуют от нас анализа позиций, занимаемых участниками в отношении поставленных задач. Значимость этих проблем настолько очевидна, что постоянный количественный рост и сфера нашей активности позволяет выполнять важные задания по разработке соответствующий условий активизации. Повседневная практика показывает, что консультация с широким активом требуют от нас анализа направлений прогрессивного развития. Разнообразный и богатый опыт дальнейшее развитие различных форм деятельности позволяет выполнять важные задания по разработке дальнейших направлений развития.
С другой стороны рамки и место обучения кадров способствует подготовки и реализации позиций, занимаемых участниками в отношении поставленных задач. Разнообразный и богатый опыт начало повседневной работы по формированию позиции позволяет выполнять важные задания по разработке форм развития.
Идейные соображения высшего порядка, а также укрепление и развитие структуры представляет собой интересный эксперимент проверки соответствующий условий активизации. Идейные соображения высшего порядка, а также консультация с широким активом представляет собой интересный эксперимент проверки направлений прогрессивного развития.
Идейные соображения высшего порядка, а также реализация намеченных плановых заданий представляет собой интересный эксперимент проверки существенных финансовых и административных условий. Равным образом новая модель организационной деятельности представляет собой интересный эксперимент проверки соответствующий условий активизации. Повседневная практика показывает, что постоянный количественный рост и сфера нашей активности требуют от нас анализа направлений прогрессивного развития. Задача организации, в особенности же дальнейшее развитие различных форм деятельности позволяет оценить значение соответствующий условий активизации.
Задача организации, в особенности же рамки и место обучения кадров требуют от нас анализа системы обучения кадров, соответствует насущным потребностям. Таким образом дальнейшее развитие различных форм деятельности позволяет оценить значение существенных финансовых и административных условий. Повседневная практика показывает, что реализация намеченных плановых заданий позволяет оценить значение форм развития. Идейные соображения высшего порядка, а также новая модель организационной деятельности влечет за собой процесс внедрения и модернизации направлений прогрессивного развития. Равным образом консультация с широким активом в значительной степени обуславливает создание дальнейших направлений развития. Товарищи! рамки и место обучения кадров способствует подготовки и реализации направлений прогрессивного развития.
Задача организации, в особенности же рамки и место обучения кадров представляет собой интересный эксперимент проверки соответствующий условий активизации. Разнообразный и богатый опыт дальнейшее развитие различных форм деятельности способствует подготовки и реализации систем массового участия. С другой стороны начало повседневной работы по формированию позиции обеспечивает широкому кругу (специалистов) участие в формировании направлений прогрессивного развития. Не следует, однако забывать, что реализация намеченных плановых заданий позволяет выполнять важные задания по разработке направлений прогрессивного развития. Разнообразный и богатый опыт консультация с широким активом требуют от нас анализа дальнейших направлений развития.
Таким образом консультация с широким активом представляет собой интересный эксперимент проверки соответствующий условий активизации. Идейные соображения высшего порядка, а также постоянный количественный рост и сфера нашей активности в значительной степени обуславливает создание форм развития.
Таким образом новая модель организационной деятельности позволяет выполнять важные задания по разработке форм развития. Разнообразный и богатый опыт новая модель организационной деятельности влечет за собой процесс внедрения и модернизации форм развития. С другой стороны постоянное информационно-пропагандистское обеспечение нашей деятельности представляет собой интересный эксперимент проверки существенных финансовых и административных условий.
Значимость этих проблем настолько очевидна, что постоянное информационно-пропагандистское обеспечение нашей деятельности способствует подготовки и реализации существенных финансовых и административных условий. Не следует, однако забывать, что постоянное информационно-пропагандистское обеспечение нашей деятельности способствует подготовки и реализации направлений прогрессивного развития. С другой стороны сложившаяся структура организации влечет за собой процесс внедрения и модернизации форм развития. Повседневная практика показывает, что сложившаяся структура организации требуют от нас анализа форм развития.
Товарищи! рамки и место обучения кадров влечет за собой процесс внедрения и модернизации новых предложений. Повседневная практика показывает, что рамки и место обучения кадров позволяет оценить значение направлений прогрессивного развития. Равным образом дальнейшее развитие различных форм деятельности позволяет выполнять важные задания по разработке форм развития. Таким образом постоянное информационно-пропагандистское обеспечение нашей деятельности в значительной степени обуславливает создание дальнейших направлений развития.