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

Create typescript library for checking message status #641

Closed
9 tasks
anna-carroll opened this issue Aug 25, 2021 · 5 comments
Closed
9 tasks

Create typescript library for checking message status #641

anna-carroll opened this issue Aug 25, 2021 · 5 comments
Assignees
Labels
typescript Typescript dev work required

Comments

@anna-carroll
Copy link
Contributor

anna-carroll commented Aug 25, 2021

Find Message Hashes

  • Query array of message hashes, by:
    • within a block range
    • from a sender
    • to a recipient
    • from a domain
    • to a domain
  • Transaction hash => message hash(es) in transaction
    ^^ above is tracked here: feat: OpticsMessageQuery class #828

Parse meaning from Message Hashes

@anna-carroll anna-carroll added the typescript Typescript dev work required label Aug 25, 2021
@anna-carroll anna-carroll self-assigned this Aug 25, 2021
@prestwich prestwich mentioned this issue Aug 25, 2021
4 tasks
@anna-carroll anna-carroll linked a pull request Sep 8, 2021 that will close this issue
@anna-carroll
Copy link
Contributor Author

anna-carroll commented Sep 8, 2021

Optics Messages

  • Origin chain
  • Sender
  • Destination Chain
  • Nonce
  • Recipient
  • Message Body

Bridge Messages

  • All
    • token origin domain
    • token address / ID
  • Transfer
    • Sender of tokens on origin chain
    • Recipient of tokens
    • Amount of tokens
    • Pre-fill ID (for querying liquidity provider)
    • Liquidity provider address (if applicable)
  • Details
    • Name
    • Symbol
    • Decimals
  • Request details

@anna-carroll
Copy link
Contributor Author

anna-carroll commented Sep 8, 2021

Message Status

How to determine the status of a message within the Optics system

  • Dispatched — Dispatch event on Home - get messageHash and committedRoot
  • Updated on Home — Update event on Home with oldRoot = comittedRoot
  • Update on Replica — Update event on Home with oldRoot = comittedRoot
    • pending timeout — query confirmAt on Replica for newRoot
    • Timeout finished — query confirmAt on Replica for newRoot
  • Proven — query messages on Replica to get MessageStatus (1 = Proven)
  • Processed — Process event on Replica for messageHash (success = false if call reverted)

Related: #579 (comment)

@anna-carroll
Copy link
Contributor Author

Misc. thoughts

  • determine the standard for registering and referring to different chains within the system - a meta-Optics provider where you can register multiple chains' providers to connect to multiple chains

@anna-carroll
Copy link
Contributor Author

anna-carroll commented Sep 8, 2021

Message type in library

  • messageHash
  • message (body of message)
  • committedRoot (previous committed root at the time the message was dispatched)
  • messageStatus within Optics
  • includedRoot (new root for the update in which the message was included)
  • confirmAt (time at which the message can be processed

@anna-carroll
Copy link
Contributor Author

anna-carroll commented Sep 24, 2021

Have tracked all of this work in issues within Multi-Provider epic
#815
#835
#827
#828
#832
#834

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
typescript Typescript dev work required
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant