Skip to content

T7 — Remove onContextUpdate and migrated state fields from BlockNodeContext/BlockNodeApp #3034

@berryware

Description

@berryware

Task

Remove onContextUpdate and the migrated state fields from the core app/SPI once all consumers are migrated. (Prereq: T6.)

This is the breaking cleanup that completes the facility → plugin conversion.

Scope

  • BlockNodePlugin: remove the onContextUpdate(BlockNodeContext) default method.
  • BlockNodeContext (spi-plugins): remove the fields now owned by the plugin — applicationStateFacility, tssData, nodeAddressBook, storedBlocks, availableBlocks — and the corresponding Builder mutators (tssData, nodeAddressBook, storedBlocks, availableBlocks). (Leave blockNodeVersions/ServerStatusPlugin ownership to its own effort unless trivially coupled.)
  • BlockNodeApp: drop implements ApplicationStateFacility; remove startApplicationStateFacility / stopApplicationStateFacility / checkForApplicationStateUpdates / updateBlockNodeContext and the staging fields and scan executor; remove the updateTssData / updateAddressBook / addStoredBlockRange / addAvailableBlockRange implementations (now in the plugin).
  • Remove the now-unused ApplicationStateConfig registration from BlockNodeApp (moved to the plugin in T2).

Acceptance

  • BlockNodeContext carries only infrastructure concerns (configuration, metricRegistry, serviceLoader, threadPoolManager, and remaining infra facilities) per design §BlockNodeContext.
  • No reference to onContextUpdate remains anywhere in the codebase.
  • Node builds and starts; init()/start()/stop() lifecycle unaffected for other plugins.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Block NodeIssues/PR related to the Block Node.

    Type

    No fields configured for Task.

    Projects

    Status
    🧊 Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions