spb/os-vault Public
Self-custody, multi-chain crypto wallet for macOS. One recovery phrase, six chain families, zero API keys — nothing leaves your Mac.
Swift 96%
Shell 3.4%
Makefile 0.6%
1import Foundation23public enum AssociatedTokenProgram: SolanaBasicProgram {4 // MARK: - Properties56 public static var id: PublicKey {7 "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"8 }910 // MARK: - Instruction builder1112 public static func createAssociatedTokenAccountInstruction(13 mint: PublicKey,14 owner: PublicKey,15 payer: PublicKey,16 tokenProgramId: PublicKey17 ) throws -> TransactionInstruction {18 try TransactionInstruction(19 keys: [20 .init(publicKey: payer, isSigner: true, isWritable: true),21 .init(22 publicKey: PublicKey.associatedTokenAddress(23 walletAddress: owner,24 tokenMintAddress: mint,25 tokenProgramId: tokenProgramId26 ),27 isSigner: false,28 isWritable: true29 ),30 .init(publicKey: owner, isSigner: false, isWritable: false),31 .init(publicKey: mint, isSigner: false, isWritable: false),32 .init(publicKey: SystemProgram.id, isSigner: false, isWritable: false),33 .init(publicKey: tokenProgramId, isSigner: false, isWritable: false),34 .init(publicKey: .sysvarRent, isSigner: false, isWritable: false),35 ],36 programId: AssociatedTokenProgram.id,37 data: []38 )39 }40}41