UNPKG

fortress-js

Version:

A JavaScript SDK for Binance Smart Chain and the Fortress Protocol.

92 lines 3.94 kB
"use strict"; /** * @file Fortress * @desc This file defines the constructor of the `Fortress` class. * @hidden */ var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; var ethers_1 = require("ethers"); var eth = require("./eth"); var util = require("./util"); var comptroller = require("./comptroller"); var fToken = require("./fToken"); var priceFeed = require("./priceFeed"); var comp = require("./comp"); var gov = require("./gov"); var api = require("./api"); var constants_1 = require("./constants"); // Turn off Ethers.js warnings ethers_1.ethers.utils.Logger.setLogLevel(ethers_1.ethers.utils.Logger.levels.ERROR); /** * Creates an instance of the Fortress.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 fortress = new Fortress(window.ethereum); // web browser * * var fortress = new Fortress('http://127.0.0.1:8545'); // HTTP provider * * var fortress = new Fortress(); // Uses Ethers.js fallback mainnet (for testing only) * * var fortress = new Fortress('testnet'); // Uses Ethers.js fallback (for testing only) * * // Init with private key (server side) * var fortress = new Fortress('https://mainnet.infura.io/v3/_your_project_id_', { * privateKey: '0x_your_private_key_', // preferably with environment variable * }); * * // Init with HD mnemonic (server side) * var fortress = new Fortress('mainnet' { * mnemonic: 'clutch captain shoe...', // preferably with environment variable * }); * ``` * * @returns {object} Returns an instance of the Fortress.js SDK. */ var Fortress = function (provider, options) { if (provider === void 0) { provider = 'mainnet'; } if (options === void 0) { options = {}; } var originalProvider = provider; options.provider = provider || options.provider; provider = eth._createProvider(options); // eslint-disable-next-line @typescript-eslint/no-explicit-any var instance = __assign(__assign(__assign(__assign(__assign({ _originalProvider: originalProvider, _provider: provider }, comptroller), fToken), priceFeed), gov), { claimFortress: comp.claimFortress, delegate: comp.delegate, delegateBySig: comp.delegateBySig, createDelegateSignature: comp.createDelegateSignature, getMintableFAI: comp.getMintableFAI, getFAIMintRate: comp.getFAIMintRate, mintFAIGuardianPaused: comp.mintFAIGuardianPaused, repayFAIGuardianPaused: comp.repayFAIGuardianPaused, mintedFAIOf: comp.mintedFAIOf, mintedFAIs: comp.mintedFAIs, faiController: comp.faiController, faiMintRate: comp.faiMintRate, mintFAI: comp.mintFAI, repayFAI: comp.repayFAI }); // Instance needs to know which network the provider connects to, so it can // use the correct contract addresses. instance._networkPromise = eth.getProviderNetwork(provider).then(function (network) { instance.decimals = constants_1.decimals; if (network.id === 56 || network.name === "mainnet") { instance.decimals.USDC = 18; instance.decimals.USDT = 18; } delete instance._networkPromise; instance._network = network; }); return instance; }; Fortress.eth = eth; Fortress.api = api; Fortress.util = util; Fortress._ethers = ethers_1.ethers; Fortress.decimals = constants_1.decimals; Fortress.fortress = { getFortressBalance: comp.getFortressBalance, getFortressAccrued: comp.getFortressAccrued }; Object.assign(Fortress, constants_1.constants); module.exports = Fortress; //# sourceMappingURL=index.js.map