@@ -2331,21 +2331,31 @@ mod tests {
23312331 let min_balance = Rent :: default ( ) . minimum_balance ( nonce:: state:: State :: size ( ) ) ;
23322332 let priority_fee = compute_unit_limit;
23332333
2334+ let nonce_versions = nonce:: versions:: Versions :: new ( nonce:: state:: State :: Initialized (
2335+ nonce:: state:: Data :: new (
2336+ * fee_payer_address,
2337+ DurableNonce :: default ( ) ,
2338+ lamports_per_signature,
2339+ ) ,
2340+ ) ) ;
2341+
2342+ let environment_blockhash = Hash :: new_unique ( ) ;
2343+ let next_durable_nonce = DurableNonce :: from_blockhash ( & environment_blockhash) ;
2344+
23342345 // Sufficient Fees
23352346 {
23362347 let fee_payer_account = AccountSharedData :: new_data (
23372348 min_balance + transaction_fee + priority_fee,
2338- & nonce:: versions:: Versions :: new ( nonce:: state:: State :: Initialized (
2339- nonce:: state:: Data :: new (
2340- * fee_payer_address,
2341- DurableNonce :: default ( ) ,
2342- lamports_per_signature,
2343- ) ,
2344- ) ) ,
2349+ & nonce_versions,
23452350 & system_program:: id ( ) ,
23462351 )
23472352 . unwrap ( ) ;
23482353
2354+ let mut future_nonce = NonceInfo :: new ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
2355+ future_nonce
2356+ . try_advance_nonce ( next_durable_nonce, lamports_per_signature)
2357+ . unwrap ( ) ;
2358+
23492359 let mut mock_accounts = HashMap :: new ( ) ;
23502360 mock_accounts. insert ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
23512361 let mut mock_bank = MockBankCallback {
@@ -2358,13 +2368,6 @@ mod tests {
23582368
23592369 let mut error_counters = TransactionErrorMetrics :: default ( ) ;
23602370
2361- let environment_blockhash = Hash :: new_unique ( ) ;
2362- let next_durable_nonce = DurableNonce :: from_blockhash ( & environment_blockhash) ;
2363- let mut future_nonce = NonceInfo :: new ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
2364- future_nonce
2365- . try_advance_nonce ( next_durable_nonce, lamports_per_signature)
2366- . unwrap ( ) ;
2367-
23682371 let tx_details = CheckedTransactionDetails :: new (
23692372 Some ( future_nonce. clone ( ) ) ,
23702373 compute_budget_and_limits,
@@ -2417,13 +2420,16 @@ mod tests {
24172420 {
24182421 let fee_payer_account = AccountSharedData :: new_data (
24192422 transaction_fee + priority_fee, // no min_balance this time
2420- & nonce:: versions:: Versions :: new ( nonce:: state:: State :: Initialized (
2421- nonce:: state:: Data :: default ( ) ,
2422- ) ) ,
2423+ & nonce_versions,
24232424 & system_program:: id ( ) ,
24242425 )
24252426 . unwrap ( ) ;
24262427
2428+ let mut future_nonce = NonceInfo :: new ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
2429+ future_nonce
2430+ . try_advance_nonce ( next_durable_nonce, lamports_per_signature)
2431+ . unwrap ( ) ;
2432+
24272433 let mut mock_accounts = HashMap :: new ( ) ;
24282434 mock_accounts. insert ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
24292435 let mock_bank = MockBankCallback {
@@ -2433,11 +2439,17 @@ mod tests {
24332439 let mut account_loader = ( & mock_bank) . into ( ) ;
24342440
24352441 let mut error_counters = TransactionErrorMetrics :: default ( ) ;
2442+
2443+ let tx_details = CheckedTransactionDetails :: new (
2444+ Some ( future_nonce. clone ( ) ) ,
2445+ compute_budget_and_limits,
2446+ ) ;
2447+
24362448 let result = TransactionBatchProcessor :: < TestForkGraph > :: validate_transaction_nonce_and_fee_payer (
24372449 & mut account_loader,
24382450 & message,
2439- CheckedTransactionDetails :: new ( None , compute_budget_and_limits ) ,
2440- & Hash :: default ( ) ,
2451+ tx_details ,
2452+ & environment_blockhash ,
24412453 & rent,
24422454 & mut error_counters,
24432455 ) ;
0 commit comments