Реинвест и его цена.
Цикл заканчивается и останавливается. Следующий всегда открывается вашей транзакцией, и отправить её можно двумя способами. Отличаются они тем, что тратят, а не тем, что приносят.
Коротко
- compoundRewards превращает доступный баланс в новую позицию без approve и без новых USDT.
- Второй путь — новый депозит, и он стоит двух транзакций: сначала approve, потом депозит.
- Комиссия в обоих случаях 6%, и в обоих она уходит из пула, а не из позиции — та записывается полной.
- Номер плана от 0 до 3, минимум 1 USDT, на адрес допускается 400 позиций.
- Новый срок начинается с нуля и досрочного выхода не имеет, поэтому реинвест блокирует свободные деньги.
Два пути в новую позицию
compoundRewards берёт деньги, которые уже внутри контракта, — ваш доступный баланс — и открывает на них новую позицию. USDT из кошелька не уходят, approve не нужен, потому что внутрь ничего не переводится.
deposit — второй путь: новые USDT из кошелька, а значит сначала approve, затем сам депозит. Две транзакции вместо одной.
Комиссия в обоих случаях одна и та же — 6%, и в обоих она берётся из пула ликвидности, а не вычитается из позиции: позиция записывается полной суммой. Реальная разница — газ и шаг approve.
Реинвестирование
Тот же баланс, который выплатил бы вывод, направляется в новый план.
- 01
Проверить баланс
getAvailableRewards показывает сумму, доступную для реинвеста. Это та же цифра, что выплатил бы вывод, поэтому выбор стоит между «забрать» и «вернуть в работу».
- 02
Выбрать план
compoundRewards принимает сумму и номер плана: 0 — Sprint, 1 — Accelerate, 2 — Power, 3 — Ultimate. Новая позиция не связана с той, из которой пришли деньги.
- 03
Отправить одну транзакцию
Ноль в сумме реинвестирует весь доступный баланс. Контракт сначала досчитывает ваши позиции, из суммы ничего не вычитает и открывает позицию в полном размере.
- 04
Срок начинается заново
Новая позиция блокируется на свой полный срок с этого момента. Реинвест не продлевает план, а открывает ещё один — со своей датой окончания.
Лимиты
- Минимальный реинвест 1 USDT
- Реинвестировать всё amount = 0
- Номера планов от 0 до 3
- Позиций на адрес не более 400
Если транзакция откатилась
Те же именованные ошибки, что и при выводе, плюс две, которые относятся к открытию позиции.
NoRewards- Доступный баланс равен нулю. Идущий план начисляет внутрь позиции, а не в этот баланс.
BelowMinimum- Сумма меньше 1 USDT.
InvalidPlan- Номер плана вне диапазона от 0 до 3.
MaxPositions- На адресе уже 400 позиций — это предел контракта.