UNPKG

@biconomy/abstractjs

Version:

SDK for Biconomy integration with support for account abstraction, smart accounts, ERC-4337.

55 lines 2.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isVersionNewer = exports.isVersionOlder = exports.versionMeetsRequirement = exports.semverCompare = void 0; exports.getVersion = getVersion; exports.getConfigFromNexusVersion = getConfigFromNexusVersion; const constants_1 = require("../../constants/index.js"); function getVersion() { try { const packageJson = require("../../../../package.json"); return packageJson.version; } catch (error) { console.warn("Could not determine SDK version from package.json"); return "unknown"; } } const semverCompare = (a, b) => { const aParts = a.split(".").map((part) => Number.parseInt(part, 10)); const bParts = b.split(".").map((part) => Number.parseInt(part, 10)); const maxLength = Math.max(aParts.length, bParts.length); while (aParts.length < maxLength) aParts.push(0); while (bParts.length < maxLength) bParts.push(0); for (let i = 0; i < maxLength; i++) { if (aParts[i] !== bParts[i]) { return aParts[i] - bParts[i]; } } return 0; }; exports.semverCompare = semverCompare; const versionMeetsRequirement = (currentVersion, requiredVersion) => { const comparison = (0, exports.semverCompare)(currentVersion, requiredVersion); return comparison >= 0; }; exports.versionMeetsRequirement = versionMeetsRequirement; const isVersionOlder = (currentVersion, referenceVersion) => { const comparison = (0, exports.semverCompare)(currentVersion, referenceVersion); return comparison < 0; }; exports.isVersionOlder = isVersionOlder; const isVersionNewer = (currentVersion, referenceVersion) => { const comparison = (0, exports.semverCompare)(currentVersion, referenceVersion); return comparison > 0; }; exports.isVersionNewer = isVersionNewer; function getConfigFromNexusVersion(nexusVersion) { if (nexusVersion in constants_1.DEFAULT_CONFIGURATIONS_BY_NEXUS_VERSION) { return constants_1.DEFAULT_CONFIGURATIONS_BY_NEXUS_VERSION[nexusVersion]; } const allVersions = Object.keys(constants_1.DEFAULT_CONFIGURATIONS_BY_NEXUS_VERSION).sort((a, b) => (0, exports.semverCompare)(b, a)); throw new Error(`Unsupported Nexus version: ${nexusVersion}. Compatible versions are: ${allVersions.join(", ")}`); } //# sourceMappingURL=getVersion.js.map