@iqai/mcp-fraxlend
Version:
Mcp server for Fraxlend access
1,679 lines • 61.8 kB
JavaScript
export const FRAXLEND_ABI = [
{
inputs: [
{ internalType: "bytes", name: "_configData", type: "bytes" },
{ internalType: "bytes", name: "_immutables", type: "bytes" },
{ internalType: "bytes", name: "_customConfigData", type: "bytes" },
],
stateMutability: "nonpayable",
type: "constructor",
},
{ inputs: [], name: "AccessControlRevoked", type: "error" },
{ inputs: [], name: "BadProtocolFee", type: "error" },
{ inputs: [], name: "BadSwapper", type: "error" },
{ inputs: [], name: "BorrowerSolvent", type: "error" },
{ inputs: [], name: "ExceedsBorrowLimit", type: "error" },
{ inputs: [], name: "ExceedsDepositLimit", type: "error" },
{ inputs: [], name: "ExceedsMaxOracleDeviation", type: "error" },
{
inputs: [
{ internalType: "uint256", name: "_borrow", type: "uint256" },
{ internalType: "uint256", name: "_collateral", type: "uint256" },
{ internalType: "uint256", name: "_exchangeRate", type: "uint256" },
],
name: "Insolvent",
type: "error",
},
{
inputs: [
{ internalType: "uint256", name: "_assets", type: "uint256" },
{ internalType: "uint256", name: "_request", type: "uint256" },
],
name: "InsufficientAssetsInContract",
type: "error",
},
{ inputs: [], name: "InterestPaused", type: "error" },
{
inputs: [
{ internalType: "address", name: "_expected", type: "address" },
{ internalType: "address", name: "_actual", type: "address" },
],
name: "InvalidPath",
type: "error",
},
{ inputs: [], name: "InvalidReceiver", type: "error" },
{ inputs: [], name: "LiquidatePaused", type: "error" },
{ inputs: [], name: "OnlyPendingTimelock", type: "error" },
{ inputs: [], name: "OnlyProtocolOrOwner", type: "error" },
{ inputs: [], name: "OnlyTimelock", type: "error" },
{ inputs: [], name: "OnlyTimelockOrOwner", type: "error" },
{
inputs: [
{ internalType: "uint256", name: "_blockTimestamp", type: "uint256" },
{ internalType: "uint256", name: "_deadline", type: "uint256" },
],
name: "PastDeadline",
type: "error",
},
{ inputs: [], name: "RepayPaused", type: "error" },
{ inputs: [], name: "SetterRevoked", type: "error" },
{
inputs: [
{ internalType: "uint256", name: "_minOut", type: "uint256" },
{ internalType: "uint256", name: "_actual", type: "uint256" },
],
name: "SlippageTooHigh",
type: "error",
},
{ inputs: [], name: "WithdrawPaused", type: "error" },
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "sender",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "borrower",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "collateralAmount",
type: "uint256",
},
],
name: "AddCollateral",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "interestEarned",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "rate",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "feesAmount",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "feesShare",
type: "uint256",
},
],
name: "AddInterest",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "spender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Approval",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "_borrower",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "_receiver",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "_borrowAmount",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_sharesAdded",
type: "uint256",
},
],
name: "BorrowAsset",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint32",
name: "newFee",
type: "uint32",
},
],
name: "ChangeFee",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "caller",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "assets",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "shares",
type: "uint256",
},
],
name: "Deposit",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "_borrower",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "_swapperAddress",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "_borrowAmount",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_borrowShares",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_initialCollateralAmount",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_amountCollateralOut",
type: "uint256",
},
],
name: "LeveragedPosition",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "_borrower",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "_collateralForLiquidator",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_sharesToLiquidate",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_amountLiquidatorToRepay",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_feesAmount",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_sharesToAdjust",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_amountToAdjust",
type: "uint256",
},
],
name: "Liquidate",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferStarted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{ indexed: false, internalType: "bool", name: "isPaused", type: "bool" },
],
name: "PauseInterest",
type: "event",
},
{
anonymous: false,
inputs: [
{ indexed: false, internalType: "bool", name: "isPaused", type: "bool" },
],
name: "PauseLiquidate",
type: "event",
},
{
anonymous: false,
inputs: [
{ indexed: false, internalType: "bool", name: "isPaused", type: "bool" },
],
name: "PauseRepay",
type: "event",
},
{
anonymous: false,
inputs: [
{ indexed: false, internalType: "bool", name: "isPaused", type: "bool" },
],
name: "PauseWithdraw",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "_sender",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "_collateralAmount",
type: "uint256",
},
{
indexed: true,
internalType: "address",
name: "_receiver",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "_borrower",
type: "address",
},
],
name: "RemoveCollateral",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "payer",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "borrower",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amountToRepay",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "shares",
type: "uint256",
},
],
name: "RepayAsset",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "_borrower",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "_swapperAddress",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "_collateralToSwap",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_amountAssetOut",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "_sharesRepaid",
type: "uint256",
},
],
name: "RepayAssetWithCollateral",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "borrowLimit",
type: "uint256",
},
],
name: "RevokeBorrowAccessControl",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "depositLimit",
type: "uint256",
},
],
name: "RevokeDepositAccessControl",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "RevokeInterestAccessControl",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "RevokeLiquidateAccessControl",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "RevokeLiquidationFeeSetter",
type: "event",
},
{ anonymous: false, inputs: [], name: "RevokeMaxLTVSetter", type: "event" },
{
anonymous: false,
inputs: [],
name: "RevokeOracleInfoSetter",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "RevokeRateContractSetter",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "RevokeRepayAccessControl",
type: "event",
},
{
anonymous: false,
inputs: [],
name: "RevokeWithdrawAccessControl",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "limit",
type: "uint256",
},
],
name: "SetBorrowLimit",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "oldCircuitBreaker",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "newCircuitBreaker",
type: "address",
},
],
name: "SetCircuitBreaker",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "limit",
type: "uint256",
},
],
name: "SetDepositLimit",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "oldCleanLiquidationFee",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "oldDirtyLiquidationFee",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "oldProtocolLiquidationFee",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "newCleanLiquidationFee",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "newDirtyLiquidationFee",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "newProtocolLiquidationFee",
type: "uint256",
},
],
name: "SetLiquidationFees",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "oldMaxLTV",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "newMaxLTV",
type: "uint256",
},
],
name: "SetMaxLTV",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "oldOracle",
type: "address",
},
{
indexed: false,
internalType: "uint32",
name: "oldMaxOracleDeviation",
type: "uint32",
},
{
indexed: false,
internalType: "address",
name: "newOracle",
type: "address",
},
{
indexed: false,
internalType: "uint32",
name: "newMaxOracleDeviation",
type: "uint32",
},
],
name: "SetOracleInfo",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "oldRateContract",
type: "address",
},
{
indexed: false,
internalType: "address",
name: "newRateContract",
type: "address",
},
],
name: "SetRateContract",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "swapper",
type: "address",
},
{ indexed: false, internalType: "bool", name: "approval", type: "bool" },
],
name: "SetSwapper",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousTimelock",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newTimelock",
type: "address",
},
],
name: "TimelockTransferStarted",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousTimelock",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newTimelock",
type: "address",
},
],
name: "TimelockTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: "address", name: "from", type: "address" },
{ indexed: true, internalType: "address", name: "to", type: "address" },
{
indexed: false,
internalType: "uint256",
name: "value",
type: "uint256",
},
],
name: "Transfer",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "lowExchangeRate",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "highExchangeRate",
type: "uint256",
},
],
name: "UpdateExchangeRate",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint256",
name: "oldRatePerSec",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "oldFullUtilizationRate",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "newRatePerSec",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "newFullUtilizationRate",
type: "uint256",
},
],
name: "UpdateRate",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "address",
name: "oracle",
type: "address",
},
],
name: "WarnOracleData",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "caller",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "receiver",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "owner",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "assets",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "shares",
type: "uint256",
},
],
name: "Withdraw",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint128",
name: "shares",
type: "uint128",
},
{
indexed: false,
internalType: "address",
name: "recipient",
type: "address",
},
{
indexed: false,
internalType: "uint256",
name: "amountToTransfer",
type: "uint256",
},
{
indexed: false,
internalType: "uint256",
name: "collateralAmount",
type: "uint256",
},
],
name: "WithdrawFees",
type: "event",
},
{
inputs: [],
name: "DEPLOYER_ADDRESS",
outputs: [{ internalType: "address", name: "", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "DEVIATION_PRECISION",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "EXCHANGE_PRECISION",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "FEE_PRECISION",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "LIQ_PRECISION",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "LTV_PRECISION",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "MAX_PROTOCOL_FEE",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "RATE_PRECISION",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "UTIL_PREC",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "acceptOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "acceptTransferTimelock",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "uint256", name: "_collateralAmount", type: "uint256" },
{ internalType: "address", name: "_borrower", type: "address" },
],
name: "addCollateral",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [{ internalType: "bool", name: "_returnAccounting", type: "bool" }],
name: "addInterest",
outputs: [
{ internalType: "uint256", name: "_interestEarned", type: "uint256" },
{ internalType: "uint256", name: "_feesAmount", type: "uint256" },
{ internalType: "uint256", name: "_feesShare", type: "uint256" },
{
components: [
{ internalType: "uint32", name: "lastBlock", type: "uint32" },
{ internalType: "uint32", name: "feeToProtocolRate", type: "uint32" },
{ internalType: "uint64", name: "lastTimestamp", type: "uint64" },
{ internalType: "uint64", name: "ratePerSec", type: "uint64" },
{
internalType: "uint64",
name: "fullUtilizationRate",
type: "uint64",
},
],
internalType: "struct FraxlendPairCore.CurrentRateInfo",
name: "_currentRateInfo",
type: "tuple",
},
{
components: [
{ internalType: "uint128", name: "amount", type: "uint128" },
{ internalType: "uint128", name: "shares", type: "uint128" },
],
internalType: "struct VaultAccount",
name: "_totalAsset",
type: "tuple",
},
{
components: [
{ internalType: "uint128", name: "amount", type: "uint128" },
{ internalType: "uint128", name: "shares", type: "uint128" },
],
internalType: "struct VaultAccount",
name: "_totalBorrow",
type: "tuple",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "owner", type: "address" },
{ internalType: "address", name: "spender", type: "address" },
],
name: "allowance",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "spender", type: "address" },
{ internalType: "uint256", name: "amount", type: "uint256" },
],
name: "approve",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "asset",
outputs: [{ internalType: "address", name: "", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "address", name: "account", type: "address" }],
name: "balanceOf",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "uint256", name: "_borrowAmount", type: "uint256" },
{ internalType: "uint256", name: "_collateralAmount", type: "uint256" },
{ internalType: "address", name: "_receiver", type: "address" },
],
name: "borrowAsset",
outputs: [{ internalType: "uint256", name: "_shares", type: "uint256" }],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "borrowLimit",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint32", name: "_newFee", type: "uint32" }],
name: "changeFee",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "circuitBreakerAddress",
outputs: [{ internalType: "address", name: "", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "cleanLiquidationFee",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "collateralContract",
outputs: [{ internalType: "contract IERC20", name: "", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "_shares", type: "uint256" }],
name: "convertToAssets",
outputs: [{ internalType: "uint256", name: "_assets", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "_assets", type: "uint256" }],
name: "convertToShares",
outputs: [{ internalType: "uint256", name: "_shares", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "currentRateInfo",
outputs: [
{ internalType: "uint32", name: "lastBlock", type: "uint32" },
{ internalType: "uint32", name: "feeToProtocolRate", type: "uint32" },
{ internalType: "uint64", name: "lastTimestamp", type: "uint64" },
{ internalType: "uint64", name: "ratePerSec", type: "uint64" },
{ internalType: "uint64", name: "fullUtilizationRate", type: "uint64" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "decimals",
outputs: [{ internalType: "uint8", name: "", type: "uint8" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "spender", type: "address" },
{ internalType: "uint256", name: "subtractedValue", type: "uint256" },
],
name: "decreaseAllowance",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "uint256", name: "_amount", type: "uint256" },
{ internalType: "address", name: "_receiver", type: "address" },
],
name: "deposit",
outputs: [
{ internalType: "uint256", name: "_sharesReceived", type: "uint256" },
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "depositLimit",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "dirtyLiquidationFee",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "exchangeRateInfo",
outputs: [
{ internalType: "address", name: "oracle", type: "address" },
{ internalType: "uint32", name: "maxOracleDeviation", type: "uint32" },
{ internalType: "uint184", name: "lastTimestamp", type: "uint184" },
{ internalType: "uint256", name: "lowExchangeRate", type: "uint256" },
{ internalType: "uint256", name: "highExchangeRate", type: "uint256" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "getConstants",
outputs: [
{ internalType: "uint256", name: "_LTV_PRECISION", type: "uint256" },
{ internalType: "uint256", name: "_LIQ_PRECISION", type: "uint256" },
{ internalType: "uint256", name: "_UTIL_PREC", type: "uint256" },
{ internalType: "uint256", name: "_FEE_PRECISION", type: "uint256" },
{ internalType: "uint256", name: "_EXCHANGE_PRECISION", type: "uint256" },
{
internalType: "uint256",
name: "_DEVIATION_PRECISION",
type: "uint256",
},
{ internalType: "uint256", name: "_RATE_PRECISION", type: "uint256" },
{ internalType: "uint256", name: "_MAX_PROTOCOL_FEE", type: "uint256" },
],
stateMutability: "pure",
type: "function",
},
{
inputs: [],
name: "getPairAccounting",
outputs: [
{ internalType: "uint128", name: "_totalAssetAmount", type: "uint128" },
{ internalType: "uint128", name: "_totalAssetShares", type: "uint128" },
{ internalType: "uint128", name: "_totalBorrowAmount", type: "uint128" },
{ internalType: "uint128", name: "_totalBorrowShares", type: "uint128" },
{ internalType: "uint256", name: "_totalCollateral", type: "uint256" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "address", name: "_address", type: "address" }],
name: "getUserSnapshot",
outputs: [
{ internalType: "uint256", name: "_userAssetShares", type: "uint256" },
{ internalType: "uint256", name: "_userBorrowShares", type: "uint256" },
{
internalType: "uint256",
name: "_userCollateralBalance",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "spender", type: "address" },
{ internalType: "uint256", name: "addedValue", type: "uint256" },
],
name: "increaseAllowance",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "isBorrowAccessControlRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isDepositAccessControlRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isInterestAccessControlRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isInterestPaused",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isLiquidateAccessControlRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isLiquidatePaused",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isLiquidationFeeSetterRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isMaxLTVSetterRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isOracleSetterRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isRateContractSetterRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isRepayAccessControlRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isRepayPaused",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isWithdrawAccessControlRevoked",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "isWithdrawPaused",
outputs: [{ internalType: "bool", name: "", type: "bool" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "_swapperAddress", type: "address" },
{ internalType: "uint256", name: "_borrowAmount", type: "uint256" },
{
internalType: "uint256",
name: "_initialCollateralAmount",
type: "uint256",
},
{
internalType: "uint256",
name: "_amountCollateralOutMin",
type: "uint256",
},
{ internalType: "address[]", name: "_path", type: "address[]" },
],
name: "leveragedPosition",
outputs: [
{
internalType: "uint256",
name: "_totalCollateralBalance",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "uint128", name: "_sharesToLiquidate", type: "uint128" },
{ internalType: "uint256", name: "_deadline", type: "uint256" },
{ internalType: "address", name: "_borrower", type: "address" },
],
name: "liquidate",
outputs: [
{
internalType: "uint256",
name: "_collateralForLiquidator",
type: "uint256",
},
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [{ internalType: "address", name: "_receiver", type: "address" }],
name: "maxDeposit",
outputs: [{ internalType: "uint256", name: "_maxAssets", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "maxLTV",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "address", name: "_receiver", type: "address" }],
name: "maxMint",
outputs: [{ internalType: "uint256", name: "_maxShares", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "address", name: "_owner", type: "address" }],
name: "maxRedeem",
outputs: [{ internalType: "uint256", name: "_maxShares", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "address", name: "_owner", type: "address" }],
name: "maxWithdraw",
outputs: [{ internalType: "uint256", name: "_maxAssets", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "uint256", name: "_shares", type: "uint256" },
{ internalType: "address", name: "_receiver", type: "address" },
],
name: "mint",
outputs: [{ internalType: "uint256", name: "_amount", type: "uint256" }],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "name",
outputs: [{ internalType: "string", name: "", type: "string" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [{ internalType: "address", name: "", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "pause",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "pauseBorrow",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "pauseDeposit",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [{ internalType: "bool", name: "_isPaused", type: "bool" }],
name: "pauseInterest",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [{ internalType: "bool", name: "_isPaused", type: "bool" }],
name: "pauseLiquidate",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [{ internalType: "bool", name: "_isPaused", type: "bool" }],
name: "pauseRepay",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [{ internalType: "bool", name: "_isPaused", type: "bool" }],
name: "pauseWithdraw",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "pendingOwner",
outputs: [{ internalType: "address", name: "", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "pendingTimelockAddress",
outputs: [{ internalType: "address", name: "", type: "address" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "previewAddInterest",
outputs: [
{ internalType: "uint256", name: "_interestEarned", type: "uint256" },
{ internalType: "uint256", name: "_feesAmount", type: "uint256" },
{ internalType: "uint256", name: "_feesShare", type: "uint256" },
{
components: [
{ internalType: "uint32", name: "lastBlock", type: "uint32" },
{ internalType: "uint32", name: "feeToProtocolRate", type: "uint32" },
{ internalType: "uint64", name: "lastTimestamp", type: "uint64" },
{ internalType: "uint64", name: "ratePerSec", type: "uint64" },
{
internalType: "uint64",
name: "fullUtilizationRate",
type: "uint64",
},
],
internalType: "struct FraxlendPairCore.CurrentRateInfo",
name: "_newCurrentRateInfo",
type: "tuple",
},
{
components: [
{ internalType: "uint128", name: "amount", type: "uint128" },
{ internalType: "uint128", name: "shares", type: "uint128" },
],
internalType: "struct VaultAccount",
name: "_totalAsset",
type: "tuple",
},
{
components: [
{ internalType: "uint128", name: "amount", type: "uint128" },
{ internalType: "uint128", name: "shares", type: "uint128" },
],
internalType: "struct VaultAccount",
name: "_totalBorrow",
type: "tuple",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "_assets", type: "uint256" }],
name: "previewDeposit",
outputs: [
{ internalType: "uint256", name: "_sharesReceived", type: "uint256" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "_shares", type: "uint256" }],
name: "previewMint",
outputs: [{ internalType: "uint256", name: "_amount", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "_shares", type: "uint256" }],
name: "previewRedeem",
outputs: [{ internalType: "uint256", name: "_assets", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [{ internalType: "uint256", name: "_amount", type: "uint256" }],
name: "previewWithdraw",
outputs: [
{ internalType: "uint256", name: "_sharesToBurn", type: "uint256" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "pricePerShare",
outputs: [{ internalType: "uint256", name: "_amount", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "protocolLiquidationFee",
outputs: [{ internalType: "uint256", name: "", type: "uint256" }],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "rateContract",
outputs: [
{ internalType: "contract IRateCalculatorV2", name: "", type: "address" },
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{ internalType: "uint256", name: "_shares", type: "uint256" },
{ internalType: "address", name: "_receiver", type: "address" },
{ internalType: "address", name: "_owner", type: "address" },
],
name: "redeem",
outputs: [
{ internalType: "uint256", name: "_amountToReturn", type: "uint256" },
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "uint256", name: "_collateralAmount", type: "uint256" },
{ internalType: "address", name: "_receiver", type: "address" },
],
name: "removeCollateral",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "renounceTimelock",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "uint256", name: "_shares", type: "uint256" },
{ internalType: "address", name: "_borrower", type: "address" },
],
name: "repayAsset",
outputs: [
{ internalType: "uint256", name: "_amountToRepay", type: "uint256" },
],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{ internalType: "address", name: "_swapperAddress", type: "address" },
{ internalType: "uint256", name: "_collateralToSwap", type: "