Skip to content

Commit fc1c8cd

Browse files
committed
Upgrade rand to 0.10.1 - WIP (some other crates were also upgraded)
1 parent c9f47dd commit fc1c8cd

63 files changed

Lines changed: 649 additions & 292 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Cargo.lock

Lines changed: 118 additions & 49 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ enumflags2 = "0.7"
169169
expect-test = "1.3"
170170
file-rotate = "0.7"
171171
fix-hidden-lifetime-bug = "0.2"
172-
fixed-hash = "0.8"
172+
fixed-hash = { version = "0.8", default-features = false, features = ["byteorder", "rustc-hex"] } # FIXME docs
173173
flate2 = "1.0"
174174
fs4 = "0.12"
175175
futures = { version = "0.3", default-features = false }
@@ -212,14 +212,14 @@ parking_lot = "0.12"
212212
paste = "1.0"
213213
probabilistic-collections = "0.7"
214214
proc-macro2 = "1.0"
215-
# Note: proptest v1.7+ uses rand 0.9, which is incompatible with rand 0.8 that we currently use.
216-
# But we can't easily switch to rand 0.9 because many of our other dependencies use earlier versions
217-
# of rand.
218-
proptest = "~1.6"
215+
proptest = "1.11"
219216
qrcodegen = "1.8"
220217
quote = "1.0"
221-
rand = "0.8"
222-
rand_chacha = "0.3"
218+
rand = "0.10"
219+
rand_core = "0.10"
220+
rand_0_8 = { version = "0.8", package = "rand" }
221+
rand_0_9 = { version = "0.9", package = "rand" }
222+
rand_chacha = "0.10"
223223
rayon = "1.10"
224224
reedline = "0.38"
225225
ref-cast = "1.0"
@@ -233,7 +233,7 @@ rstest = "0.24"
233233
rstest_reuse = "0.7"
234234
rusqlite = "0.33"
235235
schnorrkel = "0.11"
236-
secp256k1 = { version = "0.29", default-features = false }
236+
secp256k1 = { version = "0.31", default-features = false }
237237
semver = "1.0"
238238
serde = "1.0"
239239
serde_json = "1.0"

api-server/storage-test-suite/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ chrono.workspace = true
2222
futures = { workspace = true, default-features = false }
2323
libtest-mimic.workspace = true
2424
proptest.workspace = true
25-
rand.workspace = true
2625
tokio = { workspace = true, features = ["full"] }
2726

2827
[[test]]

api-server/storage-test-suite/src/basic.rs

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
// See the License for the specific language governing permissions and
1414
// limitations under the License.
1515

16-
use rand::CryptoRng;
1716
use serialization::extras::non_empty_vec::DataOrNoVec;
1817
use std::{collections::BTreeMap, sync::Arc};
1918

@@ -35,7 +34,7 @@ use crypto::{
3534
key::{KeyKind, PrivateKey},
3635
vrf::{VRFKeyKind, VRFPrivateKey},
3736
};
38-
use randomness::Rng;
37+
use randomness::{CryptoRng, Rng};
3938

