UNPKG

gill

Version:

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

1 lines 86.6 kB
{"version":3,"sources":["../../../src/core/utils.ts","../../../src/programs/token/addresses.ts","../../../src/core/create-transaction.ts","../../../src/core/accounts.ts","../../../src/programs/token-metadata/generated/types/collection.ts","../../../src/programs/token-metadata/generated/types/collectionDetails.ts","../../../src/programs/token-metadata/generated/types/creator.ts","../../../src/programs/token-metadata/generated/types/dataV2.ts","../../../src/programs/token-metadata/generated/types/uses.ts","../../../src/programs/token-metadata/generated/types/useMethod.ts","../../../src/programs/token-metadata/generated/programs/tokenMetadata.ts","../../../src/programs/shared/index.ts","../../../src/programs/token-metadata/generated/instructions/createMetadataAccountV3.ts","../../../src/programs/token-metadata/addresses.ts","../../../src/programs/token/instructions/create-token.ts","../../../src/programs/token/instructions/mint-tokens.ts","../../../src/programs/token/instructions/transfer-tokens.ts","../../../src/programs/token/transactions/create-token.ts","../../../src/programs/token/transactions/mint-tokens.ts","../../../src/programs/token/transactions/transfer-tokens.ts","../../../src/programs/token/ui-amount.ts"],"names":["createNoopSigner","isTransactionSigner","assertIsTransactionSigner","findAssociatedTokenPda","isAddress","TOKEN_2022_PROGRAM_ADDRESS","pipe","createTransactionMessage","setTransactionMessageLifetimeUsingBlockhash","setTransactionMessageFeePayerSigner","setTransactionMessageFeePayer","appendTransactionMessageInstruction","getSetComputeUnitLimitInstruction","getSetComputeUnitPriceInstruction","appendTransactionMessageInstructions","getStructEncoder","getBooleanEncoder","getAddressEncoder","getDiscriminatedUnionEncoder","getU64Encoder","fixEncoderSize","getBytesEncoder","getU8Encoder","addEncoderSizePrefix","getUtf8Encoder","getU32Encoder","getU16Encoder","getOptionEncoder","getArrayEncoder","UseMethod","getEnumEncoder","AccountRole","upgradeRoleToSigner","web3JsIsTransactionSigner","transformEncoder","getProgramDerivedAddress","extension","getCreateAccountInstruction","getMintSize","getInitializeMetadataPointerInstruction","getInitializeMintInstruction","getInitializeTokenMetadataInstruction","getCreateAssociatedTokenIdempotentInstruction","getMintToInstruction","getTransferInstruction","feePayer"],"mappings":"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","file":"index.node.cjs","sourcesContent":["import {\n assertIsTransactionSigner,\n createNoopSigner,\n isTransactionSigner,\n type Address,\n type TransactionSigner,\n} from \"@solana/kit\";\nimport type { SolanaClusterMoniker } from \"../types\";\nimport { GENESIS_HASH } from \"./const\";\n\n/**\n * Determine the Solana moniker from its genesis hash\n *\n * If the hash is NOT known, returns `unknown`\n */\nexport function getMonikerFromGenesisHash(hash: string): SolanaClusterMoniker | \"unknown\" {\n switch (hash) {\n case GENESIS_HASH.mainnet:\n return \"mainnet\";\n case GENESIS_HASH.devnet:\n return \"devnet\";\n case GENESIS_HASH.testnet:\n return \"testnet\";\n default:\n return \"unknown\";\n }\n}\n\nexport function checkedAddress<TAddress extends string = string>(\n input: Address<TAddress> | TransactionSigner<TAddress>,\n): Address<TAddress> {\n return typeof input == \"string\" ? input : input.address;\n}\n\nexport function checkedTransactionSigner<TAddress extends string = string>(\n input: Address<TAddress> | TransactionSigner<TAddress>,\n): TransactionSigner<TAddress> {\n if (typeof input === \"string\" || \"address\" in input == false) input = createNoopSigner(input);\n if (!isTransactionSigner(input)) throw new Error(\"A signer or address is required\");\n assertIsTransactionSigner(input);\n return input;\n}\n\n/**\n * Convert a lamport number to the human readable string of a SOL value\n */\nexport function lamportsToSol(lamports: bigint | number): string {\n // @ts-expect-error This format is valid\n return new Intl.NumberFormat(\"en-US\", { maximumFractionDigits: 9 }).format(`${lamports}E-9`);\n}\n","import { findAssociatedTokenPda, TOKEN_2022_PROGRAM_ADDRESS } from \"@solana-program/token-2022\";\nimport { isAddress, type Address, type TransactionSigner } from \"@solana/kit\";\nimport { checkedAddress } from \"../../core/utils\";\n\nexport type LegacyTokenProgramMonikers = \"legacy\" | \"token\";\n\nexport type TokenExtensionProgramMonikers = \"token22\" | \"tokenExtension\" | \"tokenExtensions\" | \"token2022\";\n\nexport type TokenProgramMonikers = LegacyTokenProgramMonikers | TokenExtensionProgramMonikers;\n\nexport const TOKEN_PROGRAM_ADDRESS =\n \"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\" as Address<\"TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA\">;\n\n/**\n * Derive the associated token account (ata) address for an owner and mint/tokenProgram\n *\n * @argument `mint` - the token mint itself\n * @argument `owner` - destination wallet address to own tokens from `mint`\n * @argument `tokenProgram` - token program that the token `mint` was created with\n *\n * - (default) {@link TOKEN_PROGRAM_ADDRESS} - the original SPL Token Program\n * - {@link TOKEN_2022_PROGRAM_ADDRESS} - the SPL Token Extensions Program (aka Token22)\n */\nexport async function getAssociatedTokenAccountAddress(\n mint: Address | TransactionSigner,\n owner: Address | TransactionSigner,\n tokenProgram?: Address,\n): Promise<Address> {\n return (\n await findAssociatedTokenPda({\n mint: checkedAddress(mint),\n owner: checkedAddress(owner),\n tokenProgram: checkedTokenProgramAddress(tokenProgram),\n })\n )[0];\n}\n\nexport function parseTokenProgramAddressOrMoniker(tokenProgram: Address | TokenProgramMonikers): Address {\n if (!isAddress(tokenProgram)) {\n tokenProgram = tokenProgram.toLowerCase() as TokenProgramMonikers;\n }\n switch (tokenProgram) {\n case \"legacy\":\n case \"token\":\n case TOKEN_PROGRAM_ADDRESS: {\n return TOKEN_PROGRAM_ADDRESS;\n }\n case \"token22\":\n case \"token2022\":\n case \"tokenextension\":\n case \"tokenextensions\":\n case TOKEN_2022_PROGRAM_ADDRESS: {\n return TOKEN_2022_PROGRAM_ADDRESS;\n }\n default:\n throw Error(\"Unsupported token program. Try 'TOKEN_PROGRAM_ADDRESS' or 'TOKEN_2022_PROGRAM_ADDRESS'\");\n }\n}\n\nexport function assertIsSupportedTokenProgram(\n tokenProgram: Address,\n): asserts tokenProgram is Address<typeof tokenProgram> {\n if (tokenProgram !== TOKEN_PROGRAM_ADDRESS && tokenProgram !== TOKEN_2022_PROGRAM_ADDRESS) {\n throw Error(\"Unsupported token program. Try 'TOKEN_PROGRAM_ADDRESS' or 'TOKEN_2022_PROGRAM_ADDRESS'\");\n }\n}\n\n/**\n * Check the provided program is one of the supported token programs.\n * Including setting the default to {@link TOKEN_PROGRAM_ADDRESS} (the original SPL token program)\n *\n * @example\n * ```\n * args.tokenProgram = checkedTokenProgramAddress(args.tokenProgram);\n * ```\n */\nexport function checkedTokenProgramAddress(tokenProgram?: Address | TokenProgramMonikers): Address {\n if (!tokenProgram) return TOKEN_PROGRAM_ADDRESS;\n tokenProgram = parseTokenProgramAddressOrMoniker(tokenProgram);\n assertIsSupportedTokenProgram(tokenProgram);\n return tokenProgram;\n}\n","import type { Simplify } from \"../types\";\n\nimport { getSetComputeUnitLimitInstruction, getSetComputeUnitPriceInstruction } from \"@solana-program/compute-budget\";\nimport type {\n Address,\n ITransactionMessageWithFeePayer,\n ITransactionMessageWithFeePayerSigner,\n TransactionMessageWithBlockhashLifetime,\n TransactionSigner,\n TransactionVersion,\n} from \"@solana/kit\";\nimport {\n appendTransactionMessageInstruction,\n appendTransactionMessageInstructions,\n createTransactionMessage,\n isTransactionSigner,\n pipe,\n setTransactionMessageFeePayer,\n setTransactionMessageFeePayerSigner,\n setTransactionMessageLifetimeUsingBlockhash,\n} from \"@solana/kit\";\n\nimport type { CreateTransactionInput, FullTransaction } from \"../types/transactions\";\n\n/**\n * Simple interface for creating a Solana transaction\n */\nexport function createTransaction<TVersion extends TransactionVersion, TFeePayer extends TransactionSigner>(\n props: CreateTransactionInput<TVersion, TFeePayer>,\n): FullTransaction<TVersion, ITransactionMessageWithFeePayerSigner>;\nexport function createTransaction<TVersion extends TransactionVersion, TFeePayer extends Address>(\n props: CreateTransactionInput<TVersion, TFeePayer>,\n): FullTransaction<TVersion, ITransactionMessageWithFeePayer>;\nexport function createTransaction<\n TVersion extends TransactionVersion,\n TFeePayer extends TransactionSigner,\n TLifetimeConstraint extends TransactionMessageWithBlockhashLifetime[\"lifetimeConstraint\"],\n>(\n props: CreateTransactionInput<TVersion, TFeePayer, TLifetimeConstraint>,\n): Simplify<FullTransaction<TVersion, ITransactionMessageWithFeePayerSigner, TransactionMessageWithBlockhashLifetime>>;\nexport function createTransaction<\n TVersion extends TransactionVersion,\n TFeePayer extends Address,\n TLifetimeConstraint extends TransactionMessageWithBlockhashLifetime[\"lifetimeConstraint\"],\n>(\n props: CreateTransactionInput<TVersion, TFeePayer, TLifetimeConstraint>,\n): Simplify<FullTransaction<TVersion, ITransactionMessageWithFeePayer, TransactionMessageWithBlockhashLifetime>>;\nexport function createTransaction<\n TVersion extends TransactionVersion,\n TFeePayer extends Address | TransactionSigner,\n TLifetimeConstraint extends TransactionMessageWithBlockhashLifetime[\"lifetimeConstraint\"],\n>(\n props: CreateTransactionInput<TVersion, TFeePayer, TLifetimeConstraint>,\n): Simplify<FullTransaction<TVersion, ITransactionMessageWithFeePayer, TransactionMessageWithBlockhashLifetime>>;\nexport function createTransaction<TVersion extends TransactionVersion, TFeePayer extends Address | TransactionSigner>({\n version,\n feePayer,\n instructions,\n latestBlockhash,\n computeUnitLimit,\n computeUnitPrice,\n}: CreateTransactionInput<TVersion, TFeePayer>): FullTransaction<\n TVersion,\n ITransactionMessageWithFeePayer | ITransactionMessageWithFeePayerSigner\n> {\n return pipe(\n createTransactionMessage({ version }),\n (tx) => {\n const withLifetime = latestBlockhash ? setTransactionMessageLifetimeUsingBlockhash(latestBlockhash, tx) : tx;\n if (typeof feePayer !== \"string\" && \"address\" in feePayer && isTransactionSigner(feePayer)) {\n return setTransactionMessageFeePayerSigner(feePayer, withLifetime);\n } else return setTransactionMessageFeePayer(feePayer, withLifetime);\n },\n (tx) => {\n const withComputeLimit = typeof computeUnitLimit !== \"undefined\" \n ? appendTransactionMessageInstruction(\n getSetComputeUnitLimitInstruction({ units: Number(computeUnitLimit) }),\n tx,\n )\n : tx;\n\n const withComputePrice = typeof computeUnitPrice !== \"undefined\"\n ? appendTransactionMessageInstruction(\n getSetComputeUnitPriceInstruction({ microLamports: Number(computeUnitPrice) }),\n withComputeLimit,\n )\n : withComputeLimit;\n\n return appendTransactionMessageInstructions(instructions, withComputePrice);\n },\n );\n}\n","/**\n * Calculate the total rent needed for to create an account, with or without extra data stored in it\n */\nexport function getMinimumBalanceForRentExemption(space: bigint | number = 0) {\n /**\n * Default values for Rent calculations\n *\n * Values taken from: https://github.com/anza-xyz/solana-sdk/blob/c07f692e41d757057c8700211a9300cdcd6d33b1/rent/src/lib.rs#L93-L97\n * \n */\n const RENT = {\n /**\n * Account storage overhead for calculation of base rent. (aka the number of bytes required to store an account with no data.\n */\n ACCOUNT_STORAGE_OVERHEAD: 128n,\n /**\n * Amount of time (in years) a balance must include rent for the account to\n * be rent exempt.\n */\n DEFAULT_EXEMPTION_THRESHOLD: BigInt(Math.floor(2.0 * 1000)) / 1000n,\n /**\n * Default rental rate in lamports/byte-year. This calculation is based on:\n * - 10^9 lamports per SOL\n * - $1 per SOL\n * - $0.01 per megabyte day\n * - $3.65 per megabyte year\n */\n DEFAULT_LAMPORTS_PER_BYTE_YEAR: BigInt(\n Math.floor(((1_000_000_000 / 100) * 365) / (1024 * 1024)),\n ),\n };\n\n return (\n ((RENT.ACCOUNT_STORAGE_OVERHEAD + BigInt(space)) *\n RENT.DEFAULT_LAMPORTS_PER_BYTE_YEAR *\n RENT.DEFAULT_EXEMPTION_THRESHOLD) /\n 1n\n );\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from \"@solana/kit\";\n\nexport type Collection = { verified: boolean; key: Address };\n\nexport type CollectionArgs = Collection;\n\nexport function getCollectionEncoder(): Encoder<CollectionArgs> {\n return getStructEncoder([\n [\"verified\", getBooleanEncoder()],\n [\"key\", getAddressEncoder()],\n ]);\n}\n\nexport function getCollectionDecoder(): Decoder<Collection> {\n return getStructDecoder([\n [\"verified\", getBooleanDecoder()],\n [\"key\", getAddressDecoder()],\n ]);\n}\n\nexport function getCollectionCodec(): Codec<CollectionArgs, Collection> {\n return combineCodec(getCollectionEncoder(), getCollectionDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n fixDecoderSize,\n fixEncoderSize,\n getBytesDecoder,\n getBytesEncoder,\n getDiscriminatedUnionDecoder,\n getDiscriminatedUnionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type GetDiscriminatedUnionVariant,\n type GetDiscriminatedUnionVariantContent,\n type ReadonlyUint8Array,\n} from '@solana/kit';\n\nexport type CollectionDetails =\n | { __kind: 'V1'; size: bigint }\n | { __kind: 'V2'; padding: ReadonlyUint8Array };\n\nexport type CollectionDetailsArgs =\n | { __kind: 'V1'; size: number | bigint }\n | { __kind: 'V2'; padding: ReadonlyUint8Array };\n\nexport function getCollectionDetailsEncoder(): Encoder<CollectionDetailsArgs> {\n return getDiscriminatedUnionEncoder([\n ['V1', getStructEncoder([['size', getU64Encoder()]])],\n [\n 'V2',\n getStructEncoder([['padding', fixEncoderSize(getBytesEncoder(), 8)]]),\n ],\n ]);\n}\n\nexport function getCollectionDetailsDecoder(): Decoder<CollectionDetails> {\n return getDiscriminatedUnionDecoder([\n ['V1', getStructDecoder([['size', getU64Decoder()]])],\n [\n 'V2',\n getStructDecoder([['padding', fixDecoderSize(getBytesDecoder(), 8)]]),\n ],\n ]);\n}\n\nexport function getCollectionDetailsCodec(): Codec<\n CollectionDetailsArgs,\n CollectionDetails\n> {\n return combineCodec(\n getCollectionDetailsEncoder(),\n getCollectionDetailsDecoder()\n );\n}\n\n// Data Enum Helpers.\nexport function collectionDetails(\n kind: 'V1',\n data: GetDiscriminatedUnionVariantContent<\n CollectionDetailsArgs,\n '__kind',\n 'V1'\n >\n): GetDiscriminatedUnionVariant<CollectionDetailsArgs, '__kind', 'V1'>;\nexport function collectionDetails(\n kind: 'V2',\n data: GetDiscriminatedUnionVariantContent<\n CollectionDetailsArgs,\n '__kind',\n 'V2'\n >\n): GetDiscriminatedUnionVariant<CollectionDetailsArgs, '__kind', 'V2'>;\nexport function collectionDetails<\n K extends CollectionDetailsArgs['__kind'],\n Data,\n>(kind: K, data?: Data) {\n return Array.isArray(data)\n ? { __kind: kind, fields: data }\n : { __kind: kind, ...(data ?? {}) };\n}\n\nexport function isCollectionDetails<K extends CollectionDetails['__kind']>(\n kind: K,\n value: CollectionDetails\n): value is CollectionDetails & { __kind: K } {\n return value.__kind === kind;\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getAddressDecoder,\n getAddressEncoder,\n getBooleanDecoder,\n getBooleanEncoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n type Address,\n type Codec,\n type Decoder,\n type Encoder,\n} from '@solana/kit';\n\nexport type Creator = { address: Address; verified: boolean; share: number };\n\nexport type CreatorArgs = Creator;\n\nexport function getCreatorEncoder(): Encoder<CreatorArgs> {\n return getStructEncoder([\n ['address', getAddressEncoder()],\n ['verified', getBooleanEncoder()],\n ['share', getU8Encoder()],\n ]);\n}\n\nexport function getCreatorDecoder(): Decoder<Creator> {\n return getStructDecoder([\n ['address', getAddressDecoder()],\n ['verified', getBooleanDecoder()],\n ['share', getU8Decoder()],\n ]);\n}\n\nexport function getCreatorCodec(): Codec<CreatorArgs, Creator> {\n return combineCodec(getCreatorEncoder(), getCreatorDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n addDecoderSizePrefix,\n addEncoderSizePrefix,\n combineCodec,\n getArrayDecoder,\n getArrayEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU16Decoder,\n getU16Encoder,\n getU32Decoder,\n getU32Encoder,\n getUtf8Decoder,\n getUtf8Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n} from '@solana/kit';\nimport {\n getCollectionDecoder,\n getCollectionEncoder,\n getCreatorDecoder,\n getCreatorEncoder,\n getUsesDecoder,\n getUsesEncoder,\n type Collection,\n type CollectionArgs,\n type Creator,\n type CreatorArgs,\n type Uses,\n type UsesArgs,\n} from '.';\n\nexport type DataV2 = {\n name: string;\n symbol: string;\n uri: string;\n sellerFeeBasisPoints: number;\n creators: Option<Array<Creator>>;\n collection: Option<Collection>;\n uses: Option<Uses>;\n};\n\nexport type DataV2Args = {\n name: string;\n symbol: string;\n uri: string;\n sellerFeeBasisPoints: number;\n creators: OptionOrNullable<Array<CreatorArgs>>;\n collection: OptionOrNullable<CollectionArgs>;\n uses: OptionOrNullable<UsesArgs>;\n};\n\nexport function getDataV2Encoder(): Encoder<DataV2Args> {\n return getStructEncoder([\n ['name', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['symbol', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['uri', addEncoderSizePrefix(getUtf8Encoder(), getU32Encoder())],\n ['sellerFeeBasisPoints', getU16Encoder()],\n ['creators', getOptionEncoder(getArrayEncoder(getCreatorEncoder()))],\n ['collection', getOptionEncoder(getCollectionEncoder())],\n ['uses', getOptionEncoder(getUsesEncoder())],\n ]);\n}\n\nexport function getDataV2Decoder(): Decoder<DataV2> {\n return getStructDecoder([\n ['name', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['symbol', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['uri', addDecoderSizePrefix(getUtf8Decoder(), getU32Decoder())],\n ['sellerFeeBasisPoints', getU16Decoder()],\n ['creators', getOptionDecoder(getArrayDecoder(getCreatorDecoder()))],\n ['collection', getOptionDecoder(getCollectionDecoder())],\n ['uses', getOptionDecoder(getUsesDecoder())],\n ]);\n}\n\nexport function getDataV2Codec(): Codec<DataV2Args, DataV2> {\n return combineCodec(getDataV2Encoder(), getDataV2Decoder());\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getStructDecoder,\n getStructEncoder,\n getU64Decoder,\n getU64Encoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from '@solana/kit';\nimport {\n getUseMethodDecoder,\n getUseMethodEncoder,\n type UseMethod,\n type UseMethodArgs,\n} from '.';\n\nexport type Uses = { useMethod: UseMethod; remaining: bigint; total: bigint };\n\nexport type UsesArgs = {\n useMethod: UseMethodArgs;\n remaining: number | bigint;\n total: number | bigint;\n};\n\nexport function getUsesEncoder(): Encoder<UsesArgs> {\n return getStructEncoder([\n ['useMethod', getUseMethodEncoder()],\n ['remaining', getU64Encoder()],\n ['total', getU64Encoder()],\n ]);\n}\n\nexport function getUsesDecoder(): Decoder<Uses> {\n return getStructDecoder([\n ['useMethod', getUseMethodDecoder()],\n ['remaining', getU64Decoder()],\n ['total', getU64Decoder()],\n ]);\n}\n\nexport function getUsesCodec(): Codec<UsesArgs, Uses> {\n return combineCodec(getUsesEncoder(), getUsesDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getEnumDecoder,\n getEnumEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n} from '@solana/kit';\n\nexport enum UseMethod {\n Burn,\n Multiple,\n Single,\n}\n\nexport type UseMethodArgs = UseMethod;\n\nexport function getUseMethodEncoder(): Encoder<UseMethodArgs> {\n return getEnumEncoder(UseMethod);\n}\n\nexport function getUseMethodDecoder(): Decoder<UseMethod> {\n return getEnumDecoder(UseMethod);\n}\n\nexport function getUseMethodCodec(): Codec<UseMethodArgs, UseMethod> {\n return combineCodec(getUseMethodEncoder(), getUseMethodDecoder());\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport { type Address } from \"@solana/kit\";\n\nexport const TOKEN_METADATA_PROGRAM_ADDRESS =\n \"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\" as Address<\"metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s\">;\n\nexport enum TokenMetadataAccount {\n CollectionAuthorityRecord,\n MetadataDelegateRecord,\n HolderDelegateRecord,\n Edition,\n EditionMarker,\n EditionMarkerV2,\n TokenOwnedEscrow,\n MasterEditionV2,\n MasterEditionV1,\n Metadata,\n TokenRecord,\n ReservationListV2,\n ReservationListV1,\n UseAuthorityRecord,\n}\n\nexport enum TokenMetadataInstruction {\n CreateMetadataAccount,\n UpdateMetadataAccount,\n DeprecatedCreateMasterEdition,\n DeprecatedMintNewEditionFromMasterEditionViaPrintingToken,\n UpdatePrimarySaleHappenedViaToken,\n DeprecatedSetReservationList,\n DeprecatedCreateReservationList,\n SignMetadata,\n DeprecatedMintPrintingTokensViaToken,\n DeprecatedMintPrintingTokens,\n CreateMasterEdition,\n MintNewEditionFromMasterEditionViaToken,\n ConvertMasterEditionV1ToV2,\n MintNewEditionFromMasterEditionViaVaultProxy,\n PuffMetadata,\n UpdateMetadataAccountV2,\n CreateMetadataAccountV2,\n CreateMasterEditionV3,\n VerifyCollection,\n Utilize,\n ApproveUseAuthority,\n RevokeUseAuthority,\n UnverifyCollection,\n ApproveCollectionAuthority,\n RevokeCollectionAuthority,\n SetAndVerifyCollection,\n FreezeDelegatedAccount,\n ThawDelegatedAccount,\n RemoveCreatorVerification,\n BurnNft,\n VerifySizedCollectionItem,\n UnverifySizedCollectionItem,\n SetAndVerifySizedCollectionItem,\n CreateMetadataAccountV3,\n SetCollectionSize,\n SetTokenStandard,\n BubblegumSetCollectionSize,\n BurnEditionNft,\n CreateEscrowAccount,\n CloseEscrowAccount,\n TransferOutOfEscrow,\n Burn,\n Create,\n Mint,\n Delegate,\n Revoke,\n Lock,\n Unlock,\n Migrate,\n Transfer,\n Update,\n Use,\n Verify,\n Unverify,\n Collect,\n Print,\n Resize,\n CloseAccounts,\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * And vendored in from various codama generated client to help\n * minimize redundancy and bundle sizes\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport { isProgramDerivedAddress, type Address, type ProgramDerivedAddress } from \"@solana/kit\";\nimport { AccountRole, type IAccountMeta, upgradeRoleToSigner } from \"@solana/kit\";\nimport {\n isTransactionSigner as web3JsIsTransactionSigner,\n type IAccountSignerMeta,\n type TransactionSigner,\n} from \"@solana/kit\";\n\n/**\n * Asserts that the given value is not null or undefined.\n * @internal\n */\nexport function expectSome<T>(value: T | null | undefined): T {\n if (value == null) {\n throw new Error(\"Expected a value but received null or undefined.\");\n }\n return value;\n}\n\n/**\n * Asserts that the given value is a PublicKey.\n * @internal\n */\nexport function expectAddress<T extends string = string>(\n value: Address<T> | ProgramDerivedAddress<T> | TransactionSigner<T> | null | undefined,\n): Address<T> {\n if (!value) {\n throw new Error(\"Expected a Address.\");\n }\n if (typeof value === \"object\" && \"address\" in value) {\n return value.address;\n }\n if (Array.isArray(value)) {\n return value[0];\n }\n return value as Address<T>;\n}\n\n/**\n * Asserts that the given value is a PDA.\n * @internal\n */\nexport function expectProgramDerivedAddress<T extends string = string>(\n value: Address<T> | ProgramDerivedAddress<T> | TransactionSigner<T> | null | undefined,\n): ProgramDerivedAddress<T> {\n if (!value || !Array.isArray(value) || !isProgramDerivedAddress(value)) {\n throw new Error(\"Expected a ProgramDerivedAddress.\");\n }\n return value;\n}\n\n/**\n * Asserts that the given value is a TransactionSigner.\n * @internal\n */\nexport function expectTransactionSigner<T extends string = string>(\n value: Address<T> | ProgramDerivedAddress<T> | TransactionSigner<T> | null | undefined,\n): TransactionSigner<T> {\n if (!value || !isTransactionSigner(value)) {\n throw new Error(\"Expected a TransactionSigner.\");\n }\n return value;\n}\n\n/**\n * Defines an instruction account to resolve.\n * @internal\n */\nexport type ResolvedAccount<\n T extends string = string,\n U extends Address<T> | ProgramDerivedAddress<T> | TransactionSigner<T> | null =\n | Address<T>\n | ProgramDerivedAddress<T>\n | TransactionSigner<T>\n | null,\n> = {\n isWritable: boolean;\n value: U;\n};\n\n/**\n * Defines an instruction that stores additional bytes on-chain.\n * @internal\n */\nexport type IInstructionWithByteDelta = {\n byteDelta: number;\n};\n\n/**\n * Get account metas and signers from resolved accounts.\n * @internal\n */\nexport function getAccountMetaFactory(programAddress: Address, optionalAccountStrategy: \"omitted\" | \"programId\") {\n return (account: ResolvedAccount): IAccountMeta | IAccountSignerMeta | undefined => {\n if (!account.value) {\n if (optionalAccountStrategy === \"omitted\") return;\n return Object.freeze({\n address: programAddress,\n role: AccountRole.READONLY,\n });\n }\n\n const writableRole = account.isWritable ? AccountRole.WRITABLE : AccountRole.READONLY;\n return Object.freeze({\n address: expectAddress(account.value),\n role: isTransactionSigner(account.value) ? upgradeRoleToSigner(writableRole) : writableRole,\n ...(isTransactionSigner(account.value) ? { signer: account.value } : {}),\n });\n };\n}\n\nexport function isTransactionSigner<TAddress extends string = string>(\n value: Address<TAddress> | ProgramDerivedAddress<TAddress> | TransactionSigner<TAddress>,\n): value is TransactionSigner<TAddress> {\n return !!value && typeof value === \"object\" && \"address\" in value && web3JsIsTransactionSigner(value);\n}\n","/**\n * This code was AUTOGENERATED using the codama library.\n * Please DO NOT EDIT THIS FILE, instead use visitors\n * to add features, then rerun codama to update it.\n *\n * @see https://github.com/codama-idl/codama\n */\n\nimport {\n combineCodec,\n getBooleanDecoder,\n getBooleanEncoder,\n getOptionDecoder,\n getOptionEncoder,\n getStructDecoder,\n getStructEncoder,\n getU8Decoder,\n getU8Encoder,\n transformEncoder,\n type Codec,\n type Decoder,\n type Encoder,\n type Option,\n type OptionOrNullable,\n type ReadonlyUint8Array,\n} from \"@solana/codecs\";\nimport type {\n Address,\n IAccountMeta,\n IAccountSignerMeta,\n IInstruction,\n IInstructionWithAccounts,\n IInstructionWithData,\n ReadonlyAccount,\n ReadonlySignerAccount,\n TransactionSigner,\n WritableAccount,\n WritableSignerAccount,\n} from \"@solana/kit\";\n\nimport { getAccountMetaFactory, type ResolvedAccount } from \"../../../shared\";\nimport { TOKEN_METADATA_PROGRAM_ADDRESS } from \"../programs\";\nimport {\n getCollectionDetailsDecoder,\n getCollectionDetailsEncoder,\n getDataV2Decoder,\n getDataV2Encoder,\n type CollectionDetails,\n type CollectionDetailsArgs,\n type DataV2,\n type DataV2Args,\n} from \"../types\";\n\nexport const CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR = 33;\n\nexport function getCreateMetadataAccountV3DiscriminatorBytes(): ReadonlyUint8Array {\n return getU8Encoder().encode(CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR);\n}\n\nexport type CreateMetadataAccountV3Instruction<\n TProgram extends string = typeof TOKEN_METADATA_PROGRAM_ADDRESS,\n TAccountMetadata extends string | IAccountMeta<string> = string,\n TAccountMint extends string | IAccountMeta<string> = string,\n TAccountMintAuthority extends string | IAccountMeta<string> = string,\n TAccountPayer extends string | IAccountMeta<string> = string,\n TAccountUpdateAuthority extends string | IAccountMeta<string> = string,\n TAccountSystemProgram extends string | IAccountMeta<string> = \"11111111111111111111111111111111\",\n TAccountRent extends string | IAccountMeta<string> | undefined = undefined,\n TRemainingAccounts extends readonly IAccountMeta<string>[] = [],\n> = IInstruction<TProgram> &\n IInstructionWithData<Uint8Array> &\n IInstructionWithAccounts<\n [\n TAccountMetadata extends string ? WritableAccount<TAccountMetadata> : TAccountMetadata,\n TAccountMint extends string ? ReadonlyAccount<TAccountMint> : TAccountMint,\n TAccountMintAuthority extends string\n ? ReadonlySignerAccount<TAccountMintAuthority> & IAccountSignerMeta<TAccountMintAuthority>\n : TAccountMintAuthority,\n TAccountPayer extends string\n ? WritableSignerAccount<TAccountPayer> & IAccountSignerMeta<TAccountPayer>\n : TAccountPayer,\n TAccountUpdateAuthority extends string ? ReadonlyAccount<TAccountUpdateAuthority> : TAccountUpdateAuthority,\n TAccountSystemProgram extends string ? ReadonlyAccount<TAccountSystemProgram> : TAccountSystemProgram,\n ...(TAccountRent extends undefined\n ? []\n : [TAccountRent extends string ? ReadonlyAccount<TAccountRent> : TAccountRent]),\n ...TRemainingAccounts,\n ]\n >;\n\nexport type CreateMetadataAccountV3InstructionData = {\n discriminator: number;\n data: DataV2;\n isMutable: boolean;\n collectionDetails: Option<CollectionDetails>;\n};\n\nexport type CreateMetadataAccountV3InstructionDataArgs = {\n data: DataV2Args;\n isMutable: boolean;\n collectionDetails: OptionOrNullable<CollectionDetailsArgs>;\n};\n\nexport function getCreateMetadataAccountV3InstructionDataEncoder(): Encoder<CreateMetadataAccountV3InstructionDataArgs> {\n return transformEncoder(\n getStructEncoder([\n [\"discriminator\", getU8Encoder()],\n [\"data\", getDataV2Encoder()],\n [\"isMutable\", getBooleanEncoder()],\n [\"collectionDetails\", getOptionEncoder(getCollectionDetailsEncoder())],\n ]),\n (value) => ({\n ...value,\n discriminator: CREATE_METADATA_ACCOUNT_V3_DISCRIMINATOR,\n }),\n );\n}\n\nexport function getCreateMetadataAccountV3InstructionDataDecoder(): Decoder<CreateMetadataAccountV3InstructionData> {\n return getStructDecoder([\n [\"discriminator\", getU8Decoder()],\n [\"data\", getDataV2Decoder()],\n [\"isMutable\", getBooleanDecoder()],\n [\"collectionDetails\", getOptionDecoder(getCollectionDetailsDecoder())],\n ]);\n}\n\nexport function getCreateMetadataAccountV3InstructionDataCodec(): Codec<\n CreateMetadataAccountV3InstructionDataArgs,\n CreateMetadataAccountV3InstructionData\n> {\n return combineCodec(\n getCreateMetadataAccountV3InstructionDataEncoder(),\n getCreateMetadataAccountV3InstructionDataDecoder(),\n );\n}\n\nexport type CreateMetadataAccountV3Input<\n TAccountMetadata extends string = string,\n TAccountMint extends string = string,\n TAccountMintAuthority extends string = string,\n TAccountPayer extends string = string,\n TAccountUpdateAuthority extends string = string,\n TAccountSystemProgram extends string = string,\n TAccountRent extends string = string,\n> = {\n /** Metadata key (pda of ['metadata', program id, mint id]) */\n metadata: Address<TAccountMetadata>;\n /** Mint of token asset */\n mint: Address<TAccountMint>;\n /** Mint authority */\n mintAuthority: TransactionSigner<TAccountMintAuthority>;\n /** payer */\n payer: TransactionSign