From 577a509b98cbe47a629788ab185298a6b9a8884d Mon Sep 17 00:00:00 2001 From: guibescos <59208140+guibescos@users.noreply.github.com> Date: Tue, 10 Sep 2024 13:28:56 +0100 Subject: [PATCH] fix: deprecate transfer epoch (#524) --- staking/programs/staking/src/lib.rs | 6 ------ staking/programs/staking/src/state/stake_account.rs | 9 ++++----- staking/target/idl/staking.json | 2 +- staking/target/types/staking.ts | 2 +- staking/tests/staking.ts | 2 +- 5 files changed, 7 insertions(+), 14 deletions(-) diff --git a/staking/programs/staking/src/lib.rs b/staking/programs/staking/src/lib.rs index 295548b00..fc3226a41 100644 --- a/staking/programs/staking/src/lib.rs +++ b/staking/programs/staking/src/lib.rs @@ -565,12 +565,6 @@ pub mod staking { return Err(error!(ErrorCode::InvalidVotingEpoch)); } - if let Some(transfer_epoch) = ctx.accounts.stake_account_metadata.transfer_epoch { - if epoch_of_snapshot <= transfer_epoch { - return Err(error!(ErrorCode::VoteDuringTransferEpoch)); - } - } - voter_record.voter_weight = compute_voter_weight( stake_account_positions, epoch_of_snapshot, diff --git a/staking/programs/staking/src/state/stake_account.rs b/staking/programs/staking/src/state/stake_account.rs index df0b99c2e..a0852017e 100644 --- a/staking/programs/staking/src/state/stake_account.rs +++ b/staking/programs/staking/src/state/stake_account.rs @@ -23,8 +23,7 @@ pub struct StakeAccountMetadataV2 { pub owner: Pubkey, pub lock: VestingSchedule, pub next_index: u8, - pub transfer_epoch: Option, /* null if the account was created, some epoch if - * the account received a transfer */ + pub _deprecated: Option, pub signed_agreement_hash: Option<[u8; 32]>, } @@ -56,7 +55,7 @@ impl StakeAccountMetadataV2 { self.voter_bump = 0; self.owner = *owner; self.next_index = 0; - self.transfer_epoch = None; + self._deprecated = None; self.signed_agreement_hash = None; } @@ -96,7 +95,7 @@ pub mod tests { owner: Pubkey::default(), lock: VestingSchedule::FullyVested, next_index: 0, - transfer_epoch: None, + _deprecated: None, signed_agreement_hash: Some([0; 32]), }; assert!(stake_account_metadata_llc_member @@ -116,7 +115,7 @@ pub mod tests { owner: Pubkey::default(), lock: VestingSchedule::FullyVested, next_index: 0, - transfer_epoch: None, + _deprecated: None, signed_agreement_hash: None, }; assert!(stake_account_metadata_non_llc_member diff --git a/staking/target/idl/staking.json b/staking/target/idl/staking.json index 5d7d4b984..ffae4f43e 100644 --- a/staking/target/idl/staking.json +++ b/staking/target/idl/staking.json @@ -2853,7 +2853,7 @@ "type": "u8" }, { - "name": "transfer_epoch", + "name": "_deprecated", "type": { "option": "u64" } diff --git a/staking/target/types/staking.ts b/staking/target/types/staking.ts index b8ed6f8f3..f74469c85 100644 --- a/staking/target/types/staking.ts +++ b/staking/target/types/staking.ts @@ -2859,7 +2859,7 @@ export type Staking = { "type": "u8" }, { - "name": "transferEpoch", + "name": "deprecated", "type": { "option": "u64" } diff --git a/staking/tests/staking.ts b/staking/tests/staking.ts index 213910c35..8490806ae 100644 --- a/staking/tests/staking.ts +++ b/staking/tests/staking.ts @@ -125,7 +125,7 @@ describe("staking", async () => { owner, lock: { fullyVested: {} }, nextIndex: 0, - transferEpoch: null, + deprecated: null, signedAgreementHash: null, }) );