@swipewallet/venus-js
Version:
A JavaScript SDK for Ethereum and the Venus Protocol.
91 lines (90 loc) • 2.48 kB
TypeScript
/**
* @file Venus
* @desc This file defines the constructor of the `Venus` class.
* @hidden
*/
import { ethers } from 'ethers';
import * as eth from './eth';
import * as util from './util';
import * as comp from './comp';
import * as api from './api';
import { Provider, CompoundOptions, CompoundInstance } from './types';
/**
* Creates an instance of the Venus.js SDK.
*
* @param {Provider | string} [provider] Optional Ethereum network provider.
* Defaults to Ethers.js fallback mainnet provider.
* @param {object} [options] Optional provider options.
*
* @example
* ```
* var venus = new Venus(window.ethereum); // web browser
*
* var venus = new Venus('http://127.0.0.1:8545'); // HTTP provider
*
* var venus = new Venus(); // Uses Ethers.js fallback mainnet (for testing only)
*
* var venus = new Venus('testnet'); // Uses Ethers.js fallback (for testing only)
*
* // Init with private key (server side)
* var venus = new Venus('https://mainnet.infura.io/v3/_your_project_id_', {
* privateKey: '0x_your_private_key_', // preferably with environment variable
* });
*
* // Init with HD mnemonic (server side)
* var venus = new Venus('mainnet' {
* mnemonic: 'clutch captain shoe...', // preferably with environment variable
* });
* ```
*
* @returns {object} Returns an instance of the Venus.js SDK.
*/
declare const Venus: {
(provider?: Provider | string, options?: CompoundOptions): CompoundInstance;
eth: typeof eth;
api: typeof api;
util: typeof util;
_ethers: typeof ethers;
decimals: {
cBAT: number;
cCOMP: number;
cDAI: number;
cETH: number;
cREP: number;
cSAI: number;
cUNI: number;
cUSDC: number;
cUSDT: number;
cWBTC: number;
cZRX: number;
BAT: number;
COMP: number;
DAI: number;
ETH: number;
REP: number;
SAI: number;
UNI: number;
WBTC: number;
ZRX: number;
KNC: number;
LINK: number;
BTC: number;
vBNB: number;
vUSDC: number;
vUSDT: number;
vSXP: number;
vBUSD: number;
vXVS: number;
BNB: number;
USDC: number;
USDT: number;
SXP: number;
BUSD: number;
XVS: number;
};
venus: {
getVenusBalance: typeof comp.getVenusBalance;
getVenusAccrued: typeof comp.getVenusAccrued;
};
};
export = Venus;