@lodestar/params
Version:
Chain parameters required for lodestar
107 lines • 3.34 kB
JavaScript
/**
* Fork code name in order of occurrence
*/
export var ForkName;
(function (ForkName) {
ForkName["phase0"] = "phase0";
ForkName["altair"] = "altair";
ForkName["bellatrix"] = "bellatrix";
ForkName["capella"] = "capella";
ForkName["deneb"] = "deneb";
ForkName["electra"] = "electra";
ForkName["fulu"] = "fulu";
})(ForkName || (ForkName = {}));
/**
* Fork sequence number in order of occurrence
*/
export var ForkSeq;
(function (ForkSeq) {
ForkSeq[ForkSeq["phase0"] = 0] = "phase0";
ForkSeq[ForkSeq["altair"] = 1] = "altair";
ForkSeq[ForkSeq["bellatrix"] = 2] = "bellatrix";
ForkSeq[ForkSeq["capella"] = 3] = "capella";
ForkSeq[ForkSeq["deneb"] = 4] = "deneb";
ForkSeq[ForkSeq["electra"] = 5] = "electra";
ForkSeq[ForkSeq["fulu"] = 6] = "fulu";
})(ForkSeq || (ForkSeq = {}));
function exclude(coll, val) {
return coll.filter((f) => !val.includes(f));
}
export function highestFork(forkNames) {
let highest = forkNames[0];
for (const forkName of forkNames) {
if (ForkSeq[forkName] > ForkSeq[highest]) {
highest = forkName;
}
}
return highest;
}
export function lowestFork(forkNames) {
let lowest = forkNames[0];
for (const forkName of forkNames) {
if (ForkSeq[forkName] < ForkSeq[lowest]) {
lowest = forkName;
}
}
return lowest;
}
export const forkAll = Object.values(ForkName);
export const forkPostAltair = exclude(forkAll, [ForkName.phase0]);
export function isForkPostAltair(fork) {
return fork !== ForkName.phase0;
}
export const forkPostBellatrix = exclude(forkAll, [ForkName.phase0, ForkName.altair]);
export function isForkPostBellatrix(fork) {
return isForkPostAltair(fork) && fork !== ForkName.altair;
}
export const forkPostCapella = exclude(forkAll, [ForkName.phase0, ForkName.altair, ForkName.bellatrix]);
export function isForkPostCapella(fork) {
return isForkPostBellatrix(fork) && fork !== ForkName.bellatrix;
}
export const forkPostDeneb = exclude(forkAll, [ForkName.phase0, ForkName.altair, ForkName.bellatrix, ForkName.capella]);
export function isForkPostDeneb(fork) {
return isForkPostCapella(fork) && fork !== ForkName.capella;
}
export const forkPostElectra = exclude(forkAll, [
ForkName.phase0,
ForkName.altair,
ForkName.bellatrix,
ForkName.capella,
ForkName.deneb,
]);
export function isForkPostElectra(fork) {
return isForkPostDeneb(fork) && fork !== ForkName.deneb;
}
/**
* @deprecated Use `forkPostAltair` instead.
*/
export const forkLightClient = forkPostAltair;
/**
* @deprecated Use `isForkPostAltair` instead.
*/
export const isForkLightClient = isForkPostAltair;
/**
* @deprecated Use `forkPostBellatrix` instead.
*/
export const forkExecution = forkPostBellatrix;
/**
* @deprecated Use `isForkPostBellatrix` instead.
*/
export const isForkExecution = isForkPostBellatrix;
/**
* @deprecated Use `forkPostCapella` instead.
*/
export const forkWithdrawals = forkPostCapella;
/**
* @deprecated Use `isForkPostCapella` instead.
*/
export const isForkWithdrawals = isForkPostCapella;
/**
* @deprecated Use `forkPostDeneb` instead.
*/
export const forkBlobs = forkPostDeneb;
/**
* @deprecated Use `isForkPostDeneb` instead.
*/
export const isForkBlobs = isForkPostDeneb;
//# sourceMappingURL=forkName.js.map