"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.userIndex = exports.updateFeeSettings = exports.transferOwnership = exports.strategyState = exports.setFlywheelRewards = exports.setBooster = exports.rewardsAccrued = exports.rewardToken = exports.renounceOwnership = exports.performanceFee = exports.pendingOwner = exports.owner = exports.marketState = exports.isRewardsDistributor = exports.isFlywheel = exports.initialize = exports.getAllStrategies = exports.flywheelRewards = exports.flywheelPreTransferAction = exports.flywheelPreSupplierAction = exports.flywheelPreBorrowerAction = exports.flywheelBooster = exports.feeRecipient = exports.compAccrued = exports.claimRewards = exports.allStrategies = exports.addStrategyForRewards = exports.addMarketForRewards = exports.accrue_address_address_address = exports.accrue_address_address = exports._setPendingOwner = exports._acceptOwner = exports.UpdatedFeeSettings = exports.OwnershipTransferred = exports.NewPendingOwner = exports.NewOwner = exports.Initialized = exports.FlywheelRewardsUpdate = exports.FlywheelBoosterUpdate = exports.ClaimRewards = exports.AddStrategy = exports.AccrueRewards = void 0;
/**
 * Autogenerated file. Do not edit manually. */
exports.AccrueRewards = { anonymous: false, inputs: [{ indexed: true, internalType: "contract ERC20", name: "strategy", type: "address" }, { indexed: true, internalType: "address", name: "user", type: "address" }, { indexed: false, internalType: "uint256", name: "rewardsDelta", type: "uint256" }, { indexed: false, internalType: "uint256", name: "rewardsIndex", type: "uint256" }], name: "AccrueRewards", type: "event" };
exports.AddStrategy = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "newStrategy", type: "address" }], name: "AddStrategy", type: "event" };
exports.ClaimRewards = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "user", type: "address" }, { indexed: false, internalType: "uint256", name: "amount", type: "uint256" }], name: "ClaimRewards", type: "event" };
exports.FlywheelBoosterUpdate = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "newBooster", type: "address" }], name: "FlywheelBoosterUpdate", type: "event" };
exports.FlywheelRewardsUpdate = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "newFlywheelRewards", type: "address" }], name: "FlywheelRewardsUpdate", type: "event" };
exports.Initialized = { anonymous: false, inputs: [{ indexed: false, internalType: "uint8", name: "version", type: "uint8" }], name: "Initialized", type: "event" };
exports.NewOwner = { anonymous: false, inputs: [{ indexed: false, internalType: "address", name: "oldOwner", type: "address" }, { indexed: false, internalType: "address", name: "newOwner", type: "address" }], name: "NewOwner", type: "event" };
exports.NewPendingOwner = { anonymous: false, inputs: [{ indexed: false, internalType: "address", name: "oldPendingOwner", type: "address" }, { indexed: false, internalType: "address", name: "newPendingOwner", type: "address" }], name: "NewPendingOwner", type: "event" };
exports.OwnershipTransferred = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "previousOwner", type: "address" }, { indexed: true, internalType: "address", name: "newOwner", type: "address" }], name: "OwnershipTransferred", type: "event" };
exports.UpdatedFeeSettings = { anonymous: false, inputs: [{ indexed: false, internalType: "uint256", name: "oldPerformanceFee", type: "uint256" }, { indexed: false, internalType: "uint256", name: "newPerformanceFee", type: "uint256" }, { indexed: false, internalType: "address", name: "oldFeeRecipient", type: "address" }, { indexed: false, internalType: "address", name: "newFeeRecipient", type: "address" }], name: "UpdatedFeeSettings", type: "event" };
exports._acceptOwner = { inputs: [], name: "_acceptOwner", outputs: [], stateMutability: "nonpayable", type: "function" };
exports._setPendingOwner = { inputs: [{ internalType: "address", name: "newPendingOwner", type: "address" }], name: "_setPendingOwner", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.accrue_address_address = { inputs: [{ internalType: "contract ERC20", name: "strategy", type: "address" }, { internalType: "address", name: "user", type: "address" }], name: "accrue", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "nonpayable", type: "function" };
exports.accrue_address_address_address = { inputs: [{ internalType: "contract ERC20", name: "strategy", type: "address" }, { internalType: "address", name: "user", type: "address" }, { internalType: "address", name: "secondUser", type: "address" }], name: "accrue", outputs: [{ internalType: "uint256", name: "", type: "uint256" }, { internalType: "uint256", name: "", type: "uint256" }], stateMutability: "nonpayable", type: "function" };
exports.addMarketForRewards = { inputs: [{ internalType: "contract ERC20", name: "strategy", type: "address" }], name: "addMarketForRewards", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.addStrategyForRewards = { inputs: [{ internalType: "contract ERC20", name: "strategy", type: "address" }], name: "addStrategyForRewards", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.allStrategies = { inputs: [{ internalType: "uint256", name: "", type: "uint256" }], name: "allStrategies", outputs: [{ internalType: "contract ERC20", name: "", type: "address" }], stateMutability: "view", type: "function" };
exports.claimRewards = { inputs: [{ internalType: "address", name: "user", type: "address" }], name: "claimRewards", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.compAccrued = { inputs: [{ internalType: "address", name: "user", type: "address" }], name: "compAccrued", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "view", type: "function" };
exports.feeRecipient = { inputs: [], name: "feeRecipient", outputs: [{ internalType: "address", name: "", type: "address" }], stateMutability: "view", type: "function" };
exports.flywheelBooster = { inputs: [], name: "flywheelBooster", outputs: [{ internalType: "contract IFlywheelBooster", name: "", type: "address" }], stateMutability: "view", type: "function" };
exports.flywheelPreBorrowerAction = { inputs: [{ internalType: "address", name: "market", type: "address" }, { internalType: "address", name: "borrower", type: "address" }], name: "flywheelPreBorrowerAction", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.flywheelPreSupplierAction = { inputs: [{ internalType: "address", name: "market", type: "address" }, { internalType: "address", name: "supplier", type: "address" }], name: "flywheelPreSupplierAction", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.flywheelPreTransferAction = { inputs: [{ internalType: "address", name: "market", type: "address" }, { internalType: "address", name: "src", type: "address" }, { internalType: "address", name: "dst", type: "address" }], name: "flywheelPreTransferAction", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.flywheelRewards = { inputs: [], name: "flywheelRewards", outputs: [{ internalType: "contract IFlywheelRewards", name: "", type: "address" }], stateMutability: "view", type: "function" };
exports.getAllStrategies = { inputs: [], name: "getAllStrategies", outputs: [{ internalType: "contract ERC20[]", name: "", type: "address[]" }], stateMutability: "view", type: "function" };
exports.initialize = { inputs: [{ internalType: "contract ERC20", name: "_rewardToken", type: "address" }, { internalType: "contract IFlywheelRewards", name: "_flywheelRewards", type: "address" }, { internalType: "contract IFlywheelBooster", name: "_flywheelBooster", type: "address" }, { internalType: "address", name: "_owner", type: "address" }], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.isFlywheel = { inputs: [], name: "isFlywheel", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "view", type: "function" };
exports.isRewardsDistributor = { inputs: [], name: "isRewardsDistributor", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "view", type: "function" };
exports.marketState = { inputs: [{ internalType: "contract ERC20", name: "strategy", type: "address" }], name: "marketState", outputs: [{ internalType: "uint224", name: "", type: "uint224" }, { internalType: "uint32", name: "", type: "uint32" }], stateMutability: "view", type: "function" };
exports.owner = { inputs: [], name: "owner", outputs: [{ internalType: "address", name: "", type: "address" }], stateMutability: "view", type: "function" };
exports.pendingOwner = { inputs: [], name: "pendingOwner", outputs: [{ internalType: "address", name: "", type: "address" }], stateMutability: "view", type: "function" };
exports.performanceFee = { inputs: [], name: "performanceFee", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "view", type: "function" };
exports.renounceOwnership = { inputs: [], name: "renounceOwnership", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.rewardToken = { inputs: [], name: "rewardToken", outputs: [{ internalType: "contract ERC20", name: "", type: "address" }], stateMutability: "view", type: "function" };
exports.rewardsAccrued = { inputs: [{ internalType: "address", name: "user", type: "address" }], name: "rewardsAccrued", outputs: [{ internalType: "uint256", name: "", type: "uint256" }], stateMutability: "nonpayable", type: "function" };
exports.setBooster = { inputs: [{ internalType: "contract IFlywheelBooster", name: "newBooster", type: "address" }], name: "setBooster", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.setFlywheelRewards = { inputs: [{ internalType: "contract IFlywheelRewards", name: "newFlywheelRewards", type: "address" }], name: "setFlywheelRewards", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.strategyState = { inputs: [{ internalType: "contract ERC20", name: "strategy", type: "address" }], name: "strategyState", outputs: [{ internalType: "uint224", name: "index", type: "uint224" }, { internalType: "uint32", name: "lastUpdatedTimestamp", type: "uint32" }], stateMutability: "nonpayable", type: "function" };
exports.transferOwnership = { inputs: [{ internalType: "address", name: "newOwner", type: "address" }], name: "transferOwnership", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.updateFeeSettings = { inputs: [{ internalType: "uint256", name: "_performanceFee", type: "uint256" }, { internalType: "address", name: "_feeRecipient", type: "address" }], name: "updateFeeSettings", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.userIndex = { inputs: [{ internalType: "contract ERC20", name: "strategy", type: "address" }, { internalType: "address", name: "user", type: "address" }], name: "userIndex", outputs: [{ internalType: "uint224", name: "", type: "uint224" }], stateMutability: "nonpayable", type: "function" };
exports.default = [exports.AccrueRewards, exports.AddStrategy, exports.ClaimRewards, exports.FlywheelBoosterUpdate, exports.FlywheelRewardsUpdate, exports.Initialized, exports.NewOwner, exports.NewPendingOwner, exports.OwnershipTransferred, exports.UpdatedFeeSettings, exports._acceptOwner, exports._setPendingOwner, exports.accrue_address_address, exports.accrue_address_address_address, exports.addMarketForRewards, exports.addStrategyForRewards, exports.allStrategies, exports.claimRewards, exports.compAccrued, exports.feeRecipient, exports.flywheelBooster, exports.flywheelPreBorrowerAction, exports.flywheelPreSupplierAction, exports.flywheelPreTransferAction, exports.flywheelRewards, exports.getAllStrategies, exports.initialize, exports.isFlywheel, exports.isRewardsDistributor, exports.marketState, exports.owner, exports.pendingOwner, exports.performanceFee, exports.renounceOwnership, exports.rewardToken, exports.rewardsAccrued, exports.setBooster, exports.setFlywheelRewards, exports.strategyState, exports.transferOwnership, exports.updateFeeSettings, exports.userIndex];
