UNPKG

@swipewallet/venus-js

Version:

A JavaScript SDK for Ethereum and the Venus Protocol.

112 lines (111 loc) 3.7 kB
/** * @file API * @desc These methods facilitate HTTP requests to the Venus API. */ import { APIResponse, AccountServiceRequest, CTokenServiceRequest, MarketHistoryServiceRequest, GovernanceServiceRequest } from './types'; /** * Makes a request to the AccountService API. The Account API retrieves * information for various accounts which have interacted with the protocol. * For more details, see the Venus API documentation. * * @param {object} options A JavaScript object of API request parameters. * * @returns {object} Returns the HTTP response body or error. * * @example * * ``` * (async function() { * const account = await Venus.api.account({ * "addresses": "0xB61C5971d9c0472befceFfbE662555B78284c307", * "network": "testnet" * }); * * let sxpBorrowBalance = 0; * if (Object.isExtensible(account) && account.accounts) { * account.accounts.forEach((acc) => { * acc.tokens.forEach((tok) => { * if (tok.symbol === Venus.vSXP) { * sxpBorrowBalance = +tok.borrow_balance_underlying.value; * } * }); * }); * } * * console.log('sxpBorrowBalance', sxpBorrowBalance); * })().catch(console.error); * ``` */ export declare function account(options: AccountServiceRequest): Promise<APIResponse>; /** * Makes a request to the CTokenService API. The vToken API retrieves * information about vToken contract interaction. For more details, see the * Venus API documentation. * * @param {object} options A JavaScript object of API request parameters. * * @returns {object} Returns the HTTP response body or error. * * @example * * ``` * (async function() { * const vSxpData = await Venus.api.vToken({ * "addresses": Venus.util.getAddress(Venus.vSXP) * }); * * console.log('vSxpData', vSxpData); // JavaScript Object * })().catch(console.error); * ``` */ export declare function vToken(options: CTokenServiceRequest): Promise<APIResponse>; /** * Makes a request to the MarketHistoryService API. The market history service * retrieves information about a market. For more details, see the Venus * API documentation. * * @param {object} options A JavaScript object of API request parameters. * * @returns {object} Returns the HTTP response body or error. * * @example * * ``` * (async function() { * const vUsdcMarketData = await Venus.api.marketHistory({ * "asset": Venus.util.getAddress(Venus.vUSDC), * "min_block_timestamp": 1559339900, * "max_block_timestamp": 1598320674, * "num_buckets": 10, * }); * * console.log('vUsdcMarketData', vUsdcMarketData); // JavaScript Object * })().catch(console.error); * ``` */ export declare function marketHistory(options: MarketHistoryServiceRequest): Promise<APIResponse>; /** * Makes a request to the GovernanceService API. The Governance Service includes * three endpoints to retrieve information about COMP accounts. For more * details, see the Venus API documentation. * * @param {object} options A JavaScript object of API request parameters. * @param {string} endpoint A string of the name of the corresponding governance * service endpoint. Valid values are `proposals`, `voteReceipts`, or * `accounts`. * * @returns {object} Returns the HTTP response body or error. * * @example * * ``` * (async function() { * const proposal = await Venus.api.governance( * { "proposal_ids": [ 20 ] }, 'proposals' * ); * * console.log('proposal', proposal); // JavaScript Object * })().catch(console.error); * ``` */ export declare function governance(options: GovernanceServiceRequest, endpoint: string): Promise<APIResponse>;