-
Notifications
You must be signed in to change notification settings - Fork 75
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(sequencer)!: allow compat prefixed addresses when receiving ics20 transfers #1655
fix(sequencer)!: allow compat prefixed addresses when receiving ics20 transfers #1655
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the fix. This was an oversight.
I have changed the patch title to from feat
to fix
and adjusted the text slightly.
Before approving: note that at the moment we completely lack tests for ics20 transfers. Since you originally encountered this problem when trying to do ics20 transfers, can you confirm that these now work?
Better yet, is there a way to provide a smoke test for this? (I am happy with you doing a manual confirmation if adding smoke tests is too much of a lift).
ceac1c5
to
4cbb771
Compare
4cbb771
to
c529b33
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks good to me - don't see any downside with allowing compat addresses for incoming transfers.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Infra approval
Added a smoke test |
Summary
Support ics20 transfer from a counterparty to the astria sequencer.
Background
Currently, when performing an ics20 transfer to the Sequencer, the transfer only accepts bech32m address formats. This is inconsistent with refunding failed ics20 from Sequencer to the counterparty, where both compat (bech32) and normal (bech32m) addresses are accepted. Sequencer should accept both.
The main use case is when receiving assets from Noble (such as USDC). While Noble only enforces bech32 when handling failed ics20 transfers, this still requires ics20 transfers from Astria Sequencer to Noble to be bech32 (and not bech32m) encoded. The bech32 compatible address is hence the sender address that will be known by the counterparty/Noble, and we must allow transfers of funds back to it.
Changes
Testing
All test passes
Breaking Changelist
Related Issues
closes #1653