@lodestar/beacon-node 1.39.0-dev.aceb5b7416 → 1.39.0-dev.b37f2bd1bd
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/api/impl/beacon/blocks/utils.js +1 -1
- package/lib/api/impl/beacon/blocks/utils.js.map +1 -1
- package/lib/chain/chain.d.ts +4 -1
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +12 -2
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/genesis/genesis.d.ts +51 -0
- package/lib/chain/genesis/genesis.d.ts.map +1 -0
- package/lib/chain/genesis/genesis.js +123 -0
- package/lib/chain/genesis/genesis.js.map +1 -0
- package/lib/chain/genesis/interface.d.ts +13 -0
- package/lib/chain/genesis/interface.d.ts.map +1 -0
- package/lib/chain/genesis/interface.js +2 -0
- package/lib/chain/genesis/interface.js.map +1 -0
- package/lib/chain/initState.d.ts +14 -1
- package/lib/chain/initState.d.ts.map +1 -1
- package/lib/chain/initState.js +62 -1
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/interface.d.ts +2 -0
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +4 -0
- package/lib/chain/prepareNextSlot.d.ts.map +1 -1
- package/lib/chain/prepareNextSlot.js +21 -1
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +1 -0
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +9 -6
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/db/beacon.d.ts +7 -1
- package/lib/db/beacon.d.ts.map +1 -1
- package/lib/db/beacon.js +12 -1
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/buckets.d.ts +6 -0
- package/lib/db/buckets.d.ts.map +1 -1
- package/lib/db/buckets.js +7 -6
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/interface.d.ts +7 -1
- package/lib/db/interface.d.ts.map +1 -1
- package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
- package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
- package/lib/db/repositories/depositDataRoot.d.ts +22 -0
- package/lib/db/repositories/depositDataRoot.d.ts.map +1 -0
- package/lib/db/repositories/depositDataRoot.js +62 -0
- package/lib/db/repositories/depositDataRoot.js.map +1 -0
- package/lib/db/repositories/depositEvent.d.ts +13 -0
- package/lib/db/repositories/depositEvent.d.ts.map +1 -0
- package/lib/db/repositories/depositEvent.js +27 -0
- package/lib/db/repositories/depositEvent.js.map +1 -0
- package/lib/db/repositories/eth1Data.d.ts +13 -0
- package/lib/db/repositories/eth1Data.d.ts.map +1 -0
- package/lib/db/repositories/eth1Data.js +26 -0
- package/lib/db/repositories/eth1Data.js.map +1 -0
- package/lib/db/repositories/index.d.ts +3 -0
- package/lib/db/repositories/index.d.ts.map +1 -1
- package/lib/db/repositories/index.js +3 -0
- package/lib/db/repositories/index.js.map +1 -1
- package/lib/db/single/index.d.ts +3 -0
- package/lib/db/single/index.d.ts.map +1 -0
- package/lib/db/single/index.js +3 -0
- package/lib/db/single/index.js.map +1 -0
- package/lib/db/single/preGenesisState.d.ts +16 -0
- package/lib/db/single/preGenesisState.d.ts.map +1 -0
- package/lib/db/single/preGenesisState.js +29 -0
- package/lib/db/single/preGenesisState.js.map +1 -0
- package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +14 -0
- package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +1 -0
- package/lib/db/single/preGenesisStateLastProcessedBlock.js +27 -0
- package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +1 -0
- package/lib/eth1/errors.d.ts +66 -0
- package/lib/eth1/errors.d.ts.map +1 -0
- package/lib/eth1/errors.js +27 -0
- package/lib/eth1/errors.js.map +1 -0
- package/lib/eth1/eth1DataCache.d.ts +19 -0
- package/lib/eth1/eth1DataCache.d.ts.map +1 -0
- package/lib/eth1/eth1DataCache.js +19 -0
- package/lib/eth1/eth1DataCache.js.map +1 -0
- package/lib/eth1/eth1DepositDataTracker.d.ts +80 -0
- package/lib/eth1/eth1DepositDataTracker.d.ts.map +1 -0
- package/lib/eth1/eth1DepositDataTracker.js +317 -0
- package/lib/eth1/eth1DepositDataTracker.js.map +1 -0
- package/lib/eth1/eth1DepositsCache.d.ts +42 -0
- package/lib/eth1/eth1DepositsCache.d.ts.map +1 -0
- package/lib/eth1/eth1DepositsCache.js +119 -0
- package/lib/eth1/eth1DepositsCache.js.map +1 -0
- package/lib/eth1/index.d.ts +31 -0
- package/lib/eth1/index.d.ts.map +1 -0
- package/lib/eth1/index.js +71 -0
- package/lib/eth1/index.js.map +1 -0
- package/lib/eth1/interface.d.ts +74 -0
- package/lib/eth1/interface.d.ts.map +1 -0
- package/lib/eth1/interface.js +8 -0
- package/lib/eth1/interface.js.map +1 -0
- package/lib/eth1/options.d.ts +22 -0
- package/lib/eth1/options.d.ts.map +1 -0
- package/lib/eth1/options.js +8 -0
- package/lib/eth1/options.js.map +1 -0
- package/lib/eth1/provider/eth1Provider.d.ts +39 -0
- package/lib/eth1/provider/eth1Provider.d.ts.map +1 -0
- package/lib/eth1/provider/eth1Provider.js +147 -0
- package/lib/eth1/provider/eth1Provider.js.map +1 -0
- package/lib/{execution/engine → eth1/provider}/jsonRpcHttpClient.d.ts +1 -1
- package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +1 -0
- package/lib/eth1/provider/jsonRpcHttpClient.js.map +1 -0
- package/lib/eth1/provider/jwt.d.ts.map +1 -0
- package/lib/eth1/provider/jwt.js.map +1 -0
- package/lib/eth1/provider/utils.d.ts +65 -0
- package/lib/eth1/provider/utils.d.ts.map +1 -0
- package/lib/eth1/provider/utils.js +120 -0
- package/lib/eth1/provider/utils.js.map +1 -0
- package/lib/eth1/stream.d.ts +15 -0
- package/lib/eth1/stream.d.ts.map +1 -0
- package/lib/eth1/stream.js +54 -0
- package/lib/eth1/stream.js.map +1 -0
- package/lib/eth1/utils/depositContract.d.ts +14 -0
- package/lib/eth1/utils/depositContract.d.ts.map +1 -0
- package/lib/eth1/utils/depositContract.js +33 -0
- package/lib/eth1/utils/depositContract.js.map +1 -0
- package/lib/eth1/utils/deposits.d.ts +8 -0
- package/lib/eth1/utils/deposits.d.ts.map +1 -0
- package/lib/eth1/utils/deposits.js +47 -0
- package/lib/eth1/utils/deposits.js.map +1 -0
- package/lib/eth1/utils/eth1Data.d.ts +22 -0
- package/lib/eth1/utils/eth1Data.d.ts.map +1 -0
- package/lib/eth1/utils/eth1Data.js +77 -0
- package/lib/eth1/utils/eth1Data.js.map +1 -0
- package/lib/eth1/utils/eth1DepositEvent.d.ts +7 -0
- package/lib/eth1/utils/eth1DepositEvent.d.ts.map +1 -0
- package/lib/eth1/utils/eth1DepositEvent.js +13 -0
- package/lib/eth1/utils/eth1DepositEvent.js.map +1 -0
- package/lib/eth1/utils/eth1Vote.d.ts +17 -0
- package/lib/eth1/utils/eth1Vote.d.ts.map +1 -0
- package/lib/eth1/utils/eth1Vote.js +111 -0
- package/lib/eth1/utils/eth1Vote.js.map +1 -0
- package/lib/eth1/utils/groupDepositEventsByBlock.d.ts +9 -0
- package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +1 -0
- package/lib/eth1/utils/groupDepositEventsByBlock.js +17 -0
- package/lib/eth1/utils/groupDepositEventsByBlock.js.map +1 -0
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts +10 -0
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +1 -0
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js +14 -0
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js.map +1 -0
- package/lib/execution/engine/http.d.ts +1 -1
- package/lib/execution/engine/http.d.ts.map +1 -1
- package/lib/execution/engine/http.js +3 -2
- package/lib/execution/engine/http.js.map +1 -1
- package/lib/execution/engine/index.d.ts.map +1 -1
- package/lib/execution/engine/index.js +1 -1
- package/lib/execution/engine/index.js.map +1 -1
- package/lib/execution/engine/interface.d.ts +1 -1
- package/lib/execution/engine/interface.d.ts.map +1 -1
- package/lib/execution/engine/interface.js.map +1 -1
- package/lib/execution/engine/mock.d.ts.map +1 -1
- package/lib/execution/engine/mock.js +1 -1
- package/lib/execution/engine/mock.js.map +1 -1
- package/lib/execution/engine/payloadIdCache.d.ts +1 -1
- package/lib/execution/engine/payloadIdCache.d.ts.map +1 -1
- package/lib/execution/engine/types.d.ts +1 -1
- package/lib/execution/engine/types.d.ts.map +1 -1
- package/lib/execution/engine/types.js +1 -1
- package/lib/execution/engine/types.js.map +1 -1
- package/lib/execution/engine/utils.d.ts +2 -64
- package/lib/execution/engine/utils.d.ts.map +1 -1
- package/lib/execution/engine/utils.js +2 -91
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +35 -0
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +90 -0
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +9 -0
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/options.d.ts +2 -0
- package/lib/node/options.d.ts.map +1 -1
- package/lib/node/options.js +2 -0
- package/lib/node/options.js.map +1 -1
- package/lib/node/utils/interop/deposits.d.ts +1 -2
- package/lib/node/utils/interop/deposits.d.ts.map +1 -1
- package/lib/node/utils/interop/deposits.js.map +1 -1
- package/lib/node/utils/interop/state.d.ts +1 -1
- package/lib/node/utils/interop/state.d.ts.map +1 -1
- package/lib/node/utils/state.d.ts +7 -1
- package/lib/node/utils/state.d.ts.map +1 -1
- package/lib/node/utils/state.js +14 -1
- package/lib/node/utils/state.js.map +1 -1
- package/package.json +20 -14
- package/src/api/impl/beacon/blocks/utils.ts +1 -1
- package/src/chain/chain.ts +15 -1
- package/src/chain/genesis/genesis.ts +190 -0
- package/src/chain/genesis/interface.ts +14 -0
- package/src/chain/initState.ts +97 -1
- package/src/chain/interface.ts +2 -0
- package/src/chain/prepareNextSlot.ts +28 -1
- package/src/chain/produceBlock/produceBlockBody.ts +10 -6
- package/src/db/beacon.ts +15 -0
- package/src/db/buckets.ts +7 -6
- package/src/db/interface.ts +13 -0
- package/src/db/repositories/depositDataRoot.ts +80 -0
- package/src/db/repositories/depositEvent.ts +32 -0
- package/src/db/repositories/eth1Data.ts +33 -0
- package/src/db/repositories/index.ts +3 -0
- package/src/db/single/index.ts +2 -0
- package/src/db/single/preGenesisState.ts +37 -0
- package/src/db/single/preGenesisStateLastProcessedBlock.ts +34 -0
- package/src/eth1/errors.ts +40 -0
- package/src/eth1/eth1DataCache.ts +26 -0
- package/src/eth1/eth1DepositDataTracker.ts +410 -0
- package/src/eth1/eth1DepositsCache.ts +141 -0
- package/src/eth1/index.ts +94 -0
- package/src/eth1/interface.ts +87 -0
- package/src/eth1/options.ts +28 -0
- package/src/eth1/provider/eth1Provider.ts +229 -0
- package/src/{execution/engine → eth1/provider}/jsonRpcHttpClient.ts +1 -1
- package/src/eth1/provider/utils.ts +136 -0
- package/src/eth1/stream.ts +75 -0
- package/src/eth1/utils/depositContract.ts +37 -0
- package/src/eth1/utils/deposits.ts +70 -0
- package/src/eth1/utils/eth1Data.ts +100 -0
- package/src/eth1/utils/eth1DepositEvent.ts +12 -0
- package/src/eth1/utils/eth1Vote.ts +142 -0
- package/src/eth1/utils/groupDepositEventsByBlock.ts +19 -0
- package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +18 -0
- package/src/execution/engine/http.ts +9 -8
- package/src/execution/engine/index.ts +1 -1
- package/src/execution/engine/interface.ts +1 -1
- package/src/execution/engine/mock.ts +2 -1
- package/src/execution/engine/payloadIdCache.ts +1 -1
- package/src/execution/engine/types.ts +9 -9
- package/src/execution/engine/utils.ts +5 -111
- package/src/index.ts +2 -1
- package/src/metrics/metrics/lodestar.ts +92 -0
- package/src/node/nodejs.ts +9 -0
- package/src/node/options.ts +3 -0
- package/src/node/utils/interop/deposits.ts +1 -3
- package/src/node/utils/interop/state.ts +1 -1
- package/src/node/utils/state.ts +18 -3
- package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +0 -1
- package/lib/execution/engine/jsonRpcHttpClient.js.map +0 -1
- package/lib/execution/engine/jwt.d.ts.map +0 -1
- package/lib/execution/engine/jwt.js.map +0 -1
- /package/lib/{execution/engine → eth1/provider}/jsonRpcHttpClient.js +0 -0
- /package/lib/{execution/engine → eth1/provider}/jwt.d.ts +0 -0
- /package/lib/{execution/engine → eth1/provider}/jwt.js +0 -0
- /package/src/{execution/engine → eth1/provider}/jwt.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/db/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../src/db/interface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,wBAAwB,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,yBAAyB,EAAC,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EACL,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,+BAA+B,EAC/B,6BAA6B,EAC7B,sBAAsB,EACtB,sBAAsB,EACtB,eAAe,EACf,0BAA0B,EAC1B,kCAAkC,EAClC,2BAA2B,EAC3B,yBAAyB,EACzB,sBAAsB,EACtB,kBAAkB,EAClB,0BAA0B,EAC1B,sBAAsB,EACtB,uBAAuB,EACvB,8BAA8B,EAC9B,uBAAuB,EACxB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAC,eAAe,EAAE,iCAAiC,EAAC,MAAM,mBAAmB,CAAC;AAErF;;;;GAIG;AACH,MAAM,WAAW,SAAS;IAExB,KAAK,EAAE,eAAe,CAAC;IAEvB,YAAY,EAAE,sBAAsB,CAAC;IAErC,YAAY,EAAE,sBAAsB,CAAC;IACrC,mBAAmB,EAAE,6BAA6B,CAAC;IACnD,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C,wBAAwB,EAAE,kCAAkC,CAAC;IAG7D,YAAY,EAAE,sBAAsB,CAAC;IAErC,eAAe,EAAE,yBAAyB,CAAC;IAG3C,aAAa,EAAE,uBAAuB,CAAC;IACvC,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,YAAY,EAAE,sBAAsB,CAAC;IACrC,oBAAoB,EAAE,8BAA8B,CAAC;IAGrD,eAAe,EAAE,eAAe,CAAC;IACjC,iCAAiC,EAAE,iCAAiC,CAAC;IAGrE,eAAe,EAAE,yBAAyB,CAAC;IAC3C,QAAQ,EAAE,kBAAkB,CAAC;IAG7B,qBAAqB,EAAE,+BAA+B,CAAC;IACvD,gBAAgB,EAAE,0BAA0B,CAAC;IAC7C,aAAa,EAAE,uBAAuB,CAAC;IACvC,oBAAoB,EAAE,8BAA8B,CAAC;IAErD,gBAAgB,EAAE,gBAAgB,CAAC;IAEnC,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAE5B,uEAAuE;IACvE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,iDAAiD;IACjD,UAAU,CAAC,OAAO,EAAE,wBAAwB,GAAG,IAAI,CAAC;CACrD"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Db } from "@lodestar/db";
|
|
2
2
|
import { ForkAll } from "@lodestar/params";
|
|
3
3
|
import { Root, SSZTypesFor, SignedBeaconBlock, Slot } from "@lodestar/types";
|
|
4
|
-
export declare const rootIndexBucketId: "allForks_stateArchive" | "allForks_block" | "allForks_blockArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_mainChain" | "index_chainInfo" | "phase0_exit" | "phase0_proposerSlashing" | "allForks_attesterSlashing" | "capella_blsToExecutionChange" | "allForks_checkpointState" | "index_stateArchiveRootIndex" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "backfilled_ranges" | "lightClient_syncCommitteeWitness" | "lightClient_syncCommittee" | "lightClient_checkpointHeader" | "lightClient_bestLightClientUpdate" | "fulu_dataColumnSidecars" | "fulu_dataColumnSidecarsArchive";
|
|
5
|
-
export declare const parentRootIndexBucketId: "allForks_stateArchive" | "allForks_block" | "allForks_blockArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_mainChain" | "index_chainInfo" | "phase0_exit" | "phase0_proposerSlashing" | "allForks_attesterSlashing" | "capella_blsToExecutionChange" | "allForks_checkpointState" | "index_stateArchiveRootIndex" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "backfilled_ranges" | "lightClient_syncCommitteeWitness" | "lightClient_syncCommittee" | "lightClient_checkpointHeader" | "lightClient_bestLightClientUpdate" | "fulu_dataColumnSidecars" | "fulu_dataColumnSidecarsArchive";
|
|
4
|
+
export declare const rootIndexBucketId: "allForks_stateArchive" | "allForks_block" | "allForks_blockArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_mainChain" | "index_chainInfo" | "phase0_eth1Data" | "index_depositDataRoot" | "phase0_depositData" | "phase0_exit" | "phase0_proposerSlashing" | "allForks_attesterSlashing" | "capella_blsToExecutionChange" | "allForks_checkpointState" | "phase0_depositEvent" | "index_stateArchiveRootIndex" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "backfilled_ranges" | "lightClient_syncCommitteeWitness" | "lightClient_syncCommittee" | "lightClient_checkpointHeader" | "lightClient_bestLightClientUpdate" | "fulu_dataColumnSidecars" | "fulu_dataColumnSidecarsArchive";
|
|
5
|
+
export declare const parentRootIndexBucketId: "allForks_stateArchive" | "allForks_block" | "allForks_blockArchive" | "index_blockArchiveParentRootIndex" | "index_blockArchiveRootIndex" | "index_mainChain" | "index_chainInfo" | "phase0_eth1Data" | "index_depositDataRoot" | "phase0_depositData" | "phase0_exit" | "phase0_proposerSlashing" | "allForks_attesterSlashing" | "capella_blsToExecutionChange" | "allForks_checkpointState" | "phase0_depositEvent" | "index_stateArchiveRootIndex" | "deneb_blobSidecars" | "deneb_blobSidecarsArchive" | "phase0_preGenesisState" | "phase0_preGenesisStateLastProcessedBlock" | "backfilled_ranges" | "lightClient_syncCommitteeWitness" | "lightClient_syncCommittee" | "lightClient_checkpointHeader" | "lightClient_bestLightClientUpdate" | "fulu_dataColumnSidecars" | "fulu_dataColumnSidecarsArchive";
|
|
6
6
|
export declare function getRootIndex(db: Db, blockRoot: Root): Promise<Uint8Array | null>;
|
|
7
7
|
export declare function getParentRootIndex(db: Db, parentRoot: Root): Promise<Uint8Array | null>;
|
|
8
8
|
export declare function storeRootIndex(db: Db, slot: Slot, blockRoot: Root): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blockArchiveIndex.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/blockArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAIhF,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"blockArchiveIndex.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/blockArchiveIndex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,IAAI,EAAE,WAAW,EAAE,iBAAiB,EAAE,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAIhF,eAAO,MAAM,iBAAiB,qxBAA2D,CAAC;AAC1F,eAAO,MAAM,uBAAuB,qxBAAiE,CAAC;AAEtG,wBAAsB,YAAY,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAEtF;AAED,wBAAsB,kBAAkB,CAAC,EAAE,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAE7F;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAEvF;AAED,wBAAsB,oBAAoB,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9F;AAED,wBAAsB,eAAe,CACnC,EAAE,EAAE,EAAE,EACN,qBAAqB,EAAE,WAAW,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAChE,KAAK,EAAE,iBAAiB,GACvB,OAAO,CAAC,IAAI,CAAC,CAGf;AAED,wBAAsB,qBAAqB,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3F;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,IAAI,GAAG,UAAU,CAElE;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,CAEtD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ByteVectorType, CompositeViewDU, ListCompositeType } from "@chainsafe/ssz";
|
|
2
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
3
|
+
import { Db, KeyValue, Repository } from "@lodestar/db";
|
|
4
|
+
import { Root } from "@lodestar/types";
|
|
5
|
+
export type DepositTree = CompositeViewDU<ListCompositeType<ByteVectorType>>;
|
|
6
|
+
export declare class DepositDataRootRepository extends Repository<number, Root> {
|
|
7
|
+
private depositRootTree?;
|
|
8
|
+
constructor(config: ChainForkConfig, db: Db);
|
|
9
|
+
decodeKey(data: Buffer): number;
|
|
10
|
+
getId(_value: Root): number;
|
|
11
|
+
put(index: number, value: Root): Promise<void>;
|
|
12
|
+
batchPut(items: KeyValue<number, Root>[]): Promise<void>;
|
|
13
|
+
putList(roots: Root[]): Promise<void>;
|
|
14
|
+
batchPutValues(values: {
|
|
15
|
+
index: number;
|
|
16
|
+
root: Root;
|
|
17
|
+
}[]): Promise<void>;
|
|
18
|
+
getDepositRootTree(): Promise<DepositTree>;
|
|
19
|
+
getDepositRootTreeAtIndex(depositIndex: number): Promise<DepositTree>;
|
|
20
|
+
private depositRootTreeSet;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=depositDataRoot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositDataRoot.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/depositDataRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAClF,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAC,IAAI,EAAM,MAAM,iBAAiB,CAAC;AAK1C,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;AAE7E,qBAAa,yBAA0B,SAAQ,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC;IACrE,OAAO,CAAC,eAAe,CAAC,CAAc;gBAE1B,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAK3C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAK/B,KAAK,CAAC,MAAM,EAAE,IAAI,GAAG,MAAM;IAIrB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAK9C,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAOxD,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrC,cAAc,CAAC,MAAM,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IASpE,kBAAkB,IAAI,OAAO,CAAC,WAAW,CAAC;IAQ1C,yBAAyB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;YAK7D,kBAAkB;CAcjC"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { Repository } from "@lodestar/db";
|
|
2
|
+
import { ssz } from "@lodestar/types";
|
|
3
|
+
import { bytesToInt } from "@lodestar/utils";
|
|
4
|
+
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
5
|
+
export class DepositDataRootRepository extends Repository {
|
|
6
|
+
depositRootTree;
|
|
7
|
+
constructor(config, db) {
|
|
8
|
+
const bucket = Bucket.index_depositDataRoot;
|
|
9
|
+
super(config, db, bucket, ssz.Root, getBucketNameByValue(bucket));
|
|
10
|
+
}
|
|
11
|
+
decodeKey(data) {
|
|
12
|
+
return bytesToInt(super.decodeKey(data), "be");
|
|
13
|
+
}
|
|
14
|
+
// depositDataRoots stored by depositData index
|
|
15
|
+
getId(_value) {
|
|
16
|
+
throw new Error("Unable to create depositIndex from root");
|
|
17
|
+
}
|
|
18
|
+
async put(index, value) {
|
|
19
|
+
await super.put(index, value);
|
|
20
|
+
await this.depositRootTreeSet(index, value);
|
|
21
|
+
}
|
|
22
|
+
async batchPut(items) {
|
|
23
|
+
await super.batchPut(items);
|
|
24
|
+
for (const { key, value } of items) {
|
|
25
|
+
await this.depositRootTreeSet(key, value);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async putList(roots) {
|
|
29
|
+
await this.batchPut(roots.map((root, index) => ({ key: index, value: root })));
|
|
30
|
+
}
|
|
31
|
+
async batchPutValues(values) {
|
|
32
|
+
await this.batchPut(values.map(({ index, root }) => ({
|
|
33
|
+
key: index,
|
|
34
|
+
value: root,
|
|
35
|
+
})));
|
|
36
|
+
}
|
|
37
|
+
async getDepositRootTree() {
|
|
38
|
+
if (!this.depositRootTree) {
|
|
39
|
+
const values = await this.values();
|
|
40
|
+
this.depositRootTree = ssz.phase0.DepositDataRootList.toViewDU(values);
|
|
41
|
+
}
|
|
42
|
+
return this.depositRootTree;
|
|
43
|
+
}
|
|
44
|
+
async getDepositRootTreeAtIndex(depositIndex) {
|
|
45
|
+
const depositRootTree = await this.getDepositRootTree();
|
|
46
|
+
return depositRootTree.sliceTo(depositIndex);
|
|
47
|
+
}
|
|
48
|
+
async depositRootTreeSet(index, value) {
|
|
49
|
+
const depositRootTree = await this.getDepositRootTree();
|
|
50
|
+
// TODO: Review and fix properly
|
|
51
|
+
if (index > depositRootTree.length) {
|
|
52
|
+
throw Error(`Error setting depositRootTree index ${index} > length ${depositRootTree.length}`);
|
|
53
|
+
}
|
|
54
|
+
if (index === depositRootTree.length) {
|
|
55
|
+
depositRootTree.push(value);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
depositRootTree.set(index, value);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=depositDataRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositDataRoot.js","sourceRoot":"","sources":["../../../src/db/repositories/depositDataRoot.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,UAAU,EAAC,MAAM,cAAc,CAAC;AACtD,OAAO,EAAO,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC1C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAK3D,MAAM,OAAO,yBAA0B,SAAQ,UAAwB;IAC7D,eAAe,CAAe;IAEtC,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,qBAAqB,CAAC;QAC5C,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,IAAI,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAA0B,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,+CAA+C;IAC/C,KAAK,CAAC,MAAY;QAChB,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa,EAAE,KAAW;QAClC,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,KAA+B;QAC5C,MAAM,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC5B,KAAK,MAAM,EAAC,GAAG,EAAE,KAAK,EAAC,IAAI,KAAK,EAAE,CAAC;YACjC,MAAM,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAa;QACzB,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAqC;QACxD,MAAM,IAAI,CAAC,QAAQ,CACjB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAE,IAAI,EAAC,EAAE,EAAE,CAAC,CAAC;YAC7B,GAAG,EAAE,KAAK;YACV,KAAK,EAAE,IAAI;SACZ,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,YAAoB;QAClD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxD,OAAO,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,KAAa,EAAE,KAAiB;QAC/D,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAExD,gCAAgC;QAChC,IAAI,KAAK,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;YACnC,MAAM,KAAK,CAAC,uCAAuC,KAAK,aAAa,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC;QACjG,CAAC;QAED,IAAI,KAAK,KAAK,eAAe,CAAC,MAAM,EAAE,CAAC;YACrC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
+
import { Db, Repository } from "@lodestar/db";
|
|
3
|
+
import { phase0 } from "@lodestar/types";
|
|
4
|
+
/**
|
|
5
|
+
* DepositData indexed by deposit index
|
|
6
|
+
* Removed when included on chain or old
|
|
7
|
+
*/
|
|
8
|
+
export declare class DepositEventRepository extends Repository<number, phase0.DepositEvent> {
|
|
9
|
+
constructor(config: ChainForkConfig, db: Db);
|
|
10
|
+
deleteOld(depositCount: number): Promise<void>;
|
|
11
|
+
batchPutValues(depositEvents: phase0.DepositEvent[]): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=depositEvent.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositEvent.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/depositEvent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAG5C;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC;gBACrE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAKrC,SAAS,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ9C,cAAc,CAAC,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAQ1E"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { Repository } from "@lodestar/db";
|
|
2
|
+
import { ssz } from "@lodestar/types";
|
|
3
|
+
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
4
|
+
/**
|
|
5
|
+
* DepositData indexed by deposit index
|
|
6
|
+
* Removed when included on chain or old
|
|
7
|
+
*/
|
|
8
|
+
export class DepositEventRepository extends Repository {
|
|
9
|
+
constructor(config, db) {
|
|
10
|
+
const bucket = Bucket.phase0_depositEvent;
|
|
11
|
+
super(config, db, bucket, ssz.phase0.DepositEvent, getBucketNameByValue(bucket));
|
|
12
|
+
}
|
|
13
|
+
async deleteOld(depositCount) {
|
|
14
|
+
const firstDepositIndex = await this.firstKey();
|
|
15
|
+
if (firstDepositIndex === null) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
await this.batchDelete(Array.from({ length: depositCount - firstDepositIndex }, (_, i) => i + firstDepositIndex));
|
|
19
|
+
}
|
|
20
|
+
async batchPutValues(depositEvents) {
|
|
21
|
+
await this.batchPut(depositEvents.map((depositEvent) => ({
|
|
22
|
+
key: depositEvent.index,
|
|
23
|
+
value: depositEvent,
|
|
24
|
+
})));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=depositEvent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"depositEvent.js","sourceRoot":"","sources":["../../../src/db/repositories/depositEvent.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D;;;GAGG;AACH,MAAM,OAAO,sBAAuB,SAAQ,UAAuC;IACjF,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,mBAAmB,CAAC;QAC1C,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,YAAoB;QAClC,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,iBAAiB,KAAK,IAAI,EAAE,CAAC;YAC/B,OAAO;QACT,CAAC;QACD,MAAM,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,EAAC,MAAM,EAAE,YAAY,GAAG,iBAAiB,EAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,aAAoC;QACvD,MAAM,IAAI,CAAC,QAAQ,CACjB,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;YACnC,GAAG,EAAE,YAAY,CAAC,KAAK;YACvB,KAAK,EAAE,YAAY;SACpB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
+
import { Db, Repository } from "@lodestar/db";
|
|
3
|
+
import { phase0 } from "@lodestar/types";
|
|
4
|
+
export declare class Eth1DataRepository extends Repository<number, phase0.Eth1DataOrdered> {
|
|
5
|
+
constructor(config: ChainForkConfig, db: Db);
|
|
6
|
+
decodeKey(data: Buffer): number;
|
|
7
|
+
getId(_value: phase0.Eth1Data): number;
|
|
8
|
+
batchPutValues(eth1Datas: (phase0.Eth1DataOrdered & {
|
|
9
|
+
timestamp: number;
|
|
10
|
+
})[]): Promise<void>;
|
|
11
|
+
deleteOld(timestamp: number): Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=eth1Data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eth1Data.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/eth1Data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAI5C,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,eAAe,CAAC;gBACpE,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAK3C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM;IAIhC,cAAc,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAS1F,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGlD"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Repository } from "@lodestar/db";
|
|
2
|
+
import { ssz } from "@lodestar/types";
|
|
3
|
+
import { bytesToInt } from "@lodestar/utils";
|
|
4
|
+
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
5
|
+
export class Eth1DataRepository extends Repository {
|
|
6
|
+
constructor(config, db) {
|
|
7
|
+
const bucket = Bucket.phase0_eth1Data;
|
|
8
|
+
super(config, db, bucket, ssz.phase0.Eth1DataOrdered, getBucketNameByValue(bucket));
|
|
9
|
+
}
|
|
10
|
+
decodeKey(data) {
|
|
11
|
+
return bytesToInt(super.decodeKey(data), "be");
|
|
12
|
+
}
|
|
13
|
+
getId(_value) {
|
|
14
|
+
throw new Error("Unable to create timestamp from block hash");
|
|
15
|
+
}
|
|
16
|
+
async batchPutValues(eth1Datas) {
|
|
17
|
+
await this.batchPut(eth1Datas.map((eth1Data) => ({
|
|
18
|
+
key: eth1Data.timestamp,
|
|
19
|
+
value: eth1Data,
|
|
20
|
+
})));
|
|
21
|
+
}
|
|
22
|
+
async deleteOld(timestamp) {
|
|
23
|
+
await this.batchDelete(await this.keys({ lt: timestamp }));
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=eth1Data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eth1Data.js","sourceRoot":"","sources":["../../../src/db/repositories/eth1Data.ts"],"names":[],"mappings":"AACA,OAAO,EAAK,UAAU,EAAC,MAAM,cAAc,CAAC;AAC5C,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,UAAU,EAAC,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,kBAAmB,SAAQ,UAA0C;IAChF,YAAY,MAAuB,EAAE,EAAM;QACzC,MAAM,MAAM,GAAG,MAAM,CAAC,eAAe,CAAC;QACtC,KAAK,CAAC,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,eAAe,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC;IACtF,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,OAAO,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAA0B,EAAE,IAAI,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,MAAuB;QAC3B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAA2D;QAC9E,MAAM,IAAI,CAAC,QAAQ,CACjB,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC3B,GAAG,EAAE,QAAQ,CAAC,SAAS;YACvB,KAAK,EAAE,QAAQ;SAChB,CAAC,CAAC,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,SAAiB;QAC/B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,SAAS,EAAC,CAAC,CAAC,CAAC;IAC3D,CAAC;CACF"}
|
|
@@ -8,6 +8,9 @@ export { BlockArchiveRepository } from "./blockArchive.js";
|
|
|
8
8
|
export { BLSToExecutionChangeRepository } from "./blsToExecutionChange.js";
|
|
9
9
|
export { DataColumnSidecarRepository } from "./dataColumnSidecar.js";
|
|
10
10
|
export { DataColumnSidecarArchiveRepository } from "./dataColumnSidecarArchive.js";
|
|
11
|
+
export { DepositDataRootRepository } from "./depositDataRoot.js";
|
|
12
|
+
export { DepositEventRepository } from "./depositEvent.js";
|
|
13
|
+
export { Eth1DataRepository } from "./eth1Data.js";
|
|
11
14
|
export { BestLightClientUpdateRepository } from "./lightclientBestUpdate.js";
|
|
12
15
|
export { CheckpointHeaderRepository } from "./lightclientCheckpointHeader.js";
|
|
13
16
|
export { SyncCommitteeRepository } from "./lightclientSyncCommittee.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAC,8BAA8B,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAC3C,YAAY,EAAC,8BAA8B,EAAE,kBAAkB,EAAC,MAAM,mBAAmB,CAAC;AAC1F,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
|
|
@@ -7,6 +7,9 @@ export { BlockArchiveRepository } from "./blockArchive.js";
|
|
|
7
7
|
export { BLSToExecutionChangeRepository } from "./blsToExecutionChange.js";
|
|
8
8
|
export { DataColumnSidecarRepository } from "./dataColumnSidecar.js";
|
|
9
9
|
export { DataColumnSidecarArchiveRepository } from "./dataColumnSidecarArchive.js";
|
|
10
|
+
export { DepositDataRootRepository } from "./depositDataRoot.js";
|
|
11
|
+
export { DepositEventRepository } from "./depositEvent.js";
|
|
12
|
+
export { Eth1DataRepository } from "./eth1Data.js";
|
|
10
13
|
export { BestLightClientUpdateRepository } from "./lightclientBestUpdate.js";
|
|
11
14
|
export { CheckpointHeaderRepository } from "./lightclientCheckpointHeader.js";
|
|
12
15
|
export { SyncCommitteeRepository } from "./lightclientSyncCommittee.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/repositories/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,gBAAgB,EAAC,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,6BAA6B,EAAC,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAE3C,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,8BAA8B,EAAC,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAC,kCAAkC,EAAC,MAAM,+BAA+B,CAAC;AACjF,OAAO,EAAC,yBAAyB,EAAC,MAAM,sBAAsB,CAAC;AAC/D,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAC,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAC,8BAA8B,EAAC,MAAM,sCAAsC,CAAC;AACpF,OAAO,EAAC,0BAA0B,EAAC,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAC,sBAAsB,EAAC,MAAM,mBAAmB,CAAC;AACzD,OAAO,EAAC,uBAAuB,EAAC,MAAM,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/db/single/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,iCAAiC,EAAC,MAAM,wCAAwC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/db/single/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAC,iCAAiC,EAAC,MAAM,wCAAwC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
+
import { Db } from "@lodestar/db";
|
|
3
|
+
import { BeaconStateAllForks } from "@lodestar/state-transition";
|
|
4
|
+
export declare class PreGenesisState {
|
|
5
|
+
private readonly config;
|
|
6
|
+
private readonly bucket;
|
|
7
|
+
private readonly db;
|
|
8
|
+
private readonly key;
|
|
9
|
+
private readonly type;
|
|
10
|
+
private readonly dbReqOpts;
|
|
11
|
+
constructor(config: ChainForkConfig, db: Db);
|
|
12
|
+
put(value: BeaconStateAllForks): Promise<void>;
|
|
13
|
+
get(): Promise<BeaconStateAllForks | null>;
|
|
14
|
+
delete(): Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=preGenesisState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preGenesisState.d.ts","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAE3C,OAAO,EAAC,mBAAmB,EAAC,MAAM,4BAA4B,CAAC;AAI/D,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAsC;IAC3D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IASrC,GAAG,CAAC,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,GAAG,IAAI,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAK1C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { GENESIS_SLOT } from "@lodestar/params";
|
|
2
|
+
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
3
|
+
export class PreGenesisState {
|
|
4
|
+
config;
|
|
5
|
+
bucket;
|
|
6
|
+
db;
|
|
7
|
+
key;
|
|
8
|
+
type;
|
|
9
|
+
dbReqOpts;
|
|
10
|
+
constructor(config, db) {
|
|
11
|
+
this.config = config;
|
|
12
|
+
this.db = db;
|
|
13
|
+
this.bucket = Bucket.phase0_preGenesisState;
|
|
14
|
+
this.key = new Uint8Array([this.bucket]);
|
|
15
|
+
this.type = this.config.getForkTypes(GENESIS_SLOT).BeaconState;
|
|
16
|
+
this.dbReqOpts = { bucketId: getBucketNameByValue(this.bucket) };
|
|
17
|
+
}
|
|
18
|
+
async put(value) {
|
|
19
|
+
await this.db.put(this.key, value.serialize(), this.dbReqOpts);
|
|
20
|
+
}
|
|
21
|
+
async get() {
|
|
22
|
+
const value = await this.db.get(this.key, this.dbReqOpts);
|
|
23
|
+
return value ? this.type.deserializeToViewDU(value) : null;
|
|
24
|
+
}
|
|
25
|
+
async delete() {
|
|
26
|
+
await this.db.delete(this.key, this.dbReqOpts);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=preGenesisState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preGenesisState.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisState.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAGvD,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,eAAe;IACT,MAAM,CAAkB;IACxB,MAAM,CAAS;IACf,EAAE,CAAK;IACP,GAAG,CAAa;IAChB,IAAI,CAAsC;IAC1C,SAAS,CAAY;IAEtC,YAAY,MAAuB,EAAE,EAAM;QACzC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,sBAAsB,CAAC;QAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC;QAC/D,IAAI,CAAC,SAAS,GAAG,EAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAA0B;QAClC,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
+
import { Db } from "@lodestar/db";
|
|
3
|
+
export declare class PreGenesisStateLastProcessedBlock {
|
|
4
|
+
private readonly bucket;
|
|
5
|
+
private readonly type;
|
|
6
|
+
private readonly db;
|
|
7
|
+
private readonly key;
|
|
8
|
+
private readonly dbReqOpts;
|
|
9
|
+
constructor(_config: ChainForkConfig, db: Db);
|
|
10
|
+
put(value: number): Promise<void>;
|
|
11
|
+
get(): Promise<number | null>;
|
|
12
|
+
delete(): Promise<void>;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=preGenesisStateLastProcessedBlock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preGenesisStateLastProcessedBlock.d.ts","sourceRoot":"","sources":["../../../src/db/single/preGenesisStateLastProcessedBlock.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,EAAE,EAAY,MAAM,cAAc,CAAC;AAI3C,qBAAa,iCAAiC;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAiB;IACtC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAK;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAY;gBAE1B,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,EAAE;IAQtC,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjC,GAAG,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAK7B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;CAG9B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ssz } from "@lodestar/types";
|
|
2
|
+
import { Bucket, getBucketNameByValue } from "../buckets.js";
|
|
3
|
+
export class PreGenesisStateLastProcessedBlock {
|
|
4
|
+
bucket;
|
|
5
|
+
type;
|
|
6
|
+
db;
|
|
7
|
+
key;
|
|
8
|
+
dbReqOpts;
|
|
9
|
+
constructor(_config, db) {
|
|
10
|
+
this.db = db;
|
|
11
|
+
this.type = ssz.UintNum64;
|
|
12
|
+
this.bucket = Bucket.phase0_preGenesisStateLastProcessedBlock;
|
|
13
|
+
this.key = new Uint8Array([this.bucket]);
|
|
14
|
+
this.dbReqOpts = { bucketId: getBucketNameByValue(this.bucket) };
|
|
15
|
+
}
|
|
16
|
+
async put(value) {
|
|
17
|
+
await this.db.put(this.key, this.type.serialize(value), this.dbReqOpts);
|
|
18
|
+
}
|
|
19
|
+
async get() {
|
|
20
|
+
const value = await this.db.get(this.key, this.dbReqOpts);
|
|
21
|
+
return value ? this.type.deserialize(value) : null;
|
|
22
|
+
}
|
|
23
|
+
async delete() {
|
|
24
|
+
await this.db.delete(this.key, this.dbReqOpts);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=preGenesisStateLastProcessedBlock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preGenesisStateLastProcessedBlock.js","sourceRoot":"","sources":["../../../src/db/single/preGenesisStateLastProcessedBlock.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACpC,OAAO,EAAC,MAAM,EAAE,oBAAoB,EAAC,MAAM,eAAe,CAAC;AAE3D,MAAM,OAAO,iCAAiC;IAC3B,MAAM,CAAS;IACf,IAAI,CAAiB;IACrB,EAAE,CAAK;IACP,GAAG,CAAa;IAChB,SAAS,CAAY;IAEtC,YAAY,OAAwB,EAAE,EAAM;QAC1C,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC;QAC1B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,wCAAwC,CAAC;QAC9D,IAAI,CAAC,GAAG,GAAG,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,EAAC,QAAQ,EAAE,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,EAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,KAAa;QACrB,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,GAAG;QACP,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;CACF"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { LodestarError } from "@lodestar/utils";
|
|
2
|
+
export declare enum Eth1ErrorCode {
|
|
3
|
+
/** Deposit index too high */
|
|
4
|
+
DEPOSIT_INDEX_TOO_HIGH = "ETH1_ERROR_DEPOSIT_INDEX_TOO_HIGH",
|
|
5
|
+
/** Not enough deposits in DB */
|
|
6
|
+
NOT_ENOUGH_DEPOSITS = "ETH1_ERROR_NOT_ENOUGH_DEPOSITS",
|
|
7
|
+
/** Too many deposits returned by DB */
|
|
8
|
+
TOO_MANY_DEPOSITS = "ETH1_ERROR_TOO_MANY_DEPOSITS",
|
|
9
|
+
/** Deposit root tree does not match current eth1Data */
|
|
10
|
+
WRONG_DEPOSIT_ROOT = "ETH1_ERROR_WRONG_DEPOSIT_ROOT",
|
|
11
|
+
/** No deposits found for block range */
|
|
12
|
+
NO_DEPOSITS_FOR_BLOCK_RANGE = "ETH1_ERROR_NO_DEPOSITS_FOR_BLOCK_RANGE",
|
|
13
|
+
/** No depositRoot for depositCount */
|
|
14
|
+
NO_DEPOSIT_ROOT = "ETH1_ERROR_NO_DEPOSIT_ROOT",
|
|
15
|
+
/** Not enough deposit roots for index */
|
|
16
|
+
NOT_ENOUGH_DEPOSIT_ROOTS = "ETH1_ERROR_NOT_ENOUGH_DEPOSIT_ROOTS",
|
|
17
|
+
/** Attempted to insert a duplicate log for same index into the Eth1DepositsCache */
|
|
18
|
+
DUPLICATE_DISTINCT_LOG = "ETH1_ERROR_DUPLICATE_DISTINCT_LOG",
|
|
19
|
+
/** Attempted to insert a log with index != prev + 1 into the Eth1DepositsCache */
|
|
20
|
+
NON_CONSECUTIVE_LOGS = "ETH1_ERROR_NON_CONSECUTIVE_LOGS",
|
|
21
|
+
/** Expected a deposit log in the db for the index, missing log implies a corrupted db */
|
|
22
|
+
MISSING_DEPOSIT_LOG = "ETH1_ERROR_MISSING_DEPOSIT_LOG"
|
|
23
|
+
}
|
|
24
|
+
export type Eth1ErrorType = {
|
|
25
|
+
code: Eth1ErrorCode.DEPOSIT_INDEX_TOO_HIGH;
|
|
26
|
+
depositIndex: number;
|
|
27
|
+
depositCount: number;
|
|
28
|
+
} | {
|
|
29
|
+
code: Eth1ErrorCode.NOT_ENOUGH_DEPOSITS;
|
|
30
|
+
len: number;
|
|
31
|
+
expectedLen: number;
|
|
32
|
+
} | {
|
|
33
|
+
code: Eth1ErrorCode.TOO_MANY_DEPOSITS;
|
|
34
|
+
len: number;
|
|
35
|
+
expectedLen: number;
|
|
36
|
+
} | {
|
|
37
|
+
code: Eth1ErrorCode.WRONG_DEPOSIT_ROOT;
|
|
38
|
+
root: string;
|
|
39
|
+
expectedRoot: string;
|
|
40
|
+
} | {
|
|
41
|
+
code: Eth1ErrorCode.NO_DEPOSITS_FOR_BLOCK_RANGE;
|
|
42
|
+
fromBlock: number;
|
|
43
|
+
toBlock: number;
|
|
44
|
+
} | {
|
|
45
|
+
code: Eth1ErrorCode.NO_DEPOSIT_ROOT;
|
|
46
|
+
depositCount: number;
|
|
47
|
+
} | {
|
|
48
|
+
code: Eth1ErrorCode.NOT_ENOUGH_DEPOSIT_ROOTS;
|
|
49
|
+
index: number;
|
|
50
|
+
treeLength: number;
|
|
51
|
+
} | {
|
|
52
|
+
code: Eth1ErrorCode.DUPLICATE_DISTINCT_LOG;
|
|
53
|
+
newIndex: number;
|
|
54
|
+
lastLogIndex: number;
|
|
55
|
+
} | {
|
|
56
|
+
code: Eth1ErrorCode.NON_CONSECUTIVE_LOGS;
|
|
57
|
+
newIndex: number;
|
|
58
|
+
lastLogIndex: number;
|
|
59
|
+
} | {
|
|
60
|
+
code: Eth1ErrorCode.MISSING_DEPOSIT_LOG;
|
|
61
|
+
newIndex: number;
|
|
62
|
+
lastLogIndex: number;
|
|
63
|
+
};
|
|
64
|
+
export declare class Eth1Error extends LodestarError<Eth1ErrorType> {
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/eth1/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,oBAAY,aAAa;IACvB,6BAA6B;IAC7B,sBAAsB,sCAAsC;IAC5D,gCAAgC;IAChC,mBAAmB,mCAAmC;IACtD,uCAAuC;IACvC,iBAAiB,iCAAiC;IAClD,wDAAwD;IACxD,kBAAkB,kCAAkC;IAEpD,wCAAwC;IACxC,2BAA2B,2CAA2C;IACtE,sCAAsC;IACtC,eAAe,+BAA+B;IAC9C,yCAAyC;IACzC,wBAAwB,wCAAwC;IAEhE,oFAAoF;IACpF,sBAAsB,sCAAsC;IAC5D,kFAAkF;IAClF,oBAAoB,oCAAoC;IACxD,yFAAyF;IACzF,mBAAmB,mCAAmC;CACvD;AAED,MAAM,MAAM,aAAa,GACrB;IAAC,IAAI,EAAE,aAAa,CAAC,sBAAsB,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GACxF;IAAC,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GAC3E;IAAC,IAAI,EAAE,aAAa,CAAC,iBAAiB,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CAAC,GACzE;IAAC,IAAI,EAAE,aAAa,CAAC,kBAAkB,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAC5E;IAAC,IAAI,EAAE,aAAa,CAAC,2BAA2B,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAC,GACrF;IAAC,IAAI,EAAE,aAAa,CAAC,eAAe,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAC3D;IAAC,IAAI,EAAE,aAAa,CAAC,wBAAwB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAC,GACjF;IAAC,IAAI,EAAE,aAAa,CAAC,sBAAsB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GACpF;IAAC,IAAI,EAAE,aAAa,CAAC,oBAAoB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,GAClF;IAAC,IAAI,EAAE,aAAa,CAAC,mBAAmB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAC,CAAC;AAEtF,qBAAa,SAAU,SAAQ,aAAa,CAAC,aAAa,CAAC;CAAG"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { LodestarError } from "@lodestar/utils";
|
|
2
|
+
export var Eth1ErrorCode;
|
|
3
|
+
(function (Eth1ErrorCode) {
|
|
4
|
+
/** Deposit index too high */
|
|
5
|
+
Eth1ErrorCode["DEPOSIT_INDEX_TOO_HIGH"] = "ETH1_ERROR_DEPOSIT_INDEX_TOO_HIGH";
|
|
6
|
+
/** Not enough deposits in DB */
|
|
7
|
+
Eth1ErrorCode["NOT_ENOUGH_DEPOSITS"] = "ETH1_ERROR_NOT_ENOUGH_DEPOSITS";
|
|
8
|
+
/** Too many deposits returned by DB */
|
|
9
|
+
Eth1ErrorCode["TOO_MANY_DEPOSITS"] = "ETH1_ERROR_TOO_MANY_DEPOSITS";
|
|
10
|
+
/** Deposit root tree does not match current eth1Data */
|
|
11
|
+
Eth1ErrorCode["WRONG_DEPOSIT_ROOT"] = "ETH1_ERROR_WRONG_DEPOSIT_ROOT";
|
|
12
|
+
/** No deposits found for block range */
|
|
13
|
+
Eth1ErrorCode["NO_DEPOSITS_FOR_BLOCK_RANGE"] = "ETH1_ERROR_NO_DEPOSITS_FOR_BLOCK_RANGE";
|
|
14
|
+
/** No depositRoot for depositCount */
|
|
15
|
+
Eth1ErrorCode["NO_DEPOSIT_ROOT"] = "ETH1_ERROR_NO_DEPOSIT_ROOT";
|
|
16
|
+
/** Not enough deposit roots for index */
|
|
17
|
+
Eth1ErrorCode["NOT_ENOUGH_DEPOSIT_ROOTS"] = "ETH1_ERROR_NOT_ENOUGH_DEPOSIT_ROOTS";
|
|
18
|
+
/** Attempted to insert a duplicate log for same index into the Eth1DepositsCache */
|
|
19
|
+
Eth1ErrorCode["DUPLICATE_DISTINCT_LOG"] = "ETH1_ERROR_DUPLICATE_DISTINCT_LOG";
|
|
20
|
+
/** Attempted to insert a log with index != prev + 1 into the Eth1DepositsCache */
|
|
21
|
+
Eth1ErrorCode["NON_CONSECUTIVE_LOGS"] = "ETH1_ERROR_NON_CONSECUTIVE_LOGS";
|
|
22
|
+
/** Expected a deposit log in the db for the index, missing log implies a corrupted db */
|
|
23
|
+
Eth1ErrorCode["MISSING_DEPOSIT_LOG"] = "ETH1_ERROR_MISSING_DEPOSIT_LOG";
|
|
24
|
+
})(Eth1ErrorCode || (Eth1ErrorCode = {}));
|
|
25
|
+
export class Eth1Error extends LodestarError {
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/eth1/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAE9C,MAAM,CAAN,IAAY,aAuBX;AAvBD,WAAY,aAAa;IACvB,6BAA6B;IAC7B,6EAA4D,CAAA;IAC5D,gCAAgC;IAChC,uEAAsD,CAAA;IACtD,uCAAuC;IACvC,mEAAkD,CAAA;IAClD,wDAAwD;IACxD,qEAAoD,CAAA;IAEpD,wCAAwC;IACxC,uFAAsE,CAAA;IACtE,sCAAsC;IACtC,+DAA8C,CAAA;IAC9C,yCAAyC;IACzC,iFAAgE,CAAA;IAEhE,oFAAoF;IACpF,6EAA4D,CAAA;IAC5D,kFAAkF;IAClF,yEAAwD,CAAA;IACxD,yFAAyF;IACzF,uEAAsD,CAAA;AACxD,CAAC,EAvBW,aAAa,KAAb,aAAa,QAuBxB;AAcD,MAAM,OAAO,SAAU,SAAQ,aAA4B;CAAG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
+
import { phase0 } from "@lodestar/types";
|
|
3
|
+
import { IBeaconDb } from "../db/index.js";
|
|
4
|
+
export declare class Eth1DataCache {
|
|
5
|
+
db: IBeaconDb;
|
|
6
|
+
config: ChainForkConfig;
|
|
7
|
+
constructor(config: ChainForkConfig, db: IBeaconDb);
|
|
8
|
+
get({ timestampRange }: {
|
|
9
|
+
timestampRange: {
|
|
10
|
+
gte: number;
|
|
11
|
+
lte: number;
|
|
12
|
+
};
|
|
13
|
+
}): Promise<phase0.Eth1DataOrdered[]>;
|
|
14
|
+
add(eth1Datas: (phase0.Eth1DataOrdered & {
|
|
15
|
+
timestamp: number;
|
|
16
|
+
})[]): Promise<void>;
|
|
17
|
+
getHighestCachedBlockNumber(): Promise<number | null>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=eth1DataCache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eth1DataCache.d.ts","sourceRoot":"","sources":["../../src/eth1/eth1DataCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AAEzC,qBAAa,aAAa;IACxB,EAAE,EAAE,SAAS,CAAC;IACd,MAAM,EAAE,eAAe,CAAC;gBAEZ,MAAM,EAAE,eAAe,EAAE,EAAE,EAAE,SAAS;IAK5C,GAAG,CAAC,EAAC,cAAc,EAAC,EAAE;QAAC,cAAc,EAAE;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAA;SAAC,CAAA;KAAC,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;IAItG,GAAG,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC,eAAe,GAAG;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAI/E,2BAA2B,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAI5D"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export class Eth1DataCache {
|
|
2
|
+
db;
|
|
3
|
+
config;
|
|
4
|
+
constructor(config, db) {
|
|
5
|
+
this.config = config;
|
|
6
|
+
this.db = db;
|
|
7
|
+
}
|
|
8
|
+
async get({ timestampRange }) {
|
|
9
|
+
return this.db.eth1Data.values(timestampRange);
|
|
10
|
+
}
|
|
11
|
+
async add(eth1Datas) {
|
|
12
|
+
await this.db.eth1Data.batchPutValues(eth1Datas);
|
|
13
|
+
}
|
|
14
|
+
async getHighestCachedBlockNumber() {
|
|
15
|
+
const highestEth1Data = await this.db.eth1Data.lastValue();
|
|
16
|
+
return highestEth1Data?.blockNumber ?? null;
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=eth1DataCache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eth1DataCache.js","sourceRoot":"","sources":["../../src/eth1/eth1DataCache.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,aAAa;IACxB,EAAE,CAAY;IACd,MAAM,CAAkB;IAExB,YAAY,MAAuB,EAAE,EAAa;QAChD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAC,cAAc,EAA+C;QACtE,OAAO,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,SAA2D;QACnE,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;QAC3D,OAAO,eAAe,EAAE,WAAW,IAAI,IAAI,CAAC;IAC9C,CAAC;CACF"}
|