Skip to content

Additive slot/withdrawal extraction (lots 44, 50–174) - #35

Closed
Th0rgal wants to merge 272 commits into
codex/source-ordinary-block-candidate-20260911from
grok/eip-slot-withdrawal-extraction-20260911
Closed

Th0rgal wants to merge 272 commits into
codex/source-ordinary-block-candidate-20260911from
grok/eip-slot-withdrawal-extraction-20260911

Conversation

@Th0rgal

@Th0rgal Th0rgal commented Sep 11, 2026 •

Copy link
Copy Markdown
Member

Additive extraction of canonical slot uniqueness and withdrawal counts for EIP-8282, continuing after the merged lot-43 stack.

Lot 44 proof 7d8fc7b1bf4353be85fb27a5cde72f87bee273fd: Capella:153-157 SszWithdrawal field order; Capella:454/639 credentials[12:] (not [:20]).

Lot 50 proof e8196790fdd14deb23a451d448f527941596c0f3: LE take-8 pivot, position-max bit, swap-or-not.

Lot 51 proof c9070a40dafd1ff8d2c68a50aace29f449105dc3: shared partner bit, one-round injectivity, 90-round Nodup.

Lot 52 proof 1a5f851f1a29f50397bba746422031b7cff570a6: List.Perm against identityPerm; perm[index] is the 90-round walk.

Lot 53 proof 9e1a3b03f6fef9c255cbf56b62f686eb477d264c: phase0:1207-1216 source_by_bucket insert-if-absent.

Lot 54 proof fddd03482533720fce0f7725e71fdfb791b51d5d: phase0:1213-1218 same-bucket bit offsets.

Lot 55 proof 70c6dd64636113a64f03f7deeb50ea7207ac4b59: phase0:1213-1219 cached swap-or-not bit.

Lot 56 proof 0b6c0b5cd8e54910a27d473ad4565c556b223956: phase0:1204 / 1213-1215 per-round Uint8 preimage.

Lot 57 proof 9b621b7ec47e8ab07cbd9329e08e9a4b0e96c1b3: phase0:1207 BucketCacheOk is round-indexed.

Lot 58 proof 7b24b05da2982ef091afffeaf61340c704d148a0: phase0:1204-1207 walk hashes each round from an empty cache.

Lot 59 proof 3046d38ad8ca1403321babb44138cdbb89765993: phase0:1206 vs 1213-1215 pivot preimage omits Uint32(bucket).

Lot 60 proof 335c6d85f456c17b7966ca3e16e6dca38ead14d1: phase0:1024-1028 / 1206 bytes_to_uint64 is LE take-8 of the digest; a suffix byte is ignored; [8:16] and [24:32] are mutants. SHA256 values remain uninterpreted.

Lot 61 proof 35438277d2442c169535558c8f05af6529d62a2e: phase0:1206 pivot is raw % index_count; omitting % at samplePivotHash / count 1 is not < index_count; shuffleFlip already % so the partner is unchanged; Lean n % 0 = n is named against Python ZeroDivisionError (not claimed); phase0:1230 already rejects count 0.

Lot 62 proof d06247ec21cc65d4527cc6d38cb7f3de1af507a5: phase0:1410-1414 get_randao_mix is the stored VECTOR entry; phase0:1707 genesis splat; phase0:1449-1452 get_seed concatenates that entry; phase0:2237-2243 reset copies current into next_epoch % VECTOR. SHA256 / xor of process_randao remain uninterpreted.

Lot 63 proof 50e9b4d25837d33dad1a86956c1c8d58b885cebe: phase0:1002-1006 bytewise xor; phase0:2314-2315 process_randao writes xor(current mix, hash(reveal)) at epoch % VECTOR; not a copy and not the epoch reset. bls.Verify (phase0:2312) and SHA256 reveal values stay named.

Lot 64 proof 83feb58cee83a07104bb9daae0cc19e13c30296c: archived order is process_block phase0:2273 process_randao then process_epoch phase0:1823 process_randao_mixes_reset; after xor+reset, current keeps the xor and next reads it; swapping the callees leaves next at the genesis zero mix.

Lot 65 proof 6d554e984172c8006111dbe16f2daff3efffa140: Gloas:1999 empty parents contribute exactly 0 computed items; the accepted sum is the parentFull-only sum ≤ 16 * (filter parentFull).length ≤ 16 * 2^64; ProtocolWithdrawalCount.total_count is derived from AcceptedBlocks without naming the consumer Nodup premise. An always-expected mutant overcounts.

Lot 66 proof 816831657dd1ef17795a1baee4edc265d12fb6e7: compute_epoch_at_slot / get_current_epoch; inherited process_eth1_data_reset (clears votes iff next_epoch % 64 == 0) and process_slashings_reset (writes 0 at next_epoch % 8192, not a copy). A clock-preserving process_epoch step cannot be an AcceptedBlocks singleton, so it contributes 0 items.

