Ликвидные платежи (потоки)
Ликвидный платёж передаёт деньги от плательщика получателю потоком в течение выбранного числа минут. Вся сумма блокируется в начале и равномерно начисляется по мере того, как идёт время, поэтому получатель видит, что деньги на месте, а плательщик платит только за то время, которое действительно прошло. Ликвидные платежи подходят для поминутной оплаты услуг, оплаты смены или аренды.
Запуск потока
Транзакция LiquidPayment (тип 6) называет получателя, сумму и complete_minutes — длительность потока в минутах. Она может передавать потоком токен вместо ZBC, если указать идентификатор токена. Когда блок её включает:
- сумма сразу уходит с баланса плательщика и блокируется;
- она равномерно начисляется в течение указанных минут;
- когда время истекает, цепочка сама выплачивает получателю всю сумму, без какой-либо дополнительной транзакции.
Завершение проверяется блок за блоком по метке времени предыдущего блока, поэтому производитель не может поставить на блок метку раньше срока, чтобы приблизить итоговую выплату (см. Срок действия и метки времени).
Остановка потока
Любая сторона может досрочно завершить поток транзакцией LiquidPaymentStop (тип 262). Тогда цепочка делит сумму по времени, прошедшему между метками времени двух транзакций: получатель получает начисленную часть, а остальное возвращается плательщику. Доля получателя округляется вверх до следующей атомарной единицы, так что округление никогда не обделяет получателя.
Ни одна из сторон не может взять больше, чем позволяют часы. Плательщик не может забрать то, что уже начислено, а получатель не может взять то, что ещё не начислено.
Вместе с другими возможностями
- Политики разделения. Выплаты потока — это входящие зачисления, поэтому они проходят через политику разделения получателя (см. Политики разделения и транзакций).
- Политики транзакций. Политика транзакций проверяется только относительно получателя, названного в самой транзакции LiquidPayment. Выплаты потока продолжают поступать получателю, даже если он позже откажется от платежей.
- Потоки токенов. Если срок токена, передаваемого потоком, истекает, его обеспечение в ZBC делится между держателями, а единицы в потоке засчитываются каждой стороне по тому, сколько уже начислено (см. Содержание токена (продление)).
Поток платит один раз, непрерывно, в течение своих минут. Для серии отдельных платежей, например ежемесячного содержания, используйте запланированные переводы; для одного платежа на будущей высоте блока или после события — триггеры.