"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.getSplSystemProgramId = exports.getSplSystemProgram = exports.createSplSystemProgram = exports.SPL_SYSTEM_PROGRAM_ID = void 0;
const errors_1 = require("../errors");
exports.SPL_SYSTEM_PROGRAM_ID = '11111111111111111111111111111111';
function createSplSystemProgram() {
    return {
        name: 'splSystem',
        publicKey: exports.SPL_SYSTEM_PROGRAM_ID,
        getErrorFromCode(code, cause) {
            return (0, errors_1.getSplSystemErrorFromCode)(code, this, cause);
        },
        getErrorFromName(name, cause) {
            return (0, errors_1.getSplSystemErrorFromName)(name, this, cause);
        },
        isOnCluster() {
            return true;
        },
    };
}
exports.createSplSystemProgram = createSplSystemProgram;
function getSplSystemProgram(context, clusterFilter) {
    return context.programs.get('splSystem', clusterFilter);
}
exports.getSplSystemProgram = getSplSystemProgram;
function getSplSystemProgramId(context, clusterFilter) {
    return context.programs.getPublicKey('splSystem', exports.SPL_SYSTEM_PROGRAM_ID, clusterFilter);
}
exports.getSplSystemProgramId = getSplSystemProgramId;
//# sourceMappingURL=splSystem.js.map