gill
Version:
a modern javascript/typescript client library for interacting with the Solana blockchain
43 lines • 2.47 kB
TypeScript
import type { ITransactionMessageWithFeePayer, TransactionMessageWithBlockhashLifetime, TransactionSigner, TransactionVersion } from "@solana/kit";
import type { FullTransaction, Simplify } from "../../../types";
import { type GetMintTokensInstructionsArgs } from "../instructions/mint-tokens";
import type { TransactionBuilderInput } from "./types";
type GetCreateTokenTransactionInput = Simplify<Omit<GetMintTokensInstructionsArgs, "ata"> & Partial<Pick<GetMintTokensInstructionsArgs, "ata">>>;
/**
* Create a transaction that can mint tokens to the desired wallet/owner,
* including creating their ATA if it does not exist
*
* The transaction has the following defaults:
* - Default `version` = `legacy`
* - Default `computeUnitLimit` = `31_000`
*
* @remarks
*
* - minting without creating the ata is generally < 10_000cu
* - validating the ata onchain during creation results in a ~5000cu fluctuation
*
* @example
* ```
* const destination = address("nicktrLHhYzLmoVbuZQzHUTicd2sfP571orwo9jfc8c");
*
* const mint = address(...);
* // or mint can be a keypair from a freshly created token
*
* const transaction = await buildMintTokensTransaction({
* feePayer: signer,
* latestBlockhash,
* mint,
* mintAuthority: signer,
* amount: 1000, // note: be sure to consider the mint's `decimals` value
* // if decimals=2 => this will mint 10.00 tokens
* // if decimals=4 => this will mint 0.100 tokens
* destination,
* // tokenProgram: TOKEN_PROGRAM_ADDRESS, // default
* // tokenProgram: TOKEN_2022_PROGRAM_ADDRESS,
* });
* ```
*/
export declare function buildMintTokensTransaction<TVersion extends TransactionVersion = "legacy", TFeePayer extends TransactionSigner = TransactionSigner>(args: TransactionBuilderInput<TVersion, TFeePayer> & GetCreateTokenTransactionInput): Promise<FullTransaction<TVersion, ITransactionMessageWithFeePayer>>;
export declare function buildMintTokensTransaction<TVersion extends TransactionVersion = "legacy", TFeePayer extends TransactionSigner = TransactionSigner, TLifetimeConstraint extends TransactionMessageWithBlockhashLifetime["lifetimeConstraint"] = TransactionMessageWithBlockhashLifetime["lifetimeConstraint"]>(args: TransactionBuilderInput<TVersion, TFeePayer, TLifetimeConstraint> & GetCreateTokenTransactionInput): Promise<FullTransaction<TVersion, ITransactionMessageWithFeePayer, TransactionMessageWithBlockhashLifetime>>;
export {};
//# sourceMappingURL=mint-tokens.d.ts.map