UNPKG

lending-apy-fetcher-ts

Version:

TypeScript library for fetching APYs from DeFi lending protocols

78 lines 4.73 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AaveOptimismProtocol = exports.AaveArbitrumProtocol = exports.AavePolygonProtocol = exports.AaveEthProtocol = exports.OPTIMISM = exports.ARBITRUM = exports.POLYGON = exports.ETHEREUM = exports.AuthenticationError = exports.ValidationError = exports.NetworkError = exports.ApyFetcherError = exports.ApyFetcher = void 0; exports.initializeEnvironment = initializeEnvironment; exports.getApys = getApys; exports.getApysWithResults = getApysWithResults; exports.getBestApyForToken = getBestApyForToken; // Initialize environment variables (loads .env file) function initializeEnvironment() { try { require('dotenv').config(); } catch (error) { // dotenv is not installed, continue without it } } // Auto-initialize on import initializeEnvironment(); // Main exports var fetcher_1 = require("./fetcher"); Object.defineProperty(exports, "ApyFetcher", { enumerable: true, get: function () { return fetcher_1.ApyFetcher; } }); // Errors var types_1 = require("./types"); Object.defineProperty(exports, "ApyFetcherError", { enumerable: true, get: function () { return types_1.ApyFetcherError; } }); Object.defineProperty(exports, "NetworkError", { enumerable: true, get: function () { return types_1.NetworkError; } }); Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return types_1.ValidationError; } }); Object.defineProperty(exports, "AuthenticationError", { enumerable: true, get: function () { return types_1.AuthenticationError; } }); // Protocols var protocols_1 = require("./protocols"); Object.defineProperty(exports, "ETHEREUM", { enumerable: true, get: function () { return protocols_1.ETHEREUM; } }); Object.defineProperty(exports, "POLYGON", { enumerable: true, get: function () { return protocols_1.POLYGON; } }); Object.defineProperty(exports, "ARBITRUM", { enumerable: true, get: function () { return protocols_1.ARBITRUM; } }); Object.defineProperty(exports, "OPTIMISM", { enumerable: true, get: function () { return protocols_1.OPTIMISM; } }); // Protocols // export { KaminoProtocol } from './protocols/kamino'; var aave_eth_1 = require("./protocols/aave-eth"); Object.defineProperty(exports, "AaveEthProtocol", { enumerable: true, get: function () { return aave_eth_1.AaveEthProtocol; } }); var aave_polygon_1 = require("./protocols/aave-polygon"); Object.defineProperty(exports, "AavePolygonProtocol", { enumerable: true, get: function () { return aave_polygon_1.AavePolygonProtocol; } }); var aave_arbitrum_1 = require("./protocols/aave-arbitrum"); Object.defineProperty(exports, "AaveArbitrumProtocol", { enumerable: true, get: function () { return aave_arbitrum_1.AaveArbitrumProtocol; } }); var aave_optimism_1 = require("./protocols/aave-optimism"); Object.defineProperty(exports, "AaveOptimismProtocol", { enumerable: true, get: function () { return aave_optimism_1.AaveOptimismProtocol; } }); // Convenience function const fetcher_2 = require("./fetcher"); // import { AppConfig } from './config'; /** * Simple convenience function to fetch APYs from all protocols * @param config Optional configuration, defaults to environment-based config * @param gracefulDegradation Continue with other protocols if one fails (default: true) * @returns Promise<ApyData[]> Array of APY data from all protocols */ async function getApys(protocols, gracefulDegradation = true) { const fetcher = new fetcher_2.ApyFetcher(protocols); return await fetcher.fetchApys(gracefulDegradation); } /** * Get APYs with detailed results per protocol * @param config Optional configuration, defaults to environment-based config * @param gracefulDegradation Continue with other protocols if one fails (default: true) * @returns Promise<ApyResult[]> Array of results with success/error status per protocol */ async function getApysWithResults(protocols, gracefulDegradation = true) { const fetcher = new fetcher_2.ApyFetcher(protocols); return await fetcher.fetchApysWithResults(gracefulDegradation); } /** * Get the best APY for a specific token across all protocols * @param tokenSymbol Token symbol to search for (e.g., 'USDC', 'WETH') * @param config Optional configuration, defaults to environment-based config * @param gracefulDegradation Continue with other protocols if one fails (default: true) * @returns Promise<BestApyResult | null> Best APY result or null if token not found */ async function getBestApyForToken(protocols, tokenSymbol, gracefulDegradation = true) { const fetcher = new fetcher_2.ApyFetcher(protocols); return await fetcher.getBestApyForToken(tokenSymbol, gracefulDegradation); } //# sourceMappingURL=index.js.map