Skip to content
This repository was archived by the owner on Mar 11, 2025. It is now read-only.

Commit 25a4a67

Browse files
authored
stake-pool: Refresh blockhash more often to please CI (#4041)
1 parent 3249a0c commit 25a4a67

File tree

1 file changed

+31
-7
lines changed

1 file changed

+31
-7
lines changed

stake-pool/program/tests/withdraw_edge_cases.rs

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -582,11 +582,17 @@ async fn fail_withdraw_from_transient() {
582582
tokens_to_withdraw,
583583
) = setup_for_withdraw(spl_token::id()).await;
584584

585+
let last_blockhash = context
586+
.banks_client
587+
.get_new_latest_blockhash(&context.last_blockhash)
588+
.await
589+
.unwrap();
590+
585591
// add a preferred withdraw validator, keep it empty, to be sure that this works
586592
let preferred_validator = simple_add_validator_to_pool(
587593
&mut context.banks_client,
588594
&context.payer,
589-
&context.last_blockhash,
595+
&last_blockhash,
590596
&stake_pool_accounts,
591597
None,
592598
)
@@ -596,12 +602,18 @@ async fn fail_withdraw_from_transient() {
596602
.set_preferred_validator(
597603
&mut context.banks_client,
598604
&context.payer,
599-
&context.last_blockhash,
605+
&last_blockhash,
600606
instruction::PreferredValidatorType::Withdraw,
601607
Some(preferred_validator.vote.pubkey()),
602608
)
603609
.await;
604610

611+
let last_blockhash = context
612+
.banks_client
613+
.get_new_latest_blockhash(&last_blockhash)
614+
.await
615+
.unwrap();
616+
605617
let rent = context.banks_client.get_rent().await.unwrap();
606618
let stake_rent = rent.minimum_balance(std::mem::size_of::<stake::state::StakeState>());
607619

@@ -610,7 +622,7 @@ async fn fail_withdraw_from_transient() {
610622
.decrease_validator_stake(
611623
&mut context.banks_client,
612624
&context.payer,
613-
&context.last_blockhash,
625+
&last_blockhash,
614626
&validator_stake_account.stake_account,
615627
&validator_stake_account.transient_stake_account,
616628
deposit_info.stake_lamports + stake_rent - 2,
@@ -625,7 +637,7 @@ async fn fail_withdraw_from_transient() {
625637
.withdraw_stake(
626638
&mut context.banks_client,
627639
&context.payer,
628-
&context.last_blockhash,
640+
&last_blockhash,
629641
&user_stake_recipient.pubkey(),
630642
&user_transfer_authority,
631643
&deposit_info.pool_account.pubkey(),
@@ -657,11 +669,17 @@ async fn success_withdraw_from_transient() {
657669
tokens_to_withdraw,
658670
) = setup_for_withdraw(spl_token::id()).await;
659671

672+
let last_blockhash = context
673+
.banks_client
674+
.get_new_latest_blockhash(&context.last_blockhash)
675+
.await
676+
.unwrap();
677+
660678
// add a preferred withdraw validator, keep it empty, to be sure that this works
661679
let preferred_validator = simple_add_validator_to_pool(
662680
&mut context.banks_client,
663681
&context.payer,
664-
&context.last_blockhash,
682+
&last_blockhash,
665683
&stake_pool_accounts,
666684
None,
667685
)
@@ -680,12 +698,18 @@ async fn success_withdraw_from_transient() {
680698
let rent = context.banks_client.get_rent().await.unwrap();
681699
let stake_rent = rent.minimum_balance(std::mem::size_of::<stake::state::StakeState>());
682700

701+
let last_blockhash = context
702+
.banks_client
703+
.get_new_latest_blockhash(&last_blockhash)
704+
.await
705+
.unwrap();
706+
683707
// decrease all of stake
684708
let error = stake_pool_accounts
685709
.decrease_validator_stake(
686710
&mut context.banks_client,
687711
&context.payer,
688-
&context.last_blockhash,
712+
&last_blockhash,
689713
&validator_stake_account.stake_account,
690714
&validator_stake_account.transient_stake_account,
691715
deposit_info.stake_lamports + stake_rent,
@@ -701,7 +725,7 @@ async fn success_withdraw_from_transient() {
701725
.withdraw_stake(
702726
&mut context.banks_client,
703727
&context.payer,
704-
&context.last_blockhash,
728+
&last_blockhash,
705729
&user_stake_recipient.pubkey(),
706730
&user_transfer_authority,
707731
&deposit_info.pool_account.pubkey(),

0 commit comments

Comments
 (0)