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

Adapt API between the platform-sdk and hedera.app for system transaction rafactoring #16678

Closed
4 tasks done
Tracked by #16665
mustafauzunn opened this issue Nov 20, 2024 · 0 comments
Closed
4 tasks done
Tracked by #16665
Assignees
Labels
Epic A body of work that can be broken down into specific tasks. Hedera App Issues related to Hedera App and Hedera App SPI Platform Tickets pertaining to the platform

Comments

@mustafauzunn
Copy link
Collaborator

mustafauzunn commented Nov 20, 2024

In order to support the new format of GossipEvent where transactions will be passed as repeated bytes, we need to extract the parsing of those bytes outside of the platform, so that we have a single common place for this logic. Platform has the need to keep only system transactions, which are handled there.

Good place for this logic will be inside hedera.app, where the transaction bytes will be deserialized back to proto PBJ models, which are the ones utilized by hedera.app logic. Once these PBJ models are created, hedera.app should filter all system transactions and get them back to the platform.

The current design to achieve these requirements is the following:

  1. SwirldState.preHandle and SwirldState.handleConsensusRound will be extended with a second argument, which will be a Consumer<ScopedSystemTransaction<StateSignatureTransaction>> callback
  2. Inside hedera.app when deserializing of transaction bytes occurs (which will be inside a multi-threaded context), whenever the app sees a StateSignatureTransaction , it will be added in the callback consumer
  3. Inside platform-sdk, define these consumer callbacks as input wires inside the wiring framework. This will guarantee transactions coming back from hedera.app are read in a synchronized manner.
  4. Handle the incoming system transactions as they are currently processed.

Tasks

Preview Give feedback
  1. Hedera App Platform
    mustafauzunn
  2. Hedera App Platform
    netopyr
  3. Platform
    IvanKavaldzhiev
  4. Hedera App Platform
    netopyr
@mustafauzunn mustafauzunn added the Platform Tickets pertaining to the platform label Nov 20, 2024
@IvanKavaldzhiev IvanKavaldzhiev added Hedera App Issues related to Hedera App and Hedera App SPI Epic A body of work that can be broken down into specific tasks. labels Nov 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Epic A body of work that can be broken down into specific tasks. Hedera App Issues related to Hedera App and Hedera App SPI Platform Tickets pertaining to the platform
Projects
None yet
Development

No branches or pull requests

2 participants