Куда возвращаются лишние комиссии и сумма истёкшего retryable Arbitrum

У retryable разные получатели для избытка комиссии и зарезервированного call value. Проверка только плательщика родительской цепочки может создать видимость пропавшего возврата.

Декодируйте оба адреса возврата

Прочтите исходный вызов Inbox и фактические адреса дочернего сообщения. Для контрактных получателей учтите правила алиасов выбранной функции создания. Храните раздельно родительского плательщика, адрес возврата комиссий на дочерней сети и получателя зарезервированной суммы.

parent payer P
excessFeeRefundAddress E
callValueRefundAddress V

Если билет истёк без исполнения, ищите возврат зарезервированной суммы у V на дочерней цепочке. Лишние комиссии направляются по маршруту E. В этом примере ни одна роль не обязана совпадать с P.

Сверяйте суммы по фактическим переходам

Исходный депозит не обязательно возвращается целиком: часть может уйти на отправку и исполнение. Свяжите разницу балансов с ID билета, исходом исполнения или истечения и валютой. docs.arbitrum.io Arbitrum documentation