UNPKG

gill

Version:

a modern javascript/typescript client library for interacting with the Solana blockchain

43 lines 2.47 kB
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