@lodestar/state-transition 1.50.0-dev.1bf214377e → 1.50.0-dev.1d053e89c6

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 (74) hide show
  1. package/lib/block/indexedBuilderState.d.ts +19 -0
  2. package/lib/block/indexedBuilderState.d.ts.map +1 -0
  3. package/lib/block/indexedBuilderState.js +60 -0
  4. package/lib/block/indexedBuilderState.js.map +1 -0
  5. package/lib/block/processBuilderDepositRequest.d.ts +2 -2
  6. package/lib/block/processBuilderDepositRequest.d.ts.map +1 -1
  7. package/lib/block/processBuilderDepositRequest.js +5 -4
  8. package/lib/block/processBuilderDepositRequest.js.map +1 -1
  9. package/lib/block/processBuilderExitRequest.d.ts +2 -2
  10. package/lib/block/processBuilderExitRequest.d.ts.map +1 -1
  11. package/lib/block/processBuilderExitRequest.js +4 -3
  12. package/lib/block/processBuilderExitRequest.js.map +1 -1
  13. package/lib/block/processParentExecutionPayload.d.ts.map +1 -1
  14. package/lib/block/processParentExecutionPayload.js +23 -18
  15. package/lib/block/processParentExecutionPayload.js.map +1 -1
  16. package/lib/block/processProposerSlashing.d.ts.map +1 -1
  17. package/lib/block/processProposerSlashing.js +0 -23
  18. package/lib/block/processProposerSlashing.js.map +1 -1
  19. package/lib/block/slashValidator.d.ts.map +1 -1
  20. package/lib/block/slashValidator.js +11 -0
  21. package/lib/block/slashValidator.js.map +1 -1
  22. package/lib/epoch/processPendingDeposits.d.ts.map +1 -1
  23. package/lib/epoch/processPendingDeposits.js +8 -4
  24. package/lib/epoch/processPendingDeposits.js.map +1 -1
  25. package/lib/index.d.ts +3 -1
  26. package/lib/index.d.ts.map +1 -1
  27. package/lib/index.js +2 -0
  28. package/lib/index.js.map +1 -1
  29. package/lib/rewards/attestationsRewards.d.ts.map +1 -1
  30. package/lib/rewards/attestationsRewards.js +8 -1
  31. package/lib/rewards/attestationsRewards.js.map +1 -1
  32. package/lib/signatureSets/index.d.ts.map +1 -1
  33. package/lib/signatureSets/index.js +2 -2
  34. package/lib/signatureSets/index.js.map +1 -1
  35. package/lib/signatureSets/voluntaryExits.d.ts +2 -6
  36. package/lib/signatureSets/voluntaryExits.d.ts.map +1 -1
  37. package/lib/signatureSets/voluntaryExits.js +2 -32
  38. package/lib/signatureSets/voluntaryExits.js.map +1 -1
  39. package/lib/stateView/beaconStateView.d.ts +22 -21
  40. package/lib/stateView/beaconStateView.d.ts.map +1 -1
  41. package/lib/stateView/beaconStateView.js +71 -71
  42. package/lib/stateView/beaconStateView.js.map +1 -1
  43. package/lib/stateView/interface.d.ts +34 -21
  44. package/lib/stateView/interface.d.ts.map +1 -1
  45. package/lib/stateView/interface.js.map +1 -1
  46. package/lib/stateView/nativeBeaconStateView.d.ts +92 -100
  47. package/lib/stateView/nativeBeaconStateView.d.ts.map +1 -1
  48. package/lib/stateView/nativeBeaconStateView.js +339 -368
  49. package/lib/stateView/nativeBeaconStateView.js.map +1 -1
  50. package/lib/stateView/stateViewFactory.d.ts +6 -5
  51. package/lib/stateView/stateViewFactory.d.ts.map +1 -1
  52. package/lib/stateView/stateViewFactory.js +12 -8
  53. package/lib/stateView/stateViewFactory.js.map +1 -1
  54. package/lib/util/gloas.d.ts +11 -14
  55. package/lib/util/gloas.d.ts.map +1 -1
  56. package/lib/util/gloas.js +2 -42
  57. package/lib/util/gloas.js.map +1 -1
  58. package/package.json +8 -8
  59. package/src/block/indexedBuilderState.ts +65 -0
  60. package/src/block/processBuilderDepositRequest.ts +6 -17
  61. package/src/block/processBuilderExitRequest.ts +5 -9
  62. package/src/block/processParentExecutionPayload.ts +27 -23
  63. package/src/block/processProposerSlashing.ts +2 -28
  64. package/src/block/slashValidator.ts +13 -2
  65. package/src/epoch/processPendingDeposits.ts +14 -3
  66. package/src/index.ts +4 -1
  67. package/src/rewards/attestationsRewards.ts +8 -1
  68. package/src/signatureSets/index.ts +4 -2
  69. package/src/signatureSets/voluntaryExits.ts +3 -55
  70. package/src/stateView/beaconStateView.ts +75 -76
  71. package/src/stateView/interface.ts +61 -21
  72. package/src/stateView/nativeBeaconStateView.ts +354 -375
  73. package/src/stateView/stateViewFactory.ts +21 -12
  74. package/src/util/gloas.ts +2 -53
