diff --git a/Cargo.lock b/Cargo.lock index 7154eec31..0f94c3f5a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -193,9 +193,9 @@ dependencies = [ [[package]] name = "ark-bls12-381" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c775f0d12169cba7aae4caeb547bb6a50781c7449a8aa53793827c9ec4abf488" +checksum = "3df4dcc01ff89867cd86b0da835f23c3f02738353aaee7dde7495af71363b8d5" dependencies = [ "ark-ec", "ark-ff", @@ -205,105 +205,112 @@ dependencies = [ [[package]] name = "ark-ec" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +checksum = "43d68f2d516162846c1238e755a7c4d131b892b70cc70c471a8e3ca3ed818fce" dependencies = [ + "ahash 0.8.8", "ark-ff", "ark-poly", "ark-serialize", "ark-std", - "derivative", - "hashbrown 0.13.2", - "itertools 0.10.5", + "educe", + "fnv", + "hashbrown 0.15.5", + "itertools 0.13.0", + "num-bigint", + "num-integer", "num-traits", "zeroize", ] [[package]] name = "ark-ff" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +checksum = "a177aba0ed1e0fbb62aa9f6d0502e9b46dad8c2eab04c14258a1212d2557ea70" dependencies = [ "ark-ff-asm", "ark-ff-macros", "ark-serialize", "ark-std", - "derivative", + "arrayvec 0.7.4", "digest 0.10.7", - "itertools 0.10.5", + "educe", + "itertools 0.13.0", "num-bigint", "num-traits", "paste", - "rustc_version", "zeroize", ] [[package]] name = "ark-ff-asm" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +checksum = "62945a2f7e6de02a31fe400aa489f0e0f5b2502e69f95f853adb82a96c7a6b60" dependencies = [ "quote", - "syn 1.0.109", + "syn 2.0.107", ] [[package]] name = "ark-ff-macros" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +checksum = "09be120733ee33f7693ceaa202ca41accd5653b779563608f1234f78ae07c4b3" dependencies = [ "num-bigint", "num-traits", "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.107", ] [[package]] name = "ark-poly" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +checksum = "579305839da207f02b89cd1679e50e67b4331e2f9294a57693e5051b7703fe27" dependencies = [ + "ahash 0.8.8", "ark-ff", "ark-serialize", "ark-std", - "derivative", - "hashbrown 0.13.2", + "educe", + "fnv", + "hashbrown 0.15.5", ] [[package]] name = "ark-serialize" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +checksum = "3f4d068aaf107ebcd7dfb52bc748f8030e0fc930ac8e360146ca54c1203088f7" dependencies = [ "ark-serialize-derive", "ark-std", + "arrayvec 0.7.4", "digest 0.10.7", "num-bigint", ] [[package]] name = "ark-serialize-derive" -version = "0.4.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +checksum = "213888f660fddcca0d257e88e54ac05bca01885f258ccdf695bafd77031bb69d" dependencies = [ "proc-macro2", "quote", - "syn 1.0.109", + "syn 2.0.107", ] [[package]] name = "ark-std" -version = "0.4.0" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +checksum = "246a225cc6131e9ee4f24619af0f19d67761fff15d7ccc22e42b80846e69449a" dependencies = [ "num-traits", "rand 0.8.5", @@ -1694,17 +1701,6 @@ dependencies = [ "powerfmt", ] -[[package]] -name = "derivative" -version = "2.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" -dependencies = [ - "proc-macro2", - "quote", - "syn 1.0.109", -] - [[package]] name = "derive-syn-parse" version = "0.1.5" @@ -1959,6 +1955,18 @@ dependencies = [ "zeroize", ] +[[package]] +name = "educe" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1d7bc049e1bd8cdeb31b68bbd586a9464ecf9f3944af3958a7a9d0f8b9799417" +dependencies = [ + "enum-ordinalize", + "proc-macro2", + "quote", + "syn 2.0.107", +] + [[package]] name = "eip191-crypto" version = "0.1.0" @@ -2078,6 +2086,26 @@ dependencies = [ "syn 1.0.109", ] +[[package]] +name = "enum-ordinalize" +version = "4.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fea0dcfa4e54eeb516fe454635a95753ddd39acda650ce703031c6973e315dd5" +dependencies = [ + "enum-ordinalize-derive", +] + +[[package]] +name = "enum-ordinalize-derive" +version = "4.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0d28318a75d4aead5c4db25382e8ef717932d0346600cacae6357eb5941bc5ff" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.107", +] + [[package]] name = "env_logger" version = "0.10.2" @@ -3428,6 +3456,15 @@ dependencies = [ "allocator-api2", ] +[[package]] +name = "hashbrown" +version = "0.15.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9229cfe53dfd69f0609a49f65461bd93001ea1ef889cd5529dd176593f5338a1" +dependencies = [ + "allocator-api2", +] + [[package]] name = "hashlink" version = "0.8.4" @@ -3878,7 +3915,7 @@ dependencies = [ "httpdate", "itoa", "pin-project-lite 0.2.13", - "socket2 0.4.10", + "socket2 0.5.5", "tokio", "tower-service", "tracing", @@ -4178,6 +4215,15 @@ dependencies = [ "either", ] +[[package]] +name = "itertools" +version = "0.13.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "413ee7dfc52ee1a4949ceeb7dbc8a33f2d6c088194d9f922fb8318faf1f01186" +dependencies = [ + "either", +] + [[package]] name = "itoa" version = "1.0.10" @@ -5696,7 +5742,7 @@ version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "77e878c846a8abae00dd069496dbe8751b16ac1c3d6bd2a7283a938e8228f90d" dependencies = [ - "proc-macro-crate 1.1.3", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", "syn 2.0.107", @@ -11249,7 +11295,7 @@ checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675" dependencies = [ "cfg-if", "digest 0.10.7", - "rand 0.7.3", + "rand 0.8.5", "static_assertions", ] diff --git a/Cargo.toml b/Cargo.toml index 4bd25a221..1ef712362 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,10 +9,10 @@ ignored = ["codec", "scale-info", "num_enum"] # Crates.io deps. anyhow = { version = "1", default-features = false } -ark-bls12-381 = { version = "0.4", default-features = false, features = ["curve"] } -ark-ec = { version = "0.4", default-features = false } -ark-ff = { version = "0.4", default-features = false } -ark-std = { version = "0.4", default-features = false } +ark-bls12-381 = { version = "0.5", default-features = false, features = ["curve"] } +ark-ec = { version = "0.5", default-features = false } +ark-ff = { version = "0.5", default-features = false } +ark-std = { version = "0.5", default-features = false } assert_matches = { version = "1.5", default-features = false } async-trait = { version = "0.1", default-features = false } bip32 = { version = "0.5.3", default-features = false } diff --git a/crates/precompile-bls12381/src/lib.rs b/crates/precompile-bls12381/src/lib.rs index 68ff3de74..d292cb32c 100644 --- a/crates/precompile-bls12381/src/lib.rs +++ b/crates/precompile-bls12381/src/lib.rs @@ -140,14 +140,14 @@ fn read_fq2(input: &[u8], offset: usize) -> Result { /// A helper function to map `Fq` to `G1Affine`. fn map_to_curve_g1(fq: Fq) -> Result { - let m2c = WBMap::::new()?; - m2c.map_to_curve(fq) + WBMap::::check_parameters()?; + WBMap::::map_to_curve(fq) } /// A helper function to map `Fq` to `G2Affine`. fn map_to_curve_g2(fq2: Fq2) -> Result { - let m2c = WBMap::::new()?; - m2c.map_to_curve(fq2) + WBMap::::check_parameters()?; + WBMap::::map_to_curve(fq2) } /// Decode G1 given encoded (x, y) coordinates in 128 bytes returns a valid G1 Point. diff --git a/utils/checks/snapshots/features.yaml b/utils/checks/snapshots/features.yaml index 53f1de4a6..73530d85b 100644 --- a/utils/checks/snapshots/features.yaml +++ b/utils/checks/snapshots/features.yaml @@ -67,32 +67,31 @@ - std - name: approx 0.5.1 features: [] -- name: ark-bls12-381 0.4.0 +- name: ark-bls12-381 0.5.0 features: - curve - scalar_field - std -- name: ark-ec 0.4.2 +- name: ark-ec 0.5.0 features: - - default - std -- name: ark-ff 0.4.2 +- name: ark-ff 0.5.0 features: - std -- name: ark-ff-asm 0.4.2 +- name: ark-ff-asm 0.5.0 features: [] -- name: ark-ff-macros 0.4.2 +- name: ark-ff-macros 0.5.0 features: [] -- name: ark-poly 0.4.2 +- name: ark-poly 0.5.0 features: [] -- name: ark-serialize 0.4.2 +- name: ark-serialize 0.5.0 features: - ark-serialize-derive - derive - std -- name: ark-serialize-derive 0.4.2 +- name: ark-serialize-derive 0.5.0 features: [] -- name: ark-std 0.4.0 +- name: ark-std 0.5.0 features: - std - name: array-bytes 4.2.0 @@ -584,9 +583,6 @@ - alloc - powerfmt - std -- name: derivative 2.2.0 - features: - - use_core - name: derive-syn-parse 0.1.5 features: [] - name: derive_more 1.0.0 @@ -679,6 +675,21 @@ - name: ed25519-zebra 3.1.0 features: - std +- name: educe 0.6.0 + features: + - Clone + - Copy + - Debug + - Default + - Deref + - DerefMut + - Eq + - Hash + - Into + - Ord + - PartialEq + - PartialOrd + - default - name: eip191-crypto 0.1.0 features: - default @@ -726,6 +737,11 @@ - default - name: enum-as-inner 0.5.1 features: [] +- name: enum-ordinalize 4.3.0 + features: + - derive +- name: enum-ordinalize-derive 4.3.1 + features: [] - name: env_logger 0.10.2 features: - auto-color @@ -1192,6 +1208,10 @@ - default - inline-more - raw +- name: hashbrown 0.15.5 + features: + - allocator-api2 + - inline-more - name: hashlink 0.8.4 features: [] - name: headers 0.3.9 @@ -1368,6 +1388,10 @@ - default - use_alloc - use_std +- name: itertools 0.13.0 + features: + - use_alloc + - use_std - name: itoa 1.0.10 features: [] - name: jobserver 0.1.32