"use strict";
/**
 * This code was AUTOGENERATED using the kinobi library.
 * Please DO NOT EDIT THIS FILE, instead use visitors
 * to add features, then rerun kinobi to update it.
 *
 * @see https://github.com/metaplex-foundation/kinobi
 */
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMplTokenMetadataProgramId = exports.getMplTokenMetadataProgram = exports.createMplTokenMetadataProgram = exports.MPL_TOKEN_METADATA_PROGRAM_ID = void 0;
const errors_1 = require("../errors");
exports.MPL_TOKEN_METADATA_PROGRAM_ID = 'metaqbxxUerdq28cj1RbAWkYQm3ybzjb6a8bt518x1s';
function createMplTokenMetadataProgram() {
    return {
        name: 'mplTokenMetadata',
        publicKey: exports.MPL_TOKEN_METADATA_PROGRAM_ID,
        getErrorFromCode(code, cause) {
            return (0, errors_1.getMplTokenMetadataErrorFromCode)(code, this, cause);
        },
        getErrorFromName(name, cause) {
            return (0, errors_1.getMplTokenMetadataErrorFromName)(name, this, cause);
        },
        isOnCluster() {
            return true;
        },
    };
}
exports.createMplTokenMetadataProgram = createMplTokenMetadataProgram;
function getMplTokenMetadataProgram(context, clusterFilter) {
    return context.programs.get('mplTokenMetadata', clusterFilter);
}
exports.getMplTokenMetadataProgram = getMplTokenMetadataProgram;
function getMplTokenMetadataProgramId(context, clusterFilter) {
    return context.programs.getPublicKey('mplTokenMetadata', exports.MPL_TOKEN_METADATA_PROGRAM_ID, clusterFilter);
}
exports.getMplTokenMetadataProgramId = getMplTokenMetadataProgramId;
//# sourceMappingURL=mplTokenMetadata.js.map