Describe the issue
nym-kkt 1.21.0 calls blake3's XOF through the digest::ExtendableOutput trait
imported from nym_crypto::hmac::hmac::digest. In an external consumer's graph
that import resolves to digest 0.8.1, while nym_crypto::blake3::Hasher
implements digest 0.11.3's trait. The two are semver-incompatible, so
finalize_xof_into is not visible and the crate fails to compile
(error[E0599]). The monorepo doesn't hit this because its workspace lock pins
digest to one version.
Steps to Reproduce
import nym_sdk and nym_bin_common in the same external Cargo.toml
Which area of Nym were you using?
1.21.0
Suggested fix
in nym-kkt/src/masked_byte.rs:
- use nym_crypto::{blake3, hmac::hmac::digest::ExtendableOutput};
+ use nym_crypto::blake3;
Line 40:
- hasher.finalize_xof_into(&mut output);
+ hasher.finalize_xof().fill(&mut output);
Line 69:
- t_hasher.finalize_xof_into(&mut buf);
+ t_hasher.finalize_xof().fill(&mut buf);
Describe the issue
nym-kkt 1.21.0calls blake3's XOF through thedigest::ExtendableOutputtraitimported from
nym_crypto::hmac::hmac::digest. In an external consumer's graphthat import resolves to
digest 0.8.1, whilenym_crypto::blake3::Hasherimplements
digest 0.11.3's trait. The two are semver-incompatible, sofinalize_xof_intois not visible and the crate fails to compile(error[E0599]). The monorepo doesn't hit this because its workspace lock pins
digest to one version.
Steps to Reproduce
import
nym_sdkandnym_bin_commonin the same externalCargo.tomlWhich area of Nym were you using?
1.21.0
Suggested fix
in
nym-kkt/src/masked_byte.rs:Line 40:
Line 69: