@@ -2268,21 +2268,31 @@ mod tests {
22682268 let min_balance = Rent :: default ( ) . minimum_balance ( nonce:: state:: State :: size ( ) ) ;
22692269 let priority_fee = compute_unit_limit;
22702270
2271+ let nonce_versions = nonce:: versions:: Versions :: new ( nonce:: state:: State :: Initialized (
2272+ nonce:: state:: Data :: new (
2273+ * fee_payer_address,
2274+ DurableNonce :: default ( ) ,
2275+ lamports_per_signature,
2276+ ) ,
2277+ ) ) ;
2278+
2279+ let environment_blockhash = Hash :: new_unique ( ) ;
2280+ let next_durable_nonce = DurableNonce :: from_blockhash ( & environment_blockhash) ;
2281+
22712282 // Sufficient Fees
22722283 {
22732284 let fee_payer_account = AccountSharedData :: new_data (
22742285 min_balance + transaction_fee + priority_fee,
2275- & nonce:: versions:: Versions :: new ( nonce:: state:: State :: Initialized (
2276- nonce:: state:: Data :: new (
2277- * fee_payer_address,
2278- DurableNonce :: default ( ) ,
2279- lamports_per_signature,
2280- ) ,
2281- ) ) ,
2286+ & nonce_versions,
22822287 & system_program:: id ( ) ,
22832288 )
22842289 . unwrap ( ) ;
22852290
2291+ let mut future_nonce = NonceInfo :: new ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
2292+ future_nonce
2293+ . try_advance_nonce ( next_durable_nonce, lamports_per_signature)
2294+ . unwrap ( ) ;
2295+
22862296 let mut mock_accounts = HashMap :: new ( ) ;
22872297 mock_accounts. insert ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
22882298 let mut mock_bank = MockBankCallback {
@@ -2295,13 +2305,6 @@ mod tests {
22952305
22962306 let mut error_counters = TransactionErrorMetrics :: default ( ) ;
22972307
2298- let environment_blockhash = Hash :: new_unique ( ) ;
2299- let next_durable_nonce = DurableNonce :: from_blockhash ( & environment_blockhash) ;
2300- let mut future_nonce = NonceInfo :: new ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
2301- future_nonce
2302- . try_advance_nonce ( next_durable_nonce, lamports_per_signature)
2303- . unwrap ( ) ;
2304-
23052308 let tx_details = CheckedTransactionDetails :: new (
23062309 Some ( future_nonce. clone ( ) ) ,
23072310 compute_budget_and_limits,
@@ -2354,13 +2357,16 @@ mod tests {
23542357 {
23552358 let fee_payer_account = AccountSharedData :: new_data (
23562359 transaction_fee + priority_fee, // no min_balance this time
2357- & nonce:: versions:: Versions :: new ( nonce:: state:: State :: Initialized (
2358- nonce:: state:: Data :: default ( ) ,
2359- ) ) ,
2360+ & nonce_versions,
23602361 & system_program:: id ( ) ,
23612362 )
23622363 . unwrap ( ) ;
23632364
2365+ let mut future_nonce = NonceInfo :: new ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
2366+ future_nonce
2367+ . try_advance_nonce ( next_durable_nonce, lamports_per_signature)
2368+ . unwrap ( ) ;
2369+
23642370 let mut mock_accounts = HashMap :: new ( ) ;
23652371 mock_accounts. insert ( * fee_payer_address, fee_payer_account. clone ( ) ) ;
23662372 let mock_bank = MockBankCallback {
@@ -2370,11 +2376,17 @@ mod tests {
23702376 let mut account_loader = ( & mock_bank) . into ( ) ;
23712377
23722378 let mut error_counters = TransactionErrorMetrics :: default ( ) ;
2379+
2380+ let tx_details = CheckedTransactionDetails :: new (
2381+ Some ( future_nonce. clone ( ) ) ,
2382+ compute_budget_and_limits,
2383+ ) ;
2384+
23732385 let result = TransactionBatchProcessor :: < TestForkGraph > :: validate_transaction_nonce_and_fee_payer (
23742386 & mut account_loader,
23752387 & message,
2376- CheckedTransactionDetails :: new ( None , compute_budget_and_limits ) ,
2377- & Hash :: default ( ) ,
2388+ tx_details ,
2389+ & environment_blockhash ,
23782390 & rent,
23792391 & mut error_counters,
23802392 ) ;
0 commit comments