Skip to content
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

Asynchronous acknowledgements #480

Merged
merged 9 commits into from
Sep 13, 2020
Merged

Asynchronous acknowledgements #480

merged 9 commits into from
Sep 13, 2020

Conversation

cwgoes
Copy link
Contributor

@cwgoes cwgoes commented Sep 4, 2020

Closes #478

  • Separate keys
  • writeAcknowledgement function
  • Update ICS 18 (relayer logic)
  • Search for any lingering references to old functions
  • Read over again
  • Fix the PDF make process (somehow broken)

@cwgoes cwgoes added the tao Transport, authentication, & ordering layer. label Sep 4, 2020
@cwgoes
Copy link
Contributor Author

cwgoes commented Sep 4, 2020

.... the PDF creation issue seems to be specific to my setup, perhaps an Arch Linux upgrade issue.

@cwgoes cwgoes marked this pull request as ready for review September 7, 2020 18:22
@cwgoes
Copy link
Contributor Author

cwgoes commented Sep 7, 2020

Still trying to fix PDF creation but the spec changes are ready for review.

Copy link
Contributor

@colin-axner colin-axner left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just left some suggestions for clarity

spec/ics-004-channel-and-packet-semantics/README.md Outdated Show resolved Hide resolved
spec/ics-004-channel-and-packet-semantics/README.md Outdated Show resolved Hide resolved
spec/ics-004-channel-and-packet-semantics/README.md Outdated Show resolved Hide resolved
Co-authored-by: colin axnér <25233464+colin-axner@users.noreply.github.com>
Copy link
Contributor

@ethanfrey ethanfrey left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few questions, so I can update our IBC modules properly.

@@ -565,15 +571,14 @@ The IBC handler performs the following steps in order:
- Checks that the packet sequence is the next sequence the channel end expects to receive (for ordered channels)
- Checks that the timeout height has not yet passed
- Checks the inclusion proof of packet data commitment in the outgoing chain's state
- Sets the opaque acknowledgement value at a store path unique to the packet (if the acknowledgement is non-empty or the channel is unordered)
- Sets a store path to indicate that the packet has been received (unordered channels only)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Don't we need to set recvPacket all the time now? As we do not rely on acknowledgements?

If a synchronous acknowledgement obviates the need for recvPacket then this should specify that either acknowledgement or receipt must be written atomically with onRecv.

Or maybe you can explain why I misunderstand this.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

recvPacket always needs to be called, as usual, regardless of whether or not an acknowledgement will be written.

@cwgoes
Copy link
Contributor Author

cwgoes commented Sep 13, 2020

This build issue seems to be related to sergiocorreia/panflute#142; downgrading my pandoc for now.

@cwgoes cwgoes merged commit 5877197 into master Sep 13, 2020
@cwgoes cwgoes deleted the cwgoes/async-acks branch September 13, 2020 17:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
tao Transport, authentication, & ordering layer.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Specification changes for asynchronous acknowledgements
4 participants