Midas Docs
Search
K

Funding Operations

These are the core actions that enable users to actually use their funds within the protocol.
Enabling programmatic control of these operations offers a powerful shorthand to developers interested in integrating with Midas Capital.
The functions here shown enable the typical interactions with a Money Market:
  • Depositing collateral to a pool
  • Borrow funds against the deposited collateral
  • Repay the borrowed funds
  • Withdraw collateral from a pool
With these, protocol developers can seamlessly add a Borrow and Lending page to their web applications, and have a very concise interface with which they can enable users to perform the major operations against a lending & borrowing pool

supply

Supply assets to a pool, with the option of enabling them to be used as collateral
Arguments:
  • cTokenAddress: string: the address of the cToken to be supplied
  • underlyingTokenAddress: string: the address of the underling token of the cToken to be borrowed
  • comptrollerAddress: string: the comptroller e.g., the pool's address
  • enableAsCollateral: boolean: whether the deposited underlying should be enabled to be used as collateral
  • amount: BigNumber: amount in BigNumber format
  • options: { from: string }: address from which to perform the funding
Returns:
  • {tx: ContractTransaction, errorCode: number | null}

borrow

After having deposited into a pool and marked an asset as enabled for collateralization, you may perform a borrow against that asset
Arguments:
  • cTokenAddress: string: the address of the cToken to be borrowed
  • amount: BigNumber: amount to be borrowed in BigNumber format
  • options: { from: string }: address from which to perform the borrowing
Returns:
  • {tx: ContractTransaction, errorCode: number | null}

repay

Repay a borrow action, with the option of repaying the full amount instead of specifying an amount.
Arguments:
  • cTokenAddress: string: the address of the cToken to be repaied
  • underlyingTokenAddress: string: the address of the underling token of the cToken to be repaid
  • isRepayingMax: boolean: whether the maximum amount is being tried to be repaid
  • amount: BigNumber: amount to be repaid in BigNumber format
  • options: { from: string }: address from which to perform the repayment
Returns:
  • {tx: ContractTransaction, errorCode: number | null}

withdraw

Withdraw deposited funds from the pool. This redeems the underlying tokens deposited from the cTokens that belong to your account, and are currently not being used to collateralised a loan.
Arguments:
  • cTokenAddress: string: the address of the cToken to be withdrawn
  • amount: BigNumber: amount to be withdrawn in BigNumber format
  • options: { from: string }: address from which to perform the withdrawal
Returns:
  • {tx: ContractTransaction, errorCode: number | null}