"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || (function () {
    var ownKeys = function(o) {
        ownKeys = Object.getOwnPropertyNames || function (o) {
            var ar = [];
            for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
            return ar;
        };
        return ownKeys(o);
    };
    return function (mod) {
        if (mod && mod.__esModule) return mod;
        var result = {};
        if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
        __setModuleDefault(result, mod);
        return result;
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
exports.UpdateProtocolOrderExecutionFee = exports.UpdateDeleveragingBonusIncreaseBpsPerDay = exports.UpdateAutodeleverageEnabled = exports.UpdateHostFixedInterestRateBps = exports.UpdateBorrowLimitsInElevationGroupAgainstThisReserve = exports.UpdateBorrowLimitOutsideElevationGroup = exports.UpdateBlockPriceUsage = exports.UpdateBlockBorrowingAboveUtilizationPct = exports.UpdateDisableUsageAsCollateralOutsideEmode = exports.UpdateFarmDebt = exports.UpdateFarmCollateral = exports.UpdateReserveStatus = exports.DeprecatedUpdateMultiplierTagBoost = exports.DeprecatedUpdateMultiplierSideBoost = exports.UpdateDeleveragingThresholdDecreaseBpsPerDay = exports.UpdateElevationGroup = exports.DeprecatedUpdateAssetTier = exports.UpdateBorrowFactor = exports.UpdateDeleveragingMarginCallPeriod = exports.UpdateMinLiquidationBonusBps = exports.UpdateBadDebtLiquidationBonusBps = exports.DeprecatedUpdateDepositWithdrawalCapCurrentTotal = exports.DeprecatedUpdateDebtWithdrawalCapCurrentTotal = exports.UpdateDepositWithdrawalCap = exports.UpdateDebtWithdrawalCap = exports.DeprecatedUpdateEntireReserveConfig = exports.UpdateBorrowRateCurve = exports.UpdateSwitchboardTwapFeed = exports.UpdateSwitchboardFeed = exports.UpdatePythPrice = exports.UpdateScopePriceFeed = exports.UpdateTokenInfoTwapMaxAge = exports.UpdateTokenInfoPriceMaxAge = exports.UpdateTokenInfoName = exports.UpdateTokenInfoScopeChain = exports.UpdateTokenInfoScopeTwap = exports.UpdateTokenInfoTwapDivergence = exports.UpdateTokenInfoExpHeuristic = exports.UpdateTokenInfoUpperHeuristic = exports.UpdateTokenInfoLowerHeuristic = exports.UpdateBorrowLimit = exports.UpdateDepositLimit = exports.DeprecatedUpdateFeesReferralFeeBps = exports.UpdateFeesFlashLoanFee = exports.UpdateFeesOriginationFee = exports.UpdateProtocolTakeRate = exports.UpdateProtocolLiquidationFee = exports.UpdateLiquidationThresholdPct = exports.UpdateMaxLiquidationBonusBps = exports.UpdateLoanToValuePct = void 0;
exports.UpdateRewardsAmountPerSlot = exports.UpdateReserveEmergencyMode = exports.UpdateEarlyRepayRemainingInterestPct = exports.UpdateDebtTermSeconds = exports.UpdateDebtMaturityTimestamp = exports.UpdateBlockCTokenUsage = exports.UpdateMinDeleveragingBonusBps = exports.UpdateProposerAuthorityLock = void 0;
exports.fromDecoded = fromDecoded;
exports.fromJSON = fromJSON;
exports.layout = layout;
const borsh = __importStar(require("@coral-xyz/borsh"));
class UpdateLoanToValuePct {
    static discriminator = 0;
    static kind = "UpdateLoanToValuePct";
    discriminator = 0;
    kind = "UpdateLoanToValuePct";
    toJSON() {
        return {
            kind: "UpdateLoanToValuePct",
        };
    }
    toEncodable() {
        return {
            UpdateLoanToValuePct: {},
        };
    }
}
exports.UpdateLoanToValuePct = UpdateLoanToValuePct;
class UpdateMaxLiquidationBonusBps {
    static discriminator = 1;
    static kind = "UpdateMaxLiquidationBonusBps";
    discriminator = 1;
    kind = "UpdateMaxLiquidationBonusBps";
    toJSON() {
        return {
            kind: "UpdateMaxLiquidationBonusBps",
        };
    }
    toEncodable() {
        return {
            UpdateMaxLiquidationBonusBps: {},
        };
    }
}
exports.UpdateMaxLiquidationBonusBps = UpdateMaxLiquidationBonusBps;
class UpdateLiquidationThresholdPct {
    static discriminator = 2;
    static kind = "UpdateLiquidationThresholdPct";
    discriminator = 2;
    kind = "UpdateLiquidationThresholdPct";
    toJSON() {
        return {
            kind: "UpdateLiquidationThresholdPct",
        };
    }
    toEncodable() {
        return {
            UpdateLiquidationThresholdPct: {},
        };
    }
}
exports.UpdateLiquidationThresholdPct = UpdateLiquidationThresholdPct;
class UpdateProtocolLiquidationFee {
    static discriminator = 3;
    static kind = "UpdateProtocolLiquidationFee";
    discriminator = 3;
    kind = "UpdateProtocolLiquidationFee";
    toJSON() {
        return {
            kind: "UpdateProtocolLiquidationFee",
        };
    }
    toEncodable() {
        return {
            UpdateProtocolLiquidationFee: {},
        };
    }
}
exports.UpdateProtocolLiquidationFee = UpdateProtocolLiquidationFee;
class UpdateProtocolTakeRate {
    static discriminator = 4;
    static kind = "UpdateProtocolTakeRate";
    discriminator = 4;
    kind = "UpdateProtocolTakeRate";
    toJSON() {
        return {
            kind: "UpdateProtocolTakeRate",
        };
    }
    toEncodable() {
        return {
            UpdateProtocolTakeRate: {},
        };
    }
}
exports.UpdateProtocolTakeRate = UpdateProtocolTakeRate;
class UpdateFeesOriginationFee {
    static discriminator = 5;
    static kind = "UpdateFeesOriginationFee";
    discriminator = 5;
    kind = "UpdateFeesOriginationFee";
    toJSON() {
        return {
            kind: "UpdateFeesOriginationFee",
        };
    }
    toEncodable() {
        return {
            UpdateFeesOriginationFee: {},
        };
    }
}
exports.UpdateFeesOriginationFee = UpdateFeesOriginationFee;
class UpdateFeesFlashLoanFee {
    static discriminator = 6;
    static kind = "UpdateFeesFlashLoanFee";
    discriminator = 6;
    kind = "UpdateFeesFlashLoanFee";
    toJSON() {
        return {
            kind: "UpdateFeesFlashLoanFee",
        };
    }
    toEncodable() {
        return {
            UpdateFeesFlashLoanFee: {},
        };
    }
}
exports.UpdateFeesFlashLoanFee = UpdateFeesFlashLoanFee;
class DeprecatedUpdateFeesReferralFeeBps {
    static discriminator = 7;
    static kind = "DeprecatedUpdateFeesReferralFeeBps";
    discriminator = 7;
    kind = "DeprecatedUpdateFeesReferralFeeBps";
    toJSON() {
        return {
            kind: "DeprecatedUpdateFeesReferralFeeBps",
        };
    }
    toEncodable() {
        return {
            DeprecatedUpdateFeesReferralFeeBps: {},
        };
    }
}
exports.DeprecatedUpdateFeesReferralFeeBps = DeprecatedUpdateFeesReferralFeeBps;
class UpdateDepositLimit {
    static discriminator = 8;
    static kind = "UpdateDepositLimit";
    discriminator = 8;
    kind = "UpdateDepositLimit";
    toJSON() {
        return {
            kind: "UpdateDepositLimit",
        };
    }
    toEncodable() {
        return {
            UpdateDepositLimit: {},
        };
    }
}
exports.UpdateDepositLimit = UpdateDepositLimit;
class UpdateBorrowLimit {
    static discriminator = 9;
    static kind = "UpdateBorrowLimit";
    discriminator = 9;
    kind = "UpdateBorrowLimit";
    toJSON() {
        return {
            kind: "UpdateBorrowLimit",
        };
    }
    toEncodable() {
        return {
            UpdateBorrowLimit: {},
        };
    }
}
exports.UpdateBorrowLimit = UpdateBorrowLimit;
class UpdateTokenInfoLowerHeuristic {
    static discriminator = 10;
    static kind = "UpdateTokenInfoLowerHeuristic";
    discriminator = 10;
    kind = "UpdateTokenInfoLowerHeuristic";
    toJSON() {
        return {
            kind: "UpdateTokenInfoLowerHeuristic",
        };
    }
    toEncodable() {
        return {
            UpdateTokenInfoLowerHeuristic: {},
        };
    }
}
exports.UpdateTokenInfoLowerHeuristic = UpdateTokenInfoLowerHeuristic;
class UpdateTokenInfoUpperHeuristic {
    static discriminator = 11;
    static kind = "UpdateTokenInfoUpperHeuristic";
    discriminator = 11;
    kind = "UpdateTokenInfoUpperHeuristic";
    toJSON() {
        return {
            kind: "UpdateTokenInfoUpperHeuristic",
        };
    }
    toEncodable() {
        return {
            UpdateTokenInfoUpperHeuristic: {},
        };
    }
}
exports.UpdateTokenInfoUpperHeuristic = UpdateTokenInfoUpperHeuristic;
class UpdateTokenInfoExpHeuristic {
    static discriminator = 12;
    static kind = "UpdateTokenInfoExpHeuristic";
    discriminator = 12;
    kind = "UpdateTokenInfoExpHeuristic";
    toJSON() {
        return {
            kind: "UpdateTokenInfoExpHeuristic",
        };
    }
    toEncodable() {
        return {
            UpdateTokenInfoExpHeuristic: {},
        };
    }
}
exports.UpdateTokenInfoExpHeuristic = UpdateTokenInfoExpHeuristic;
class UpdateTokenInfoTwapDivergence {
    static discriminator = 13;
    static kind = "UpdateTokenInfoTwapDivergence";
    discriminator = 13;
    kind = "UpdateTokenInfoTwapDivergence";
    toJSON() {
        return {
            kind: "UpdateTokenInfoTwapDivergence",
        };
    }
    toEncodable() {
        return {
            UpdateTokenInfoTwapDivergence: {},
        };
    }
}
exports.UpdateTokenInfoTwapDivergence = UpdateTokenInfoTwapDivergence;
class UpdateTokenInfoScopeTwap {
    static discriminator = 14;
    static kind = "UpdateTokenInfoScopeTwap";
    discriminator = 14;
    kind = "UpdateTokenInfoScopeTwap";
    toJSON() {
        return {
            kind: "UpdateTokenInfoScopeTwap",
        };
    }
    toEncodable() {
        return {
            UpdateTokenInfoScopeTwap: {},
        };
    }
}
exports.UpdateTokenInfoScopeTwap = UpdateTokenInfoScopeTwap;
class UpdateTokenInfoScopeChain {
    static discriminator = 15;
    static kind = "UpdateTokenInfoScopeChain";
    discriminator = 15;
    kind = "UpdateTokenInfoScopeChain";
    toJSON() {
        return {
            kind: "UpdateTokenInfoScopeChain",
        };
    }
    toEncodable() {
        return {
            UpdateTokenInfoScopeChain: {},
        };
    }
}
exports.UpdateTokenInfoScopeChain = UpdateTokenInfoScopeChain;
class UpdateTokenInfoName {
    static discriminator = 16;
    static kind = "UpdateTokenInfoName";
    discriminator = 16;
    kind = "UpdateTokenInfoName";
    toJSON() {
        return {
            kind: "UpdateTokenInfoName",
        };
    }
    toEncodable() {
        return {
            UpdateTokenInfoName: {},
        };
    }
}
exports.UpdateTokenInfoName = UpdateTokenInfoName;
class UpdateTokenInfoPriceMaxAge {
    static discriminator = 17;
    static kind = "UpdateTokenInfoPriceMaxAge";
    discriminator = 17;
    kind = "UpdateTokenInfoPriceMaxAge";
    toJSON() {
        return {
            kind: "UpdateTokenInfoPriceMaxAge",
        };
    }
    toEncodable() {
        return {
            UpdateTokenInfoPriceMaxAge: {},
        };
    }
}
exports.UpdateTokenInfoPriceMaxAge = UpdateTokenInfoPriceMaxAge;
class UpdateTokenInfoTwapMaxAge {
    static discriminator = 18;
    static kind = "UpdateTokenInfoTwapMaxAge";
    discriminator = 18;
    kind = "UpdateTokenInfoTwapMaxAge";
    toJSON() {
        return {
            kind: "UpdateTokenInfoTwapMaxAge",
        };
    }
    toEncodable() {
        return {
            UpdateTokenInfoTwapMaxAge: {},
        };
    }
}
exports.UpdateTokenInfoTwapMaxAge = UpdateTokenInfoTwapMaxAge;
class UpdateScopePriceFeed {
    static discriminator = 19;
    static kind = "UpdateScopePriceFeed";
    discriminator = 19;
    kind = "UpdateScopePriceFeed";
    toJSON() {
        return {
            kind: "UpdateScopePriceFeed",
        };
    }
    toEncodable() {
        return {
            UpdateScopePriceFeed: {},
        };
    }
}
exports.UpdateScopePriceFeed = UpdateScopePriceFeed;
class UpdatePythPrice {
    static discriminator = 20;
    static kind = "UpdatePythPrice";
    discriminator = 20;
    kind = "UpdatePythPrice";
    toJSON() {
        return {
            kind: "UpdatePythPrice",
        };
    }
    toEncodable() {
        return {
            UpdatePythPrice: {},
        };
    }
}
exports.UpdatePythPrice = UpdatePythPrice;
class UpdateSwitchboardFeed {
    static discriminator = 21;
    static kind = "UpdateSwitchboardFeed";
    discriminator = 21;
    kind = "UpdateSwitchboardFeed";
    toJSON() {
        return {
            kind: "UpdateSwitchboardFeed",
        };
    }
    toEncodable() {
        return {
            UpdateSwitchboardFeed: {},
        };
    }
}
exports.UpdateSwitchboardFeed = UpdateSwitchboardFeed;
class UpdateSwitchboardTwapFeed {
    static discriminator = 22;
    static kind = "UpdateSwitchboardTwapFeed";
    discriminator = 22;
    kind = "UpdateSwitchboardTwapFeed";
    toJSON() {
        return {
            kind: "UpdateSwitchboardTwapFeed",
        };
    }
    toEncodable() {
        return {
            UpdateSwitchboardTwapFeed: {},
        };
    }
}
exports.UpdateSwitchboardTwapFeed = UpdateSwitchboardTwapFeed;
class UpdateBorrowRateCurve {
    static discriminator = 23;
    static kind = "UpdateBorrowRateCurve";
    discriminator = 23;
    kind = "UpdateBorrowRateCurve";
    toJSON() {
        return {
            kind: "UpdateBorrowRateCurve",
        };
    }
    toEncodable() {
        return {
            UpdateBorrowRateCurve: {},
        };
    }
}
exports.UpdateBorrowRateCurve = UpdateBorrowRateCurve;
class DeprecatedUpdateEntireReserveConfig {
    static discriminator = 24;
    static kind = "DeprecatedUpdateEntireReserveConfig";
    discriminator = 24;
    kind = "DeprecatedUpdateEntireReserveConfig";
    toJSON() {
        return {
            kind: "DeprecatedUpdateEntireReserveConfig",
        };
    }
    toEncodable() {
        return {
            DeprecatedUpdateEntireReserveConfig: {},
        };
    }
}
exports.DeprecatedUpdateEntireReserveConfig = DeprecatedUpdateEntireReserveConfig;
class UpdateDebtWithdrawalCap {
    static discriminator = 25;
    static kind = "UpdateDebtWithdrawalCap";
    discriminator = 25;
    kind = "UpdateDebtWithdrawalCap";
    toJSON() {
        return {
            kind: "UpdateDebtWithdrawalCap",
        };
    }
    toEncodable() {
        return {
            UpdateDebtWithdrawalCap: {},
        };
    }
}
exports.UpdateDebtWithdrawalCap = UpdateDebtWithdrawalCap;
class UpdateDepositWithdrawalCap {
    static discriminator = 26;
    static kind = "UpdateDepositWithdrawalCap";
    discriminator = 26;
    kind = "UpdateDepositWithdrawalCap";
    toJSON() {
        return {
            kind: "UpdateDepositWithdrawalCap",
        };
    }
    toEncodable() {
        return {
            UpdateDepositWithdrawalCap: {},
        };
    }
}
exports.UpdateDepositWithdrawalCap = UpdateDepositWithdrawalCap;
class DeprecatedUpdateDebtWithdrawalCapCurrentTotal {
    static discriminator = 27;
    static kind = "DeprecatedUpdateDebtWithdrawalCapCurrentTotal";
    discriminator = 27;
    kind = "DeprecatedUpdateDebtWithdrawalCapCurrentTotal";
    toJSON() {
        return {
            kind: "DeprecatedUpdateDebtWithdrawalCapCurrentTotal",
        };
    }
    toEncodable() {
        return {
            DeprecatedUpdateDebtWithdrawalCapCurrentTotal: {},
        };
    }
}
exports.DeprecatedUpdateDebtWithdrawalCapCurrentTotal = DeprecatedUpdateDebtWithdrawalCapCurrentTotal;
class DeprecatedUpdateDepositWithdrawalCapCurrentTotal {
    static discriminator = 28;
    static kind = "DeprecatedUpdateDepositWithdrawalCapCurrentTotal";
    discriminator = 28;
    kind = "DeprecatedUpdateDepositWithdrawalCapCurrentTotal";
    toJSON() {
        return {
            kind: "DeprecatedUpdateDepositWithdrawalCapCurrentTotal",
        };
    }
    toEncodable() {
        return {
            DeprecatedUpdateDepositWithdrawalCapCurrentTotal: {},
        };
    }
}
exports.DeprecatedUpdateDepositWithdrawalCapCurrentTotal = DeprecatedUpdateDepositWithdrawalCapCurrentTotal;
class UpdateBadDebtLiquidationBonusBps {
    static discriminator = 29;
    static kind = "UpdateBadDebtLiquidationBonusBps";
    discriminator = 29;
    kind = "UpdateBadDebtLiquidationBonusBps";
    toJSON() {
        return {
            kind: "UpdateBadDebtLiquidationBonusBps",
        };
    }
    toEncodable() {
        return {
            UpdateBadDebtLiquidationBonusBps: {},
        };
    }
}
exports.UpdateBadDebtLiquidationBonusBps = UpdateBadDebtLiquidationBonusBps;
class UpdateMinLiquidationBonusBps {
    static discriminator = 30;
    static kind = "UpdateMinLiquidationBonusBps";
    discriminator = 30;
    kind = "UpdateMinLiquidationBonusBps";
    toJSON() {
        return {
            kind: "UpdateMinLiquidationBonusBps",
        };
    }
    toEncodable() {
        return {
            UpdateMinLiquidationBonusBps: {},
        };
    }
}
exports.UpdateMinLiquidationBonusBps = UpdateMinLiquidationBonusBps;
class UpdateDeleveragingMarginCallPeriod {
    static discriminator = 31;
    static kind = "UpdateDeleveragingMarginCallPeriod";
    discriminator = 31;
    kind = "UpdateDeleveragingMarginCallPeriod";
    toJSON() {
        return {
            kind: "UpdateDeleveragingMarginCallPeriod",
        };
    }
    toEncodable() {
        return {
            UpdateDeleveragingMarginCallPeriod: {},
        };
    }
}
exports.UpdateDeleveragingMarginCallPeriod = UpdateDeleveragingMarginCallPeriod;
class UpdateBorrowFactor {
    static discriminator = 32;
    static kind = "UpdateBorrowFactor";
    discriminator = 32;
    kind = "UpdateBorrowFactor";
    toJSON() {
        return {
            kind: "UpdateBorrowFactor",
        };
    }
    toEncodable() {
        return {
            UpdateBorrowFactor: {},
        };
    }
}
exports.UpdateBorrowFactor = UpdateBorrowFactor;
class DeprecatedUpdateAssetTier {
    static discriminator = 33;
    static kind = "DeprecatedUpdateAssetTier";
    discriminator = 33;
    kind = "DeprecatedUpdateAssetTier";
    toJSON() {
        return {
            kind: "DeprecatedUpdateAssetTier",
        };
    }
    toEncodable() {
        return {
            DeprecatedUpdateAssetTier: {},
        };
    }
}
exports.DeprecatedUpdateAssetTier = DeprecatedUpdateAssetTier;
class UpdateElevationGroup {
    static discriminator = 34;
    static kind = "UpdateElevationGroup";
    discriminator = 34;
    kind = "UpdateElevationGroup";
    toJSON() {
        return {
            kind: "UpdateElevationGroup",
        };
    }
    toEncodable() {
        return {
            UpdateElevationGroup: {},
        };
    }
}
exports.UpdateElevationGroup = UpdateElevationGroup;
class UpdateDeleveragingThresholdDecreaseBpsPerDay {
    static discriminator = 35;
    static kind = "UpdateDeleveragingThresholdDecreaseBpsPerDay";
    discriminator = 35;
    kind = "UpdateDeleveragingThresholdDecreaseBpsPerDay";
    toJSON() {
        return {
            kind: "UpdateDeleveragingThresholdDecreaseBpsPerDay",
        };
    }
    toEncodable() {
        return {
            UpdateDeleveragingThresholdDecreaseBpsPerDay: {},
        };
    }
}
exports.UpdateDeleveragingThresholdDecreaseBpsPerDay = UpdateDeleveragingThresholdDecreaseBpsPerDay;
class DeprecatedUpdateMultiplierSideBoost {
    static discriminator = 36;
    static kind = "DeprecatedUpdateMultiplierSideBoost";
    discriminator = 36;
    kind = "DeprecatedUpdateMultiplierSideBoost";
    toJSON() {
        return {
            kind: "DeprecatedUpdateMultiplierSideBoost",
        };
    }
    toEncodable() {
        return {
            DeprecatedUpdateMultiplierSideBoost: {},
        };
    }
}
exports.DeprecatedUpdateMultiplierSideBoost = DeprecatedUpdateMultiplierSideBoost;
class DeprecatedUpdateMultiplierTagBoost {
    static discriminator = 37;
    static kind = "DeprecatedUpdateMultiplierTagBoost";
    discriminator = 37;
    kind = "DeprecatedUpdateMultiplierTagBoost";
    toJSON() {
        return {
            kind: "DeprecatedUpdateMultiplierTagBoost",
        };
    }
    toEncodable() {
        return {
            DeprecatedUpdateMultiplierTagBoost: {},
        };
    }
}
exports.DeprecatedUpdateMultiplierTagBoost = DeprecatedUpdateMultiplierTagBoost;
class UpdateReserveStatus {
    static discriminator = 38;
    static kind = "UpdateReserveStatus";
    discriminator = 38;
    kind = "UpdateReserveStatus";
    toJSON() {
        return {
            kind: "UpdateReserveStatus",
        };
    }
    toEncodable() {
        return {
            UpdateReserveStatus: {},
        };
    }
}
exports.UpdateReserveStatus = UpdateReserveStatus;
class UpdateFarmCollateral {
    static discriminator = 39;
    static kind = "UpdateFarmCollateral";
    discriminator = 39;
    kind = "UpdateFarmCollateral";
    toJSON() {
        return {
            kind: "UpdateFarmCollateral",
        };
    }
    toEncodable() {
        return {
            UpdateFarmCollateral: {},
        };
    }
}
exports.UpdateFarmCollateral = UpdateFarmCollateral;
class UpdateFarmDebt {
    static discriminator = 40;
    static kind = "UpdateFarmDebt";
    discriminator = 40;
    kind = "UpdateFarmDebt";
    toJSON() {
        return {
            kind: "UpdateFarmDebt",
        };
    }
    toEncodable() {
        return {
            UpdateFarmDebt: {},
        };
    }
}
exports.UpdateFarmDebt = UpdateFarmDebt;
class UpdateDisableUsageAsCollateralOutsideEmode {
    static discriminator = 41;
    static kind = "UpdateDisableUsageAsCollateralOutsideEmode";
    discriminator = 41;
    kind = "UpdateDisableUsageAsCollateralOutsideEmode";
    toJSON() {
        return {
            kind: "UpdateDisableUsageAsCollateralOutsideEmode",
        };
    }
    toEncodable() {
        return {
            UpdateDisableUsageAsCollateralOutsideEmode: {},
        };
    }
}
exports.UpdateDisableUsageAsCollateralOutsideEmode = UpdateDisableUsageAsCollateralOutsideEmode;
class UpdateBlockBorrowingAboveUtilizationPct {
    static discriminator = 42;
    static kind = "UpdateBlockBorrowingAboveUtilizationPct";
    discriminator = 42;
    kind = "UpdateBlockBorrowingAboveUtilizationPct";
    toJSON() {
        return {
            kind: "UpdateBlockBorrowingAboveUtilizationPct",
        };
    }
    toEncodable() {
        return {
            UpdateBlockBorrowingAboveUtilizationPct: {},
        };
    }
}
exports.UpdateBlockBorrowingAboveUtilizationPct = UpdateBlockBorrowingAboveUtilizationPct;
class UpdateBlockPriceUsage {
    static discriminator = 43;
    static kind = "UpdateBlockPriceUsage";
    discriminator = 43;
    kind = "UpdateBlockPriceUsage";
    toJSON() {
        return {
            kind: "UpdateBlockPriceUsage",
        };
    }
    toEncodable() {
        return {
            UpdateBlockPriceUsage: {},
        };
    }
}
exports.UpdateBlockPriceUsage = UpdateBlockPriceUsage;
class UpdateBorrowLimitOutsideElevationGroup {
    static discriminator = 44;
    static kind = "UpdateBorrowLimitOutsideElevationGroup";
    discriminator = 44;
    kind = "UpdateBorrowLimitOutsideElevationGroup";
    toJSON() {
        return {
            kind: "UpdateBorrowLimitOutsideElevationGroup",
        };
    }
    toEncodable() {
        return {
            UpdateBorrowLimitOutsideElevationGroup: {},
        };
    }
}
exports.UpdateBorrowLimitOutsideElevationGroup = UpdateBorrowLimitOutsideElevationGroup;
class UpdateBorrowLimitsInElevationGroupAgainstThisReserve {
    static discriminator = 45;
    static kind = "UpdateBorrowLimitsInElevationGroupAgainstThisReserve";
    discriminator = 45;
    kind = "UpdateBorrowLimitsInElevationGroupAgainstThisReserve";
    toJSON() {
        return {
            kind: "UpdateBorrowLimitsInElevationGroupAgainstThisReserve",
        };
    }
    toEncodable() {
        return {
            UpdateBorrowLimitsInElevationGroupAgainstThisReserve: {},
        };
    }
}
exports.UpdateBorrowLimitsInElevationGroupAgainstThisReserve = UpdateBorrowLimitsInElevationGroupAgainstThisReserve;
class UpdateHostFixedInterestRateBps {
    static discriminator = 46;
    static kind = "UpdateHostFixedInterestRateBps";
    discriminator = 46;
    kind = "UpdateHostFixedInterestRateBps";
    toJSON() {
        return {
            kind: "UpdateHostFixedInterestRateBps",
        };
    }
    toEncodable() {
        return {
            UpdateHostFixedInterestRateBps: {},
        };
    }
}
exports.UpdateHostFixedInterestRateBps = UpdateHostFixedInterestRateBps;
class UpdateAutodeleverageEnabled {
    static discriminator = 47;
    static kind = "UpdateAutodeleverageEnabled";
    discriminator = 47;
    kind = "UpdateAutodeleverageEnabled";
    toJSON() {
        return {
            kind: "UpdateAutodeleverageEnabled",
        };
    }
    toEncodable() {
        return {
            UpdateAutodeleverageEnabled: {},
        };
    }
}
exports.UpdateAutodeleverageEnabled = UpdateAutodeleverageEnabled;
class UpdateDeleveragingBonusIncreaseBpsPerDay {
    static discriminator = 48;
    static kind = "UpdateDeleveragingBonusIncreaseBpsPerDay";
    discriminator = 48;
    kind = "UpdateDeleveragingBonusIncreaseBpsPerDay";
    toJSON() {
        return {
            kind: "UpdateDeleveragingBonusIncreaseBpsPerDay",
        };
    }
    toEncodable() {
        return {
            UpdateDeleveragingBonusIncreaseBpsPerDay: {},
        };
    }
}
exports.UpdateDeleveragingBonusIncreaseBpsPerDay = UpdateDeleveragingBonusIncreaseBpsPerDay;
class UpdateProtocolOrderExecutionFee {
    static discriminator = 49;
    static kind = "UpdateProtocolOrderExecutionFee";
    discriminator = 49;
    kind = "UpdateProtocolOrderExecutionFee";
    toJSON() {
        return {
            kind: "UpdateProtocolOrderExecutionFee",
        };
    }
    toEncodable() {
        return {
            UpdateProtocolOrderExecutionFee: {},
        };
    }
}
exports.UpdateProtocolOrderExecutionFee = UpdateProtocolOrderExecutionFee;
class UpdateProposerAuthorityLock {
    static discriminator = 50;
    static kind = "UpdateProposerAuthorityLock";
    discriminator = 50;
    kind = "UpdateProposerAuthorityLock";
    toJSON() {
        return {
            kind: "UpdateProposerAuthorityLock",
        };
    }
    toEncodable() {
        return {
            UpdateProposerAuthorityLock: {},
        };
    }
}
exports.UpdateProposerAuthorityLock = UpdateProposerAuthorityLock;
class UpdateMinDeleveragingBonusBps {
    static discriminator = 51;
    static kind = "UpdateMinDeleveragingBonusBps";
    discriminator = 51;
    kind = "UpdateMinDeleveragingBonusBps";
    toJSON() {
        return {
            kind: "UpdateMinDeleveragingBonusBps",
        };
    }
    toEncodable() {
        return {
            UpdateMinDeleveragingBonusBps: {},
        };
    }
}
exports.UpdateMinDeleveragingBonusBps = UpdateMinDeleveragingBonusBps;
class UpdateBlockCTokenUsage {
    static discriminator = 52;
    static kind = "UpdateBlockCTokenUsage";
    discriminator = 52;
    kind = "UpdateBlockCTokenUsage";
    toJSON() {
        return {
            kind: "UpdateBlockCTokenUsage",
        };
    }
    toEncodable() {
        return {
            UpdateBlockCTokenUsage: {},
        };
    }
}
exports.UpdateBlockCTokenUsage = UpdateBlockCTokenUsage;
class UpdateDebtMaturityTimestamp {
    static discriminator = 53;
    static kind = "UpdateDebtMaturityTimestamp";
    discriminator = 53;
    kind = "UpdateDebtMaturityTimestamp";
    toJSON() {
        return {
            kind: "UpdateDebtMaturityTimestamp",
        };
    }
    toEncodable() {
        return {
            UpdateDebtMaturityTimestamp: {},
        };
    }
}
exports.UpdateDebtMaturityTimestamp = UpdateDebtMaturityTimestamp;
class UpdateDebtTermSeconds {
    static discriminator = 54;
    static kind = "UpdateDebtTermSeconds";
    discriminator = 54;
    kind = "UpdateDebtTermSeconds";
    toJSON() {
        return {
            kind: "UpdateDebtTermSeconds",
        };
    }
    toEncodable() {
        return {
            UpdateDebtTermSeconds: {},
        };
    }
}
exports.UpdateDebtTermSeconds = UpdateDebtTermSeconds;
class UpdateEarlyRepayRemainingInterestPct {
    static discriminator = 55;
    static kind = "UpdateEarlyRepayRemainingInterestPct";
    discriminator = 55;
    kind = "UpdateEarlyRepayRemainingInterestPct";
    toJSON() {
        return {
            kind: "UpdateEarlyRepayRemainingInterestPct",
        };
    }
    toEncodable() {
        return {
            UpdateEarlyRepayRemainingInterestPct: {},
        };
    }
}
exports.UpdateEarlyRepayRemainingInterestPct = UpdateEarlyRepayRemainingInterestPct;
class UpdateReserveEmergencyMode {
    static discriminator = 56;
    static kind = "UpdateReserveEmergencyMode";
    discriminator = 56;
    kind = "UpdateReserveEmergencyMode";
    toJSON() {
        return {
            kind: "UpdateReserveEmergencyMode",
        };
    }
    toEncodable() {
        return {
            UpdateReserveEmergencyMode: {},
        };
    }
}
exports.UpdateReserveEmergencyMode = UpdateReserveEmergencyMode;
class UpdateRewardsAmountPerSlot {
    static discriminator = 57;
    static kind = "UpdateRewardsAmountPerSlot";
    discriminator = 57;
    kind = "UpdateRewardsAmountPerSlot";
    toJSON() {
        return {
            kind: "UpdateRewardsAmountPerSlot",
        };
    }
    toEncodable() {
        return {
            UpdateRewardsAmountPerSlot: {},
        };
    }
}
exports.UpdateRewardsAmountPerSlot = UpdateRewardsAmountPerSlot;
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function fromDecoded(obj) {
    if (typeof obj !== "object") {
        throw new Error("Invalid enum object");
    }
    if ("UpdateLoanToValuePct" in obj) {
        return new UpdateLoanToValuePct();
    }
    if ("UpdateMaxLiquidationBonusBps" in obj) {
        return new UpdateMaxLiquidationBonusBps();
    }
    if ("UpdateLiquidationThresholdPct" in obj) {
        return new UpdateLiquidationThresholdPct();
    }
    if ("UpdateProtocolLiquidationFee" in obj) {
        return new UpdateProtocolLiquidationFee();
    }
    if ("UpdateProtocolTakeRate" in obj) {
        return new UpdateProtocolTakeRate();
    }
    if ("UpdateFeesOriginationFee" in obj) {
        return new UpdateFeesOriginationFee();
    }
    if ("UpdateFeesFlashLoanFee" in obj) {
        return new UpdateFeesFlashLoanFee();
    }
    if ("DeprecatedUpdateFeesReferralFeeBps" in obj) {
        return new DeprecatedUpdateFeesReferralFeeBps();
    }
    if ("UpdateDepositLimit" in obj) {
        return new UpdateDepositLimit();
    }
    if ("UpdateBorrowLimit" in obj) {
        return new UpdateBorrowLimit();
    }
    if ("UpdateTokenInfoLowerHeuristic" in obj) {
        return new UpdateTokenInfoLowerHeuristic();
    }
    if ("UpdateTokenInfoUpperHeuristic" in obj) {
        return new UpdateTokenInfoUpperHeuristic();
    }
    if ("UpdateTokenInfoExpHeuristic" in obj) {
        return new UpdateTokenInfoExpHeuristic();
    }
    if ("UpdateTokenInfoTwapDivergence" in obj) {
        return new UpdateTokenInfoTwapDivergence();
    }
    if ("UpdateTokenInfoScopeTwap" in obj) {
        return new UpdateTokenInfoScopeTwap();
    }
    if ("UpdateTokenInfoScopeChain" in obj) {
        return new UpdateTokenInfoScopeChain();
    }
    if ("UpdateTokenInfoName" in obj) {
        return new UpdateTokenInfoName();
    }
    if ("UpdateTokenInfoPriceMaxAge" in obj) {
        return new UpdateTokenInfoPriceMaxAge();
    }
    if ("UpdateTokenInfoTwapMaxAge" in obj) {
        return new UpdateTokenInfoTwapMaxAge();
    }
    if ("UpdateScopePriceFeed" in obj) {
        return new UpdateScopePriceFeed();
    }
    if ("UpdatePythPrice" in obj) {
        return new UpdatePythPrice();
    }
    if ("UpdateSwitchboardFeed" in obj) {
        return new UpdateSwitchboardFeed();
    }
    if ("UpdateSwitchboardTwapFeed" in obj) {
        return new UpdateSwitchboardTwapFeed();
    }
    if ("UpdateBorrowRateCurve" in obj) {
        return new UpdateBorrowRateCurve();
    }
    if ("DeprecatedUpdateEntireReserveConfig" in obj) {
        return new DeprecatedUpdateEntireReserveConfig();
    }
    if ("UpdateDebtWithdrawalCap" in obj) {
        return new UpdateDebtWithdrawalCap();
    }
    if ("UpdateDepositWithdrawalCap" in obj) {
        return new UpdateDepositWithdrawalCap();
    }
    if ("DeprecatedUpdateDebtWithdrawalCapCurrentTotal" in obj) {
        return new DeprecatedUpdateDebtWithdrawalCapCurrentTotal();
    }
    if ("DeprecatedUpdateDepositWithdrawalCapCurrentTotal" in obj) {
        return new DeprecatedUpdateDepositWithdrawalCapCurrentTotal();
    }
    if ("UpdateBadDebtLiquidationBonusBps" in obj) {
        return new UpdateBadDebtLiquidationBonusBps();
    }
    if ("UpdateMinLiquidationBonusBps" in obj) {
        return new UpdateMinLiquidationBonusBps();
    }
    if ("UpdateDeleveragingMarginCallPeriod" in obj) {
        return new UpdateDeleveragingMarginCallPeriod();
    }
    if ("UpdateBorrowFactor" in obj) {
        return new UpdateBorrowFactor();
    }
    if ("DeprecatedUpdateAssetTier" in obj) {
        return new DeprecatedUpdateAssetTier();
    }
    if ("UpdateElevationGroup" in obj) {
        return new UpdateElevationGroup();
    }
    if ("UpdateDeleveragingThresholdDecreaseBpsPerDay" in obj) {
        return new UpdateDeleveragingThresholdDecreaseBpsPerDay();
    }
    if ("DeprecatedUpdateMultiplierSideBoost" in obj) {
        return new DeprecatedUpdateMultiplierSideBoost();
    }
    if ("DeprecatedUpdateMultiplierTagBoost" in obj) {
        return new DeprecatedUpdateMultiplierTagBoost();
    }
    if ("UpdateReserveStatus" in obj) {
        return new UpdateReserveStatus();
    }
    if ("UpdateFarmCollateral" in obj) {
        return new UpdateFarmCollateral();
    }
    if ("UpdateFarmDebt" in obj) {
        return new UpdateFarmDebt();
    }
    if ("UpdateDisableUsageAsCollateralOutsideEmode" in obj) {
        return new UpdateDisableUsageAsCollateralOutsideEmode();
    }
    if ("UpdateBlockBorrowingAboveUtilizationPct" in obj) {
        return new UpdateBlockBorrowingAboveUtilizationPct();
    }
    if ("UpdateBlockPriceUsage" in obj) {
        return new UpdateBlockPriceUsage();
    }
    if ("UpdateBorrowLimitOutsideElevationGroup" in obj) {
        return new UpdateBorrowLimitOutsideElevationGroup();
    }
    if ("UpdateBorrowLimitsInElevationGroupAgainstThisReserve" in obj) {
        return new UpdateBorrowLimitsInElevationGroupAgainstThisReserve();
    }
    if ("UpdateHostFixedInterestRateBps" in obj) {
        return new UpdateHostFixedInterestRateBps();
    }
    if ("UpdateAutodeleverageEnabled" in obj) {
        return new UpdateAutodeleverageEnabled();
    }
    if ("UpdateDeleveragingBonusIncreaseBpsPerDay" in obj) {
        return new UpdateDeleveragingBonusIncreaseBpsPerDay();
    }
    if ("UpdateProtocolOrderExecutionFee" in obj) {
        return new UpdateProtocolOrderExecutionFee();
    }
    if ("UpdateProposerAuthorityLock" in obj) {
        return new UpdateProposerAuthorityLock();
    }
    if ("UpdateMinDeleveragingBonusBps" in obj) {
        return new UpdateMinDeleveragingBonusBps();
    }
    if ("UpdateBlockCTokenUsage" in obj) {
        return new UpdateBlockCTokenUsage();
    }
    if ("UpdateDebtMaturityTimestamp" in obj) {
        return new UpdateDebtMaturityTimestamp();
    }
    if ("UpdateDebtTermSeconds" in obj) {
        return new UpdateDebtTermSeconds();
    }
    if ("UpdateEarlyRepayRemainingInterestPct" in obj) {
        return new UpdateEarlyRepayRemainingInterestPct();
    }
    if ("UpdateReserveEmergencyMode" in obj) {
        return new UpdateReserveEmergencyMode();
    }
    if ("UpdateRewardsAmountPerSlot" in obj) {
        return new UpdateRewardsAmountPerSlot();
    }
    throw new Error("Invalid enum object");
}
function fromJSON(obj) {
    switch (obj.kind) {
        case "UpdateLoanToValuePct": {
            return new UpdateLoanToValuePct();
        }
        case "UpdateMaxLiquidationBonusBps": {
            return new UpdateMaxLiquidationBonusBps();
        }
        case "UpdateLiquidationThresholdPct": {
            return new UpdateLiquidationThresholdPct();
        }
        case "UpdateProtocolLiquidationFee": {
            return new UpdateProtocolLiquidationFee();
        }
        case "UpdateProtocolTakeRate": {
            return new UpdateProtocolTakeRate();
        }
        case "UpdateFeesOriginationFee": {
            return new UpdateFeesOriginationFee();
        }
        case "UpdateFeesFlashLoanFee": {
            return new UpdateFeesFlashLoanFee();
        }
        case "DeprecatedUpdateFeesReferralFeeBps": {
            return new DeprecatedUpdateFeesReferralFeeBps();
        }
        case "UpdateDepositLimit": {
            return new UpdateDepositLimit();
        }
        case "UpdateBorrowLimit": {
            return new UpdateBorrowLimit();
        }
        case "UpdateTokenInfoLowerHeuristic": {
            return new UpdateTokenInfoLowerHeuristic();
        }
        case "UpdateTokenInfoUpperHeuristic": {
            return new UpdateTokenInfoUpperHeuristic();
        }
        case "UpdateTokenInfoExpHeuristic": {
            return new UpdateTokenInfoExpHeuristic();
        }
        case "UpdateTokenInfoTwapDivergence": {
            return new UpdateTokenInfoTwapDivergence();
        }
        case "UpdateTokenInfoScopeTwap": {
            return new UpdateTokenInfoScopeTwap();
        }
        case "UpdateTokenInfoScopeChain": {
            return new UpdateTokenInfoScopeChain();
        }
        case "UpdateTokenInfoName": {
            return new UpdateTokenInfoName();
        }
        case "UpdateTokenInfoPriceMaxAge": {
            return new UpdateTokenInfoPriceMaxAge();
        }
        case "UpdateTokenInfoTwapMaxAge": {
            return new UpdateTokenInfoTwapMaxAge();
        }
        case "UpdateScopePriceFeed": {
            return new UpdateScopePriceFeed();
        }
        case "UpdatePythPrice": {
            return new UpdatePythPrice();
        }
        case "UpdateSwitchboardFeed": {
            return new UpdateSwitchboardFeed();
        }
        case "UpdateSwitchboardTwapFeed": {
            return new UpdateSwitchboardTwapFeed();
        }
        case "UpdateBorrowRateCurve": {
            return new UpdateBorrowRateCurve();
        }
        case "DeprecatedUpdateEntireReserveConfig": {
            return new DeprecatedUpdateEntireReserveConfig();
        }
        case "UpdateDebtWithdrawalCap": {
            return new UpdateDebtWithdrawalCap();
        }
        case "UpdateDepositWithdrawalCap": {
            return new UpdateDepositWithdrawalCap();
        }
        case "DeprecatedUpdateDebtWithdrawalCapCurrentTotal": {
            return new DeprecatedUpdateDebtWithdrawalCapCurrentTotal();
        }
        case "DeprecatedUpdateDepositWithdrawalCapCurrentTotal": {
            return new DeprecatedUpdateDepositWithdrawalCapCurrentTotal();
        }
        case "UpdateBadDebtLiquidationBonusBps": {
            return new UpdateBadDebtLiquidationBonusBps();
        }
        case "UpdateMinLiquidationBonusBps": {
            return new UpdateMinLiquidationBonusBps();
        }
        case "UpdateDeleveragingMarginCallPeriod": {
            return new UpdateDeleveragingMarginCallPeriod();
        }
        case "UpdateBorrowFactor": {
            return new UpdateBorrowFactor();
        }
        case "DeprecatedUpdateAssetTier": {
            return new DeprecatedUpdateAssetTier();
        }
        case "UpdateElevationGroup": {
            return new UpdateElevationGroup();
        }
        case "UpdateDeleveragingThresholdDecreaseBpsPerDay": {
            return new UpdateDeleveragingThresholdDecreaseBpsPerDay();
        }
        case "DeprecatedUpdateMultiplierSideBoost": {
            return new DeprecatedUpdateMultiplierSideBoost();
        }
        case "DeprecatedUpdateMultiplierTagBoost": {
            return new DeprecatedUpdateMultiplierTagBoost();
        }
        case "UpdateReserveStatus": {
            return new UpdateReserveStatus();
        }
        case "UpdateFarmCollateral": {
            return new UpdateFarmCollateral();
        }
        case "UpdateFarmDebt": {
            return new UpdateFarmDebt();
        }
        case "UpdateDisableUsageAsCollateralOutsideEmode": {
            return new UpdateDisableUsageAsCollateralOutsideEmode();
        }
        case "UpdateBlockBorrowingAboveUtilizationPct": {
            return new UpdateBlockBorrowingAboveUtilizationPct();
        }
        case "UpdateBlockPriceUsage": {
            return new UpdateBlockPriceUsage();
        }
        case "UpdateBorrowLimitOutsideElevationGroup": {
            return new UpdateBorrowLimitOutsideElevationGroup();
        }
        case "UpdateBorrowLimitsInElevationGroupAgainstThisReserve": {
            return new UpdateBorrowLimitsInElevationGroupAgainstThisReserve();
        }
        case "UpdateHostFixedInterestRateBps": {
            return new UpdateHostFixedInterestRateBps();
        }
        case "UpdateAutodeleverageEnabled": {
            return new UpdateAutodeleverageEnabled();
        }
        case "UpdateDeleveragingBonusIncreaseBpsPerDay": {
            return new UpdateDeleveragingBonusIncreaseBpsPerDay();
        }
        case "UpdateProtocolOrderExecutionFee": {
            return new UpdateProtocolOrderExecutionFee();
        }
        case "UpdateProposerAuthorityLock": {
            return new UpdateProposerAuthorityLock();
        }
        case "UpdateMinDeleveragingBonusBps": {
            return new UpdateMinDeleveragingBonusBps();
        }
        case "UpdateBlockCTokenUsage": {
            return new UpdateBlockCTokenUsage();
        }
        case "UpdateDebtMaturityTimestamp": {
            return new UpdateDebtMaturityTimestamp();
        }
        case "UpdateDebtTermSeconds": {
            return new UpdateDebtTermSeconds();
        }
        case "UpdateEarlyRepayRemainingInterestPct": {
            return new UpdateEarlyRepayRemainingInterestPct();
        }
        case "UpdateReserveEmergencyMode": {
            return new UpdateReserveEmergencyMode();
        }
        case "UpdateRewardsAmountPerSlot": {
            return new UpdateRewardsAmountPerSlot();
        }
    }
}
function layout(property) {
    const ret = borsh.rustEnum([
        borsh.struct([], "UpdateLoanToValuePct"),
        borsh.struct([], "UpdateMaxLiquidationBonusBps"),
        borsh.struct([], "UpdateLiquidationThresholdPct"),
        borsh.struct([], "UpdateProtocolLiquidationFee"),
        borsh.struct([], "UpdateProtocolTakeRate"),
        borsh.struct([], "UpdateFeesOriginationFee"),
        borsh.struct([], "UpdateFeesFlashLoanFee"),
        borsh.struct([], "DeprecatedUpdateFeesReferralFeeBps"),
        borsh.struct([], "UpdateDepositLimit"),
        borsh.struct([], "UpdateBorrowLimit"),
        borsh.struct([], "UpdateTokenInfoLowerHeuristic"),
        borsh.struct([], "UpdateTokenInfoUpperHeuristic"),
        borsh.struct([], "UpdateTokenInfoExpHeuristic"),
        borsh.struct([], "UpdateTokenInfoTwapDivergence"),
        borsh.struct([], "UpdateTokenInfoScopeTwap"),
        borsh.struct([], "UpdateTokenInfoScopeChain"),
        borsh.struct([], "UpdateTokenInfoName"),
        borsh.struct([], "UpdateTokenInfoPriceMaxAge"),
        borsh.struct([], "UpdateTokenInfoTwapMaxAge"),
        borsh.struct([], "UpdateScopePriceFeed"),
        borsh.struct([], "UpdatePythPrice"),
        borsh.struct([], "UpdateSwitchboardFeed"),
        borsh.struct([], "UpdateSwitchboardTwapFeed"),
        borsh.struct([], "UpdateBorrowRateCurve"),
        borsh.struct([], "DeprecatedUpdateEntireReserveConfig"),
        borsh.struct([], "UpdateDebtWithdrawalCap"),
        borsh.struct([], "UpdateDepositWithdrawalCap"),
        borsh.struct([], "DeprecatedUpdateDebtWithdrawalCapCurrentTotal"),
        borsh.struct([], "DeprecatedUpdateDepositWithdrawalCapCurrentTotal"),
        borsh.struct([], "UpdateBadDebtLiquidationBonusBps"),
        borsh.struct([], "UpdateMinLiquidationBonusBps"),
        borsh.struct([], "UpdateDeleveragingMarginCallPeriod"),
        borsh.struct([], "UpdateBorrowFactor"),
        borsh.struct([], "DeprecatedUpdateAssetTier"),
        borsh.struct([], "UpdateElevationGroup"),
        borsh.struct([], "UpdateDeleveragingThresholdDecreaseBpsPerDay"),
        borsh.struct([], "DeprecatedUpdateMultiplierSideBoost"),
        borsh.struct([], "DeprecatedUpdateMultiplierTagBoost"),
        borsh.struct([], "UpdateReserveStatus"),
        borsh.struct([], "UpdateFarmCollateral"),
        borsh.struct([], "UpdateFarmDebt"),
        borsh.struct([], "UpdateDisableUsageAsCollateralOutsideEmode"),
        borsh.struct([], "UpdateBlockBorrowingAboveUtilizationPct"),
        borsh.struct([], "UpdateBlockPriceUsage"),
        borsh.struct([], "UpdateBorrowLimitOutsideElevationGroup"),
        borsh.struct([], "UpdateBorrowLimitsInElevationGroupAgainstThisReserve"),
        borsh.struct([], "UpdateHostFixedInterestRateBps"),
        borsh.struct([], "UpdateAutodeleverageEnabled"),
        borsh.struct([], "UpdateDeleveragingBonusIncreaseBpsPerDay"),
        borsh.struct([], "UpdateProtocolOrderExecutionFee"),
        borsh.struct([], "UpdateProposerAuthorityLock"),
        borsh.struct([], "UpdateMinDeleveragingBonusBps"),
        borsh.struct([], "UpdateBlockCTokenUsage"),
        borsh.struct([], "UpdateDebtMaturityTimestamp"),
        borsh.struct([], "UpdateDebtTermSeconds"),
        borsh.struct([], "UpdateEarlyRepayRemainingInterestPct"),
        borsh.struct([], "UpdateReserveEmergencyMode"),
        borsh.struct([], "UpdateRewardsAmountPerSlot"),
    ]);
    if (property !== undefined) {
        return ret.replicate(property);
    }
    return ret;
}
//# sourceMappingURL=UpdateConfigMode.js.map