Please enable JavaScript.
Coggle requires JavaScript to display documents.
Контракт SALE RI - Coggle Diagram
Функція processSale. Спрацьовує, коли на адресу контракту поступає eth:
1) Розраховується нинішня ціна на стейк в фіаті ($), яка залежить від всього бізнес-періоду (змінна) та поточного моменту на бізнес-періоді (оперативно визначається
2) Випускається повна кількість нових стейків, яка залежить від розміру пулу (змінна) та залишкових інвестицій
2) Перераховується розподіл пулу стейків в капах (caps), а саме
-
-
-
-
3) Отримання стейків на баланс викликача цієї функції (відправника eth на цю адресу) та на відповідні баланси caps
Функція transferToPool Відправити в пул (яким є окрема адреса) певну можливу частку від всього доступного на контракті eth. Ця частка визначається в залежності від часу, що залишилося до кінцевого терміну бізнес-періоду. Чим ближче до кінцевого терміну, тим більшу суму можна перевести на pool-адресу (за вирахуванням вже виведеної).
Функція withdrawInvestment, як відповідальна за можливість відкликати інвестиції. Взамін інвестор отримує назад суму, яка вираховується по формулі: повнаінвестиціяінвестора - коштиперерахованінапулпроекту , тобто залишкові кошти. Наприклад на момент половини бізнес-періоду інвестор може зробити withdraw лише 50% від його повної суми, але всі свої стейки повертаються назад на контракт.
Функція rejectInvestmentWithdrawal дозволяє відмовитися від можливості відкликати інвестиції. Це дозволяє проекту отримати всю частку цього інвестора одразу.
Функція distributeBounty Дозволяє напряму відправляти стейки на адреси, зазвичай баунті-хантерів, які роблять завдання за стейки.
Функція getBonusStakesPermanently дозволяє отримати бонусні стейки за рахунок вказання адреси того, хто привів інвестора (і попросив проінвестувати) - так-званих investment guides. Самі investment guides отримують реальний кеш-бек від суми інвестицій eth -> адресу inestment guide. Доля від інвестицій, що повертається для investment guide встановлюється на початку.
Функція registerGuide реєструє інвестиційного гайда (investment guide) , що дозволяє власнику контракту контролювати, чи це справжній інвестиційний гайд і тільки тоді цей гайд може отримати нагороду, а інвестор бонусні стейки
Функції freezePrice, unfreezePrice заморожують та розморожують ціну на стейк. Таким чином фактор динамічного зростання тимчасово не діє.
-
Функція setNewOwner визначення нового власника контракту, що здатен змінювати деякі змінні:
1) usdPerEther - ціна ефіру (виконанням функції setUsdPerEther
2) pool - адресу фінансового pool проекту, виконанням функції setPoolAddress
3) Повного розміру пулу poolCapUSD застосуванням функції setPoolCapUSD
4) Реєструвати investment guide застосуванням функції registerGuide
5) заморожувати, розморожувати ціну на стейк в ефірі
6) Визначати кінцеву ціну на стейк в $, застосуванням функції setTargetPrice
7) Визначати нового власника цією функцією
Функція setTargetPrice визначає кінцеву ціну на стейк в фіаті, наприклад $10 чи $100 - будь-яку. В момент визначення кількості стейків до випуску (кожного разу, при потраплянні на контракт eth) використовується ця ціна. Цей показник приймає участь в формулі поточної динамічної ціни
Функція setPoolCapUSD для можливості динамічної зміни кінцевого фінансового пулу, як цілі для інвестицій.
Функція setPoolAddress дозволяє визначити на яку адресу будуть перераховуватися кошти, можливі до перерахування на поточний момент з цього контракту.
-