@lodestar/beacon-node 1.39.0-dev.aceb5b7416 → 1.39.0-dev.b2437a6348

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.
Files changed (240) hide show
  1. package/README.md +1 -1
  2. package/lib/api/impl/beacon/state/utils.d.ts +2 -7
  3. package/lib/api/impl/beacon/state/utils.d.ts.map +1 -1
  4. package/lib/api/impl/beacon/state/utils.js +0 -12
  5. package/lib/api/impl/beacon/state/utils.js.map +1 -1
  6. package/lib/api/impl/lodestar/index.js +1 -1
  7. package/lib/api/impl/lodestar/index.js.map +1 -1
  8. package/lib/api/impl/proof/index.d.ts.map +1 -1
  9. package/lib/api/impl/proof/index.js +1 -2
  10. package/lib/api/impl/proof/index.js.map +1 -1
  11. package/lib/api/impl/validator/index.d.ts.map +1 -1
  12. package/lib/api/impl/validator/index.js +1 -3
  13. package/lib/api/impl/validator/index.js.map +1 -1
  14. package/lib/chain/blocks/importBlock.d.ts.map +1 -1
  15. package/lib/chain/blocks/importBlock.js +8 -2
  16. package/lib/chain/blocks/importBlock.js.map +1 -1
  17. package/lib/chain/blocks/verifyBlock.d.ts.map +1 -1
  18. package/lib/chain/blocks/verifyBlock.js +1 -1
  19. package/lib/chain/blocks/verifyBlock.js.map +1 -1
  20. package/lib/chain/blocks/verifyBlocksExecutionPayloads.d.ts.map +1 -1
  21. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js +4 -2
  22. package/lib/chain/blocks/verifyBlocksExecutionPayloads.js.map +1 -1
  23. package/lib/chain/blocks/verifyBlocksSignatures.d.ts +2 -1
  24. package/lib/chain/blocks/verifyBlocksSignatures.d.ts.map +1 -1
  25. package/lib/chain/blocks/verifyBlocksSignatures.js +3 -2
  26. package/lib/chain/blocks/verifyBlocksSignatures.js.map +1 -1
  27. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.d.ts.map +1 -1
  28. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js +1 -0
  29. package/lib/chain/blocks/verifyBlocksStateTransitionOnly.js.map +1 -1
  30. package/lib/chain/chain.d.ts +11 -11
  31. package/lib/chain/chain.d.ts.map +1 -1
  32. package/lib/chain/chain.js +36 -40
  33. package/lib/chain/chain.js.map +1 -1
  34. package/lib/chain/forkChoice/index.d.ts.map +1 -1
  35. package/lib/chain/forkChoice/index.js +3 -3
  36. package/lib/chain/forkChoice/index.js.map +1 -1
  37. package/lib/chain/interface.d.ts +6 -9
  38. package/lib/chain/interface.d.ts.map +1 -1
  39. package/lib/chain/interface.js.map +1 -1
  40. package/lib/chain/lightClient/proofs.d.ts.map +1 -1
  41. package/lib/chain/lightClient/proofs.js +0 -2
  42. package/lib/chain/lightClient/proofs.js.map +1 -1
  43. package/lib/chain/opPools/aggregatedAttestationPool.d.ts +6 -7
  44. package/lib/chain/opPools/aggregatedAttestationPool.d.ts.map +1 -1
  45. package/lib/chain/opPools/aggregatedAttestationPool.js +8 -133
  46. package/lib/chain/opPools/aggregatedAttestationPool.js.map +1 -1
  47. package/lib/chain/opPools/opPool.d.ts +3 -0
  48. package/lib/chain/opPools/opPool.d.ts.map +1 -1
  49. package/lib/chain/opPools/opPool.js +9 -8
  50. package/lib/chain/opPools/opPool.js.map +1 -1
  51. package/lib/chain/prepareNextSlot.d.ts.map +1 -1
  52. package/lib/chain/prepareNextSlot.js +4 -7
  53. package/lib/chain/prepareNextSlot.js.map +1 -1
  54. package/lib/chain/produceBlock/produceBlockBody.js +3 -3
  55. package/lib/chain/produceBlock/produceBlockBody.js.map +1 -1
  56. package/lib/chain/regen/interface.d.ts +1 -5
  57. package/lib/chain/regen/interface.d.ts.map +1 -1
  58. package/lib/chain/regen/queued.d.ts +4 -7
  59. package/lib/chain/regen/queued.d.ts.map +1 -1
  60. package/lib/chain/regen/queued.js +15 -25
  61. package/lib/chain/regen/queued.js.map +1 -1
  62. package/lib/chain/regen/regen.d.ts +1 -1
  63. package/lib/chain/regen/regen.d.ts.map +1 -1
  64. package/lib/chain/regen/regen.js +13 -17
  65. package/lib/chain/regen/regen.js.map +1 -1
  66. package/lib/chain/shufflingCache.d.ts +5 -12
  67. package/lib/chain/shufflingCache.d.ts.map +1 -1
  68. package/lib/chain/shufflingCache.js +12 -50
  69. package/lib/chain/shufflingCache.js.map +1 -1
  70. package/lib/chain/stateCache/blockStateCacheImpl.d.ts +1 -2
  71. package/lib/chain/stateCache/blockStateCacheImpl.d.ts.map +1 -1
  72. package/lib/chain/stateCache/blockStateCacheImpl.js +2 -2
  73. package/lib/chain/stateCache/blockStateCacheImpl.js.map +1 -1
  74. package/lib/chain/stateCache/fifoBlockStateCache.d.ts +1 -2
  75. package/lib/chain/stateCache/fifoBlockStateCache.d.ts.map +1 -1
  76. package/lib/chain/stateCache/fifoBlockStateCache.js +4 -4
  77. package/lib/chain/stateCache/fifoBlockStateCache.js.map +1 -1
  78. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts +4 -5
  79. package/lib/chain/stateCache/inMemoryCheckpointsCache.d.ts.map +1 -1
  80. package/lib/chain/stateCache/inMemoryCheckpointsCache.js +9 -10
  81. package/lib/chain/stateCache/inMemoryCheckpointsCache.js.map +1 -1
  82. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts +9 -7
  83. package/lib/chain/stateCache/persistentCheckpointsCache.d.ts.map +1 -1
  84. package/lib/chain/stateCache/persistentCheckpointsCache.js +21 -19
  85. package/lib/chain/stateCache/persistentCheckpointsCache.js.map +1 -1
  86. package/lib/chain/stateCache/types.d.ts +5 -6
  87. package/lib/chain/stateCache/types.d.ts.map +1 -1
  88. package/lib/chain/stateCache/types.js.map +1 -1
  89. package/lib/chain/validation/aggregateAndProof.js +9 -0
  90. package/lib/chain/validation/aggregateAndProof.js.map +1 -1
  91. package/lib/chain/validation/attesterSlashing.d.ts.map +1 -1
  92. package/lib/chain/validation/attesterSlashing.js +2 -2
  93. package/lib/chain/validation/attesterSlashing.js.map +1 -1
  94. package/lib/chain/validation/blobSidecar.d.ts.map +1 -1
  95. package/lib/chain/validation/blobSidecar.js +2 -3
  96. package/lib/chain/validation/blobSidecar.js.map +1 -1
  97. package/lib/chain/validation/block.d.ts.map +1 -1
  98. package/lib/chain/validation/block.js +3 -3
  99. package/lib/chain/validation/block.js.map +1 -1
  100. package/lib/chain/validation/blsToExecutionChange.d.ts.map +1 -1
  101. package/lib/chain/validation/blsToExecutionChange.js +10 -3
  102. package/lib/chain/validation/blsToExecutionChange.js.map +1 -1
  103. package/lib/chain/validation/dataColumnSidecar.d.ts.map +1 -1
  104. package/lib/chain/validation/dataColumnSidecar.js +2 -3
  105. package/lib/chain/validation/dataColumnSidecar.js.map +1 -1
  106. package/lib/chain/validation/proposerSlashing.js +3 -2
  107. package/lib/chain/validation/proposerSlashing.js.map +1 -1
  108. package/lib/chain/validation/signatureSets/aggregateAndProof.js +1 -1
  109. package/lib/chain/validation/signatureSets/aggregateAndProof.js.map +1 -1
  110. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts +2 -1
  111. package/lib/chain/validation/signatureSets/contributionAndProof.d.ts.map +1 -1
  112. package/lib/chain/validation/signatureSets/contributionAndProof.js +2 -2
  113. package/lib/chain/validation/signatureSets/contributionAndProof.js.map +1 -1
  114. package/lib/chain/validation/signatureSets/syncCommittee.d.ts +2 -1
  115. package/lib/chain/validation/signatureSets/syncCommittee.d.ts.map +1 -1
  116. package/lib/chain/validation/signatureSets/syncCommittee.js +2 -2
  117. package/lib/chain/validation/signatureSets/syncCommittee.js.map +1 -1
  118. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts +2 -1
  119. package/lib/chain/validation/signatureSets/syncCommitteeContribution.d.ts.map +1 -1
  120. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js +2 -2
  121. package/lib/chain/validation/signatureSets/syncCommitteeContribution.js.map +1 -1
  122. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts +2 -1
  123. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.d.ts.map +1 -1
  124. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js +1 -2
  125. package/lib/chain/validation/signatureSets/syncCommitteeSelectionProof.js.map +1 -1
  126. package/lib/chain/validation/syncCommittee.js +1 -1
  127. package/lib/chain/validation/syncCommittee.js.map +1 -1
  128. package/lib/chain/validation/syncCommitteeContributionAndProof.d.ts.map +1 -1
  129. package/lib/chain/validation/syncCommitteeContributionAndProof.js +3 -3
  130. package/lib/chain/validation/syncCommitteeContributionAndProof.js.map +1 -1
  131. package/lib/chain/validation/voluntaryExit.js +1 -1
  132. package/lib/chain/validation/voluntaryExit.js.map +1 -1
  133. package/lib/db/beacon.d.ts +2 -0
  134. package/lib/db/beacon.d.ts.map +1 -1
  135. package/lib/db/beacon.js +32 -0
  136. package/lib/db/beacon.js.map +1 -1
  137. package/lib/db/buckets.d.ts +12 -0
  138. package/lib/db/buckets.d.ts.map +1 -1
  139. package/lib/db/buckets.js +12 -6
  140. package/lib/db/buckets.js.map +1 -1
  141. package/lib/db/interface.d.ts +1 -0
  142. package/lib/db/interface.d.ts.map +1 -1
  143. package/lib/db/repositories/blockArchiveIndex.d.ts +2 -2
  144. package/lib/db/repositories/blockArchiveIndex.d.ts.map +1 -1
  145. package/lib/db/repositories/stateArchive.d.ts +1 -1
  146. package/lib/db/repositories/stateArchive.d.ts.map +1 -1
  147. package/lib/db/repositories/stateArchive.js +2 -2
  148. package/lib/db/repositories/stateArchive.js.map +1 -1
  149. package/lib/execution/engine/mock.d.ts +9 -6
  150. package/lib/execution/engine/mock.d.ts.map +1 -1
  151. package/lib/execution/engine/mock.js +34 -7
  152. package/lib/execution/engine/mock.js.map +1 -1
  153. package/lib/metrics/metrics/lodestar.d.ts +1 -6
  154. package/lib/metrics/metrics/lodestar.d.ts.map +1 -1
  155. package/lib/metrics/metrics/lodestar.js +3 -17
  156. package/lib/metrics/metrics/lodestar.js.map +1 -1
  157. package/lib/network/peers/discover.d.ts.map +1 -1
  158. package/lib/network/peers/discover.js.map +1 -1
  159. package/lib/node/nodejs.d.ts +6 -3
  160. package/lib/node/nodejs.d.ts.map +1 -1
  161. package/lib/node/nodejs.js +30 -3
  162. package/lib/node/nodejs.js.map +1 -1
  163. package/lib/node/notifier.d.ts.map +1 -1
  164. package/lib/node/notifier.js +9 -6
  165. package/lib/node/notifier.js.map +1 -1
  166. package/lib/sync/backfill/backfill.d.ts.map +1 -1
  167. package/lib/sync/backfill/backfill.js +2 -4
  168. package/lib/sync/backfill/backfill.js.map +1 -1
  169. package/lib/sync/backfill/verify.d.ts +2 -2
  170. package/lib/sync/backfill/verify.d.ts.map +1 -1
  171. package/lib/sync/backfill/verify.js +3 -3
  172. package/lib/sync/backfill/verify.js.map +1 -1
  173. package/package.json +28 -20
  174. package/src/api/impl/beacon/state/utils.ts +2 -22
  175. package/src/api/impl/lodestar/index.ts +1 -1
  176. package/src/api/impl/proof/index.ts +1 -2
  177. package/src/api/impl/validator/index.ts +1 -3
  178. package/src/chain/blocks/importBlock.ts +9 -2
  179. package/src/chain/blocks/verifyBlock.ts +1 -0
  180. package/src/chain/blocks/verifyBlocksExecutionPayloads.ts +9 -2
  181. package/src/chain/blocks/verifyBlocksSignatures.ts +13 -3
  182. package/src/chain/blocks/verifyBlocksStateTransitionOnly.ts +1 -0
  183. package/src/chain/chain.ts +50 -48
  184. package/src/chain/forkChoice/index.ts +3 -2
  185. package/src/chain/interface.ts +6 -8
  186. package/src/chain/lightClient/proofs.ts +0 -2
  187. package/src/chain/opPools/aggregatedAttestationPool.ts +12 -187
  188. package/src/chain/opPools/opPool.ts +8 -8
  189. package/src/chain/prepareNextSlot.ts +2 -6
  190. package/src/chain/produceBlock/produceBlockBody.ts +3 -3
  191. package/src/chain/regen/interface.ts +1 -5
  192. package/src/chain/regen/queued.ts +15 -34
  193. package/src/chain/regen/regen.ts +12 -18
  194. package/src/chain/shufflingCache.ts +15 -61
  195. package/src/chain/stateCache/blockStateCacheImpl.ts +2 -3
  196. package/src/chain/stateCache/fifoBlockStateCache.ts +4 -5
  197. package/src/chain/stateCache/inMemoryCheckpointsCache.ts +9 -15
  198. package/src/chain/stateCache/persistentCheckpointsCache.ts +32 -27
  199. package/src/chain/stateCache/types.ts +5 -10
  200. package/src/chain/validation/aggregateAndProof.ts +12 -0
  201. package/src/chain/validation/attesterSlashing.ts +14 -2
  202. package/src/chain/validation/blobSidecar.ts +3 -3
  203. package/src/chain/validation/block.ts +3 -2
  204. package/src/chain/validation/blsToExecutionChange.ts +10 -8
  205. package/src/chain/validation/dataColumnSidecar.ts +3 -3
  206. package/src/chain/validation/proposerSlashing.ts +8 -2
  207. package/src/chain/validation/signatureSets/aggregateAndProof.ts +1 -1
  208. package/src/chain/validation/signatureSets/contributionAndProof.ts +3 -1
  209. package/src/chain/validation/signatureSets/syncCommittee.ts +3 -1
  210. package/src/chain/validation/signatureSets/syncCommitteeContribution.ts +3 -1
  211. package/src/chain/validation/signatureSets/syncCommitteeSelectionProof.ts +2 -1
  212. package/src/chain/validation/syncCommittee.ts +1 -1
  213. package/src/chain/validation/syncCommitteeContributionAndProof.ts +8 -3
  214. package/src/chain/validation/voluntaryExit.ts +1 -1
  215. package/src/db/beacon.ts +38 -1
  216. package/src/db/buckets.ts +12 -6
  217. package/src/db/interface.ts +2 -0
  218. package/src/db/repositories/stateArchive.ts +2 -2
  219. package/src/execution/engine/mock.ts +40 -13
  220. package/src/metrics/metrics/lodestar.ts +3 -17
  221. package/src/network/peers/discover.ts +3 -3
  222. package/src/node/nodejs.ts +37 -4
  223. package/src/node/notifier.ts +13 -7
  224. package/src/sync/backfill/backfill.ts +2 -9
  225. package/src/sync/backfill/verify.ts +3 -8
  226. package/lib/chain/rewards/attestationsRewards.d.ts +0 -7
  227. package/lib/chain/rewards/attestationsRewards.d.ts.map +0 -1
  228. package/lib/chain/rewards/attestationsRewards.js +0 -112
  229. package/lib/chain/rewards/attestationsRewards.js.map +0 -1
  230. package/lib/chain/rewards/blockRewards.d.ts +0 -14
  231. package/lib/chain/rewards/blockRewards.d.ts.map +0 -1
  232. package/lib/chain/rewards/blockRewards.js +0 -94
  233. package/lib/chain/rewards/blockRewards.js.map +0 -1
  234. package/lib/chain/rewards/syncCommitteeRewards.d.ts +0 -6
  235. package/lib/chain/rewards/syncCommitteeRewards.d.ts.map +0 -1
  236. package/lib/chain/rewards/syncCommitteeRewards.js +0 -36
  237. package/lib/chain/rewards/syncCommitteeRewards.js.map +0 -1
  238. package/src/chain/rewards/attestationsRewards.ts +0 -197
  239. package/src/chain/rewards/blockRewards.ts +0 -150
  240. package/src/chain/rewards/syncCommitteeRewards.ts +0 -58
