Skip to content

Commit 82a188a

Browse files
committed
Use Account instead of InterfaceAccount
1 parent adde122 commit 82a188a

8 files changed

+28
-40
lines changed

solana/programs/staking/src/contexts/cancel_vesting.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use anchor_lang::prelude::*;
22
use anchor_spl::associated_token::AssociatedToken;
3-
use anchor_spl::token_interface::{Mint, TokenAccount};
4-
use anchor_spl::token::Token;
3+
use anchor_spl::token::{Mint, Token, TokenAccount};
54
use crate::context::{VESTING_BALANCE_SEED, VESTING_CONFIG_SEED, VEST_SEED, CONFIG_SEED};
65
use crate::error::VestingError;
76
use crate::state::{Vesting, VestingBalance, VestingConfig};
@@ -15,13 +14,13 @@ pub struct CancelVesting<'info> {
1514
@ VestingError::InvalidVestingAdmin
1615
)]
1716
admin: Signer<'info>,
18-
mint: InterfaceAccount<'info, Mint>,
17+
mint: Account<'info, Mint>,
1918
#[account(
2019
associated_token::mint = mint,
2120
associated_token::authority = vester_ta.owner,
2221
associated_token::token_program = token_program
2322
)]
24-
vester_ta: InterfaceAccount<'info, TokenAccount>,
23+
vester_ta: Account<'info, TokenAccount>,
2524
#[account(
2625
mut,
2726
constraint = !config.finalized @ VestingError::VestingFinalized, // Vesting cannot be cancelled after vest is finalized

solana/programs/staking/src/contexts/claim_vesting.rs

+4-7
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,29 @@ use crate::{
88
};
99
use anchor_lang::prelude::*;
1010
use anchor_spl::associated_token::AssociatedToken;
11-
use anchor_spl::token_interface::{
12-
transfer_checked, Mint, TokenAccount, TransferChecked,
13-
};
14-
use anchor_spl::token::Token;
11+
use anchor_spl::token::{Mint, Token, TokenAccount, transfer_checked, TransferChecked};
1512
use std::convert::TryInto;
1613

1714
#[event_cpi]
1815
#[derive(Accounts)]
1916
pub struct ClaimVesting<'info> {
2017
#[account(mut)]
2118
vester: Signer<'info>,
22-
mint: InterfaceAccount<'info, Mint>,
19+
mint: Account<'info, Mint>,
2320
#[account(
2421
mut,
2522
associated_token::mint = mint,
2623
associated_token::authority = config,
2724
associated_token::token_program = token_program
2825
)]
29-
vault: InterfaceAccount<'info, TokenAccount>,
26+
vault: Account<'info, TokenAccount>,
3027
#[account(
3128
mut,
3229
associated_token::mint = mint,
3330
associated_token::authority = vester,
3431
associated_token::token_program = token_program
3532
)]
36-
vester_ta: InterfaceAccount<'info, TokenAccount>,
33+
vester_ta: Account<'info, TokenAccount>,
3734
#[account(
3835
mut,
3936
constraint = config.finalized @ VestingError::VestingUnfinalized,

solana/programs/staking/src/contexts/create_vesting.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
use anchor_lang::prelude::*;
22
use anchor_spl::associated_token::AssociatedToken;
3-
use anchor_spl::token_interface::{Mint, TokenAccount};
4-
use anchor_spl::token::Token;
3+
use anchor_spl::token::{Mint, Token, TokenAccount};
54
use crate::context::{CONFIG_SEED, VESTING_BALANCE_SEED, VESTING_CONFIG_SEED, VEST_SEED};
65
use crate::error::VestingError;
76
use crate::state::global_config::GlobalConfig;
@@ -16,13 +15,13 @@ pub struct CreateVesting<'info> {
1615
@ VestingError::InvalidVestingAdmin
1716
)]
1817
admin: Signer<'info>,
19-
mint: InterfaceAccount<'info, Mint>,
18+
mint: Account<'info, Mint>,
2019
#[account(
2120
associated_token::mint = mint,
2221
associated_token::authority = vester_ta.owner,
2322
associated_token::token_program = token_program
2423
)]
25-
vester_ta: InterfaceAccount<'info, TokenAccount>,
24+
vester_ta: Account<'info, TokenAccount>,
2625
#[account(
2726
mut,
2827
constraint = !config.finalized @ VestingError::VestingFinalized, // A vest can only be created before a vest is finalized

