mirror of
https://github.com/jmcorgan/fips.git
synced 2026-10-06 11:38:24 +00:00
Nine files conflicted over fifteen hunks. Most were adjacent additions and resolved as keep-both, but two of the fixes could not be replayed because next has restructured the code they were written into, so they were re-derived instead. 0164 could not be replayed because next changed the Ethernet beacon wire format. parse_beacon returns bool there against Option<XOnlyPublicKey> on the other two lines, and next's beacon is five bytes carrying no key, so the bound, its drop counter and its four tests are rewritten against the pubkey-free signature. next's own BEACON_SIZE == 5 pin is kept; taking master's side of that hunk would have deleted it. 0161 could not be replayed because next has none of EstablishView, Msg1Waiver or the inline msg1 arm the dampener was written into, having moved the establish classification into Fmp::establish_inbound. The gate therefore lands in the sans-IO core rather than in the driver: the snapshot gains peering_idle_ms and epoch_restart_dampened, the core returns a new InboundReject::EpochRestartDampened, and the shell supplies the two observations and stamps the dampener on acceptance only. Same fix, re-derived rather than replayed. That one is why the merge is not a text merge. Keeping master's side of the src/node/mod.rs hunks alone gave a tree that compiled and passed with the dampener field and constant present and nothing reading them; the dead-code warnings were the only thing that said so, and clippy -D warnings is what would have caught it. Three of master's new tests referenced APIs next has changed and were adapted: LookupRequest carries no coordinates on next, and ReceiverReport has no max_burst_loss, where burst_loss_count already asserts the same property. All twenty-one fixes were then checked present on next by construct rather than inferred from the merge succeeding.