4039
use chainstate_test_framework::{empty_witness, TestFramework, TransactionBuilder};
4140
use common::{

api-server/storage-test-suite/src/podman.rs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@
1313
// See the License for the specific language governing permissions and
1414
// limitations under the License.
1515

16+
use randomness::{make_pseudo_rng, Rng as _};
17+
1618
pub enum Container {
1719
PostgresFromDockerHub,
1820
}
@@ -26,9 +28,8 @@ impl Container {
2628
}
2729

2830
fn random_string(length: usize) -> String {
29-
use rand::Rng;
30-
rand::thread_rng()
31-
.sample_iter(&rand::distributions::Alphanumeric)
31+
make_pseudo_rng()
32+
.sample_iter(&randomness::distributions::Alphanumeric)
3233
.take(length)
3334
.map(char::from)
3435
.collect()

blockprod/src/detail/tests.rs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1854,7 +1854,7 @@ mod produce_block {
18541854
.expect("Error initializing blockprod");
18551855

18561856
let mut rng = make_seedable_rng(seed);
1857-
let jobs_to_create = rng.random::<usize>() % 20 + 1;
1857+
let jobs_to_create = rng.random_range(1..=20);
18581858

18591859
for _ in 0..jobs_to_create {
18601860
let (_block, job) = block_production
@@ -1891,7 +1891,7 @@ mod process_block_with_custom_id {
18911891

18921892
let mut rng = make_seedable_rng(seed);
18931893

1894-
let jobs_to_create = rng.random::<usize>() % 20 + 1;
1894+
let jobs_to_create = rng.random_range(1..=20);
18951895

18961896
let block_production = BlockProduction::new(
18971897
chain_config,
@@ -1951,7 +1951,7 @@ mod process_block_with_custom_id {
19511951

19521952
let mut rng = make_seedable_rng(seed);
19531953

1954-
let jobs_to_create = 10 + rng.random::<usize>() % 20 + 1;
1954+
let jobs_to_create = rng.random_range(1..=20);
19551955

19561956
let block_production = BlockProduction::new(
19571957
chain_config,
@@ -2104,7 +2104,7 @@ mod stop_all_jobs {
21042104
.expect("Error initializing blockprod");
21052105

21062106
let mut mock_job_manager = Box::<MockJobManager>::default();
2107-
let return_value = make_seedable_rng(seed).random();
2107+
let return_value = make_seedable_rng(seed).random_range(0..=usize::MAX);
21082108
let expected_value = return_value;
21092109

21102110
mock_job_manager
@@ -2226,7 +2226,7 @@ mod stop_job {
22262226
.expect("Error initializing blockprod");
22272227

22282228
let mut job_keys = Vec::new();
2229-
let jobs_to_create = rng.random::<usize>() % 20 + 1;
2229+
let jobs_to_create = rng.random_range(1..=20);
22302230

22312231
for _ in 1..=jobs_to_create {
22322232
let (job_key, _stop_last_used_block_timestamp, _stop_job_cancel_receiver) =

chainstate/src/detail/orphan_blocks/pool.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,13 @@
1313
// See the License for the specific language governing permissions and
1414
// limitations under the License.
1515

16-
use std::collections::BTreeMap;
17-
use std::rc::Rc;
16+
use std::{collections::BTreeMap, rc::Rc};
1817

19-
use common::chain::{Block, GenBlock};
20-
use common::primitives::id::WithId;
21-
use common::primitives::{Id, Idable};
22-
use randomness::SliceRandom;
18+
use common::{
19+
chain::{Block, GenBlock},
20+
primitives::{id::WithId, Id, Idable},
21+
};
22+
use randomness::IndexedRandom as _;
2323

2424
pub struct OrphanBlocksPool {
2525
orphan_ids: Vec<Id<Block>>,

chainstate/test-framework/src/random_tx_maker.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -367,7 +367,7 @@ impl<'a> RandomTxMaker<'a> {
367367
self.utxo_set
368368
.utxos()
369369
.iter()
370-
.choose_multiple(rng, number_of_inputs)
370+
.sample(rng, number_of_inputs)
371371
.iter()
372372
.filter_map(|(outpoint, utxo)| {
373373
let input = TxInput::Utxo((*outpoint).clone());
@@ -402,7 +402,7 @@ impl<'a> RandomTxMaker<'a> {
402402
.tokens_store
403403
.tokens_data()
404404
.iter()
405-
.choose_multiple(rng, number_of_inputs)
405+
.sample(rng, number_of_inputs)
406406
.iter()
407407
.map(|(token_id, _)| AccountType::Token(**token_id))
408408
.collect::<Vec<_>>();
@@ -411,7 +411,7 @@ impl<'a> RandomTxMaker<'a> {
411411
.orders_store
412412
.orders_data()
413413
.iter()
414-
.choose_multiple(rng, number_of_inputs)
414+
.sample(rng, number_of_inputs)
415415
.iter()
416416
.map(|(id, _)| AccountType::Order(**id))
417417
.collect::<Vec<_>>();
@@ -420,7 +420,7 @@ impl<'a> RandomTxMaker<'a> {
420420
.pos_accounting_store
421421
.all_delegation_balances()
422422
.iter()
423-
.choose_multiple(rng, number_of_inputs)
423+
.sample(rng, number_of_inputs)
424424
.iter()
425425
.map(|(id, _)| AccountType::Delegation(**id))
426426
.collect::<Vec<_>>();

chainstate/test-suite/Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ tokio = { workspace = true, features = ["rt", "time"] }
3535

3636
criterion.workspace = true
3737
expect-test.workspace = true
38-
rand.workspace = true
3938
rstest.workspace = true
4039
strum.workspace = true
4140

chainstate/test-suite/src/tests/bootstrap.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ use common::{
3232
primitives::{Id, Idable},
3333
};
3434
use logging::log;
35-
use rand::{seq::IteratorRandom as _, CryptoRng, Rng};
35+
use randomness::{seq::IteratorRandom as _, CryptoRng, Rng};
3636
use serialization::Encode as _;
3737
use test_utils::random::{gen_random_bytes, make_seedable_rng, Seed};
3838

0 commit comments

Comments
 (0)