From 18a2e650c3dc5cd1f4e7d9b72825cd869828b239 Mon Sep 17 00:00:00 2001 From: Jack Nelson Date: Wed, 10 Jul 2024 01:01:03 -0400 Subject: [PATCH 1/6] prep for new ver --- crates/chia-consensus/fuzz/fuzz_targets/merkle-set.rs | 4 ++-- crates/chia-consensus/src/gen/coin_id.rs | 4 ++-- crates/chia-consensus/src/gen/conditions.rs | 8 ++++---- .../chia-consensus/src/gen/get_puzzle_and_solution.rs | 4 ++-- crates/chia-consensus/src/merkle_set.rs | 10 +++++----- crates/chia-consensus/src/merkle_tree.rs | 4 ++-- crates/clvm-utils/src/tree_hash.rs | 6 +++--- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/crates/chia-consensus/fuzz/fuzz_targets/merkle-set.rs b/crates/chia-consensus/fuzz/fuzz_targets/merkle-set.rs index b93201654..d68d276f8 100644 --- a/crates/chia-consensus/fuzz/fuzz_targets/merkle-set.rs +++ b/crates/chia-consensus/fuzz/fuzz_targets/merkle-set.rs @@ -1,6 +1,6 @@ #![no_main] use chia_consensus::merkle_tree::{validate_merkle_proof, MerkleSet}; -use clvmr::sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; use libfuzzer_sys::fuzz_target; fuzz_target!(|data: &[u8]| { @@ -19,7 +19,7 @@ fuzz_target!(|data: &[u8]| { // proofs-of-exclusion let mut hasher = Sha256::new(); hasher.update(data); - leafs.push(hasher.finalize().into()); + leafs.push(hasher.finalize()); for (idx, item) in leafs.iter().enumerate() { let expect_included = idx < num_leafs; diff --git a/crates/chia-consensus/src/gen/coin_id.rs b/crates/chia-consensus/src/gen/coin_id.rs index 5e75fdca7..7b09e84f1 100644 --- a/crates/chia-consensus/src/gen/coin_id.rs +++ b/crates/chia-consensus/src/gen/coin_id.rs @@ -1,6 +1,6 @@ use chia_protocol::Bytes32; use clvmr::allocator::{Allocator, NodePtr}; -use clvmr::sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; pub fn compute_coin_id( a: &Allocator, @@ -12,7 +12,7 @@ pub fn compute_coin_id( hasher.update(a.atom(parent_id)); hasher.update(a.atom(puzzle_hash)); hasher.update(amount); - let coin_id: [u8; 32] = hasher.finalize().into(); + let coin_id: [u8; 32] = hasher.finalize(); coin_id.into() } diff --git a/crates/chia-consensus/src/gen/conditions.rs b/crates/chia-consensus/src/gen/conditions.rs index 26c9de5a2..9bdabdbec 100644 --- a/crates/chia-consensus/src/gen/conditions.rs +++ b/crates/chia-consensus/src/gen/conditions.rs @@ -25,7 +25,7 @@ use chia_bls::PublicKey; use chia_protocol::Bytes32; use clvmr::allocator::{Allocator, NodePtr, SExp}; use clvmr::cost::Cost; -use clvmr::sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; use std::cmp::{max, min}; use std::collections::{HashMap, HashSet}; use std::hash::{Hash, Hasher}; @@ -1369,7 +1369,7 @@ pub fn validate_conditions( let mut hasher = Sha256::new(); hasher.update(*coin_id); hasher.update(a.atom(announce)); - let announcement_id: [u8; 32] = hasher.finalize().into(); + let announcement_id: [u8; 32] = hasher.finalize(); announcements.insert(announcement_id.into()); } @@ -1412,7 +1412,7 @@ pub fn validate_conditions( let mut hasher = Sha256::new(); hasher.update(a.atom(puzzle_hash)); hasher.update(a.atom(announce)); - let announcement_id: [u8; 32] = hasher.finalize().into(); + let announcement_id: [u8; 32] = hasher.finalize(); announcements.insert(announcement_id.into()); } @@ -1556,7 +1556,7 @@ fn test_coin_id(parent_id: &[u8; 32], puzzle_hash: &[u8; 32], amount: u64) -> By hasher.update(puzzle_hash); let buf = u64_to_bytes(amount); hasher.update(&buf); - let coin_id: [u8; 32] = hasher.finalize().into(); + let coin_id: [u8; 32] = hasher.finalize(); coin_id.into() } diff --git a/crates/chia-consensus/src/gen/get_puzzle_and_solution.rs b/crates/chia-consensus/src/gen/get_puzzle_and_solution.rs index bac6e161c..7776164e5 100644 --- a/crates/chia-consensus/src/gen/get_puzzle_and_solution.rs +++ b/crates/chia-consensus/src/gen/get_puzzle_and_solution.rs @@ -71,13 +71,13 @@ fn u64_to_bytes(n: u64) -> Vec { } #[cfg(test)] -use clvmr::sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; #[cfg(test)] fn make_dummy_id(seed: u64) -> Bytes32 { let mut sha256 = Sha256::new(); sha256.update(seed.to_be_bytes()); - let id: [u8; 32] = sha256.finalize().into(); + let id: [u8; 32] = sha256.finalize(); id.into() } diff --git a/crates/chia-consensus/src/merkle_set.rs b/crates/chia-consensus/src/merkle_set.rs index 91146c151..fd8135440 100644 --- a/crates/chia-consensus/src/merkle_set.rs +++ b/crates/chia-consensus/src/merkle_set.rs @@ -1,4 +1,4 @@ -use clvmr::sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; use hex_literal::hex; fn get_bit(val: &[u8; 32], bit: u8) -> u8 { @@ -39,7 +39,7 @@ pub(crate) fn hash( hasher.update([encode_type(ltype), encode_type(rtype)]); hasher.update(left); hasher.update(right); - hasher.finalize().into() + hasher.finalize() } pub(crate) const BLANK: [u8; 32] = @@ -167,7 +167,7 @@ pub fn compute_merkle_set_root(leafs: &mut [[u8; 32]]) -> [u8; 32] { let mut hasher = Sha256::new(); hasher.update([NodeType::Term as u8]); hasher.update(hash); - hasher.finalize().into() + hasher.finalize() } (hash, NodeType::Mid | NodeType::MidDbl) => hash, (_, NodeType::Empty) => panic!("unexpected"), @@ -182,7 +182,7 @@ pub mod test { let mut hasher = Sha256::new(); hasher.update(buf1); hasher.update(buf2); - hasher.finalize().into() + hasher.finalize() } const PREFIX: [u8; 30] = hex!("000000000000000000000000000000000000000000000000000000000000"); @@ -193,7 +193,7 @@ pub mod test { hasher.update(buf1); hasher.update(buf2); hasher.update(buf3); - hasher.finalize().into() + hasher.finalize() } #[test] diff --git a/crates/chia-consensus/src/merkle_tree.rs b/crates/chia-consensus/src/merkle_tree.rs index f8acb9714..1533c8141 100644 --- a/crates/chia-consensus/src/merkle_tree.rs +++ b/crates/chia-consensus/src/merkle_tree.rs @@ -7,7 +7,7 @@ use hex_literal::hex; use chia_protocol::Bytes32; #[cfg(feature = "py-bindings")] use chia_traits::ChiaToPython; -use clvmr::sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; #[cfg(feature = "py-bindings")] use pyo3::exceptions::PyValueError; #[cfg(feature = "py-bindings")] @@ -388,7 +388,7 @@ fn hash_leaf(leaf: &[u8; 32]) -> [u8; 32] { let mut hasher = Sha256::new(); hasher.update([NodeType::Term as u8]); hasher.update(leaf); - hasher.finalize().into() + hasher.finalize() } impl MerkleSet { diff --git a/crates/clvm-utils/src/tree_hash.rs b/crates/clvm-utils/src/tree_hash.rs index f040b18dd..df9e12038 100644 --- a/crates/clvm-utils/src/tree_hash.rs +++ b/crates/clvm-utils/src/tree_hash.rs @@ -1,6 +1,6 @@ use clvmr::allocator::{Allocator, NodePtr, SExp}; use clvmr::serde::node_from_bytes_backrefs_record; -use clvmr::sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; use std::collections::{HashMap, HashSet}; use std::ops::Deref; use std::{fmt, io}; @@ -70,7 +70,7 @@ pub fn tree_hash_atom(bytes: &[u8]) -> TreeHash { let mut sha256 = Sha256::new(); sha256.update([1]); sha256.update(bytes); - TreeHash::new(sha256.finalize().into()) + TreeHash::new(sha256.finalize()) } pub fn tree_hash_pair(first: TreeHash, rest: TreeHash) -> TreeHash { @@ -78,7 +78,7 @@ pub fn tree_hash_pair(first: TreeHash, rest: TreeHash) -> TreeHash { sha256.update([2]); sha256.update(first); sha256.update(rest); - TreeHash::new(sha256.finalize().into()) + TreeHash::new(sha256.finalize()) } pub fn tree_hash(a: &Allocator, node: NodePtr) -> TreeHash { From 40117cb58e86767857605db0f8ffe4ce81bab24b Mon Sep 17 00:00:00 2001 From: Jack Nelson Date: Wed, 10 Jul 2024 17:28:17 -0400 Subject: [PATCH 2/6] move other deps towards clvmr module --- Cargo.lock | 105 +++++------------- Cargo.toml | 2 +- crates/chia-bls/Cargo.toml | 3 +- crates/chia-bls/src/bls_cache.rs | 8 +- crates/chia-bls/src/gtelement.rs | 2 +- crates/chia-bls/src/public_key.rs | 6 +- crates/chia-bls/src/secret_key.rs | 8 +- crates/chia-bls/src/signature.rs | 2 +- crates/chia-consensus/Cargo.toml | 1 - crates/chia-protocol/Cargo.toml | 1 - crates/chia-protocol/fuzz/Cargo.toml | 1 - .../fuzz/fuzz_targets/streamable.rs | 4 +- crates/chia-protocol/src/bytes.rs | 2 +- crates/chia-protocol/src/coin.rs | 2 +- crates/chia-protocol/src/program.rs | 2 +- crates/chia-puzzles/Cargo.toml | 1 - crates/chia-puzzles/src/derive_synthetic.rs | 5 +- crates/chia-traits/Cargo.toml | 2 +- crates/chia-traits/src/streamable.rs | 4 +- crates/chia_py_streamable_macro/src/lib.rs | 4 +- crates/chia_streamable_macro/Cargo.toml | 1 + crates/chia_streamable_macro/src/lib.rs | 8 +- wheel/Cargo.toml | 2 +- 23 files changed, 64 insertions(+), 112 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 279a2c036..03088f258 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -292,37 +292,37 @@ dependencies = [ [[package]] name = "chia-bls" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cbbce0107fa3911890f1a204a147c6d07116687658a6af95690e64fc21ff782" +version = "0.10.0" dependencies = [ "anyhow", "arbitrary", "blst", - "chia-traits 0.3.3", + "chia-traits 0.10.0", + "chia_py_streamable_macro", + "clvmr", + "criterion", "hex", "hkdf", + "lru", + "pyo3", + "rand", + "rstest", "sha2", "thiserror", - "tiny-bip39", ] [[package]] name = "chia-bls" version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "725b43b268cb81f014559eed11a74d0e5b9dd55282cae272ff509796099ab0b9" dependencies = [ "anyhow", - "arbitrary", "blst", - "chia-traits 0.10.0", - "chia_py_streamable_macro", - "criterion", + "chia-traits 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex", "hkdf", "lru", - "pyo3", - "rand", - "rstest", "sha2", "thiserror", ] @@ -370,7 +370,6 @@ dependencies = [ "pyo3", "rand", "rstest", - "sha2", "text-diff", "thiserror", ] @@ -404,7 +403,6 @@ dependencies = [ "hex", "pyo3", "rstest", - "sha2", ] [[package]] @@ -418,7 +416,6 @@ dependencies = [ "clvmr", "hex", "libfuzzer-sys", - "sha2", ] [[package]] @@ -434,7 +431,6 @@ dependencies = [ "hex", "hex-literal", "num-bigint", - "sha2", ] [[package]] @@ -482,22 +478,21 @@ dependencies = [ [[package]] name = "chia-traits" -version = "0.3.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fe532ed59df94db00cc1fb85edc3c4dd7287d0590eefb356d960671b93081334" +version = "0.10.0" dependencies = [ - "chia_streamable_macro 0.3.0", - "hex", - "sha2", + "chia_streamable_macro 0.10.0", + "clvmr", + "pyo3", "thiserror", ] [[package]] name = "chia-traits" version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1fb786114e5c748fe0af3ba1e95840fa1910b28f7300c05184506045aff60bb6" dependencies = [ - "chia_streamable_macro 0.10.0", - "pyo3", + "chia_streamable_macro 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "sha2", "thiserror", ] @@ -527,15 +522,13 @@ dependencies = [ "clvmr", "hex", "pyo3", - "sha2", ] [[package]] name = "chia_streamable_macro" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "342cdb29dd8c1214d60fac24100ab1567756270710e93336db910a531fe8a264" +version = "0.10.0" dependencies = [ + "clvmr", "proc-macro-crate", "proc-macro2", "quote", @@ -545,6 +538,8 @@ dependencies = [ [[package]] name = "chia_streamable_macro" version = "0.10.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "43975e01fb4293021af4950366a6f80c45d7301d499622359c7533bd7af19592" dependencies = [ "proc-macro-crate", "proc-macro2", @@ -681,11 +676,11 @@ dependencies = [ [[package]] name = "clvmr" -version = "0.7.0" +version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4b05784a842671ccedbefb0e3dabab7d0eb3411395f5182a4c68722a5284591" +checksum = "903233f3bc9392b44a589f0cea46a53a67fedc3afb4b1303f636977074a505c5" dependencies = [ - "chia-bls 0.4.0", + "chia-bls 0.10.0 (registry+https://github.com/rust-lang/crates.io-index)", "hex-literal", "k256", "lazy_static", @@ -1317,11 +1312,11 @@ dependencies = [ [[package]] name = "lazy_static" -version = "1.4.0" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" +checksum = "bbd2bcb4c963f2ddae06a2efc7e9f3591312473c50c6685e1f298068316e66fe" dependencies = [ - "spin 0.5.2", + "spin", ] [[package]] @@ -1573,15 +1568,6 @@ dependencies = [ "windows-targets 0.48.5", ] -[[package]] -name = "pbkdf2" -version = "0.11.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" -dependencies = [ - "digest", -] - [[package]] name = "pem" version = "3.0.4" @@ -1916,7 +1902,7 @@ dependencies = [ "cfg-if", "getrandom", "libc", - "spin 0.9.8", + "spin", "untrusted", "windows-sys", ] @@ -1987,12 +1973,6 @@ version = "0.1.23" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" -[[package]] -name = "rustc-hash" -version = "1.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" - [[package]] name = "rustc_version" version = "0.4.0" @@ -2146,12 +2126,6 @@ dependencies = [ "windows-sys", ] -[[package]] -name = "spin" -version = "0.5.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6e63cff320ae2c57904679ba7cb63280a3dc4613885beafb148ee7bf9aa9042d" - [[package]] name = "spin" version = "0.9.8" @@ -2299,25 +2273,6 @@ dependencies = [ "time-core", ] -[[package]] -name = "tiny-bip39" -version = "1.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62cc94d358b5a1e84a5cb9109f559aa3c4d634d2b1b4de3d0fa4adc7c78e2861" -dependencies = [ - "anyhow", - "hmac", - "once_cell", - "pbkdf2", - "rand", - "rustc-hash", - "sha2", - "thiserror", - "unicode-normalization", - "wasm-bindgen", - "zeroize", -] - [[package]] name = "tinytemplate" version = "1.2.1" diff --git a/Cargo.toml b/Cargo.toml index 1d2cfdd23..eba7d9a80 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -101,7 +101,7 @@ clvm-utils = { path = "./crates/clvm-utils", version = "0.10.0" } clvm-derive = { path = "./crates/clvm-derive", version = "0.10.0" } chia-fuzz = { path = "./crates/chia-consensus/fuzz", version = "0.10.0" } blst = { version = "0.3.12", features = ["portable"] } -clvmr = "0.7.0" +clvmr = "0.8.0" syn = "2.0.72" quote = "1.0.32" proc-macro2 = "1.0.84" diff --git a/crates/chia-bls/Cargo.toml b/crates/chia-bls/Cargo.toml index 8bb42ce23..a11f0e812 100644 --- a/crates/chia-bls/Cargo.toml +++ b/crates/chia-bls/Cargo.toml @@ -19,7 +19,7 @@ arbitrary = ["dep:arbitrary"] chia-traits = { workspace = true } chia_py_streamable_macro = { workspace = true, optional = true } anyhow = { workspace = true } -sha2 = { workspace = true } +clvmr = { workspace = true } hkdf = { workspace = true } blst = { workspace = true } hex = { workspace = true } @@ -27,6 +27,7 @@ thiserror = { workspace = true } pyo3 = { workspace = true, features = ["multiple-pymethods"], optional = true } arbitrary = { workspace = true, optional = true } lru = { workspace = true } +sha2 = { workspace = true } [dev-dependencies] rand = { workspace = true } diff --git a/crates/chia-bls/src/bls_cache.rs b/crates/chia-bls/src/bls_cache.rs index 38e255c63..79154d651 100644 --- a/crates/chia-bls/src/bls_cache.rs +++ b/crates/chia-bls/src/bls_cache.rs @@ -2,7 +2,7 @@ use std::borrow::Borrow; use std::num::NonZeroUsize; use lru::LruCache; -use sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; use crate::{aggregate_verify_gt, hash_to_g2}; use crate::{GTElement, PublicKey, Signature}; @@ -55,7 +55,7 @@ impl BlsCache { let mut hasher = Sha256::new(); hasher.update(pk.borrow().to_bytes()); hasher.update(msg.as_ref()); - let hash: [u8; 32] = hasher.finalize().into(); + let hash: [u8; 32] = hasher.finalize(); // If the pairing is in the cache, we don't need to recalculate it. if let Some(pairing) = self.cache.get(&hash).cloned() { @@ -69,7 +69,7 @@ impl BlsCache { let mut hasher = Sha256::new(); hasher.update(&aug_msg); - let hash: [u8; 32] = hasher.finalize().into(); + let hash: [u8; 32] = hasher.finalize(); let pairing = aug_hash.pair(pk.borrow()); self.cache.put(hash, pairing.clone()); @@ -272,7 +272,7 @@ pub mod tests { let mut hasher = Sha256::new(); hasher.update(aug_msg); - let hash: [u8; 32] = hasher.finalize().into(); + let hash: [u8; 32] = hasher.finalize(); // The first key should have been removed, since it's the oldest that's been accessed. assert!(!bls_cache.cache.contains(&hash)); diff --git a/crates/chia-bls/src/gtelement.rs b/crates/chia-bls/src/gtelement.rs index 2375d2540..1451d173a 100644 --- a/crates/chia-bls/src/gtelement.rs +++ b/crates/chia-bls/src/gtelement.rs @@ -1,7 +1,7 @@ use blst::*; use chia_traits::chia_error::Result; use chia_traits::{read_bytes, Streamable}; -use sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; use std::fmt; use std::hash::{Hash, Hasher}; use std::io::Cursor; diff --git a/crates/chia-bls/src/public_key.rs b/crates/chia-bls/src/public_key.rs index 909bff79a..c0e164c61 100644 --- a/crates/chia-bls/src/public_key.rs +++ b/crates/chia-bls/src/public_key.rs @@ -3,7 +3,7 @@ use crate::{DerivableKey, Error, Result}; use blst::*; use chia_traits::{read_bytes, Streamable}; -use sha2::{digest::FixedOutput, Digest, Sha256}; +use clvmr::sha2::Sha256; use std::fmt; use std::hash::{Hash, Hasher}; use std::io::Cursor; @@ -143,7 +143,7 @@ impl PublicKey { pub fn get_fingerprint(&self) -> u32 { let mut hasher = Sha256::new(); hasher.update(self.to_bytes()); - let hash: [u8; 32] = hasher.finalize_fixed().into(); + let hash: [u8; 32] = hasher.finalize(); u32::from_be_bytes(hash[0..4].try_into().unwrap()) } } @@ -252,7 +252,7 @@ impl DerivableKey for PublicKey { let mut hasher = Sha256::new(); hasher.update(self.to_bytes()); hasher.update(idx.to_be_bytes()); - let digest: [u8; 32] = hasher.finalize_fixed().into(); + let digest: [u8; 32] = hasher.finalize(); let p1 = unsafe { let mut nonce = MaybeUninit::::uninit(); diff --git a/crates/chia-bls/src/secret_key.rs b/crates/chia-bls/src/secret_key.rs index 182933d8d..31368b206 100644 --- a/crates/chia-bls/src/secret_key.rs +++ b/crates/chia-bls/src/secret_key.rs @@ -1,8 +1,8 @@ use crate::{DerivableKey, Error, PublicKey, Result}; use blst::*; use chia_traits::{read_bytes, Streamable}; +use clvmr::sha2::Sha256; use hkdf::HkdfExtract; -use sha2::{Digest, Sha256}; use std::fmt; use std::hash::{Hash, Hasher}; use std::io::Cursor; @@ -35,7 +35,7 @@ fn flip_bits(input: [u8; 32]) -> [u8; 32] { } fn ikm_to_lamport_sk(ikm: &[u8; 32], salt: [u8; 4]) -> [u8; 255 * 32] { - let mut extracter = HkdfExtract::::new(Some(&salt)); + let mut extracter = HkdfExtract::::new(Some(&salt)); extracter.input_ikm(ikm); let (_, h) = extracter.finalize(); @@ -63,13 +63,13 @@ fn to_lamport_pk(ikm: [u8; 32], idx: u32) -> [u8; 32] { let mut hasher = Sha256::new(); hasher.update(lamport0); hasher.update(lamport1); - hasher.finalize().into() + hasher.finalize() } fn sha256(bytes: &[u8]) -> [u8; 32] { let mut hasher = Sha256::new(); hasher.update(bytes); - hasher.finalize().into() + hasher.finalize() } pub fn is_all_zero(buf: &[u8]) -> bool { diff --git a/crates/chia-bls/src/signature.rs b/crates/chia-bls/src/signature.rs index 2031757a0..879200e98 100644 --- a/crates/chia-bls/src/signature.rs +++ b/crates/chia-bls/src/signature.rs @@ -1,7 +1,7 @@ use crate::{Error, GTElement, PublicKey, Result, SecretKey}; use blst::*; use chia_traits::{read_bytes, Streamable}; -use sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; use std::borrow::Borrow; use std::fmt; use std::hash::{Hash, Hasher}; diff --git a/crates/chia-consensus/Cargo.toml b/crates/chia-consensus/Cargo.toml index 825dc1a31..ad16371a8 100644 --- a/crates/chia-consensus/Cargo.toml +++ b/crates/chia-consensus/Cargo.toml @@ -18,7 +18,6 @@ py-bindings = ["dep:pyo3", "dep:chia_py_streamable_macro"] clvmr = { workspace = true } hex = { workspace = true } pyo3 = { workspace = true, optional = true } -sha2 = { workspace = true } chia_streamable_macro = { workspace = true } chia_py_streamable_macro = { workspace = true, optional = true } clvm-utils = { workspace = true } diff --git a/crates/chia-protocol/Cargo.toml b/crates/chia-protocol/Cargo.toml index 4fa62f1b6..66d038bad 100644 --- a/crates/chia-protocol/Cargo.toml +++ b/crates/chia-protocol/Cargo.toml @@ -17,7 +17,6 @@ arbitrary = ["dep:arbitrary", "chia-bls/arbitrary"] [dependencies] pyo3 = { workspace = true, features = ["multiple-pymethods", "num-bigint"], optional = true } -sha2 = { workspace = true } hex = { workspace = true } chia_streamable_macro = { workspace = true } chia_py_streamable_macro = { workspace = true, optional = true } diff --git a/crates/chia-protocol/fuzz/Cargo.toml b/crates/chia-protocol/fuzz/Cargo.toml index a94d0f4f4..60d4e094b 100644 --- a/crates/chia-protocol/fuzz/Cargo.toml +++ b/crates/chia-protocol/fuzz/Cargo.toml @@ -18,7 +18,6 @@ chia-traits = { workspace = true } clvm-traits = { workspace = true } chia-protocol = { workspace = true, features = ["arbitrary"] } arbitrary = { workspace = true } -sha2 = { workspace = true } hex = { workspace = true } [[bin]] diff --git a/crates/chia-protocol/fuzz/fuzz_targets/streamable.rs b/crates/chia-protocol/fuzz/fuzz_targets/streamable.rs index cc9697434..3f1435504 100644 --- a/crates/chia-protocol/fuzz/fuzz_targets/streamable.rs +++ b/crates/chia-protocol/fuzz/fuzz_targets/streamable.rs @@ -3,7 +3,7 @@ use arbitrary::{Arbitrary, Unstructured}; use chia_protocol::*; use chia_traits::Streamable; use libfuzzer_sys::fuzz_target; -use sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; pub fn test_streamable(obj: &T) { let bytes = obj.to_bytes().unwrap(); @@ -21,7 +21,7 @@ pub fn test_streamable(obj: &T) { let mut ctx = Sha256::new(); ctx.update(&bytes); - let expect_hash: [u8; 32] = ctx.finalize().into(); + let expect_hash: [u8; 32] = ctx.finalize(); assert_eq!(obj.hash(), expect_hash); // make sure input too large is an error diff --git a/crates/chia-protocol/src/bytes.rs b/crates/chia-protocol/src/bytes.rs index 24e1cae00..e1d1bf00b 100644 --- a/crates/chia-protocol/src/bytes.rs +++ b/crates/chia-protocol/src/bytes.rs @@ -1,8 +1,8 @@ use chia_traits::{chia_error, read_bytes, Streamable}; use clvm_traits::{ClvmDecoder, ClvmEncoder, FromClvm, FromClvmError, ToClvm, ToClvmError}; use clvm_utils::TreeHash; +use clvmr::sha2::Sha256; use clvmr::Atom; -use sha2::{Digest, Sha256}; use std::array::TryFromSliceError; use std::fmt; use std::io::Cursor; diff --git a/crates/chia-protocol/src/coin.rs b/crates/chia-protocol/src/coin.rs index 54735023d..b473b9aa4 100644 --- a/crates/chia-protocol/src/coin.rs +++ b/crates/chia-protocol/src/coin.rs @@ -4,7 +4,7 @@ use clvm_traits::{ clvm_list, destructure_list, match_list, ClvmDecoder, ClvmEncoder, FromClvm, FromClvmError, ToClvm, ToClvmError, }; -use sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; #[cfg(feature = "py-bindings")] use pyo3::prelude::*; diff --git a/crates/chia-protocol/src/program.rs b/crates/chia-protocol/src/program.rs index d61aa4ce4..0100daa9e 100644 --- a/crates/chia-protocol/src/program.rs +++ b/crates/chia-protocol/src/program.rs @@ -11,7 +11,7 @@ use clvmr::serde::{ serialized_length_from_bytes_trusted, }; use clvmr::{Allocator, ChiaDialect}; -use sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; use std::io::Cursor; use std::ops::Deref; diff --git a/crates/chia-puzzles/Cargo.toml b/crates/chia-puzzles/Cargo.toml index 658d765ab..37418c323 100644 --- a/crates/chia-puzzles/Cargo.toml +++ b/crates/chia-puzzles/Cargo.toml @@ -16,7 +16,6 @@ arbitrary = ["dep:arbitrary", "chia-protocol/arbitrary"] [dependencies] clvmr = { workspace = true } -sha2 = { workspace = true } num-bigint = { workspace = true } hex-literal = { workspace = true } clvm-utils = { workspace = true } diff --git a/crates/chia-puzzles/src/derive_synthetic.rs b/crates/chia-puzzles/src/derive_synthetic.rs index ab85b54ec..3fb52eb94 100644 --- a/crates/chia-puzzles/src/derive_synthetic.rs +++ b/crates/chia-puzzles/src/derive_synthetic.rs @@ -1,8 +1,7 @@ use chia_bls::{PublicKey, SecretKey}; use hex_literal::hex; use num_bigint::BigInt; -use sha2::{digest::FixedOutput, Digest, Sha256}; - +use clvmr::sha2::Sha256; use crate::standard::DEFAULT_HIDDEN_PUZZLE_HASH; const GROUP_ORDER_BYTES: [u8; 32] = @@ -52,7 +51,7 @@ fn synthetic_offset(public_key: &PublicKey, hidden_puzzle_hash: &[u8; 32]) -> Se let mut hasher = Sha256::new(); hasher.update(public_key.to_bytes()); hasher.update(hidden_puzzle_hash); - let bytes: [u8; 32] = hasher.finalize_fixed().into(); + let bytes: [u8; 32] = hasher.finalize(); SecretKey::from_bytes(&mod_by_group_order(bytes)).unwrap() } diff --git a/crates/chia-traits/Cargo.toml b/crates/chia-traits/Cargo.toml index d0d49f81d..d0bf3bda1 100644 --- a/crates/chia-traits/Cargo.toml +++ b/crates/chia-traits/Cargo.toml @@ -15,5 +15,5 @@ py-bindings = ["dep:pyo3"] [dependencies] pyo3 = { workspace = true, features = ["multiple-pymethods"], optional = true } chia_streamable_macro = { workspace = true } -sha2 = { workspace = true } +clvmr = { workspace = true } thiserror = { workspace = true } diff --git a/crates/chia-traits/src/streamable.rs b/crates/chia-traits/src/streamable.rs index 0ef12b9c3..5e07576ff 100644 --- a/crates/chia-traits/src/streamable.rs +++ b/crates/chia-traits/src/streamable.rs @@ -1,5 +1,5 @@ use crate::chia_error::{Error, Result}; -use sha2::{Digest, Sha256}; +use clvmr::sha2::Sha256; use std::io::Cursor; use std::mem; @@ -69,7 +69,7 @@ pub trait Streamable { fn hash(&self) -> [u8; 32] { let mut ctx = Sha256::new(); self.update_digest(&mut ctx); - ctx.finalize().into() + ctx.finalize() } } diff --git a/crates/chia_py_streamable_macro/src/lib.rs b/crates/chia_py_streamable_macro/src/lib.rs index 7c79a4839..c95bd8e4e 100644 --- a/crates/chia_py_streamable_macro/src/lib.rs +++ b/crates/chia_py_streamable_macro/src/lib.rs @@ -217,9 +217,9 @@ pub fn py_streamable_macro(input: proc_macro::TokenStream) -> proc_macro::TokenS } pub fn get_hash<'p>(&self, py: pyo3::Python<'p>) -> pyo3::PyResult> { - let mut ctx = ::new(); + let mut ctx = clvmr::sha2::Sha256::new(); #crate_name::Streamable::update_digest(self, &mut ctx); - Ok(pyo3::types::PyBytes::new_bound(py, sha2::Digest::finalize(ctx).as_slice())) + Ok(pyo3::types::PyBytes::new_bound(py, &ctx.finalize())) } #[pyo3(name = "to_bytes")] pub fn py_to_bytes<'p>(&self, py: pyo3::Python<'p>) -> pyo3::PyResult> { diff --git a/crates/chia_streamable_macro/Cargo.toml b/crates/chia_streamable_macro/Cargo.toml index f0215ebe3..2b87f61bf 100644 --- a/crates/chia_streamable_macro/Cargo.toml +++ b/crates/chia_streamable_macro/Cargo.toml @@ -15,6 +15,7 @@ workspace = true proc-macro = true [dependencies] +clvmr = { workspace = true } syn = { workspace = true } quote = { workspace = true } proc-macro-crate = { workspace = true } diff --git a/crates/chia_streamable_macro/src/lib.rs b/crates/chia_streamable_macro/src/lib.rs index 95b6ee491..50ac02048 100644 --- a/crates/chia_streamable_macro/src/lib.rs +++ b/crates/chia_streamable_macro/src/lib.rs @@ -158,7 +158,7 @@ pub fn chia_streamable_macro(input: TokenStream) -> TokenStream { } let ret = quote! { impl #crate_name::Streamable for #ident { - fn update_digest(&self, digest: &mut sha2::Sha256) { + fn update_digest(&self, digest: &mut clvmr::sha2::Sha256) { ::update_digest(&(*self as u8), digest); } fn stream(&self, out: &mut Vec) -> #crate_name::chia_error::Result<()> { @@ -198,7 +198,7 @@ pub fn chia_streamable_macro(input: TokenStream) -> TokenStream { if !fnames.is_empty() { let ret = quote! { impl #crate_name::Streamable for #ident { - fn update_digest(&self, digest: &mut sha2::Sha256) { + fn update_digest(&self, digest: &mut clvmr::sha2::Sha256) { #(self.#fnames.update_digest(digest);)* } fn stream(&self, out: &mut Vec) -> #crate_name::chia_error::Result<()> { @@ -214,7 +214,7 @@ pub fn chia_streamable_macro(input: TokenStream) -> TokenStream { } else if !findices.is_empty() { let ret = quote! { impl #crate_name::Streamable for #ident { - fn update_digest(&self, digest: &mut sha2::Sha256) { + fn update_digest(&self, digest: &mut clvmr::sha2::Sha256) { #(self.#findices.update_digest(digest);)* } fn stream(&self, out: &mut Vec) -> #crate_name::chia_error::Result<()> { @@ -231,7 +231,7 @@ pub fn chia_streamable_macro(input: TokenStream) -> TokenStream { // this is an empty type (Unit) let ret = quote! { impl #crate_name::Streamable for #ident { - fn update_digest(&self, _digest: &mut sha2::Sha256) {} + fn update_digest(&self, _digest: &mut clvmr::sha2::Sha256) {} fn stream(&self, _out: &mut Vec) -> #crate_name::chia_error::Result<()> { Ok(()) } diff --git a/wheel/Cargo.toml b/wheel/Cargo.toml index fa7e9f2c5..4a552ef1e 100644 --- a/wheel/Cargo.toml +++ b/wheel/Cargo.toml @@ -23,7 +23,7 @@ python-source = "python" [dependencies] clvmr = { workspace = true } hex = { workspace = true } -sha2 = { workspace = true } + pyo3 = { workspace = true, features = ["multiple-pymethods"] } chia-consensus = { workspace = true, features = ["py-bindings"] } chia-bls = { workspace = true, features = ["py-bindings"] } From d30fdb7c00502a0b18efae06e3a5f0de50b9bf69 Mon Sep 17 00:00:00 2001 From: Jack Nelson Date: Wed, 10 Jul 2024 18:12:57 -0400 Subject: [PATCH 3/6] add updated ver and openssl feature --- Cargo.lock | 464 +++++++++++++++++++++++++++-------------------------- Cargo.toml | 5 +- 2 files changed, 243 insertions(+), 226 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 03088f258..a17342a27 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4,9 +4,9 @@ version = 3 [[package]] name = "addr2line" -version = "0.21.0" +version = "0.22.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a30b2e23b9e17a9f90641c7ab1549cd9b44f296d3ccbf309d2863cfe398a0cb" +checksum = "6e4503c46a5c0c7844e948c9a4d6acd9f50cccb4de1c48eb9e291ea17470c678" dependencies = [ "gimli", ] @@ -52,47 +52,48 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.6.13" +version = "0.6.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d96bd03f33fe50a863e394ee9718a706f988b9079b20c3784fb726e7678b62fb" +checksum = "64e15c1ab1f89faffbf04a634d5e1962e9074f2741eef6d97f3c4e322426d526" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", + "is_terminal_polyfill", "utf8parse", ] [[package]] name = "anstyle" -version = "1.0.6" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8901269c6307e8d93993578286ac0edf7f195079ffff5ebdeea6a59ffb7e36bc" +checksum = "1bec1de6f59aedf83baf9ff929c98f2ad654b97c9510f4e70cf6f661d49fd5b1" [[package]] name = "anstyle-parse" -version = "0.2.3" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c75ac65da39e5fe5ab759307499ddad880d724eed2f6ce5b5e8a26f4f387928c" +checksum = "eb47de1e80c2b463c735db5b217a0ddc39d612e7ac9e2e96a5aed1f57616c1cb" dependencies = [ "utf8parse", ] [[package]] name = "anstyle-query" -version = "1.0.2" +version = "1.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e28923312444cdd728e4738b3f9c9cac739500909bb3d3c94b43551b16517648" +checksum = "6d36fc52c7f6c869915e99412912f22093507da8d9e942ceaf66fe4b7c14422a" dependencies = [ "windows-sys", ] [[package]] name = "anstyle-wincon" -version = "3.0.2" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd54b81ec8d6180e24654d0b371ad22fc3dd083b6ff8ba325b72e00c87660a7" +checksum = "5bf74e1b6e971609db8ca7a9ce79fd5768ab6ae46441c572e46cf596f59e57f8" dependencies = [ "anstyle", "windows-sys", @@ -154,15 +155,15 @@ dependencies = [ [[package]] name = "autocfg" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f1fdabc7756949593fe60f30ec81974b613357de856987752631dea1e3394c80" +checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0" [[package]] name = "backtrace" -version = "0.3.71" +version = "0.3.73" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "26b05800d2e817c8b3b4b54abd461726265fa9789ae34330622f2db9ee696f9d" +checksum = "5cc23269a4f8976d0a4d2e7109211a419fe30e8d88d677cd60b6bc79c5732e0a" dependencies = [ "addr2line", "cc", @@ -181,9 +182,9 @@ checksum = "4c7f02d4ea65f2c1853089ffd8d2787bdbc63de2f0d29dedbcf8ccdfa0ccd4cf" [[package]] name = "base64" -version = "0.22.0" +version = "0.22.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9475866fec1451be56a3c2400fd081ff546538961565ccb5b7142cbd22bc7a51" +checksum = "72b3254f16251a8381aa12e40e3c4d2f0199f8c6508fbecb9d91f575e0fbb8c6" [[package]] name = "base64ct" @@ -193,15 +194,9 @@ checksum = "8c3c1a368f70d6cf7302d78f8f7093da241fb8e8807c05cc9e51a125895a6d5b" [[package]] name = "bitflags" -version = "1.3.2" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" - -[[package]] -name = "bitflags" -version = "2.5.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf4b9d6a944f767f8e5e0db018570623c85f3d925ac718db4e06d0187adb21c1" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" [[package]] name = "block-buffer" @@ -224,9 +219,9 @@ dependencies = [ [[package]] name = "blst" -version = "0.3.12" +version = "0.3.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62dc83a094a71d43eeadd254b1ec2d24cb6a0bb6cadce00df51f0db594711a32" +checksum = "4378725facc195f1a538864863f6de233b500a8862747e7f165078a419d5e874" dependencies = [ "cc", "glob", @@ -248,9 +243,9 @@ checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "bytes" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "514de17de45fdb8dc022b1a7975556c53c86f9f0aa5f534b98977b171857c2c9" +checksum = "a12916984aab3fa6e39d655a33e09c0071eb36d6ab3aea5c2d78551f1df6d952" [[package]] name = "cast" @@ -260,13 +255,12 @@ checksum = "37b2a672a2cb129a2e41c10b1224bb368f9f37a2b16b612598138befd7b37eb5" [[package]] name = "cc" -version = "1.0.95" +version = "1.1.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d32a725bc159af97c3e629873bb9f88fb8cf8a4867175f76dc987815ea07c83b" +checksum = "26a5c3fd7bfa1ce3897a3a3501d362b2d87b7f2583ebcb4a949ec25911025cbc" dependencies = [ "jobserver", "libc", - "once_cell", ] [[package]] @@ -288,6 +282,7 @@ dependencies = [ "chia-traits 0.10.0", "clvm-traits", "clvm-utils", + "clvmr", ] [[package]] @@ -617,9 +612,9 @@ dependencies = [ [[package]] name = "clap_lex" -version = "0.7.0" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "98cc8fbded0c607b7ba9dd60cd98df59af97e84d24e49c8557331cfc26d301ce" +checksum = "1462739cb27611015575c0c11df5df7601141071f07518d56fcc1be504cbec97" [[package]] name = "clvm-derive" @@ -687,15 +682,16 @@ dependencies = [ "num-bigint", "num-integer", "num-traits", + "openssl", "p256", "sha2", ] [[package]] name = "colorchoice" -version = "1.0.0" +version = "1.0.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "acbf1af155f9b9ef647e42cdc158db4b64a1b61f743629225fde6f3e0be2a7c7" +checksum = "d3fd119d74b830634cea2a0f58bbd0d54540518a14397557951e79340abc28c0" [[package]] name = "const-oid" @@ -750,9 +746,9 @@ dependencies = [ [[package]] name = "crossbeam-channel" -version = "0.5.12" +version = "0.5.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ab3db02a9c5b5121e1e42fbdb1aeb65f5e02624cc58c43f2884c6ccac0b82f95" +checksum = "33480d6946193aa8033910124896ca395333cae7e2d1113d1fef6c3272217df2" dependencies = [ "crossbeam-utils", ] @@ -778,9 +774,9 @@ dependencies = [ [[package]] name = "crossbeam-utils" -version = "0.8.19" +version = "0.8.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "248e3bacc7dc6baa3b21e405ee045c3047101a49145e7e9eca583ab4c2ca5345" +checksum = "22ec99545bb0ed0ea7bb9b8e1e9122ea386ff8a48c0922e43f36d45ab09e0e80" [[package]] name = "crunchy" @@ -812,9 +808,9 @@ dependencies = [ [[package]] name = "data-encoding" -version = "2.5.0" +version = "2.6.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e962a19be5cfc3f3bf6dd8f61eb50107f356ad6270fbb3ed41476571db78be5" +checksum = "e8566979429cf69b49a5c740c60791108e86440e8be149bbea4fe54d2c32d6e2" [[package]] name = "der" @@ -875,9 +871,9 @@ dependencies = [ [[package]] name = "displaydoc" -version = "0.2.4" +version = "0.2.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "487585f4d0c6655fe74905e2504d8ad6908e4db67f744eb140876906c2f3175d" +checksum = "97369cbbc041bc366949bc74d34658d6cda5621039731c6310521892a3a20ae0" dependencies = [ "proc-macro2", "quote", @@ -900,9 +896,9 @@ dependencies = [ [[package]] name = "either" -version = "1.11.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a47c1c47d2f5964e29c61246e81db715514cd532db6b5116a25ea3c03d6780a2" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "elliptic-curve" @@ -958,6 +954,21 @@ version = "1.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" +[[package]] +name = "foreign-types" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f6f339eb8adc052cd2ca78910fda869aefa38d22d5cb648e6485e4d3fc06f3b1" +dependencies = [ + "foreign-types-shared", +] + +[[package]] +name = "foreign-types-shared" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00b0228411908ca8685dba7fc2cdd70ec9990a6e753e89b6ac91a84c40fbaf4b" + [[package]] name = "form_urlencoded" version = "1.2.1" @@ -1084,9 +1095,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.14" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "94b22e06ecb0110981051723910cbf0b5f5e09a2062dd7663334ee79a9d1286c" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "libc", @@ -1095,9 +1106,9 @@ dependencies = [ [[package]] name = "gimli" -version = "0.28.1" +version = "0.29.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4271d37baee1b8c7e4b708028c57d816cf9d2434acb33a549475f78c181f6253" +checksum = "40ecd4077b5ae9fd2e9e169b102c6c330d0605168eb0e8bf79952b256dbefffd" [[package]] name = "glob" @@ -1128,9 +1139,9 @@ dependencies = [ [[package]] name = "hashbrown" -version = "0.14.3" +version = "0.14.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "290f1a1d9242c78d09ce40a5e87e7554ee637af1351968159f4952f028f75604" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" dependencies = [ "ahash", "allocator-api2", @@ -1206,9 +1217,9 @@ dependencies = [ [[package]] name = "httparse" -version = "1.8.0" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d897f394bad6a705d5f4104762e116a75639e470d80901eed05a860a95cb1904" +checksum = "0fcc0b4a115bf80b728eb8ea024ad5bd707b615bfed49e0665b6e0f86fd082d9" [[package]] name = "idna" @@ -1253,6 +1264,12 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "is_terminal_polyfill" +version = "1.70.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7943c866cc5cd64cbc25b2e01621d07fa8eb2a1a23160ee81ce38704e97b8ecf" + [[package]] name = "itertools" version = "0.10.5" @@ -1270,18 +1287,18 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b" [[package]] name = "jobserver" -version = "0.1.31" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2b099aaa34a9751c5bf0878add70444e1ed2dd73f347be99003d4577277de6e" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c5f195fe497f702db0f318b07fdd68edb16955aed830df8363d837542f8f935a" +checksum = "29c15563dc2726973df627357ce0c9ddddbea194836909d655df6a75d2cf296d" dependencies = [ "wasm-bindgen", ] @@ -1321,9 +1338,9 @@ dependencies = [ [[package]] name = "libc" -version = "0.2.153" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c198f91728a82281a64e1f4f9eeb25d82cb32a5de251c6bd1b5154d63a8e7bd" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "libfuzzer-sys" @@ -1355,9 +1372,9 @@ dependencies = [ [[package]] name = "lock_api" -version = "0.4.11" +version = "0.4.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3c168f8615b12bc01f9c17e2eb0cc07dcae1940121185446edc3744920e8ef45" +checksum = "07af8b9cdd281b7915f413fa73f29ebd5d55d0d3f0155584dade1ff18cea1b17" dependencies = [ "autocfg", "scopeguard", @@ -1365,9 +1382,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.21" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c" +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "lru" @@ -1380,9 +1397,9 @@ dependencies = [ [[package]] name = "memchr" -version = "2.7.2" +version = "2.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6c8640c5d730cb13ebd907d8d04b52f55ac9a2eec55b440c8892f40d56c76c1d" +checksum = "78ca9ab1a0babb1e7d5695e3530886289c18cf2f87ec19a575a0abdce112e3a3" [[package]] name = "memoffset" @@ -1401,9 +1418,9 @@ checksum = "68354c5c6bd36d73ff3feceb05efa59b6acb7626617f4962be322a825e61f79a" [[package]] name = "miniz_oxide" -version = "0.7.2" +version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9d811f3e15f28568be3407c8e7fdb6514c1cda3cb30683f15b6a1a1dc4ea14a7" +checksum = "b8a240ddb74feaf34a79a7add65a741f3167852fba007066dcac1ca548d89c08" dependencies = [ "adler", ] @@ -1474,9 +1491,9 @@ dependencies = [ [[package]] name = "num-iter" -version = "0.1.44" +version = "0.1.45" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d869c01cc0c455284163fd0092f1f93835385ccab5a98a0dcc497b2f8bf055a9" +checksum = "1429034a0490724d0075ebb2bc9e875d6503c3cf69e235a8941aa757d83ef5bf" dependencies = [ "autocfg", "num-integer", @@ -1505,9 +1522,9 @@ dependencies = [ [[package]] name = "object" -version = "0.32.2" +version = "0.36.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a6a622008b6e321afc04970976f62ee297fdbaa6f95318ca343e3eebb9648441" +checksum = "3f203fa8daa7bb185f760ae12bd8e097f63d17041dcdcaf675ac54cdf863170e" dependencies = [ "memchr", ] @@ -1529,9 +1546,57 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "oorandom" -version = "11.1.3" +version = "11.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b410bbe7e14ab526a0e86877eb47c6996a2bd7746f027ba551028c925390e4e9" + +[[package]] +name = "openssl" +version = "0.10.66" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1" +dependencies = [ + "bitflags", + "cfg-if", + "foreign-types", + "libc", + "once_cell", + "openssl-macros", + "openssl-sys", +] + +[[package]] +name = "openssl-macros" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.72", +] + +[[package]] +name = "openssl-src" +version = "300.3.1+3.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ab1bc2a289d34bd04a330323ac98a1b4bc82c9d9fcb1e66b63caa84da26b575" +checksum = "7259953d42a81bf137fbbd73bd30a8e1914d6dce43c2b90ed575783a22608b91" +dependencies = [ + "cc", +] + +[[package]] +name = "openssl-sys" +version = "0.9.103" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f9e8deee91df40a943c71b917e5874b951d32a802526c85721ce3b776c929d6" +dependencies = [ + "cc", + "libc", + "openssl-src", + "pkg-config", + "vcpkg", +] [[package]] name = "p256" @@ -1547,9 +1612,9 @@ dependencies = [ [[package]] name = "parking_lot" -version = "0.12.1" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3742b2c103b9f06bc9fff0a37ff4912935851bee6d36f3c02bcc755bcfec228f" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -1557,15 +1622,15 @@ dependencies = [ [[package]] name = "parking_lot_core" -version = "0.9.9" +version = "0.9.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c42a9226546d68acdd9c0a280d17ce19bfe27a46bf68784e4066115788d008e" +checksum = "1e401f977ab385c9e4e3ab30627d6f26d00e2c73eef317493c4ec6d468726cf8" dependencies = [ "cfg-if", "libc", "redox_syscall", "smallvec", - "windows-targets 0.48.5", + "windows-targets", ] [[package]] @@ -1634,9 +1699,9 @@ checksum = "d231b230927b5e4ad203db57bbcbee2802f6bce620b1e4a9024a07d94e2907ec" [[package]] name = "plotters" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2c224ba00d7cadd4d5c660deaf2098e5e80e07846537c51f9cfa4be50c1fd45" +checksum = "a15b6eccb8484002195a3e44fe65a4ce8e93a625797a063735536fd59cb01cf3" dependencies = [ "num-traits", "plotters-backend", @@ -1647,24 +1712,24 @@ dependencies = [ [[package]] name = "plotters-backend" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e76628b4d3a7581389a35d5b6e2139607ad7c75b17aed325f210aa91f4a9609" +checksum = "414cec62c6634ae900ea1c56128dfe87cf63e7caece0852ec76aba307cebadb7" [[package]] name = "plotters-svg" -version = "0.3.5" +version = "0.3.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38f6d39893cca0701371e3c27294f09797214b86f1fb951b89ade8ec04e2abab" +checksum = "81b30686a7d9c3e010b84284bdd26a29f2138574f52f5eb6f794fc0ad924e705" dependencies = [ "plotters-backend", ] [[package]] name = "portable-atomic" -version = "1.6.0" +version = "1.7.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7170ef9988bc169ba16dd36a7fa041e5c4cbeb6a35b76d4c03daded371eae7c0" +checksum = "da544ee218f0d287a911e9c99a39a8c9bc8fcad3cb8db5959940044ecfc67265" [[package]] name = "powerfmt" @@ -1674,9 +1739,13 @@ checksum = "439ee305def115ba05938db6eb1644ff94165c5ab5e9420d1c1bcedbba909391" [[package]] name = "ppv-lite86" -version = "0.2.17" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5b40af805b3121feab8a3c29f04d8ad262fa8e0561883e7653e024ae4479e6de" +checksum = "2288c0e17cc8d342c712bb43a257a80ebffce59cdb33d5000d8348f3ec02528b" +dependencies = [ + "zerocopy", + "zerocopy-derive", +] [[package]] name = "primeorder" @@ -1846,18 +1915,18 @@ dependencies = [ [[package]] name = "redox_syscall" -version = "0.4.1" +version = "0.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4722d768eff46b75989dd134e5c353f0d6296e5aaa3132e776cbdb56be7731aa" +checksum = "2a908a6e00f1fdd0dfd9c0eb08ce85126f6d8bbda50017e74bc4a4b7d4a926a4" dependencies = [ - "bitflags 1.3.2", + "bitflags", ] [[package]] name = "regex" -version = "1.10.4" +version = "1.10.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c117dbdfde9c8308975b6a18d71f3f385c89461f7b3fb054288ecf2a2058ba4c" +checksum = "b91213439dad192326a0d7c6ee3955910425f441d7038e0d6933b0aec5c4517f" dependencies = [ "aho-corasick", "memchr", @@ -1867,9 +1936,9 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.4.6" +version = "0.4.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86b83b8b9847f9bf95ef68afb0b8e6cdb80f498442f5179a29fad448fcc1eaea" +checksum = "38caf58cc5ef2fed281f89292ef23f6365465ed9a41b7a7754eb4e26496c92df" dependencies = [ "aho-corasick", "memchr", @@ -1878,9 +1947,9 @@ dependencies = [ [[package]] name = "regex-syntax" -version = "0.8.3" +version = "0.8.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "adad44e29e4c806119491a7f06f03de4d1af22c3a680dd47f1e6e179439d1f56" +checksum = "7a66a03ae7c801facd77a29370b4faec201768915ac14a721ba36f20bc9c209b" [[package]] name = "rfc6979" @@ -1959,7 +2028,7 @@ version = "0.31.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b838eba278d213a8beaf485bd313fd580ca4505a00d5871caeb1457c55322cae" dependencies = [ - "bitflags 2.5.0", + "bitflags", "fallible-iterator", "fallible-streaming-iterator", "hashlink", @@ -1969,9 +2038,9 @@ dependencies = [ [[package]] name = "rustc-demangle" -version = "0.1.23" +version = "0.1.24" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d626bb9dae77e28219937af045c257c28bfd3f69333c512553507f5f9798cb76" +checksum = "719b953e2095829ee67db738b3bfa9fa368c94900df327b3f07fe6e794d2fe1f" [[package]] name = "rustc_version" @@ -1999,9 +2068,9 @@ checksum = "976295e77ce332211c0d24d92c0e83e50f5c5f046d11082cea19f3df13a3562d" [[package]] name = "ryu" -version = "1.0.17" +version = "1.0.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e86697c916019a8588c99b5fac3cead74ec0b4b819707a682fd4d23fa0ce1ba1" +checksum = "f3cb5ba0dc43242ce17de99c180e96db90b235b8a9fdc9543c96d2209116bd9f" [[package]] name = "same-file" @@ -2034,24 +2103,24 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.22" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "92d43fe69e652f3df9bdc2b85b2854a0825b86e4fb76bc44d945137d053639ca" +checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.198" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9846a40c979031340571da2545a4e5b7c4163bdae79b301d5f86d03979451fcc" +checksum = "bc76f558e0cbb2a839d37354c575f1dc3fdc6546b5be373ba43d95f231bf7c12" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.198" +version = "1.0.204" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e88edab869b01783ba905e7d0153f9fc1a6505a96e4ad3018011eedb838566d9" +checksum = "e0cd7e117be63d3c3678776753929474f3b04a43a080c744d6b0ae2a8c28e222" dependencies = [ "proc-macro2", "quote", @@ -2060,11 +2129,12 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.116" +version = "1.0.121" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e17db7126d17feb94eb3fad46bf1a96b034e8aacbc2e775fe81505f8b0b2813" +checksum = "4ab380d7d9f22ef3f21ad3e6c1ebe8e4fc7a2000ccba2e4d71fc96f15b2cb609" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] @@ -2118,9 +2188,9 @@ checksum = "3c5e1a9a646d36c3599cd173a41282daf47c44583ad367b8e6837255952e5c67" [[package]] name = "socket2" -version = "0.5.6" +version = "0.5.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "05ffd9c0a93b7543e062e759284fcf5f5e3b098501104bfbdde4d404db792871" +checksum = "ce305eb0b4296696835b71df73eb912e0f1ffd2556a501fcede6e0c50349191c" dependencies = [ "libc", "windows-sys", @@ -2150,9 +2220,9 @@ checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" [[package]] name = "subtle" -version = "2.5.0" +version = "2.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81cdd64d312baedb58e21336b31bc043b77e01cc99033ce76ef539f78e965ebc" +checksum = "13c2bddecc57b384dee18652358fb23172facb8a2c51ccc10d74c157bdea3292" [[package]] name = "syn" @@ -2189,9 +2259,9 @@ dependencies = [ [[package]] name = "target-lexicon" -version = "0.12.14" +version = "0.12.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1fc403891a21bcfb7c37834ba66a547a8f402146eba7265b5a6d88059c9ff2f" +checksum = "4873307b7c257eddcb50c9bedf158eb669578359fb28428bef438fec8e6ba7c2" [[package]] name = "term" @@ -2285,9 +2355,9 @@ dependencies = [ [[package]] name = "tinyvec" -version = "1.6.0" +version = "1.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87cc5ceb3875bb20c2890005a4e226a4651264a5c75edb2421b52861a0a0cb50" +checksum = "445e881f4f6d382d5f27c034e25eb92edd7c784ceab92a0937db7f2e9471b938" dependencies = [ "tinyvec_macros", ] @@ -2327,9 +2397,9 @@ dependencies = [ [[package]] name = "toml_datetime" -version = "0.6.5" +version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3550f4e9685620ac18a50ed434eb3aec30db8ba93b0287467bca5826ea25baf1" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" [[package]] name = "toml_edit" @@ -2390,9 +2460,9 @@ dependencies = [ [[package]] name = "unicode-width" -version = "0.1.12" +version = "0.1.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "68f5e5f3158ecfd4b8ff6fe086db7c8467a2dfdac97fe420f2b7c4aa97af66d6" +checksum = "0336d538f7abc86d282a4189614dfaa90810dfc2c6f6427eaf88e16311dd225d" [[package]] name = "unindent" @@ -2408,9 +2478,9 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1" [[package]] name = "url" -version = "2.5.0" +version = "2.5.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31e6302e3bb753d46e83516cae55ae196fc0c309407cf11ab35cc51a4c2a4633" +checksum = "22784dbdf76fdde8af1aeda5622b546b422b6fc585325248a2bf9f5e41e94d6c" dependencies = [ "form_urlencoded", "idna", @@ -2425,9 +2495,9 @@ checksum = "09cc8ee72d2a9becf2f2febe0205bbed8fc6615b7cb429ad062dc7b7ddd036a9" [[package]] name = "utf8parse" -version = "0.2.1" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "711b9620af191e0cdc7468a8d14e709c3dcdb115b36f838e601583af800a370a" +checksum = "06abde3611657adf66d383f00b093d7faecc7fa57071cce2578660c9f1010821" [[package]] name = "vcpkg" @@ -2437,9 +2507,9 @@ checksum = "accd4ea62f7bb7a82fe23066fb0957d48ef677f6eeb8215f372f52e48bb32426" [[package]] name = "version_check" -version = "0.9.4" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f" +checksum = "0b928f33d975fc6ad9f86c8f283853ad26bdd5b10b7f1542aa2fa15e2289105a" [[package]] name = "walkdir" @@ -2513,9 +2583,9 @@ checksum = "af190c94f2773fdb3729c55b007a722abb5384da03bc0986df4c289bf5567e96" [[package]] name = "web-sys" -version = "0.3.64" +version = "0.3.69" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9b85cbef8c220a6abc02aefd892dfc0fc23afb1c6a426316ec33253a3877249b" +checksum = "77afa9a11836342370f4817622a2f0f418b134426d91a82dfb48f532d2ec13ef" dependencies = [ "js-sys", "wasm-bindgen", @@ -2548,129 +2618,72 @@ version = "0.52.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "282be5f36a8ce781fad8c8ae18fa3f9beff57ec1b52cb3de0789201425d9a33d" dependencies = [ - "windows-targets 0.52.5", -] - -[[package]] -name = "windows-targets" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9a2fa6e2155d7247be68c096456083145c183cbbbc2764150dda45a87197940c" -dependencies = [ - "windows_aarch64_gnullvm 0.48.5", - "windows_aarch64_msvc 0.48.5", - "windows_i686_gnu 0.48.5", - "windows_i686_msvc 0.48.5", - "windows_x86_64_gnu 0.48.5", - "windows_x86_64_gnullvm 0.48.5", - "windows_x86_64_msvc 0.48.5", + "windows-targets", ] [[package]] name = "windows-targets" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f0713a46559409d202e70e28227288446bf7841d3211583a4b53e3f6d96e7eb" +checksum = "9b724f72796e036ab90c1021d4780d4d3d648aca59e491e6b98e725b84e99973" dependencies = [ - "windows_aarch64_gnullvm 0.52.5", - "windows_aarch64_msvc 0.52.5", - "windows_i686_gnu 0.52.5", + "windows_aarch64_gnullvm", + "windows_aarch64_msvc", + "windows_i686_gnu", "windows_i686_gnullvm", - "windows_i686_msvc 0.52.5", - "windows_x86_64_gnu 0.52.5", - "windows_x86_64_gnullvm 0.52.5", - "windows_x86_64_msvc 0.52.5", + "windows_i686_msvc", + "windows_x86_64_gnu", + "windows_x86_64_gnullvm", + "windows_x86_64_msvc", ] [[package]] name = "windows_aarch64_gnullvm" -version = "0.48.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2b38e32f0abccf9987a4e3079dfb67dcd799fb61361e53e2882c3cbaf0d905d8" - -[[package]] -name = "windows_aarch64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7088eed71e8b8dda258ecc8bac5fb1153c5cffaf2578fc8ff5d61e23578d3263" - -[[package]] -name = "windows_aarch64_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc35310971f3b2dbbf3f0690a219f40e2d9afcf64f9ab7cc1be722937c26b4bc" +checksum = "32a4622180e7a0ec044bb555404c800bc9fd9ec262ec147edd5989ccd0c02cd3" [[package]] name = "windows_aarch64_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9985fd1504e250c615ca5f281c3f7a6da76213ebd5ccc9561496568a2752afb6" - -[[package]] -name = "windows_i686_gnu" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a75915e7def60c94dcef72200b9a8e58e5091744960da64ec734a6c6e9b3743e" +checksum = "09ec2a7bb152e2252b53fa7803150007879548bc709c039df7627cabbd05d469" [[package]] name = "windows_i686_gnu" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "88ba073cf16d5372720ec942a8ccbf61626074c6d4dd2e745299726ce8b89670" +checksum = "8e9b5ad5ab802e97eb8e295ac6720e509ee4c243f69d781394014ebfe8bbfa0b" [[package]] name = "windows_i686_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "87f4261229030a858f36b459e748ae97545d6f1ec60e5e0d6a3d32e0dc232ee9" - -[[package]] -name = "windows_i686_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8f55c233f70c4b27f66c523580f78f1004e8b5a8b659e05a4eb49d4166cca406" +checksum = "0eee52d38c090b3caa76c563b86c3a4bd71ef1a819287c19d586d7334ae8ed66" [[package]] name = "windows_i686_msvc" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "db3c2bf3d13d5b658be73463284eaf12830ac9a26a90c717b7f771dfe97487bf" - -[[package]] -name = "windows_x86_64_gnu" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "53d40abd2583d23e4718fddf1ebec84dbff8381c07cae67ff7768bbf19c6718e" +checksum = "240948bc05c5e7c6dabba28bf89d89ffce3e303022809e73deaefe4f6ec56c66" [[package]] name = "windows_x86_64_gnu" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e4246f76bdeff09eb48875a0fd3e2af6aada79d409d33011886d3e1581517d9" - -[[package]] -name = "windows_x86_64_gnullvm" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0b7b52767868a23d5bab768e390dc5f5c55825b6d30b86c844ff2dc7414044cc" +checksum = "147a5c80aabfbf0c7d901cb5895d1de30ef2907eb21fbbab29ca94c5b08b1a78" [[package]] name = "windows_x86_64_gnullvm" -version = "0.52.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "852298e482cd67c356ddd9570386e2862b5673c85bd5f88df9ab6802b334c596" - -[[package]] -name = "windows_x86_64_msvc" -version = "0.48.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ed94fce61571a4006852b7389a063ab983c02eb1bb37b47f8272ce92d06d9538" +checksum = "24d5b23dc417412679681396f2b49f3de8c1473deb516bd34410872eff51ed0d" [[package]] name = "windows_x86_64_msvc" -version = "0.52.5" +version = "0.52.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bec47e5bfd1bff0eeaf6d8b485cc1074891a197ab4225d504cb7a1ab88b02bf0" +checksum = "589f6da84c646204747d1270a2a5661ea66ed1cced2631d546fdfb155959f9ec" [[package]] name = "winnow" @@ -2710,18 +2723,19 @@ dependencies = [ [[package]] name = "zerocopy" -version = "0.7.32" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "74d4d3961e53fa4c9a25a8637fc2bfaf2595b3d3ae34875568a5cf64787716be" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" dependencies = [ + "byteorder", "zerocopy-derive", ] [[package]] name = "zerocopy-derive" -version = "0.7.32" +version = "0.7.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9ce1b18ccd8e73a9321186f97e46f9f04b778851177567b1975109d26a08d2a6" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" dependencies = [ "proc-macro2", "quote", @@ -2730,9 +2744,9 @@ dependencies = [ [[package]] name = "zeroize" -version = "1.7.0" +version = "1.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "525b4ec142c6b68a2d10f01f7bbf6755599ca3f81ea53b8431b7dd348f5fdb2d" +checksum = "ced3678a2879b30306d323f4542626697a464a97c0a07c9aebf7ebca65cd4dde" dependencies = [ "zeroize_derive", ] @@ -2759,18 +2773,18 @@ dependencies = [ [[package]] name = "zstd-safe" -version = "7.1.0" +version = "7.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1cd99b45c6bc03a018c8b8a86025678c87e55526064e38f9df301989dce7ec0a" +checksum = "fa556e971e7b568dc775c136fc9de8c779b1c2fc3a63defaafadffdbd3181afa" dependencies = [ "zstd-sys", ] [[package]] name = "zstd-sys" -version = "2.0.10+zstd.1.5.6" +version = "2.0.12+zstd.1.5.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c253a4914af5bafc8fa8c86ee400827e83cf6ec01195ec1f1ed8441bf00d65aa" +checksum = "0a4e40c320c3cb459d9a9ff6de98cff88f4751ee9275d140e2be94a2b74e4c13" dependencies = [ "cc", "pkg-config", diff --git a/Cargo.toml b/Cargo.toml index eba7d9a80..9dbeefd04 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -59,6 +59,7 @@ chia-traits = { workspace = true, optional = true } chia-puzzles = { workspace = true, optional = true } clvm-traits = { workspace = true, optional = true } clvm-utils = { workspace = true, optional = true } +clvmr = { workspace = true} [features] default = [ @@ -83,6 +84,8 @@ puzzles = ["dep:chia-puzzles"] clvm-traits = ["dep:clvm-traits"] clvm-utils = ["dep:clvm-utils"] +openssl = ["clvmr/openssl"] # enable openssl for clvmr on unix + [profile.release] lto = "thin" @@ -102,12 +105,12 @@ clvm-derive = { path = "./crates/clvm-derive", version = "0.10.0" } chia-fuzz = { path = "./crates/chia-consensus/fuzz", version = "0.10.0" } blst = { version = "0.3.12", features = ["portable"] } clvmr = "0.8.0" +sha2 = "0.10.8" syn = "2.0.72" quote = "1.0.32" proc-macro2 = "1.0.84" proc-macro-crate = "1.3.1" anyhow = "1.0.86" -sha2 = "0.10.8" hkdf = "0.12.0" hex = "0.4.3" thiserror = "1.0.63" From f060c49b52f8d5924d012056bea580a58040e69e Mon Sep 17 00:00:00 2001 From: Jack Nelson Date: Wed, 10 Jul 2024 18:20:45 -0400 Subject: [PATCH 4/6] format / lint + fixes --- crates/chia-bls/src/bls_cache.rs | 2 +- crates/chia-protocol/fuzz/fuzz_targets/streamable.rs | 2 +- crates/chia-protocol/src/program.rs | 2 +- crates/chia-puzzles/src/derive_synthetic.rs | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/crates/chia-bls/src/bls_cache.rs b/crates/chia-bls/src/bls_cache.rs index 79154d651..62ac9b631 100644 --- a/crates/chia-bls/src/bls_cache.rs +++ b/crates/chia-bls/src/bls_cache.rs @@ -1,8 +1,8 @@ use std::borrow::Borrow; use std::num::NonZeroUsize; -use lru::LruCache; use clvmr::sha2::Sha256; +use lru::LruCache; use crate::{aggregate_verify_gt, hash_to_g2}; use crate::{GTElement, PublicKey, Signature}; diff --git a/crates/chia-protocol/fuzz/fuzz_targets/streamable.rs b/crates/chia-protocol/fuzz/fuzz_targets/streamable.rs index 3f1435504..300d242b7 100644 --- a/crates/chia-protocol/fuzz/fuzz_targets/streamable.rs +++ b/crates/chia-protocol/fuzz/fuzz_targets/streamable.rs @@ -2,8 +2,8 @@ use arbitrary::{Arbitrary, Unstructured}; use chia_protocol::*; use chia_traits::Streamable; -use libfuzzer_sys::fuzz_target; use clvmr::sha2::Sha256; +use libfuzzer_sys::fuzz_target; pub fn test_streamable(obj: &T) { let bytes = obj.to_bytes().unwrap(); diff --git a/crates/chia-protocol/src/program.rs b/crates/chia-protocol/src/program.rs index 0100daa9e..978429ed5 100644 --- a/crates/chia-protocol/src/program.rs +++ b/crates/chia-protocol/src/program.rs @@ -10,8 +10,8 @@ use clvmr::serde::{ node_from_bytes, node_from_bytes_backrefs, node_to_bytes, serialized_length_from_bytes, serialized_length_from_bytes_trusted, }; -use clvmr::{Allocator, ChiaDialect}; use clvmr::sha2::Sha256; +use clvmr::{Allocator, ChiaDialect}; use std::io::Cursor; use std::ops::Deref; diff --git a/crates/chia-puzzles/src/derive_synthetic.rs b/crates/chia-puzzles/src/derive_synthetic.rs index 3fb52eb94..3ad9fd67d 100644 --- a/crates/chia-puzzles/src/derive_synthetic.rs +++ b/crates/chia-puzzles/src/derive_synthetic.rs @@ -1,8 +1,8 @@ +use crate::standard::DEFAULT_HIDDEN_PUZZLE_HASH; use chia_bls::{PublicKey, SecretKey}; +use clvmr::sha2::Sha256; use hex_literal::hex; use num_bigint::BigInt; -use clvmr::sha2::Sha256; -use crate::standard::DEFAULT_HIDDEN_PUZZLE_HASH; const GROUP_ORDER_BYTES: [u8; 32] = hex!("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"); From 41199fdea88cf5fd71cbb191d9fe7cac91a9fada Mon Sep 17 00:00:00 2001 From: Jack Nelson Date: Wed, 10 Jul 2024 18:36:06 -0400 Subject: [PATCH 5/6] address comments --- Cargo.toml | 5 +++-- crates/chia-bls/Cargo.toml | 2 +- crates/chia-puzzles/src/derive_synthetic.rs | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 9dbeefd04..12c0a0212 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -59,7 +59,7 @@ chia-traits = { workspace = true, optional = true } chia-puzzles = { workspace = true, optional = true } clvm-traits = { workspace = true, optional = true } clvm-utils = { workspace = true, optional = true } -clvmr = { workspace = true} +clvmr = { workspace = true } [features] default = [ @@ -84,7 +84,7 @@ puzzles = ["dep:chia-puzzles"] clvm-traits = ["dep:clvm-traits"] clvm-utils = ["dep:clvm-utils"] -openssl = ["clvmr/openssl"] # enable openssl for clvmr on unix +openssl = ["clvmr/openssl"] [profile.release] lto = "thin" @@ -111,6 +111,7 @@ quote = "1.0.32" proc-macro2 = "1.0.84" proc-macro-crate = "1.3.1" anyhow = "1.0.86" +sha2 = "0.10.8" hkdf = "0.12.0" hex = "0.4.3" thiserror = "1.0.63" diff --git a/crates/chia-bls/Cargo.toml b/crates/chia-bls/Cargo.toml index a11f0e812..34df2efe3 100644 --- a/crates/chia-bls/Cargo.toml +++ b/crates/chia-bls/Cargo.toml @@ -19,6 +19,7 @@ arbitrary = ["dep:arbitrary"] chia-traits = { workspace = true } chia_py_streamable_macro = { workspace = true, optional = true } anyhow = { workspace = true } +sha2 = { workspace = true } clvmr = { workspace = true } hkdf = { workspace = true } blst = { workspace = true } @@ -27,7 +28,6 @@ thiserror = { workspace = true } pyo3 = { workspace = true, features = ["multiple-pymethods"], optional = true } arbitrary = { workspace = true, optional = true } lru = { workspace = true } -sha2 = { workspace = true } [dev-dependencies] rand = { workspace = true } diff --git a/crates/chia-puzzles/src/derive_synthetic.rs b/crates/chia-puzzles/src/derive_synthetic.rs index 3ad9fd67d..d845586f0 100644 --- a/crates/chia-puzzles/src/derive_synthetic.rs +++ b/crates/chia-puzzles/src/derive_synthetic.rs @@ -1,9 +1,10 @@ -use crate::standard::DEFAULT_HIDDEN_PUZZLE_HASH; use chia_bls::{PublicKey, SecretKey}; use clvmr::sha2::Sha256; use hex_literal::hex; use num_bigint::BigInt; +use crate::standard::DEFAULT_HIDDEN_PUZZLE_HASH; + const GROUP_ORDER_BYTES: [u8; 32] = hex!("73eda753299d7d483339d80809a1d80553bda402fffe5bfeffffffff00000001"); From e0cc115fe112ebd50a7d3aa099ff2933656d0597 Mon Sep 17 00:00:00 2001 From: Rigidity Date: Tue, 30 Jul 2024 13:04:52 -0500 Subject: [PATCH 6/6] Update lockfile --- Cargo.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 12c0a0212..0256f0729 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -105,7 +105,6 @@ clvm-derive = { path = "./crates/clvm-derive", version = "0.10.0" } chia-fuzz = { path = "./crates/chia-consensus/fuzz", version = "0.10.0" } blst = { version = "0.3.12", features = ["portable"] } clvmr = "0.8.0" -sha2 = "0.10.8" syn = "2.0.72" quote = "1.0.32" proc-macro2 = "1.0.84"