mirror of
https://github.com/Instadapp/dsa-connectors.git
synced 2024-07-29 22:37:00 +00:00
66 lines
1.7 KiB
Solidity
66 lines
1.7 KiB
Solidity
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
pragma solidity ^0.7.0;
|
|
pragma experimental ABIEncoderV2;
|
|
|
|
// type Id is bytes32;
|
|
|
|
struct MarketParams {
|
|
address loanToken;
|
|
address collateralToken;
|
|
address oracle;
|
|
address irm;
|
|
uint256 lltv;
|
|
}
|
|
|
|
/// @dev Warning: For `feeRecipient`, `supplyShares` does not contain the accrued shares since the last interest
|
|
/// accrual.
|
|
struct Position {
|
|
uint256 supplyShares;
|
|
uint128 borrowShares;
|
|
uint128 collateral;
|
|
}
|
|
|
|
|
|
interface IMorpho {
|
|
function createMarket(MarketParams memory marketParams) external;
|
|
|
|
function supply(
|
|
MarketParams memory marketParams,
|
|
uint256 assets,
|
|
uint256 shares,
|
|
address onBehalf,
|
|
bytes calldata data
|
|
) external returns (uint256, uint256);
|
|
|
|
function withdraw(
|
|
MarketParams memory marketParams,
|
|
uint256 assets,
|
|
uint256 shares,
|
|
address onBehalf,
|
|
address receiver
|
|
) external returns (uint256, uint256);
|
|
|
|
function borrow(
|
|
MarketParams memory marketParams,
|
|
uint256 assets,
|
|
uint256 shares,
|
|
address onBehalf,
|
|
address receiver
|
|
) external returns (uint256, uint256);
|
|
|
|
function repay(
|
|
MarketParams memory marketParams,
|
|
uint256 assets,
|
|
uint256 shares,
|
|
address onBehalf,
|
|
bytes calldata data
|
|
) external returns (uint256, uint256);
|
|
|
|
function supplyCollateral(MarketParams memory marketParams, uint256 assets, address onBehalf, bytes calldata data) external;
|
|
|
|
function withdrawCollateral(MarketParams memory marketParams, uint256 assets, address onBehalf, address receiver) external;
|
|
|
|
function position(bytes32 id, address user) external view returns(Position memory);
|
|
}
|
|
|