@@ -4,7 +4,7 @@ use aptos_db::AptosDB;
4
4
use aptos_sdk:: move_types:: vm_status:: StatusCode ;
5
5
use aptos_types:: block_executor:: partitioner:: TxnIndex ;
6
6
use aptos_types:: state_store:: StateView ;
7
- use aptos_types:: transaction:: { Transaction , TransactionOutput , WriteSetPayload } ;
7
+ use aptos_types:: transaction:: { Transaction , TransactionOutput , Version , WriteSetPayload } ;
8
8
use aptos_types:: vm_status:: VMStatus ;
9
9
use aptos_types:: {
10
10
chain_id:: ChainId , transaction:: signature_verified_transaction:: SignatureVerifiedTransaction ,
@@ -19,7 +19,7 @@ use aptos_vm_types::output::VMOutput;
19
19
use aptos_language_e2e_tests:: executor:: FakeExecutor ;
20
20
use aptos_vm_types:: resolver:: { ExecutorView , ResourceGroupView } ;
21
21
use fail:: fail_point;
22
- use crate :: aptos:: db:: AptosDb ;
22
+ use crate :: aptos:: db:: { AptosDb , SovAptosDb } ;
23
23
24
24
pub ( crate ) struct AptosExecutor < ' a , S > {
25
25
vm : AptosVM ,
@@ -107,12 +107,15 @@ impl<'a, S: 'a + StateView + Sync> ExecutorTask for AptosExecutor<'a, S> {
107
107
}
108
108
}
109
109
110
- pub fn execute_block (
111
- db : StateValue < AptosDB > ,
110
+ pub fn execute_block < S > (
111
+ db : SovAptosDb < S > ,
112
+ version : Version ,
112
113
transactions : & [ SignatureVerifiedTransaction ] ,
113
114
onchain_config : BlockExecutorConfigFromOnchain ,
114
- ) {
115
- let db = db. get ( ) . unwrap ( ) ;
115
+ )
116
+ where S : sov_modules_api:: Spec
117
+ {
118
+ let state= db. state_view_at_version ( Some ( version) ) . expect ( "Failed to create state view" ) ;
116
119
117
- let foo= AptosVM :: execute_block ( transactions, state_view , onchain_config) ;
120
+ let foo= AptosVM :: execute_block ( transactions, & state , onchain_config) ;
118
121
}
0 commit comments