@lodestar/fork-choice 1.45.0-dev.d7859e978b → 1.45.0-dev.e6c77a6488

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 (33) hide show
  1. package/lib/forkChoice/fastConfirmation/data.d.ts.map +1 -1
  2. package/lib/forkChoice/fastConfirmation/data.js +1 -0
  3. package/lib/forkChoice/fastConfirmation/data.js.map +1 -1
  4. package/lib/forkChoice/fastConfirmation/types.d.ts +3 -0
  5. package/lib/forkChoice/fastConfirmation/types.d.ts.map +1 -1
  6. package/lib/forkChoice/fastConfirmation/types.js.map +1 -1
  7. package/lib/forkChoice/fastConfirmation/utils.d.ts +3 -3
  8. package/lib/forkChoice/fastConfirmation/utils.d.ts.map +1 -1
  9. package/lib/forkChoice/fastConfirmation/utils.js +27 -19
  10. package/lib/forkChoice/fastConfirmation/utils.js.map +1 -1
  11. package/lib/forkChoice/forkChoice.d.ts +7 -7
  12. package/lib/forkChoice/forkChoice.d.ts.map +1 -1
  13. package/lib/forkChoice/forkChoice.js +45 -41
  14. package/lib/forkChoice/forkChoice.js.map +1 -1
  15. package/lib/forkChoice/interface.d.ts +6 -6
  16. package/lib/forkChoice/interface.d.ts.map +1 -1
  17. package/lib/forkChoice/interface.js +1 -1
  18. package/lib/forkChoice/interface.js.map +1 -1
  19. package/lib/protoArray/computeDeltas.d.ts.map +1 -1
  20. package/lib/protoArray/computeDeltas.js +19 -15
  21. package/lib/protoArray/computeDeltas.js.map +1 -1
  22. package/lib/protoArray/protoArray.d.ts +6 -1
  23. package/lib/protoArray/protoArray.d.ts.map +1 -1
  24. package/lib/protoArray/protoArray.js +13 -5
  25. package/lib/protoArray/protoArray.js.map +1 -1
  26. package/package.json +8 -8
  27. package/src/forkChoice/fastConfirmation/data.ts +1 -0
  28. package/src/forkChoice/fastConfirmation/types.ts +4 -0
  29. package/src/forkChoice/fastConfirmation/utils.ts +39 -16
  30. package/src/forkChoice/forkChoice.ts +56 -53
  31. package/src/forkChoice/interface.ts +6 -16
  32. package/src/protoArray/computeDeltas.ts +21 -17
  33. package/src/protoArray/protoArray.ts +15 -5
