spl_associated_token_account/
lib.rs#![deny(missing_docs)]
#![forbid(unsafe_code)]
mod entrypoint;
pub mod error;
pub mod instruction;
pub mod processor;
pub mod tools;
pub use solana_program;
use solana_program::{
instruction::{AccountMeta, Instruction},
pubkey::Pubkey,
sysvar,
};
#[deprecated(
since = "4.1.0",
note = "Use `spl-associated-token-account-client` crate instead."
)]
pub use spl_associated_token_account_client::address::{
get_associated_token_address, get_associated_token_address_with_program_id,
};
pub use spl_associated_token_account_client::program::{check_id, id, ID};
#[deprecated(
since = "1.0.5",
note = "please use `instruction::create_associated_token_account` instead"
)]
pub fn create_associated_token_account(
funding_address: &Pubkey,
wallet_address: &Pubkey,
token_mint_address: &Pubkey,
) -> Instruction {
let associated_account_address =
get_associated_token_address(wallet_address, token_mint_address);
Instruction {
program_id: id(),
accounts: vec![
AccountMeta::new(*funding_address, true),
AccountMeta::new(associated_account_address, false),
AccountMeta::new_readonly(*wallet_address, false),
AccountMeta::new_readonly(*token_mint_address, false),
AccountMeta::new_readonly(solana_program::system_program::id(), false),
AccountMeta::new_readonly(spl_token::id(), false),
AccountMeta::new_readonly(sysvar::rent::id(), false),
],
data: vec![],
}
}