Ledger oraclepool + pending + paid + Reserve fee = in; ±1 unit breaks it.pool+pending+paid+fee= inexpected values from observed inputs + payouts only81 · 5 · 10 · 5 ≠ 100 → detected
Pool flow24 seeded add / stage / withdraw steps; only dust rejections tolerated.ASAWS✗AW…→ 10,000 bpsadds, completions, withdrawals each > 0seeding deposit must mint
Swap flowPool + Reserve fee conserved both ways; LP units fixed.12 swaps, alternating RUNE↔ETHevery third split in 3 sub-swaps (swapper only)ETH→ETH rejected, no trace
Persisted streamV2 stream via the advanced queue; State.In/Out reconciled each block.blk 1blk 2blk 3blk 4 → 1 outboundblk 5 · no repeatno outbound before the last sub-swap
Pending liabilitiesStaged deposit refunds once; native ADD lands as pending.staged RUNE refunded once, repeat errorsaccount −x · Asgard +x · pool+LP pending xseed 15: 664 units × 1 bps → reject, no change
Refund obligationOne bounded outbound across the whole TxOutDelayMax window.1 outbound✗ retrynow+17,280 blocksvault DOGE unchanged until observed
Vault transferRetiring + active Asgard total survives keeper round-trips.retiring −moveactive +movesum = initialbookkeeping only · no migrate outbound
Seeds + CISeeds 1,2,3,15 by default; 32-seed scheduled deep job.12315fast = 4 · campaign = 32 · SEEDS ≤ 256