@biconomy/abstractjs
Version:
SDK for Biconomy integration with support for account abstraction, smart accounts, ERC-4337.
55 lines • 2.38 kB
JavaScript
;
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