@@ -415,7 +415,7 @@ where
415
415
this. eth_api . tx_resp_builder ( ) ,
416
416
) ?;
417
417
418
- let BundleState { state : bundle_state, contracts , .. } = state;
418
+ let BundleState { state : bundle_state, .. } = state;
419
419
420
420
let state = this. eth_api . state_at_block_id ( block_hash. into ( ) ) ?;
421
421
let parent_state = db. db . into_inner ( ) ;
@@ -437,6 +437,7 @@ where
437
437
438
438
let mut account_proofs = vec ! [ ] ;
439
439
let mut parent_account_proofs = vec ! [ ] ;
440
+ let mut contracts = HashMap :: new ( ) ;
440
441
441
442
for ( address, account) in bundle_state {
442
443
let storage_keys: Vec < B256 > =
@@ -453,17 +454,20 @@ where
453
454
. proof ( Default :: default ( ) , address, storage_keys. as_slice ( ) )
454
455
. map_err ( Eth :: Error :: from_eth_err) ?;
455
456
account_proofs. push ( proof. into_eip1186_response ( keys) ) ;
457
+
458
+ if let Some ( original_info) = account. original_info {
459
+ if let Some ( code) = original_info. code {
460
+ contracts. insert ( original_info. code_hash , code. bytes ( ) ) ;
461
+ }
462
+ }
456
463
}
457
464
458
465
Ok ( ProvingPreflight {
459
466
block : rpc_block,
460
467
parent_header : rpc_parent_block. header ,
461
468
account_proofs,
462
469
parent_account_proofs,
463
- contracts : contracts
464
- . into_iter ( )
465
- . map ( |( k, v) | ( k, v. original_bytes ( ) ) )
466
- . collect ( ) ,
470
+ contracts,
467
471
ancestor_headers,
468
472
} )
469
473
} )
0 commit comments