@malda-protocol/protocol-config
Version:
Centralized contract addresses, constants, and token configurations for Malda Protocol
926 lines (925 loc) • 35 kB
JavaScript
export const MTOKEN_ABI = [
{ inputs: [{ internalType: 'address', name: 'target', type: 'address' }], name: 'AddressEmptyCode', type: 'error' },
{
inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
name: 'AddressInsufficientBalance',
type: 'error',
},
{ inputs: [], name: 'AmountNotValid', type: 'error' },
{ inputs: [], name: 'ChainNotValid', type: 'error' },
{ inputs: [], name: 'CommonLib_LengthMismatch', type: 'error' },
{ inputs: [], name: 'FailedInnerCall', type: 'error' },
{ inputs: [], name: 'InvalidInitialization', type: 'error' },
{ inputs: [], name: 'NotEnoughGasFee', type: 'error' },
{ inputs: [], name: 'NotInitializing', type: 'error' },
{ inputs: [], name: 'ReentrancyGuardReentrantCall', type: 'error' },
{
inputs: [{ internalType: 'address', name: 'token', type: 'address' }],
name: 'SafeERC20FailedOperation',
type: 'error',
},
{ inputs: [], name: 'mErc20Host_ActionNotAvailable', type: 'error' },
{ inputs: [], name: 'mErc20Host_AddressNotValid', type: 'error' },
{ inputs: [], name: 'mErc20Host_AmountNotValid', type: 'error' },
{ inputs: [], name: 'mErc20Host_AmountTooBig', type: 'error' },
{ inputs: [], name: 'mErc20Host_CallerNotAllowed', type: 'error' },
{ inputs: [], name: 'mErc20Host_ChainNotValid', type: 'error' },
{ inputs: [], name: 'mErc20Host_DstChainNotValid', type: 'error' },
{ inputs: [], name: 'mErc20Host_JournalNotValid', type: 'error' },
{ inputs: [], name: 'mErc20Host_L1InclusionRequired', type: 'error' },
{ inputs: [], name: 'mErc20Host_LengthMismatch', type: 'error' },
{ inputs: [], name: 'mErc20Host_NotEnoughGasFee', type: 'error' },
{ inputs: [], name: 'mErc20Host_NotRebalancer', type: 'error' },
{ inputs: [], name: 'mErc20Host_ProofGenerationInputNotValid', type: 'error' },
{ inputs: [], name: 'mErc20_TokenNotValid', type: 'error' },
{ inputs: [], name: 'mTokenProofDecoderLib_InvalidInclusion', type: 'error' },
{ inputs: [], name: 'mTokenProofDecoderLib_InvalidLength', type: 'error' },
{ inputs: [], name: 'mt_AlreadyInitialized', type: 'error' },
{ inputs: [], name: 'mt_BorrowCashNotAvailable', type: 'error' },
{ inputs: [], name: 'mt_BorrowRateTooHigh', type: 'error' },
{ inputs: [], name: 'mt_CollateralBlockTimestampNotValid', type: 'error' },
{ inputs: [], name: 'mt_ExchangeRateNotValid', type: 'error' },
{ inputs: [], name: 'mt_InvalidInput', type: 'error' },
{ inputs: [], name: 'mt_LiquidateSeizeTooMuch', type: 'error' },
{ inputs: [], name: 'mt_MarketMethodNotValid', type: 'error' },
{ inputs: [], name: 'mt_MinAmountNotValid', type: 'error' },
{ inputs: [], name: 'mt_OnlyAdmin', type: 'error' },
{ inputs: [], name: 'mt_OnlyAdminOrRole', type: 'error' },
{ inputs: [], name: 'mt_RedeemCashNotAvailable', type: 'error' },
{ inputs: [], name: 'mt_RedeemEmpty', type: 'error' },
{ inputs: [], name: 'mt_RedeemTransferOutNotPossible', type: 'error' },
{ inputs: [], name: 'mt_ReserveCashNotAvailable', type: 'error' },
{ inputs: [], name: 'mt_ReserveFactorTooHigh', type: 'error' },
{ inputs: [], name: 'mt_SameChainOperationsAreDisabled', type: 'error' },
{ inputs: [], name: 'mt_TransferNotValid', type: 'error' },
{
anonymous: false,
inputs: [
{ indexed: false, internalType: 'uint256', name: 'cashPrior', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'interestAccumulated', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'borrowIndex', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'totalBorrows', type: 'uint256' },
],
name: 'AccrueInterest',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'sender', type: 'address' },
{ indexed: true, internalType: 'address', name: 'caller', type: 'address' },
{ indexed: false, internalType: 'bool', name: 'status', type: 'bool' },
],
name: 'AllowedCallerUpdated',
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: 'amount', type: 'uint256' },
],
name: 'Approval',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'borrower', type: 'address' },
{ indexed: false, internalType: 'uint256', name: 'borrowAmount', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'accountBorrows', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'totalBorrows', type: 'uint256' },
],
name: 'Borrow',
type: 'event',
},
{
anonymous: false,
inputs: [{ indexed: false, internalType: 'uint64', name: 'version', type: 'uint64' }],
name: 'Initialized',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'liquidator', type: 'address' },
{ indexed: true, internalType: 'address', name: 'borrower', type: 'address' },
{ indexed: false, internalType: 'uint256', name: 'repayAmount', type: 'uint256' },
{ indexed: true, internalType: 'address', name: 'mTokenCollateral', type: 'address' },
{ indexed: false, internalType: 'uint256', name: 'seizeTokens', type: 'uint256' },
],
name: 'LiquidateBorrow',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'minter', type: 'address' },
{ indexed: true, internalType: 'address', name: 'receiver', type: 'address' },
{ indexed: false, internalType: 'uint256', name: 'mintAmount', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'mintTokens', type: 'uint256' },
],
name: 'Mint',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: false, internalType: 'uint256', name: 'oldVal', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'maxMantissa', type: 'uint256' },
],
name: 'NewBorrowRateMaxMantissa',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'oldInterestRateModel', type: 'address' },
{ indexed: true, internalType: 'address', name: 'newInterestRateModel', type: 'address' },
],
name: 'NewMarketInterestRateModel',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'oldOperator', type: 'address' },
{ indexed: true, internalType: 'address', name: 'newOperator', type: 'address' },
],
name: 'NewOperator',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: false, internalType: 'uint256', name: 'oldReserveFactorMantissa', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'newReserveFactorMantissa', type: 'uint256' },
],
name: 'NewReserveFactor',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'oldRoles', type: 'address' },
{ indexed: true, internalType: 'address', name: 'newRoles', type: 'address' },
],
name: 'NewRolesOperator',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'redeemer', type: 'address' },
{ indexed: false, internalType: 'uint256', name: 'redeemAmount', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'redeemTokens', type: 'uint256' },
],
name: 'Redeem',
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: 'repayAmount', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'accountBorrows', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'totalBorrows', type: 'uint256' },
],
name: 'RepayBorrow',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'benefactor', type: 'address' },
{ indexed: false, internalType: 'uint256', name: 'addAmount', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'newTotalReserves', type: 'uint256' },
],
name: 'ReservesAdded',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'admin', type: 'address' },
{ indexed: false, internalType: 'uint256', name: 'reduceAmount', type: 'uint256' },
{ indexed: false, internalType: 'uint256', name: 'newTotalReserves', type: 'uint256' },
],
name: 'ReservesReduced',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'sender', type: 'address' },
{ indexed: false, internalType: 'bool', name: '_oldState', type: 'bool' },
{ indexed: false, internalType: 'bool', name: '_newState', type: 'bool' },
],
name: 'SameChainFlowStateUpdated',
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: 'amount', type: 'uint256' },
],
name: 'Transfer',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'oldVerifier', type: 'address' },
{ indexed: true, internalType: 'address', name: 'newVerifier', type: 'address' },
],
name: 'ZkVerifierUpdated',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'msgSender', type: 'address' },
{ indexed: true, internalType: 'address', name: 'srcSender', type: 'address' },
{ indexed: true, internalType: 'uint32', name: 'chainId', type: 'uint32' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_BorrowExternal',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'borrower', type: 'address' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_BorrowMigration',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'sender', type: 'address' },
{ indexed: false, internalType: 'uint32', name: 'dstChainId', type: 'uint32' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_BorrowOnExtensionChain',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'uint32', name: 'chainId', type: 'uint32' },
{ indexed: false, internalType: 'bool', name: 'status', type: 'bool' },
],
name: 'mErc20Host_ChainStatusUpdated',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'uint32', name: 'dstChainId', type: 'uint32' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_GasFeeUpdated',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'msgSender', type: 'address' },
{ indexed: true, internalType: 'address', name: 'srcSender', type: 'address' },
{ indexed: false, internalType: 'address', name: 'userToLiquidate', type: 'address' },
{ indexed: false, internalType: 'address', name: 'receiver', type: 'address' },
{ indexed: true, internalType: 'address', name: 'collateral', type: 'address' },
{ indexed: false, internalType: 'uint32', name: 'srcChainId', type: 'uint32' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_LiquidateExternal',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'msgSender', type: 'address' },
{ indexed: true, internalType: 'address', name: 'srcSender', type: 'address' },
{ indexed: true, internalType: 'address', name: 'receiver', type: 'address' },
{ indexed: false, internalType: 'uint32', name: 'chainId', type: 'uint32' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_MintExternal',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'receiver', type: 'address' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_MintMigration',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'msgSender', type: 'address' },
{ indexed: true, internalType: 'address', name: 'srcSender', type: 'address' },
{ indexed: true, internalType: 'address', name: 'position', type: 'address' },
{ indexed: false, internalType: 'uint32', name: 'chainId', type: 'uint32' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_RepayExternal',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'msgSender', type: 'address' },
{ indexed: true, internalType: 'address', name: 'srcSender', type: 'address' },
{ indexed: true, internalType: 'uint32', name: 'chainId', type: 'uint32' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_WithdrawExternal',
type: 'event',
},
{
anonymous: false,
inputs: [
{ indexed: true, internalType: 'address', name: 'sender', type: 'address' },
{ indexed: false, internalType: 'uint32', name: 'dstChainId', type: 'uint32' },
{ indexed: false, internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'mErc20Host_WithdrawOnExtensionChain',
type: 'event',
},
{ inputs: [], name: 'acceptAdmin', outputs: [], stateMutability: 'nonpayable', type: 'function' },
{
inputs: [],
name: 'accrualBlockTimestamp',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{ inputs: [], name: 'accrueInterest', outputs: [], stateMutability: 'nonpayable', type: 'function' },
{
inputs: [{ internalType: 'uint256', name: 'addAmount', type: 'uint256' }],
name: 'addReserves',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'admin',
outputs: [{ internalType: 'address payable', name: '', type: 'address' }],
stateMutability: 'view',
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: '', type: 'address' },
{ internalType: 'address', name: '', type: 'address' },
],
name: 'allowedCallers',
outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'uint32', name: '', type: 'uint32' }],
name: 'allowedChains',
outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
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: [{ internalType: 'address', name: 'owner', type: 'address' }],
name: 'balanceOf',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'owner', type: 'address' }],
name: 'balanceOfUnderlying',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'uint256', name: 'borrowAmount', type: 'uint256' }],
name: 'borrow',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
name: 'borrowBalanceCurrent',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
name: 'borrowBalanceStored',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'borrowIndex',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'borrowRateMaxMantissa',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'borrowRatePerBlock',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'decimals',
outputs: [{ internalType: 'uint8', name: '', type: 'uint8' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'exchangeRateCurrent',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'exchangeRateStored',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'uint256', name: 'amount', type: 'uint256' }],
name: 'extractForRebalancing',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'gasHelper',
outputs: [{ internalType: 'contract IGasFeesHelper', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'account', type: 'address' }],
name: 'getAccountSnapshot',
outputs: [
{ internalType: 'uint256', name: '', type: 'uint256' },
{ internalType: 'uint256', name: '', type: 'uint256' },
{ internalType: 'uint256', name: '', type: 'uint256' },
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'getCash',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'user', type: 'address' },
{ internalType: 'uint32', name: 'dstId', type: 'uint32' },
],
name: 'getProofData',
outputs: [
{ internalType: 'uint256', name: '', type: 'uint256' },
{ internalType: 'uint256', name: '', type: 'uint256' },
],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'underlying_', type: 'address' },
{ internalType: 'address', name: 'operator_', type: 'address' },
{ internalType: 'address', name: 'interestRateModel_', type: 'address' },
{ internalType: 'uint256', name: 'initialExchangeRateMantissa_', type: 'uint256' },
{ internalType: 'string', name: 'name_', type: 'string' },
{ internalType: 'string', name: 'symbol_', type: 'string' },
{ internalType: 'uint8', name: 'decimals_', type: 'uint8' },
{ internalType: 'address payable', name: 'admin_', type: 'address' },
{ internalType: 'address', name: 'zkVerifier_', type: 'address' },
{ internalType: 'address', name: 'roles_', type: 'address' },
],
name: 'initialize',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'interestRateModel',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'borrower', type: 'address' },
{ internalType: 'uint256', name: 'repayAmount', type: 'uint256' },
{ internalType: 'address', name: 'mTokenCollateral', type: 'address' },
],
name: 'liquidate',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'bytes', name: 'journalData', type: 'bytes' },
{ internalType: 'bytes', name: 'seal', type: 'bytes' },
{ internalType: 'address[]', name: 'userToLiquidate', type: 'address[]' },
{ internalType: 'uint256[]', name: 'liquidateAmount', type: 'uint256[]' },
{ internalType: 'address[]', name: 'collateral', type: 'address[]' },
{ internalType: 'address', name: 'receiver', type: 'address' },
],
name: 'liquidateExternal',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'migrator',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'uint256', name: 'mintAmount', type: 'uint256' },
{ internalType: 'address', name: 'receiver', type: 'address' },
{ internalType: 'uint256', name: 'minAmountOut', type: 'uint256' },
],
name: 'mint',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'bytes', name: 'journalData', type: 'bytes' },
{ internalType: 'bytes', name: 'seal', type: 'bytes' },
{ internalType: 'uint256[]', name: 'mintAmount', type: 'uint256[]' },
{ internalType: 'uint256[]', name: 'minAmountsOut', type: 'uint256[]' },
{ internalType: 'address', name: 'receiver', type: 'address' },
],
name: 'mintExternal',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'bool', name: 'mint', type: 'bool' },
{ internalType: 'uint256', name: 'amount', type: 'uint256' },
{ internalType: 'address', name: 'receiver', type: 'address' },
{ internalType: 'address', name: 'borrower', type: 'address' },
{ internalType: 'uint256', name: 'minAmount', type: 'uint256' },
],
name: 'mintOrBorrowMigration',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'name',
outputs: [{ internalType: 'string', name: '', type: 'string' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'operator',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'pendingAdmin',
outputs: [{ internalType: 'address payable', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'uint256', name: 'actionType', type: 'uint256' },
{ internalType: 'uint256', name: 'amount', type: 'uint256' },
{ internalType: 'uint32', name: 'dstChainId', type: 'uint32' },
],
name: 'performExtensionCall',
outputs: [],
stateMutability: 'payable',
type: 'function',
},
{
inputs: [{ internalType: 'uint256', name: 'redeemTokens', type: 'uint256' }],
name: 'redeem',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'uint256', name: 'redeemAmount', type: 'uint256' }],
name: 'redeemUnderlying',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'uint256', name: 'reduceAmount', type: 'uint256' }],
name: 'reduceReserves',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'uint256', name: 'repayAmount', type: 'uint256' }],
name: 'repay',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'borrower', type: 'address' },
{ internalType: 'uint256', name: 'repayAmount', type: 'uint256' },
],
name: 'repayBehalf',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'bytes', name: 'journalData', type: 'bytes' },
{ internalType: 'bytes', name: 'seal', type: 'bytes' },
{ internalType: 'uint256[]', name: 'repayAmount', type: 'uint256[]' },
{ internalType: 'address', name: 'receiver', type: 'address' },
],
name: 'repayExternal',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'reserveFactorMantissa',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'rolesOperator',
outputs: [{ internalType: 'contract IRoles', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'liquidator', type: 'address' },
{ internalType: 'address', name: 'borrower', type: 'address' },
{ internalType: 'uint256', name: 'seizeTokens', type: 'uint256' },
],
name: 'seize',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'uint256', name: 'maxMantissa', type: 'uint256' }],
name: 'setBorrowRateMaxMantissa',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: '_helper', type: 'address' }],
name: 'setGasHelper',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: 'newInterestRateModel', type: 'address' }],
name: 'setInterestRateModel',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: '_migrator', type: 'address' }],
name: 'setMigrator',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: '_operator', type: 'address' }],
name: 'setOperator',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address payable', name: 'newPendingAdmin', type: 'address' }],
name: 'setPendingAdmin',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'uint256', name: 'newReserveFactorMantissa', type: 'uint256' }],
name: 'setReserveFactor',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: '_roles', type: 'address' }],
name: 'setRolesOperator',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'supplyRatePerBlock',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'contract IERC20', name: 'token', type: 'address' },
{ internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'sweepToken',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'symbol',
outputs: [{ internalType: 'string', name: '', type: 'string' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'totalBorrows',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'totalBorrowsCurrent',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'totalReserves',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'totalSupply',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [],
name: 'totalUnderlying',
outputs: [{ internalType: 'uint256', name: '', type: 'uint256' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'dst', type: 'address' },
{ internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'transfer',
outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'src', type: 'address' },
{ internalType: 'address', name: 'dst', type: 'address' },
{ internalType: 'uint256', name: 'amount', type: 'uint256' },
],
name: 'transferFrom',
outputs: [{ internalType: 'bool', name: '', type: 'bool' }],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'underlying',
outputs: [{ internalType: 'address', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [
{ internalType: 'address', name: 'caller', type: 'address' },
{ internalType: 'bool', name: 'status', type: 'bool' },
],
name: 'updateAllowedCallerStatus',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [
{ internalType: 'uint32', name: '_chainId', type: 'uint32' },
{ internalType: 'bool', name: '_status', type: 'bool' },
],
name: 'updateAllowedChain',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [{ internalType: 'address', name: '_zkVerifier', type: 'address' }],
name: 'updateZkVerifier',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
{
inputs: [],
name: 'verifier',
outputs: [{ internalType: 'contract IZkVerifier', name: '', type: 'address' }],
stateMutability: 'view',
type: 'function',
},
{
inputs: [{ internalType: 'address payable', name: 'receiver', type: 'address' }],
name: 'withdrawGasFees',
outputs: [],
stateMutability: 'nonpayable',
type: 'function',
},
];