Skip to content

feat: Persist and expose TssData#2492

Open
berryware wants to merge 15 commits intohiero-ledger:mainfrom
berryware:2297-persist-expose-tss-data
Open

feat: Persist and expose TssData#2492
berryware wants to merge 15 commits intohiero-ledger:mainfrom
berryware:2297-persist-expose-tss-data

Conversation

@berryware
Copy link
Copy Markdown
Contributor

@berryware berryware commented Apr 1, 2026

Reviewer Notes

  • add interface ApplicationStateFacility
  • modify BlockNodePlugin.init() to accept an ApplicationStateFacility
  • modify BlockNodeApp to implement ApplicationStateFacility
  • update all the tests with the new init() parameter
  • add TssBootstrapConfig
  • have the BlockNodeApp call onContextUpdate for all plugins when it receives a call to updateTssData

Related Issue(s)

Closes #2297
Closes #2298
Closes #1947

@berryware berryware self-assigned this Apr 1, 2026
@berryware berryware added Block Node Issues/PR related to the Block Node. Block Node API Issues and other items related to the API definition for the Block Node. labels Apr 1, 2026
@berryware berryware added this to the 0.31.0 milestone Apr 1, 2026
@codacy-production
Copy link
Copy Markdown

codacy-production bot commented Apr 1, 2026

Up to standards ✅

🟢 Issues 0 issues

Results:
0 new issues

View in Codacy

🟢 Metrics 0 complexity · 10 duplication

Metric Results
Complexity 0
Duplication 10

View in Codacy

TIP This summary will be updated as you push new changes. Give us feedback

@berryware berryware force-pushed the 2297-persist-expose-tss-data branch 3 times, most recently from 041d220 to 020f8bc Compare April 1, 2026 18:59
@berryware berryware force-pushed the 2297-persist-expose-tss-data branch 2 times, most recently from 72efadd to 7b06a44 Compare April 9, 2026 20:29
- implement the interface on BlockNodeApp
- add ApplicationStateFacility to the init() call on BlockNodePlugin
- modify the tests to use the new init parameter.
- have the BlockNodeApp call onContextUpdate for all plugins when it receives a call to updateTssData

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>

# Conflicts:
#	block-node/app/src/main/java/org/hiero/block/node/app/BlockNodeApp.java
#	block-node/app/src/testFixtures/java/org/hiero/block/node/app/fixtures/plugintest/PluginTestBase.java
#	block-node/block-access-service/src/main/java/org/hiero/block/node/access/service/BlockAccessServicePlugin.java
#	block-node/facility-messaging/src/main/java/org/hiero/block/node/messaging/BlockMessagingFacilityImpl.java
#	block-node/facility-messaging/src/test/java/org/hiero/block/server/messaging/BlockItemTest.java
#	block-node/facility-messaging/src/test/java/org/hiero/block/server/messaging/BlockNotificationTest.java
#	block-node/facility-messaging/src/test/java/org/hiero/block/server/messaging/DynamicBlockItemTest.java
#	block-node/facility-messaging/src/test/java/org/hiero/block/server/messaging/FacilityExceptionTest.java
#	block-node/facility-messaging/src/test/java/org/hiero/block/server/messaging/TestConfig.java
#	block-node/stream-publisher/src/test/java/org/hiero/block/node/stream/publisher/LiveStreamPublisherManagerTest.java

# Conflicts:
#	block-node/server-status/src/test/java/org/hiero/block/node/server/status/ServerStatusDetailServicePluginTest.java
#	block-node/spi-plugins/src/test/java/org/hiero/block/node/spi/BlockNodePluginTest.java

# Conflicts:
#	block-node/blocks-file-recent/src/main/java/org/hiero/block/node/blocks/files/recent/BlockFileRecentPlugin.java
- add interface ApplicationStateFacility
- modify BlockNodePlugin.init() to accept an ApplicationStateFacility
- modify BlockNodeApp to implement ApplicationStateFacility
- modify BlockNodeApp to update all the plugins when TssData is received
- update all the tests with the new init() parameter
- add TssBootstrapConfig

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
- add tests to TssBootstrapPluginTest to test the loading of TssData from TssBootstrapConfig

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
- add new fields to the tests

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
- uodated some tests

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
- get BlockFileRecentPlugin compiling again

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
…h plugin. Don't add until it is used.

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
- add tests for onUpdateContextUpdate

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
- load the persisted data before initializing the plugins
- perist the TssData when updateTssData is called

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
- update the java docs

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
@berryware berryware force-pushed the 2297-persist-expose-tss-data branch from 0c275dd to d1b3e6c Compare April 10, 2026 16:19
____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
…sData

____________________________________________________________________
Signed-off-by: berryware <231598+berryware@users.noreply.github.com>
@berryware berryware marked this pull request as ready for review April 10, 2026 18:32
@berryware berryware requested review from a team as code owners April 10, 2026 18:32
@berryware berryware requested a review from AlfredoG87 April 10, 2026 18:32
@codecov
Copy link
Copy Markdown

codecov bot commented Apr 10, 2026

Codecov Report

❌ Patch coverage is 89.61039% with 8 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
...in/java/org/hiero/block/node/app/BlockNodeApp.java 85.71% 6 Missing ⚠️
...o/block/node/tss/bootstrap/TssBootstrapPlugin.java 93.54% 0 Missing and 2 partials ⚠️
@@             Coverage Diff              @@
##               main    #2492      +/-   ##
============================================
+ Coverage     81.27%   81.39%   +0.12%     
- Complexity     1512     1522      +10     
============================================
  Files           139      141       +2     
  Lines          7131     7204      +73     
  Branches        754      758       +4     
============================================
+ Hits           5796     5864      +68     
- Misses         1010     1014       +4     
- Partials        325      326       +1     
Files with missing lines Coverage Δ Complexity Δ
...g/hiero/block/node/app/config/node/NodeConfig.java 100.00% <100.00%> (ø) 1.00 <1.00> (ø)
.../org/hiero/block/node/backfill/BackfillPlugin.java 81.67% <ø> (ø) 41.00 <0.00> (ø)
.../node/access/service/BlockAccessServicePlugin.java 83.56% <ø> (ø) 13.00 <0.00> (ø)
...blocks/files/historic/BlockFileHistoricPlugin.java 72.20% <ø> (ø) 32.00 <0.00> (ø)
...ode/blocks/files/recent/BlockFileRecentPlugin.java 68.05% <ø> (ø) 24.00 <0.00> (ø)
...ock/node/messaging/BlockMessagingFacilityImpl.java 83.39% <ø> (ø) 43.00 <0.00> (ø)
...g/hiero/block/node/health/HealthServicePlugin.java 72.00% <ø> (ø) 6.00 <0.00> (ø)
...g/hiero/block/node/archive/s3/S3ArchivePlugin.java 72.53% <ø> (ø) 16.00 <0.00> (ø)
.../node/server/status/ServerStatusServicePlugin.java 100.00% <ø> (ø) 8.00 <0.00> (ø)
...hiero/block/node/spi/ApplicationStateFacility.java 100.00% <100.00%> (ø) 1.00 <1.00> (?)
... and 8 more

... and 2 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Block Node API Issues and other items related to the API definition for the Block Node. Block Node Issues/PR related to the Block Node.

Projects

None yet

1 participant