@lodestar/config 1.35.0-dev.83de5b8dea → 1.35.0-dev.8689cc3545
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/lib/beaconConfig.d.ts.map +1 -0
- package/lib/chainConfig/configs/mainnet.d.ts.map +1 -0
- package/lib/chainConfig/configs/minimal.d.ts.map +1 -0
- package/lib/chainConfig/default.d.ts.map +1 -0
- package/lib/chainConfig/index.d.ts.map +1 -0
- package/lib/chainConfig/json.d.ts.map +1 -0
- package/lib/chainConfig/networks/chiado.d.ts.map +1 -0
- package/lib/chainConfig/networks/ephemery.d.ts.map +1 -0
- package/lib/chainConfig/networks/gnosis.d.ts.map +1 -0
- package/lib/chainConfig/networks/holesky.d.ts.map +1 -0
- package/lib/chainConfig/networks/hoodi.d.ts.map +1 -0
- package/lib/chainConfig/networks/mainnet.d.ts.map +1 -0
- package/lib/chainConfig/networks/sepolia.d.ts.map +1 -0
- package/lib/chainConfig/types.d.ts.map +1 -0
- package/lib/configs.d.ts.map +1 -0
- package/lib/default.d.ts.map +1 -0
- package/lib/forkConfig/index.d.ts.map +1 -0
- package/lib/forkConfig/types.d.ts.map +1 -0
- package/lib/genesisConfig/index.d.ts.map +1 -0
- package/lib/genesisConfig/types.d.ts.map +1 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/networks.d.ts.map +1 -0
- package/lib/utils/validateBlobSchedule.d.ts.map +1 -0
- package/package.json +8 -10
- package/src/beaconConfig.ts +31 -0
- package/src/chainConfig/configs/mainnet.ts +158 -0
- package/src/chainConfig/configs/minimal.ts +153 -0
- package/src/chainConfig/default.ts +19 -0
- package/src/chainConfig/index.ts +27 -0
- package/src/chainConfig/json.ts +175 -0
- package/src/chainConfig/networks/chiado.ts +49 -0
- package/src/chainConfig/networks/ephemery.ts +71 -0
- package/src/chainConfig/networks/gnosis.ts +74 -0
- package/src/chainConfig/networks/holesky.ts +64 -0
- package/src/chainConfig/networks/hoodi.ts +64 -0
- package/src/chainConfig/networks/mainnet.ts +19 -0
- package/src/chainConfig/networks/sepolia.ts +61 -0
- package/src/chainConfig/types.ts +252 -0
- package/src/configs.ts +4 -0
- package/src/default.ts +6 -0
- package/src/forkConfig/index.ts +203 -0
- package/src/forkConfig/types.ts +59 -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":"beaconConfig.d.ts","sourceRoot":"","sources":["../src/beaconConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAC,WAAW,EAAoB,MAAM,wBAAwB,CAAC;AACtE,OAAO,EAAC,UAAU,EAAmB,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAC,aAAa,EAAC,MAAM,0BAA0B,CAAC;AAEvD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,UAAU,CAAC;AAEvD,MAAM,MAAM,YAAY,GAAG,eAAe,GAAG,aAAa,CAAC;AAE3D;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,eAAe,CAMxF;AAED,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW,CAAC,EAAE,qBAAqB,EAAE,IAAI,GAAG,YAAY,CAM/G"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mainnet.d.ts","sourceRoot":"","sources":["../../../src/chainConfig/configs/mainnet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,eAAO,MAAM,WAAW,EAAE,WAsJzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimal.d.ts","sourceRoot":"","sources":["../../../src/chainConfig/configs/minimal.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,eAAO,MAAM,WAAW,EAAE,WAiJzB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/chainConfig/default.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAEvC,QAAA,IAAI,kBAAkB,EAAE,WAAW,CAAC;AAapC,OAAO,EAAC,kBAAkB,EAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/chainConfig/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,YAAY,CAAC;AAEvC,cAAc,cAAc,CAAC;AAC7B,OAAO,EAAC,mBAAmB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,gBAAgB,EAAC,MAAM,WAAW,CAAC;AAC5G,cAAc,YAAY,CAAC;AAE3B;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAe1E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"json.d.ts","sourceRoot":"","sources":["../../src/chainConfig/json.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EACZ,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACR,SAAS,EACT,iBAAiB,EAGlB,MAAM,YAAY,CAAC;AAIpB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,WAAW,GAAG,QAAQ,CAW/D;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAW9E;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAQ1E;AAED,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,SAAS,GAAG,iBAAiB,CAOvE;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,SAAS,EAChB,QAAQ,EAAE,iBAAiB,GAC1B,MAAM,GAAG,MAAM,CAAC,MAAM,iBAAiB,EAAE,MAAM,CAAC,EAAE,CAuCpD;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM,GAAG,SAAS,CAyB/G;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,YAAY,CA0CpE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chiado.d.ts","sourceRoot":"","sources":["../../../src/chainConfig/networks/chiado.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAMxC,eAAO,MAAM,iBAAiB,EAAE,WAyC/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ephemery.d.ts","sourceRoot":"","sources":["../../../src/chainConfig/networks/ephemery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AA8DxC,eAAO,MAAM,mBAAmB,EAAE,WAMjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gnosis.d.ts","sourceRoot":"","sources":["../../../src/chainConfig/networks/gnosis.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,eAAO,MAAM,iBAAiB,EAAE,WAiE/B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"holesky.d.ts","sourceRoot":"","sources":["../../../src/chainConfig/networks/holesky.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,eAAO,MAAM,kBAAkB,EAAE,WAwDhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hoodi.d.ts","sourceRoot":"","sources":["../../../src/chainConfig/networks/hoodi.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,eAAO,MAAM,gBAAgB,EAAE,WAwD9B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mainnet.d.ts","sourceRoot":"","sources":["../../../src/chainConfig/networks/mainnet.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAExC,eAAO,MAAM,kBAAkB,EAAE,WAchC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sepolia.d.ts","sourceRoot":"","sources":["../../../src/chainConfig/networks/sepolia.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,aAAa,CAAC;AAKxC,eAAO,MAAM,kBAAkB,EAAE,WAqDhC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/chainConfig/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configs.d.ts","sourceRoot":"","sources":["../src/configs.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AACnF,OAAO,EAAC,WAAW,IAAI,kBAAkB,EAAC,MAAM,kCAAkC,CAAC;AAEnF,OAAO,EAAC,kBAAkB,EAAE,kBAAkB,EAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../src/default.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,WAAW,8CAAqB,CAAC;AAE9C,eAAO,MAAM,MAAM,6CAA4C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/forkConfig/index.ts"],"names":[],"mappings":"AAcA,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAA+B,UAAU,EAAW,MAAM,YAAY,CAAC;AAE9E,cAAc,YAAY,CAAC;AAE3B,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,UAAU,CAuLhE"}
|
|
@@ -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;CACjD,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"}
|
|
@@ -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"}
|
|
@@ -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"}
|
|
@@ -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.8689cc3545",
|
|
4
4
|
"description": "Chain configuration required for lodestar",
|
|
5
5
|
"author": "ChainSafe Systems",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -38,11 +38,9 @@
|
|
|
38
38
|
},
|
|
39
39
|
"types": "lib/index.d.ts",
|
|
40
40
|
"files": [
|
|
41
|
-
"
|
|
42
|
-
"lib
|
|
43
|
-
"
|
|
44
|
-
"*.d.ts",
|
|
45
|
-
"*.js"
|
|
41
|
+
"src",
|
|
42
|
+
"lib",
|
|
43
|
+
"!**/*.tsbuildinfo"
|
|
46
44
|
],
|
|
47
45
|
"scripts": {
|
|
48
46
|
"clean": "rm -rf lib && rm -f *.tsbuildinfo",
|
|
@@ -69,9 +67,9 @@
|
|
|
69
67
|
],
|
|
70
68
|
"dependencies": {
|
|
71
69
|
"@chainsafe/ssz": "^1.2.2",
|
|
72
|
-
"@lodestar/params": "1.35.0-dev.
|
|
73
|
-
"@lodestar/types": "1.35.0-dev.
|
|
74
|
-
"@lodestar/utils": "1.35.0-dev.
|
|
70
|
+
"@lodestar/params": "1.35.0-dev.8689cc3545",
|
|
71
|
+
"@lodestar/types": "1.35.0-dev.8689cc3545",
|
|
72
|
+
"@lodestar/utils": "1.35.0-dev.8689cc3545"
|
|
75
73
|
},
|
|
76
|
-
"gitHead": "
|
|
74
|
+
"gitHead": "449ee7fae124e34a70536ffec343c7447830e2e6"
|
|
77
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,158 @@
|
|
|
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
|
|
66
|
+
SECONDS_PER_SLOT: 12,
|
|
67
|
+
// 14 (estimate from Eth1 mainnet)
|
|
68
|
+
SECONDS_PER_ETH1_BLOCK: 14,
|
|
69
|
+
// 2**8 (= 256) epochs ~27 hours
|
|
70
|
+
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256,
|
|
71
|
+
// 2**8 (= 256) epochs ~27 hours
|
|
72
|
+
SHARD_COMMITTEE_PERIOD: 256,
|
|
73
|
+
// 2**11 (= 2,048) Eth1 blocks ~8 hours
|
|
74
|
+
ETH1_FOLLOW_DISTANCE: 2048,
|
|
75
|
+
|
|
76
|
+
// 25% of SLOT_DURATION_MS
|
|
77
|
+
ATTESTATION_DUE_BPS_GLOAS: 2500,
|
|
78
|
+
// 50% of SLOT_DURATION_MS
|
|
79
|
+
AGGREGATE_DUE_BPS_GLOAS: 5000,
|
|
80
|
+
// 25% of SLOT_DURATION_MS
|
|
81
|
+
SYNC_MESSAGE_DUE_BPS_GLOAS: 2500,
|
|
82
|
+
// 50% of SLOT_DURATION_MS
|
|
83
|
+
CONTRIBUTION_DUE_BPS_GLOAS: 5000,
|
|
84
|
+
// 75% of SLOT_DURATION_MS
|
|
85
|
+
PAYLOAD_ATTESTATION_DUE_BPS: 7500,
|
|
86
|
+
|
|
87
|
+
// Validator cycle
|
|
88
|
+
// ---------------------------------------------------------------
|
|
89
|
+
// 2**2 (= 4)
|
|
90
|
+
INACTIVITY_SCORE_BIAS: 4,
|
|
91
|
+
// 2**4 (= 16)
|
|
92
|
+
INACTIVITY_SCORE_RECOVERY_RATE: 16,
|
|
93
|
+
// 2**4 * 10**9 (= 16,000,000,000) Gwei
|
|
94
|
+
EJECTION_BALANCE: 16000000000,
|
|
95
|
+
// 2**2 (= 4)
|
|
96
|
+
MIN_PER_EPOCH_CHURN_LIMIT: 4,
|
|
97
|
+
// 2**3 (= 8)
|
|
98
|
+
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: 8,
|
|
99
|
+
// 2**16 (= 65,536)
|
|
100
|
+
CHURN_LIMIT_QUOTIENT: 65536,
|
|
101
|
+
|
|
102
|
+
// Fork choice
|
|
103
|
+
// ---------------------------------------------------------------
|
|
104
|
+
// 40%
|
|
105
|
+
PROPOSER_SCORE_BOOST: 40,
|
|
106
|
+
REORG_HEAD_WEIGHT_THRESHOLD: 20,
|
|
107
|
+
REORG_PARENT_WEIGHT_THRESHOLD: 160,
|
|
108
|
+
REORG_MAX_EPOCHS_SINCE_FINALIZATION: 2,
|
|
109
|
+
|
|
110
|
+
// Deposit contract
|
|
111
|
+
// ---------------------------------------------------------------
|
|
112
|
+
// Ethereum PoW Mainnet
|
|
113
|
+
DEPOSIT_CHAIN_ID: 1,
|
|
114
|
+
DEPOSIT_NETWORK_ID: 1,
|
|
115
|
+
DEPOSIT_CONTRACT_ADDRESS: b("0x00000000219ab540356cBB839Cbe05303d7705Fa"),
|
|
116
|
+
|
|
117
|
+
// Networking
|
|
118
|
+
// ---------------------------------------------------------------
|
|
119
|
+
// 2**10 (= 1024)
|
|
120
|
+
MAX_REQUEST_BLOCKS: 1024,
|
|
121
|
+
// `MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2` (= 33024, ~5 months)
|
|
122
|
+
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 33024,
|
|
123
|
+
|
|
124
|
+
// Deneb
|
|
125
|
+
// 2**7 (= 128)
|
|
126
|
+
MAX_REQUEST_BLOCKS_DENEB: 128,
|
|
127
|
+
// `2**12` (= 4096 epochs, ~18 days)
|
|
128
|
+
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096,
|
|
129
|
+
BLOB_SIDECAR_SUBNET_COUNT: 6,
|
|
130
|
+
MAX_BLOBS_PER_BLOCK: 6,
|
|
131
|
+
// MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
|
|
132
|
+
MAX_REQUEST_BLOB_SIDECARS: 768,
|
|
133
|
+
|
|
134
|
+
// Electra
|
|
135
|
+
// 2**8 * 10**9 (= 256,000,000,000)
|
|
136
|
+
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 256000000000,
|
|
137
|
+
// 2**7 * 10**9 (= 128,000,000,000)
|
|
138
|
+
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 128000000000,
|
|
139
|
+
BLOB_SIDECAR_SUBNET_COUNT_ELECTRA: 9,
|
|
140
|
+
MAX_BLOBS_PER_BLOCK_ELECTRA: 9,
|
|
141
|
+
// MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK_ELECTRA
|
|
142
|
+
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 1152,
|
|
143
|
+
|
|
144
|
+
// Fulu
|
|
145
|
+
NUMBER_OF_CUSTODY_GROUPS: 128,
|
|
146
|
+
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128,
|
|
147
|
+
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384,
|
|
148
|
+
SAMPLES_PER_SLOT: 8,
|
|
149
|
+
CUSTODY_REQUIREMENT: 4,
|
|
150
|
+
VALIDATOR_CUSTODY_REQUIREMENT: 8,
|
|
151
|
+
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000,
|
|
152
|
+
// `2**12` (= 4096 epochs, ~18 days)
|
|
153
|
+
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096,
|
|
154
|
+
|
|
155
|
+
// Blob Scheduling
|
|
156
|
+
// ---------------------------------------------------------------
|
|
157
|
+
BLOB_SCHEDULE: [],
|
|
158
|
+
};
|
|
@@ -0,0 +1,153 @@
|
|
|
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
|
|
60
|
+
SECONDS_PER_SLOT: 6,
|
|
61
|
+
// 14 (estimate from Eth1 mainnet)
|
|
62
|
+
SECONDS_PER_ETH1_BLOCK: 14,
|
|
63
|
+
// 2**8 (= 256) epochs
|
|
64
|
+
MIN_VALIDATOR_WITHDRAWABILITY_DELAY: 256,
|
|
65
|
+
// [customized] higher frequency of committee turnover and faster time to acceptable voluntary exit
|
|
66
|
+
SHARD_COMMITTEE_PERIOD: 64,
|
|
67
|
+
// [customized] process deposits more quickly, but insecure
|
|
68
|
+
ETH1_FOLLOW_DISTANCE: 16,
|
|
69
|
+
|
|
70
|
+
// 25% of SLOT_DURATION_MS
|
|
71
|
+
ATTESTATION_DUE_BPS_GLOAS: 2500,
|
|
72
|
+
// 50% of SLOT_DURATION_MS
|
|
73
|
+
AGGREGATE_DUE_BPS_GLOAS: 5000,
|
|
74
|
+
// 25% of SLOT_DURATION_MS
|
|
75
|
+
SYNC_MESSAGE_DUE_BPS_GLOAS: 2500,
|
|
76
|
+
// 50% of SLOT_DURATION_MS
|
|
77
|
+
CONTRIBUTION_DUE_BPS_GLOAS: 5000,
|
|
78
|
+
// 75% of SLOT_DURATION_MS
|
|
79
|
+
PAYLOAD_ATTESTATION_DUE_BPS: 7500,
|
|
80
|
+
|
|
81
|
+
// Validator cycle
|
|
82
|
+
// ---------------------------------------------------------------
|
|
83
|
+
// 2**2 (= 4)
|
|
84
|
+
INACTIVITY_SCORE_BIAS: 4,
|
|
85
|
+
// 2**4 (= 16)
|
|
86
|
+
INACTIVITY_SCORE_RECOVERY_RATE: 16,
|
|
87
|
+
// 2**4 * 10**9 (= 16,000,000,000) Gwei
|
|
88
|
+
EJECTION_BALANCE: 16000000000,
|
|
89
|
+
// 2**2 (= 4)
|
|
90
|
+
MIN_PER_EPOCH_CHURN_LIMIT: 2,
|
|
91
|
+
// [customized]
|
|
92
|
+
MAX_PER_EPOCH_ACTIVATION_CHURN_LIMIT: 4,
|
|
93
|
+
// [customized] scale queue churn at much lower validator counts for testing
|
|
94
|
+
CHURN_LIMIT_QUOTIENT: 32,
|
|
95
|
+
|
|
96
|
+
// Fork choice
|
|
97
|
+
// ---------------------------------------------------------------
|
|
98
|
+
// 40%
|
|
99
|
+
PROPOSER_SCORE_BOOST: 40,
|
|
100
|
+
REORG_HEAD_WEIGHT_THRESHOLD: 20,
|
|
101
|
+
REORG_PARENT_WEIGHT_THRESHOLD: 160,
|
|
102
|
+
REORG_MAX_EPOCHS_SINCE_FINALIZATION: 2,
|
|
103
|
+
|
|
104
|
+
// Deposit contract
|
|
105
|
+
// ---------------------------------------------------------------
|
|
106
|
+
// Ethereum Goerli testnet
|
|
107
|
+
DEPOSIT_CHAIN_ID: 5,
|
|
108
|
+
DEPOSIT_NETWORK_ID: 5,
|
|
109
|
+
// Configured on a per testnet basis
|
|
110
|
+
DEPOSIT_CONTRACT_ADDRESS: b("0x1234567890123456789012345678901234567890"),
|
|
111
|
+
|
|
112
|
+
// Networking
|
|
113
|
+
// ---------------------------------------------------------------
|
|
114
|
+
// 2**10 (= 1024)
|
|
115
|
+
MAX_REQUEST_BLOCKS: 1024,
|
|
116
|
+
// [customized] `MIN_VALIDATOR_WITHDRAWABILITY_DELAY + CHURN_LIMIT_QUOTIENT // 2` (= 272)
|
|
117
|
+
MIN_EPOCHS_FOR_BLOCK_REQUESTS: 272,
|
|
118
|
+
|
|
119
|
+
// Deneb
|
|
120
|
+
// 2**7 (= 128)
|
|
121
|
+
MAX_REQUEST_BLOCKS_DENEB: 128,
|
|
122
|
+
// `2**12` (= 4096 epochs, ~18 days)
|
|
123
|
+
MIN_EPOCHS_FOR_BLOB_SIDECARS_REQUESTS: 4096,
|
|
124
|
+
BLOB_SIDECAR_SUBNET_COUNT: 6,
|
|
125
|
+
MAX_BLOBS_PER_BLOCK: 6,
|
|
126
|
+
// MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK
|
|
127
|
+
MAX_REQUEST_BLOB_SIDECARS: 768,
|
|
128
|
+
|
|
129
|
+
// Electra
|
|
130
|
+
// 2**7 * 10**9 (= 128,000,000,000)
|
|
131
|
+
MAX_PER_EPOCH_ACTIVATION_EXIT_CHURN_LIMIT: 128000000000,
|
|
132
|
+
// 2**6 * 10**9 (= 64,000,000,000)
|
|
133
|
+
MIN_PER_EPOCH_CHURN_LIMIT_ELECTRA: 64000000000,
|
|
134
|
+
BLOB_SIDECAR_SUBNET_COUNT_ELECTRA: 9,
|
|
135
|
+
MAX_BLOBS_PER_BLOCK_ELECTRA: 9,
|
|
136
|
+
// MAX_REQUEST_BLOCKS_DENEB * MAX_BLOBS_PER_BLOCK_ELECTRA
|
|
137
|
+
MAX_REQUEST_BLOB_SIDECARS_ELECTRA: 1152,
|
|
138
|
+
|
|
139
|
+
// Fulu
|
|
140
|
+
NUMBER_OF_CUSTODY_GROUPS: 128,
|
|
141
|
+
DATA_COLUMN_SIDECAR_SUBNET_COUNT: 128,
|
|
142
|
+
MAX_REQUEST_DATA_COLUMN_SIDECARS: 16384,
|
|
143
|
+
SAMPLES_PER_SLOT: 8,
|
|
144
|
+
CUSTODY_REQUIREMENT: 4,
|
|
145
|
+
VALIDATOR_CUSTODY_REQUIREMENT: 8,
|
|
146
|
+
BALANCE_PER_ADDITIONAL_CUSTODY_GROUP: 32000000000,
|
|
147
|
+
// `2**12` (= 4096 epochs, ~18 days)
|
|
148
|
+
MIN_EPOCHS_FOR_DATA_COLUMN_SIDECARS_REQUESTS: 4096,
|
|
149
|
+
|
|
150
|
+
// Blob Scheduling
|
|
151
|
+
// ---------------------------------------------------------------
|
|
152
|
+
BLOB_SCHEDULE: [],
|
|
153
|
+
};
|
|
@@ -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,27 @@
|
|
|
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
|
+
// Assert that the preset matches the active preset
|
|
21
|
+
if (config.PRESET_BASE !== ACTIVE_PRESET) {
|
|
22
|
+
throw new Error(
|
|
23
|
+
`Can only create a config for the active preset: ACTIVE_PRESET=${ACTIVE_PRESET} PRESET_BASE=${config.PRESET_BASE}`
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
return config;
|
|
27
|
+
}
|