solana/programs/staking/src/contexts/create_vesting_balance.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,7 @@ use crate::state::global_config::GlobalConfig;
44
use crate::state::{VestingBalance, VestingConfig};
55
use anchor_lang::prelude::*;
66
use anchor_spl::associated_token::AssociatedToken;
7-
use anchor_spl::token_interface::{Mint, TokenAccount};
8-
use anchor_spl::token::Token;
7+
use anchor_spl::token::{Mint, Token, TokenAccount};
98

109
#[derive(Accounts)]
1110
#[instruction()]
@@ -16,7 +15,7 @@ pub struct CreateVestingBalance<'info> {
1615
@ VestingError::InvalidVestingAdmin
1716
)]
1817
admin: Signer<'info>,
19-
mint: InterfaceAccount<'info, Mint>,
18+
mint: Account<'info, Mint>,
2019
#[account(
2120
mut,
2221
seeds = [VESTING_CONFIG_SEED.as_bytes(), mint.key().as_ref(), config.seed.to_le_bytes().as_ref()],
@@ -36,7 +35,7 @@ pub struct CreateVestingBalance<'info> {
3635
associated_token::authority = vester_ta.owner,
3736
associated_token::token_program = token_program
3837
)]
39-
vester_ta: InterfaceAccount<'info, TokenAccount>,
38+
vester_ta: Account<'info, TokenAccount>,
4039
#[account(
4140
seeds = [CONFIG_SEED.as_bytes()],
4241
bump = global_config.bump,

solana/programs/staking/src/contexts/finalize.rs

+3-4
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ use crate::context::{VESTING_CONFIG_SEED, CONFIG_SEED};
22
use crate::error::VestingError;
33
use crate::state::VestingConfig;
44
use anchor_lang::prelude::*;
5-
use anchor_spl::token_interface::{Mint, TokenAccount};
6-
use anchor_spl::token::Token;
5+
use anchor_spl::token::{Mint, Token, TokenAccount};
76
use crate::state::global_config::GlobalConfig;
87

98
#[derive(Accounts)]
@@ -14,14 +13,14 @@ pub struct Finalize<'info> {
1413
@ VestingError::InvalidVestingAdmin
1514
)]
1615
pub admin: Signer<'info>,
17-
pub mint: InterfaceAccount<'info, Mint>,
16+
pub mint: Account<'info, Mint>,
1817
#[account(
1918
mut,
2019
associated_token::mint = mint,
2120
associated_token::authority = config,
2221
associated_token::token_program = token_program
2322
)]
24-
vault: InterfaceAccount<'info, TokenAccount>,
23+
vault: Account<'info, TokenAccount>,
2524
#[account(
2625
mut,
2726
constraint = !config.finalized @ VestingError::VestingFinalized,

solana/programs/staking/src/contexts/initialize.rs

+4-5
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,15 @@ use crate::state::global_config::GlobalConfig;
44
use crate::state::VestingConfig;
55
use anchor_lang::prelude::*;
66
use anchor_spl::associated_token::AssociatedToken;
7-
use anchor_spl::token_interface::{Mint, TokenAccount};
8-
use anchor_spl::token::Token;
7+
use anchor_spl::token::{Mint, Token, TokenAccount};
98

