UNPKG

@malda-protocol/protocol-config

Version:

Centralized contract addresses, constants, and token configurations for Malda Protocol

1,500 lines 348 kB
export { ERC20_ABI } from './shared/erc20.js'; export { MTOKEN_ABI } from './shared/mToken.js'; export { MTOKEN_GATEWAY_ABI } from './shared/mToken-gateway.js'; export { OPERATOR_ABI } from './shared/operator.js'; export { GAS_HELPER_ABI } from './shared/gas-helper.js'; export { MIGRATOR_ABI } from './shared/migrator.js'; export { PRICE_ORACLE_ABI } from './shared/price-oracle.js'; export { REFERRAL_SIGNING_ABI } from './shared/referral-signing.js'; export { USDT_MAINNET_ABI } from './shared/usdt-mainnet.js'; export { JUMP_RATE_MODEL_ABI } from './shared/jump-rate-model.js'; export declare const ABIS: { readonly ERC20: () => Promise<readonly [{ readonly constant: true; readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly name: "guy"; readonly type: "address"; }, { readonly name: "wad"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "totalSupply"; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly name: "src"; readonly type: "address"; }, { readonly name: "dst"; readonly type: "address"; }, { readonly name: "wad"; readonly type: "uint256"; }]; readonly name: "transferFrom"; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly name: "wad"; readonly type: "uint256"; }]; readonly name: "withdraw"; readonly outputs: readonly []; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint8"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly [{ readonly name: ""; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly []; readonly name: "symbol"; readonly outputs: readonly [{ readonly name: ""; readonly type: "string"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly [{ readonly name: "dst"; readonly type: "address"; }, { readonly name: "wad"; readonly type: "uint256"; }]; readonly name: "transfer"; readonly outputs: readonly [{ readonly name: ""; readonly type: "bool"; }]; readonly payable: false; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly constant: false; readonly inputs: readonly []; readonly name: "deposit"; readonly outputs: readonly []; readonly payable: true; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly constant: true; readonly inputs: readonly [{ readonly name: ""; readonly type: "address"; }, { readonly name: ""; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly name: ""; readonly type: "uint256"; }]; readonly payable: false; readonly stateMutability: "view"; readonly type: "function"; }, { readonly payable: true; readonly stateMutability: "payable"; readonly type: "fallback"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly name: "src"; readonly type: "address"; }, { readonly indexed: true; readonly name: "guy"; readonly type: "address"; }, { readonly indexed: false; readonly name: "wad"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly name: "src"; readonly type: "address"; }, { readonly indexed: true; readonly name: "dst"; readonly type: "address"; }, { readonly indexed: false; readonly name: "wad"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly name: "dst"; readonly type: "address"; }, { readonly indexed: false; readonly name: "wad"; readonly type: "uint256"; }]; readonly name: "Deposit"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly name: "src"; readonly type: "address"; }, { readonly indexed: false; readonly name: "wad"; readonly type: "uint256"; }]; readonly name: "Withdrawal"; readonly type: "event"; }]>; readonly MTOKEN: () => Promise<readonly [{ readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "target"; readonly type: "address"; }]; readonly name: "AddressEmptyCode"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "AddressInsufficientBalance"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "AmountNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ChainNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "CommonLib_LengthMismatch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "FailedInnerCall"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "InvalidInitialization"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotEnoughGasFee"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "NotInitializing"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "ReentrancyGuardReentrantCall"; readonly type: "error"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "SafeERC20FailedOperation"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_ActionNotAvailable"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_AddressNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_AmountNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_AmountTooBig"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_CallerNotAllowed"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_ChainNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_DstChainNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_JournalNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_L1InclusionRequired"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_LengthMismatch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_NotEnoughGasFee"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_NotRebalancer"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20Host_ProofGenerationInputNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mErc20_TokenNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mTokenProofDecoderLib_InvalidInclusion"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mTokenProofDecoderLib_InvalidLength"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_AlreadyInitialized"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_BorrowCashNotAvailable"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_BorrowRateTooHigh"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_CollateralBlockTimestampNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_ExchangeRateNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_InvalidInput"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_LiquidateSeizeTooMuch"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_MarketMethodNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_MinAmountNotValid"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_OnlyAdmin"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_OnlyAdminOrRole"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_RedeemCashNotAvailable"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_RedeemEmpty"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_RedeemTransferOutNotPossible"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_ReserveCashNotAvailable"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_ReserveFactorTooHigh"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_SameChainOperationsAreDisabled"; readonly type: "error"; }, { readonly inputs: readonly []; readonly name: "mt_TransferNotValid"; readonly type: "error"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "cashPrior"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "interestAccumulated"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "borrowIndex"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "totalBorrows"; readonly type: "uint256"; }]; readonly name: "AccrueInterest"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "caller"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "status"; readonly type: "bool"; }]; readonly name: "AllowedCallerUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "Approval"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "borrowAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "accountBorrows"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "totalBorrows"; readonly type: "uint256"; }]; readonly name: "Borrow"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint64"; readonly name: "version"; readonly type: "uint64"; }]; readonly name: "Initialized"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "liquidator"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "repayAmount"; readonly type: "uint256"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "mTokenCollateral"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "seizeTokens"; readonly type: "uint256"; }]; readonly name: "LiquidateBorrow"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "minter"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "mintAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "mintTokens"; readonly type: "uint256"; }]; readonly name: "Mint"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "oldVal"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "maxMantissa"; readonly type: "uint256"; }]; readonly name: "NewBorrowRateMaxMantissa"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "oldInterestRateModel"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newInterestRateModel"; readonly type: "address"; }]; readonly name: "NewMarketInterestRateModel"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "oldOperator"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newOperator"; readonly type: "address"; }]; readonly name: "NewOperator"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint256"; readonly name: "oldReserveFactorMantissa"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "newReserveFactorMantissa"; readonly type: "uint256"; }]; readonly name: "NewReserveFactor"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "oldRoles"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newRoles"; readonly type: "address"; }]; readonly name: "NewRolesOperator"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "redeemer"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "redeemAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "redeemTokens"; readonly type: "uint256"; }]; readonly name: "Redeem"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "payer"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "repayAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "accountBorrows"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "totalBorrows"; readonly type: "uint256"; }]; readonly name: "RepayBorrow"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "benefactor"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "addAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "newTotalReserves"; readonly type: "uint256"; }]; readonly name: "ReservesAdded"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "admin"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "reduceAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "newTotalReserves"; readonly type: "uint256"; }]; readonly name: "ReservesReduced"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "_oldState"; readonly type: "bool"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "_newState"; readonly type: "bool"; }]; readonly name: "SameChainFlowStateUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "from"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "to"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "Transfer"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "oldVerifier"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "newVerifier"; readonly type: "address"; }]; readonly name: "ZkVerifierUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "srcSender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint32"; readonly name: "chainId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_BorrowExternal"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_BorrowMigration"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "dstChainId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_BorrowOnExtensionChain"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint32"; readonly name: "chainId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "status"; readonly type: "bool"; }]; readonly name: "mErc20Host_ChainStatusUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "uint32"; readonly name: "dstChainId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_GasFeeUpdated"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "srcSender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "userToLiquidate"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "collateral"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "srcChainId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_LiquidateExternal"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "srcSender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "chainId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_MintExternal"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_MintMigration"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "srcSender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "position"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "chainId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_RepayExternal"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "msgSender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "address"; readonly name: "srcSender"; readonly type: "address"; }, { readonly indexed: true; readonly internalType: "uint32"; readonly name: "chainId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_WithdrawExternal"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: true; readonly internalType: "address"; readonly name: "sender"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint32"; readonly name: "dstChainId"; readonly type: "uint32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "mErc20Host_WithdrawOnExtensionChain"; readonly type: "event"; }, { readonly inputs: readonly []; readonly name: "acceptAdmin"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "accrualBlockTimestamp"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "accrueInterest"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "addAmount"; readonly type: "uint256"; }]; readonly name: "addReserves"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "admin"; readonly outputs: readonly [{ readonly internalType: "address payable"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }]; readonly name: "allowance"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly name: "allowedCallers"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint32"; readonly name: ""; readonly type: "uint32"; }]; readonly name: "allowedChains"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "approve"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "balanceOf"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "owner"; readonly type: "address"; }]; readonly name: "balanceOfUnderlying"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "borrowAmount"; readonly type: "uint256"; }]; readonly name: "borrow"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "borrowBalanceCurrent"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "borrowBalanceStored"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "borrowIndex"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "borrowRateMaxMantissa"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "borrowRatePerBlock"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "decimals"; readonly outputs: readonly [{ readonly internalType: "uint8"; readonly name: ""; readonly type: "uint8"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "exchangeRateCurrent"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "exchangeRateStored"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "extractForRebalancing"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "gasHelper"; readonly outputs: readonly [{ readonly internalType: "contract IGasFeesHelper"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }]; readonly name: "getAccountSnapshot"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "getCash"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "user"; readonly type: "address"; }, { readonly internalType: "uint32"; readonly name: "dstId"; readonly type: "uint32"; }]; readonly name: "getProofData"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "underlying_"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "operator_"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "interestRateModel_"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "initialExchangeRateMantissa_"; readonly type: "uint256"; }, { readonly internalType: "string"; readonly name: "name_"; readonly type: "string"; }, { readonly internalType: "string"; readonly name: "symbol_"; readonly type: "string"; }, { readonly internalType: "uint8"; readonly name: "decimals_"; readonly type: "uint8"; }, { readonly internalType: "address payable"; readonly name: "admin_"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "zkVerifier_"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "roles_"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "interestRateModel"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "borrower"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "repayAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "mTokenCollateral"; readonly type: "address"; }]; readonly name: "liquidate"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes"; readonly name: "journalData"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "seal"; readonly type: "bytes"; }, { readonly internalType: "address[]"; readonly name: "userToLiquidate"; readonly type: "address[]"; }, { readonly internalType: "uint256[]"; readonly name: "liquidateAmount"; readonly type: "uint256[]"; }, { readonly internalType: "address[]"; readonly name: "collateral"; readonly type: "address[]"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }]; readonly name: "liquidateExternal"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "migrator"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "uint256"; readonly name: "mintAmount"; readonly type: "uint256"; }, { readonly internalType: "address"; readonly name: "receiver"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "minAmountOut"; readonly type: "uint256"; }]; readonly name: "mint"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes"; readonly name: "journalData"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "seal"; readonly type: "bytes"; }, { readonly internalType: "uint256[]"; readonly name: "mintAmount"; readonly type: "uint256[]"; }, { readonly internalType: "uint256[]"; readonly name: "minAmountsOut"; readonly type: