ing-bank/threshold-signatures

Unable to build due to dependency on yanked crypto-mac version

bholzman opened this issue · 7 comments

(venv) MacBook-Pro:threshold-signatures bholzman$ cargo build
Updating crates.io index
Updating git repository https://github.com/RustMania/rust-paillier
Updating git repository https://github.com/vnermolaev/trace.git
error: failed to select a version for the requirement crypto-mac = "^0.7"
candidate versions found which didn't match: 0.11.1, 0.11.0, 0.10.1, ...
location searched: crates.io index
required by package hmac v0.7.1
... which is depended on by curv-kzen v0.2.8
... which is depended on by ecdsa-mpc v0.3.0 (/Users/bholzman/dev/threshold-signatures)

I tried upgrading the curv-kzen version, but in the next higher version (0.6.1) there's no support for either the ec_secp256k1 or ecc feature as specified in the Cargo.toml.

Any ideas?

Hi @bholzman, curv v0.6.1 supports secp256k1, you don't need to specify feature for that. Upgrading to v0.6 should be pretty simple, you need to replace all imports use curv::{GE, FE} with use curv::elliptic::curves::secp256k1::{GE, FE}.

However, updating to v0.6 won't resolve the issue — it still depends on hmac v0.7.1 that depends on yanked version of crypto-mac. We're going to bump dependency in the latest version of curv — ZenGo-X/curv#132

Thanks, Denis! Could you mention, please, whether I need to bump/port to curv 0.6 or higher?

@RustMania I've fixed hmac issue only for the latest version of curv v0.8.0-rc3 (just published it). It would be perfect if you updated to the latest version of curv. Crates get yanked pretty often, it's not easy to backport fixes to the older versions. If you'll have any issues with upgrading, feel free to reach me with any questions!

FYI, I tried building master on ubuntu 20.04, and got the same error:

parallels@parallels-Parallels-Virtual-Platform:~/threshold-signatures$ cargo build
    Updating crates.io index
    Updating git repository `https://github.com/RustMania/rust-paillier`
    Updating git repository `https://github.com/vnermolaev/trace.git`
error: failed to select a version for the requirement `crypto-mac = "^0.7"`
candidate versions found which didn't match: 0.11.1, 0.11.0, 0.10.1, ...
location searched: crates.io index
required by package `hmac v0.7.1`
    ... which is depended on by `curv-kzen v0.2.8`
    ... which is depended on by `ecdsa-mpc v0.3.0 (/home/parallels/threshold-signatures)`

Hi, any update on this issue?

Hmm, actually this problem seems to have been fixed somewhere else, as I can now build just fine. Closing this ticket.