@@ -0,0 +1,19 @@
1
+ import { BuilderIndex } from "@lodestar/types";
2
+ import { CachedBeaconStateGloas } from "../types.js";
3
+ /**
4
+ * Block-scoped pubkey -> index map and ascending reuse candidates for `state.builders`, built in one pass.
5
+ * Only valid while builder pubkeys change exclusively via `addBuilderToRegistry()` and no builder becomes
6
+ * newly reusable (candidates are re-checked lazily, never added). Do not use across blocks/slots.
7
+ */
8
+ export declare class IndexedBuilderState {
9
+ readonly state: CachedBeaconStateGloas;
10
+ private readonly currentEpoch;
11
+ private readonly indexByPubkey;
12
+ private readonly reusableIndexCandidates;
13
+ private candidateCursor;
14
+ constructor(state: CachedBeaconStateGloas);
15
+ findBuilderIndexByPubkey(pubkey: Uint8Array): BuilderIndex | null;
16
+ addBuilderToRegistry(pubkey: Uint8Array, version: number, executionAddress: Uint8Array, amount: number): void;
17
+ private findReusableBuilderIndex;
18
+ }
19
+ //# sourceMappingURL=indexedBuilderState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexedBuilderState.d.ts","sourceRoot":"","sources":["../../src/block/indexedBuilderState.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAmB,MAAM,iBAAiB,CAAC;AAG/D,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAInD;;;;GAIG;AACH,qBAAa,mBAAmB;IAMlB,QAAQ,CAAC,KAAK,EAAE,sBAAsB;IALlD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAQ;IACrC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAsC;IACpE,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAsB;IAC9D,OAAO,CAAC,eAAe,CAAK;IAE5B,YAAqB,KAAK,EAAE,sBAAsB,EAWjD;IAED,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,YAAY,GAAG,IAAI,CAEhE;IAED,oBAAoB,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAY5G;IAED,OAAO,CAAC,wBAAwB;CAWjC"}
@@ -0,0 +1,60 @@
1
+ import { toPubkeyHex } from "@lodestar/utils";
2
+ import { computeEpochAtSlot } from "../util/epoch.js";
3
+ import { createBuilderView } from "../util/gloas.js";
4
+ /**
5
+ * Block-scoped pubkey -> index map and ascending reuse candidates for `state.builders`, built in one pass.
6
+ * Only valid while builder pubkeys change exclusively via `addBuilderToRegistry()` and no builder becomes
7
+ * newly reusable (candidates are re-checked lazily, never added). Do not use across blocks/slots.
8
+ */
9
+ export class IndexedBuilderState {
10
+ state;
11
+ currentEpoch;
12
+ indexByPubkey = new Map();
13
+ reusableIndexCandidates = [];
14
+ candidateCursor = 0;
15
+ constructor(state) {
16
+ this.state = state;
17
+ state.builders.commit();
18
+ const builders = state.builders.getAllReadonlyValues();
19
+ this.currentEpoch = computeEpochAtSlot(state.slot);
20
+ for (const [index, builder] of builders.entries()) {
21
+ const pubkeyHex = toPubkeyHex(builder.pubkey);
22
+ this.indexByPubkey.set(pubkeyHex, index);
23
+ if (canReuseBuilder(builder, this.currentEpoch)) {
24
+ this.reusableIndexCandidates.push(index);
25
+ }
26
+ }
27
+ }
28
+ findBuilderIndexByPubkey(pubkey) {
29
+ return this.indexByPubkey.get(toPubkeyHex(pubkey)) ?? null;
30
+ }
31
+ addBuilderToRegistry(pubkey, version, executionAddress, amount) {
32
+ const builder = createBuilderView(pubkey, version, executionAddress, amount, this.currentEpoch);
33
+ const reusableIndex = this.findReusableBuilderIndex();
34
+ const index = reusableIndex ?? this.state.builders.length;
35
+ if (reusableIndex !== null) {
36
+ const oldBuilder = this.state.builders.getReadonly(index);
37
+ this.indexByPubkey.delete(toPubkeyHex(oldBuilder.pubkey));
38
+ this.state.builders.set(index, builder);
39
+ }
40
+ else {
41
+ this.state.builders.push(builder);
42
+ }
43
+ this.indexByPubkey.set(toPubkeyHex(pubkey), index);
44
+ }
45
+ findReusableBuilderIndex() {
46
+ while (this.candidateCursor < this.reusableIndexCandidates.length) {
47
+ const index = this.reusableIndexCandidates[this.candidateCursor++];
48
+ const builder = this.state.builders.getReadonly(index);
49
+ // Top-ups can invalidate initial candidates
50
+ if (canReuseBuilder(builder, this.currentEpoch)) {
51
+ return index;
52
+ }
53
+ }
54
+ return null;
55
+ }
56
+ }
57
+ function canReuseBuilder(builder, currentEpoch) {
58
+ return builder.withdrawableEpoch <= currentEpoch && builder.balance === 0;
59
+ }
60
+ //# sourceMappingURL=indexedBuilderState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indexedBuilderState.js","sourceRoot":"","sources":["../../src/block/indexedBuilderState.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
1
  import { gloas } from "@lodestar/types";
2
- import { CachedBeaconStateGloas } from "../types.js";
2
+ import { IndexedBuilderState } from "./indexedBuilderState.js";
3
3
  /**
4
4
  * Process a builder deposit request from the execution layer: register a new builder
5
5
  * (proof-of-possession gated) or top up an existing builder's balance.
6
6
  *
7
7
  * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.11/specs/gloas/beacon-chain.md#new-process_builder_deposit_request
8
8
  */
9
- export declare function processBuilderDepositRequest(state: CachedBeaconStateGloas, request: gloas.BuilderDepositRequest): void;
9
+ export declare function processBuilderDepositRequest(indexedState: IndexedBuilderState, request: gloas.BuilderDepositRequest): void;
10
10
  //# sourceMappingURL=processBuilderDepositRequest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processBuilderDepositRequest.d.ts","sourceRoot":"","sources":["../../src/block/processBuilderDepositRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AACtC,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AASnD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,KAAK,EAAE,sBAAsB,EAC7B,OAAO,EAAE,KAAK,CAAC,qBAAqB,GACnC,IAAI,CAmCN"}
