24 lines
530 B
TypeScript
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];
|
|
}
|