…9 behaviour
dig-mirror-coin 0.8.0 made `declared_peer` a required field of
`MirrorAdvertisement`. Passing `None` reproduces exactly what 0.7 wrote --
that version had no declared_peer concept -- so the dependency bump changes
nothing about the coins this node creates.
The crate made the field required specifically so a consumer cannot inherit
one silently, so the choice is recorded at the call site rather than defaulted.
Binding this collateral to the node's own DIG peer id is dig-node#473, which
owns that decision and the `build_create` signature change it needs.
Co-Authored-By: Claude <noreply@anthropic.com>
Closes #418
Closes #357
Closes #308
What this is
A freshness audit of
dig-node-service(#418) that also measures #357 and #308 as already satisfied onorigin/main. Two real drifts found and bumped; the rest of the family is current, and the residual lock incoherence is proven to be owed by upstream crates that are themselves already at their latest published version.The two real bumps
dig-node-control-interfacedig-mirror-coindig-node-control-interfaceis declared in bothdig-node-serviceanddig-wallet; both moved together, because a workspace shares one lock and a one-sided bump resolves two lines while cargo prints success.Both new versions were checked from the sparse index for their own
chia-*declarations before bumping.dig-mirror-coin0.9.0 declares exactly what 0.7.0 declared (chia-protocol ^0.36.1, chia-sdk-driver ^0.36.0, clvmr ^0.16.2, …), so neither bump can split the chia set.#357 and #308 were already satisfied
Both tickets describe
dig-walletstate that no longer exists. Measured onorigin/main@04079d5:crates/dig-wallet/Cargo.toml)chia = "0.26"umbrella, must be replaced with facade crateschia =declaration remainschia-protocol = "0.26"-> 0.36.1chia-protocol = "0.36.1"(:29)chia-wallet-sdk = "0.30"-> 0.34chia-wallet-sdk = "0.36.0"(:54) — past the ticket's target, at the ceilingclvmr = "0.14"clvmr = "0.16.2"(:57)chia-traits/chia-sha20.260.36.1(:173, :199)chia-sdk-test = "0.30"-> 0.34chia-sdk-test = "0.36.0"(:208)chia-query0.6.2 -> 0.16chia-query = "0.20.0"(:112)dig-node-control-interface0.19 -> 0.210.30, now0.31(:67)dig-offers0.2 -> 0.3dig-offers = "0.3"(:81)dig-clvm0.2 -> 0.3dig-clvm = "0.4"(:135)#308's stated target is itself stale. It asks for chia-wallet-sdk 0.34; the ceiling is now 0.36.0, and dig-wallet is already on it.
chia-sdk-driver/chia-sdk-typestop out at 0.36.0 while chia-bls/protocol sit at 0.36.1 — that asymmetry is the real ceiling, not a drift.The
dig-gossipgit carve-out — measured, not skippeddig-node-corepinsdig-gossipby git rev1a339166. The registry check cannot see it (the crate is unpublished — a permanent carve-out, dig_ecosystem#2647), so it was compared against the repo instead:The pinned rev IS
main's tip. Zero drift.dig-ipc-protocolis deliberately NOT bumpeddig-node-core:153declaresdig-ipc-protocol = "=0.3.0"while 0.3.1 is published. That exact pin is intentional and documented in place: the crate reaches the IPC surface, so a caret would let a wire-shape change arrive without a PR (the dig-node#369 gate). Bumping it is a reviewed decision, not a freshness chore. Stated rather than silently skipped.What is NOT fixed here, and why it cannot be
The lock carries 21 gating split families, and this PR does not close them, because dig-node has no lever on any of them. Every relevant dig-node declaration is already at its latest published version. Traced from
Cargo.lock:One edge, three hops above anything dig-node declares, roots the entire old chia line.
dig-merkle 0.4.5->chia-wallet-sdk 0.30.0is the single root;dig-store 0.5.1+dig-merkle 0.4.5likewise root thedig-chainsource-interface 0.1.0split.Same shape for
dig-constants, which resolves to three lines (0.10.1, 0.11.2, 0.13.0) — the exact failure that crate exists to prevent, happening inside one binary:dig-clvm 0.4.0dig-download 0.22.0,dig-nat 0.21.0,dig-tips 0.3.0,dig-wallet-backend 0.31.0,digstore-chain§2.4b is satisfied at dig-node's manifests and the lock is still incoherent, because the drift lives inside already-published upstream crates. The remedy is a release-first cascade owed by other repos (
dig-store-cache->dig-store->dig-merkle; and five separate crates re-releasing ondig-constants0.13), not an edit dig-node can make. Bridging it with a[patch]would be the byte-drift class §4.1 exists to prevent. Reported, not shimmed — filed as a named child rather than let the cascade dwarf this change.Verification
User-Agent, never from memory or a manifest comment.chia-*declarations read from the index before bumping, to prove neither introduces a split.cargo tree -ddeliberately not used as a gate —chia-bls/chia-traits/clvm-traits/chia_streamable_macroduplicate viaclvmr/chialispupstream and reach no DIG public signature; those four are excluded by root, not by name.