Запланированные переводы
Запланированный перевод — это серия платежей, заданная одной транзакцией. Плательщик подписывает один раз, а цепочка делает каждый платёж, когда наступает его срок: зарплата, подписка, содержание или вестинг гранта. Платить можно в ZBC или в любом токене.
Как задать расписание
У ScheduledTransfer (тип 29) тело в 47 байт, которое указывает:
| Поле | Значение |
|---|---|
| идентификатор токена | актив для выплаты; 0 означает ZBC |
| сумма | сумма каждого платежа |
| интервал | время между двумя платежами, в секундах |
| число платежей | от 1 до 520 |
| начальная задержка | необязательная задержка перед первым платежом |
| режим финансирования | 0 — вестинг, 1 — списание (см. ниже) |
| политика отмены | отзываемое или безотзывное |
| время окончания | необязательно |
Комиссия платится один раз, при создании расписания. Затем платежи следуют интервалу; срок каждого наступает по метке времени предыдущего блока, поэтому производитель не может поставить на свой блок метку раньше срока, чтобы втянуть в него платёж.
Два режима финансирования
- Вестинг (режим 0): вся сумма блокируется при создании расписания и выпускается по одному платежу. Получатель знает, что деньги действительно есть.
- Списание (режим 1): ничего не блокируется. Каждый платёж берётся с баланса плательщика, когда наступает его срок. После четырёх пропущенных платежей подряд расписание отменяется само.
Платежи в режиме вестинга проходят через политику разделения получателя, как любое входящее зачисление; платежи в режиме списания — нет (см. Политики разделения и транзакций).
Отмена и перенаправление
- CancelSchedule (тип 30) завершает расписание. Плательщик может отменить его, только если оно отзываемое. Получатель может отменить его в любой момент — так получатель отказывается от расписания. Когда отменяется расписание с вестингом, всё, что ещё заблокировано, возвращается плательщику.
- ReassignSchedule (тип 31) позволяет получателю перенаправить будущие платежи на другой адрес.
Политика транзакций проверяется только относительно получателя, названного в самой транзакции ScheduledTransfer, поэтому последующие платежи продолжают поступать получателю, даже если он позже откажется от платежей.
Чего расписание не делает
Расписание не ищет момент, когда в сети дёшево: его комиссия платится при создании, а платежи следуют интервалу, заданному плательщиком. Оно и не торгует: оно выплачивает названный в нём актив, а обмен одного актива на другой — работа предложений обмена и рынков.
Другие инструменты покрывают другие формы платежей. Для денег, которые должны начисляться непрерывно, минута за минутой, см. Ликвидные платежи (потоки). Для одного платежа, освобождаемого на будущей высоте блока или когда подтверждено событие, см. Триггеры и аттестации.
Если срок запланированного токена истекает, единицы, всё ещё заблокированные в расписании с вестингом, засчитываются владельцу расписания, когда обеспечение токена в ZBC распределяется (см. Содержание токена (продление)).