Lot 67 proof d8dbd7ef4dec07f7a13d9f9b2f9b0ba1c19938a1: historical append only when next_epoch % 256 == 0 (8192 // 32); a % 8192 mutant misses epoch 255. Participation always rotates, including when historical keeps. hash_tree_root stays named. These helpers accept no withdrawal payload.

Lot 68 proof dc6bea81345790b88b0dd1a6525b27e84f990bd1: process_effective_balance_updates hysteresis (increment//4, down 1×, up 5×); in-band 31.8e9 keeps 32e9, always-update floors to 31e9. Electra/Gloas uses get_max_effective_balance: compounding 40e9 writes 40e9, not the phase0 32e9 cap. process_sync_committee_updates rotates iff next_epoch % 256 == 0; get_next_sync_committee stays named. These helpers accept no withdrawal payload.

Lot 69 proof 1109f5c0962ce2c6826e710667e720e36b281f4b: Gloas process_pending_deposits walks at most 16 finalized entries and drops Electra's Eth1-bridge gate; leftover churn clears unless the limit was hit; apply_pending_deposit stays named. process_builder_pending_payments credits only the first 32 weights at the 6/10 per-slot quorum, then rotates the two windows. Electra activation-queue eligibility is effective ≥ 32e9, not phase0 == MAX_EFFECTIVE_BALANCE. These helpers accept no withdrawal payload.

Lot 70 proof d1a64c98f7388213a0c11f38b505f3f4ecd84cd8: Electra process_pending_consolidations skips slashed sources and stops on withdrawable_epoch > next_epoch; transfer amount is min(balance, EB). compute_activation_exit_epoch is epoch+1+4; is_active_validator is half-open. initiate_validator_exit is a no-op when already exiting and sets withdrawable exit+256; compute_exit_epoch_and_update_churn stays named. Registry if/elif prefers queue eligibility over ejection at 16e9. These helpers accept no withdrawal payload.

Lot 71 proof cf4a8f2ffe43ca7e971bf89714bf404aee03953e: compute_exit_epoch_and_update_churn resets leftover on a new earliest epoch and ceils overflow with (x-1)//per+1; Gloas exit churn uses quotient 2^15, not Electra 2^16. process_slashings applies only if slashed and withdrawable = epoch+4096; Electra increment penalty differs from phase0. get_total_active_balance / decrease_balance stay named. These helpers accept no withdrawal payload.

Lot 72 proof c9e28982394db9d54c3326f5e5db778277ad03a2: justification skips epoch ≤ 1 while inactivity/rewards skip only genesis; supermajority is target*3 ≥ total*2; justification bits become [false] ++ bits[:3]; leak is finality_delay > 4; recovery does not run in a leak; HEAD miss has no flag penalty. Attesting balances / get_block_root stay named. These helpers accept no withdrawal payload.

Lot 73 proof ccd15f72581d394049590934c08f47cddb6ef20e: remaining weigh windows k=3 (old_prev+2) and k=2 (old_curr+2 / old_curr+1); independent ifs so later overwrites; flag reward is 0 in a leak; Gloas inherits Bellatrix inactivity quotient 2^24 not Altair 3*2^24; get_base_reward is increments times a named per-increment. integer_squareroot / get_total_active_balance stay named. These helpers accept no withdrawal payload.

Lot 74 proof b8efcb05471cde5eb7e26887c39be06cad10b073: integer_squareroot Newton + UINT64_MAX shortcut; get_base_reward_per_increment divides by the sqrt not the raw total; get_total_balance empty indices credit the increment minimum; eligible includes slashed-and-withdrawing. has_flag / get_unslashed_participating_indices stay named. These helpers accept no withdrawal payload.

Lot 75 proof 806253d5a5b03e275592bcaadf83abbe75b0f5c5: add_flag is OR of 2^index (XOR toggle is a mutant); has_flag after add_flag holds for every flags/index; extra bits do not clear has_flag; active indices drop inactive registry entries; unslashed participating drops slashed and inactive; previous epoch reads the previous participation buffer. get_matching_target_attestations / get_block_root stay named. These helpers accept no withdrawal payload.

Lot 76 proof 242eff25abd27248b2a97b8a96117fb8b1c34eb9: get_block_root_at_slot window is slot < state.slot ≤ slot+8192 with index % 8192; epoch root uses the start slot; matching target filters on that root; Altair target delay ≤ 32 vs Gloas unbounded; Gloas head needs payload availability; same-slot requires index==0 and root ≠ prev. Root bytes stay named. These helpers accept no withdrawal payload.

Lot 77 proof b972151907560cc81780b2ee8bd76520dfe6d220: Electra/Gloas drop the +32 inclusion upper bound; Electra data.index==0 vs Gloas <2; aggregation bits select committee members and Electra walks a running offset; compute_domain is type ++ fork_root[:28]; indexed indices are nonempty strictly increasing. hash_tree_root / bls.FastAggregateVerify / get_beacon_committee stay named. These helpers accept no withdrawal payload.

Lot 78 proof 796664254376dc427ed52a179df6a327f946d235: get_committee_count_per_slot floors at 1 and caps at 64 (active // 32 // 128); last compute_committee slice keeps the remainder; beacon committee index is (slot%32)*cps+index with attester seed; Electra committee bits keep set bits only. compute_shuffled_index / digest values stay named. These helpers accept no withdrawal payload.

Lot 79 proof 0ec7f147fb43c92b14748b2759bc6164598784c4: get_beacon_proposer_index outer seed is get_seed(PROPOSER)+uint_to_bytes(slot); Electra samples 16-bit windows (i//16, offset i%16*2) against 2048e9; Fulu indexes lookahead[slot%32]; Gloas drops slashed actives; PTC seed uses DOMAIN_PTC_ATTESTER with the same slot suffix. Shuffle / SHA256 values stay named. These helpers accept no withdrawal payload.

Lot 80 proof 5e9b955f104b9e1d3c733edd495119467fd05227: compute_balance_weighted_selection rejects an empty domain and refreshes the 16-bit digest only at offset==0; PTC concatenates every slot committee in order without shuffle (PTC_SIZE=512); proposers shuffle a size-1 draw; next sync committee is sampled at epoch+1 with SYNC_COMMITTEE_SIZE=512. Shuffle / SHA256 values stay named. These helpers accept no withdrawal payload.

Lot 81 proof 1ba79b01b8ccd92521b4d8f09c6d1adf76b03bec: apply_pending_deposit credits an existing pubkey without a signature check; Electra apply_deposit adds Gwei(0) then queues (GENESIS_SLOT) and returns without a queue on an invalid new pubkey; get_validator_from_deposit floors then caps (40e9 stays under Electra 2048e9); eth1_deposit_index advances even if the signature fails; Merkle depth is TREE_DEPTH+1; deposit domain is DOMAIN_DEPOSIT. bls.Verify / hash_tree_root stay named. These helpers accept no withdrawal payload.

Lot 82 proof c0c49f89035799041488e8aab2efdbe935ed196e: Merkle pairing is sha256(branch++value) iff index//2^i is odd; Electra latches UNSET start index and stamps state.slot on request pending deposits; Fulu drops that latch and asserts body.deposits empty. SHA256 values stay named. These helpers accept no withdrawal payload.

Lot 83 proof 84a8d47cc9d6eb5e18ba0eaba8f70fffda90f4ce (receipt 36134a73ac07084aab756e66546ac43bf3d51e53): Electra:1871-1937 process_withdrawal_request sequential returns — amount 0 is a full exit; a full 2**27 partial queue still admits exits; unknown pubkey / wrong execution credential / credentials[12:] / inactive / exit_epoch ≠ FAR_FUTURE / epoch < activation+256 return; full exit only when pending-for-this-index is 0; partials need compounding + EB ≥ 32e9 + excess; to_withdraw is min(balance-32e9-pending, amount); withdrawable is exit_queue+256; Gloas:1737 caps the parent request list at 16; Gloas:1749 calls the inherited body. Pubkey bytes stay named. These helpers accept no withdrawal payload.

Lot 84 proof 8ae3d50f84fa4a86f7964f8dc195cbc3b1b6e595 (receipt c2877e685ab53b277c80ed68258df25ec988c638): Electra:1966-2076 switch-to-compounding requires source=target + eth1 + credentials[12:] + active + not exiting; a same-pubkey miss is not an exit; a full 2**18 queue or churn ≤ 32e9 ignores consolidations; target must be compounding; source pending must be 0; switch rewrites only the first credential byte and queues excess above 32e9; consolidation churn is balance - exit; consolidation epoch agrees with the exit leftover/ceil walk; Gloas:1738 caps the parent list at 2; Gloas:1750 calls the inherited body. Pubkey bytes / G2_POINT_AT_INFINITY stay named. These helpers accept no withdrawal payload.

Lot 85 proof 17891c9f18cb6b31215820f6fdf73ca41dab1819 (receipt e7027a83f9b6f5be6923fb390e529a5db6d8f567): Gloas:2201-2307 builder deposit/exit requests — prefix 0xB0 (not eth1); new pubkey needs DOMAIN_BUILDER_DEPOSIT + named bls.Verify; existing pubkey credits without a signature; exited+swept recycles the index and resets withdrawable to epoch+64; active builder is deposit_epoch < finalized and withdrawable==FAR (not the validator interval); pending sums withdrawals AND payments; exit delay is 64 not 256; Gloas:1739-1740 cap 64/16; types 0x03/0x04. These helpers accept no withdrawal payload.

Lot 86 proof 0c5bba75db9f9803bab83c9475c303a390112fd2 (receipt bf461f1ada223956d6d52bdcd859c69f1f388d7d): phase0:605 MIN_DEPOSIT_AMOUNT=1e9; Gloas:1170-1178 can_builder_cover_bid rejects balance < 1e9 + pending then requires balance - min ≥ bid (pending is withdrawals AND payments; a 32e9 or > mutant is rejected); Gloas:1521-1526 settle_builder_payment appends only when amount > 0 then always empty()s; Gloas:1754-1770 current epoch settles 32+slot%32, previous slot%32, stale value>0 appends directly; the two windows are disjoint; genesis still takes the current branch; Gloas:2456-2467 slashing uses the same index but empty()s without appending, and only when proposer_index matches. Out-of-range settle is Lean identity (Python AssertionError named). These helpers accept no withdrawal payload.

Lot 87 proof dc0366d24d8b46132fc529bfef681ca8a962f3ed (receipt 9430ade448dd5607604db7a071f6c9b19e519a10): Gloas:1785-1798 empty parent (bid.parent_block_hash != parent_bid.block_hash) skips apply_parent — no latest write, no availability True, no settle; the full path writes latest_block_hash = parent_bid.block_hash so Gloas:1999 equality is derived; availability True is parent_slot % 8192 not % 32; process_slot writes False at (slot+1) % 8192; add_builder_to_registry writes version 0, deposit_epoch = slot//32, withdrawable FAR; set_or_append_list at the call site replaces a recycled index (definition not archived). These helpers accept no withdrawal payload.

Lot 88 proof eec9951a713c80b9cfae2db1ea3998e02379fa3b (receipt 2d15566ba89f107991471dfeb805b3eb063c8470): Gloas:1946-1951 / Electra:1490-1495 consume the processed prefix of builder-pending and pending-partial queues; queueStage 15 0 ++ drop reconstructs the queue (derived, not a count premise); a 16-entry queue leaves 1 after the 15-cap; Gloas:1999 empty parent does not consume and does not advance next_withdrawal_builder_index; Gloas:1957-1964 keeps the cursor on an empty registry and wraps with % len; MAX_BUILDERS_PER_WITHDRAWALS_SWEEP=16384 (Gloas:618), builders_limit = min(len, 16384) not 16. Suffix-drop / consume-all / always-% are mutants.

Lot 89 proof 94c857420accc3b1d8adba9c459e1ab95abee464 (receipt 71876efdc021271f59fb76ef95bf5ae71b12b8df): Gloas:1839-1873 get_builders_sweep_withdrawals visit fold — processed_count increments after each visit including ineligible skips (1859, 1871) and does not increment on the 15-cap break (1854-1856); append projection is sweepStage; (skip, take, skip) visits 3 and appends 1; prior=14 two eligible visits 1 not 2; Gloas:2016 cursor uses visits not len(withdrawals); empty registry visits 0 and keeps the cursor; 16384 is not SLOTS_PER_EPOCH 32 and not SLOTS_PER_HISTORICAL_ROOT 8192.

Lot 90 proof d778f8c7145a1aea933b40dc951b3ba5cdce9228 (receipt d33a24ea77ca60bd15b1b0e8356bb91ec90f247e): Electra:1407-1454 get_validators_sweep_withdrawals visit fold at residual 16 (not the builders 15); prior=15 still visits an eligible validator; skips still increment processed_count; Electra:1515 / Gloas:2017 feed expected.withdrawals to the validator cursor, not processed_validators_sweep_count; non-full payload advances by 16384, a full 16-payload restarts after the last credited validator; Gloas:2016 builder visit-feed ≠ Gloas:2017 Capella list rule; SLOTS_PER_EPOCH 32 ≠ payload 16.

Lot 91 proof 7a362185da08dd391daf9c9c26370b80ad94b98f (receipt 90ec73e4e4b5bfb4dfd257efcc67ad995e1dfdf3): Gloas:1790-1797 empty parent asserts requests == ExecutionRequests.empty() and returns without the root check; full parent asserts the named hash_tree_root(requests) == parent_bid.execution_requests_root then applies; requiring the root / skipping empty() / applying on empty / requiring empty() on the full path are mutants; Gloas:972 width 5 ≠ Electra 3 fields; Gloas:2051-2066 omits empty lists and keeps builder 0x03/0x04 (Electra 3-field list drops them); fork.md:218 genesis bid root preimage is empty requests, not Withdrawals() (221). Hash / ssz_serialize / empty() SSZ default stay named.

Lot 92 proof 55417ec7c2ef7c8e0b87b5534e03fc12889d1d5c (receipt 21f0bf8bdd827d5f77d42410d65a525da07674ef): Gloas:1737-1740 apply_parent asserts four lengths (withdrawals 16, consolidations 2, builder deposits 64, builder exits 16), not deposits; 65 deposits pass, 17 withdrawals fail; a deposit-16 cap is a mutant; empty parent and root mismatch skip the asserts; Gloas:1748-1752 for_ops walks deposits first then withdrawals/consolidations/builder deposits/exits; skipping deposits or walking builder-first are mutants; empty parent walks no ops.

Lot 93 proof 34cf35c5349442d69df5c9dd6a3a75cd12ccf64d (receipt 86db3f20165ad82527efece78a7234db0cbb1e02): upgrade_to_gloas (fork.md:135-224) copies both clock fields (141/148) and is not process_slots; Gloas:570 BUILDER_INDEX_SELF_BUILD = UINT64_MAX (fork.md:213); genesis bid is field-by-field (parent_hash ≠ block_hash, value/payment 0, slot = header.slot); fork.md:176 equals 209 so Gloas:1999 is the full-parent path (items = expected); availability is all-1s for 8192; constructor builders/queues are empty defaults and the sweep cursor starts at 0; onboard_builders_from_pending_deposits (230) is not extracted.

Lot 94 proof 35e49ee29ecb43150319735eade2106050112a20 (receipt ed3e3be9b5e5f226b076c384a2923cdefafa5e36): onboard_builders_from_pending_deposits (fork.md:70-119) keeps existing-validator and non-0xB0 deposits, drops an invalid new-builder signature, registers a valid 0xB0 pubkey, and credits an already-onboarded builder without a signature; is_pending_validator (Gloas:1105-1119) requires a valid sig on the rewrite queue; builder pubkeys are recomputed each iteration (a snapshot double-registers); consumed deposits leave the queue; empty constructor + empty pending stays empty; fork.md:30/130-132 GLOAS_FORK_EPOCH is UINT64_MAX TBD and slot 0 is a boundary but not the fork. bls.Verify stays named as sigOk.

Lot 95 proof 2db12109f072963c0bdd8813d1a63c0fe9e67597 (receipt 64a1d16b06981d4f58de92ba04b95ea03e3a5c67): After upgrade_to_gloas (fork.md:230), Gloas:1845 len(builders) is postUpgradeRegistryLen from the onboard walk, not a free sweep budget. Empty onboard visits none even if leftover eligibles are supplied and keeps cursor 0; one builder is limit 1 not 16384; recompute stays 1 (frozen is 2); twenty onboarded builders are not the payload cap 16; the first full parent with an empty registry contributes no builder-sweep items. Slot Nodup stays on accepted_nodup.

Lot 96 proof de2505773489e0cad5eee429061a134539c37b88 (receipt bdb136de1dd4d947a51d092fe96b247b29a791ae): Gloas:1859 eligibility is withdrawable_epoch <= epoch and balance > 0 (not Electra isFullyWithdrawable). add_builder_to_registry writes FAR, so a newly onboarded builder is visited (lot-95 length 1) but not appended; Always / balance-only / exit-delay mutants are not that guard. The first full parent with that FAR flag has builderSweep = [], so items is not inflated. Slot Nodup stays on accepted_nodup.

Lot 97 proof b857863e52399987a3db0f519779266afa4e9bb3 (receipt 9052a4d27c98cad12ab89f56779e1713efbf2d88): process_builder_exit_request (Gloas:2291-2306) stamps withdrawable = epoch+64 via initiate_builder_exit (1515). At that epoch with balance > 0, Gloas:1859 appends to the first payload (items includes the item when the parent is full and prior is 0). A rejected exit keeps FAR; the validator delay 256 is not due at epoch 64; an empty parent still contributes 0 items. Slot Nodup stays on accepted_nodup.

Lot 98 proof d2f5bc587c053f2ab8a30fd9f0bda6d44c575839 (receipt 9b2d4352b5f0403b8e65cf0bf68cab285b62c67a): Gloas:1860-1866 appended Withdrawal is the archived constructor (SweepWithdrawal / mkSweepWithdrawal), not a free Item. index is the running withdrawal_index (then += 1 at 1868); validator_index is convert_builder_index_to_validator_index (first-payload cursor 0 → BUILDER_INDEX_FLAG); address is credentials[12:] not [:20]; amount is add_builder_to_registry balance, not the pending-queue amount and not FAR. The first-payload exited sweep appends that constructed Item into items when the parent is full and prior is 0. Slot Nodup stays on accepted_nodup.

Lot 99 proof 8b377623f3905e7a15516ca1480a3b17d79e5847 (receipt 9782ffc58e6bd165365b6bac0336179c23cec474): Gloas:1868 two-append builder sweep. Two onboarded exited builders stamp withdrawal_index then += 1 (indexSeq start 2); freezing the second index repeats start. Visit 1 is 1|FLAG, not raw 1 and not the first-visit FLAG. nextIndexAfter is start+2. The first full parent with prior 0 contributes those two constructed Items. Slot Nodup stays on accepted_nodup.

Lot 100 proof a7af184ade6bef9a8324eda2536b8a05d5b116e7 (receipt e97aca7872a72eb2718dff8a548bc5f462a37ec7): Gloas:1854-1856 prior=14 cap break on the two constructed exited builders (lot 99 items, not sampleConsumeItem). Visits=1, appended list is take 1 (amount 5); the second constructor amount 7 is omitted. nextIndexAfter is start+1 not start+2. The same pair at prior 0 still appends both. Full parent builderSweep / items keep only the first constructed sweep item. Slot Nodup stays on accepted_nodup.

Lot 101 proof 7d3cde9df3b683bde5e31eae14f737dc563bb48a (receipt e20d534a84469648eecef85ef3d67da643438333): Gloas:2016 cursor after a constructed cap-broken sweep feeds processed_builders_sweep_count, not len(withdrawals). Two-eligible prior-14 (lot 100) advances by visits=1, not the two constructed items. Skip-then-append-then-break of three constructors at prior 14 visits 2 and appends the second (amount 7); the third (amount 11) is not visited. Cursor is 2, not 1 and not 3. sweepVisitAppendsOnly is 1 (skip still increments). Empty parent keeps the cursor. Slot Nodup stays on accepted_nodup.

Lot 102 proof d18e285100ef98126f1d07e833a6e7c73ffd64e2 (receipt 4b0e08367177c893f77381453bcbca15f426b523): Capella:506-510 next_withdrawal_index after the constructed skip-take-break is not Gloas:2016 visits. Sweep-local append advances by 1, not visits=2 and not the builder cursor (start+2)%3. The FAR skip does not consume an index; the kept constructor stamps start and 1|FLAG. With room, two appends are not three visits. Full parent prior 14 / no validators: payload length 15, cursor start+15, not 2. Empty parent keeps the index. Slot Nodup stays on accepted_nodup.

Lot 103 proof debce6f16f99ef76cf68fac402968a7e3f7b5a35 (receipt 14e768036a845f1cd457a072f6ed4c20880f382b): Electra:1515 / Gloas:2017 validator cursor on the constructed 15-item skip-take-break payload (lot 102, no validator sweep). Length 15 is not full, so the cursor is (start+16384)%n, not builder visits=2, not the Gloas:2016 wrap, not len(withdrawals)=15 as a visit feed, and not a Capella:520 restart after the builder-sweep 1|FLAG. A 16th validator credit restarts after that validator. Empty parent keeps the cursor. Slot Nodup stays on accepted_nodup.

Lot 104 proof 45e2557e8e03a944de96008eb1498babbd04acf6 (receipt 53887a8c0a02e02d1f498de92b1b639fde94ccee): Capella:510 then 480 across two constructed payloads. After the lot-102/103 15-item skip-take-break parent, the second full parent continues withdrawal_index from start+15 (indexSeq start 30 for two constructed 15-item parents). Restarting the second payload at 0 repeats index 0. Continuing from builder visits=2 is a mutant. The second non-full validator cursor is ((start+16384)%n + 16384)%n, not start+15 and not visits=2. Empty second parent contributes 0 items and keeps both cursors. Slot Nodup stays on accepted_nodup.

Lot 105 proof 36367595ea241d18edd0d6d216107a4bbd3f97eb (receipt 551012df3244ff870ab64021cc73d7a855e42ffb): Capella:452/480 stamps the second payload's first SweepWithdrawal at start+15. After the 15-item skip-take-break parent, a prior-0 two-exited full parent contributes those two constructed items; drop 15 of indexedChain is that stamped head (FLAG, not the first payload's kept 1|FLAG). Restarting at 0 or at visits=2, or reusing builder 1, are mutants. Empty second parent has no sweep head. Slot Nodup stays on accepted_nodup.

Lot 106 proof cec10b8f89dc739a164ef2a4285f7d203ead82d8 (receipt 1d536e6c7432c768ebd45e696b7c92ba5d849c33): Capella:458 / Gloas:1868 stamps the continued second sweep at start+16 (+= 1), not frozen at start+15. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. The continued pair is indexSeq (start+15) 2; nextIndexAfter is start+17. drop 16 of indexedChain is that second constructor. Empty second parent has no second sweep. Slot Nodup stays on accepted_nodup.

Lot 107 proof 0db1672f5a6ab33642abe2d2058b26ac515f9912 (receipt 316bbea450879cb0f7dda82c36cd419fee919384): Capella:510 then 458. The constructed 15-item skip-take-break parent followed by the prior-0 two-exited payload is indexSeq start 17; nextIndexAfter / updateNextWithdrawalIndex are start+17. Consumer total_count and dispatched_counts bind at 17 without naming the Nodup premise. Omit (15) / frozen-second (16) / restart / visits=2 / empty second parent are mutants. Slot Nodup stays on accepted_nodup.

Lot 108 proof 8ceb9675ab4ce445f77039647e2425a51216952a (receipt c6fdf0a907724085361c57aabf47eef75fde72b0): fork.py:1118 / Capella:510. The 17-chain items are items b1 ++ firstPayloadTwoExitedItems (queues + kept 7 Gwei, then 5+7 Gwei). Credits are queue + 19 Gwei. ElCredit / create_ether of the chain is that concatenation, not a named hflat. A third payload continues from start+17; empty third keeps length 17; restart at 0 repeats index 0. Slot Nodup stays on accepted_nodup.

Lot 109 proof 3bdc602e3babbdafaf754aa32b3ee7d790cc243d (receipt 4e24fb706de5a8f4bf09f322e2ff395be5ccf0cc): Capella:452/480 stamps the third payload's first SweepWithdrawal at start+17 after the 17-chain. drop 17 of indexedChain is that FLAG head. Restart at 0 / first-payload cursor start+15 / frozen second start+16 / Gloas:2016 visits=2 are mutants. Validator is not the first payload kept 1|FLAG, not reused builder-1, and not the second payload's second-sweep 1|FLAG. Empty third parent has no head. dispatched_counts Ledger credits are queues + 19e9 Wei, not queues only / +7e9 / +12e9. hflat is not named. Slot Nodup stays on accepted_nodup.

Lot 110 proof cf20f77f4f5ef459484c4b75a02faaed7d37a19a (receipt 58f26044a1421de5da9eb802b3a687a264da6ead): Capella:458 / Gloas:1868 stamps the third payload's second SweepWithdrawal at start+18 (+= 1), not frozen at start+17. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 18 of indexedChain is that constructor. The three-payload chain is indexSeq start 19; cursor is start+19; items are items b1 ++ two-exited ++ two-exited; credits are queues + 31e9. total_count / dispatched_counts bind at 19 without naming hflat. Omit third (17 / start+17) / freeze third += 1 (start+18) / empty third (no second sweep) are mutants. Slot Nodup stays on accepted_nodup.

Lot 111 proof e094fd6acc0d27ca3f10d04d8e5a833a2b4072ca (receipt 2fdd2d405239f84dbcd13000cb7ebacb5c2f878e): fork.py:1118 ElCredit of the 19-chain is sequential create_ether of items b1 then two two-exited pairs, not a named hflat. Credits are not items b1 + 12e9 (omit third pair). Capella:452/480 stamps a fourth payload's first SweepWithdrawal at start+19. drop 19 is that FLAG head. Restart / 17-chain cursor / frozen +18 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not third second-sweep 1|FLAG. Empty fourth keeps length 19 and has no head. Slot Nodup stays on accepted_nodup.

Lot 112 proof 1d488e462360612ca9bd963685a349dc2ffa5710 (receipt 63da1d85e34240cd4b046eba41c32fdcb081986f): Capella:458 / Gloas:1868 stamps the fourth payload's second SweepWithdrawal at start+20 (+= 1), not frozen at start+19. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 20 of indexedChain is that constructor. The four-payload chain is indexSeq start 21; cursor is start+21; items are items b1 ++ three two-exited pairs; credits are queues + 43e9. total_count / dispatched_counts bind at 21 without naming hflat. Omit fourth (19 / start+19) / freeze fourth += 1 (start+20) / empty fourth (no second sweep) are mutants. Slot Nodup stays on accepted_nodup.

Lot 113 proof 56b4959cdb5cce2aaf18198a5c267065190ae893 (receipt 581b4ed1a9dc1c721a0f5adc83bffcc0b724e02e): fork.py:1118 ElCredit of the 21-chain is sequential create_ether of items b1 then three two-exited pairs, not a named hflat. Credits are not items b1 + 24e9 (omit fourth pair). Capella:452/480 stamps a fifth payload's first SweepWithdrawal at start+21. drop 21 is that FLAG head. Restart / 19-chain cursor / frozen +20 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not fourth second-sweep 1|FLAG. Empty fifth keeps length 21 and has no head. Slot Nodup stays on accepted_nodup.

Lot 114 proof 39e8c42e0df887a56d45053f63c407057d6aabaf (receipt 6b134d691a9e5dbf30efc0f74e5123f27669d037): Capella:458 / Gloas:1868 stamps the fifth payload's second SweepWithdrawal at start+22 (+= 1), not frozen at start+21. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 22 of indexedChain is that constructor. The five-payload chain is indexSeq start 23; cursor is start+23; items are items b1 ++ four two-exited pairs; credits are queues + 55e9. total_count / dispatched_counts bind at 23 without naming hflat. Omit fifth (21 / start+21) / freeze fifth += 1 (start+22) / empty fifth (no second sweep) are mutants. Slot Nodup stays on accepted_nodup.

Lot 115 proof 8de7e42b947d3e067059d13723661a63d2c430b6 (receipt 7fa922ad097421bf0cfdcec43eef6e2bbd967ca7): fork.py:1118 ElCredit of the 23-chain is sequential create_ether of items b1 then four two-exited pairs, not a named hflat. Credits are not items b1 + 36e9 (omit fifth pair). Capella:452/480 stamps a sixth payload's first SweepWithdrawal at start+23. drop 23 is that FLAG head. Restart / 21-chain cursor / frozen +22 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not fifth second-sweep 1|FLAG. Empty sixth keeps length 23 and has no head. Slot Nodup stays on accepted_nodup.

Lot 116 proof d48c1f0f6debc1567b9beba3a1ec1da0cd265072 (receipt 15f4021b821ccaef3eed6633aa10319cdd36adc0): Capella:458 / Gloas:1868 stamps the sixth payload's second SweepWithdrawal at start+24 (+= 1), not frozen at start+23. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 24 of indexedChain is that constructor. The six-payload chain is indexSeq start 25; cursor is start+25; items are items b1 ++ five two-exited pairs; credits are queues + 67e9. total_count / dispatched_counts bind at 25 without naming hflat. Omit sixth (23 / start+23) / freeze sixth += 1 (start+24) / empty sixth (no second sweep) / restart sixth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 117 proof d8a93bd022a267b60a880597fd872ed966673945 (receipt c1eb6ea249b297fcd012d34a50e60a1be73e3713): fork.py:1118 ElCredit of the 25-chain is sequential create_ether of items b1 then five two-exited pairs, not a named hflat. Capella:452/480 stamps a seventh payload's first SweepWithdrawal at start+25. drop 25 is that FLAG head. Restart / 23-chain cursor / frozen +24 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not sixth second-sweep 1|FLAG. Empty seventh keeps length 25 and has no head. Slot Nodup stays on accepted_nodup.

Lot 118 proof 0081449a075834cad4d44994ad1d21813c877646 (receipt f55ecbe9855cd97933948993b7a24b7bd1043839): Capella:458 / Gloas:1868 stamps the seventh payload's second SweepWithdrawal at start+26 (+= 1), not frozen at start+25. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 26 of indexedChain is that constructor. The seven-payload chain is indexSeq start 27; cursor is start+27; items are items b1 ++ six two-exited pairs; credits are queues + 79e9. total_count / dispatched_counts bind at 27 without naming hflat. Omit seventh (25 / start+25) / freeze seventh += 1 (start+26) / empty seventh (no second sweep) / restart seventh pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 119 proof f0efdc517678b0542d679e3f08229635b86c5770 (receipt 75e9c58ac7b2dd3ba07f7a2d85038e07193cfa16): fork.py:1118 ElCredit of the 27-chain is sequential create_ether of items b1 then six two-exited pairs, not a named hflat. Capella:452/480 stamps an eighth payload's first SweepWithdrawal at start+27. drop 27 is that FLAG head. Restart / 25-chain cursor / frozen +26 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not seventh second-sweep 1|FLAG. Empty eighth keeps length 27 and has no head. Slot Nodup stays on accepted_nodup.

Lot 120 proof 1243fa081815bfd3c13b64236af12bd572896e25 (receipt f5643388f5e1a10de9ec295c4043fe5289981717): Capella:458 / Gloas:1868 stamps the eighth payload's second SweepWithdrawal at start+28 (+= 1), not frozen at start+27. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 28 of indexedChain is that constructor. The eight-payload chain is indexSeq start 29; cursor is start+29; items are items b1 ++ seven two-exited pairs; credits are queues + 91e9. total_count / dispatched_counts bind at 29 without naming hflat. Omit eighth (27 / start+27) / freeze eighth += 1 (start+28) / empty eighth (no second sweep) / restart eighth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 121 proof 6f4fe081324e21e3e0f9faa4801d004d843c10e5 (receipt b380075d8bb3e0ccab79a68bee42d8c0f03c9bcf): fork.py:1118 ElCredit of the 29-chain is sequential create_ether of items b1 then seven two-exited pairs, not a named hflat. Capella:452/480 stamps a ninth payload's first SweepWithdrawal at start+29. drop 29 is that FLAG head. Restart / 27-chain cursor / frozen +28 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not eighth second-sweep 1|FLAG. Empty ninth keeps length 29 and has no head. Slot Nodup stays on accepted_nodup.

Lot 122 proof 5196a6ef0617f4f787df3a37630392cb4edcd305 (receipt 4522a8596ebb74d3f9a4d4ed3ec13196c5342181): Capella:458 / Gloas:1868 stamps the ninth payload's second SweepWithdrawal at start+30 (+= 1), not frozen at start+29. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 30 of indexedChain is that constructor. The nine-payload chain is indexSeq start 31; cursor is start+31; items are items b1 ++ eight two-exited pairs; credits are queues + 103e9. total_count / dispatched_counts bind at 31 without naming hflat. Omit ninth (29 / start+29) / freeze ninth += 1 (start+30) / empty ninth (no second sweep) / restart ninth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 123 proof 25348c3a9964b3446224cb892a25e07ba1fccc8a (receipt 4faa4bf63f2304e9f91d80db6f5c2e1e8c30d5d8): fork.py:1118 ElCredit of the 31-chain is sequential create_ether of items b1 then eight two-exited pairs, not a named hflat. Capella:452/480 stamps a tenth payload's first SweepWithdrawal at start+31. drop 31 is that FLAG head. Restart / 29-chain cursor / frozen +30 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not ninth second-sweep 1|FLAG. Empty tenth keeps length 31 and has no head. Slot Nodup stays on accepted_nodup.

Lot 124 proof 0b77f3a2b051e343e1f19885839d9210a5b5cdba (receipt eb093f4cecdaaa9d1230b158bba6db841b13f267): Capella:458 / Gloas:1868 stamps the tenth payload's second SweepWithdrawal at start+32 (+= 1), not frozen at start+31. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 32 of indexedChain is that constructor. The ten-payload chain is indexSeq start 33; cursor is start+33; items are items b1 ++ nine two-exited pairs; credits are queues + 115e9. total_count / dispatched_counts bind at 33 without naming hflat. Omit tenth (31 / start+31) / freeze tenth += 1 (start+32) / empty tenth (no second sweep) / restart tenth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 125 proof 432544f99183c6f6022f82cac53deeccd1f2e398 (receipt c01ec1b21add91dd2ae2c3308d266dd5cb977e4c): fork.py:1118 ElCredit of the 33-chain is sequential create_ether of items b1 then nine two-exited pairs, not a named hflat. Capella:452/480 stamps an eleventh payload's first SweepWithdrawal at start+33. drop 33 is that FLAG head. Restart / 31-chain cursor / frozen +32 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not tenth second-sweep 1|FLAG. Empty eleventh keeps length 33 and has no head. Slot Nodup stays on accepted_nodup.

Lot 126 proof c2a02880a92094d24a5b6aef7d2554d0644b21eb (receipt a991a348561ab1d4ca86beeeeeea829f8b41f67e): Capella:458 / Gloas:1868 stamps the eleventh payload's second SweepWithdrawal at start+34 (+= 1), not frozen at start+33. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 34 of indexedChain is that constructor. The eleven-payload chain is indexSeq start 35; cursor is start+35; items are items b1 ++ ten two-exited pairs; credits are queues + 127e9. total_count / dispatched_counts bind at 35 without naming hflat. Omit eleventh (33 / start+33) / freeze eleventh += 1 (start+34) / empty eleventh (no second sweep) / restart eleventh pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 127 proof 1e96adb69515f904d08a3d75f155d80702881f30 (receipt 0e036a564d962b0c4595a3ecba7faae8e309a2f0): fork.py:1118 ElCredit of the 35-chain is sequential create_ether of items b1 then ten two-exited pairs, not a named hflat. Capella:452/480 stamps a twelfth payload's first SweepWithdrawal at start+35. drop 35 is that FLAG head. Restart / 33-chain cursor / frozen +34 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not eleventh second-sweep 1|FLAG. Empty twelfth keeps length 35 and has no head. Slot Nodup stays on accepted_nodup.

Lot 128 proof b23373fb03160fe487db50e60416de1c18d70d8f (receipt 8a89db6b10eb1711e4741f231fc963972944d836): Capella:458 / Gloas:1868 stamps the twelfth payload's second SweepWithdrawal at start+36 (+= 1), not frozen at start+35. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 36 of indexedChain is that constructor. The twelve-payload chain is indexSeq start 37; cursor is start+37; items are items b1 ++ eleven two-exited pairs; credits are queues + 139e9. total_count / dispatched_counts bind at 37 without naming hflat. Omit twelfth (35 / start+35) / freeze twelfth += 1 (start+36) / empty twelfth (no second sweep) / restart twelfth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 129 proof 6c042f20e4b8fc73dfb3190d0b0ad99bf4852b80 (receipt 5330f5769a7ac326246041f065885010be5a5ea1): fork.py:1118 ElCredit of the 37-chain is sequential create_ether of items b1 then eleven two-exited pairs, not a named hflat. Capella:452/480 stamps a thirteenth payload's first SweepWithdrawal at start+37. drop 37 is that FLAG head. Restart / 35-chain cursor / frozen +36 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not twelfth second-sweep 1|FLAG. Empty thirteenth keeps length 37 and has no head. Slot Nodup stays on accepted_nodup.

Lot 130 proof 24a422c9abf43edad98d14162f22add2eae48426 (receipt b8bda5287d4f08b85e48e6b19c2b840010ff0f31): Capella:458 / Gloas:1868 stamps the thirteenth payload's second SweepWithdrawal at start+38 (+= 1), not frozen at start+37. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 38 of indexedChain is that constructor. The thirteen-payload chain is indexSeq start 39; cursor is start+39; items are items b1 ++ twelve two-exited pairs; credits are queues + 151e9. total_count / dispatched_counts bind at 39 without naming hflat. Omit thirteenth (37 / start+37) / freeze thirteenth += 1 (start+38) / empty thirteenth (no second sweep) / restart thirteenth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 131 proof 74c12ecfdf7fdf27cfbf763b50e6ae7bf8dd3033 (receipt fc2494d20b402c0b492e1d2e99ed259456c0e88d): fork.py:1118 ElCredit of the 39-chain is sequential create_ether of items b1 then twelve two-exited pairs, not a named hflat. Capella:452/480 stamps a fourteenth payload's first SweepWithdrawal at start+39. drop 39 is that FLAG head. Restart / 37-chain cursor / frozen +38 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not thirteenth second-sweep 1|FLAG. Empty fourteenth keeps length 39 and has no head. Slot Nodup stays on accepted_nodup.

Lot 132 proof 4f7b389d7cd3d510872dedf3d08de65270a69038 (receipt c2b3ab259168dc7a506c3790c64ca6440ed920fa): Capella:458 / Gloas:1868 stamps the fourteenth payload's second SweepWithdrawal at start+40 (+= 1), not frozen at start+39. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 40 of indexedChain is that constructor. The fourteen-payload chain is indexSeq start 41; cursor is start+41; items are items b1 ++ thirteen two-exited pairs; credits are queues + 163e9. total_count / dispatched_counts bind at 41 without naming hflat. Omit fourteenth (39 / start+39) / freeze fourteenth += 1 (start+40) / empty fourteenth (no second sweep) / restart fourteenth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 133 proof e1fc59775f956d9be58baa506d5aac5d2705a6b8 (receipt 8d8c7616cca2ea7efeb3ce650bda517bc80d7949): fork.py:1118 ElCredit of the 41-chain is sequential create_ether of items b1 then thirteen two-exited pairs, not a named hflat. Capella:452/480 stamps a fifteenth payload's first SweepWithdrawal at start+41. drop 41 is that FLAG head. Restart / 39-chain cursor / frozen +40 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not fourteenth second-sweep 1|FLAG. Empty fifteenth keeps length 41 and has no head. Slot Nodup stays on accepted_nodup.

Lot 134 proof cc6ab2b8a57ede409241da5c2c64123c1e5eed69 (receipt 80c476c78c029c40870b753ed844b6f6f3f4d316): Capella:458 / Gloas:1868 stamps the fifteenth payload's second SweepWithdrawal at start+42 (+= 1), not frozen at start+41. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 42 of indexedChain is that constructor. The fifteen-payload chain is indexSeq start 43; cursor is start+43; items are items b1 ++ fourteen two-exited pairs; credits are queues + 175e9. total_count / dispatched_counts bind at 43 without naming hflat. Omit fifteenth (41 / start+41) / freeze fifteenth += 1 (start+42) / empty fifteenth (no second sweep) / restart fifteenth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 135 proof 6740d525e8cfa9c596b2ded7d94d335aa6ccc26c (receipt 3513963cbdea572b7e4ce87c8a1f1b481cc107c4): fork.py:1118 ElCredit of the 43-chain is sequential create_ether of items b1 then fourteen two-exited pairs, not a named hflat. Capella:452/480 stamps a sixteenth payload's first SweepWithdrawal at start+43. drop 43 is that FLAG head. Restart / 41-chain cursor / frozen +42 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not fifteenth second-sweep 1|FLAG. Empty sixteenth keeps length 43 and has no head. Slot Nodup stays on accepted_nodup.

Lot 136 proof a3c34872e023dff619602a02bdd10311796256a7 (receipt a8906f6d492014d3285ecfba7eee7336ed941803): Capella:458 / Gloas:1868 stamps the sixteenth payload's second SweepWithdrawal at start+44 (+= 1), not frozen at start+43. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 44 of indexedChain is that constructor. The sixteen-payload chain is indexSeq start 45; cursor is start+45; items are items b1 ++ fifteen two-exited pairs; credits are queues + 187e9. total_count / dispatched_counts bind at 45 without naming hflat. Omit sixteenth (43 / start+43) / freeze sixteenth += 1 (start+44) / empty sixteenth (no second sweep) / restart sixteenth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 137 proof 15c317f897ad0439ee5cd4c6d32842368387a74e (receipt 365e0a35bcaf0053d8cf7657fc11a02b71a24eaa): fork.py:1118 ElCredit of the 45-chain is sequential create_ether of items b1 then fifteen two-exited pairs, not a named hflat. Capella:452/480 stamps a seventeenth payload's first SweepWithdrawal at start+45. drop 45 is that FLAG head. Restart / 43-chain cursor / frozen +44 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not sixteenth second-sweep 1|FLAG. Empty seventeenth keeps length 45 and has no head. Slot Nodup stays on accepted_nodup.

Lot 138 proof ab189bd2ea62d0f767c016efcf3cb040edda6893 (receipt 957453cfc1d193883ae1c157336a416c04a7a26f): Capella:458 / Gloas:1868 stamps the seventeenth payload's second SweepWithdrawal at start+46 (+= 1), not frozen at start+45. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 46 of indexedChain is that constructor. The seventeen-payload chain is indexSeq start 47; cursor is start+47; items are items b1 ++ sixteen two-exited pairs; credits are queues + 199e9. total_count / dispatched_counts bind at 47 without naming hflat. Omit seventeenth (45 / start+45) / freeze seventeenth += 1 (start+46) / empty seventeenth (no second sweep) / restart seventeenth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 139 proof 6634194d962e80d4f9761cd153636cacc2a36a2e (receipt e2304743072ce67b5af96232e60e8d0d43b65392): fork.py:1118 ElCredit of the 47-chain is sequential create_ether of items b1 then sixteen two-exited pairs, not a named hflat. Capella:452/480 stamps an eighteenth payload's first SweepWithdrawal at start+47. drop 47 is that FLAG head. Restart / 45-chain cursor / frozen +46 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not seventeenth second-sweep 1|FLAG. Empty eighteenth keeps length 47 and has no head. Slot Nodup stays on accepted_nodup.

Lot 140 proof 480c719a77c131b5b1312e74b875302fbac71b76 (receipt 1e6351f707d47571913dae460b4c37d37422f2de): Capella:458 / Gloas:1868 stamps the eighteenth payload's second SweepWithdrawal at start+48 (+= 1), not frozen at start+47. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 48 of indexedChain is that constructor. The eighteen-payload chain is indexSeq start 49; cursor is start+49; items are items b1 ++ seventeen two-exited pairs; credits are queues + 211e9. total_count / dispatched_counts bind at 49 without naming hflat. Omit eighteenth (47 / start+47) / freeze eighteenth += 1 (start+48) / empty eighteenth (no second sweep) / restart eighteenth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 141 proof 9e8ae022d0b4934050c3ecf0ab219e93d7dfe61f (receipt ab0697a2cdcf5e84338c5d9bfbad3100f3db737e): fork.py:1118 ElCredit of the 49-chain is sequential create_ether of items b1 then seventeen two-exited pairs, not a named hflat. Capella:452/480 stamps a nineteenth payload's first SweepWithdrawal at start+49. drop 49 is that FLAG head. Restart / 47-chain cursor / frozen +48 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not eighteenth second-sweep 1|FLAG. Empty nineteenth keeps length 49 and has no head. Slot Nodup stays on accepted_nodup.

Lot 142 proof 6018ef68b23b0acfb9fea7b1d5e2a665aabe81a5 (receipt 7ae1ed81cbb7904975503cd1b26c002bc4e6f73e): Capella:458 / Gloas:1868 stamps the nineteenth payload's second SweepWithdrawal at start+50 (+= 1), not frozen at start+49. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 50 of indexedChain is that constructor. The nineteen-payload chain is indexSeq start 51; cursor is start+51; items are items b1 ++ eighteen two-exited pairs; credits are queues + 223e9. total_count / dispatched_counts bind at 51 without naming hflat. Omit nineteenth (49 / start+49) / freeze nineteenth += 1 (start+50) / empty nineteenth (no second sweep) / restart nineteenth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 143 proof 20e3431dc75f75cca1ba86fccefd891062d6f024 (receipt 27b1d431da017df99c05e70d1d40ca8ae90c41cc): fork.py:1118 ElCredit of the 51-chain is sequential create_ether of items b1 then eighteen two-exited pairs, not a named hflat. Capella:452/480 stamps a twentieth payload's first SweepWithdrawal at start+51. drop 51 is that FLAG head. Restart / 49-chain cursor / frozen +50 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not nineteenth second-sweep 1|FLAG. Empty twentieth keeps length 51 and has no head. Slot Nodup stays on accepted_nodup.

Lot 144 proof c7bb671488e1ad1a0dd97e506eb3f033fb1cca5b (receipt e96772032ba288efe9e7b271f370fefa42ac3160): Capella:458 / Gloas:1868 stamps the twentieth payload's second SweepWithdrawal at start+52 (+= 1), not frozen at start+51. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 52 of indexedChain is that constructor. The twenty-payload chain is indexSeq start 53; cursor is start+53; items are items b1 ++ nineteen two-exited pairs; credits are queues + 235e9. total_count / dispatched_counts bind at 53 without naming hflat. Omit twentieth (51 / start+51) / freeze twentieth += 1 (start+52) / empty twentieth (no second sweep) / restart twentieth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 145 proof ffafa148ca096d7932face80a243cbe23195e37d (receipt c38182e199582b2ea8959a117dc3cc4b35c23522): fork.py:1118 ElCredit of the 53-chain is sequential create_ether of items b1 then nineteen two-exited pairs, not a named hflat. Capella:452/480 stamps a twenty-first payload's first SweepWithdrawal at start+53. drop 53 is that FLAG head. Restart / 51-chain cursor / frozen +52 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not twentieth second-sweep 1|FLAG. Empty twenty-first keeps length 53 and has no head. Slot Nodup stays on accepted_nodup.

Lot 146 proof 3f2f169bc2232ca2023d8f37b169b9c0c09a1743 (receipt b209267915304c15ac098357a18af21028274e3c): Capella:458 / Gloas:1868 stamps the twenty-first payload's second SweepWithdrawal at start+54 (+= 1), not frozen at start+53. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 54 of indexedChain is that constructor. The twenty-one-payload chain is indexSeq start 55; cursor is start+55; items are items b1 ++ twenty two-exited pairs; credits are queues + 247e9. total_count / dispatched_counts bind at 55 without naming hflat. Omit twenty-first (53 / start+53) / freeze twenty-first += 1 (start+54) / empty twenty-first (no second sweep) / restart twenty-first pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 147 proof b2a7fc6047548876b40318e0c58882cd3af46e54 (receipt df9dfd23803e2bbc53f9499be1c6c330c2834dd1): fork.py:1118 ElCredit of the 55-chain is sequential create_ether of items b1 then twenty two-exited pairs, not a named hflat. Capella:452/480 stamps a twenty-second payload's first SweepWithdrawal at start+55. drop 55 is that FLAG head. Restart / 53-chain cursor / frozen +54 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not twenty-first second-sweep 1|FLAG. Empty twenty-second keeps length 55 and has no head. Slot Nodup stays on accepted_nodup.

Lot 148 proof 8569f031e5da7e13b7cb46ab8442400d7b56c287 (receipt 19bd778327242ecb1b9275bbbdbe5e4dc8f91b46): Capella:458 / Gloas:1868 stamps the twenty-second payload's second SweepWithdrawal at start+56 (+= 1), not frozen at start+55. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 56 of indexedChain is that constructor. The twenty-two-payload chain is indexSeq start 57; cursor is start+57; items are items b1 ++ twenty-one two-exited pairs; credits are queues + 259e9. total_count / dispatched_counts bind at 57 without naming hflat. Omit twenty-second (55 / start+55) / freeze twenty-second += 1 (start+56) / empty twenty-second (no second sweep) / restart twenty-second pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 149 proof 0c9598011ed558f94ff404acd50da070187c55a2 (receipt 2cb02b09b4f7914959256cfa6a68d43c85fd9a1f): fork.py:1118 ElCredit of the 57-chain is sequential create_ether of items b1 then twenty-one two-exited pairs, not a named hflat. Capella:452/480 stamps a twenty-third payload's first SweepWithdrawal at start+57. drop 57 is that FLAG head. Restart / 55-chain cursor / frozen +56 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not twenty-second second-sweep 1|FLAG. Empty twenty-third keeps length 57 and has no head. Slot Nodup stays on accepted_nodup.

Lot 150 proof 7491d32093ae2814bd8c94e810ea5bc806646363 (receipt 8174a5d0e4cf76234b568a1960a3fba5b3eee070): Capella:458 / Gloas:1868 stamps the twenty-third payload's second SweepWithdrawal at start+58 (+= 1), not frozen at start+57. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 58 of indexedChain is that constructor. The twenty-three-payload chain is indexSeq start 59; cursor is start+59; items are items b1 ++ twenty-two two-exited pairs; credits are queues + 271e9. total_count / dispatched_counts bind at 59 without naming hflat. Omit twenty-third (57 / start+57) / freeze twenty-third += 1 (start+58) / empty twenty-third (no second sweep) / restart twenty-third pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 151 proof dab008dd8b604f56462f9eecae19a313c66e5ff2 (receipt d93815ffd76a5a47a35d1c25cb106da97ec46f84): fork.py:1118 ElCredit of the 59-chain is sequential create_ether of items b1 then twenty-two two-exited pairs, not a named hflat. Capella:452/480 stamps a twenty-fourth payload's first SweepWithdrawal at start+59. drop 59 is that FLAG head. Restart / 57-chain cursor / frozen +58 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not twenty-third second-sweep 1|FLAG. Empty twenty-fourth keeps length 59 and has no head. Slot Nodup stays on accepted_nodup.

Lot 152 proof 61e134afc97f9c75cba2700c5031b171a6201f4a (receipt f78959a17a0d822866e58525234bf8ff44d71bd2): Capella:458 / Gloas:1868 stamps the twenty-fourth payload's second SweepWithdrawal at start+60 (+= 1), not frozen at start+59. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 60 of indexedChain is that constructor. The twenty-four-payload chain is indexSeq start 61; cursor is start+61; items are items b1 ++ twenty-three two-exited pairs; credits are queues + 283e9. total_count / dispatched_counts bind at 61 without naming hflat. Omit twenty-fourth (59 / start+59) / freeze twenty-fourth += 1 (start+60) / empty twenty-fourth (no second sweep) / restart twenty-fourth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 153 proof d88ae911a19d5fd6e727a5f90b74a2d9156405c7 (receipt 8cc4e2f32c705d61fbd994490a192261e5244b5f): fork.py:1118 ElCredit of the 61-chain is sequential create_ether of items b1 then twenty-three two-exited pairs, not a named hflat. Capella:452/480 stamps a twenty-fifth payload's first SweepWithdrawal at start+61. drop 61 is that FLAG head. Restart / 59-chain cursor / frozen +60 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not twenty-fourth second-sweep 1|FLAG. Empty twenty-fifth keeps length 61 and has no head. Slot Nodup stays on accepted_nodup.

Lot 154 proof 37a342ebc552cafc12c0a60f57b17b4c807fb64e (receipt a186df916f641dd6e3df3383b04627fab0a945c8): Capella:458 / Gloas:1868 stamps the twenty-fifth payload's second SweepWithdrawal at start+62 (+= 1), not frozen at start+61. Validator is 1|FLAG, not this payload's first FLAG and not raw 1. drop 62 of indexedChain is that constructor. The twenty-five-payload chain is indexSeq start 63; cursor is start+63; items are items b1 ++ twenty-four two-exited pairs; credits are queues + 295e9. total_count / dispatched_counts bind at 63 without naming hflat. Omit twenty-fifth (61 / start+61) / freeze twenty-fifth += 1 (start+62) / empty twenty-fifth (no second sweep) / restart twenty-fifth pair at 0 are mutants. Slot Nodup stays on accepted_nodup.

Lot 155 proof 4ca1c777c099b04011dc715df8f7c573eecae9ff (receipt ee6bcf0a67f24e978e5b4a15808852b931b2655d): fork.py:1118 ElCredit of the 63-chain is sequential create_ether of items b1 then twenty-four two-exited pairs, not a named hflat. Capella:452/480 stamps a twenty-sixth payload's first SweepWithdrawal at start+63. drop 63 is that FLAG head. Restart / 61-chain cursor / frozen +62 / Gloas:2016 visits=2 are mutants. Validator is not first-payload 1|FLAG and not twenty-fifth second-sweep 1|FLAG. Empty twenty-sixth keeps length 63 and has no head. Slot Nodup stays on accepted_nodup.

Lot 156 proof `c7b0e40d660

Open in Web Open in Cursor 

@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.
To continue using code reviews, add credits to your account and enable them for code reviews in your settings.

cursoragent and others added 29 commits September 11, 2026 14:50
The swap-or-not bit is shuffleBitOf of the shared bucket digest.
Partners share that cached source; hashing Uint32(position) is a
refutable mutant at position 256.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
The cache preimage includes uint_to_bytes(Uint8(current_round)).
Distinct residues yield distinct preimages; the 90 archived rounds
are Nodup as Uint8; a 256-round mutant wraps onto round 0.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
The archived loop allocates a fresh dict each round. A cache filled
at round 0 is not well-formed at round 1 unless the hash identifies
the two Uint8 preimages; a stale hit returns the wrong digest.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
shuffleStep is the insert-if-absent of a fresh dict. The 90-round
walk starts with an independent round-0 step; reusing round 0 for
the second step is a refutable mutant.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
The bucket preimage is the pivot preimage plus uint_to_bytes(Uint32).
They never coincide; hashing the longer string is a refutable mutant.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
digest[0:8] determines the pivot; a suffix byte is ignored.
[8:16] and [24:32] are refutable mutants of the archived slice.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Derive ProtocolWithdrawalCount.total_count from AcceptedBlocks and the
Gloas:1999 parentFull early return: listed empty parents contribute 0
computed items, the accepted sum is the parentFull-only sum, and that
sum is at most 16 times the number of full parents. Slot uniqueness is
discharged from the guards, not named as the consumer Nodup premise.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Extract compute_epoch_at_slot / get_current_epoch and the inherited
process_eth1_data_reset / process_slashings_reset bodies. They do not
write the clock. A clock-preserving process_epoch step cannot be an
AcceptedBlocks singleton, so it contributes 0 items to total_count.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Extract process_historical_roots_update / process_historical_summaries_update
(append only when next_epoch % 256 == 0; hash_tree_root named) and the
participation rotations (always, not gated). A //32-omitting mutant misses
the epoch-255 append. These helpers accept no withdrawal payload.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Extract phase0/Electra process_effective_balance_updates (asymmetric
hysteresis, increment floor, phase0 vs compounding cap) and Altair
process_sync_committee_updates (rotate iff next_epoch % 256 == 0;
get_next_sync_committee named). Kill-lines refute always-update,
phase0-cap-on-compounding, and always-rotate mutants. These helpers
accept no withdrawal payload.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Extract Gloas process_pending_deposits (16-deposit cap, finalized
slot, dropped Electra Eth1-bridge gate, postpone/churn leftover;
apply_pending_deposit named), process_builder_pending_payments
(first-32 / 6/10 per-slot quorum / rotate), and Electra vs phase0
activation-queue eligibility. Kill-lines refute cap-ignore,
always-leftover, all-64 credit, no-slot quorum, and phase0 ==32e9
on compounding 40e9. These helpers accept no withdrawal payload.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
cursoragent and others added 8 commits September 12, 2026 04:34
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Capella:458 / Gloas:1868 stamps thirtyThirdPayloadContinueSweepSecond
at start+78 (+= 1). The 33-payload chain is indexSeq start 79; items
are items b1 plus 32 two-exited pairs; credits items +384e9 / queues
+391e9. total_count and dispatched_counts bind at 79 without naming
hflat.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
@cursor cursor Bot changed the title Additive ProtocolSlotExtraction / ProtocolWithdrawalExtraction Additive slot/withdrawal extraction (ProtocolSlotExtraction / ProtocolWithdrawalExtraction) Sep 12, 2026
cursoragent and others added 8 commits September 12, 2026 05:23
fork.py:1118 ElCredit of the 79-chain is sequential create_ether of
items b1 then thirty-two two-exited pairs, not a named hflat.
Capella:452/480 stamps thirtyFourthPayloadContinueSweep at start+79.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Capella:458 / Gloas:1868 stamps thirtyFourthPayloadContinueSweepSecond
at start+80 (+= 1). The 34-payload chain is indexSeq start 81; items
are items b1 plus 33 two-exited pairs; credits items +396e9 / queues
+403e9. total_count and dispatched_counts bind at 81 without naming
hflat.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
fork.py:1118 ElCredit of the 81-chain is sequential create_ether of
items b1 then thirty-three two-exited pairs, not a named hflat.
Capella:452/480 stamps thirtyFifthPayloadContinueSweep at start+81.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Capella:458 / Gloas:1868 stamps thirtyFifthPayloadContinueSweepSecond
at start+82 (+= 1). The 35-payload chain is indexSeq start 83; items
are items b1 plus 34 two-exited pairs; credits items +408e9 / queues
+415e9. total_count and dispatched_counts bind at 83 without naming
hflat.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
@cursor cursor Bot changed the title Additive slot/withdrawal extraction (ProtocolSlotExtraction / ProtocolWithdrawalExtraction) Additive slot/withdrawal extraction (lots 44, 50–174) Sep 12, 2026
cursoragent and others added 10 commits September 12, 2026 06:04
fork.py:1118 ElCredit of the 83-chain is sequential create_ether of
items b1 then thirty-four two-exited pairs, not a named hflat.
Capella:452/480 stamps thirtySixthPayloadContinueSweep at start+83.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
ElCredit of the 83-chain is sequential create_ether of items b1
then thirty-four two-exited pairs. Capella:452/480 stamps
thirtySixthPayloadContinueSweep at start+83.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Capella:458 / Gloas:1868 stamps thirtySixthPayloadContinueSweepSecond
at start+84 (+= 1). The 36-payload chain is indexSeq start 85; items
are items b1 plus 35 two-exited pairs; credits items +420e9 / queues
+427e9. total_count and dispatched_counts bind at 85 without naming
hflat.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Capella:458 / Gloas:1868 stamps thirtySixthPayloadContinueSweepSecond
at start+84. The 36-payload chain is indexSeq start 85.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
…t+85

fork.py:1118 ElCredit of the 85-chain is sequential create_ether of
items b1 then thirty-five two-exited pairs, not a named hflat.
Capella:452/480 stamps thirtySeventhPayloadContinueSweep at start+85.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
ElCredit of the 85-chain is sequential create_ether of items b1
then thirty-five two-exited pairs. Capella:452/480 stamps
thirtySeventhPayloadContinueSweep at start+85.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Capella:458 / Gloas:1868 stamps thirtySeventhPayloadContinueSweepSecond
at start+86 (+= 1). The 37-payload chain is indexSeq start 87; items
are items b1 plus 36 two-exited pairs; credits items +432e9 / queues
+439e9. total_count and dispatched_counts bind at 87 without naming
hflat.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
Capella:458 / Gloas:1868 stamps thirtySeventhPayloadContinueSweepSecond
at start+86. The 37-payload chain is indexSeq start 87.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
fork.py:1118 ElCredit of the 87-chain is sequential create_ether of
items b1 then thirty-six two-exited pairs, not a named hflat.
Capella:452/480 stamps thirtyEighthPayloadContinueSweep at start+87.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
ElCredit of the 87-chain is sequential create_ether of items b1
then thirty-six two-exited pairs. Capella:452/480 stamps
thirtyEighthPayloadContinueSweep at start+87.

Co-authored-by: Thomas Marchand <thomas@lfglabs.dev>
@Th0rgal

Th0rgal commented Sep 12, 2026

Copy link
Copy Markdown
Member Author

Closing unmerged. Lots 1-43 were reviewed and merged (in scope: slot uniqueness / withdrawal counts consumed by ProtocolWithdrawalCount). Lots 44+ transcribe consensus-layer functions outside the published EIP-8282 audit boundary (contract bytecode + three agreed guarantees) and lots 104+ are repeated per-sweep stamps; not imported by any public consumer theorem. Branch kept for the record.

@Th0rgal Th0rgal closed this Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants