/** Minimal Morpho Blue ABI — position reads + 6 primitive actions. */ export declare const morphoBlueAbi: readonly [{ readonly type: "function"; readonly name: "position"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly name: "id"; readonly type: "bytes32"; }, { readonly name: "user"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "supplyShares"; readonly type: "uint256"; }, { readonly name: "borrowShares"; readonly type: "uint128"; }, { readonly name: "collateral"; readonly type: "uint128"; }]; }, { readonly type: "function"; readonly name: "market"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly name: "id"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "totalSupplyAssets"; readonly type: "uint128"; }, { readonly name: "totalSupplyShares"; readonly type: "uint128"; }, { readonly name: "totalBorrowAssets"; readonly type: "uint128"; }, { readonly name: "totalBorrowShares"; readonly type: "uint128"; }, { readonly name: "lastUpdate"; readonly type: "uint128"; }, { readonly name: "fee"; readonly type: "uint128"; }]; }, { readonly type: "function"; readonly name: "idToMarketParams"; readonly stateMutability: "view"; readonly inputs: readonly [{ readonly name: "id"; readonly type: "bytes32"; }]; readonly outputs: readonly [{ readonly name: "loanToken"; readonly type: "address"; }, { readonly name: "collateralToken"; readonly type: "address"; }, { readonly name: "oracle"; readonly type: "address"; }, { readonly name: "irm"; readonly type: "address"; }, { readonly name: "lltv"; readonly type: "uint256"; }]; }, { readonly type: "function"; readonly name: "supply"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "marketParams"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "loanToken"; readonly type: "address"; }, { readonly name: "collateralToken"; readonly type: "address"; }, { readonly name: "oracle"; readonly type: "address"; }, { readonly name: "irm"; readonly type: "address"; }, { readonly name: "lltv"; readonly type: "uint256"; }]; }, { readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "shares"; readonly type: "uint256"; }, { readonly name: "onBehalf"; readonly type: "address"; }, { readonly name: "data"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: "assetsSupplied"; readonly type: "uint256"; }, { readonly name: "sharesSupplied"; readonly type: "uint256"; }]; }, { readonly type: "function"; readonly name: "withdraw"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "marketParams"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "loanToken"; readonly type: "address"; }, { readonly name: "collateralToken"; readonly type: "address"; }, { readonly name: "oracle"; readonly type: "address"; }, { readonly name: "irm"; readonly type: "address"; }, { readonly name: "lltv"; readonly type: "uint256"; }]; }, { readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "shares"; readonly type: "uint256"; }, { readonly name: "onBehalf"; readonly type: "address"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "assetsWithdrawn"; readonly type: "uint256"; }, { readonly name: "sharesWithdrawn"; readonly type: "uint256"; }]; }, { readonly type: "function"; readonly name: "borrow"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "marketParams"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "loanToken"; readonly type: "address"; }, { readonly name: "collateralToken"; readonly type: "address"; }, { readonly name: "oracle"; readonly type: "address"; }, { readonly name: "irm"; readonly type: "address"; }, { readonly name: "lltv"; readonly type: "uint256"; }]; }, { readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "shares"; readonly type: "uint256"; }, { readonly name: "onBehalf"; readonly type: "address"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly [{ readonly name: "assetsBorrowed"; readonly type: "uint256"; }, { readonly name: "sharesBorrowed"; readonly type: "uint256"; }]; }, { readonly type: "function"; readonly name: "repay"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "marketParams"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "loanToken"; readonly type: "address"; }, { readonly name: "collateralToken"; readonly type: "address"; }, { readonly name: "oracle"; readonly type: "address"; }, { readonly name: "irm"; readonly type: "address"; }, { readonly name: "lltv"; readonly type: "uint256"; }]; }, { readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "shares"; readonly type: "uint256"; }, { readonly name: "onBehalf"; readonly type: "address"; }, { readonly name: "data"; readonly type: "bytes"; }]; readonly outputs: readonly [{ readonly name: "assetsRepaid"; readonly type: "uint256"; }, { readonly name: "sharesRepaid"; readonly type: "uint256"; }]; }, { readonly type: "function"; readonly name: "supplyCollateral"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "marketParams"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "loanToken"; readonly type: "address"; }, { readonly name: "collateralToken"; readonly type: "address"; }, { readonly name: "oracle"; readonly type: "address"; }, { readonly name: "irm"; readonly type: "address"; }, { readonly name: "lltv"; readonly type: "uint256"; }]; }, { readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "onBehalf"; readonly type: "address"; }, { readonly name: "data"; readonly type: "bytes"; }]; readonly outputs: readonly []; }, { readonly type: "function"; readonly name: "withdrawCollateral"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly name: "marketParams"; readonly type: "tuple"; readonly components: readonly [{ readonly name: "loanToken"; readonly type: "address"; }, { readonly name: "collateralToken"; readonly type: "address"; }, { readonly name: "oracle"; readonly type: "address"; }, { readonly name: "irm"; readonly type: "address"; }, { readonly name: "lltv"; readonly type: "uint256"; }]; }, { readonly name: "assets"; readonly type: "uint256"; }, { readonly name: "onBehalf"; readonly type: "address"; }, { readonly name: "receiver"; readonly type: "address"; }]; readonly outputs: readonly []; }]; export interface MorphoMarketParams { loanToken: `0x${string}`; collateralToken: `0x${string}`; oracle: `0x${string}`; irm: `0x${string}`; lltv: bigint; }