@@ -422,12 +422,15 @@ func GenerateChain(config *params.ChainConfig, parent *types.Block, engine conse
422
422
return block , b .receipts
423
423
}
424
424
425
+ verkledb := triedb .NewDatabase (db , triedb .VerkleDefaults )
426
+ defer verkledb .Close ()
427
+
425
428
// Forcibly use hash-based state scheme for retaining all nodes in disk.
426
429
triedb := triedb .NewDatabase (db , triedb .HashDefaults )
427
430
defer triedb .Close ()
428
431
429
432
for i := 0 ; i < n ; i ++ {
430
- statedb , err := state .New (parent .Root (), state .NewDatabase (triedb , nil ))
433
+ statedb , err := state .New (parent .Root (), state .NewDatabase (triedb , verkledb , nil ))
431
434
if err != nil {
432
435
panic (err )
433
436
}
@@ -468,17 +471,19 @@ func GenerateChain(config *params.ChainConfig, parent *types.Block, engine conse
468
471
// then generate chain on top.
469
472
func GenerateChainWithGenesis (genesis * Genesis , engine consensus.Engine , n int , gen func (int , * BlockGen )) (ethdb.Database , []* types.Block , []types.Receipts ) {
470
473
db := rawdb .NewMemoryDatabase ()
474
+ verkledb := triedb .NewDatabase (db , triedb .VerkleDefaults )
475
+ defer verkledb .Close ()
471
476
triedb := triedb .NewDatabase (db , triedb .HashDefaults )
472
477
defer triedb .Close ()
473
- _ , err := genesis .Commit (db , triedb )
478
+ _ , err := genesis .Commit (db , triedb , verkledb )
474
479
if err != nil {
475
480
panic (err )
476
481
}
477
482
blocks , receipts := GenerateChain (genesis .Config , genesis .ToBlock (), engine , db , n , gen )
478
483
return db , blocks , receipts
479
484
}
480
485
481
- func GenerateVerkleChain (config * params.ChainConfig , parent * types.Block , engine consensus.Engine , db ethdb.Database , trdb * triedb.Database , n int , gen func (int , * BlockGen )) ([]* types.Block , []types.Receipts , []* verkle.VerkleProof , []verkle.StateDiff ) {
486
+ func GenerateVerkleChain (config * params.ChainConfig , parent * types.Block , engine consensus.Engine , db ethdb.Database , trdb , vdb * triedb.Database , n int , gen func (int , * BlockGen )) ([]* types.Block , []types.Receipts , []* verkle.VerkleProof , []verkle.StateDiff ) {
482
487
if config == nil {
483
488
config = params .TestChainConfig
484
489
}
@@ -536,7 +541,7 @@ func GenerateVerkleChain(config *params.ChainConfig, parent *types.Block, engine
536
541
return block , b .receipts
537
542
}
538
543
539
- sdb := state .NewDatabase (trdb , nil )
544
+ sdb := state .NewDatabase (trdb , vdb , nil )
540
545
541
546
for i := 0 ; i < n ; i ++ {
542
547
statedb , err := state .New (parent .Root (), sdb )
@@ -580,13 +585,14 @@ func GenerateVerkleChainWithGenesis(genesis *Genesis, engine consensus.Engine, n
580
585
saveVerkleTransitionStatusAtVerlkeGenesis (db )
581
586
cacheConfig := DefaultCacheConfigWithScheme (rawdb .PathScheme )
582
587
cacheConfig .SnapshotLimit = 0
583
- triedb := triedb .NewDatabase (db , cacheConfig .triedbConfig (true ))
588
+ verkledb := triedb .NewDatabase (db , cacheConfig .triedbConfig (true ))
589
+ triedb := triedb .NewDatabase (db , triedb .VerkleDefaults )
584
590
defer triedb .Close ()
585
- genesisBlock , err := genesis .Commit (db , triedb )
591
+ genesisBlock , err := genesis .Commit (db , triedb , verkledb )
586
592
if err != nil {
587
593
panic (err )
588
594
}
589
- blocks , receipts , proofs , keyvals := GenerateVerkleChain (genesis .Config , genesisBlock , engine , db , triedb , n , gen )
595
+ blocks , receipts , proofs , keyvals := GenerateVerkleChain (genesis .Config , genesisBlock , engine , db , triedb , verkledb , n , gen )
590
596
return genesisBlock .Hash (), db , blocks , receipts , proofs , keyvals
591
597
}
592
598
0 commit comments