/** * @file Cointroller * @desc These methods facilitate interactions with the Cointroller smart * contract. */ import { CallOptions, TrxResponse } from './types'; import { BigNumber } from 'ethers'; /** * Enters the user's address into Rifi Protocol markets. * * @param {any[]} markets An array of strings of markets to enter, meaning use * those supplied assets as collateral. * @param {CallOptions} [options] Call options and Ethers.js overrides for the * transaction. A passed `gasLimit` will be used in both the `approve` (if * not supressed) and `mint` transactions. * * @returns {object} Returns an Ethers.js transaction object of the enterMarkets * transaction. * * @example * * ``` * const rifi = new Rifi(window.ethereum); * * (async function () { * const trx = await rifi.enterMarkets(Rifi.ETH); // Use [] for multiple * console.log('Ethers.js transaction object', trx); * })().catch(console.error); * ``` */ export declare function enterMarkets(markets?: string | string[], options?: CallOptions): Promise; /** * Exits the user's address from a Rifi Protocol market. * * @param {string} market A string of the symbol of the market to exit. * @param {CallOptions} [options] Call options and Ethers.js overrides for the * transaction. A passed `gasLimit` will be used in both the `approve` (if * not supressed) and `mint` transactions. * * @returns {object} Returns an Ethers.js transaction object of the exitMarket * transaction. * * @example * * ``` * const rifi = new Rifi(window.ethereum); * * (async function () { * const trx = await rifi.exitMarket(Rifi.ETH); * console.log('Ethers.js transaction object', trx); * })().catch(console.error); * ``` */ export declare function exitMarket(market: string, options?: CallOptions): Promise; /** * Exits the user's address from a Rifi Protocol market. * * @param {string} market A string of the symbol of the market to exit. * @param {CallOptions} [options] Call options and Ethers.js overrides for the * transaction. A passed `gasLimit` will be used in both the `approve` (if * not supressed) and `mint` transactions. * * @returns {object} Returns an Ethers.js transaction object of the exitMarket * transaction. * * @example * * ``` * const rifi = new Rifi(window.ethereum); * * (async function () { * const trx = await rifi.exitMarket(Rifi.ETH); * console.log('Ethers.js transaction object', trx); * })().catch(console.error); * ``` */ export declare function getCollateralFactor(market: string, options?: CallOptions): Promise; export declare function checkMembership(accountAddr: string, rTokenName: string, options?: CallOptions): Promise; export declare function getAssetsInAccount(accountAddr: string, options?: CallOptions): Promise; export declare function getCloseFactor(options?: CallOptions): Promise; export declare function getLiquidationIncentive(options?: CallOptions): Promise;