Skip to content
This repository has been archived by the owner on Feb 23, 2024. It is now read-only.

[v6] Refactor to use packet metadata instead of overloaded receiver #39

Merged
merged 1 commit into from
Nov 14, 2022

Conversation

agouin
Copy link
Member

@agouin agouin commented Nov 8, 2022

Cherry-pick of #36 into main

* Refactor to use packet metadata instead of overloaded receiver
* Bring in PacketMetadata wrapper type. Unwrap next metadata for multihop. Fix existing tests. Add multihop test
* Better validation of port and channel. Use string for next memo
* Pass sequence in refund transfers for multi-hop refunds
* Move denom unwrapping into function and use for refund
* Flip order of src/dst for ack/timeout refunds
* Don't unwrap tokens for timeout/ack case
* Break out inFlightPacket fetching from RefundForwardedPacket for clarity
* Add debug logs
* Add RefundDenom to InFlightPacket
* Add more debug logs around denom. Use refund denom for ack/timeout refunds
* Use non-hashed denoms on timeout/ack. If this works, we can remove RefundDenom
* Parse denoms at every step
* For timeout/ack, try to resolve IBC denom
* Fix flipped OnRecvPacket/OnTimeout denom handling
* Add more debug logs
* Don't remove from store on successful ack for now
* Remove RefundDenom
* Don't write acknowledgements until forwarded packet returns ack. Proxy acks back to source chain.
* Populate inFlightPacket
* do not call upstream OnAcknowledgementPacket or OnTimeoutPacket when handling a forwarded packet response to stop refund processing.
* Fix timeout retry
* Burn escrowed funds or transfer to other escrow account on refund.
@agouin agouin merged commit a2395f0 into main Nov 14, 2022
@agouin agouin deleted the andrew/refactor_to_packet_metadata_v6 branch November 14, 2022 15:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant