@lodestar/config 1.35.0-dev.c88a6ed255 → 1.35.0-dev.c9deb9b59f
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/lib/beaconConfig.d.ts.map +1 -0
- package/lib/chainConfig/configs/mainnet.d.ts.map +1 -0
- package/lib/chainConfig/configs/mainnet.js +24 -1
- package/lib/chainConfig/configs/mainnet.js.map +1 -1
- package/lib/chainConfig/configs/minimal.d.ts.map +1 -0
- package/lib/chainConfig/configs/minimal.js +24 -1
- package/lib/chainConfig/configs/minimal.js.map +1 -1
- package/lib/chainConfig/default.d.ts.map +1 -0
- package/lib/chainConfig/index.d.ts +2 -2
- package/lib/chainConfig/index.d.ts.map +1 -0
- package/lib/chainConfig/index.js +7 -2
- package/lib/chainConfig/index.js.map +1 -1
- package/lib/chainConfig/json.d.ts.map +1 -0
- package/lib/chainConfig/networks/chiado.d.ts.map +1 -0
- package/lib/chainConfig/networks/chiado.js +3 -0
- package/lib/chainConfig/networks/chiado.js.map +1 -1
- package/lib/chainConfig/networks/ephemery.d.ts.map +1 -0
- package/lib/chainConfig/networks/ephemery.js +3 -0
- package/lib/chainConfig/networks/ephemery.js.map +1 -1
- package/lib/chainConfig/networks/gnosis.d.ts.map +1 -0
- package/lib/chainConfig/networks/gnosis.js +3 -0
- package/lib/chainConfig/networks/gnosis.js.map +1 -1
- package/lib/chainConfig/networks/holesky.d.ts.map +1 -0
- package/lib/chainConfig/networks/holesky.js +14 -2
- package/lib/chainConfig/networks/holesky.js.map +1 -1
- package/lib/chainConfig/networks/hoodi.d.ts.map +1 -0
- package/lib/chainConfig/networks/hoodi.js +14 -2
- package/lib/chainConfig/networks/hoodi.js.map +1 -1
- package/lib/chainConfig/networks/mainnet.d.ts.map +1 -0
- package/lib/chainConfig/networks/sepolia.d.ts.map +1 -0
- package/lib/chainConfig/networks/sepolia.js +14 -2
- package/lib/chainConfig/networks/sepolia.js.map +1 -1
- package/lib/chainConfig/types.d.ts +12 -0
- package/lib/chainConfig/types.d.ts.map +1 -0
- package/lib/chainConfig/types.js +12 -0
- package/lib/chainConfig/types.js.map +1 -1
- package/lib/configs.d.ts.map +1 -0
- package/lib/default.d.ts +1 -1
- package/lib/default.d.ts.map +1 -0
- package/lib/forkConfig/index.d.ts.map +1 -0
- package/lib/forkConfig/index.js +30 -3
- package/lib/forkConfig/index.js.map +1 -1
- package/lib/forkConfig/types.d.ts +7 -2
- package/lib/forkConfig/types.d.ts.map +1 -0
- package/lib/genesisConfig/index.d.ts.map +1 -0
- package/lib/genesisConfig/index.js.map +1 -1
- package/lib/genesisConfig/types.d.ts.map +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/networks.d.ts.map +1 -0
- package/lib/utils/validateBlobSchedule.d.ts.map +1 -0
- package/package.json +12 -10
- package/src/beaconConfig.ts +31 -0
- package/src/chainConfig/configs/mainnet.ts +172 -0
- package/src/chainConfig/configs/minimal.ts +167 -0
- package/src/chainConfig/default.ts +19 -0
- package/src/chainConfig/index.ts +33 -0
- package/src/chainConfig/json.ts +175 -0
- package/src/chainConfig/networks/chiado.ts +52 -0
- package/src/chainConfig/networks/ephemery.ts +74 -0
- package/src/chainConfig/networks/gnosis.ts +77 -0
- package/src/chainConfig/networks/holesky.ts +67 -0
- package/src/chainConfig/networks/hoodi.ts +67 -0
- package/src/chainConfig/networks/mainnet.ts +19 -0
- package/src/chainConfig/networks/sepolia.ts +64 -0
- package/src/chainConfig/types.ts +267 -0
- package/src/configs.ts +4 -0
- package/src/default.ts +6 -0
- package/src/forkConfig/index.ts +236 -0
- package/src/forkConfig/types.ts +68 -0
- package/src/genesisConfig/index.ts +180 -0
- package/src/genesisConfig/types.ts +29 -0
- package/src/index.ts +4 -0
- package/src/networks.ts +65 -0
- package/src/utils/validateBlobSchedule.ts +32 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/forkConfig/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAC,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAC,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAE7E,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,YAAY,EAAE,QAAQ,CAAC;CACxB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,YAAY,GAAG;IAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAC,CAAC;AAE1D,MAAM,MAAM,cAAc,GAAG;IAAC,KAAK,EAAE,KAAK,CAAC;IAAC,gBAAgB,EAAE,SAAS,CAAA;CAAC,CAAC;AAEzE;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,wDAAwD;IACxD,KAAK,EAAE;SAAE,CAAC,IAAI,QAAQ,GAAG,QAAQ;KAAC,CAAC;IACnC,wBAAwB,EAAE,QAAQ,EAAE,CAAC;IACrC,yBAAyB,EAAE,QAAQ,EAAE,CAAC;IACtC,iCAAiC,EAAE,YAAY,EAAE,CAAC;IAClD,kCAAkC,EAAE,YAAY,EAAE,CAAC;IAEnD,2DAA2D;IAC3D,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAC;IAClC,4DAA4D;IAC5D,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,QAAQ,CAAC;IAC3C,sDAAsD;IACtD,sBAAsB,CAAC,KAAK,EAAE,KAAK,GAAG,YAAY,CAAC;IACnD,6CAA6C;IAC7C,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,QAAQ,CAAC;IAClC,wDAAwD;IACxD,UAAU,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IAChC,yDAAyD;IACzD,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC;IACzC,gDAAgD;IAChD,cAAc,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC;IACpC,iCAAiC;IACjC,YAAY,CAAC,CAAC,SAAS,QAAQ,GAAG,OAAO,EAAE,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACvE,4CAA4C;IAC5C,sBAAsB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;IAChE,+CAA+C;IAC/C,yBAAyB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC;IACtE,2CAA2C;IAC3C,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC;IAC9D,+CAA+C;IAC/C,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC;IAC1C,2CAA2C;IAC3C,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,cAAc,CAAC;IAEhD,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5C,iBAAiB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC1C,mBAAmB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC5C,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IACjD,wBAAwB,CAAC,IAAI,EAAE,QAAQ,GAAG,MAAM,CAAC;IAEjD,yDAAyD;IACzD,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;CACzD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/genesisConfig/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAa,KAAK,EAAE,UAAU,EAAE,IAAI,EAA6B,MAAM,iBAAiB,CAAC;AAEhG,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAC,aAAa,EAAgB,MAAM,YAAY,CAAC;AAExD,YAAY,EAAC,iBAAiB,EAAC,MAAM,YAAY,CAAC;AAElD,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,eAAe,EAAE,qBAAqB,EAAE,IAAI,GAAG,aAAa,CAmIhH;AAsBD,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,qBAAqB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,UAAU,CAgBhH"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/genesisConfig/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAC,qBAAqB,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAA6D,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAChG,OAAO,EAAC,UAAU,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAC,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/genesisConfig/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/genesisConfig/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAC,YAAY,EAAC,MAAM,wBAAwB,CAAC;AAEpD,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC;AAEnC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uBAAuB,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,YAAY,CAAC;IAC9E,6BAA6B,CAAC,UAAU,EAAE,UAAU,GAAG,aAAa,GAAG,YAAY,GAAG,IAAI,CAAC;IAC3F,uBAAuB,CAAC,QAAQ,EAAE,YAAY,GAAG,UAAU,CAAC;IAC5D,0BAA0B,CAAC,QAAQ,EAAE,YAAY,GAAG,aAAa,CAAC;CACnE,CAAC;AAEF,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD;;;;OAIG;IACH,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC;IACnF;;OAEG;IACH,eAAe,CAAC,QAAQ,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,GAAG,UAAU,CAAC;IAExE,yBAAyB,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,EAAE,IAAI,GAAG,UAAU,CAAC;IAE3E,QAAQ,CAAC,qBAAqB,EAAE,IAAI,CAAC;CACtC"}
|
package/lib/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
export * from "./beaconConfig.js";
|
|
1
2
|
export * from "./chainConfig/index.js";
|
|
2
|
-
export * from "./genesisConfig/index.js";
|
|
3
3
|
export * from "./forkConfig/index.js";
|
|
4
|
-
export * from "./
|
|
4
|
+
export * from "./genesisConfig/index.js";
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC"}
|
package/lib/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
export * from "./beaconConfig.js";
|
|
1
2
|
export * from "./chainConfig/index.js";
|
|
2
|
-
export * from "./genesisConfig/index.js";
|
|
3
3
|
export * from "./forkConfig/index.js";
|
|
4
|
-
export * from "./
|
|
4
|
+
export * from "./genesisConfig/index.js";
|
|
5
5
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"networks.d.ts","sourceRoot":"","sources":["../src/networks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAC,mBAAmB,EAAC,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAC,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AACrE,OAAO,EAAC,kBAAkB,EAAC,MAAM,mCAAmC,CAAC;AAErE,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,GACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,UAAU,CAAC;AACzG,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,CAQhE,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACxB,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,WAAW,CA6BxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateBlobSchedule.d.ts","sourceRoot":"","sources":["../../src/utils/validateBlobSchedule.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,YAAY,GAAG,IAAI,CA4BrE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lodestar/config",
|
|
3
|
-
"version": "1.35.0-dev.
|
|
3
|
+
"version": "1.35.0-dev.c9deb9b59f",
|
|
4
4
|
"description": "Chain configuration required for lodestar",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -11,15 +11,19 @@
|
|
|
11
11
|
"type": "module",
|
|
12
12
|
"exports": {
|
|
13
13
|
".": {
|
|
14
|
+
"bun": "./src/index.ts",
|
|
14
15
|
"import": "./lib/index.js"
|
|
15
16
|
},
|
|
16
17
|
"./default": {
|
|
18
|
+
"bun": "./src/default.ts",
|
|
17
19
|
"import": "./lib/default.js"
|
|
18
20
|
},
|
|
19
21
|
"./networks": {
|
|
22
|
+
"bun": "./src/networks.ts",
|
|
20
23
|
"import": "./lib/networks.js"
|
|
21
24
|
},
|
|
22
25
|
"./configs": {
|
|
26
|
+
"bun": "./src/configs.ts",
|
|
23
27
|
"import": "./lib/configs.js"
|
|
24
28
|
}
|
|
25
29
|
},
|
|
@@ -34,11 +38,9 @@
|
|
|
34
38
|
},
|
|
35
39
|
"types": "lib/index.d.ts",
|
|
36
40
|
"files": [
|
|
37
|
-
"
|
|
38
|
-
"lib
|
|
39
|
-
"
|
|
40
|
-
"*.d.ts",
|
|
41
|
-
"*.js"
|
|
41
|
+
"src",
|
|
42
|
+
"lib",
|
|
43
|
+
"!**/*.tsbuildinfo"
|
|
42
44
|
],
|
|
43
45
|
"scripts": {
|
|
44
46
|
"clean": "rm -rf lib && rm -f *.tsbuildinfo",
|
|
@@ -65,9 +67,9 @@
|
|
|
65
67
|
],
|
|
66
68
|
"dependencies": {
|
|
67
69
|
"@chainsafe/ssz": "^1.2.2",
|
|
68
|
-
"@lodestar/params": "1.35.0-dev.
|
|
69
|
-
"@lodestar/types": "1.35.0-dev.
|
|
70
|
-
"@lodestar/utils": "1.35.0-dev.
|
|
70
|
+
"@lodestar/params": "1.35.0-dev.c9deb9b59f",
|
|
71
|
+
"@lodestar/types": "1.35.0-dev.c9deb9b59f",
|
|
72
|
+
"@lodestar/utils": "1.35.0-dev.c9deb9b59f"
|
|
71
73
|
},
|
|
72
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "9f18a0bd68957d2324cc3b05f36910ab08f28672"
|
|
73
75
|
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import {Root} from "@lodestar/types";
|
|
2
|
+
import {ChainConfig, createChainConfig} from "./chainConfig/index.js";
|
|
3
|
+
import {ForkConfig, createForkConfig} from "./forkConfig/index.js";
|
|
4
|
+
import {createCachedGenesis} from "./genesisConfig/index.js";
|
|
5
|
+
import {CachedGenesis} from "./genesisConfig/types.js";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Chain run-time configuration with additional fork schedule helpers
|
|
9
|
+
*/
|
|
10
|
+
export type ChainForkConfig = ChainConfig & ForkConfig;
|
|
11
|
+
|
|
12
|
+
export type BeaconConfig = ChainForkConfig & CachedGenesis;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Create an `BeaconConfig`, filling in missing values with preset defaults
|
|
16
|
+
*/
|
|
17
|
+
export function createChainForkConfig(chainConfig: Partial<ChainConfig>): ChainForkConfig {
|
|
18
|
+
const fullChainConfig = createChainConfig(chainConfig);
|
|
19
|
+
return {
|
|
20
|
+
...fullChainConfig,
|
|
21
|
+
...createForkConfig(fullChainConfig),
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export function createBeaconConfig(chainConfig: Partial<ChainConfig>, genesisValidatorsRoot: Root): BeaconConfig {
|
|
26
|
+
const chainForkConfig = createChainForkConfig(chainConfig);
|
|
27
|
+
return {
|
|
28
|
+
...chainForkConfig,
|
|
29
|
+
...createCachedGenesis(chainForkConfig, genesisValidatorsRoot),
|
|
30
|
+
};
|
|
31
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
import {PresetName} from "@lodestar/params";
|
|
2
|
+
import {fromHex as b} from "@lodestar/utils";
|
|
3
|
+
import {ChainConfig} from "../types.js";
|
|
4
|
+
|
|
5
|
+
// Mainnet config
|
|
6
|
+
// https://github.com/ethereum/consensus-specs/blob/dev/configs/mainnet.yaml
|
|
7
|
+
|
|
8
|
+
export const chainConfig: ChainConfig = {
|
|
9
|
+
// Extends the mainnet preset
|
|
10
|
+
PRESET_BASE: PresetName.mainnet,
|
|
11
|
+
CONFIG_NAME: "mainnet",
|
|
12
|
+
|
|
13
|
+
// Transition
|
|
14
|
+
// Estimated: Sept 15, 2022
|
|
15
|
+
TERMINAL_TOTAL_DIFFICULTY: BigInt("58750000000000000000000"),
|
|
16
|
+
TERMINAL_BLOCK_HASH: b("0x0000000000000000000000000000000000000000000000000000000000000000"),
|
|
17
|
+
TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: Infinity,
|
|
18
|
+
|
|
19
|
+
// Genesis
|
|
20
|
+
// ---------------------------------------------------------------
|
|
21
|
+
// `2**14` (= 16,384)
|
|
22
|
+
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 16384,
|
|
23
|
+
// Dec 1, 2020, 12pm UTC
|
|
24
|
+
MIN_GENESIS_TIME: 1606824000,
|
|
25
|
+
// Mainnet initial fork version, recommend altering for testnets
|
|
26
|
+
GENESIS_FORK_VERSION: b("0x00000000"),
|
|
27
|
+
// 604800 seconds (7 days)
|
|
28
|
+
GENESIS_DELAY: 604800,
|
|
29
|
+
|
|
30
|
+
// Forking
|
|
31
|
+
// ---------------------------------------------------------------
|
|
32
|
+
// Some forks are disabled for now:
|
|
33
|
+
// - These may be re-assigned to another fork-version later
|
|
34
|
+
// - Temporarily set to max uint64 value: 2**64 - 1
|
|
35
|
+
|
|
36
|
+
// Altair
|
|
37
|
+
ALTAIR_FORK_VERSION: b("0x01000000"),
|
|
38
|
+
ALTAIR_FORK_EPOCH: 74240, // Oct 27, 2021, 10:56:23am UTC
|
|
39
|
+
// Bellatrix
|
|
40
|
+
BELLATRIX_FORK_VERSION: b("0x02000000"),
|
|
41
|
+
BELLATRIX_FORK_EPOCH: 144896, // Sept 6, 2022, 11:34:47am UTC
|
|
42
|
+
|
|
43
|
+
// Capella
|
|
44
|
+
CAPELLA_FORK_VERSION: b("0x03000000"),
|
|
45
|
+
CAPELLA_FORK_EPOCH: 194048, // April 12 (epoch: 194048 slot: 6209536 UTC: 4/12/2023, 10:27:35 PM)
|
|
46
|
+
|
|
47
|
+
// Deneb
|
|
48
|
+
DENEB_FORK_VERSION: b("0x04000000"),
|
|
49
|
+
DENEB_FORK_EPOCH: 269568, // March 13, 2024, 01:55:35pm UTC
|
|
50
|
+
|
|
51
|
+
// ELECTRA
|
|
52
|
+
ELECTRA_FORK_VERSION: b("0x05000000"),
|
|
53
|
+
ELECTRA_FORK_EPOCH: 364032, // May 7, 2025, 10:05:11am UTC
|
|
54
|
+
|
|
55
|
+
// FULU
|
|
56
|
+
FULU_FORK_VERSION: b("0x06000000"),
|
|
57
|
+
FULU_FORK_EPOCH: Infinity,
|
|
58
|
+
|
|
59
|
+
// GLOAS
|
|
60
|
+
GLOAS_FORK_VERSION: b("0x07000000"),
|
|
61
|
+
GLOAS_FORK_EPOCH: Infinity,
|
|
62
|
+
|
|
63
|
+
// Time parameters
|
|
64
|
+
// ---------------------------------------------------------------
|
|
65
|
+
// 12 seconds (DEPRECATED)
|
|
66
|
+
SECONDS_PER_SLOT: 12,
|
|
67
|
+
// 12000 milliseconds, 12 seconds
|
|
68
|
+
SLOT_DURATION_MS: 12000,
|
|
69
|
+
// 14 (estimate from Eth1 mainnet)
|
|
70
|
+
SECONDS_PER_ETH1_BLOCK: 14,
|
|
71
|
+
// 2**8 (= 256) epochs ~27 hours
|
|
72
|
+
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256,
|
|
73
|
+
// 2**8 (= 256) epochs ~27 hours
|
|
74
|
+
SHARD_COMMITTEE_PERIOD: 256,
|
|
75
|
+
// 2**11 (= 2,048) Eth1 blocks ~8 hours
|
|
76
|
+
ETH1_FOLLOW_DISTANCE: 2048,
|
|
77
|
+
// 1667 basis points, ~17% of SLOT_DURATION_MS
|
|
78
|
+
PROPOSER_REORG_CUTOFF_BPS: 1667,
|
|
79
|
+
// 3333 basis points, ~33% of SLOT_DURATION_MS
|
|
80
|
+
ATTESTATION_DUE_BPS: 3333,
|
|
81
|
+
// 6667 basis points, ~67% of SLOT_DURATION_MS
|
|
82
|
+
AGGREGATE_DUE_BPS: 6667,
|
|
83
|
+
|
|
84
|
+
// Altair
|
|
85
|
+
// 3333 basis points, ~33% of SLOT_DURATION_MS
|
|
86
|
+
SYNC_MESSAGE_DUE_BPS: 3333,
|
|
87
|
+
// 6667 basis points, ~67% of SLOT_DURATION_MS
|
|
88
|
+
CONTRIBUTION_DUE_BPS: 6667,
|
|
89
|
+
|
|
90
|
+
// 25% of SLOT_DURATION_MS
|
|
91
|
+
ATTESTATION_DUE_BPS_GLOAS: 2500,
|
|
92
|
+
// 50% of SLOT_DURATION_MS
|
|
93
|
+
AGGREGATE_DUE_BPS_GLOAS: 5000,
|
|
94
|
+
// 25% of SLOT_DURATION_MS
|
|
95
|
+
SYNC_MESSAGE_DUE_BPS_GLOAS: 2500,
|
|
96
|
+
// 50% of SLOT_DURATION_MS
|
|
97
|
+
CONTRIBUTION_DUE_BPS_GLOAS: 5000,
|
|
98
|
+
// 75% of SLOT_DURATION_MS
|
|
99
|
+
PAYLOAD_ATTESTATION_DUE_BPS: 7500,
|
|
100
|
+
|
|
101
|
+
// Validator cycle
|
|
102
|
+
// ---------------------------------------------------------------
|
|
103
|
+
// 2**2 (= 4)
|
|
104
|
+
INACTIVITY_SCORE_BIAS: 4,
|
|
105
|
+
// 2**4 (= 16)
|
|
106
|
+
INACTIVITY_SCORE_RECOVERY_RATE: 16,
|
|
107
|
+
// 2**4 * 10**9 (= 16,000,000,000) Gwei
|
|
108
|
+
EJECTION_BALANCE: 16000000000,
|
|
109
|
+
// 2**2 (= 4)
|
|
110
|
+
MIN_PER_EPOCH_CHURN_LIMIT: 4,
|
|
111
|
+
// 2**3 (= 8)
|
|
112
|
+
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: 8,
|
|
113
|
+
// 2**16 (= 65,536)
|
|
114
|
+
CHURN_LIMIT_QUOTIENT: 65536,
|
|
115
|
+
|
|
116
|
+
// Fork choice
|
|
117
|
+
// ---------------------------------------------------------------
|
|
118
|
+
// 40%
|
|
119
|
+
PROPOSER_SCORE_BOOST: 40,
|
|
120
|
+
REORG_HEAD_WEIGHT_THRESHOLD: 20,
|
|
121
|
+
REORG_PARENT_WEIGHT_THRESHOLD: 160,
|
|
122
|
+
REORG_MAX_EPOCHS_SINCE_FINALIZATION: 2,
|
|
123
|
+
|
|
124
|
+
// Deposit contract
|
|
125
|
+
// ---------------------------------------------------------------
|
|
126
|
+
// Ethereum PoW Mainnet
|
|
127
|
+
DEPOSIT_CHAIN_ID: 1,
|
|
128
|
+
DEPOSIT_NETWORK_ID: 1,
|
|
129
|
+
DEPOSIT_CONTRACT_ADDRESS: b("0x00000000219ab540356cBB839Cbe05303d7705Fa"),
|
|
130
|
+
|
|
131
|
+
// Networking
|
|
132
|
+
// ---------------------------------------------------------------
|
|
133
|
+
// 2**10 (= 1024)
|
|
134
|
+
MAX_REQUEST_BLOCKS: 1024,
|
|
135
|
+
// `MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2` (= 33024, ~5 months)
|
|
136
|
+
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 33024,
|
|
137
|
+
|
|
138
|
+
// Deneb
|
|
139
|
+
// 2**7 (= 128)
|
|
140
|
+
MAX_REQUEST_BLOCKS_DENEB: 128,
|
|
141
|
+
// `2**12` (= 4096 epochs, ~18 days)
|
|
142
|
+
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096,
|
|
143
|
+
BLOB_SIDECAR_SUBNET_COUNT: 6,
|
|
144
|
+
MAX_BLOBS_PER_BLOCK: 6,
|
|
145
|
+
// MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
|
|
146
|
+
MAX_REQUEST_BLOB_SIDECARS: 768,
|
|
147
|
+
|
|
148
|
+
// Electra
|
|
149
|
+
// 2**8 * 10**9 (= 256,000,000,000)
|
|
150
|
+
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000,
|
|
151
|
+
// 2**7 * 10**9 (= 128,000,000,000)
|
|
152
|
+
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000,
|
|
153
|
+
BLOB_SIDECAR_SUBNET_COUNT_ELECTRA: 9,
|
|
154
|
+
MAX_BLOBS_PER_BLOCK_ELECTRA: 9,
|
|
155
|
+
// MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK_ELECTRA
|
|
156
|
+
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 1152,
|
|
157
|
+
|
|
158
|
+
// Fulu
|
|
159
|
+
NUMBER_OF_CUSTODY_GROUPS: 128,
|
|
160
|
+
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128,
|
|
161
|
+
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384,
|
|
162
|
+
SAMPLES_PER_SLOT: 8,
|
|
163
|
+
CUSTODY_REQUIREMENT: 4,
|
|
164
|
+
VALIDATOR_CUSTODY_REQUIREMENT: 8,
|
|
165
|
+
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000,
|
|
166
|
+
// `2**12` (= 4096 epochs, ~18 days)
|
|
167
|
+
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096,
|
|
168
|
+
|
|
169
|
+
// Blob Scheduling
|
|
170
|
+
// ---------------------------------------------------------------
|
|
171
|
+
BLOB_SCHEDULE: [],
|
|
172
|
+
};
|
|
@@ -0,0 +1,167 @@
|
|
|
1
|
+
import {PresetName} from "@lodestar/params";
|
|
2
|
+
import {fromHex as b} from "@lodestar/utils";
|
|
3
|
+
import {ChainConfig} from "../types.js";
|
|
4
|
+
|
|
5
|
+
// Minimal config
|
|
6
|
+
// https://github.com/ethereum/consensus-specs/blob/dev/configs/minimal.yaml
|
|
7
|
+
|
|
8
|
+
export const chainConfig: ChainConfig = {
|
|
9
|
+
// Extends the minimal preset
|
|
10
|
+
PRESET_BASE: PresetName.minimal,
|
|
11
|
+
CONFIG_NAME: "minimal",
|
|
12
|
+
|
|
13
|
+
// Transition
|
|
14
|
+
// 2**256-2**10 for testing minimal network
|
|
15
|
+
TERMINAL_TOTAL_DIFFICULTY: BigInt("115792089237316195423570985008687907853269984665640564039457584007913129638912"),
|
|
16
|
+
TERMINAL_BLOCK_HASH: b("0x0000000000000000000000000000000000000000000000000000000000000000"),
|
|
17
|
+
TERMINAL_BLOCK_HASH_ACTIVATION_EPOCH: Infinity,
|
|
18
|
+
|
|
19
|
+
// Genesis
|
|
20
|
+
// ---------------------------------------------------------------
|
|
21
|
+
// [customized]
|
|
22
|
+
MIN_GENESIS_ACTIVE_VALIDATOR_COUNT: 64,
|
|
23
|
+
// Jan 3, 2020
|
|
24
|
+
MIN_GENESIS_TIME: 1578009600,
|
|
25
|
+
// Highest byte set to 0x01 to avoid collisions with mainnet versioning
|
|
26
|
+
GENESIS_FORK_VERSION: b("0x00000001"),
|
|
27
|
+
// [customized] Faster to spin up testnets, but does not give validator reasonable warning time for genesis
|
|
28
|
+
GENESIS_DELAY: 300,
|
|
29
|
+
|
|
30
|
+
// Forking
|
|
31
|
+
// ---------------------------------------------------------------
|
|
32
|
+
// Values provided for illustrative purposes.
|
|
33
|
+
// Individual tests/testnets may set different values.
|
|
34
|
+
|
|
35
|
+
// Altair
|
|
36
|
+
ALTAIR_FORK_VERSION: b("0x01000001"),
|
|
37
|
+
ALTAIR_FORK_EPOCH: 74240, // Oct 27, 2021, 10:56:23am UTC
|
|
38
|
+
// Bellatrix
|
|
39
|
+
BELLATRIX_FORK_VERSION: b("0x02000001"),
|
|
40
|
+
BELLATRIX_FORK_EPOCH: Infinity,
|
|
41
|
+
// Capella
|
|
42
|
+
CAPELLA_FORK_VERSION: b("0x03000001"),
|
|
43
|
+
CAPELLA_FORK_EPOCH: Infinity,
|
|
44
|
+
// Deneb
|
|
45
|
+
DENEB_FORK_VERSION: b("0x04000001"),
|
|
46
|
+
DENEB_FORK_EPOCH: Infinity,
|
|
47
|
+
// ELECTRA
|
|
48
|
+
ELECTRA_FORK_VERSION: b("0x05000001"),
|
|
49
|
+
ELECTRA_FORK_EPOCH: Infinity,
|
|
50
|
+
// FULU
|
|
51
|
+
FULU_FORK_VERSION: b("0x06000001"),
|
|
52
|
+
FULU_FORK_EPOCH: Infinity,
|
|
53
|
+
// GLOAS
|
|
54
|
+
GLOAS_FORK_VERSION: b("0x07000001"),
|
|
55
|
+
GLOAS_FORK_EPOCH: Infinity,
|
|
56
|
+
|
|
57
|
+
// Time parameters
|
|
58
|
+
// ---------------------------------------------------------------
|
|
59
|
+
// [customized] Faster for testing purposes (DEPRECATED)
|
|
60
|
+
SECONDS_PER_SLOT: 6,
|
|
61
|
+
// [customized] 6000 milliseconds, 6 seconds
|
|
62
|
+
SLOT_DURATION_MS: 6000,
|
|
63
|
+
// 14 (estimate from Eth1 mainnet)
|
|
64
|
+
SECONDS_PER_ETH1_BLOCK: 14,
|
|
65
|
+
// 2**8 (= 256) epochs
|
|
66
|
+
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256,
|
|
67
|
+
// [customized] higher frequency of committee turnover and faster time to acceptable voluntary exit
|
|
68
|
+
SHARD_COMMITTEE_PERIOD: 64,
|
|
69
|
+
// [customized] process deposits more quickly, but insecure
|
|
70
|
+
ETH1_FOLLOW_DISTANCE: 16,
|
|
71
|
+
// 1667 basis points, ~17% of SLOT_DURATION_MS
|
|
72
|
+
PROPOSER_REORG_CUTOFF_BPS: 1667,
|
|
73
|
+
// 3333 basis points, ~33% of SLOT_DURATION_MS
|
|
74
|
+
ATTESTATION_DUE_BPS: 3333,
|
|
75
|
+
// 6667 basis points, ~67% of SLOT_DURATION_MS
|
|
76
|
+
AGGREGATE_DUE_BPS: 6667,
|
|
77
|
+
|
|
78
|
+
// Altair
|
|
79
|
+
// 3333 basis points, ~33% of SLOT_DURATION_MS
|
|
80
|
+
SYNC_MESSAGE_DUE_BPS: 3333,
|
|
81
|
+
// 6667 basis points, ~67% of SLOT_DURATION_MS
|
|
82
|
+
CONTRIBUTION_DUE_BPS: 6667,
|
|
83
|
+
|
|
84
|
+
// 25% of SLOT_DURATION_MS
|
|
85
|
+
ATTESTATION_DUE_BPS_GLOAS: 2500,
|
|
86
|
+
// 50% of SLOT_DURATION_MS
|
|
87
|
+
AGGREGATE_DUE_BPS_GLOAS: 5000,
|
|
88
|
+
// 25% of SLOT_DURATION_MS
|
|
89
|
+
SYNC_MESSAGE_DUE_BPS_GLOAS: 2500,
|
|
90
|
+
// 50% of SLOT_DURATION_MS
|
|
91
|
+
CONTRIBUTION_DUE_BPS_GLOAS: 5000,
|
|
92
|
+
// 75% of SLOT_DURATION_MS
|
|
93
|
+
PAYLOAD_ATTESTATION_DUE_BPS: 7500,
|
|
94
|
+
|
|
95
|
+
// Validator cycle
|
|
96
|
+
// ---------------------------------------------------------------
|
|
97
|
+
// 2**2 (= 4)
|
|
98
|
+
INACTIVITY_SCORE_BIAS: 4,
|
|
99
|
+
// 2**4 (= 16)
|
|
100
|
+
INACTIVITY_SCORE_RECOVERY_RATE: 16,
|
|
101
|
+
// 2**4 * 10**9 (= 16,000,000,000) Gwei
|
|
102
|
+
EJECTION_BALANCE: 16000000000,
|
|
103
|
+
// 2**2 (= 4)
|
|
104
|
+
MIN_PER_EPOCH_CHURN_LIMIT: 2,
|
|
105
|
+
// [customized]
|
|
106
|
+
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: 4,
|
|
107
|
+
// [customized] scale queue churn at much lower validator counts for testing
|
|
108
|
+
CHURN_LIMIT_QUOTIENT: 32,
|
|
109
|
+
|
|
110
|
+
// Fork choice
|
|
111
|
+
// ---------------------------------------------------------------
|
|
112
|
+
// 40%
|
|
113
|
+
PROPOSER_SCORE_BOOST: 40,
|
|
114
|
+
REORG_HEAD_WEIGHT_THRESHOLD: 20,
|
|
115
|
+
REORG_PARENT_WEIGHT_THRESHOLD: 160,
|
|
116
|
+
REORG_MAX_EPOCHS_SINCE_FINALIZATION: 2,
|
|
117
|
+
|
|
118
|
+
// Deposit contract
|
|
119
|
+
// ---------------------------------------------------------------
|
|
120
|
+
// Ethereum Goerli testnet
|
|
121
|
+
DEPOSIT_CHAIN_ID: 5,
|
|
122
|
+
DEPOSIT_NETWORK_ID: 5,
|
|
123
|
+
// Configured on a per testnet basis
|
|
124
|
+
DEPOSIT_CONTRACT_ADDRESS: b("0x1234567890123456789012345678901234567890"),
|
|
125
|
+
|
|
126
|
+
// Networking
|
|
127
|
+
// ---------------------------------------------------------------
|
|
128
|
+
// 2**10 (= 1024)
|
|
129
|
+
MAX_REQUEST_BLOCKS: 1024,
|
|
130
|
+
// [customized] `MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2` (= 272)
|
|
131
|
+
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 272,
|
|
132
|
+
|
|
133
|
+
// Deneb
|
|
134
|
+
// 2**7 (= 128)
|
|
135
|
+
MAX_REQUEST_BLOCKS_DENEB: 128,
|
|
136
|
+
// `2**12` (= 4096 epochs, ~18 days)
|
|
137
|
+
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096,
|
|
138
|
+
BLOB_SIDECAR_SUBNET_COUNT: 6,
|
|
139
|
+
MAX_BLOBS_PER_BLOCK: 6,
|
|
140
|
+
// MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
|
|
141
|
+
MAX_REQUEST_BLOB_SIDECARS: 768,
|
|
142
|
+
|
|
143
|
+
// Electra
|
|
144
|
+
// 2**7 * 10**9 (= 128,000,000,000)
|
|
145
|
+
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 128000000000,
|
|
146
|
+
// 2**6 * 10**9 (= 64,000,000,000)
|
|
147
|
+
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 64000000000,
|
|
148
|
+
BLOB_SIDECAR_SUBNET_COUNT_ELECTRA: 9,
|
|
149
|
+
MAX_BLOBS_PER_BLOCK_ELECTRA: 9,
|
|
150
|
+
// MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK_ELECTRA
|
|
151
|
+
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 1152,
|
|
152
|
+
|
|
153
|
+
// Fulu
|
|
154
|
+
NUMBER_OF_CUSTODY_GROUPS: 128,
|
|
155
|
+
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128,
|
|
156
|
+
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384,
|
|
157
|
+
SAMPLES_PER_SLOT: 8,
|
|
158
|
+
CUSTODY_REQUIREMENT: 4,
|
|
159
|
+
VALIDATOR_CUSTODY_REQUIREMENT: 8,
|
|
160
|
+
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000,
|
|
161
|
+
// `2**12` (= 4096 epochs, ~18 days)
|
|
162
|
+
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096,
|
|
163
|
+
|
|
164
|
+
// Blob Scheduling
|
|
165
|
+
// ---------------------------------------------------------------
|
|
166
|
+
BLOB_SCHEDULE: [],
|
|
167
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import {ACTIVE_PRESET, PresetName} from "@lodestar/params";
|
|
2
|
+
import {chainConfig as mainnet} from "./configs/mainnet.js";
|
|
3
|
+
import {chainConfig as minimal} from "./configs/minimal.js";
|
|
4
|
+
import {ChainConfig} from "./types.js";
|
|
5
|
+
|
|
6
|
+
let defaultChainConfig: ChainConfig;
|
|
7
|
+
|
|
8
|
+
switch (ACTIVE_PRESET) {
|
|
9
|
+
case PresetName.minimal:
|
|
10
|
+
defaultChainConfig = minimal;
|
|
11
|
+
break;
|
|
12
|
+
case PresetName.mainnet:
|
|
13
|
+
defaultChainConfig = mainnet;
|
|
14
|
+
break;
|
|
15
|
+
default:
|
|
16
|
+
defaultChainConfig = mainnet;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export {defaultChainConfig};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import {ACTIVE_PRESET} from "@lodestar/params";
|
|
2
|
+
import {defaultChainConfig} from "./default.js";
|
|
3
|
+
import {ChainConfig} from "./types.js";
|
|
4
|
+
|
|
5
|
+
export * from "./default.js";
|
|
6
|
+
export {chainConfigFromJson, chainConfigToJson, deserializeBlobSchedule, specValuesToJson} from "./json.js";
|
|
7
|
+
export * from "./types.js";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Create an `ChainConfig`, filling in missing values with preset defaults
|
|
11
|
+
*/
|
|
12
|
+
export function createChainConfig(input: Partial<ChainConfig>): ChainConfig {
|
|
13
|
+
const config = {
|
|
14
|
+
// Set the config first with default preset values
|
|
15
|
+
...defaultChainConfig,
|
|
16
|
+
// Override with input
|
|
17
|
+
...input,
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
// Set SLOT_DURATION_MS if SECONDS_PER_SLOT is provided but SLOT_DURATION_MS is not.
|
|
21
|
+
// This is to provide backward compatibility until Gloas is live
|
|
22
|
+
if (input.SLOT_DURATION_MS === undefined) {
|
|
23
|
+
config.SLOT_DURATION_MS = config.SECONDS_PER_SLOT * 1000;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
// Assert that the preset matches the active preset
|
|
27
|
+
if (config.PRESET_BASE !== ACTIVE_PRESET) {
|
|
28
|
+
throw new Error(
|
|
29
|
+
`Can only create a config for the active preset: ACTIVE_PRESET=${ACTIVE_PRESET} PRESET_BASE=${config.PRESET_BASE}`
|
|
30
|
+
);
|
|
31
|
+
}
|
|
32
|
+
return config;
|
|
33
|
+
}
|