109
#[derive(Accounts)]
1110
#[instruction(seed: u64)]
1211
pub struct Initialize<'info> {
1312
#[account(mut)]
1413
admin: Signer<'info>,
1514
#[account(address = global_config.voting_token_mint)]
16-
mint: InterfaceAccount<'info, Mint>,
15+
mint: Account<'info, Mint>,
1716
// Initialize a vault for us to store our money in escrow for vesting
1817
#[account(
1918
init,
@@ -22,13 +21,13 @@ pub struct Initialize<'info> {
2221
associated_token::authority = config,
2322
associated_token::token_program = token_program
2423
)]
25-
vault: InterfaceAccount<'info, TokenAccount>,
24+
vault: Account<'info, TokenAccount>,
2625
// Set a recovery address for recovering surplus funds from the contract
2726
#[account(
2827
token::mint = mint,
2928
token::token_program = token_program
3029
)]
31-
recovery: InterfaceAccount<'info, TokenAccount>,
30+
recovery: Account<'info, TokenAccount>,
3231
// Initialize a vesting config for a specific admin, mint and seed
3332
#[account(
3433
init,

solana/programs/staking/src/contexts/transfer_vesting.rs

+4-5
Original file line numberDiff line numberDiff line change
@@ -9,29 +9,28 @@ use crate::state::{Vesting, VestingBalance, VestingConfig};
99
use crate::{error::ErrorCode, error::VestingError};
1010
use anchor_lang::prelude::*;
1111
use anchor_spl::associated_token::AssociatedToken;
12-
use anchor_spl::token_interface::{Mint, TokenAccount};
13-
use anchor_spl::token::Token;
12+
use anchor_spl::token::{Mint, Token, TokenAccount};
1413

1514
#[event_cpi]
1615
#[derive(Accounts)]
1716
pub struct TransferVesting<'info> {
1817
#[account(mut)]
1918
vester: Signer<'info>,
20-
mint: Box<InterfaceAccount<'info, Mint>>,
19+
mint: Box<Account<'info, Mint>>,
2120
#[account(
2221
mut,
2322
associated_token::mint = mint,
2423
associated_token::authority = vester_ta.owner,
2524
associated_token::token_program = token_program
2625
)]
27-
vester_ta: Box<InterfaceAccount<'info, TokenAccount>>,
26+
vester_ta: Box<Account<'info, TokenAccount>>,
2827
#[account(
2928
mut,
3029
associated_token::mint = mint,
3130
associated_token::authority = new_vester_ta.owner,
3231
associated_token::token_program = token_program
3332
)]
34-
new_vester_ta: Box<InterfaceAccount<'info, TokenAccount>>,
33+
new_vester_ta: Box<Account<'info, TokenAccount>>,
3534
#[account(
3635
mut,
3736
constraint = config.finalized @ VestingError::VestingUnfinalized,

solana/programs/staking/src/contexts/withdraw_surplus.rs

+4-7
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,7 @@ use crate::error::VestingError;
33
use crate::state::VestingConfig;
44
use anchor_lang::prelude::*;
55
use anchor_spl::associated_token::AssociatedToken;
6-
use anchor_spl::token_interface::{
7-
transfer_checked, Mint, TokenAccount, TransferChecked,
8-
};
9-
use anchor_spl::token::Token;
6+
use anchor_spl::token::{Mint, Token, TokenAccount, transfer_checked, TransferChecked};
107
use crate::state::global_config::GlobalConfig;
118

129
#[derive(Accounts)]
@@ -22,15 +19,15 @@ pub struct WithdrawSurplus<'info> {
2219
token::mint = mint,
2320
token::token_program = token_program
2421
)]
25-
recovery: InterfaceAccount<'info, TokenAccount>,
26-
mint: InterfaceAccount<'info, Mint>,
22+
recovery: Account<'info, TokenAccount>,
23+
mint: Account<'info, Mint>,
2724
#[account(
2825
mut,
2926
associated_token::mint = mint,
3027
associated_token::authority = config,
3128
associated_token::token_program = token_program
3229
)]
33-
vault: InterfaceAccount<'info, TokenAccount>,
30+
vault: Account<'info, TokenAccount>,
3431
#[account(
3532
mut,
3633
constraint = vault.amount > config.vested @ VestingError::NotInSurplus,

0 commit comments

Comments
 (0)