Куда возвращаются лишние комиссии и сумма истёкшего retryable Arbitrum
У retryable разные получатели для избытка комиссии и зарезервированного call value. Проверка только плательщика родительской цепочки может создать видимость пропавшего возврата.
Декодируйте оба адреса возврата
Прочтите исходный вызов Inbox и фактические адреса дочернего сообщения. Для контрактных получателей учтите правила алиасов выбранной функции создания. Храните раздельно родительского плательщика, адрес возврата комиссий на дочерней сети и получателя зарезервированной суммы.
parent payer P
excessFeeRefundAddress E
callValueRefundAddress V
Если билет истёк без исполнения, ищите возврат зарезервированной суммы у V на дочерней цепочке. Лишние комиссии направляются по маршруту E. В этом примере ни одна роль не обязана совпадать с P.
Сверяйте суммы по фактическим переходам
Исходный депозит не обязательно возвращается целиком: часть может уйти на отправку и исполнение. Свяжите разницу балансов с ID билета, исходом исполнения или истечения и валютой. docs.arbitrum.io Arbitrum documentation