@lodestar/beacon-node 1.39.0-dev.b37f2bd1bd → 1.39.0-dev.c151a164f2
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/blocks/verifyBlock.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlock.js +1 -1
- package/lib/chain/blocks/verifyBlock.js.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -1
- package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
- package/lib/chain/blocks/verifyBlocksSignatures.js +2 -2
- package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
- package/lib/chain/chain.d.ts +1 -4
- package/lib/chain/chain.d.ts.map +1 -1
- package/lib/chain/chain.js +8 -16
- package/lib/chain/chain.js.map +1 -1
- package/lib/chain/initState.d.ts +1 -14
- package/lib/chain/initState.d.ts.map +1 -1
- package/lib/chain/initState.js +1 -62
- package/lib/chain/initState.js.map +1 -1
- package/lib/chain/interface.d.ts +0 -2
- package/lib/chain/interface.d.ts.map +1 -1
- package/lib/chain/interface.js.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts +4 -4
- package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
- package/lib/chain/opPools/aggregatedAttestationPool.js +4 -4
- package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
- package/lib/chain/opPools/opPool.d.ts +3 -0
- package/lib/chain/opPools/opPool.d.ts.map +1 -1
- package/lib/chain/opPools/opPool.js +9 -8
- package/lib/chain/opPools/opPool.js.map +1 -1
- package/lib/chain/prepareNextSlot.d.ts +0 -4
- package/lib/chain/prepareNextSlot.d.ts.map +1 -1
- package/lib/chain/prepareNextSlot.js +1 -21
- package/lib/chain/prepareNextSlot.js.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts +0 -1
- package/lib/chain/produceBlock/produceBlockBody.d.ts.map +1 -1
- package/lib/chain/produceBlock/produceBlockBody.js +8 -11
- package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
- package/lib/chain/rewards/attestationsRewards.d.ts +2 -1
- package/lib/chain/rewards/attestationsRewards.d.ts.map +1 -1
- package/lib/chain/rewards/attestationsRewards.js +8 -8
- package/lib/chain/rewards/attestationsRewards.js.map +1 -1
- package/lib/chain/rewards/blockRewards.d.ts +2 -1
- package/lib/chain/rewards/blockRewards.d.ts.map +1 -1
- package/lib/chain/rewards/blockRewards.js +5 -5
- package/lib/chain/rewards/blockRewards.js.map +1 -1
- package/lib/chain/rewards/syncCommitteeRewards.d.ts +2 -1
- package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +1 -1
- package/lib/chain/rewards/syncCommitteeRewards.js +2 -2
- package/lib/chain/rewards/syncCommitteeRewards.js.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +4 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
- package/lib/chain/stateCache/persistentCheckpointsCache.js +4 -2
- package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
- package/lib/chain/validation/attesterSlashing.js +1 -1
- package/lib/chain/validation/attesterSlashing.js.map +1 -1
- package/lib/chain/validation/block.js +1 -1
- package/lib/chain/validation/block.js.map +1 -1
- package/lib/chain/validation/blsToExecutionChange.js +1 -1
- package/lib/chain/validation/proposerSlashing.js +1 -1
- package/lib/chain/validation/proposerSlashing.js.map +1 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.js +1 -1
- package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +2 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/contributionAndProof.js +2 -2
- package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -1
- package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommittee.js +2 -2
- package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +2 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
- package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +1 -2
- package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
- package/lib/chain/validation/syncCommittee.js +1 -1
- package/lib/chain/validation/syncCommittee.js.map +1 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
- package/lib/chain/validation/syncCommitteeContributionAndProof.js +3 -3
- package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
- package/lib/chain/validation/voluntaryExit.js +1 -1
- package/lib/chain/validation/voluntaryExit.js.map +1 -1
- package/lib/db/beacon.d.ts +3 -7
- package/lib/db/beacon.d.ts.map +1 -1
- package/lib/db/beacon.js +33 -12
- package/lib/db/beacon.js.map +1 -1
- package/lib/db/buckets.d.ts +12 -6
- package/lib/db/buckets.d.ts.map +1 -1
- package/lib/db/buckets.js +6 -1
- package/lib/db/buckets.js.map +1 -1
- package/lib/db/interface.d.ts +2 -7
- package/lib/db/interface.d.ts.map +1 -1
- package/lib/db/repositories/index.d.ts +0 -3
- package/lib/db/repositories/index.d.ts.map +1 -1
- package/lib/db/repositories/index.js +0 -3
- package/lib/db/repositories/index.js.map +1 -1
- 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 +2 -3
- 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/{eth1/provider → execution/engine}/jsonRpcHttpClient.d.ts +1 -1
- package/lib/execution/engine/jsonRpcHttpClient.d.ts.map +1 -0
- package/lib/execution/engine/jsonRpcHttpClient.js.map +1 -0
- package/lib/execution/engine/jwt.d.ts.map +1 -0
- package/lib/execution/engine/jwt.js.map +1 -0
- 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 +64 -2
- package/lib/execution/engine/utils.d.ts.map +1 -1
- package/lib/execution/engine/utils.js +91 -2
- package/lib/execution/engine/utils.js.map +1 -1
- package/lib/index.d.ts +1 -2
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +1 -2
- package/lib/index.js.map +1 -1
- package/lib/metrics/metrics/lodestar.d.ts +0 -35
- package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
- package/lib/metrics/metrics/lodestar.js +0 -90
- package/lib/metrics/metrics/lodestar.js.map +1 -1
- package/lib/node/nodejs.d.ts.map +1 -1
- package/lib/node/nodejs.js +10 -9
- package/lib/node/nodejs.js.map +1 -1
- package/lib/node/options.d.ts +0 -2
- package/lib/node/options.d.ts.map +1 -1
- package/lib/node/options.js +0 -2
- package/lib/node/options.js.map +1 -1
- package/lib/node/utils/interop/deposits.d.ts +2 -1
- 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 +1 -7
- package/lib/node/utils/state.d.ts.map +1 -1
- package/lib/node/utils/state.js +1 -14
- package/lib/node/utils/state.js.map +1 -1
- package/lib/sync/backfill/backfill.d.ts.map +1 -1
- package/lib/sync/backfill/backfill.js +2 -4
- package/lib/sync/backfill/backfill.js.map +1 -1
- package/lib/sync/backfill/verify.d.ts +1 -1
- package/lib/sync/backfill/verify.d.ts.map +1 -1
- package/lib/sync/backfill/verify.js +2 -2
- package/lib/sync/backfill/verify.js.map +1 -1
- package/package.json +14 -20
- package/src/api/impl/beacon/blocks/utils.ts +1 -1
- package/src/chain/blocks/verifyBlock.ts +1 -0
- package/src/chain/blocks/verifyBlocksSignatures.ts +3 -1
- package/src/chain/chain.ts +7 -19
- package/src/chain/initState.ts +1 -97
- package/src/chain/interface.ts +0 -2
- package/src/chain/opPools/aggregatedAttestationPool.ts +7 -7
- package/src/chain/opPools/opPool.ts +8 -8
- package/src/chain/prepareNextSlot.ts +1 -28
- package/src/chain/produceBlock/produceBlockBody.ts +8 -12
- package/src/chain/rewards/attestationsRewards.ts +13 -4
- package/src/chain/rewards/blockRewards.ts +6 -3
- package/src/chain/rewards/syncCommitteeRewards.ts +3 -1
- package/src/chain/stateCache/persistentCheckpointsCache.ts +15 -2
- package/src/chain/validation/attesterSlashing.ts +1 -1
- package/src/chain/validation/block.ts +1 -1
- package/src/chain/validation/blsToExecutionChange.ts +1 -1
- package/src/chain/validation/proposerSlashing.ts +1 -1
- package/src/chain/validation/signatureSets/aggregateAndProof.ts +1 -1
- package/src/chain/validation/signatureSets/contributionAndProof.ts +3 -1
- package/src/chain/validation/signatureSets/syncCommittee.ts +3 -1
- package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +3 -1
- package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +2 -1
- package/src/chain/validation/syncCommittee.ts +1 -1
- package/src/chain/validation/syncCommitteeContributionAndProof.ts +8 -3
- package/src/chain/validation/voluntaryExit.ts +1 -1
- package/src/db/beacon.ts +38 -16
- package/src/db/buckets.ts +12 -7
- package/src/db/interface.ts +2 -13
- package/src/db/repositories/index.ts +0 -3
- package/src/execution/engine/http.ts +8 -9
- package/src/execution/engine/index.ts +1 -1
- package/src/execution/engine/interface.ts +1 -1
- package/src/{eth1/provider → execution/engine}/jsonRpcHttpClient.ts +1 -1
- package/src/execution/engine/mock.ts +1 -2
- package/src/execution/engine/payloadIdCache.ts +1 -1
- package/src/execution/engine/types.ts +9 -9
- package/src/execution/engine/utils.ts +111 -5
- package/src/index.ts +1 -2
- package/src/metrics/metrics/lodestar.ts +0 -92
- package/src/node/nodejs.ts +11 -9
- package/src/node/options.ts +0 -3
- package/src/node/utils/interop/deposits.ts +3 -1
- package/src/node/utils/interop/state.ts +1 -1
- package/src/node/utils/state.ts +3 -18
- package/src/sync/backfill/backfill.ts +8 -3
- package/src/sync/backfill/verify.ts +3 -1
- package/lib/chain/genesis/genesis.d.ts +0 -51
- package/lib/chain/genesis/genesis.d.ts.map +0 -1
- package/lib/chain/genesis/genesis.js +0 -123
- package/lib/chain/genesis/genesis.js.map +0 -1
- package/lib/chain/genesis/interface.d.ts +0 -13
- package/lib/chain/genesis/interface.d.ts.map +0 -1
- package/lib/chain/genesis/interface.js +0 -2
- package/lib/chain/genesis/interface.js.map +0 -1
- package/lib/db/repositories/depositDataRoot.d.ts +0 -22
- package/lib/db/repositories/depositDataRoot.d.ts.map +0 -1
- package/lib/db/repositories/depositDataRoot.js +0 -62
- package/lib/db/repositories/depositDataRoot.js.map +0 -1
- package/lib/db/repositories/depositEvent.d.ts +0 -13
- package/lib/db/repositories/depositEvent.d.ts.map +0 -1
- package/lib/db/repositories/depositEvent.js +0 -27
- package/lib/db/repositories/depositEvent.js.map +0 -1
- package/lib/db/repositories/eth1Data.d.ts +0 -13
- package/lib/db/repositories/eth1Data.d.ts.map +0 -1
- package/lib/db/repositories/eth1Data.js +0 -26
- package/lib/db/repositories/eth1Data.js.map +0 -1
- package/lib/db/single/index.d.ts +0 -3
- package/lib/db/single/index.d.ts.map +0 -1
- package/lib/db/single/index.js +0 -3
- package/lib/db/single/index.js.map +0 -1
- package/lib/db/single/preGenesisState.d.ts +0 -16
- package/lib/db/single/preGenesisState.d.ts.map +0 -1
- package/lib/db/single/preGenesisState.js +0 -29
- package/lib/db/single/preGenesisState.js.map +0 -1
- package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts +0 -14
- package/lib/db/single/preGenesisStateLastProcessedBlock.d.ts.map +0 -1
- package/lib/db/single/preGenesisStateLastProcessedBlock.js +0 -27
- package/lib/db/single/preGenesisStateLastProcessedBlock.js.map +0 -1
- package/lib/eth1/errors.d.ts +0 -66
- package/lib/eth1/errors.d.ts.map +0 -1
- package/lib/eth1/errors.js +0 -27
- package/lib/eth1/errors.js.map +0 -1
- package/lib/eth1/eth1DataCache.d.ts +0 -19
- package/lib/eth1/eth1DataCache.d.ts.map +0 -1
- package/lib/eth1/eth1DataCache.js +0 -19
- package/lib/eth1/eth1DataCache.js.map +0 -1
- package/lib/eth1/eth1DepositDataTracker.d.ts +0 -80
- package/lib/eth1/eth1DepositDataTracker.d.ts.map +0 -1
- package/lib/eth1/eth1DepositDataTracker.js +0 -317
- package/lib/eth1/eth1DepositDataTracker.js.map +0 -1
- package/lib/eth1/eth1DepositsCache.d.ts +0 -42
- package/lib/eth1/eth1DepositsCache.d.ts.map +0 -1
- package/lib/eth1/eth1DepositsCache.js +0 -119
- package/lib/eth1/eth1DepositsCache.js.map +0 -1
- package/lib/eth1/index.d.ts +0 -31
- package/lib/eth1/index.d.ts.map +0 -1
- package/lib/eth1/index.js +0 -71
- package/lib/eth1/index.js.map +0 -1
- package/lib/eth1/interface.d.ts +0 -74
- package/lib/eth1/interface.d.ts.map +0 -1
- package/lib/eth1/interface.js +0 -8
- package/lib/eth1/interface.js.map +0 -1
- package/lib/eth1/options.d.ts +0 -22
- package/lib/eth1/options.d.ts.map +0 -1
- package/lib/eth1/options.js +0 -8
- package/lib/eth1/options.js.map +0 -1
- package/lib/eth1/provider/eth1Provider.d.ts +0 -39
- package/lib/eth1/provider/eth1Provider.d.ts.map +0 -1
- package/lib/eth1/provider/eth1Provider.js +0 -147
- package/lib/eth1/provider/eth1Provider.js.map +0 -1
- package/lib/eth1/provider/jsonRpcHttpClient.d.ts.map +0 -1
- package/lib/eth1/provider/jsonRpcHttpClient.js.map +0 -1
- package/lib/eth1/provider/jwt.d.ts.map +0 -1
- package/lib/eth1/provider/jwt.js.map +0 -1
- package/lib/eth1/provider/utils.d.ts +0 -65
- package/lib/eth1/provider/utils.d.ts.map +0 -1
- package/lib/eth1/provider/utils.js +0 -120
- package/lib/eth1/provider/utils.js.map +0 -1
- package/lib/eth1/stream.d.ts +0 -15
- package/lib/eth1/stream.d.ts.map +0 -1
- package/lib/eth1/stream.js +0 -54
- package/lib/eth1/stream.js.map +0 -1
- package/lib/eth1/utils/depositContract.d.ts +0 -14
- package/lib/eth1/utils/depositContract.d.ts.map +0 -1
- package/lib/eth1/utils/depositContract.js +0 -33
- package/lib/eth1/utils/depositContract.js.map +0 -1
- package/lib/eth1/utils/deposits.d.ts +0 -8
- package/lib/eth1/utils/deposits.d.ts.map +0 -1
- package/lib/eth1/utils/deposits.js +0 -47
- package/lib/eth1/utils/deposits.js.map +0 -1
- package/lib/eth1/utils/eth1Data.d.ts +0 -22
- package/lib/eth1/utils/eth1Data.d.ts.map +0 -1
- package/lib/eth1/utils/eth1Data.js +0 -77
- package/lib/eth1/utils/eth1Data.js.map +0 -1
- package/lib/eth1/utils/eth1DepositEvent.d.ts +0 -7
- package/lib/eth1/utils/eth1DepositEvent.d.ts.map +0 -1
- package/lib/eth1/utils/eth1DepositEvent.js +0 -13
- package/lib/eth1/utils/eth1DepositEvent.js.map +0 -1
- package/lib/eth1/utils/eth1Vote.d.ts +0 -17
- package/lib/eth1/utils/eth1Vote.d.ts.map +0 -1
- package/lib/eth1/utils/eth1Vote.js +0 -111
- package/lib/eth1/utils/eth1Vote.js.map +0 -1
- package/lib/eth1/utils/groupDepositEventsByBlock.d.ts +0 -9
- package/lib/eth1/utils/groupDepositEventsByBlock.d.ts.map +0 -1
- package/lib/eth1/utils/groupDepositEventsByBlock.js +0 -17
- package/lib/eth1/utils/groupDepositEventsByBlock.js.map +0 -1
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts +0 -10
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.d.ts.map +0 -1
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js +0 -14
- package/lib/eth1/utils/optimizeNextBlockDiffForGenesis.js.map +0 -1
- package/src/chain/genesis/genesis.ts +0 -190
- package/src/chain/genesis/interface.ts +0 -14
- package/src/db/repositories/depositDataRoot.ts +0 -80
- package/src/db/repositories/depositEvent.ts +0 -32
- package/src/db/repositories/eth1Data.ts +0 -33
- package/src/db/single/index.ts +0 -2
- package/src/db/single/preGenesisState.ts +0 -37
- package/src/db/single/preGenesisStateLastProcessedBlock.ts +0 -34
- package/src/eth1/errors.ts +0 -40
- package/src/eth1/eth1DataCache.ts +0 -26
- package/src/eth1/eth1DepositDataTracker.ts +0 -410
- package/src/eth1/eth1DepositsCache.ts +0 -141
- package/src/eth1/index.ts +0 -94
- package/src/eth1/interface.ts +0 -87
- package/src/eth1/options.ts +0 -28
- package/src/eth1/provider/eth1Provider.ts +0 -229
- package/src/eth1/provider/utils.ts +0 -136
- package/src/eth1/stream.ts +0 -75
- package/src/eth1/utils/depositContract.ts +0 -37
- package/src/eth1/utils/deposits.ts +0 -70
- package/src/eth1/utils/eth1Data.ts +0 -100
- package/src/eth1/utils/eth1DepositEvent.ts +0 -12
- package/src/eth1/utils/eth1Vote.ts +0 -142
- package/src/eth1/utils/groupDepositEventsByBlock.ts +0 -19
- package/src/eth1/utils/optimizeNextBlockDiffForGenesis.ts +0 -18
- /package/lib/{eth1/provider → execution/engine}/jsonRpcHttpClient.js +0 -0
- /package/lib/{eth1/provider → execution/engine}/jwt.d.ts +0 -0
- /package/lib/{eth1/provider → execution/engine}/jwt.js +0 -0
- /package/src/{eth1/provider → execution/engine}/jwt.ts +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsonRpcHttpClient.d.ts","sourceRoot":"","sources":["../../../src/eth1/provider/jsonRpcHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jsonRpcHttpClient.js","sourceRoot":"","sources":["../../../src/eth1/provider/jsonRpcHttpClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../src/eth1/provider/jwt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,YAAY,CAAC;AAK3C;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAC,CAAC;AAE9E,wBAAgB,cAAc,CAC5B,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EACvC,SAAS,GAAE,UAAoB,GAC9B,MAAM,CASR;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,GAAG,UAAU,GAAG,MAAM,EACvC,SAAS,GAAE,UAAoB,GAC9B,QAAQ,CAGV"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.js","sourceRoot":"","sources":["../../../src/eth1/provider/jwt.ts"],"names":[],"mappings":"AAAA,6BAA6B;AAG7B,OAAO,GAAG,MAAM,YAAY,CAAC;AAE7B,MAAM,EAAC,MAAM,EAAE,MAAM,EAAC,GAAG,GAAG,CAAC;AAQ7B,MAAM,UAAU,cAAc,CAC5B,KAAe,EACf,SAAuC,EACvC,YAAwB,OAAO;IAE/B,MAAM,KAAK,GAAG,MAAM,CAClB,KAAK;IACL,sFAAsF;IACtF,4EAA4E;IAC5E,SAA8B,EAC9B,SAAS,CACV,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,cAAc,CAC5B,KAAa,EACb,SAAuC,EACvC,YAAwB,OAAO;IAE/B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,SAA4B,EAAE,KAAK,EAAE,SAAS,CAAa,CAAC;IACxF,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import { RootHex } from "@lodestar/types";
|
|
2
|
-
/** QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API */
|
|
3
|
-
export type QUANTITY = string;
|
|
4
|
-
/** DATA as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API */
|
|
5
|
-
export type DATA = string;
|
|
6
|
-
export declare const rootHexRegex: RegExp;
|
|
7
|
-
export declare function numberToHex(n: number | bigint): string;
|
|
8
|
-
export declare function isJsonRpcTruncatedError(error: Error): boolean;
|
|
9
|
-
export declare function bytesToHex(bytes: Uint8Array): string;
|
|
10
|
-
/**
|
|
11
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
12
|
-
*
|
|
13
|
-
* When encoding QUANTITIES (integers, numbers): encode as hex, prefix with “0x”, the most compact representation (slight exception: zero should be represented as “0x0”). Examples:
|
|
14
|
-
* - 0x41 (65 in decimal)
|
|
15
|
-
* - 0x400 (1024 in decimal)
|
|
16
|
-
* - WRONG: 0x (should always have at least one digit - zero is “0x0”)
|
|
17
|
-
* - WRONG: 0x0400 (no leading zeroes allowed)
|
|
18
|
-
* - WRONG: ff (must be prefixed 0x)
|
|
19
|
-
*/
|
|
20
|
-
export declare function numToQuantity(num: number | bigint): QUANTITY;
|
|
21
|
-
/**
|
|
22
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
23
|
-
*/
|
|
24
|
-
export declare function quantityToNum(hex: QUANTITY, id?: string): number;
|
|
25
|
-
/**
|
|
26
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API.
|
|
27
|
-
* Typesafe fn to convert hex string to bigint. The BigInt constructor param is any
|
|
28
|
-
*/
|
|
29
|
-
export declare function quantityToBigint(hex: QUANTITY, id?: string): bigint;
|
|
30
|
-
/**
|
|
31
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API.
|
|
32
|
-
*/
|
|
33
|
-
export declare function quantityToBytes(hex: QUANTITY): Uint8Array;
|
|
34
|
-
/**
|
|
35
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API.
|
|
36
|
-
* Compress a 32 ByteVector into a QUANTITY
|
|
37
|
-
*/
|
|
38
|
-
export declare function bytesToQuantity(bytes: Uint8Array): QUANTITY;
|
|
39
|
-
/**
|
|
40
|
-
* DATA as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
41
|
-
*
|
|
42
|
-
* When encoding UNFORMATTED DATA (byte arrays, account addresses, hashes, bytecode arrays): encode as hex, prefix with
|
|
43
|
-
* “0x”, two hex digits per byte. Examples:
|
|
44
|
-
*
|
|
45
|
-
* - 0x41 (size 1, “A”)
|
|
46
|
-
* - 0x004200 (size 3, “\0B\0”)
|
|
47
|
-
* - 0x (size 0, “”)
|
|
48
|
-
* - WRONG: 0xf0f0f (must be even number of digits)
|
|
49
|
-
* - WRONG: 004200 (must be prefixed 0x)
|
|
50
|
-
*/
|
|
51
|
-
export declare function bytesToData(bytes: Uint8Array): DATA;
|
|
52
|
-
/**
|
|
53
|
-
* DATA as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
54
|
-
*/
|
|
55
|
-
export declare function dataToBytes(hex: DATA, fixedLength: number | null): Uint8Array;
|
|
56
|
-
/**
|
|
57
|
-
* Convert DATA into a preallocated buffer
|
|
58
|
-
* fromHexInto will throw if buffer's length is not the same as the decoded hex length
|
|
59
|
-
*/
|
|
60
|
-
export declare function dataIntoBytes(hex: DATA, buffer: Uint8Array): Uint8Array;
|
|
61
|
-
/**
|
|
62
|
-
* DATA as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
63
|
-
*/
|
|
64
|
-
export declare function dataToRootHex(hex: DATA, id?: string): RootHex;
|
|
65
|
-
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/eth1/provider/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAIxC,6FAA6F;AAC7F,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC;AAC9B,yFAAyF;AACzF,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B,eAAO,MAAM,YAAY,QAAwB,CAAC;AAElD,wBAAgB,WAAW,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAEtD;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAS7D;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAQpD;AAED;;;;;;;;;GASG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,QAAQ,CAE5D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,SAAK,GAAG,MAAM,CAI5D;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE,SAAK,GAAG,MAAM,CAM/D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,QAAQ,GAAG,UAAU,CAGzD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,UAAU,GAAG,QAAQ,CAG3D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI,CAEnD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAW7E;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,GAAG,UAAU,CAGvE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAK,GAAG,OAAO,CAGzD"}
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
import { bigIntToBytes, bytesToBigInt, fromHex, fromHexInto, toHex } from "@lodestar/utils";
|
|
2
|
-
import { ErrorParseJson } from "./jsonRpcHttpClient.js";
|
|
3
|
-
export const rootHexRegex = /^0x[a-fA-F0-9]{64}$/;
|
|
4
|
-
export function numberToHex(n) {
|
|
5
|
-
return "0x" + n.toString(16);
|
|
6
|
-
}
|
|
7
|
-
export function isJsonRpcTruncatedError(error) {
|
|
8
|
-
return (
|
|
9
|
-
// Truncated responses usually get as 200 but since it's truncated the JSON will be invalid
|
|
10
|
-
error instanceof ErrorParseJson ||
|
|
11
|
-
// Otherwise guess Infura error message of too many events
|
|
12
|
-
(error instanceof Error && error.message.includes("query returned more than 10000 results")) ||
|
|
13
|
-
// Nethermind enforces limits on JSON RPC batch calls
|
|
14
|
-
(error instanceof Error && error.message.toLowerCase().includes("batch size limit exceeded")));
|
|
15
|
-
}
|
|
16
|
-
export function bytesToHex(bytes) {
|
|
17
|
-
// Handle special case in Ethereum hex formating where hex values may include a single letter
|
|
18
|
-
// 0x0, 0x1 are valid values
|
|
19
|
-
if (bytes.length === 1 && bytes[0] <= 0xf) {
|
|
20
|
-
return "0x" + bytes[0].toString(16);
|
|
21
|
-
}
|
|
22
|
-
return toHex(bytes);
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
26
|
-
*
|
|
27
|
-
* When encoding QUANTITIES (integers, numbers): encode as hex, prefix with “0x”, the most compact representation (slight exception: zero should be represented as “0x0”). Examples:
|
|
28
|
-
* - 0x41 (65 in decimal)
|
|
29
|
-
* - 0x400 (1024 in decimal)
|
|
30
|
-
* - WRONG: 0x (should always have at least one digit - zero is “0x0”)
|
|
31
|
-
* - WRONG: 0x0400 (no leading zeroes allowed)
|
|
32
|
-
* - WRONG: ff (must be prefixed 0x)
|
|
33
|
-
*/
|
|
34
|
-
export function numToQuantity(num) {
|
|
35
|
-
return "0x" + num.toString(16);
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
39
|
-
*/
|
|
40
|
-
export function quantityToNum(hex, id = "") {
|
|
41
|
-
const num = parseInt(hex, 16);
|
|
42
|
-
if (Number.isNaN(num) || num < 0)
|
|
43
|
-
throw Error(`Invalid hex decimal ${id} '${hex}'`);
|
|
44
|
-
return num;
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API.
|
|
48
|
-
* Typesafe fn to convert hex string to bigint. The BigInt constructor param is any
|
|
49
|
-
*/
|
|
50
|
-
export function quantityToBigint(hex, id = "") {
|
|
51
|
-
try {
|
|
52
|
-
return BigInt(hex);
|
|
53
|
-
}
|
|
54
|
-
catch (e) {
|
|
55
|
-
throw Error(`Invalid hex bigint ${id} '${hex}': ${e.message}`);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API.
|
|
60
|
-
*/
|
|
61
|
-
export function quantityToBytes(hex) {
|
|
62
|
-
const bn = quantityToBigint(hex);
|
|
63
|
-
return bigIntToBytes(bn, 32, "le");
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* QUANTITY as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API.
|
|
67
|
-
* Compress a 32 ByteVector into a QUANTITY
|
|
68
|
-
*/
|
|
69
|
-
export function bytesToQuantity(bytes) {
|
|
70
|
-
const bn = bytesToBigInt(bytes, "le");
|
|
71
|
-
return numToQuantity(bn);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* DATA as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
75
|
-
*
|
|
76
|
-
* When encoding UNFORMATTED DATA (byte arrays, account addresses, hashes, bytecode arrays): encode as hex, prefix with
|
|
77
|
-
* “0x”, two hex digits per byte. Examples:
|
|
78
|
-
*
|
|
79
|
-
* - 0x41 (size 1, “A”)
|
|
80
|
-
* - 0x004200 (size 3, “\0B\0”)
|
|
81
|
-
* - 0x (size 0, “”)
|
|
82
|
-
* - WRONG: 0xf0f0f (must be even number of digits)
|
|
83
|
-
* - WRONG: 004200 (must be prefixed 0x)
|
|
84
|
-
*/
|
|
85
|
-
export function bytesToData(bytes) {
|
|
86
|
-
return toHex(bytes);
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* DATA as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
90
|
-
*/
|
|
91
|
-
export function dataToBytes(hex, fixedLength) {
|
|
92
|
-
try {
|
|
93
|
-
const bytes = fromHex(hex);
|
|
94
|
-
if (fixedLength != null && bytes.length !== fixedLength) {
|
|
95
|
-
throw Error(`Wrong data length ${bytes.length} expected ${fixedLength}`);
|
|
96
|
-
}
|
|
97
|
-
return bytes;
|
|
98
|
-
}
|
|
99
|
-
catch (e) {
|
|
100
|
-
e.message = `Invalid hex string: ${e.message}`;
|
|
101
|
-
throw e;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
/**
|
|
105
|
-
* Convert DATA into a preallocated buffer
|
|
106
|
-
* fromHexInto will throw if buffer's length is not the same as the decoded hex length
|
|
107
|
-
*/
|
|
108
|
-
export function dataIntoBytes(hex, buffer) {
|
|
109
|
-
fromHexInto(hex, buffer);
|
|
110
|
-
return buffer;
|
|
111
|
-
}
|
|
112
|
-
/**
|
|
113
|
-
* DATA as defined in ethereum execution layer JSON RPC https://eth.wiki/json-rpc/API
|
|
114
|
-
*/
|
|
115
|
-
export function dataToRootHex(hex, id = "") {
|
|
116
|
-
if (!rootHexRegex.test(hex))
|
|
117
|
-
throw Error(`Invalid hex root ${id} '${hex}'`);
|
|
118
|
-
return hex;
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/eth1/provider/utils.ts"],"names":[],"mappings":"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"}
|
package/lib/eth1/stream.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { phase0 } from "@lodestar/types";
|
|
2
|
-
import { BatchDepositEvents, Eth1Block, IEth1Provider, IEth1StreamParams } from "./interface.js";
|
|
3
|
-
/**
|
|
4
|
-
* Phase 1 of genesis building.
|
|
5
|
-
* Not enough validators, only stream deposits
|
|
6
|
-
* @param signal Abort stream returning after a while loop cycle. Aborts internal sleep
|
|
7
|
-
*/
|
|
8
|
-
export declare function getDepositsStream(fromBlock: number, provider: IEth1Provider, params: IEth1StreamParams, signal?: AbortSignal): AsyncGenerator<BatchDepositEvents>;
|
|
9
|
-
/**
|
|
10
|
-
* Phase 2 of genesis building.
|
|
11
|
-
* There are enough validators, stream deposits and blocks
|
|
12
|
-
* @param signal Abort stream returning after a while loop cycle. Aborts internal sleep
|
|
13
|
-
*/
|
|
14
|
-
export declare function getDepositsAndBlockStreamForGenesis(fromBlock: number, provider: IEth1Provider, params: IEth1StreamParams, signal?: AbortSignal): AsyncGenerator<[phase0.DepositEvent[], Eth1Block]>;
|
|
15
|
-
//# sourceMappingURL=stream.d.ts.map
|
package/lib/eth1/stream.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.d.ts","sourceRoot":"","sources":["../../src/eth1/stream.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAC,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAK/F;;;;GAIG;AACH,wBAAuB,iBAAiB,CACtC,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,iBAAiB,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,cAAc,CAAC,kBAAkB,CAAC,CAgBpC;AAED;;;;GAIG;AACH,wBAAuB,mCAAmC,CACxD,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,aAAa,EACvB,MAAM,EAAE,iBAAiB,EACzB,MAAM,CAAC,EAAE,WAAW,GACnB,cAAc,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,EAAE,SAAS,CAAC,CAAC,CAwBpD"}
|
package/lib/eth1/stream.js
DELETED
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { sleep } from "@lodestar/utils";
|
|
2
|
-
import { parseEth1Block } from "./provider/eth1Provider.js";
|
|
3
|
-
import { groupDepositEventsByBlock } from "./utils/groupDepositEventsByBlock.js";
|
|
4
|
-
import { optimizeNextBlockDiffForGenesis } from "./utils/optimizeNextBlockDiffForGenesis.js";
|
|
5
|
-
/**
|
|
6
|
-
* Phase 1 of genesis building.
|
|
7
|
-
* Not enough validators, only stream deposits
|
|
8
|
-
* @param signal Abort stream returning after a while loop cycle. Aborts internal sleep
|
|
9
|
-
*/
|
|
10
|
-
export async function* getDepositsStream(fromBlock, provider, params, signal) {
|
|
11
|
-
fromBlock = Math.max(fromBlock, provider.deployBlock);
|
|
12
|
-
while (true) {
|
|
13
|
-
const remoteFollowBlock = await getRemoteFollowBlock(provider, params);
|
|
14
|
-
const toBlock = Math.min(remoteFollowBlock, fromBlock + params.maxBlocksPerPoll);
|
|
15
|
-
const logs = await provider.getDepositEvents(fromBlock, toBlock);
|
|
16
|
-
for (const batchedDeposits of groupDepositEventsByBlock(logs)) {
|
|
17
|
-
yield batchedDeposits;
|
|
18
|
-
}
|
|
19
|
-
fromBlock = toBlock;
|
|
20
|
-
// If reached head, sleep for an eth1 block. Throws if signal is aborted
|
|
21
|
-
await sleep(toBlock >= remoteFollowBlock ? params.SECONDS_PER_ETH1_BLOCK * 1000 : 10, signal);
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Phase 2 of genesis building.
|
|
26
|
-
* There are enough validators, stream deposits and blocks
|
|
27
|
-
* @param signal Abort stream returning after a while loop cycle. Aborts internal sleep
|
|
28
|
-
*/
|
|
29
|
-
export async function* getDepositsAndBlockStreamForGenesis(fromBlock, provider, params, signal) {
|
|
30
|
-
fromBlock = Math.max(fromBlock, provider.deployBlock);
|
|
31
|
-
fromBlock = Math.min(fromBlock, await getRemoteFollowBlock(provider, params));
|
|
32
|
-
let toBlock = fromBlock; // First, fetch only the first block
|
|
33
|
-
while (true) {
|
|
34
|
-
const [logs, blockRaw] = await Promise.all([
|
|
35
|
-
provider.getDepositEvents(fromBlock, toBlock),
|
|
36
|
-
provider.getBlockByNumber(toBlock),
|
|
37
|
-
]);
|
|
38
|
-
if (!blockRaw)
|
|
39
|
-
throw Error(`No block found for number ${toBlock}`);
|
|
40
|
-
const block = parseEth1Block(blockRaw);
|
|
41
|
-
yield [logs, block];
|
|
42
|
-
const remoteFollowBlock = await getRemoteFollowBlock(provider, params);
|
|
43
|
-
const nextBlockDiff = optimizeNextBlockDiffForGenesis(block, params);
|
|
44
|
-
fromBlock = toBlock;
|
|
45
|
-
toBlock = Math.min(remoteFollowBlock, fromBlock + Math.min(nextBlockDiff, params.maxBlocksPerPoll));
|
|
46
|
-
// If reached head, sleep for an eth1 block. Throws if signal is aborted
|
|
47
|
-
await sleep(toBlock >= remoteFollowBlock ? params.SECONDS_PER_ETH1_BLOCK * 1000 : 10, signal);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
async function getRemoteFollowBlock(provider, params) {
|
|
51
|
-
const remoteHighestBlock = await provider.getBlockNumber();
|
|
52
|
-
return Math.max(remoteHighestBlock - params.ETH1_FOLLOW_DISTANCE, 0);
|
|
53
|
-
}
|
|
54
|
-
//# sourceMappingURL=stream.js.map
|
package/lib/eth1/stream.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"stream.js","sourceRoot":"","sources":["../../src/eth1/stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { phase0 } from "@lodestar/types";
|
|
2
|
-
/**
|
|
3
|
-
* Precomputed topics of DepositEvent logs
|
|
4
|
-
*/
|
|
5
|
-
export declare const depositEventTopics: string[];
|
|
6
|
-
/**
|
|
7
|
-
* Parse DepositEvent log
|
|
8
|
-
*/
|
|
9
|
-
export declare function parseDepositLog(log: {
|
|
10
|
-
blockNumber: number;
|
|
11
|
-
data: string;
|
|
12
|
-
topics: string[];
|
|
13
|
-
}): phase0.DepositEvent;
|
|
14
|
-
//# sourceMappingURL=depositContract.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"depositContract.d.ts","sourceRoot":"","sources":["../../../src/eth1/utils/depositContract.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAQ5C;;GAEG;AACH,eAAO,MAAM,kBAAkB,UAA2D,CAAC;AAE3F;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAC,GAAG,MAAM,CAAC,YAAY,CAc/G"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { Interface } from "@ethersproject/abi";
|
|
2
|
-
import { ssz } from "@lodestar/types";
|
|
3
|
-
import { fromHex } from "@lodestar/utils";
|
|
4
|
-
const depositEventFragment = "event DepositEvent(bytes pubkey, bytes withdrawal_credentials, bytes amount, bytes signature, bytes index)";
|
|
5
|
-
const depositContractInterface = new Interface([depositEventFragment]);
|
|
6
|
-
/**
|
|
7
|
-
* Precomputed topics of DepositEvent logs
|
|
8
|
-
*/
|
|
9
|
-
export const depositEventTopics = [depositContractInterface.getEventTopic("DepositEvent")];
|
|
10
|
-
/**
|
|
11
|
-
* Parse DepositEvent log
|
|
12
|
-
*/
|
|
13
|
-
export function parseDepositLog(log) {
|
|
14
|
-
const event = depositContractInterface.parseLog(log);
|
|
15
|
-
const values = event.args;
|
|
16
|
-
if (values === undefined)
|
|
17
|
-
throw Error(`DepositEvent at ${log.blockNumber} has no values`);
|
|
18
|
-
return {
|
|
19
|
-
blockNumber: log.blockNumber,
|
|
20
|
-
index: parseHexNumLittleEndian(values.index),
|
|
21
|
-
depositData: {
|
|
22
|
-
pubkey: fromHex(values.pubkey),
|
|
23
|
-
withdrawalCredentials: fromHex(values.withdrawal_credentials),
|
|
24
|
-
amount: parseHexNumLittleEndian(values.amount),
|
|
25
|
-
signature: fromHex(values.signature),
|
|
26
|
-
},
|
|
27
|
-
};
|
|
28
|
-
}
|
|
29
|
-
function parseHexNumLittleEndian(hex) {
|
|
30
|
-
// Can't use parseInt() because amount is a hex string in little endian
|
|
31
|
-
return ssz.UintNum64.deserialize(fromHex(hex));
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=depositContract.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"depositContract.js","sourceRoot":"","sources":["../../../src/eth1/utils/depositContract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAS,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAC,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAExC,MAAM,oBAAoB,GACxB,4GAA4G,CAAC;AAE/G,MAAM,wBAAwB,GAAG,IAAI,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,wBAAwB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC;AAE3F;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,GAA0D;IACxF,MAAM,KAAK,GAAG,wBAAwB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACrD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;IAC1B,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,KAAK,CAAC,mBAAmB,GAAG,CAAC,WAAW,gBAAgB,CAAC,CAAC;IAC1F,OAAO;QACL,WAAW,EAAE,GAAG,CAAC,WAAW;QAC5B,KAAK,EAAE,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC;QAC5C,WAAW,EAAE;YACX,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC;YAC9B,qBAAqB,EAAE,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC;YAC7D,MAAM,EAAE,uBAAuB,CAAC,MAAM,CAAC,MAAM,CAAC;YAC9C,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC;SACrC;KACF,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAW;IAC1C,uEAAuE;IACvE,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AACjD,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { FilterOptions } from "@lodestar/db";
|
|
2
|
-
import { CachedBeaconStateAllForks } from "@lodestar/state-transition";
|
|
3
|
-
import { phase0 } from "@lodestar/types";
|
|
4
|
-
import { DepositTree } from "../../db/repositories/depositDataRoot.js";
|
|
5
|
-
export type DepositGetter<T> = (indexRange: FilterOptions<number>, eth1Data: phase0.Eth1Data) => Promise<T[]>;
|
|
6
|
-
export declare function getDeposits<T>(state: CachedBeaconStateAllForks, eth1Data: phase0.Eth1Data, depositsGetter: DepositGetter<T>): Promise<T[]>;
|
|
7
|
-
export declare function getDepositsWithProofs(depositEvents: phase0.DepositEvent[], depositRootTree: DepositTree, eth1Data: phase0.Eth1Data): phase0.Deposit[];
|
|
8
|
-
//# sourceMappingURL=deposits.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deposits.d.ts","sourceRoot":"","sources":["../../../src/eth1/utils/deposits.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAC,yBAAyB,EAAsB,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAC,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAGrE,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;AAE9G,wBAAsB,WAAW,CAAC,CAAC,EAEjC,KAAK,EAAE,yBAAyB,EAChC,QAAQ,EAAE,MAAM,CAAC,QAAQ,EACzB,cAAc,EAAE,aAAa,CAAC,CAAC,CAAC,GAC/B,OAAO,CAAC,CAAC,EAAE,CAAC,CA0Bd;AAED,wBAAgB,qBAAqB,CACnC,aAAa,EAAE,MAAM,CAAC,YAAY,EAAE,EACpC,eAAe,EAAE,WAAW,EAC5B,QAAQ,EAAE,MAAM,CAAC,QAAQ,GACxB,MAAM,CAAC,OAAO,EAAE,CAsBlB"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { Tree, toGindex } from "@chainsafe/persistent-merkle-tree";
|
|
2
|
-
import { getEth1DepositCount } from "@lodestar/state-transition";
|
|
3
|
-
import { ssz } from "@lodestar/types";
|
|
4
|
-
import { toRootHex } from "@lodestar/utils";
|
|
5
|
-
import { Eth1Error, Eth1ErrorCode } from "../errors.js";
|
|
6
|
-
export async function getDeposits(
|
|
7
|
-
// eth1_deposit_index represents the next deposit index to be added
|
|
8
|
-
state, eth1Data, depositsGetter) {
|
|
9
|
-
const depositIndex = state.eth1DepositIndex;
|
|
10
|
-
const depositCount = eth1Data.depositCount;
|
|
11
|
-
if (depositIndex > depositCount) {
|
|
12
|
-
throw new Eth1Error({ code: Eth1ErrorCode.DEPOSIT_INDEX_TOO_HIGH, depositIndex, depositCount });
|
|
13
|
-
}
|
|
14
|
-
const depositsLen = getEth1DepositCount(state, eth1Data);
|
|
15
|
-
if (depositsLen === 0) {
|
|
16
|
-
return []; // If depositsLen === 0, we can return early since no deposit with be returned from depositsGetter
|
|
17
|
-
}
|
|
18
|
-
const indexRange = { gte: depositIndex, lt: depositIndex + depositsLen };
|
|
19
|
-
const deposits = await depositsGetter(indexRange, eth1Data);
|
|
20
|
-
if (deposits.length < depositsLen) {
|
|
21
|
-
throw new Eth1Error({ code: Eth1ErrorCode.NOT_ENOUGH_DEPOSITS, len: deposits.length, expectedLen: depositsLen });
|
|
22
|
-
}
|
|
23
|
-
if (deposits.length > depositsLen) {
|
|
24
|
-
throw new Eth1Error({ code: Eth1ErrorCode.TOO_MANY_DEPOSITS, len: deposits.length, expectedLen: depositsLen });
|
|
25
|
-
}
|
|
26
|
-
return deposits;
|
|
27
|
-
}
|
|
28
|
-
export function getDepositsWithProofs(depositEvents, depositRootTree, eth1Data) {
|
|
29
|
-
// Get tree at this particular depositCount to compute correct proofs
|
|
30
|
-
const viewAtDepositCount = depositRootTree.sliceTo(eth1Data.depositCount - 1);
|
|
31
|
-
const depositRoot = viewAtDepositCount.hashTreeRoot();
|
|
32
|
-
if (!ssz.Root.equals(depositRoot, eth1Data.depositRoot)) {
|
|
33
|
-
throw new Eth1Error({
|
|
34
|
-
code: Eth1ErrorCode.WRONG_DEPOSIT_ROOT,
|
|
35
|
-
root: toRootHex(depositRoot),
|
|
36
|
-
expectedRoot: toRootHex(eth1Data.depositRoot),
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
// Already commited for .hashTreeRoot()
|
|
40
|
-
const treeAtDepositCount = new Tree(viewAtDepositCount.node);
|
|
41
|
-
const depositTreeDepth = viewAtDepositCount.type.depth;
|
|
42
|
-
return depositEvents.map((log) => ({
|
|
43
|
-
proof: treeAtDepositCount.getSingleProof(toGindex(depositTreeDepth, BigInt(log.index))),
|
|
44
|
-
data: log.depositData,
|
|
45
|
-
}));
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=deposits.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"deposits.js","sourceRoot":"","sources":["../../../src/eth1/utils/deposits.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { Root, phase0 } from "@lodestar/types";
|
|
2
|
-
import { DepositTree } from "../../db/repositories/depositDataRoot.js";
|
|
3
|
-
import { Eth1Block } from "../interface.js";
|
|
4
|
-
type BlockNumber = number;
|
|
5
|
-
/**
|
|
6
|
-
* Appends partial eth1 data (depositRoot, depositCount) in a sequence of blocks
|
|
7
|
-
* eth1 data deposit is inferred from sparse eth1 data obtained from the deposit logs
|
|
8
|
-
*/
|
|
9
|
-
export declare function getEth1DataForBlocks(blocks: Eth1Block[], depositDescendingStream: AsyncIterable<phase0.DepositEvent>, depositRootTree: DepositTree, lastProcessedDepositBlockNumber: BlockNumber | null): Promise<(phase0.Eth1Data & Eth1Block)[]>;
|
|
10
|
-
/**
|
|
11
|
-
* Collect depositCount by blockNumber from a stream matching a block number range
|
|
12
|
-
* For a given blockNumber it's depositCount is equal to the index + 1 of the
|
|
13
|
-
* closest deposit event whose deposit.blockNumber <= blockNumber
|
|
14
|
-
* @returns array ascending by blockNumber
|
|
15
|
-
*/
|
|
16
|
-
export declare function getDepositsByBlockNumber(fromBlock: BlockNumber, toBlock: BlockNumber, depositEventDescendingStream: AsyncIterable<phase0.DepositEvent>): Promise<phase0.DepositEvent[]>;
|
|
17
|
-
/**
|
|
18
|
-
* Precompute a map of depositCount => depositRoot from a depositRootTree filled beforehand
|
|
19
|
-
*/
|
|
20
|
-
export declare function getDepositRootByDepositCount(depositCounts: number[], depositRootTree: DepositTree): Map<number, Root>;
|
|
21
|
-
export {};
|
|
22
|
-
//# sourceMappingURL=eth1Data.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eth1Data.d.ts","sourceRoot":"","sources":["../../../src/eth1/utils/eth1Data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAE,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAC,WAAW,EAAC,MAAM,0CAA0C,CAAC;AAGrE,OAAO,EAAC,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE1C,KAAK,WAAW,GAAG,MAAM,CAAC;AAE1B;;;GAGG;AACH,wBAAsB,oBAAoB,CACxC,MAAM,EAAE,SAAS,EAAE,EACnB,uBAAuB,EAAE,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,EAC3D,eAAe,EAAE,WAAW,EAC5B,+BAA+B,EAAE,WAAW,GAAG,IAAI,GAClD,OAAO,CAAC,CAAC,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAkC1C;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,CAC5C,SAAS,EAAE,WAAW,EACtB,OAAO,EAAE,WAAW,EACpB,4BAA4B,EAAE,aAAa,CAAC,MAAM,CAAC,YAAY,CAAC,GAC/D,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC,CAahC;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,eAAe,EAAE,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,CAkBrH"}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { binarySearchLte } from "../../util/binarySearch.js";
|
|
2
|
-
import { Eth1Error, Eth1ErrorCode } from "../errors.js";
|
|
3
|
-
/**
|
|
4
|
-
* Appends partial eth1 data (depositRoot, depositCount) in a sequence of blocks
|
|
5
|
-
* eth1 data deposit is inferred from sparse eth1 data obtained from the deposit logs
|
|
6
|
-
*/
|
|
7
|
-
export async function getEth1DataForBlocks(blocks, depositDescendingStream, depositRootTree, lastProcessedDepositBlockNumber) {
|
|
8
|
-
// Exclude blocks for which there is no valid eth1 data deposit
|
|
9
|
-
if (lastProcessedDepositBlockNumber !== null) {
|
|
10
|
-
blocks = blocks.filter((block) => block.blockNumber <= lastProcessedDepositBlockNumber);
|
|
11
|
-
}
|
|
12
|
-
// A valid block can be constructed using previous `state.eth1Data`, don't throw
|
|
13
|
-
if (blocks.length === 0) {
|
|
14
|
-
return [];
|
|
15
|
-
}
|
|
16
|
-
// Collect the latest deposit of each blockNumber in a block number range
|
|
17
|
-
const fromBlock = blocks[0].blockNumber;
|
|
18
|
-
const toBlock = blocks.at(-1)?.blockNumber;
|
|
19
|
-
const depositsByBlockNumber = await getDepositsByBlockNumber(fromBlock, toBlock, depositDescendingStream);
|
|
20
|
-
if (depositsByBlockNumber.length === 0) {
|
|
21
|
-
throw new Eth1Error({ code: Eth1ErrorCode.NO_DEPOSITS_FOR_BLOCK_RANGE, fromBlock, toBlock });
|
|
22
|
-
}
|
|
23
|
-
// Precompute a map of depositCount => depositRoot (from depositRootTree)
|
|
24
|
-
const depositCounts = depositsByBlockNumber.map((event) => event.index + 1);
|
|
25
|
-
const depositRootByDepositCount = getDepositRootByDepositCount(depositCounts, depositRootTree);
|
|
26
|
-
const eth1Datas = [];
|
|
27
|
-
for (const block of blocks) {
|
|
28
|
-
const deposit = binarySearchLte(depositsByBlockNumber, block.blockNumber, (event) => event.blockNumber);
|
|
29
|
-
const depositCount = deposit.index + 1;
|
|
30
|
-
const depositRoot = depositRootByDepositCount.get(depositCount);
|
|
31
|
-
if (depositRoot === undefined) {
|
|
32
|
-
throw new Eth1Error({ code: Eth1ErrorCode.NO_DEPOSIT_ROOT, depositCount });
|
|
33
|
-
}
|
|
34
|
-
eth1Datas.push({ ...block, depositCount, depositRoot });
|
|
35
|
-
}
|
|
36
|
-
return eth1Datas;
|
|
37
|
-
}
|
|
38
|
-
/**
|
|
39
|
-
* Collect depositCount by blockNumber from a stream matching a block number range
|
|
40
|
-
* For a given blockNumber it's depositCount is equal to the index + 1 of the
|
|
41
|
-
* closest deposit event whose deposit.blockNumber <= blockNumber
|
|
42
|
-
* @returns array ascending by blockNumber
|
|
43
|
-
*/
|
|
44
|
-
export async function getDepositsByBlockNumber(fromBlock, toBlock, depositEventDescendingStream) {
|
|
45
|
-
const depositCountMap = new Map();
|
|
46
|
-
// Take blocks until the block under the range lower bound (included)
|
|
47
|
-
for await (const deposit of depositEventDescendingStream) {
|
|
48
|
-
if (deposit.blockNumber <= toBlock && !depositCountMap.has(deposit.blockNumber)) {
|
|
49
|
-
depositCountMap.set(deposit.blockNumber, deposit);
|
|
50
|
-
}
|
|
51
|
-
if (deposit.blockNumber < fromBlock) {
|
|
52
|
-
break;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return Array.from(depositCountMap.values()).sort((a, b) => a.blockNumber - b.blockNumber);
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Precompute a map of depositCount => depositRoot from a depositRootTree filled beforehand
|
|
59
|
-
*/
|
|
60
|
-
export function getDepositRootByDepositCount(depositCounts, depositRootTree) {
|
|
61
|
-
// Unique + sort numerically in descending order
|
|
62
|
-
depositCounts = [...new Set(depositCounts)].sort((a, b) => b - a);
|
|
63
|
-
if (depositCounts.length > 0) {
|
|
64
|
-
const maxIndex = depositCounts[0] - 1;
|
|
65
|
-
const treeLength = depositRootTree.length - 1;
|
|
66
|
-
if (maxIndex > treeLength) {
|
|
67
|
-
throw new Eth1Error({ code: Eth1ErrorCode.NOT_ENOUGH_DEPOSIT_ROOTS, index: maxIndex, treeLength });
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
const depositRootByDepositCount = new Map();
|
|
71
|
-
for (const depositCount of depositCounts) {
|
|
72
|
-
depositRootTree = depositRootTree.sliceTo(depositCount - 1);
|
|
73
|
-
depositRootByDepositCount.set(depositCount, depositRootTree.hashTreeRoot());
|
|
74
|
-
}
|
|
75
|
-
return depositRootByDepositCount;
|
|
76
|
-
}
|
|
77
|
-
//# sourceMappingURL=eth1Data.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eth1Data.js","sourceRoot":"","sources":["../../../src/eth1/utils/eth1Data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,eAAe,EAAC,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAC,SAAS,EAAE,aAAa,EAAC,MAAM,cAAc,CAAC;AAKtD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,MAAmB,EACnB,uBAA2D,EAC3D,eAA4B,EAC5B,+BAAmD;IAEnD,+DAA+D;IAC/D,IAAI,+BAA+B,KAAK,IAAI,EAAE,CAAC;QAC7C,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,IAAI,+BAA+B,CAAC,CAAC;IAC1F,CAAC;IAED,gFAAgF;IAChF,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,yEAAyE;IACzE,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IACxC,MAAM,OAAO,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,WAAqB,CAAC;IACrD,MAAM,qBAAqB,GAAG,MAAM,wBAAwB,CAAC,SAAS,EAAE,OAAO,EAAE,uBAAuB,CAAC,CAAC;IAC1G,IAAI,qBAAqB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,MAAM,IAAI,SAAS,CAAC,EAAC,IAAI,EAAE,aAAa,CAAC,2BAA2B,EAAE,SAAS,EAAE,OAAO,EAAC,CAAC,CAAC;IAC7F,CAAC;IAED,yEAAyE;IACzE,MAAM,aAAa,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;IAC5E,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IAE/F,MAAM,SAAS,GAAoC,EAAE,CAAC;IACtD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,eAAe,CAAC,qBAAqB,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxG,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,yBAAyB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAChE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC9B,MAAM,IAAI,SAAS,CAAC,EAAC,IAAI,EAAE,aAAa,CAAC,eAAe,EAAE,YAAY,EAAC,CAAC,CAAC;QAC3E,CAAC;QACD,SAAS,CAAC,IAAI,CAAC,EAAC,GAAG,KAAK,EAAE,YAAY,EAAE,WAAW,EAAC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,SAAsB,EACtB,OAAoB,EACpB,4BAAgE;IAEhE,MAAM,eAAe,GAAG,IAAI,GAAG,EAAoC,CAAC;IACpE,qEAAqE;IACrE,IAAI,KAAK,EAAE,MAAM,OAAO,IAAI,4BAA4B,EAAE,CAAC;QACzD,IAAI,OAAO,CAAC,WAAW,IAAI,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YAChF,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,CAAC,WAAW,GAAG,SAAS,EAAE,CAAC;YACpC,MAAM;QACR,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;AAC5F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,4BAA4B,CAAC,aAAuB,EAAE,eAA4B;IAChG,gDAAgD;IAChD,aAAa,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IAElE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC;QAC9C,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;YAC1B,MAAM,IAAI,SAAS,CAAC,EAAC,IAAI,EAAE,aAAa,CAAC,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAC,CAAC,CAAC;QACnG,CAAC;IACH,CAAC;IAED,MAAM,yBAAyB,GAAG,IAAI,GAAG,EAAgB,CAAC;IAC1D,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC;QAC5D,yBAAyB,CAAC,GAAG,CAAC,YAAY,EAAE,eAAe,CAAC,YAAY,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,yBAAyB,CAAC;AACnC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eth1DepositEvent.d.ts","sourceRoot":"","sources":["../../../src/eth1/utils/eth1DepositEvent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,aAAa,EAAE;IAAC,KAAK,EAAE,MAAM,CAAA;CAAC,EAAE,GAAG,IAAI,CAQhF"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Assert that an array of deposits are consecutive and ascending
|
|
3
|
-
*/
|
|
4
|
-
export function assertConsecutiveDeposits(depositEvents) {
|
|
5
|
-
for (let i = 0; i < depositEvents.length - 1; i++) {
|
|
6
|
-
const indexLeft = depositEvents[i].index;
|
|
7
|
-
const indexRight = depositEvents[i + 1].index;
|
|
8
|
-
if (indexLeft !== indexRight - 1) {
|
|
9
|
-
throw Error(`Non consecutive deposits. deposit[${i}] = ${indexLeft}, deposit[${i + 1}] ${indexRight}`);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=eth1DepositEvent.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eth1DepositEvent.js","sourceRoot":"","sources":["../../../src/eth1/utils/eth1DepositEvent.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,aAAgC;IACxE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAClD,MAAM,SAAS,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzC,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9C,IAAI,SAAS,KAAK,UAAU,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,CAAC,qCAAqC,CAAC,OAAO,SAAS,aAAa,CAAC,GAAG,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ChainForkConfig } from "@lodestar/config";
|
|
2
|
-
import { BeaconStateAllForks } from "@lodestar/state-transition";
|
|
3
|
-
import { phase0 } from "@lodestar/types";
|
|
4
|
-
export type Eth1DataGetter = ({ timestampRange, }: {
|
|
5
|
-
timestampRange: {
|
|
6
|
-
gte: number;
|
|
7
|
-
lte: number;
|
|
8
|
-
};
|
|
9
|
-
}) => Promise<phase0.Eth1Data[]>;
|
|
10
|
-
export declare function getEth1VotesToConsider(config: ChainForkConfig, state: BeaconStateAllForks, eth1DataGetter: Eth1DataGetter): Promise<phase0.Eth1Data[]>;
|
|
11
|
-
export declare function pickEth1Vote(state: BeaconStateAllForks, votesToConsider: phase0.Eth1Data[]): phase0.Eth1Data;
|
|
12
|
-
/**
|
|
13
|
-
* Serialize eth1Data types to a unique string ID. It is only used for comparison.
|
|
14
|
-
*/
|
|
15
|
-
export declare function fastSerializeEth1Data(eth1Data: phase0.Eth1Data): string;
|
|
16
|
-
export declare function votingPeriodStartTime(config: ChainForkConfig, state: BeaconStateAllForks): number;
|
|
17
|
-
//# sourceMappingURL=eth1Vote.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"eth1Vote.d.ts","sourceRoot":"","sources":["../../../src/eth1/utils/eth1Vote.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAEjD,OAAO,EAAC,mBAAmB,EAAwC,MAAM,4BAA4B,CAAC;AACtG,OAAO,EAAU,MAAM,EAAC,MAAM,iBAAiB,CAAC;AAGhD,MAAM,MAAM,cAAc,GAAG,CAAC,EAC5B,cAAc,GACf,EAAE;IACD,cAAc,EAAE;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAC,CAAC;CAC5C,KAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;AAEjC,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,eAAe,EACvB,KAAK,EAAE,mBAAmB,EAC1B,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAyB5B;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,CAAC,QAAQ,EAAE,GAAG,MAAM,CAAC,QAAQ,CA+C5G;AAyCD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAEvE;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,eAAe,EAAE,KAAK,EAAE,mBAAmB,GAAG,MAAM,CAGjG"}
|