1
+ {"version":3,"file":"processBuilderDepositRequest.d.ts","sourceRoot":"","sources":["../../src/block/processBuilderDepositRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE7D;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,YAAY,EAAE,mBAAmB,EACjC,OAAO,EAAE,KAAK,CAAC,qBAAqB,GACnC,IAAI,CA6BN"}
@@ -1,22 +1,23 @@
1
1
  import { FAR_FUTURE_EPOCH, PAYLOAD_BUILDER_VERSION } from "@lodestar/params";
2
2
  import { computeEpochAtSlot } from "../util/epoch.js";
3
- import { addBuilderToRegistry, findBuilderIndexByPubkey, isBuilderWithdrawalCredential, isValidBuilderDepositSignature, } from "../util/gloas.js";
3
+ import { isBuilderWithdrawalCredential, isValidBuilderDepositSignature } from "../util/gloas.js";
4
4
  /**
5
5
  * Process a builder deposit request from the execution layer: register a new builder
6
6
  * (proof-of-possession gated) or top up an existing builder's balance.
7
7
  *
8
8
  * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.11/specs/gloas/beacon-chain.md#new-process_builder_deposit_request
9
9
  */
10
- export function processBuilderDepositRequest(state, request) {
10
+ export function processBuilderDepositRequest(indexedState, request) {
11
+ const { state } = indexedState;
11
12
  const { pubkey, withdrawalCredentials, amount, signature } = request;
12
13
  // Ignore deposits with unexpected withdrawal credential prefixes.
13
14
  if (!isBuilderWithdrawalCredential(withdrawalCredentials)) {
14
15
  return;
15
16
  }
16
- const builderIndex = findBuilderIndexByPubkey(state, pubkey);
17
+ const builderIndex = indexedState.findBuilderIndexByPubkey(pubkey);
17
18
  if (builderIndex === null) {
18
19
  if (isValidBuilderDepositSignature(state.config, pubkey, withdrawalCredentials, amount, signature)) {
19
- addBuilderToRegistry(state, pubkey, PAYLOAD_BUILDER_VERSION, withdrawalCredentials.subarray(12), amount, state.slot);
20
+ indexedState.addBuilderToRegistry(pubkey, PAYLOAD_BUILDER_VERSION, withdrawalCredentials.subarray(12), amount);
20
21
  }
21
22
  return;
22
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"processBuilderDepositRequest.js","sourceRoot":"","sources":["../../src/block/processBuilderDepositRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AAG3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EACL,oBAAoB,EACpB,wBAAwB,EACxB,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,kBAAkB,CAAC;AAE1B;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,KAA6B,EAC7B,OAAoC;IAEpC,MAAM,EAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IAEnE,kEAAkE;IAClE,IAAI,CAAC,6BAA6B,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE7D,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,8BAA8B,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;YACnG,oBAAoB,CAClB,KAAK,EACL,MAAM,EACN,uBAAuB,EACvB,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAClC,MAAM,EACN,KAAK,CAAC,IAAI,CACX,CAAC;QACJ,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEjD,mFAAmF;IACnF,oFAAoF;IACpF,6EAA6E;IAC7E,IAAI,OAAO,CAAC,iBAAiB,KAAK,gBAAgB,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC;IAC9G,CAAC;IAED,qCAAqC;IACrC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"processBuilderDepositRequest.js","sourceRoot":"","sources":["../../src/block/processBuilderDepositRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,uBAAuB,EAAC,MAAM,kBAAkB,CAAC;AAE3E,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,6BAA6B,EAAE,8BAA8B,EAAC,MAAM,kBAAkB,CAAC;AAG/F;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAC1C,YAAiC,EACjC,OAAoC;IAEpC,MAAM,EAAC,KAAK,EAAC,GAAG,YAAY,CAAC;IAC7B,MAAM,EAAC,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,EAAC,GAAG,OAAO,CAAC;IAEnE,kEAAkE;IAClE,IAAI,CAAC,6BAA6B,CAAC,qBAAqB,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,YAAY,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEnE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,IAAI,8BAA8B,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,CAAC;YACnG,YAAY,CAAC,oBAAoB,CAAC,MAAM,EAAE,uBAAuB,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;QACjH,CAAC;QACD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAEjD,mFAAmF;IACnF,oFAAoF;IACpF,6EAA6E;IAC7E,IAAI,OAAO,CAAC,iBAAiB,KAAK,gBAAgB,IAAI,OAAO,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC5E,OAAO,CAAC,iBAAiB,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,iCAAiC,CAAC;IAC9G,CAAC;IAED,qCAAqC;IACrC,OAAO,CAAC,OAAO,IAAI,MAAM,CAAC;AAC5B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { gloas } from "@lodestar/types";
2
- import { CachedBeaconStateGloas } from "../types.js";
2
+ import { IndexedBuilderState } from "./indexedBuilderState.js";
3
3
  /**
4
4
  * Apply a builder exit request. Authorizes the exit via `source_address` (the builder's
5
5
  * execution_address), not the BLS key — mirroring EIP-7002's 0x01 credential exit.
@@ -9,5 +9,5 @@ import { CachedBeaconStateGloas } from "../types.js";
9
9
  *
10
10
  * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.11/specs/gloas/beacon-chain.md#new-process_builder_exit_request
11
11
  */
12
- export declare function processBuilderExitRequest(state: CachedBeaconStateGloas, request: gloas.BuilderExitRequest): void;
12
+ export declare function processBuilderExitRequest(indexedState: IndexedBuilderState, request: gloas.BuilderExitRequest): void;
13
13
  //# sourceMappingURL=processBuilderExitRequest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"processBuilderExitRequest.d.ts","sourceRoot":"","sources":["../../src/block/processBuilderExitRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAQnD;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,sBAAsB,EAAE,OAAO,EAAE,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAmBhH"}
1
+ {"version":3,"file":"processBuilderExitRequest.d.ts","sourceRoot":"","sources":["../../src/block/processBuilderExitRequest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,iBAAiB,CAAC;AAGtC,OAAO,EAAC,mBAAmB,EAAC,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,mBAAmB,EAAE,OAAO,EAAE,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAoBpH"}
@@ -1,5 +1,5 @@
1
1
  import { byteArrayEquals } from "@lodestar/utils";
2
- import { findBuilderIndexByPubkey, getPendingBalanceToWithdrawForBuilder, initiateBuilderExit, isActiveBuilder, } from "../util/gloas.js";
2
+ import { getPendingBalanceToWithdrawForBuilder, initiateBuilderExit, isActiveBuilder } from "../util/gloas.js";
3
3
  /**
4
4
  * Apply a builder exit request. Authorizes the exit via `source_address` (the builder's
5
5
  * execution_address), not the BLS key — mirroring EIP-7002's 0x01 credential exit.
@@ -9,8 +9,9 @@ import { findBuilderIndexByPubkey, getPendingBalanceToWithdrawForBuilder, initia
9
9
  *
10
10
  * Spec: https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.11/specs/gloas/beacon-chain.md#new-process_builder_exit_request
11
11
  */
12
- export function processBuilderExitRequest(state, request) {
13
- const builderIndex = findBuilderIndexByPubkey(state, request.pubkey);
12
+ export function processBuilderExitRequest(indexedState, request) {
13
+ const { state } = indexedState;
14
+ const builderIndex = indexedState.findBuilderIndexByPubkey(request.pubkey);
14
15
  if (builderIndex === null) {
15
16
  return;
16
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"processBuilderExitRequest.js","sourceRoot":"","sources":["../../src/block/processBuilderExitRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EACL,wBAAwB,EACxB,qCAAqC,EACrC,mBAAmB,EACnB,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,KAA6B,EAAE,OAAiC;IACxG,MAAM,YAAY,GAAG,wBAAwB,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IACrE,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAEzD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO;IACT,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACtE,OAAO;IACT,CAAC;IACD,IAAI,qCAAqC,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO;IACT,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC"}
1
+ {"version":3,"file":"processBuilderExitRequest.js","sourceRoot":"","sources":["../../src/block/processBuilderExitRequest.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,qCAAqC,EAAE,mBAAmB,EAAE,eAAe,EAAC,MAAM,kBAAkB,CAAC;AAG7G;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CAAC,YAAiC,EAAE,OAAiC;IAC5G,MAAM,EAAC,KAAK,EAAC,GAAG,YAAY,CAAC;IAC7B,MAAM,YAAY,GAAG,YAAY,CAAC,wBAAwB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;IAEzD,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO;IACT,CAAC;IACD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACtE,OAAO;IACT,CAAC;IACD,IAAI,qCAAqC,CAAC,KAAK,EAAE,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACrE,OAAO;IACT,CAAC;IAED,mBAAmB,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"processParentExecutionPayload.d.ts","sourceRoot":"","sources":["../../src/block/processParentExecutionPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAA6C,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAC,WAAW,EAAE,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAQnD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAqBpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAiDlH"}
1
+ {"version":3,"file":"processParentExecutionPayload.d.ts","sourceRoot":"","sources":["../../src/block/processParentExecutionPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAA6C,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAC,WAAW,EAAE,KAAK,EAAM,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAC,sBAAsB,EAAC,MAAM,aAAa,CAAC;AASnD;;;;GAIG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,WAAW,CAAC,aAAa,CAAC,GAAG,IAAI,CAqBpH;AAED;;;;;;;;GAQG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,sBAAsB,EAAE,QAAQ,EAAE,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAoDlH"}
@@ -2,6 +2,7 @@ import { SLOTS_PER_EPOCH, SLOTS_PER_HISTORICAL_ROOT } from "@lodestar/params";
2
2
  import { ssz } from "@lodestar/types";
3
3
  import { byteArrayEquals, toRootHex } from "@lodestar/utils";
4
4
  import { computeEpochAtSlot } from "../util/epoch.js";
5
+ import { IndexedBuilderState } from "./indexedBuilderState.js";
5
6
  import { processBuilderDepositRequest } from "./processBuilderDepositRequest.js";
6
7
  import { processBuilderExitRequest } from "./processBuilderExitRequest.js";
7
8
  import { processConsolidationRequest } from "./processConsolidationRequest.js";
@@ -44,24 +45,8 @@ export function applyParentExecutionPayload(state, requests) {
44
45
  const parentSlot = state.latestBlockHeader.slot;
45
46
  const parentEpoch = computeEpochAtSlot(parentSlot);
46
47
  const currentEpoch = computeEpochAtSlot(state.slot);
47
- // Process execution requests from parent's payload. The execution
48
- // requests are processed at state.slot (child's slot), not the parent's slot.
49
- for (const deposit of requests.deposits) {
50
- processDepositRequest(fork, state, deposit);
51
- }
52
- for (const withdrawal of requests.withdrawals) {
53
- processWithdrawalRequest(fork, state, withdrawal);
54
- }
55
- for (const consolidation of requests.consolidations) {
56
- processConsolidationRequest(state, consolidation);
57
- }
58
- for (const builderDeposit of requests.builderDeposits) {
59
- processBuilderDepositRequest(state, builderDeposit);
60
- }
61
- for (const builderExit of requests.builderExits) {
62
- processBuilderExitRequest(state, builderExit);
63
- }
64
- // Settle the builder payment
48
+ // Settle the builder payment before the requests so that a builder exit request
49
+ // is rejected while the payment is pending
65
50
  if (parentEpoch === currentEpoch) {
66
51
  settleBuilderPayment(state, SLOTS_PER_EPOCH + (parentSlot % SLOTS_PER_EPOCH));
67
52
  }
@@ -77,6 +62,26 @@ export function applyParentExecutionPayload(state, requests) {
77
62
  builderIndex: parentBid.builderIndex,
78
63
  }));
79
64
  }
65
+ // Process execution requests from parent's payload. The execution
66
+ // requests are processed at state.slot (child's slot), not the parent's slot.
67
+ for (const deposit of requests.deposits) {
68
+ processDepositRequest(fork, state, deposit);
69
+ }
70
+ for (const withdrawal of requests.withdrawals) {
71
+ processWithdrawalRequest(fork, state, withdrawal);
72
+ }
73
+ for (const consolidation of requests.consolidations) {
74
+ processConsolidationRequest(state, consolidation);
75
+ }
76
+ if (requests.builderDeposits.length > 0 || requests.builderExits.length > 0) {
77
+ const indexedState = new IndexedBuilderState(state);
78
+ for (const builderDeposit of requests.builderDeposits) {
79
+ processBuilderDepositRequest(indexedState, builderDeposit);
80
+ }
81
+ for (const builderExit of requests.builderExits) {
82
+ processBuilderExitRequest(indexedState, builderExit);
83
+ }
84
+ }
80
85
  // Update parent payload availability and latest block hash
81
86
  state.executionPayloadAvailability.set(parentSlot % SLOTS_PER_HISTORICAL_ROOT, true);
82
87
  state.latestBlockHash = parentBid.blockHash;
@@ -1 +1 @@
1
- {"version":3,"file":"processParentExecutionPayload.js","sourceRoot":"","sources":["../../src/block/processParentExecutionPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,eAAe,EAAE,yBAAyB,EAAC,MAAM,kBAAkB,CAAC;AAC3F,OAAO,EAAqB,GAAG,EAAC,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAC,eAAe,EAAE,SAAS,EAAC,MAAM,iBAAiB,CAAC;AAE3D,OAAO,EAAC,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAC,4BAA4B,EAAC,MAAM,mCAAmC,CAAC;AAC/E,OAAO,EAAC,yBAAyB,EAAC,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAC,2BAA2B,EAAC,MAAM,kCAAkC,CAAC;AAC7E,OAAO,EAAC,qBAAqB,EAAC,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAC,wBAAwB,EAAC,MAAM,+BAA+B,CAAC;AAEvE;;;;GAIG;AACH,MAAM,UAAU,6BAA6B,CAAC,KAA6B,EAAE,KAAiC;IAC5G,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC;IACzD,MAAM,SAAS,GAAG,KAAK,CAAC,yBAAyB,CAAC;IAClD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC;IAEpD,MAAM,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,eAAe,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IACpF,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,qDAAqD;QACrD,4BAA4B,CAAC,QAAQ,CAAC,CAAC;QACvC,OAAO;IACT,CAAC;IAED,qEAAqE;IACrE,MAAM,YAAY,GAAG,GAAG,CAAC,KAAK,CAAC,iBAAiB,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IACxE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,qBAAqB,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,KAAK,CACb,kDAAkD,SAAS,CAAC,YAAY,CAAC,aAAa,SAAS,CAAC,SAAS,CAAC,qBAAqB,CAAC,EAAE,CACnI,CAAC;IACJ,CAAC;IAED,2BAA2B,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAC/C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAA6B,EAAE,QAAiC;IAC1G,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,SAAS,GAAG,KAAK,CAAC,yBAAyB,CAAC;IAClD,MAAM,UAAU,GAAG,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC;IAChD,MAAM,WAAW,GAAG,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,YAAY,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEpD,kEAAkE;IAClE,8EAA8E;IAC9E,KAAK,MAAM,OAAO,IAAI,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACxC,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,MAAM,UAAU,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC9C,wBAAwB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,MAAM,aAAa,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;QACpD,2BAA2B,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,MAAM,cAAc,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QACtD,4BAA4B,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,MAAM,WAAW,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAChD,yBAAyB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAChD,CAAC;IAED,6BAA6B;IAC7B,IAAI,WAAW,KAAK,YAAY,EAAE,CAAC;QACjC,oBAAoB,CAAC,KAAK,EAAE,eAAe,GAAG,CAAC,UAAU,GAAG,eAAe,CAAC,CAAC,CAAC;IAChF,CAAC;SAAM,IAAI,WAAW,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC;QAC5C,oBAAoB,CAAC,KAAK,EAAE,UAAU,GAAG,eAAe,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,SAAS,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;QAC/B,mFAAmF;QACnF,4DAA4D;QAC5D,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAClC,GAAG,CAAC,KAAK,CAAC,wBAAwB,CAAC,QAAQ,CAAC;YAC1C,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,MAAM,EAAE,SAAS,CAAC,KAAK;YACvB,YAAY,EAAE,SAAS,CAAC,YAAY;SACrC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,4BAA4B,CAAC,GAAG,CAAC,UAAU,GAAG,yBAAyB,EAAE,IAAI,CAAC,CAAC;IACrF,KAAK,CAAC,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAS,oBAAoB,CAAC,KAA6B,EAAE,YAAoB;IAC/E,IAAI,YAAY,IAAI,KAAK,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,IAAI,KAAK,CACb,8CAA8C,YAAY,UAAU,KAAK,CAAC,sBAAsB,CAAC,MAAM,EAAE,CAC1G,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;IACvE,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,KAAK,CAAC,yBAAyB,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,YAAY,EAAE,GAAG,CAAC,KAAK,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,4BAA4B,CAAC,QAAiC;IACrE,IACE,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAC9B,QAAQ,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC;QACjC,QAAQ,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC;QACpC,QAAQ,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC;QACrC,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAClC,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"processParentExecutionPayload.js","sourceRoot":"","sources":["../../src/block/processParentExecutionPayload.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"processProposerSlashing.d.ts","sourceRoot":"","sources":["../../src/block/processProposerSlashing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAkB,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAC,IAAI,EAAE,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAC,yBAAyB,EAAyB,MAAM,aAAa,CAAC;AAK9E;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,yBAAyB,EAChC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EACzC,gBAAgB,UAAO,GACtB,IAAI,CA+BN;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,IAAI,EACf,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EACzC,QAAQ,EAAE,SAAS,EACnB,gBAAgB,UAAO,GACtB,IAAI,CAqCN"}
1
+ {"version":3,"file":"processProposerSlashing.d.ts","sourceRoot":"","sources":["../../src/block/processProposerSlashing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAC,OAAO,EAAC,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAC,IAAI,EAAE,MAAM,EAAM,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,OAAO,EAAC,yBAAyB,EAAC,MAAM,aAAa,CAAC;AAKtD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,yBAAyB,EAChC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EACzC,gBAAgB,UAAO,GACtB,IAAI,CAKN;AAED,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,IAAI,EACf,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EACzC,QAAQ,EAAE,SAAS,EACnB,gBAAgB,UAAO,GACtB,IAAI,CAqCN"}
@@ -1,4 +1,3 @@
1
- import { ForkSeq, SLOTS_PER_EPOCH } from "@lodestar/params";
2
1
  import { ssz } from "@lodestar/types";
3
2
  import { getProposerSlashingSignatureSets } from "../signatureSets/index.js";
4
3
  import { computeEpochAtSlot, isSlashableValidator } from "../util/index.js";
@@ -13,28 +12,6 @@ import { slashValidator } from "./slashValidator.js";
13
12
  export function processProposerSlashing(fork, state, proposerSlashing, verifySignatures = true) {
14
13
  const proposer = state.validators.getReadonly(proposerSlashing.signedHeader1.message.proposerIndex);
15
14
  assertValidProposerSlashing(state.config, state.slot, proposerSlashing, proposer, verifySignatures);
16
- if (fork >= ForkSeq.gloas) {
17
- // Remove the BuilderPendingPayment corresponding to this proposal if it is still in the
18
- // 2-epoch window. Only clear it when the slashed validator is the proposer associated with
19
- // the payment; otherwise an unrelated same-slot equivocation could grief an honest proposer's
20
- // payment.
21
- const slot = Number(proposerSlashing.signedHeader1.message.slot);
22
- const proposalEpoch = computeEpochAtSlot(slot);
23
- const currentEpoch = state.epochCtx.epoch;
24
- const previousEpoch = currentEpoch - 1;
25
- const paymentIndex = proposalEpoch === currentEpoch
26
- ? SLOTS_PER_EPOCH + (slot % SLOTS_PER_EPOCH)
27
- : proposalEpoch === previousEpoch
28
- ? slot % SLOTS_PER_EPOCH
29
- : undefined;
30
- if (paymentIndex !== undefined) {
31
- const builderPendingPayments = state.builderPendingPayments;
32
- const payment = builderPendingPayments.get(paymentIndex);
33
- if (payment.proposerIndex === proposerSlashing.signedHeader1.message.proposerIndex) {
34
- builderPendingPayments.set(paymentIndex, ssz.gloas.BuilderPendingPayment.defaultViewDU());
35
- }
36
- }
37
- }
38
15
  slashValidator(fork, state, proposerSlashing.signedHeader1.message.proposerIndex);
39
16
  }
40
17
  export function assertValidProposerSlashing(config, stateSlot, proposerSlashing, proposer, verifySignatures = true) {
@@ -1 +1 @@
1
- {"version":3,"file":"processProposerSlashing.js","sourceRoot":"","sources":["../../src/block/processProposerSlashing.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processProposerSlashing.js","sourceRoot":"","sources":["../../src/block/processProposerSlashing.ts"],"names":[],"mappings":"AAEA,OAAO,EAAe,GAAG,EAAC,MAAM,iBAAiB,CAAC;AAElD,OAAO,EAAC,gCAAgC,EAAC,MAAM,2BAA2B,CAAC;AAE3E,OAAO,EAAC,kBAAkB,EAAE,oBAAoB,EAAC,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAC,cAAc,EAAC,MAAM,qBAAqB,CAAC;AAEnD;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,IAAa,EACb,KAAgC,EAChC,gBAAyC,EACzC,gBAAgB,GAAG,IAAI;IAEvB,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpG,2BAA2B,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEpG,cAAc,CAAC,IAAI,EAAE,KAAK,EAAE,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AACpF,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,MAAoB,EACpB,SAAe,EACf,gBAAyC,EACzC,QAAmB,EACnB,gBAAgB,GAAG,IAAI;IAEvB,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC;IACvD,MAAM,OAAO,GAAG,gBAAgB,CAAC,aAAa,CAAC,OAAO,CAAC;IAEvD,4BAA4B;IAC5B,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,8CAA8C,OAAO,CAAC,IAAI,UAAU,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACtG,CAAC;IAED,uCAAuC;IACvC,IAAI,OAAO,CAAC,aAAa,KAAK,OAAO,CAAC,aAAa,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,kEAAkE,OAAO,CAAC,aAAa,mBAAmB,OAAO,CAAC,aAAa,EAAE,CAClI,CAAC;IACJ,CAAC;IAED,+BAA+B;IAC/B,IAAI,GAAG,CAAC,MAAM,CAAC,uBAAuB,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QAChE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,mCAAmC;IACnC,gHAAgH;IAChH,0EAA0E;IAC1E,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACnE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAChE,CAAC;IAED,oBAAoB;IACpB,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,aAAa,GAAG,gCAAgC,CAAC,MAAM,EAAE,SAAS,EAAE,gBAAgB,CAAC,CAAC;QAC5F,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,IAAI,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC1C,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"slashValidator.d.ts","sourceRoot":"","sources":["../../src/block/slashValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,OAAO,EAWR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAC,yBAAyB,EAA0B,MAAM,aAAa,CAAC;AAO/E,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,yBAAyB,EAChC,YAAY,EAAE,cAAc,EAC5B,kBAAkB,CAAC,EAAE,cAAc,GAClC,IAAI,CAqEN"}
1
+ {"version":3,"file":"slashValidator.d.ts","sourceRoot":"","sources":["../../src/block/slashValidator.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,OAAO,EAWR,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAC,cAAc,EAAM,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAC,yBAAyB,EAAkD,MAAM,aAAa,CAAC;AAOvG,wBAAgB,cAAc,CAC5B,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,yBAAyB,EAChC,YAAY,EAAE,cAAc,EAC5B,kBAAkB,CAAC,EAAE,cAAc,GAClC,IAAI,CAgFN"}
@@ -1,4 +1,5 @@
1
1
  import { EFFECTIVE_BALANCE_INCREMENT, EPOCHS_PER_SLASHINGS_VECTOR, ForkSeq, MIN_SLASHING_PENALTY_QUOTIENT, MIN_SLASHING_PENALTY_QUOTIENT_ALTAIR, MIN_SLASHING_PENALTY_QUOTIENT_BELLATRIX, MIN_SLASHING_PENALTY_QUOTIENT_ELECTRA, PROPOSER_REWARD_QUOTIENT, PROPOSER_WEIGHT, TIMELY_TARGET_FLAG_INDEX, WEIGHT_DENOMINATOR, WHISTLEBLOWER_REWARD_QUOTIENT, WHISTLEBLOWER_REWARD_QUOTIENT_ELECTRA, } from "@lodestar/params";
2
+ import { ssz } from "@lodestar/types";
2
3
  import { decreaseBalance, increaseBalance } from "../util/index.js";
3
4
  import { initiateValidatorExit } from "./initiateValidatorExit.js";
4
5
  /** Same to https://github.com/ethereum/eth2.0-specs/blob/v1.1.0-alpha.5/specs/altair/beacon-chain.md#has_flag */
@@ -57,5 +58,15 @@ export function slashValidator(fork, state, slashedIndex, whistleblowerIndex) {
57
58
  state.epochCtx.currentTargetUnslashedBalanceIncrements -= Math.floor(effectiveBalance / EFFECTIVE_BALANCE_INCREMENT);
58
59
  }
59
60
  }
61
+ if (fork >= ForkSeq.gloas) {
62
+ // Cleared on every slashing, not only proposer slashings: a proposer slashed via an attester slashing
63
+ // first would otherwise keep the builder paying for a block it equivocated on
64
+ const { builderPendingPayments } = state;
65
+ for (let i = 0; i < builderPendingPayments.length; i++) {
66
+ if (builderPendingPayments.getReadonly(i).proposerIndex === slashedIndex) {
67
+ builderPendingPayments.set(i, ssz.gloas.BuilderPendingPayment.defaultViewDU());
68
+ }
69
+ }
70
+ }
60
71
  }
61
72
  //# sourceMappingURL=slashValidator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"slashValidator.js","sourceRoot":"","sources":["../../src/block/slashValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"slashValidator.js","sourceRoot":"","sources":["../../src/block/slashValidator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"processPendingDeposits.d.ts","sourceRoot":"","sources":["../../src/epoch/processPendingDeposits.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,wBAAwB,EAAE,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAM3E;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,CA2FzG"}
1
+ {"version":3,"file":"processPendingDeposits.d.ts","sourceRoot":"","sources":["../../src/epoch/processPendingDeposits.ts"],"names":[],"mappings":"AASA,OAAO,EAAC,wBAAwB,EAAE,oBAAoB,EAAC,MAAM,aAAa,CAAC;AAM3E;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,wBAAwB,EAAE,KAAK,EAAE,oBAAoB,GAAG,IAAI,CA2FzG"}
@@ -1,4 +1,4 @@
1
- import { FAR_FUTURE_EPOCH, ForkSeq, GENESIS_SLOT, MAX_PENDING_DEPOSITS_PER_EPOCH } from "@lodestar/params";
1
+ import { BLS_WITHDRAWAL_PREFIX, FAR_FUTURE_EPOCH, ForkSeq, GENESIS_SLOT, MAX_PENDING_DEPOSITS_PER_EPOCH, } from "@lodestar/params";
2
2
  import { addValidatorToRegistry, isValidDepositSignature } from "../block/processDeposit.js";
3
3
  import { increaseBalance } from "../util/balance.js";
4
4
  import { hasCompoundingWithdrawalCredential, isValidatorKnown } from "../util/electra.js";
@@ -58,7 +58,7 @@ export function processPendingDeposits(state, cache) {
58
58
  }
59
59
  if (isValidatorWithdrawn) {
60
60
  // Deposited balance will never become active. Increase balance but do not consume churn
61
- applyPendingDeposit(state, deposit, cache);
61
+ applyPendingDeposit(fork, state, deposit, cache);
62
62
  }
63
63
  else if (isValidatorExited) {
64
64
  // Validator is exiting, postpone the deposit until after withdrawable epoch
@@ -72,7 +72,7 @@ export function processPendingDeposits(state, cache) {
72
72
  }
73
73
  // Consume churn and apply deposit.
74
74
  processedAmount += deposit.amount;
75
- applyPendingDeposit(state, deposit, cache);
75
+ applyPendingDeposit(fork, state, deposit, cache);
76
76
  }
77
77
  // Regardless of how the deposit was handled, we move on in the queue.
78
78
  nextDepositIndex++;
@@ -93,11 +93,15 @@ export function processPendingDeposits(state, cache) {
93
93
  state.depositBalanceToConsume = 0n;
94
94
  }
95
95
  }
96
- function applyPendingDeposit(state, deposit, cache) {
96
+ function applyPendingDeposit(fork, state, deposit, cache) {
97
97
  const validatorIndex = state.epochCtx.getValidatorIndex(deposit.pubkey);
98
98
  const { pubkey, withdrawalCredentials, amount, signature } = deposit;
99
99
  const cachedBalances = cache.balances;
100
100
  if (!isValidatorKnown(state, validatorIndex)) {
101
+ // Do not create validators with BLS withdrawal credentials, the deposit is skipped without a refund
102
+ if (fork >= ForkSeq.heze && withdrawalCredentials[0] === BLS_WITHDRAWAL_PREFIX) {
103
+ return;
104
+ }
101
105
  // Verify the deposit signature (proof of possession) which is not checked by the deposit contract
102
106
  if (isValidDepositSignature(state.config, pubkey, withdrawalCredentials, amount, signature)) {
103
107
  addValidatorToRegistry(ForkSeq.electra, state, pubkey, withdrawalCredentials, amount);
@@ -1 +1 @@
1
- {"version":3,"file":"processPendingDeposits.js","sourceRoot":"","sources":["../../src/epoch/processPendingDeposits.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"processPendingDeposits.js","sourceRoot":"","sources":["../../src/epoch/processPendingDeposits.ts"],"names":[],"mappings":"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"}
package/lib/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export { type BlockExternalData, DataAvailabilityStatus, ExecutionPayloadStatus } from "./block/externalData.js";
2
+ export { IndexedBuilderState } from "./block/indexedBuilderState.js";
2
3
  export { getAttestationParticipationStatus, processAttestationsAltair } from "./block/processAttestationsAltair.js";
3
4
  export { assertValidAttesterSlashing } from "./block/processAttesterSlashing.js";
4
5
  export { isValidBlsToExecutionChange } from "./block/processBlsToExecutionChange.js";
@@ -19,7 +20,8 @@ export * from "./rewards/index.js";
19
20
  export * from "./signatureSets/index.js";
20
21
  export * from "./stateTransition.js";
21
22
  export { BeaconStateView } from "./stateView/beaconStateView.js";
22
- export { type ComputeNewStateRootInput, type ComputeNewStateRootResult, type IBeaconStateView, type IBeaconStateViewAltair, type IBeaconStateViewBellatrix, type IBeaconStateViewCapella, type IBeaconStateViewDeneb, type IBeaconStateViewElectra, type IBeaconStateViewFulu, type IBeaconStateViewGloas, type IBeaconStateViewHeze, isStatePostAltair, isStatePostBellatrix, isStatePostCapella, isStatePostDeneb, isStatePostElectra, isStatePostFulu, isStatePostGloas, isStatePostHeze, } from "./stateView/interface.js";
23
+ export { type BlockSTFInput, type ComputeNewStateRootResult, type IBeaconStateView, type IBeaconStateViewAltair, type IBeaconStateViewBellatrix, type IBeaconStateViewCapella, type IBeaconStateViewDeneb, type IBeaconStateViewElectra, type IBeaconStateViewFulu, type IBeaconStateViewGloas, type IBeaconStateViewHeze, type IBeaconStateViewNative, isStatePostAltair, isStatePostBellatrix, isStatePostCapella, isStatePostDeneb, isStatePostElectra, isStatePostFulu, isStatePostGloas, isStatePostHeze, } from "./stateView/interface.js";
24
+ export { NativeBeaconStateView } from "./stateView/nativeBeaconStateView.js";
23
25
  export { createBeaconStateView, createBeaconStateViewForHistoricalRegen } from "./stateView/stateViewFactory.js";
24
26
  export type { BeaconStateAllForks, BeaconStateAltair, BeaconStateBellatrix, BeaconStateCapella, BeaconStateDeneb, BeaconStateElectra, BeaconStateExecutions, BeaconStateFulu, BeaconStateGloas, BeaconStateHeze, BeaconStatePhase0, CachedBeaconStateAllForks, CachedBeaconStateAltair, CachedBeaconStateBellatrix, CachedBeaconStateCapella, CachedBeaconStateDeneb, CachedBeaconStateElectra, CachedBeaconStateExecutions, CachedBeaconStateFulu, CachedBeaconStateGloas, CachedBeaconStateHeze, CachedBeaconStatePhase0, } from "./types.js";
25
27
  export * from "./util/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACL,KAAK,0BAA0B,EAC/B,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAE9F,OAAO,EACL,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AAC/F,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAC,KAAK,4BAA4B,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACL,KAAK,wBAAwB,EAC7B,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,qBAAqB,EAAE,uCAAuC,EAAC,MAAM,iCAAiC,CAAC;AAC/G,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAEf,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,iBAAiB,EAAE,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AAEnF,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAE/E,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACL,KAAK,0BAA0B,EAC/B,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EACV,KAAK,uBAAuB,EAC5B,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,oBAAoB,EAAE,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAE9F,OAAO,EACL,KAAK,gBAAgB,EACrB,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAC,KAAK,kBAAkB,EAAE,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AAC/F,cAAc,sBAAsB,CAAC;AACrC,YAAY,EAAC,mBAAmB,EAAC,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAC,KAAK,4BAA4B,EAAE,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,yBAAyB,EAC9B,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC1B,KAAK,uBAAuB,EAC5B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,sBAAsB,EAC3B,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,qBAAqB,EAAE,uCAAuC,EAAC,MAAM,iCAAiC,CAAC;AAC/G,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAEf,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,YAAY,CAAC;AACpB,cAAc,iBAAiB,CAAC"}
package/lib/index.js CHANGED
@@ -1,4 +1,5 @@
1
1
  export { DataAvailabilityStatus, ExecutionPayloadStatus } from "./block/externalData.js";
2
+ export { IndexedBuilderState } from "./block/indexedBuilderState.js";
2
3
  export { getAttestationParticipationStatus, processAttestationsAltair } from "./block/processAttestationsAltair.js";
3
4
  export { assertValidAttesterSlashing } from "./block/processAttesterSlashing.js";
4
5
  export { isValidBlsToExecutionChange } from "./block/processBlsToExecutionChange.js";
@@ -23,6 +24,7 @@ export * from "./signatureSets/index.js";
23
24
  export * from "./stateTransition.js";
24
25
  export { BeaconStateView } from "./stateView/beaconStateView.js";
25
26
  export { isStatePostAltair, isStatePostBellatrix, isStatePostCapella, isStatePostDeneb, isStatePostElectra, isStatePostFulu, isStatePostGloas, isStatePostHeze, } from "./stateView/interface.js";
27
+ export { NativeBeaconStateView } from "./stateView/nativeBeaconStateView.js";
26
28
  export { createBeaconStateView, createBeaconStateViewForHistoricalRegen } from "./stateView/stateViewFactory.js";
27
29
  export * from "./util/index.js";
28
30
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AACnF,qCAAqC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,yBAAyB;AACzB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,6BAA6B;AAC7B,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAEL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EAEV,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA4B,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9F,oBAAoB;AACpB,OAAO,EAEL,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA0B,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AAC/F,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAoC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAYL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,qBAAqB,EAAE,uCAAuC,EAAC,MAAM,iCAAiC,CAAC;AA0B/G,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,sBAAsB,EAAE,sBAAsB,EAAC,MAAM,yBAAyB,CAAC;AAC/G,OAAO,EAAC,mBAAmB,EAAC,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAC,iCAAiC,EAAE,yBAAyB,EAAC,MAAM,sCAAsC,CAAC;AAClH,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAC,2BAA2B,EAAC,MAAM,wCAAwC,CAAC;AACnF,qCAAqC;AACrC,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAC9D,OAAO,EAAC,2BAA2B,EAAC,MAAM,oCAAoC,CAAC;AAC/E,yBAAyB;AACzB,OAAO,EACL,qBAAqB,EACrB,wBAAwB,EACxB,oBAAoB,GACrB,MAAM,iCAAiC,CAAC;AACzC,6BAA6B;AAC7B,OAAO,EAAC,sBAAsB,EAAC,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAC,gBAAgB,EAAE,qBAAqB,EAAE,kBAAkB,EAAC,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EAEL,oCAAoC,EACpC,mCAAmC,GACpC,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EACL,UAAU,EAEV,kCAAkC,GACnC,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA4B,kBAAkB,EAAC,MAAM,iCAAiC,CAAC;AAC9F,oBAAoB;AACpB,OAAO,EAEL,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAA0B,uBAAuB,EAAC,MAAM,+BAA+B,CAAC;AAC/F,cAAc,sBAAsB,CAAC;AAErC,OAAO,EAAoC,UAAU,EAAC,MAAM,cAAc,CAAC;AAC3E,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAC,eAAe,EAAC,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAaL,iBAAiB,EACjB,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,gBAAgB,EAChB,eAAe,GAChB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAC,qBAAqB,EAAC,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAC,qBAAqB,EAAE,uCAAuC,EAAC,MAAM,iCAAiC,CAAC;AA0B/G,cAAc,iBAAiB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"attestationsRewards.d.ts","sourceRoot":"","sources":["../../src/rewards/attestationsRewards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAgB9C,OAAO,EAAC,cAAc,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAGxD,OAAO,EAAC,yBAAyB,EAA0B,MAAM,aAAa,CAAC;AAgB/E,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,yBAAyB,EAChC,YAAY,CAAC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,GACzC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAyBtC"}
1
+ {"version":3,"file":"attestationsRewards.d.ts","sourceRoot":"","sources":["../../src/rewards/attestationsRewards.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,WAAW,EAAC,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAgB9C,OAAO,EAAC,cAAc,EAAE,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAKxD,OAAO,EAAC,yBAAyB,EAA0B,MAAM,aAAa,CAAC;AAgB/E,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,WAAW,EACxB,KAAK,EAAE,yBAAyB,EAChC,YAAY,CAAC,EAAE,CAAC,cAAc,GAAG,MAAM,CAAC,EAAE,GACzC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CA8BtC"}
@@ -1,6 +1,8 @@
1
1
  import { EFFECTIVE_BALANCE_INCREMENT, ForkName, ForkSeq, INACTIVITY_PENALTY_QUOTIENT_ALTAIR, INACTIVITY_PENALTY_QUOTIENT_BELLATRIX, MAX_EFFECTIVE_BALANCE, MAX_EFFECTIVE_BALANCE_ELECTRA, PARTICIPATION_FLAG_WEIGHTS, TIMELY_HEAD_FLAG_INDEX, TIMELY_SOURCE_FLAG_INDEX, TIMELY_TARGET_FLAG_INDEX, WEIGHT_DENOMINATOR, isForkPostElectra, } from "@lodestar/params";
2
2
  import { fromHex } from "@lodestar/utils";
3
3
  import { beforeProcessEpoch } from "../cache/epochTransitionCache.js";
4
+ import { processInactivityUpdates } from "../epoch/processInactivityUpdates.js";
5
+ import { processJustificationAndFinalization } from "../epoch/processJustificationAndFinalization.js";
4
6
  import { FLAG_ELIGIBLE_ATTESTER, FLAG_PREV_HEAD_ATTESTER_UNSLASHED, FLAG_PREV_SOURCE_ATTESTER_UNSLASHED, FLAG_PREV_TARGET_ATTESTER_UNSLASHED, hasMarkers, isInInactivityLeak, } from "../util/index.js";
5
7
  const defaultAttestationsReward = { head: 0, target: 0, source: 0, inclusionDelay: 0, inactivity: 0 };
6
8
  const defaultAttestationsPenalty = { target: 0, source: 0 };
@@ -9,8 +11,13 @@ export async function computeAttestationsRewards(config, pubkeyCache, state, val
9
11
  if (fork === ForkName.phase0) {
10
12
  throw Error("Unsupported fork. Attestations rewards calculation is not available in phase0");
11
13
  }
12
- const stateAltair = state;
14
+ // Rewards are computed after justification and inactivity updates in epoch processing, so apply both to a clone
15
+ // before reading finality and inactivity scores, see
16
+ // https://github.com/ethereum/consensus-specs/blob/v1.7.0-beta.2/specs/altair/beacon-chain.md#epoch-processing
17
+ const stateAltair = state.clone();
13
18
  const transitionCache = beforeProcessEpoch(stateAltair);
19
+ processJustificationAndFinalization(stateAltair, transitionCache);
20
+ processInactivityUpdates(stateAltair, transitionCache);
14
21
  const [idealRewards, penalties] = computeIdealAttestationsRewardsAndPenaltiesAltair(config, stateAltair, transitionCache);
15
22
  const totalRewards = computeTotalAttestationsRewardsAltair(config, pubkeyCache, stateAltair, transitionCache, idealRewards, penalties, validatorIds);
16
23
  return { idealRewards, totalRewards };
@@ -1 +1 @@
1
- {"version":3,"file":"attestationsRewards.js","sourceRoot":"","sources":["../../src/rewards/attestationsRewards.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"attestationsRewards.js","sourceRoot":"","sources":["../../src/rewards/attestationsRewards.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signatureSets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAyB,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAwB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAC,aAAa,EAA4C,MAAM,kBAAkB,CAAC;AAU1F,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,2BAA2B,EAAE,kBAAkB,EAC/C,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,iBAAiB,EAC9B,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,CAAC,EAAE;IACL,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GACA,aAAa,EAAE,CAsDjB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/signatureSets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,YAAY,EAAC,MAAM,kBAAkB,CAAC;AAE9C,OAAO,EAAC,kBAAkB,EAAE,iBAAiB,EAAyB,MAAM,iBAAiB,CAAC;AAE9F,OAAO,EAAC,kBAAkB,EAAC,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAC,gBAAgB,EAAwB,MAAM,2BAA2B,CAAC;AAClF,OAAO,EAAC,aAAa,EAA4C,MAAM,kBAAkB,CAAC;AAU1F,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,yBAAyB,CAAC;AACxC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,eAAe,CAAC;AAC9B,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,qBAAqB,CAAC;AAEpC;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,2BAA2B,EAAE,kBAAkB,EAC/C,KAAK,EAAE,gBAAgB,EACvB,WAAW,EAAE,iBAAiB,EAC9B,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,CAAC,EAAE;IACL,wFAAwF;IACxF,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC,GACA,aAAa,EAAE,CAwDjB"}