from zellic:
The escrow balance is checked using source_channel instead of dest_channel. As multiple chains are able to have the same source_channel for Astria they could be using the wrong escrow balance, or if the source_channel and dest_channel are not the same (most likely) then the funds will not be able to be transferred back -
|
let escrow_balance = state |
|
.get_ibc_channel_balance(source_channel, denom.id()) |
|
.await |
|
.context("failed to get IBC channel balance in execute_ics20_transfer")?; |
. Refs https://github.com/cosmos/ibc/blob/0238989da88e790ec4daea7214ff3521cc264137/spec/app/ics-020-fungible-token-transfer/README.md
from zellic: