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

Commit c309e10

Browse files
committed
Restore rent sysvar to create_associated_token_account
1 parent 533f767 commit c309e10

File tree

3 files changed

+29
-13
lines changed

3 files changed

+29
-13
lines changed

Cargo.lock

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

associated-token-account/program/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "spl-associated-token-account"
3-
version = "1.0.4"
3+
version = "1.0.5"
44
description = "Solana Program Library Associated Token Account"
55
authors = ["Solana Maintainers <maintainers@solana.foundation>"]
66
repository = "https://github.com/solana-labs/solana-program-library"

associated-token-account/program/src/lib.rs

Lines changed: 23 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,12 @@ pub mod tools;
99

1010
// Export current SDK types for downstream users building with a different SDK version
1111
pub use solana_program;
12-
use solana_program::{instruction::Instruction, program_pack::Pack, pubkey::Pubkey};
12+
use solana_program::{
13+
instruction::{AccountMeta, Instruction},
14+
program_pack::Pack,
15+
pubkey::Pubkey,
16+
sysvar,
17+
};
1318

1419
solana_program::declare_id!("ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL");
1520

@@ -62,17 +67,28 @@ fn get_associated_token_address_and_bump_seed_internal(
6267
/// 5. `[]` SPL Token program
6368
///
6469
#[deprecated(
65-
since = "1.0.4",
70+
since = "1.0.5",
6671
note = "please use `instruction::create_associated_token_account` instead"
6772
)]
6873
pub fn create_associated_token_account(
6974
funding_address: &Pubkey,
7075
wallet_address: &Pubkey,
7176
spl_token_mint_address: &Pubkey,
7277
) -> Instruction {
73-
instruction::create_associated_token_account(
74-
funding_address,
75-
wallet_address,
76-
spl_token_mint_address,
77-
)
78+
let associated_account_address =
79+
get_associated_token_address(wallet_address, spl_token_mint_address);
80+
81+
Instruction {
82+
program_id: id(),
83+
accounts: vec![
84+
AccountMeta::new(*funding_address, true),
85+
AccountMeta::new(associated_account_address, false),
86+
AccountMeta::new_readonly(*wallet_address, false),
87+
AccountMeta::new_readonly(*spl_token_mint_address, false),
88+
AccountMeta::new_readonly(solana_program::system_program::id(), false),
89+
AccountMeta::new_readonly(spl_token::id(), false),
90+
AccountMeta::new_readonly(sysvar::rent::id(), false),
91+
],
92+
data: vec![],
93+
}
7894
}

0 commit comments

Comments
 (0)