token.ts 530 B

1234567891011121314151617181920212223
  1. import { PublicKey } from "@solana/web3.js";
  2. const TOKEN_PROGRAM_ID = new PublicKey(
  3. "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
  4. );
  5. const ASSOCIATED_PROGRAM_ID = new PublicKey(
  6. "ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
  7. );
  8. export async function associatedAddress({
  9. mint,
  10. owner,
  11. }: {
  12. mint: PublicKey;
  13. owner: PublicKey;
  14. }): Promise<PublicKey> {
  15. return (
  16. await PublicKey.findProgramAddress(
  17. [owner.toBuffer(), TOKEN_PROGRAM_ID.toBuffer(), mint.toBuffer()],
  18. ASSOCIATED_PROGRAM_ID
  19. )
  20. )[0];
  21. }