Noble enforces addresses in fungible packet messages to be bech32 encoded, failing a transfer otherwise.
This assertion held in as far as all IBC chains were Cosmos-derived, which uses bech32 addresses. However, with non-Cosmos IBC chains that make use of bech32m addresses like Penumbra (and now Astria) this check needs to be worked around by providing a compatibility layer at least until noble relaxes their checks.
Noble rejecting non-bech32 addresses: https://github.com/circlefin/noble-fiattokenfactory/blob/738932cb316d06f587c49dfb11a50515cce657d9/x/fiattokenfactory/ante.go#L204-L206
Fix by penumbra: https://github.com/penumbra-zone/penumbra/pull/4787/files
Penumbra discussion of the issue: https://forum.penumbra.zone/t/usdc-withdrawal-issues-and-proposed-fix/53
Unmerged fix into
┆Issue Number: ENG-745
Noble enforces addresses in fungible packet messages to be bech32 encoded, failing a transfer otherwise.
This assertion held in as far as all IBC chains were Cosmos-derived, which uses bech32 addresses. However, with non-Cosmos IBC chains that make use of bech32m addresses like Penumbra (and now Astria) this check needs to be worked around by providing a compatibility layer at least until noble relaxes their checks.
Noble rejecting non-bech32 addresses: https://github.com/circlefin/noble-fiattokenfactory/blob/738932cb316d06f587c49dfb11a50515cce657d9/x/fiattokenfactory/ante.go#L204-L206
Fix by penumbra: https://github.com/penumbra-zone/penumbra/pull/4787/files
Penumbra discussion of the issue: https://forum.penumbra.zone/t/usdc-withdrawal-issues-and-proposed-fix/53
Unmerged fix into
┆Issue Number: ENG-745