Когда разрешать ликвидацию в L2 после перезапуска секвенсора

Сразу после восстановления роллапа ценовой фид уже может вернуть свежее значение. Однако пользователи, потерявшие возможность отправлять транзакции, могли ещё не успеть пополнить залог.

Сначала прочитайте состояние секвенсора

Для поддерживаемой сети запросите её собственный фид доступности секвенсора. Нулевой ответ означает, что секвенсор работает. Поле startedAt указывает начало этого состояния. В примере переход уже проверен, а льготный период приложения равен часу: через 59 секунд операция запрещена, через 3601 секунду разрешена.

const resumedAt = 1_800_000_000;
const mayResume = (answer, now) => answer === 0 && now - resumedAt > 3600;
console.log(mayResume(0, resumedAt + 59), mayResume(0, resumedAt + 3601));

Примените обе проверки при выполнении операции

При остановленном секвенсоре заблокируйте операцию. Отдельно обработайте неинициализированное или неправдоподобное время перехода. По окончании льготного периода проверьте свежесть и допустимость самой цены. Работоспособность секвенсора ничего не говорит о возрасте котировки. Для граничного момента воспроизведите в тесте тот же оператор сравнения, что и в контракте.

docs.chain.link L2 Sequencer Uptime Feeds