@@ -9,7 +9,12 @@ pub mod tools;
99
1010// Export current SDK types for downstream users building with a different SDK version
1111pub 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
1419solana_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) ]
6873pub 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