iotaledger / identity.rs

Implementation of the Decentralized Identity standards such as DID and Verifiable Credentials by W3C for the IOTA Tangle.
https://www.iota.org
Apache License 2.0
303 stars 87 forks source link

Pin and bump `bls12_381_plus` dependency #1378

Closed wulfraem closed 5 months ago

wulfraem commented 5 months ago

Description of change

The most recent version of bls12_381_plus introduces adds changes to type conversion that may break builds due to conflicting implementations of From trait.

error[E0119]: conflicting implementations of trait `From<bls12_381_plus::scalar::Scalar>` for type `Issuer`
  --> /home/runner/.cargo/registry/src/index.crates.io-6f17d22bba15001f/identity_credential-1.3.0/src/credential/issuer.rs:43:1
   |
43 | / impl<T> From<T> for Issuer
44 | | where
45 | |   T: Into<Url>,
   | |_______________^
   |
   = note: conflicting implementation in crate `bls12_381_plus`:
           - impl From<bls12_381_plus::scalar::Scalar> for <bls12_381_plus::scalar::Scalar as ark_ff::fields::prime::PrimeField>::BigInt;

Pinning this dependency to the previous version hotfixes build issues when used as an indirect dependency here (via zkryptium).

Version should be able to opened up in the future, but for now we should stick to the 0.8.15.

Type of change

Add an x to the boxes that are relevant to your changes.

How the change has been tested

cargo clean, deleting the Cargo.lock file, and running cargo build on the main branch produces the error described above. Doing the same on the PR's branch completes the build successfully.

Change checklist

Add an x to the boxes that are relevant to your changes.