@@ -1,58 +0,0 @@
1
- import {routes} from "@lodestar/api";
2
- import {ForkName, SYNC_COMMITTEE_SIZE} from "@lodestar/params";
3
- import {CachedBeaconStateAllForks, CachedBeaconStateAltair, Index2PubkeyCache} from "@lodestar/state-transition";
4
- import {BeaconBlock, ValidatorIndex, altair} from "@lodestar/types";
5
-
6
- export type SyncCommitteeRewards = routes.beacon.SyncCommitteeRewards;
7
- type BalanceRecord = {val: number}; // Use val for convenient way to increment/decrement balance
8
-
9
- export async function computeSyncCommitteeRewards(
10
- index2pubkey: Index2PubkeyCache,
11
- block: BeaconBlock,
12
- preState: CachedBeaconStateAllForks,
13
- validatorIds: (ValidatorIndex | string)[] = []
14
- ): Promise<SyncCommitteeRewards> {
15
- const fork = preState.config.getForkName(block.slot);
16
- if (fork === ForkName.phase0) {
17
- throw Error("Cannot get sync rewards as phase0 block does not have sync committee");
18
- }
19
-
20
- const altairBlock = block as altair.BeaconBlock;
21
- const preStateAltair = preState as CachedBeaconStateAltair;
22
-
23
- // Bound syncCommitteeValidatorIndices in case it goes beyond SYNC_COMMITTEE_SIZE just to be safe
24
- const syncCommitteeValidatorIndices = preStateAltair.epochCtx.currentSyncCommitteeIndexed.validatorIndices.slice(
25
- 0,
26
- SYNC_COMMITTEE_SIZE
27
- );
28
- const {syncParticipantReward} = preStateAltair.epochCtx;
29
- const {syncCommitteeBits} = altairBlock.body.syncAggregate;
30
-
31
- // Use balance of each committee as starting point such that we cap the penalty to avoid balance dropping below 0
32
- const balances: Map<ValidatorIndex, BalanceRecord> = new Map();
33
- for (const i of syncCommitteeValidatorIndices) {
34
- balances.set(i, {val: preStateAltair.balances.get(i)});
35
- }
36
-
37
- for (const i of syncCommitteeValidatorIndices) {
38
- const balanceRecord = balances.get(i) as BalanceRecord;
39
- if (syncCommitteeBits.get(i)) {
40
- // Positive rewards for participants
41
- balanceRecord.val += syncParticipantReward;
42
- } else {
43
- // Negative rewards for non participants
44
- balanceRecord.val = Math.max(0, balanceRecord.val - syncParticipantReward);
45
- }
46
- }
47
-
48
- const rewards = Array.from(balances, ([validatorIndex, v]) => ({validatorIndex, reward: v.val}));
49
-
50
- if (validatorIds.length) {
51
- const filtersSet = new Set(validatorIds);
52
- return rewards.filter(
53
- (reward) => filtersSet.has(reward.validatorIndex) || filtersSet.has(index2pubkey[reward.validatorIndex].toHex())
54
- );
55
- }
56
-
57
- return rewards;
58
- }