Какие пакеты 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