lib.rs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. // This file is autogenerated with https://github.com/acheroncrypto/native-to-anchor
  2. use anchor_lang::prelude::*;
  3. declare_id!("11111111111111111111111111111111");
  4. #[program]
  5. pub mod spl_associated_token_account {
  6. use super::*;
  7. pub fn create(ctx: Context<Create>) -> Result<()> {
  8. Ok(())
  9. }
  10. pub fn create_idempotent(ctx: Context<CreateIdempotent>) -> Result<()> {
  11. Ok(())
  12. }
  13. pub fn recover_nested(ctx: Context<RecoverNested>) -> Result<()> {
  14. Ok(())
  15. }
  16. }
  17. #[derive(Accounts)]
  18. pub struct Create<'info> {
  19. #[account(mut)]
  20. funding_address: Signer<'info>,
  21. #[account(mut)]
  22. associated_account_address: AccountInfo<'info>,
  23. wallet_address: AccountInfo<'info>,
  24. token_mint_address: AccountInfo<'info>,
  25. system_program: Program<'info, System>,
  26. token_program: Program<'info, Token>,
  27. }
  28. #[derive(Accounts)]
  29. pub struct CreateIdempotent<'info> {
  30. #[account(mut)]
  31. funding_address: Signer<'info>,
  32. #[account(mut)]
  33. associated_account_address: AccountInfo<'info>,
  34. wallet_address: AccountInfo<'info>,
  35. token_mint_address: AccountInfo<'info>,
  36. system_program: Program<'info, System>,
  37. token_program: Program<'info, Token>,
  38. }
  39. #[derive(Accounts)]
  40. pub struct RecoverNested<'info> {
  41. #[account(mut)]
  42. nested_associated_account_address: AccountInfo<'info>,
  43. nested_token_mint_address: AccountInfo<'info>,
  44. #[account(mut)]
  45. destination_associated_account_address: AccountInfo<'info>,
  46. owner_associated_account_address: AccountInfo<'info>,
  47. owner_token_mint_address: AccountInfo<'info>,
  48. #[account(mut)]
  49. wallet_address: Signer<'info>,
  50. token_program: Program<'info, Token>,
  51. }
  52. #[error_code]
  53. pub enum AssociatedTokenAccountError {
  54. // 0
  55. /// Associated token account owner does not match address derivation
  56. #[msg("Associated token account owner does not match address derivation")]
  57. InvalidOwner,
  58. }