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

Add support for extended transaction format #2177

Open
3 of 5 tasks
SupunS opened this issue Dec 2, 2022 · 1 comment
Open
3 of 5 tasks

Add support for extended transaction format #2177

SupunS opened this issue Dec 2, 2022 · 1 comment
Assignees
Labels

Comments

@SupunS
Copy link
Member

SupunS commented Dec 2, 2022

Issue To Be Solved

This issue is to track the implementation of FLIP: onflow/flips#41

Assuming the 'role block' syntax would be used, the following needs to be implemented:

  • Support parsing role blocks/declarations in the parser
    • Add a new AST node to represent role declarations
    • Update the grammar
  • Type check role declarations
    • Scoping rules would seamlessly work since it will be yet another block.
  • Interpret role block
    • Ensure order: prepare, post and other similar blocks must be executed in the same order as the role definitions.
  • Add documentation

TBD:

  • Finalize the syntax and semantics for accessing fields across roles. i.e: accessing fields belonging to role A from outside of the role A.
@SupunS SupunS added the Feature label Dec 2, 2022
@j1010001 j1010001 changed the title Add support for extended transactions Add support for extended transaction format Dec 2, 2022
@turbolent turbolent self-assigned this Jan 11, 2023
@turbolent
Copy link
Member

turbolent commented Jan 20, 2023

Support for transaction roles is done now. Remaining work is

  • Maybe add support for pre and post conditions to role blocks. This has not been decided yet, so holding off for now
  • Maybe add support for accessing the outer transaction from a role block. This has not been decided yet, so holding off for now
  • Documenting the functionality, but blocked until the FLIP has been approved

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

No branches or pull requests

2 participants