Какие пакеты IBC ещё нужно доставить

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

Запросите известные номера у получателя

В DST укажите TLS gRPC с reflection на принимающей цепочке. Подставьте номера незакрытых обязательств на источнике и используйте порт и канал стороны назначения.

grpcurl -d '{"portId":"transfer","channelId":"channel-19","packetCommitmentSequences":["8","9","10"]}' "$DST" ibc.core.channel.v1.Query/UnreceivedPackets

Для неупорядоченного канала ответ только с 9 на список 8, 9, 10 означает, что на высоте запроса у получателя нет квитанции для 9. Для 8 и 10 причину незакрытого обязательства следует искать отдельно в обратном подтверждении.

Сохраните контекст пакета и тайм-аута

Запишите идентификаторы каналов с обеих сторон, номер пакета и высоту запроса. Перед ретрансляцией проверьте сроки пакета и состояние клиента. Этот запрос отбирает кандидатов и не возвращает необходимые для отправки данные пакета и доказательство. github.com ibc-go Query API