Skip to content

Commit 9c08bec

Browse files
committed
fix: conservative but not crazy ArbitraryGenerator sizes
1 parent 13a4d3a commit 9c08bec

File tree

23 files changed

+77
-69
lines changed

23 files changed

+77
-69
lines changed

bin/prover-client/src/task_tracker.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ mod tests {
221221
fn gen_task_with_deps(n: u64) -> (ProofKey, Vec<ProofKey>) {
222222
let mut deps = Vec::with_capacity(n as usize);
223223
let host = ProofZkVm::Native;
224-
let mut gen = ArbitraryGenerator::new();
224+
let mut gen = ArbitraryGenerator::new_with_size(2_048);
225225

226226
let start: L1BlockId = gen.generate();
227227
let end: L1BlockId = gen.generate();

bin/strata-client/src/extractor.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -599,7 +599,7 @@ mod tests {
599599
let empty_deposits = empty_chain_state.deposits_table_mut();
600600
let mut deposits_table = DepositsTable::new_empty();
601601

602-
let mut arb = ArbitraryGenerator::new();
602+
let mut arb = ArbitraryGenerator::new_with_size(4_096);
603603

604604
let mut operators: Vec<OperatorIdx> = arb.generate();
605605
loop {

crates/btcio/src/reader/query.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -493,8 +493,8 @@ mod test {
493493
/// remain unchanged
494494
#[tokio::test]
495495
async fn test_epoch_change() {
496-
let mut chstate: Chainstate = ArbitraryGenerator::new().generate();
497-
let clstate: ClientState = ArbitraryGenerator::new().generate();
496+
let mut chstate: Chainstate = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
497+
let clstate: ClientState = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
498498
let curr_epoch = chstate.cur_epoch();
499499
println!("curr epoch {:?}", curr_epoch);
500500

@@ -520,12 +520,12 @@ mod test {
520520
/// to the height of last finalized checkpoint.
521521
#[tokio::test]
522522
async fn test_new_filter_rule() {
523-
let mut chstate: Chainstate = ArbitraryGenerator::new().generate();
523+
let mut chstate: Chainstate = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
524524
let curr_epoch = chstate.cur_epoch();
525525

526526
// Create client state with a finalized checkpoint
527-
let mut clstate: ClientState = ArbitraryGenerator::new().generate();
528-
let mut checkpt: L1Checkpoint = ArbitraryGenerator::new().generate();
527+
let mut clstate: ClientState = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
528+
let mut checkpt: L1Checkpoint = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
529529

530530
let chkpt_height = N_RECENT_BLOCKS as u64 - 5; // within recent blocks range, else panics
531531
checkpt.height = chkpt_height;

crates/btcio/src/reader/tx_indexer.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,8 @@ mod test {
290290
let num_envelopes = 1;
291291
let l1_payloads: Vec<_> = (0..num_envelopes)
292292
.map(|_| {
293-
let signed_checkpoint: SignedCheckpoint = ArbitraryGenerator::new().generate();
293+
let signed_checkpoint: SignedCheckpoint =
294+
ArbitraryGenerator::new_with_size(4_096 * 4).generate();
294295
L1Payload::new_checkpoint(borsh::to_vec(&signed_checkpoint).unwrap())
295296
})
296297
.collect();

crates/btcio/src/test_utils.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -425,8 +425,8 @@ pub(crate) mod test_context {
425425
.unwrap();
426426
let cfg = Arc::new(WriterConfig::default());
427427
let status_channel = StatusChannel::new(
428-
ArbitraryGenerator::new().generate(),
429-
ArbitraryGenerator::new().generate(),
428+
ArbitraryGenerator::new_with_size(4_096 * 2).generate(),
429+
ArbitraryGenerator::new_with_size(4_096 * 2).generate(),
430430
None,
431431
);
432432
let params = Arc::new(gen_params());

crates/btcio/src/writer/task.rs

+4-4
Original file line numberDiff line numberDiff line change
@@ -343,20 +343,20 @@ mod test {
343343
fn test_initialize_writer_state_with_existing_payloads() {
344344
let iops = get_envelope_ops();
345345

346-
let mut e1: BundledPayloadEntry = ArbitraryGenerator::new().generate();
346+
let mut e1: BundledPayloadEntry = ArbitraryGenerator::new_with_size(4_096).generate();
347347
e1.status = L1BundleStatus::Finalized;
348348
iops.put_payload_entry_blocking(0, e1).unwrap();
349349

350-
let mut e2: BundledPayloadEntry = ArbitraryGenerator::new().generate();
350+
let mut e2: BundledPayloadEntry = ArbitraryGenerator::new_with_size(4_096).generate();
351351
e2.status = L1BundleStatus::Published;
352352
iops.put_payload_entry_blocking(1, e2).unwrap();
353353
let expected_idx = 1; // All entries before this do not need to be watched.
354354

355-
let mut e3: BundledPayloadEntry = ArbitraryGenerator::new().generate();
355+
let mut e3: BundledPayloadEntry = ArbitraryGenerator::new_with_size(4_096).generate();
356356
e3.status = L1BundleStatus::Unsigned;
357357
iops.put_payload_entry_blocking(2, e3).unwrap();
358358

359-
let mut e4: BundledPayloadEntry = ArbitraryGenerator::new().generate();
359+
let mut e4: BundledPayloadEntry = ArbitraryGenerator::new_with_size(4_096).generate();
360360
e4.status = L1BundleStatus::Unsigned;
361361
iops.put_payload_entry_blocking(3, e4).unwrap();
362362

crates/chaintsn/src/transition.rs

+8-8
Original file line numberDiff line numberDiff line change
@@ -385,7 +385,7 @@ mod tests {
385385

386386
#[test]
387387
fn test_process_l1_view_update_with_deposit_update_tx() {
388-
let mut chs: Chainstate = ArbitraryGenerator::new().generate();
388+
let mut chs: Chainstate = ArbitraryGenerator::new_with_size(4096 * 2).generate();
389389
// get the l1 view state of the chain state
390390
let params = gen_params();
391391
let header_record = chs.l1_view();
@@ -399,9 +399,9 @@ mod tests {
399399
let new_payloads_with_deposit_update_tx: Vec<L1HeaderPayload> =
400400
(1..=params.rollup().l1_reorg_safe_depth + 1)
401401
.map(|idx| {
402-
let record = ArbitraryGenerator::new_with_size(1 << 15).generate();
403-
let proof = ArbitraryGenerator::new_with_size(1 << 12).generate();
404-
let tx = ArbitraryGenerator::new_with_size(1 << 12).generate();
402+
let record = ArbitraryGenerator::new_with_size(32_768).generate();
403+
let proof = ArbitraryGenerator::new_with_size(4_096).generate();
404+
let tx = ArbitraryGenerator::new_with_size(4_096).generate();
405405

406406
let l1tx = if idx == 1 {
407407
let protocol_op = ProtocolOperation::Deposit(DepositInfo {
@@ -411,7 +411,7 @@ mod tests {
411411
});
412412
L1Tx::new(proof, tx, vec![protocol_op])
413413
} else {
414-
ArbitraryGenerator::new_with_size(1 << 15).generate()
414+
ArbitraryGenerator::new_with_size(32_768).generate()
415415
};
416416

417417
let deposit_update_tx = DepositUpdateTx::new(l1tx, idx);
@@ -437,7 +437,7 @@ mod tests {
437437

438438
#[test]
439439
fn test_process_l1_view_update_with_empty_payload() {
440-
let chs: Chainstate = ArbitraryGenerator::new().generate();
440+
let chs: Chainstate = ArbitraryGenerator::new_with_size(4_096).generate();
441441
let params = gen_params();
442442

443443
let mut state_cache = StateCache::new(chs.clone());
@@ -454,7 +454,7 @@ mod tests {
454454

455455
#[test]
456456
fn test_process_l1_view_update_maturation_check() {
457-
let mut chs: Chainstate = ArbitraryGenerator::new().generate();
457+
let mut chs: Chainstate = ArbitraryGenerator::new_with_size(4_096).generate();
458458
let params = gen_params();
459459
let header_record = chs.l1_view();
460460
let old_safe_height = header_record.safe_height();
@@ -467,7 +467,7 @@ mod tests {
467467
let new_payloads_matured: Vec<L1HeaderPayload> = (1..params.rollup().l1_reorg_safe_depth
468468
+ to_mature_blk_num)
469469
.map(|idx| {
470-
let record = ArbitraryGenerator::new_with_size(1 << 15).generate();
470+
let record = ArbitraryGenerator::new_with_size(32_768).generate();
471471
L1HeaderPayload::new(old_safe_height + idx as u64, record)
472472
.with_deposit_update_txs(vec![])
473473
.build()

crates/evmexec/src/engine.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ mod tests {
518518

519519
let el_payload = random_el_payload();
520520

521-
let mut arb = strata_test_utils::ArbitraryGenerator::new();
521+
let mut arb = strata_test_utils::ArbitraryGenerator::new_with_size(32_768);
522522
let l2block: L2Block = arb.generate();
523523
let accessory = L2BlockAccessory::new(borsh::to_vec(&el_payload).unwrap());
524524
let l2block_bundle = L2BlockBundle::new(l2block, accessory);

crates/l1tx/src/filter/mod.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@ mod test {
110110
let num_envelopes = 2;
111111
let l1_payloads: Vec<_> = (0..num_envelopes)
112112
.map(|_| {
113-
let signed_checkpoint: SignedCheckpoint = ArbitraryGenerator::new().generate();
113+
let signed_checkpoint: SignedCheckpoint =
114+
ArbitraryGenerator::new_with_size(4_096 * 4).generate();
114115
L1Payload::new_checkpoint(borsh::to_vec(&signed_checkpoint).unwrap())
115116
})
116117
.collect();

crates/primitives/src/l1/btc.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1327,7 +1327,7 @@ mod tests {
13271327

13281328
#[test]
13291329
fn test_bitcoin_tx_arbitrary_generation() {
1330-
let mut generator = ArbitraryGenerator::new();
1330+
let mut generator = ArbitraryGenerator::new_with_size(4_096 * 4);
13311331
let raw_tx: RawBitcoinTx = generator.generate();
13321332
let _: Transaction = raw_tx.try_into().expect("should generate valid tx");
13331333

crates/proof-impl/btc-blockspace/src/tx_indexer.rs

+2-1
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,8 @@ mod test {
226226
let num_envelopes = 1;
227227
let l1_payloads: Vec<_> = (0..num_envelopes)
228228
.map(|_| {
229-
let signed_checkpoint: SignedCheckpoint = ArbitraryGenerator::new().generate();
229+
let signed_checkpoint: SignedCheckpoint =
230+
ArbitraryGenerator::new_with_size(4_096 * 4).generate();
230231
L1Payload::new_checkpoint(borsh::to_vec(&signed_checkpoint).unwrap())
231232
})
232233
.collect();

crates/rocksdb-store/src/bridge/db.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,7 @@ mod tests {
233233
fn test_bridge_duty_status_db() {
234234
let db = setup_duty_db();
235235

236-
let mut arb = ArbitraryGenerator::new();
236+
let mut arb = ArbitraryGenerator::new_with_size(4_096 * 4);
237237

238238
let duty_status: BridgeDutyStatus = arb.generate();
239239
let txid: BitcoinTxid = arb.generate();

crates/rocksdb-store/src/bridge_relay/db.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,7 @@ mod tests {
118118
}
119119

120120
fn make_bridge_msg() -> (u128, BridgeMessage) {
121-
let mut arb = ArbitraryGenerator::new();
121+
let mut arb = ArbitraryGenerator::new_with_size(4_096 * 2);
122122

123123
let msg: BridgeMessage = arb.generate();
124124

crates/rocksdb-store/src/chain_state/db.rs

+6-6
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ mod tests {
148148

149149
#[test]
150150
fn test_write_genesis_state() {
151-
let genesis_state: Chainstate = ArbitraryGenerator::new().generate();
151+
let genesis_state: Chainstate = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
152152
let db = setup_db();
153153

154154
let res = db.get_earliest_write_idx();
@@ -173,7 +173,7 @@ mod tests {
173173
#[test]
174174
fn test_write_state_update() {
175175
let db = setup_db();
176-
let genesis_state: Chainstate = ArbitraryGenerator::new().generate();
176+
let genesis_state: Chainstate = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
177177
let batch = WriteBatch::new_replace(genesis_state.clone());
178178

179179
let res = db.put_write_batch(1, batch.clone());
@@ -197,7 +197,7 @@ mod tests {
197197
#[test]
198198
fn test_get_earliest_and_last_state_idx() {
199199
let db = setup_db();
200-
let genesis_state: Chainstate = ArbitraryGenerator::new().generate();
200+
let genesis_state: Chainstate = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
201201
let batch = WriteBatch::new_replace(genesis_state.clone());
202202

203203
db.write_genesis_state(genesis_state).unwrap();
@@ -212,7 +212,7 @@ mod tests {
212212
#[test]
213213
fn test_purge() {
214214
let db = setup_db();
215-
let genesis_state: Chainstate = ArbitraryGenerator::new().generate();
215+
let genesis_state: Chainstate = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
216216
let batch = WriteBatch::new_replace(genesis_state.clone());
217217

218218
db.write_genesis_state(genesis_state).unwrap();
@@ -248,7 +248,7 @@ mod tests {
248248
#[test]
249249
fn test_rollback() {
250250
let db = setup_db();
251-
let genesis_state: Chainstate = ArbitraryGenerator::new().generate();
251+
let genesis_state: Chainstate = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
252252
let batch = WriteBatch::new_replace(genesis_state.clone());
253253

254254
db.write_genesis_state(genesis_state).unwrap();
@@ -289,7 +289,7 @@ mod tests {
289289
#[test]
290290
fn test_purge_and_rollback() {
291291
let db = setup_db();
292-
let genesis_state: Chainstate = ArbitraryGenerator::new().generate();
292+
let genesis_state: Chainstate = ArbitraryGenerator::new_with_size(4_096 * 2).generate();
293293
let batch = WriteBatch::new_replace(genesis_state.clone());
294294

295295
db.write_genesis_state(genesis_state).unwrap();

crates/rocksdb-store/src/checkpoint/db.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ mod tests {
5757
let seq_db = RBCheckpointDB::new(db, db_ops);
5858

5959
let batchidx = 1;
60-
let checkpoint: CheckpointEntry = ArbitraryGenerator::new().generate();
60+
let checkpoint: CheckpointEntry = ArbitraryGenerator::new_with_size(4_096 * 4).generate();
6161
seq_db
6262
.put_batch_checkpoint(batchidx, checkpoint.clone())
6363
.unwrap();
@@ -72,7 +72,7 @@ mod tests {
7272
let seq_db = RBCheckpointDB::new(db, db_ops);
7373

7474
let batchidx = 1;
75-
let checkpoint: CheckpointEntry = ArbitraryGenerator::new().generate();
75+
let checkpoint: CheckpointEntry = ArbitraryGenerator::new_with_size(4_096 * 4).generate();
7676
seq_db
7777
.put_batch_checkpoint(batchidx, checkpoint.clone())
7878
.unwrap();
@@ -87,7 +87,7 @@ mod tests {
8787
let (db, db_ops) = get_rocksdb_tmp_instance().unwrap();
8888
let seq_db = RBCheckpointDB::new(db, db_ops);
8989

90-
let checkpoint: CheckpointEntry = ArbitraryGenerator::new().generate();
90+
let checkpoint: CheckpointEntry = ArbitraryGenerator::new_with_size(4_096 * 4).generate();
9191
seq_db
9292
.put_batch_checkpoint(100, checkpoint.clone())
9393
.unwrap();
@@ -100,7 +100,7 @@ mod tests {
100100
let (db, db_ops) = get_rocksdb_tmp_instance().unwrap();
101101
let seq_db = RBCheckpointDB::new(db, db_ops);
102102

103-
let checkpoint: CheckpointEntry = ArbitraryGenerator::new().generate();
103+
let checkpoint: CheckpointEntry = ArbitraryGenerator::new_with_size(4_096 * 4).generate();
104104
seq_db
105105
.put_batch_checkpoint(100, checkpoint.clone())
106106
.unwrap();
@@ -122,7 +122,7 @@ mod tests {
122122
let (db, db_ops) = get_rocksdb_tmp_instance().unwrap();
123123
let seq_db = RBCheckpointDB::new(db, db_ops);
124124

125-
let checkpoint: CheckpointEntry = ArbitraryGenerator::new().generate();
125+
let checkpoint: CheckpointEntry = ArbitraryGenerator::new_with_size(4_096 * 4).generate();
126126

127127
for expected_idx in 0..=256 {
128128
let last_idx = seq_db.get_last_batch_idx().unwrap().unwrap_or(0);

crates/rocksdb-store/src/client_state/db.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ mod tests {
9090

9191
#[test]
9292
fn test_write_consensus_output() {
93-
let output: ClientUpdateOutput = ArbitraryGenerator::new().generate();
93+
let output: ClientUpdateOutput = ArbitraryGenerator::new_with_size(4_096).generate();
9494
let db = setup_db();
9595

9696
let res = db.put_client_update(2, output.clone());
@@ -113,7 +113,7 @@ mod tests {
113113
let idx = db.get_last_state_idx();
114114
assert!(matches!(idx, Err(DbError::NotBootstrapped)));
115115

116-
let output: ClientUpdateOutput = ArbitraryGenerator::new().generate();
116+
let output: ClientUpdateOutput = ArbitraryGenerator::new_with_size(4_096).generate();
117117
db.put_client_update(0, output.clone())
118118
.expect("test: insert");
119119
db.put_client_update(1, output.clone())
@@ -125,7 +125,7 @@ mod tests {
125125

126126
#[test]
127127
fn test_get_consensus_update() {
128-
let output: ClientUpdateOutput = ArbitraryGenerator::new().generate();
128+
let output: ClientUpdateOutput = ArbitraryGenerator::new_with_size(4_096).generate();
129129

130130
let db = setup_db();
131131
db.put_client_update(0, output.clone())

crates/rocksdb-store/src/l1/db.rs

+11-7
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ mod tests {
201201
db: &L1Db,
202202
num_txs: usize,
203203
) -> (L1BlockManifest, Vec<L1Tx>, CompactMmr) {
204-
let mut arb = ArbitraryGenerator::new_with_size(1 << 12);
204+
let mut arb = ArbitraryGenerator::new_with_size(4_096);
205205

206206
// TODO maybe tweak this to make it a bit more realistic?
207207
let mf: L1BlockManifest = arb.generate();
@@ -248,21 +248,25 @@ mod tests {
248248
let invalid_idxs = vec![1, 2, 5000, 1000, 1002, 999]; // basically any id beside idx + 1
249249
for invalid_idx in invalid_idxs {
250250
let txs: Vec<L1Tx> = (0..10)
251-
.map(|_| ArbitraryGenerator::new().generate())
251+
.map(|_| ArbitraryGenerator::new_with_size(2_048).generate())
252252
.collect();
253253
let res = db.put_block_data(
254254
invalid_idx,
255-
ArbitraryGenerator::new().generate::<L1BlockManifest>(),
255+
ArbitraryGenerator::new_with_size(1_024).generate::<L1BlockManifest>(),
256256
txs,
257257
);
258258
assert!(res.is_err(), "Should fail to insert to db");
259259
}
260260

261261
let valid_idx = idx + 1;
262262
let txs: Vec<L1Tx> = (0..10)
263-
.map(|_| ArbitraryGenerator::new().generate())
263+
.map(|_| ArbitraryGenerator::new_with_size(1_024).generate())
264264
.collect();
265-
let res = db.put_block_data(valid_idx, ArbitraryGenerator::new().generate(), txs);
265+
let res = db.put_block_data(
266+
valid_idx,
267+
ArbitraryGenerator::new_with_size(1_024).generate(),
268+
txs,
269+
);
266270
assert!(res.is_ok(), "Should successfully insert to db");
267271
}
268272

@@ -330,7 +334,7 @@ mod tests {
330334
fn test_put_mmr_checkpoint_invalid() {
331335
let db = setup_db();
332336
let _ = insert_block_data(1, &db, 10);
333-
let mmr: CompactMmr = ArbitraryGenerator::new().generate();
337+
let mmr: CompactMmr = ArbitraryGenerator::new_with_size(2_048).generate();
334338
let invalid_idxs = vec![0, 2, 4, 5, 6, 100, 1000]; // any idx except 1
335339
for idx in invalid_idxs {
336340
let res = db.put_mmr_checkpoint(idx, mmr.clone());
@@ -342,7 +346,7 @@ mod tests {
342346
fn test_put_mmr_checkpoint_valid() {
343347
let db = setup_db();
344348
let _ = insert_block_data(1, &db, 10);
345-
let mmr: CompactMmr = ArbitraryGenerator::new().generate();
349+
let mmr: CompactMmr = ArbitraryGenerator::new_with_size(2_048).generate();
346350
let res = db.put_mmr_checkpoint(1, mmr);
347351
assert!(res.is_ok());
348352
}

crates/rocksdb-store/src/l2/db.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -114,7 +114,7 @@ mod tests {
114114
use crate::test_utils::get_rocksdb_tmp_instance;
115115

116116
fn get_mock_data() -> L2BlockBundle {
117-
let mut arb = ArbitraryGenerator::new_with_size(1 << 14);
117+
let mut arb = ArbitraryGenerator::new_with_size(16_384);
118118
let l2_block: L2BlockBundle = arb.generate();
119119

120120
l2_block

0 commit comments

Comments
 (0)