@@ -1 +1 @@
1
- {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/data.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB,wBAAgB,2BAA2B,IAAI,qBAAqB,CASnE;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,qBAAqB,GAC3B,wBAAwB,CAkB1B"}
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/data.ts"],"names":[],"mappings":"AACA,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,YAAY,CAAC;AAGpB,wBAAgB,2BAA2B,IAAI,qBAAqB,CAUnE;AAED,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,uBAAuB,EAC5B,KAAK,EAAE,sBAAsB,EAC7B,KAAK,EAAE,qBAAqB,GAC3B,wBAAwB,CAkB1B"}
@@ -7,6 +7,7 @@ export function createFastConfirmationCache() {
7
7
  committeeBySlot: new Map(),
8
8
  isDescendantByRootPair: new Map(),
9
9
  voteWeightBySource: new Map(),
10
+ totalActiveBalanceByKey: new Map(),
10
11
  checkpointStateByKey: new Map(),
11
12
  };
12
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAO9D,OAAO,EAAC,QAAQ,EAAE,0BAA0B,EAAC,MAAM,YAAY,CAAC;AAEhE,MAAM,UAAU,2BAA2B,GAA0B;IACnE,OAAO;QACL,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,aAAa,EAAE,IAAI,GAAG,EAAE;QACxB,eAAe,EAAE,IAAI,GAAG,EAAE;QAC1B,sBAAsB,EAAE,IAAI,GAAG,EAAE;QACjC,kBAAkB,EAAE,IAAI,GAAG,EAAE;QAC7B,oBAAoB,EAAE,IAAI,GAAG,EAAE;KAChC,CAAC;AAAA,CACH;AAED,MAAM,UAAU,6BAA6B,CAC3C,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EACF;IAC1B,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;IACzC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAE3D,OAAO;QACL,WAAW;QACX,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/E,aAAa,EAAE,cAAc,EAAE,IAAI,IAAI,IAAI;QAC3C,iBAAiB,EAAE,KAAK,CAAC,uCAAuC;QAChE,cAAc,EAAE,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC;QAChE,aAAa,EAAE,GAAG,CAAC,sBAAsB,EAAE,CAAC,OAAO;KACpD,CAAC;AAAA,CACH"}
1
+ {"version":3,"file":"data.js","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,kBAAkB,EAAC,MAAM,4BAA4B,CAAC;AAO9D,OAAO,EAAC,QAAQ,EAAE,0BAA0B,EAAC,MAAM,YAAY,CAAC;AAEhE,MAAM,UAAU,2BAA2B,GAA0B;IACnE,OAAO;QACL,WAAW,EAAE,IAAI,GAAG,EAAE;QACtB,aAAa,EAAE,IAAI,GAAG,EAAE;QACxB,eAAe,EAAE,IAAI,GAAG,EAAE;QAC1B,sBAAsB,EAAE,IAAI,GAAG,EAAE;QACjC,kBAAkB,EAAE,IAAI,GAAG,EAAE;QAC7B,uBAAuB,EAAE,IAAI,GAAG,EAAE;QAClC,oBAAoB,EAAE,IAAI,GAAG,EAAE;KAChC,CAAC;AAAA,CACH;AAED,MAAM,UAAU,6BAA6B,CAC3C,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EACF;IAC1B,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;IACzC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAE3D,OAAO;QACL,WAAW;QACX,YAAY;QACZ,QAAQ;QACR,aAAa;QACb,cAAc,EAAE,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI;QAC/E,aAAa,EAAE,cAAc,EAAE,IAAI,IAAI,IAAI;QAC3C,iBAAiB,EAAE,KAAK,CAAC,uCAAuC;QAChE,cAAc,EAAE,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC;QAChE,aAAa,EAAE,GAAG,CAAC,sBAAsB,EAAE,CAAC,OAAO;KACpD,CAAC;AAAA,CACH"}
@@ -7,6 +7,7 @@ export type FastConfirmationBalanceSource = {
7
7
  state: IBeaconStateView | null;
8
8
  balances: EffectiveBalanceIncrements;
9
9
  };
10
+ export type TotalActiveBalanceCacheKey = IBeaconStateView | EffectiveBalanceIncrements;
10
11
  export type ForkChoiceStateGetter = (opts: {
11
12
  stateRoot: RootHex;
12
13
  checkpoint?: never;
@@ -81,6 +82,8 @@ export type FastConfirmationCache = {
81
82
  isDescendantByRootPair: Map<string, boolean>;
82
83
  /** voteRoot -> totalWeight, keyed by sourceKey */
83
84
  voteWeightBySource: Map<BalanceSourceKey, Map<RootHex, number>>;
85
+ /** total active balance, keyed by the balance source's state or balances reference */
86
+ totalActiveBalanceByKey: Map<TotalActiveBalanceCacheKey, number>;
84
87
  headState?: IBeaconStateView;
85
88
  pulledUpHeadState?: IBeaconStateView;
86
89
  checkpointStateByKey: Map<string, IBeaconStateView | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/types.ts"],"names":[],"mappings":"SAkDY,8BAA8B;AAA1C,IAAY,8BAQX;AARD,WAAY,8BAA8B;IACxC,yDAAuB,CAAA;IACvB,2EAAyC,CAAA;IACzC,8DAA4B,CAAA;IAC5B,yEAAuC,CAAA;IACvC,yEAAuC,CAAA;IACvC,0EAAwC,CAAA;IACxC,8EAA4C,CAAA;AAAC,CAC/C,EARY,8BAA8B,KAA9B,8BAA8B,QAQzC;AAED,qGAAqG;AACrG,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiC;IAC5D,8BAA8B,CAAC,iBAAiB;IAChD,8BAA8B,CAAC,WAAW;IAC1C,8BAA8B,CAAC,gBAAgB;IAC/C,8BAA8B,CAAC,gBAAgB;CAChD,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,MAAsC,EAAW;IAC7E,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAAA,CAClC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/types.ts"],"names":[],"mappings":"SAoDY,8BAA8B;AAA1C,IAAY,8BAQX;AARD,WAAY,8BAA8B;IACxC,yDAAuB,CAAA;IACvB,2EAAyC,CAAA;IACzC,8DAA4B,CAAA;IAC5B,yEAAuC,CAAA;IACvC,yEAAuC,CAAA;IACvC,0EAAwC,CAAA;IACxC,8EAA4C,CAAA;AAAC,CAC/C,EARY,8BAA8B,KAA9B,8BAA8B,QAQzC;AAED,qGAAqG;AACrG,MAAM,aAAa,GAAG,IAAI,GAAG,CAAiC;IAC5D,8BAA8B,CAAC,iBAAiB;IAChD,8BAA8B,CAAC,WAAW;IAC1C,8BAA8B,CAAC,gBAAgB;IAC/C,8BAA8B,CAAC,gBAAgB;CAChD,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa,CAAC,MAAsC,EAAW;IAC7E,OAAO,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAAA,CAClC"}
@@ -17,11 +17,11 @@ export declare function getSlotCommittee(cache: FastConfirmationCache, state: IB
17
17
  export declare function getBalanceSource(store: IFastConfirmationStore, cache: FastConfirmationCache, kind: "previous" | "current"): FastConfirmationBalanceSource;
18
18
  export declare function getCurrentBalanceSource(store: IFastConfirmationStore, cache: FastConfirmationCache): FastConfirmationBalanceSource;
19
19
  export declare function getPreviousBalanceSource(store: IFastConfirmationStore, cache: FastConfirmationCache): FastConfirmationBalanceSource;
20
- export declare function getTotalActiveBalance(balanceSource: FastConfirmationBalanceSource): number;
21
- export declare function estimateCommitteeWeightBetweenSlots(balanceSource: FastConfirmationBalanceSource, startSlot: Slot, endSlot: Slot): number;
20
+ export declare function getTotalActiveBalance(balanceSource: FastConfirmationBalanceSource, cache: FastConfirmationCache): number;
21
+ export declare function estimateCommitteeWeightBetweenSlots(balanceSource: FastConfirmationBalanceSource, cache: FastConfirmationCache, startSlot: Slot, endSlot: Slot): number;
22
22
  export declare function adjustCommitteeWeightEstimateToEnsureSafety(estimate: number): number;
23
23
  export declare function isFullValidatorSetCovered(startSlot: Slot, endSlot: Slot): boolean;
24
- export declare function computeProposerScore(ctx: FastConfirmationContext, balanceSource: FastConfirmationBalanceSource): number;
24
+ export declare function computeProposerScore(ctx: FastConfirmationContext, balanceSource: FastConfirmationBalanceSource, cache: FastConfirmationCache): number;
25
25
  export declare function getAttestationScore(ctx: FastConfirmationContext, cache: FastConfirmationCache, balanceSource: FastConfirmationBalanceSource, blockRoot: RootHex, sourceKey: BalanceSourceKey): number;
26
26
  export declare function getBlockSupportBetweenSlots(ctx: FastConfirmationContext, store: IFastConfirmationStore, cache: FastConfirmationCache, balanceSource: FastConfirmationBalanceSource, blockRoot: RootHex, startSlot: Slot, endSlot: Slot): number;
27
27
  export declare function getEquivocationScore(ctx: FastConfirmationContext, store: IFastConfirmationStore, cache: FastConfirmationCache, balanceSource: FastConfirmationBalanceSource, startSlot: Slot, endSlot: Slot): number;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/utils.ts"],"names":[],"mappings":"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"}
@@ -169,18 +169,25 @@ export function getCurrentBalanceSource(store, cache) {
169
169
  export function getPreviousBalanceSource(store, cache) {
170
170
  return getBalanceSource(store, cache, "previous");
171
171
  }
172
- export function getTotalActiveBalance(balanceSource) {
173
- if (balanceSource.state) {
174
- return computeTotalBalance(balanceSource.state.getEffectiveBalanceIncrementsZeroInactive());
175
- }
176
- // Fallback balances come from the justified-balance path and already zero inactive
177
- // validators, so summing them gives the active justified total for this balance source.
178
- return computeTotalBalance(balanceSource.balances);
179
- }
180
- export function estimateCommitteeWeightBetweenSlots(balanceSource, startSlot, endSlot) {
172
+ export function getTotalActiveBalance(balanceSource, cache) {
173
+ // Invariant per balance source within a run, but read many times per is_one_confirmed evaluation
174
+ // across the epoch-boundary chain walk; memoize so the full validator-set scan runs once per run.
175
+ const key = balanceSource.state ?? balanceSource.balances;
176
+ const cached = cache.totalActiveBalanceByKey.get(key);
177
+ if (cached !== undefined)
178
+ return cached;
179
+ const total = balanceSource.state
180
+ ? computeTotalBalance(balanceSource.state.getEffectiveBalanceIncrementsZeroInactive())
181
+ : // Fallback balances come from the justified-balance path and already zero inactive
182
+ // validators, so summing them gives the active justified total for this balance source.
183
+ computeTotalBalance(balanceSource.balances);
184
+ cache.totalActiveBalanceByKey.set(key, total);
185
+ return total;
186
+ }
187
+ export function estimateCommitteeWeightBetweenSlots(balanceSource, cache, startSlot, endSlot) {
181
188
  if (startSlot > endSlot)
182
189
  return 0;
183
- const totalActiveBalance = getTotalActiveBalance(balanceSource);
190
+ const totalActiveBalance = getTotalActiveBalance(balanceSource, cache);
184
191
  const startEpoch = computeEpochAtSlot(startSlot);
185
192
  const endEpoch = computeEpochAtSlot(endSlot);
186
193
  if (isFullValidatorSetCovered(startSlot, endSlot)) {
@@ -222,8 +229,8 @@ export function isFullValidatorSetCovered(startSlot, endSlot) {
222
229
  const endFullEpoch = computeEpochAtSlot((endSlot + 1));
223
230
  return startFullEpoch < endFullEpoch;
224
231
  }
225
- export function computeProposerScore(ctx, balanceSource) {
226
- const totalActiveBalance = getTotalActiveBalance(balanceSource);
232
+ export function computeProposerScore(ctx, balanceSource, cache) {
233
+ const totalActiveBalance = getTotalActiveBalance(balanceSource, cache);
227
234
  const committeeWeight = Math.floor(totalActiveBalance / SLOTS_PER_EPOCH);
228
235
  return Math.floor((committeeWeight * ctx.config.PROPOSER_SCORE_BOOST) / 100);
229
236
  }
@@ -326,7 +333,7 @@ export function getEquivocationScore(ctx, store, cache, balanceSource, startSlot
326
333
  return score;
327
334
  }
328
335
  export function computeAdversarialWeight(ctx, store, cache, balanceSource, startSlot, endSlot) {
329
- const maximumWeight = estimateCommitteeWeightBetweenSlots(balanceSource, startSlot, endSlot);
336
+ const maximumWeight = estimateCommitteeWeightBetweenSlots(balanceSource, cache, startSlot, endSlot);
330
337
  // The spec uses raw Gwei and computes `maximum_weight // 100 * threshold`.
331
338
  // Lodestar carries effective-balance increments instead, so divide after multiplying to avoid
332
339
  // dropping the adversarial budget to zero for small validator sets/minimal presets.
@@ -379,8 +386,8 @@ export function computeSafetyThreshold(ctx, store, cache, balanceSource, blockRo
379
386
  // Spec: compute_safety_threshold(store, block_root, balance_source)
380
387
  // Build the threshold from the same terms used in the paper/spec:
381
388
  // max possible committee support, proposer boost, empty-slot discount, and adversarial budget.
382
- const proposerScore = computeProposerScore(ctx, balanceSource);
383
- const maximumSupport = estimateCommitteeWeightBetweenSlots(balanceSource, (parentBlock.slot + 1), (currentSlot - 1));
389
+ const proposerScore = computeProposerScore(ctx, balanceSource, cache);
390
+ const maximumSupport = estimateCommitteeWeightBetweenSlots(balanceSource, cache, (parentBlock.slot + 1), (currentSlot - 1));
384
391
  const supportDiscount = computeEmptySlotSupportDiscount(ctx, store, cache, balanceSource, blockRoot);
385
392
  const adversarialWeight = getAdversarialWeight(ctx, store, cache, balanceSource, blockRoot);
386
393
  // Spec underflow guard:
@@ -486,9 +493,10 @@ export function computeHonestFfgSupportForCurrentTarget(ctx, store, cache) {
486
493
  const targetState = getCurrentEpochState(ctx, store, cache);
487
494
  if (!targetState)
488
495
  return 0;
489
- const totalActiveBalance = computeTotalBalance(targetState.getEffectiveBalanceIncrementsZeroInactive());
496
+ const targetBalanceSource = { state: targetState, balances: targetState.effectiveBalanceIncrements };
497
+ const totalActiveBalance = getTotalActiveBalance(targetBalanceSource, cache);
490
498
  const ffgSupport = getCurrentTargetScore(ctx, store, cache);
491
- const tillNowFFGWeight = estimateCommitteeWeightBetweenSlots({ state: targetState, balances: targetState.effectiveBalanceIncrements }, computeStartSlotAtEpoch(currentEpoch), (currentSlot - 1));
499
+ const tillNowFFGWeight = estimateCommitteeWeightBetweenSlots(targetBalanceSource, cache, computeStartSlotAtEpoch(currentEpoch), (currentSlot - 1));
492
500
  const adversarialWeight = computeAdversarialWeight(ctx, store, cache, { state: targetState, balances: targetState.effectiveBalanceIncrements }, computeStartSlotAtEpoch(currentEpoch), (currentSlot - 1));
493
501
  return computeHonestFfgSupport(totalActiveBalance, ffgSupport, tillNowFFGWeight, adversarialWeight, ctx.config.CONFIRMATION_BYZANTINE_THRESHOLD);
494
502
  }
@@ -502,7 +510,7 @@ export function willNoConflictingCheckpointBeJustified(ctx, store, cache) {
502
510
  const targetState = getCurrentEpochState(ctx, store, cache);
503
511
  if (!targetState)
504
512
  return false;
505
- const totalActiveBalance = computeTotalBalance(targetState.getEffectiveBalanceIncrementsZeroInactive());
513
+ const totalActiveBalance = getTotalActiveBalance({ state: targetState, balances: targetState.effectiveBalanceIncrements }, cache);
506
514
  const honestSupport = computeHonestFfgSupportForCurrentTarget(ctx, store, cache);
507
515
  return 3 * honestSupport > 1 * totalActiveBalance;
508
516
  }
@@ -510,7 +518,7 @@ export function willCurrentTargetBeJustified(ctx, store, cache) {
510
518
  const targetState = getCurrentEpochState(ctx, store, cache);
511
519
  if (!targetState)
512
520
  return false;
513
- const totalActiveBalance = computeTotalBalance(targetState.getEffectiveBalanceIncrementsZeroInactive());
521
+ const totalActiveBalance = getTotalActiveBalance({ state: targetState, balances: targetState.effectiveBalanceIncrements }, cache);
514
522
  const honestSupport = computeHonestFfgSupportForCurrentTarget(ctx, store, cache);
515
523
  return 3 * honestSupport >= 2 * totalActiveBalance;
516
524
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAEL,kBAAkB,EAClB,2BAA2B,EAC3B,uBAAuB,EACvB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAS,OAAO,EAAC,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAC,eAAe,EAAa,MAAM,+BAA+B,CAAC;AAC1E,OAAO,EAAoB,mBAAmB,EAAE,sBAAsB,EAAC,MAAM,aAAa,CAAC;AAU3F,0DAA0D;AAC1D,8IAA8I;AAC9I,MAAM,6CAA6C,GAAG,CAAC,CAAC;AAExD,MAAM,4BAA4B,GAAG,MAAM,CAAC,MAAM,CAAC;IACjD,SAAS,EAAE,MAAM,CAAC,iBAAiB;IACnC,aAAa,EAAE,CAAC;IAChB,cAAc,EAAE,CAAC;IACjB,eAAe,EAAE,CAAC;IAClB,iBAAiB,EAAE,CAAC;CACrB,CAAC,CAAC;AAEH,MAAM,UAAU,QAAQ,CAAC,GAA4B,EAAE,KAA4B,EAAE,IAAa,EAAqB;IACrH,IAAI,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IAC7C,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACjC,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC;AAAA,CACd;AAED,MAAM,UAAU,0BAA0B,CACxC,GAA4B,EAC5B,KAA4B,EAC5B,SAAkB,EACQ;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,KAAK,EAAE,KAAK,CAAC,wBAAwB;QACrC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC;QAC5C,OAAO,EAAE,KAAK,CAAC,uBAAuB;KACvC,CAAC;AAAA,CACH;AAED,MAAM,UAAU,eAAe,CAC7B,GAA4B,EAC5B,KAA4B,EAC5B,SAAkB,EACQ;IAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC;IACtE,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC;IACtF,MAAM,OAAO,GAAG,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC;IACtF,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAC,CAAC;AAAA,CACjD;AAED,MAAM,UAAU,qBAAqB,CACnC,GAA4B,EAC5B,SAAkB,EAClB,KAAY,EACc;IAC1B,IAAI,CAAC;QACH,MAAM,cAAc,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AAAA,CACF;AAED,6BAA6B;AAC7B,+GAA+G;AAC/G,MAAM,UAAU,gBAAgB,CAC9B,GAA4B,EAC5B,KAA4B,EAC5B,SAAkB,EAClB,YAAqB,EACV;IACX,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,YAAY,EAAE,CAAC;IAChD,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACtC,OAAO,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IACjD,CAAC;IAED,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QACxC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,MAAM,aAAa,GAAc,EAAE,CAAC;IAEpC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvC,OAAO,KAAK,IAAI,KAAK,CAAC,IAAI,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;QAChD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC;QAExB,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,aAAa,CAAC,OAAO,EAAE,CAAC;YACxB,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YACjD,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IACxC,OAAO,EAAE,CAAC;AAAA,CACX;AAED,MAAM,UAAU,UAAU,CACxB,GAA4B,EAC5B,KAA4B,EAC5B,SAAkB,EAClB,YAAqB,EACZ;IACT,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACzD,IAAI,CAAC,aAAa;QAAE,OAAO,KAAK,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,WAAW,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,YAAY,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AAAA,CACF;AAED,MAAM,UAAU,YAAY,CAC1B,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EACV;IAClB,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,SAAS,CAAC;IAC1D,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,EAAC,SAAS,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,EAAC,CAAC,CAAC;IAC1E,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IAC5F,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,OAAO,KAAK,CAAC,SAAS,CAAC;AAAA,CACxB;AAED,MAAM,UAAU,oBAAoB,CAClC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EACV;IAClB,IAAI,KAAK,CAAC,iBAAiB,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,iBAAiB,CAAC;IAE1E,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,iBAAiB;QACrB,SAAS,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,uBAAuB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC7G,OAAO,KAAK,CAAC,iBAAiB,CAAC;AAAA,CAChC;AAED,MAAM,UAAU,kBAAkB,CAChC,KAA6B,EAC7B,KAA4B,EAC5B,UAA6B,EACJ;IACzB,MAAM,GAAG,GAAG,GAAG,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;IACxD,IAAI,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,OAAO,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;IACrD,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,EAAC,UAAU,EAAC,CAAC,CAAC;IAC9C,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,IAAI,IAAI,CAAC,CAAC;IACnD,OAAO,KAAK,IAAI,IAAI,CAAC;AAAA,CACtB;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAA4B,EAC5B,KAAuB,EACvB,IAAU,EACW;IACrB,IAAI,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IACtD,CAAC;IACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,KAAK,CAAC,8BAA8B,CAAC,KAAK,CAAC,CAAC;IACpE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,KAAK,MAAM,KAAK,IAAI,SAAS,EAAE,CAAC;YAC9B,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IACD,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9C,OAAO,YAAY,CAAC;AAAA,CACrB;AAED,SAAS,wBAAwB,CAC/B,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,SAAe,EACf,OAAa,EACQ;IACrB,MAAM,YAAY,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC/C,MAAM,SAAS,GAAG,YAAY,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAElD,KAAK,IAAI,IAAI,GAAG,SAAS,EAAE,IAAI,IAAI,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC;QACnD,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC;YAC7D,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AAAA,CACrB;AAED,SAAS,kBAAkB,CACzB,GAA4B,EAC5B,KAA4B,EAC5B,YAAqB,EACrB,cAAuB,EACd;IACT,MAAM,QAAQ,GAAG,GAAG,YAAY,IAAI,cAAc,EAAE,CAAC;IACrD,IAAI,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/C,OAAO,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,CAAC;IAC7D,CAAC;IAED,MAAM,YAAY,GAAG,GAAG,CAAC,YAAY,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACpE,KAAK,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;IACzD,OAAO,YAAY,CAAC;AAAA,CACrB;AAED,MAAM,UAAU,gBAAgB,CAC9B,KAA6B,EAC7B,KAA4B,EAC5B,IAA4B,EACG;IAC/B,MAAM,UAAU,GACd,IAAI,KAAK,UAAU;QACjB,CAAC,CAAC,KAAK,CAAC,wCAAwC;QAChD,CAAC,CAAC,KAAK,CAAC,uCAAuC,CAAC;IACpD,MAAM,gBAAgB,GACpB,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC,CAAC,KAAK,CAAC,qCAAqC,CAAC;IACnH,MAAM,KAAK,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IAC3D,OAAO;QACL,KAAK;QACL,QAAQ,EAAE,KAAK,EAAE,0BAA0B,IAAI,gBAAgB;KAChE,CAAC;AAAA,CACH;AAED,MAAM,UAAU,uBAAuB,CACrC,KAA6B,EAC7B,KAA4B,EACG;IAC/B,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;AAAA,CAClD;AAED,MAAM,UAAU,wBAAwB,CACtC,KAA6B,EAC7B,KAA4B,EACG;IAC/B,OAAO,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;AAAA,CACnD;AAED,MAAM,UAAU,qBAAqB,CAAC,aAA4C,EAAU;IAC1F,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,mBAAmB,CAAC,aAAa,CAAC,KAAK,CAAC,yCAAyC,EAAE,CAAC,CAAC;IAC9F,CAAC;IACD,mFAAmF;IACnF,wFAAwF;IACxF,OAAO,mBAAmB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AAAA,CACpD;AAED,MAAM,UAAU,mCAAmC,CACjD,aAA4C,EAC5C,SAAe,EACf,OAAa,EACL;IACR,IAAI,SAAS,GAAG,OAAO;QAAE,OAAO,CAAC,CAAC;IAClC,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAE7C,IAAI,yBAAyB,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,CAAC;QAClD,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC,CAAC;IAEhF,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,sBAAsB,GAAG,CAAC,OAAO,GAAG,SAAS,GAAG,CAAC,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,oBAAoB,GAAG,eAAe,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IACtF,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpE,MAAM,wBAAwB,GAAG,eAAe,GAAG,kBAAkB,CAAC;IAEtE,MAAM,gBAAgB,GAAG,sBAAsB,GAAG,oBAAoB,CAAC;IACvE,MAAM,cAAc,GAAG,sBAAsB,GAAG,kBAAkB,CAAC;IACnE,kFAAkF;IAClF,8BAA8B;IAC9B,6FAA6F;IAC7F,6FAA6F;IAC7F,6FAA6F;IAC7F,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,GAAG,eAAe,CAAC,GAAG,wBAAwB,CAAC;IAE3G,OAAO,2CAA2C,CAAC,wBAAwB,GAAG,cAAc,CAAC,CAAC;AAAA,CAC/F;AAED,MAAM,UAAU,2CAA2C,CAAC,QAAgB,EAAU;IACpF,gDAAgD;IAChD,iDAAiD;IACjD,EAAE;IACF,gEAAgE;IAChE,yDAAyD;IACzD,EAAE;IACF,wEAAwE;IACxE,uEAAuE;IACvE,sDAAsD;IACtD,uDAAuD;IACvD,mDAAmD;IACnD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,CAAC,IAAI,GAAG,6CAA6C,CAAC,GAAG,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;AAAA,CACrG;AAED,MAAM,UAAU,yBAAyB,CAAC,SAAe,EAAE,OAAa,EAAW;IACjF,MAAM,cAAc,GAAG,kBAAkB,CAAC,SAAS,GAAG,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,OAAO,GAAG,CAAC,CAAS,CAAC,CAAC;IAC/D,OAAO,cAAc,GAAG,YAAY,CAAC;AAAA,CACtC;AAED,MAAM,UAAU,oBAAoB,CAClC,GAA4B,EAC5B,aAA4C,EACpC;IACR,MAAM,kBAAkB,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;IAChE,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,GAAG,eAAe,CAAC,CAAC;IACzE,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,GAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,CAC9E;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,GAA4B,EAC5B,KAA4B,EAC5B,aAA4C,EAC5C,SAA2B,EACrB;IACN,IAAI,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC;QAAE,OAAO;IAEpD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;IAC3C,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACxC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IAClC,MAAM,aAAa,GAAG,KAAK,EAAE,mBAAmB,EAAE,CAAC,aAAa,IAAI,IAAI,CAAC;IACzE,MAAM,YAAY,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAClD,MAAM,OAAO,GAAqB,aAAa,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAiB,EAAE,EAAE,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IAE7F,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,IAAI,SAAS,CAAC,CAAC,CAAC;YAAE,SAAS;QAC3B,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,CAAC;YAAE,SAAS;QAC3B,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;AAAA,CAClD;AAED,MAAM,UAAU,mBAAmB,CACjC,GAA4B,EAC5B,KAA4B,EAC5B,aAA4C,EAC5C,SAAkB,EAClB,SAA2B,EACnB;IACR,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IACrD,MAAM,OAAO,GAAG,KAAK,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;IAErE,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACzC,IAAI,kBAAkB,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,CAAC;YACxD,KAAK,IAAI,MAAM,CAAC;QAClB,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC;AAAA,CACd;AAED,MAAM,UAAU,2BAA2B,CACzC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,aAA4C,EAC5C,SAAkB,EAClB,SAAe,EACf,OAAa,EACL;IACR,IAAI,SAAS,GAAG,OAAO;QAAE,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACxC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACrF,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEtC,MAAM,YAAY,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAClD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM;YAAE,SAAS;QACnC,MAAM,SAAS,GAAG,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,SAAS,EAAE,OAAO;YAAE,SAAS;QACjC,IAAI,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC;YAAE,SAAS;QAC5F,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAClC,MAAM,aAAa,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,aAAa,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YACtC,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AAAA,CACd;AAED,MAAM,UAAU,oBAAoB,CAClC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,aAA4C,EAC5C,SAAe,EACf,OAAa,EACL;IACR,IAAI,SAAS,GAAG,OAAO;QAAE,OAAO,CAAC,CAAC;IAElC,mGAAmG;IACnG,oGAAoG;IACpG,6FAA6F;IAC7F,qGAAqG;IACrG,MAAM,YAAY,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAClD,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;IACxC,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;IAClC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjE,MAAM,YAAY,GAAG,wBAAwB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACrF,IAAI,YAAY,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAEtC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;QAC7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QACnC,IAAI,CAAC,IAAI,QAAQ,CAAC,MAAM;YAAE,SAAS;QACnC,MAAM,SAAS,GAAG,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;QACzC,IAAI,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,UAAU,CAAC;YAAE,SAAS;QAC5F,KAAK,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC;AAAA,CACd;AAED,MAAM,UAAU,wBAAwB,CACtC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,aAA4C,EAC5C,SAAe,EACf,OAAa,EACL;IACR,MAAM,aAAa,GAAG,mCAAmC,CAAC,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC7F,2EAA2E;IAC3E,8FAA8F;IAC9F,oFAAoF;IACpF,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,gCAAgC,CAAC,GAAG,GAAG,CAAC,CAAC;IAC7G,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IACrG,OAAO,oBAAoB,GAAG,iBAAiB,CAAC,CAAC,CAAC,oBAAoB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,CAChG;AAED,MAAM,UAAU,oBAAoB,CAClC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,aAA4C,EAC5C,SAAkB,EACV;IACR,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACzC,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IACrB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,CAAC;IAC3B,MAAM,UAAU,GAAG,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEzD,IAAI,UAAU,GAAG,WAAW,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;QACtD,OAAO,wBAAwB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,CAAC,WAAW,GAAG,CAAC,CAAS,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,wBAAwB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,GAAG,CAAC,CAAS,CAAC,CAAC;AAAA,CAC1G;AAED,MAAM,UAAU,+BAA+B,CAC7C,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,aAA4C,EAC5C,SAAkB,EACV;IACR,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IACrB,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,CAAC;IAE3B,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QACxC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,yBAAyB,GAAG,2BAA2B,CAC3D,GAAG,EACH,KAAK,EACL,KAAK,EACL,aAAa,EACb,KAAK,CAAC,UAAU,EAChB,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAS,EAC9B,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAS,CACzB,CAAC;IACF,MAAM,iBAAiB,GAAG,wBAAwB,CAChD,GAAG,EACH,KAAK,EACL,KAAK,EACL,aAAa,EACb,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAS,EAC9B,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAS,CACzB,CAAC;IAEF,OAAO,yBAAyB,GAAG,iBAAiB,CAAC,CAAC,CAAC,yBAAyB,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,CAC1G;AAED,MAAM,UAAU,sBAAsB,CACpC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,aAA4C,EAC5C,SAAkB,EAOlB;IACA,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,4BAA4B,CAAC;IACtC,CAAC;IACD,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,4BAA4B,CAAC;IACtC,CAAC;IAED,oEAAoE;IACpE,kEAAkE;IAClE,+FAA+F;IAC/F,MAAM,aAAa,GAAG,oBAAoB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC/D,MAAM,cAAc,GAAG,mCAAmC,CACxD,aAAa,EACb,CAAC,WAAW,CAAC,IAAI,GAAG,CAAC,CAAS,EAC9B,CAAC,WAAW,GAAG,CAAC,CAAS,CAC1B,CAAC;IACF,MAAM,eAAe,GAAG,+BAA+B,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IACrG,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAE5F,wBAAwB;IACxB,4FAA4F;IAC5F,MAAM,SAAS,GACb,eAAe,GAAG,cAAc,GAAG,aAAa,GAAG,CAAC,GAAG,iBAAiB;QACtE,CAAC,CAAC,CAAC;QACH,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,cAAc,GAAG,aAAa,GAAG,CAAC,GAAG,iBAAiB,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;IAEjG,OAAO,EAAC,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAC,CAAC;AAAA,CACvF;AAED,MAAM,UAAU,cAAc,CAC5B,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,aAA4C,EAC5C,SAAkB,EAClB,SAA2B,EAC3B,MAAe,EACN;IACT,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACzC,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAC9C,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,IAAI,KAAK,CAAC,eAAe,KAAK,eAAe,CAAC,KAAK,IAAI,KAAK,CAAC,eAAe,KAAK,eAAe,CAAC,QAAQ,EAAE,CAAC;QAC1G,OAAO,KAAK,CAAC;IACf,CAAC;IAED,4DAA4D;IAC5D,yFAAyF;IACzF,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IACrF,MAAM,EAAC,SAAS,EAAE,aAAa,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAC,GAAG,sBAAsB,CAC3G,GAAG,EACH,KAAK,EACL,KAAK,EACL,aAAa,EACb,SAAS,CACV,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;IACxC,MAAM,EAAE,KAAK,CAAC,4CAA4C,EAAE;QAC1D,SAAS;QACT,SAAS,EAAE,KAAK,CAAC,IAAI;QACrB,WAAW;QACX,SAAS;QACT,OAAO;QACP,SAAS;QACT,aAAa;QACb,cAAc;QACd,eAAe;QACf,iBAAiB;QACjB,WAAW;KACZ,CAAC,CAAC;IAEH,OAAO,WAAW,CAAC;AAAA,CACpB;AAED,MAAM,UAAU,gBAAgB,CAAC,GAA4B,EAA4B;IACvF,MAAM,IAAI,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,SAAS,CAAC;IACrC,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9D,OAAO,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;AAAA,CACvD;AAED,MAAM,UAAU,oBAAoB,CAClC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EACH;IACzB,OAAO,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAAA,CAChD;AAED,MAAM,UAAU,qBAAqB,CACnC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EACpB;IACR,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,WAAW,CAAC,0BAA0B,CAAC;IACxD,MAAM,aAAa,GAAG,WAAW,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC;IACtE,MAAM,YAAY,GAAG,GAAG,CAAC,sBAAsB,EAAE,CAAC;IAElD,gGAAgG;IAChG,0EAA0E;IAC1E,MAAM,UAAU,GAAG,IAAI,GAAG,EAA+B,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;QAC9B,IAAI,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO;YAAE,SAAS;QAClD,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;YAAE,SAAS;QAClC,MAAM,GAAG,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,CAAC,GAAG;YAAE,SAAS;QACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,MAAM,KAAK,CAAC;YAAE,SAAS;QAC3B,IAAI,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;YACpB,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC;IACjE,CAAC;IAED,+DAA+D;IAC/D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,UAAU,EAAE,CAAC;QACzC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;YACtC,MAAM,EAAE,GAAG,qBAAqB,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,IAAI,EAAE,IAAI,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;gBACrE,KAAK,IAAI,MAAM,CAAC;YAClB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AAAA,CACd;AAED,SAAS,uBAAuB,CAC9B,kBAA0B,EAC1B,UAAkB,EAClB,gBAAwB,EACxB,iBAAyB,EACzB,kBAA0B,EAClB;IACR,MAAM,kBAAkB,GAAG,kBAAkB,GAAG,gBAAgB,CAAC;IACjE,iFAAiF;IACjF,gGAAgG;IAChG,uEAAuE;IACvE,MAAM,wBAAwB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,kBAAkB,GAAG,CAAC,GAAG,GAAG,kBAAkB,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;IACrG,MAAM,mBAAmB,GAAG,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;IACjF,OAAO,mBAAmB,GAAG,wBAAwB,CAAC;AAAA,CACvD;AAED,MAAM,UAAU,uCAAuC,CACrD,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EACpB;IACR,MAAM,WAAW,GAAG,GAAG,CAAC,cAAc,EAAE,CAAC;IACzC,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAChC,MAAM,YAAY,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACrD,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW;QAAE,OAAO,CAAC,CAAC;IAC3B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC;IACxG,MAAM,UAAU,GAAG,qBAAqB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,MAAM,gBAAgB,GAAG,mCAAmC,CAC1D,EAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,0BAA0B,EAAC,EACtE,uBAAuB,CAAC,YAAY,CAAC,EACrC,CAAC,WAAW,GAAG,CAAC,CAAS,CAC1B,CAAC;IACF,MAAM,iBAAiB,GAAG,wBAAwB,CAChD,GAAG,EACH,KAAK,EACL,KAAK,EACL,EAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,CAAC,0BAA0B,EAAC,EACtE,uBAAuB,CAAC,YAAY,CAAC,EACrC,CAAC,WAAW,GAAG,CAAC,CAAS,CAC1B,CAAC;IACF,OAAO,uBAAuB,CAC5B,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,iBAAiB,EACjB,GAAG,CAAC,MAAM,CAAC,gCAAgC,CAC5C,CAAC;AAAA,CACH;AAED,MAAM,UAAU,sCAAsC,CACpD,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EACnB;IACT,MAAM,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,OAAO,KAAK,CAAC;IAC1B,IAAI,sBAAsB,CAAC,MAAM,EAAE,GAAG,CAAC,sBAAsB,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC;IACxG,MAAM,aAAa,GAAG,uCAAuC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,aAAa,GAAG,CAAC,GAAG,kBAAkB,CAAC;AAAA,CACnD;AAED,MAAM,UAAU,4BAA4B,CAC1C,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EACnB;IACT,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW;QAAE,OAAO,KAAK,CAAC;IAC/B,MAAM,kBAAkB,GAAG,mBAAmB,CAAC,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC;IACxG,MAAM,aAAa,GAAG,uCAAuC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,aAAa,IAAI,CAAC,GAAG,kBAAkB,CAAC;AAAA,CACpD;AAED,MAAM,UAAU,oBAAoB,CAClC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,aAAsB,EACtB,MAAe,EACN;IACT,MAAM,0BAA0B,GAAG,qBAAqB,CACtD,GAAG,EACH,aAAa,EACb,KAAK,CAAC,uCAAuC,CAAC,KAAK,CACpD,CAAC;IACF,IACE,0BAA0B,KAAK,IAAI;QACnC,CAAC,sBAAsB,CAAC,KAAK,CAAC,uCAAuC,EAAE,0BAA0B,CAAC,EAClG,CAAC;QACD,MAAM,EAAE,KAAK,CAAC,uCAAuC,EAAE;YACrD,aAAa;YACb,MAAM,EAAE,sDAAsD;YAC9D,qBAAqB,EAAE,KAAK,CAAC,uCAAuC,CAAC,OAAO;YAC5E,sBAAsB,EAAE,KAAK,CAAC,uCAAuC,CAAC,KAAK;YAC3E,cAAc,EAAE,0BAA0B,EAAE,OAAO;YACnD,eAAe,EAAE,0BAA0B,EAAE,KAAK;SACnD,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,CAAC;IAC9D,IAAI,SAAkB,CAAC;IACvB,IAAI,KAAK,CAAC,uCAAuC,CAAC,KAAK,GAAG,CAAC,IAAI,YAAY,EAAE,CAAC;QAC5E,SAAS,GAAG,KAAK,CAAC,uCAAuC,CAAC,OAAO,CAAC;IACpE,CAAC;SAAM,CAAC;QACN,IAAI,gCAAyC,CAAC;QAC9C,IAAI,CAAC;YACH,gCAAgC,GAAG,GAAG,CAAC,WAAW,CAChD,aAAa,EACb,uBAAuB,CAAC,CAAC,YAAY,GAAG,CAAC,CAAU,CAAC,CACrD,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,4BAA4B,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,gCAAgC,CAAC,CAAC;QAC5F,IAAI,CAAC,4BAA4B;YAAE,OAAO,KAAK,CAAC;QAEhD,MAAM,aAAa,GAAG,kBAAkB,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAE5E,IAAI,aAAa,GAAG,CAAC,KAAK,YAAY,EAAE,CAAC;YACvC,SAAS,GAAG,4BAA4B,CAAC,UAAU,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,gCAAgC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;IAC1E,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACrE,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC;YACxF,MAAM,EAAE,KAAK,CAAC,uCAAuC,EAAE;gBACrD,aAAa;gBACb,MAAM,EAAE,4BAA4B;gBACpC,SAAS,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AAAA,CACb;AAED,2CAA2C;AAC3C,6HAA6H;AAC7H,MAAM,UAAU,6BAA6B,CAC3C,QAAkC,EAClC,GAA4B,EAC5B,KAA6B,EAC7B,KAA4B,EAC5B,mBAA4B,EAC5B,MAAe,EACN;IACT,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;IAC3C,IAAI,aAAa,GAAG,mBAAmB,CAAC;IAExC,MAAM,wBAAwB,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACrF,MAAM,qBAAqB,GAAG,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC7F,MAAM,iBAAiB,GAAG,QAAQ,CAAC,cAAc,IAAI,0BAA0B,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAC/G,MAAM,oBAAoB,GAAG,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IAEnE,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IAC3D,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvF,MAAM,iCAAiC,GACrC,cAAc,KAAK,IAAI;QACvB,cAAc,GAAG,CAAC,KAAK,YAAY;QACnC,wBAAwB,KAAK,IAAI;QACjC,wBAAwB,CAAC,KAAK,GAAG,CAAC,IAAI,YAAY;QAClD,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC;YACvC,CAAC,sCAAsC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC;gBACxD,CAAC,CAAC,qBAAqB,KAAK,IAAI,IAAI,qBAAqB,CAAC,KAAK,GAAG,CAAC,IAAI,YAAY,CAAC;oBAClF,CAAC,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,CAAC,KAAK,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAEvF,MAAM,EAAE,KAAK,CAAC,2CAA2C,EAAE;QACzD,mBAAmB;QACnB,YAAY;QACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,iCAAiC;KAClC,CAAC,CAAC;IAEH,IAAI,iCAAiC,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtF,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC;YAE9B,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;gBACvD,MAAM,EAAE,KAAK,CAAC,+CAA+C,EAAE;oBAC7D,MAAM,EAAE,wCAAwC;oBAChD,SAAS;oBACT,SAAS;oBACT,UAAU;iBACX,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,CAAC;gBAC/D,MAAM,EAAE,KAAK,CAAC,+CAA+C,EAAE;oBAC7D,MAAM,EAAE,oCAAoC;oBAC5C,SAAS;oBACT,SAAS;oBACT,UAAU;oBACV,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;iBACzC,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC1G,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,EAAE,KAAK,CAAC,+CAA+C,EAAE;oBAC7D,MAAM,EAAE,yBAAyB;oBACjC,SAAS;oBACT,SAAS;oBACT,UAAU;iBACX,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,aAAa,GAAG,SAAS,CAAC;YAC1B,MAAM,EAAE,KAAK,CAAC,gDAAgD,EAAE,EAAC,aAAa,EAAC,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAED,MAAM,gCAAgC,GACpC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC;QACxC,CAAC,iBAAiB,KAAK,IAAI,IAAI,iBAAiB,CAAC,KAAK,GAAG,CAAC,IAAI,YAAY,CAAC,CAAC;IAE9E,IAAI,gCAAgC,EAAE,CAAC;QACrC,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtF,IAAI,sBAAsB,GAAG,aAAa,CAAC;QAE3C,KAAK,MAAM,SAAS,IAAI,cAAc,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;YAC9C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACjE,MAAM,SAAS,GAAG,KAAK,EAAE,IAAI,CAAC;YAC9B,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;YACpE,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACvF,IAAI,UAAU,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI;gBAAE,MAAM;YAE1D,IAAI,UAAU,GAAG,cAAc,IAAI,CAAC,4BAA4B,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;gBACpF,MAAM,EAAE,KAAK,CAAC,8CAA8C,EAAE;oBAC5D,MAAM,EAAE,8BAA8B;oBACtC,SAAS;oBACT,SAAS;oBACT,UAAU;oBACV,cAAc;iBACf,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YAED,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,oBAAoB,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;YAC1G,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,EAAE,KAAK,CAAC,8CAA8C,EAAE;oBAC5D,MAAM,EAAE,yBAAyB;oBACjC,SAAS;oBACT,SAAS;oBACT,UAAU;iBACX,CAAC,CAAC;gBACH,MAAM;YACR,CAAC;YACD,sBAAsB,GAAG,SAAS,CAAC;YACnC,MAAM,EAAE,KAAK,CAAC,+CAA+C,EAAE,EAAC,sBAAsB,EAAC,CAAC,CAAC;QAC3F,CAAC;QAED,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;QACpE,MAAM,cAAc,GAAG,cAAc,CAAC,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACvF,MAAM,qBAAqB,GAAG,eAAe,CAAC,GAAG,EAAE,KAAK,EAAE,sBAAsB,CAAC,CAAC;QAClF,IACE,cAAc,KAAK,IAAI;YACvB,CAAC,cAAc,KAAK,YAAY;gBAC9B,CAAC,qBAAqB,KAAK,IAAI;oBAC7B,qBAAqB,CAAC,KAAK,GAAG,CAAC,IAAI,YAAY;oBAC/C,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,sCAAsC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAC7G,CAAC;YACD,aAAa,GAAG,sBAAsB,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,EAAE,KAAK,CAAC,4CAA4C,EAAE;QAC1D,mBAAmB;QACnB,aAAa;QACb,gCAAgC;KACjC,CAAC,CAAC;IAEH,OAAO,aAAa,CAAC;AAAA,CACtB"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/forkChoice/fastConfirmation/utils.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { ChainForkConfig } from "@lodestar/config";
2
2
  import { DataAvailabilityStatus, IBeaconStateView } from "@lodestar/state-transition";
3
- import { AttesterSlashing, BeaconBlock, IndexedAttestation, Root, RootHex, Slot, ValidatorIndex } from "@lodestar/types";
3
+ import { AttesterSlashing, BeaconBlock, IndexedAttestation, Root, RootHex, Slot } from "@lodestar/types";
4
4
  import { Logger } from "@lodestar/utils";
5
5
  import { ForkChoiceMetrics } from "../metrics.js";
6
6
  import { BlockExecutionStatus, LVHExecResponse, PayloadExecutionStatus, PayloadStatus, ProtoBlock, ProtoNode } from "../protoArray/interface.js";
@@ -224,7 +224,7 @@ export declare class ForkChoice implements IForkChoice {
224
224
  * `justifiedBalances` balances of justified state which is updated synchronously.
225
225
  * This ensures that the forkchoice is never out of sync.
226
226
  */
227
- onBlock(block: BeaconBlock, state: IBeaconStateView, blockDelaySec: number, currentSlot: Slot, executionStatus: BlockExecutionStatus, dataAvailabilityStatus: DataAvailabilityStatus, expectedProposerIndex: ValidatorIndex | null): ProtoBlock;
227
+ onBlock(block: BeaconBlock, state: IBeaconStateView, blockDelaySec: number, currentSlot: Slot, executionStatus: BlockExecutionStatus, dataAvailabilityStatus: DataAvailabilityStatus): ProtoBlock;
228
228
  /**
229
229
  * Register `attestation` with the fork choice DAG so that it may influence future calls to `getHead`.
230
230
  *
@@ -413,11 +413,11 @@ export declare class ForkChoice implements IForkChoice {
413
413
  */
414
414
  getDependentRoot(block: ProtoBlock, epochDifference: EpochDifference): RootHex;
415
415
  /**
416
- * Spec: phase0/fork-choice.md#update_proposer_boost_root (`is_same_dependent_root` condition,
417
- * consensus-specs #5306). Proposer boost is only granted when the imported block shares the same
418
- * proposer-shuffling dependent root for the current epoch as the canonical head computed before
419
- * the block was imported. This withholds the boost from a block built on a different shuffling
420
- * branch than the head.
416
+ * Spec: phase0/fork-choice.md#update_proposer_boost_root (`is_same_dependent_root` condition, added in
417
+ * https://github.com/ethereum/consensus-specs/pull/5306). Proposer boost is only granted when the imported
418
+ * block shares the same proposer-shuffling dependent root for the current epoch as the canonical head
419
+ * computed before the block was imported. This withholds the boost from a block built on a different
420
+ * shuffling branch than the head.
421
421
  *
422
422
  * The block is not yet in the proto-array when this runs, so its dependent root is traced from
423
423
  * its parent
@@ -1 +1 @@
1
- {"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"forkChoice.d.ts","sourceRoot":"","sources":["../../src/forkChoice/forkChoice.ts"],"names":[],"mappings":"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"}
@@ -338,12 +338,16 @@ export class ForkChoice {
338
338
  return { proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.HeadBlockNotWeak };
339
339
  }
340
340
  // No reorg if parentBlock is "not strong" ie. parentBlock's weight is less than or equal to (REORG_PARENT_WEIGHT_THRESHOLD = 160)% of total attester weight
341
- // https://github.com/ethereum/consensus-specs/blob/v1.6.1/specs/phase0/fork-choice.md#is_parent_strong
341
+ // https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.11/specs/phase0/fork-choice.md#is_parent_strong
342
+ // For Gloas: measure support for the parent beacon block root regardless of its payload status by
343
+ // looking up the PENDING variant.
344
+ // https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.11/specs/gloas/fork-choice.md#modified-is_parent_strong
342
345
  const parentThreshold = getCommitteeFraction(this.fcStore.justified.totalBalance, {
343
346
  slotsPerEpoch: SLOTS_PER_EPOCH,
344
347
  committeePercent: this.config.REORG_PARENT_WEIGHT_THRESHOLD,
345
348
  });
346
- const parentNode = this.protoArray.getNode(parentBlock.blockRoot, parentBlock.payloadStatus);
349
+ const parentStrongVariant = isGloasBlock(parentBlock) ? PayloadStatus.PENDING : PayloadStatus.FULL;
350
+ const parentNode = this.protoArray.getNode(parentBlock.blockRoot, parentStrongVariant);
347
351
  // If parentNode is unavailable, give up reorg
348
352
  if (parentNode === undefined || parentNode.weight <= parentThreshold) {
349
353
  return { proposerHead, isHeadTimely, notReorgedReason: NotReorgedReason.ParentBlockNotStrong };
@@ -461,11 +465,7 @@ export class ForkChoice {
461
465
  * `justifiedBalances` balances of justified state which is updated synchronously.
462
466
  * This ensures that the forkchoice is never out of sync.
463
467
  */
464
- onBlock(block, state, blockDelaySec, currentSlot, executionStatus, dataAvailabilityStatus,
465
- // The expected proposer index on the canonical chain we are following.
466
- // Calculated by our head state. We use it as part of the proposer
467
- // boost decision making. No boost will be set if this is null.
468
- expectedProposerIndex) {
468
+ onBlock(block, state, blockDelaySec, currentSlot, executionStatus, dataAvailabilityStatus) {
469
469
  const { parentRoot, slot } = block;
470
470
  const parentRootHex = toRootHex(parentRoot);
471
471
  // Parent block must be known because state_transition would have failed otherwise.
@@ -525,24 +525,21 @@ export class ForkChoice {
525
525
  }
526
526
  const blockRoot = this.config.getForkTypes(slot).BeaconBlock.hashTreeRoot(block);
527
527
  const blockRootHex = toRootHex(blockRoot);
528
- // Assign proposer score boost if the block is timely
529
- // before attesting interval = before 1st interval
528
+ // Decide whether this block should receive proposer boost, and whether the block is timely.
529
+ // The store field `this.proposerBoostRoot` and `updateCheckpoints()` are mutated only after
530
+ // `protoArray.onBlock()` succeeds
530
531
  const isTimely = this.isBlockTimely(block, blockDelaySec);
531
- if (this.opts?.proposerBoost &&
532
+ const isProposerBoostBlock = this.opts?.proposerBoost === true &&
532
533
  isTimely &&
533
534
  // only boost the first block we see
534
535
  this.proposerBoostRoot === null &&
535
- expectedProposerIndex !== null &&
536
- block.proposerIndex === expectedProposerIndex &&
537
- this.isProposerBoostSameDependentRoot(this.head.blockRoot, parentRootHex)) {
538
- this.proposerBoostRoot = blockRootHex;
539
- }
536
+ this.isProposerBoostSameDependentRoot(this.head.blockRoot, parentRootHex);
537
+ // Candidate boost root used for protoArray.onBlock's best-child weighting. Committed to the
538
+ // store only after the insertion succeeds.
539
+ const proposerBoostRoot = isProposerBoostBlock ? blockRootHex : this.proposerBoostRoot;
540
540
  const justifiedCheckpoint = toCheckpointWithHex(state.currentJustifiedCheckpoint);
541
541
  const stateJustifiedEpoch = justifiedCheckpoint.epoch;
542
542
  const finalizedCheckpoint = toCheckpointWithHex(state.finalizedCheckpoint);
543
- // Justified balances for `justifiedCheckpoint` are new to the fork-choice. Compute them on demand only if
544
- // the justified checkpoint changes
545
- this.updateCheckpoints(justifiedCheckpoint, finalizedCheckpoint, () => this.fcStore.justifiedBalancesGetter(justifiedCheckpoint, state));
546
543
  const blockEpoch = computeEpochAtSlot(slot);
547
544
  // same logic to compute_pulled_up_tip in the spec, making it inline because of reusing variables
548
545
  // If the parent checkpoints are already at the same epoch as the block being imported,
@@ -584,13 +581,6 @@ export class ForkChoice {
584
581
  unrealizedJustifiedCheckpoint = justifiedCheckpoint;
585
582
  unrealizedFinalizedCheckpoint = finalizedCheckpoint;
586
583
  }
587
- // Un-realized checkpoints
588
- // Update best known unrealized justified & finalized checkpoints
589
- this.updateUnrealizedCheckpoints(unrealizedJustifiedCheckpoint, unrealizedFinalizedCheckpoint, () => this.fcStore.justifiedBalancesGetter(unrealizedJustifiedCheckpoint, state));
590
- // If block is from past epochs, try to update store's justified & finalized checkpoints right away
591
- if (blockEpoch < computeEpochAtSlot(currentSlot)) {
592
- this.updateCheckpoints(unrealizedJustifiedCheckpoint, unrealizedFinalizedCheckpoint, () => this.fcStore.justifiedBalancesGetter(unrealizedJustifiedCheckpoint, state));
593
- }
594
584
  const targetSlot = computeStartSlotAtEpoch(blockEpoch);
595
585
  const targetRoot = slot === targetSlot ? blockRoot : state.getBlockRootAtSlot(targetSlot);
596
586
  // This does not apply a vote to the block, it just makes fork choice aware of the block so
@@ -653,7 +643,19 @@ export class ForkChoice {
653
643
  payloadStatus: isGloasBeaconBlock(block) ? PayloadStatus.PENDING : PayloadStatus.FULL,
654
644
  parentBlockHash: parentHashHex,
655
645
  };
656
- this.protoArray.onBlock(protoBlock, currentSlot, this.proposerBoostRoot);
646
+ this.protoArray.onBlock(protoBlock, currentSlot, proposerBoostRoot);
647
+ if (isProposerBoostBlock) {
648
+ this.proposerBoostRoot = blockRootHex;
649
+ }
650
+ // Justified balances for `justifiedCheckpoint` are new to the fork-choice. Compute them on
651
+ // demand only if the justified checkpoint changes.
652
+ this.updateCheckpoints(justifiedCheckpoint, finalizedCheckpoint, () => this.fcStore.justifiedBalancesGetter(justifiedCheckpoint, state));
653
+ // Un-realized checkpoints. Update best known unrealized justified & finalized checkpoints
654
+ this.updateUnrealizedCheckpoints(unrealizedJustifiedCheckpoint, unrealizedFinalizedCheckpoint, () => this.fcStore.justifiedBalancesGetter(unrealizedJustifiedCheckpoint, state));
655
+ // If block is from past epochs, try to update store's justified & finalized checkpoints right away
656
+ if (blockEpoch < computeEpochAtSlot(currentSlot)) {
657
+ this.updateCheckpoints(unrealizedJustifiedCheckpoint, unrealizedFinalizedCheckpoint, () => this.fcStore.justifiedBalancesGetter(unrealizedJustifiedCheckpoint, state));
658
+ }
657
659
  return protoBlock;
658
660
  }
659
661
  /**
@@ -696,13 +698,15 @@ export class ForkChoice {
696
698
  return;
697
699
  }
698
700
  this.validateOnAttestation(attestation, slot, blockRootHex, targetEpoch, attDataRoot, forceImport);
699
- // Pre-gloas: payload is always present
701
+ // Determine which variant the attestation supports
702
+ //
703
+ // Pre-gloas: payload is always present, vote goes to FULL.
700
704
  // Post-gloas:
701
- // - always add weight to PENDING
702
- // - if message.slot > block.slot, it also add weights to FULL or EMPTY
705
+ // - block.slot < message.slot: EMPTY if data.index is 0 and FULL if data.index is 1.
706
+ // - else: PENDING
707
+ //
708
+ // https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.11/specs/gloas/fork-choice.md#modified-get_supported_node
703
709
  let payloadStatus;
704
- // We need to retrieve block to check if it's Gloas and to compare slot
705
- // https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.1/specs/gloas/fork-choice.md#new-is_supporting_vote
706
710
  const block = this.getBlockHexDefaultStatus(blockRootHex);
707
711
  if (block && isGloasBlock(block)) {
708
712
  // Post-Gloas block: determine FULL/EMPTY/PENDING based on slot and committee index
@@ -1199,11 +1203,11 @@ export class ForkChoice {
1199
1203
  throw Error(`Not found dependent root for block slot ${block.slot}, epoch difference ${epochDifference}`);
1200
1204
  }
1201
1205
  /**
1202
- * Spec: phase0/fork-choice.md#update_proposer_boost_root (`is_same_dependent_root` condition,
1203
- * consensus-specs #5306). Proposer boost is only granted when the imported block shares the same
1204
- * proposer-shuffling dependent root for the current epoch as the canonical head computed before
1205
- * the block was imported. This withholds the boost from a block built on a different shuffling
1206
- * branch than the head.
1206
+ * Spec: phase0/fork-choice.md#update_proposer_boost_root (`is_same_dependent_root` condition, added in
1207
+ * https://github.com/ethereum/consensus-specs/pull/5306). Proposer boost is only granted when the imported
1208
+ * block shares the same proposer-shuffling dependent root for the current epoch as the canonical head
1209
+ * computed before the block was imported. This withholds the boost from a block built on a different
1210
+ * shuffling branch than the head.
1207
1211
  *
1208
1212
  * The block is not yet in the proto-array when this runs, so its dependent root is traced from
1209
1213
  * its parent
@@ -1567,11 +1571,11 @@ export class ForkChoice {
1567
1571
  if (!isHeadLate) {
1568
1572
  return { prelimProposerHead, prelimNotReorgedReason: NotReorgedReason.HeadBlockIsTimely };
1569
1573
  }
1570
- // No reorg if we are at epoch boundary where proposer shuffling could change
1571
- // https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#is_shuffling_stable
1572
- const isShufflingStable = slot % SLOTS_PER_EPOCH !== 0;
1573
- if (!isShufflingStable) {
1574
- return { prelimProposerHead, prelimNotReorgedReason: NotReorgedReason.NotShufflingStable };
1574
+ // No reorg if we are at an epoch boundary
1575
+ // https://github.com/ethereum/consensus-specs/blob/v1.7.0-alpha.12/specs/phase0/fork-choice.md#is_not_epoch_boundary
1576
+ const isAtEpochBoundary = slot % SLOTS_PER_EPOCH === 0;
1577
+ if (isAtEpochBoundary) {
1578
+ return { prelimProposerHead, prelimNotReorgedReason: NotReorgedReason.AtEpochBoundary };
1575
1579
  }
1576
1580
  // No reorg if headBlock and parentBlock are not ffg competitive
1577
1581
  // https://github.com/ethereum/consensus-specs/blob/v1.4.0-beta.4/specs/phase0/fork-choice.md#is_ffg_competitive