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

Update transaction-lifecycle.md #1277

Merged
merged 3 commits into from Feb 17, 2023
Merged

Update transaction-lifecycle.md #1277

merged 3 commits into from Feb 17, 2023

Conversation

laynelafrance
Copy link
Member

initial draft for tx lifecycle

Input needed from:

Closes: slack discussion

Description


For contributor use:

  • Targeted PR against master branch
  • Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
  • Updated relevant documentation
  • Re-reviewed Files changed in the Github PR explorer
  • Added appropriate labels

laynelafrance and others added 3 commits February 13, 2023 14:53
initial draft for tx lifecycle

Input needed from: 
* protocol team on`Validation` `clustering` `verification` and `sealing` sections cc @franklywatson
* FVM team on `Execution` and `computation` cc @fotescodev @ramtinms
missed fixing one nodes url
@laynelafrance
Copy link
Member Author

@janezpodhostnik are you able to jump in from an FVM perspective on the computation and execution sections above?

Copy link
Contributor

@franklywatson franklywatson left a comment

Choose a reason for hiding this comment

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

Minor typos

[GetTransactionResult](/nodes/access-api#gettransaction): an execution node is requested for events for the transaction and the transaction status is derived as follows:
* If the collection containing the transaction and the block containing that collection is found locally, but the transaction has expired then its status is returned as `expired`.
* If either the collection or the block is not found locally, but the transaction has not expired, then its status is returned as `pending`
If the transaction has neither expired nor is it pending, but the execution node has not yet executed the transaction, then the status of the transaction is returned as `finalized`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
If the transaction has neither expired nor is it pending, but the execution node has not yet executed the transaction, then the status of the transaction is returned as `finalized`.
* If the transaction has neither expired nor is it pending, but the execution node has not yet executed the transaction, then the status of the transaction is returned as `finalized`.

* If the collection containing the transaction and the block containing that collection is found locally, but the transaction has expired then its status is returned as `expired`.
* If either the collection or the block is not found locally, but the transaction has not expired, then its status is returned as `pending`
If the transaction has neither expired nor is it pending, but the execution node has not yet executed the transaction, then the status of the transaction is returned as `finalized`.
* If the execution node has executed the transaction, then if the height of the block containing the transaction is greater than the highest sealed block, then the status of the transaction is returned as `executed` else it is returned as `sealed`.
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
* If the execution node has executed the transaction, then if the height of the block containing the transaction is greater than the highest sealed block, then the status of the transaction is returned as `executed` else it is returned as `sealed`.
* If the execution node has executed the transaction, and if the height of the block containing the transaction is greater than the highest sealed block, then the status of the transaction is returned as `executed` else it is returned as `sealed`.

@janezpodhostnik
Copy link
Contributor

@laynelafrance I can take a look later this week

@laynelafrance laynelafrance merged commit fe10c73 into master Feb 17, 2023
@laynelafrance laynelafrance deleted the laynelafrance-patch-3 branch February 17, 2023 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants