Skip to content

Add nexus-proofs as an optional dependency of core - #221

Merged
Marketen merged 1 commit into
masterfrom
marc/nexus-proofs-optional
Sep 15, 2026
Merged

Marketen merged 1 commit into
masterfrom
marc/nexus-proofs-optional

Conversation

@Marketen

Copy link
Copy Markdown
Contributor

Adds nexus-proofs.dnp.dappnode.eth 0.1.0 to optionalDependencies, and a nexus_proofs input to the release workflow so its pin is bumped like the other core packages.

How optional dependencies behave

When the dappmanager resolves core, DappGetFetcher.dependencies in the installer package adds an optional dependency to the dependency set only if that package is already installed on the node:

  • Nodes without Nexus Proofs: the entry is ignored. Core updates never install it, and bumping its pin does nothing for these nodes.
  • Nodes with Nexus Proofs: it is treated as a normal dependency. A core update that bumps the pin updates it.

The ISO installer (dappnode_install.sh) uses a hardcoded package list, so fresh installs do not get Nexus Proofs either.

Things to know

  • 0.1.0 is the latest version in the registry and is signed by the dnp key.
  • Keep the pin at or above what nodes run. The core resolver refuses to downgrade an installed package. If a node runs a newer Nexus Proofs than core pins, core resolution fails with ErrorDappGetDowngrade and getCoreUpdateData reports no core update for that node. Nexus Proofs is not in the dappmanager's corePackagesNotAutoupdatable, so it can also update on its own (per-package auto-update or the store). Bump this pin whenever Nexus Proofs is released.
  • workflow_dispatch now has 10 inputs, which is GitHub's limit. Adding another core package to this workflow will require restructuring it, for example by passing all versions in one JSON input.
  • This PR does not bump core's version. The Main workflow does that when it publishes.

🤖 Generated with Claude Code

Nexus Proofs is a dncore package that not every node has. Listing it under
optionalDependencies means a core update only moves it to the pinned version
on nodes that already have it installed; nodes without it are unaffected.

The release workflow gets a nexus_proofs input so the pin is bumped the same
way as the other core packages. That brings workflow_dispatch to 10 inputs,
which is GitHub's limit.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@Marketen
Marketen requested a review from a team as a code owner September 15, 2026 14:13
@Marketen
Marketen merged commit b8cec07 into master Sep 15, 2026
4 checks passed
@Marketen
Marketen deleted the marc/nexus-proofs-optional branch September 15, 2026 14:15
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.

1 participant