Как выбрать нужный лог L2→L1 ZKsync для доказательства
Одна транзакция ZKsync может содержать обычные EVM-логи и несколько протокольных логов L2→L1. Запрос доказательства выбирает протокольный лог в рамках указанной транзакции.
Изучите список протокольных логов
Откройте квитанцию и перечислите L2-to-L1 logs. Найдите запись ожидаемого отправителя и сообщения приложения. Для второго протокольного лога передайте индекс один вместе с реальным хешем транзакции, как в примере вызова.
zks_getL2ToL1LogProof(transactionHash, 1)
Сохраните элементы пути Merkle, корень и ID доказательства. Обычный logIndex события Transfer токена ERC-20 относится к другой коллекции и не заменяет выбор протокольного сообщения.
Проверьте требуемую стадию расчёта
По документации этот RPC формирует доказательство после исполнения соответствующего пакета на L1. У только что включённой L2-транзакции отсутствие доказательства не обязательно означает потерю данных сообщения. Сверьте стадию пакета и используйте проверяющий контракт нужной версии моста. docs.zksync.io ZKsync documentation