gill
Version:
a modern javascript/typescript client library for interacting with the Solana blockchain
29 lines • 1.74 kB
TypeScript
import { type Address, type TransactionSigner } from "@solana/kit";
export type LegacyTokenProgramMonikers = "legacy" | "token";
export type TokenExtensionProgramMonikers = "token22" | "tokenExtension" | "tokenExtensions" | "token2022";
export type TokenProgramMonikers = LegacyTokenProgramMonikers | TokenExtensionProgramMonikers;
export declare const TOKEN_PROGRAM_ADDRESS: Address<"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA">;
/**
* Derive the associated token account (ata) address for an owner and mint/tokenProgram
*
* @argument `mint` - the token mint itself
* @argument `owner` - destination wallet address to own tokens from `mint`
* @argument `tokenProgram` - token program that the token `mint` was created with
*
* - (default) {@link TOKEN_PROGRAM_ADDRESS} - the original SPL Token Program
* - {@link TOKEN_2022_PROGRAM_ADDRESS} - the SPL Token Extensions Program (aka Token22)
*/
export declare function getAssociatedTokenAccountAddress(mint: Address | TransactionSigner, owner: Address | TransactionSigner, tokenProgram?: Address): Promise<Address>;
export declare function parseTokenProgramAddressOrMoniker(tokenProgram: Address | TokenProgramMonikers): Address;
export declare function assertIsSupportedTokenProgram(tokenProgram: Address): asserts tokenProgram is Address<typeof tokenProgram>;
/**
* Check the provided program is one of the supported token programs.
* Including setting the default to {@link TOKEN_PROGRAM_ADDRESS} (the original SPL token program)
*
* @example
* ```
* args.tokenProgram = checkedTokenProgramAddress(args.tokenProgram);
* ```
*/
export declare function checkedTokenProgramAddress(tokenProgram?: Address | TokenProgramMonikers): Address;
//# sourceMappingURL=addresses.d.ts.map