UNPKG

@moonwell-fi/moonwell-sdk

Version:

TypeScript Interface for Moonwell

56 lines 2.58 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.getEnvironmentsFromArgs = exports.getEnvironmentFromArgs = exports.calculateApy = exports.perDay = exports.DAYS_PER_YEAR = exports.SECONDS_PER_DAY = exports.HttpRequestError = exports.BaseError = exports.Amount = void 0; exports.isStartOfDay = isStartOfDay; const dayjs_1 = __importDefault(require("dayjs")); var amount_js_1 = require("./amount.js"); Object.defineProperty(exports, "Amount", { enumerable: true, get: function () { return amount_js_1.Amount; } }); var error_js_1 = require("./error.js"); Object.defineProperty(exports, "BaseError", { enumerable: true, get: function () { return error_js_1.BaseError; } }); Object.defineProperty(exports, "HttpRequestError", { enumerable: true, get: function () { return error_js_1.HttpRequestError; } }); exports.SECONDS_PER_DAY = 86400; exports.DAYS_PER_YEAR = 365; const perDay = (value) => value * exports.SECONDS_PER_DAY; exports.perDay = perDay; function isStartOfDay(timestamp) { const startOfDay = dayjs_1.default .utc(timestamp * 1000) .startOf("day") .unix(); return startOfDay === timestamp; } const calculateApy = (value) => ((value * exports.SECONDS_PER_DAY + 1) ** exports.DAYS_PER_YEAR - 1) * 100; exports.calculateApy = calculateApy; const getEnvironmentFromArgs = (client, args) => { if (args) { const { chainId, network } = args; if (chainId) { return Object.values(client.environments).find((env) => env.chainId === chainId); } if (network) { return client.environments[network]; } } return undefined; }; exports.getEnvironmentFromArgs = getEnvironmentFromArgs; const getEnvironmentsFromArgs = (client, args, onlyWithDeployment) => { const onlyEnvironmentsWithDeployment = onlyWithDeployment !== undefined ? onlyWithDeployment : true; if (args) { const { chainId, network } = args; if (chainId) { return [ Object.values(client.environments).find((env) => env.chainId === chainId), ]; } if (network) { return [client.environments[network]]; } } return Object.values(client.environments).filter((r) => onlyEnvironmentsWithDeployment ? r.contracts.views !== undefined : true); }; exports.getEnvironmentsFromArgs = getEnvironmentsFromArgs; //# sourceMappingURL=index.js.map