anchor/ts/src/utils/token.ts

24 lines
530 B
TypeScript

import { PublicKey } from "@solana/web3.js";
const TOKEN_PROGRAM_ID = new PublicKey(
"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
);
const ASSOCIATED_PROGRAM_ID = new PublicKey(
"ATokenGPvbdGVxr1b2hvZbsiqW5xWH25efTNsLJA8knL"
);
export async function associatedAddress({
mint,
owner,
}: {
mint: PublicKey;
owner: PublicKey;
}): Promise<PublicKey> {
return (
await PublicKey.findProgramAddress(
[owner.toBuffer(), TOKEN_PROGRAM_ID.toBuffer(), mint.toBuffer()],
ASSOCIATED_PROGRAM_ID
)
)[0];
}