diff --git a/Cargo.lock b/Cargo.lock index cab4661c..4aa27419 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2880,9 +2880,9 @@ dependencies = [ [[package]] name = "dig-mirror-coin" -version = "0.7.0" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f53968cacd4bbb5be4540aab0940b24a70e73b0b26f05cdfca9c8ccc6778e053" +checksum = "2ac3c72506f13eef2cd6dccce66fd715191e2fc7b751f3b682332d92bf545812" dependencies = [ "chia-bls 0.36.1", "chia-protocol 0.36.1", @@ -3031,7 +3031,7 @@ dependencies = [ [[package]] name = "dig-node-service" -version = "0.252.20" +version = "0.252.40" dependencies = [ "async-trait", "axum", diff --git a/Cargo.toml b/Cargo.toml index 9a3a164e..9e4f6030 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -32,7 +32,7 @@ edition = "2021" # the ROOT manifest (`[workspace.package].version`), so it MUST be set here for a # release to fire (§3.6). The library crates (dig-node-core/dig-runtime/dig-wallet) # keep their own independent versions — only the released binary tracks the workspace version. -version = "0.252.20" +version = "0.252.40" # Release hardening, matching digstore: keep integer-overflow checks ON in release. # The node parses untrusted serialized input and does offset/length arithmetic over diff --git a/crates/dig-node-service/Cargo.toml b/crates/dig-node-service/Cargo.toml index b70ed5d9..726e465f 100644 --- a/crates/dig-node-service/Cargo.toml +++ b/crates/dig-node-service/Cargo.toml @@ -107,7 +107,7 @@ dig-mirror-collateral = "0.3" # The chain half of the same model: `census` counts the collateralised network at a block height # and hands `dig-mirror-collateral` the three integers its controller consumes (dig-node#400). # Without it a node could only ever record epoch 1, which is derivable from nothing. -dig-mirror-coin = "0.7" +dig-mirror-coin = "0.9" # The canonical `ChainSource` trait `dig-mirror-coin`'s census is generic over. Declared, not # implemented: `chia-query` already provides the implementation this node uses @@ -120,7 +120,7 @@ dig-chainsource-interface = "0.3" # `build_reclaim` pass them straight through. They were dev-dependencies while the module was # unwired; a public signature cannot be spelled in a dev-dependency. # -# The whole chia set moves TOGETHER and every version here is the one `dig-mirror-coin` 0.7 and +# The whole chia set moves TOGETHER and every version here is the one `dig-mirror-coin` 0.9 and # `dig-wallet` compile against. A crate split across two chia lines compiles until something # crosses a public signature -- which is exactly what these four do -- and then the `Bytes32` the # builder wants is a different type from the one the caller holds. @@ -337,7 +337,7 @@ chia-protocol = "0.36.1" # hand-written `CoinRecord` cannot exercise the authentication path the census runs, so the probe # would assert its property against a fixture that could not exhibit it. # -# Every version here is the one `dig-mirror-coin` 0.7 itself compiles against, and the whole set +# Every version here is the one `dig-mirror-coin` 0.9 itself compiles against, and the whole set # moves together: the chia ceiling is not one number, and a crate split across two chia lines # compiles only until something crosses a public signature. chia-puzzle-types = "0.36.1" diff --git a/crates/dig-node-service/src/mirror/spends.rs b/crates/dig-node-service/src/mirror/spends.rs index bf58dbc4..f1bef2db 100644 --- a/crates/dig-node-service/src/mirror/spends.rs +++ b/crates/dig-node-service/src/mirror/spends.rs @@ -182,6 +182,13 @@ pub fn build_create( root_hash, epoch: epoch.clone(), urls, + // No peer declaration: this reproduces exactly what dig-mirror-coin 0.7 wrote, which + // had no declared_peer concept at all, so the bump changes nothing about the coins this + // node creates. It is a deliberate choice rather than a default -- the crate made the + // field required precisely so a consumer cannot inherit one silently. Binding this + // collateral to the node's own DIG peer id is dig-node#473, which owns that decision and + // the signature change it needs. + declared_peer: None, collateral: collateral_dig_base_units, }, dig_coins,