jubjub 0.4.0

This commit is contained in:
Jack Grigg 2020-08-22 11:48:19 +01:00
parent 5f99c52143
commit d112add8a3
6 changed files with 34 additions and 9 deletions

View File

@ -10,7 +10,7 @@ homepage = "https://github.com/zkcrypto/jubjub"
license = "MIT/Apache-2.0"
name = "jubjub"
repository = "https://github.com/zkcrypto/jubjub"
version = "0.3.0"
version = "0.4.0"
edition = "2018"
[dependencies.bls12_381]
@ -43,10 +43,6 @@ default-features = false
[dev-dependencies]
criterion = "0.3"
[dev-dependencies.rand_core]
version = "0.5"
default-features = false
[dev-dependencies.rand_xorshift]
version = "0.2"
default-features = false

View File

@ -1,3 +1,32 @@
# 0.4.0
This release adds implementations of the `ff` and `group` traits. Additional trait
implementations (for standard traits) have been added where the `ff` and `group` trait
bounds require them.
## Added
* `jubjub::SubgroupPoint`, which represents an element of Jubjub's prime-order subgroup.
It implements the following traits:
* `group::{Group, GroupEncoding}`
* `group::prime::PrimeGroup`
* New trait implementations for `jubjub::ExtendedPoint`:
* `group::{Curve, Group, GroupEncoding, WnafGroup}`
* `group::cofactor::{CofactorCurve, CofactorGroup}`
* New trait implementations for `jubjub::AffinePoint`:
* `group::GroupEncoding`
* `group::cofactor::CofactorCurveAffine`
* New trait implementations for `jubjub::Fr`:
* `ff::{Field, PrimeField}`
* `jubjub::AffinePoint::is_identity`
* `jubjub::AffinePoint::to_extended`
* `jubjub::Scalar`, as an alias for `jubjub::Fr`.
## Changed
* We've migrated to `bls12_381 0.2`.
* `rand_core` is now a regular dependency.
* We depend on the `byteorder` crate again, as it is part of the `ff::PrimeField` trait.
* The benchmarks are now implemented using `criterion`.
# 0.3.0
This release now depends on the `bls12_381` crate, which exposes the `Fq` field type that we re-export.

View File

@ -18,7 +18,7 @@ bs58 = { version = "0.3", features = ["check"] }
ff = { version = "0.7", path = "../ff" }
group = { version = "0.7", path = "../group" }
hex = "0.4"
jubjub = { version = "0.3", path = "../jubjub" }
jubjub = { version = "0.4", path = "../jubjub" }
protobuf = "=2.14.0" # 2.15 has MSRV of 1.44.1
subtle = "2"
zcash_primitives = { version = "0.2", path = "../zcash_primitives" }

View File

@ -16,7 +16,7 @@ bech32 = "0.7"
bs58 = { version = "0.3", features = ["check"] }
ff = { version = "0.7", path = "../ff" }
group = { version = "0.7", path = "../group" }
jubjub = { version = "0.3", path = "../jubjub" }
jubjub = { version = "0.4", path = "../jubjub" }
protobuf = "2"
rand_core = "0.5.1"
rusqlite = { version = "0.23", features = ["bundled"] }

View File

@ -26,7 +26,7 @@ ff = { version = "0.7", path = "../ff" }
fpe = "0.3"
group = { version = "0.7", path = "../group" }
hex = "0.4"
jubjub = { version = "0.3", path = "../jubjub" }
jubjub = { version = "0.4", path = "../jubjub" }
lazy_static = "1"
log = "0.4"
rand = "0.7"

View File

@ -22,7 +22,7 @@ byteorder = "1"
directories = { version = "3", optional = true }
ff = { version = "0.7", path = "../ff" }
group = { version = "0.7", path = "../group" }
jubjub = { version = "0.3", path = "../jubjub" }
jubjub = { version = "0.4", path = "../jubjub" }
lazy_static = "1"
minreq = { version = "2", features = ["https"], optional = true }
rand_core = "0.5.1"