
> vellin-distributions@0.1.0 test
> node --test test/*.test.mjs

✔ net costs then exact 30/30/40 (5.117375ms)
✔ negative and costs exceeding pnl create no allocation (4.857542ms)
✔ reject floats, unsafe JS numbers, unsigned negatives and overflow (4.93ms)
✔ largest remainder conserves every wei and ties are deterministic (218.696292ms)
✔ allocation conservation across 2000 varying supplies (5178.88825ms)
✔ exclusions and zero supply never divert holder money to team (0.797625ms)
✔ real StandardMerkleTree proofs validate with exact allocations (144.587917ms)
✔ proofs bind to account amount epoch chain and distributor (268.0955ms)
✔ tampered report fields and commitments rejected (18.223ms)
✔ unapproved policies, reports and wrong snapshot identity fail closed (0.534791ms)
✔ zero profit root is empty and no synthetic recipients (45.314917ms)
✔ snapshot balances must conserve the verified supply, including excluded wallets (8.372292ms)
✔ restart reads processed claims onchain and never repeats them (93.388875ms)
✔ unconfigured launch addresses rejected (18.226625ms)
✔ retry plans deduplicate team/holders and skip fresh or empty credits (16.028125ms)
✔ zero buyback reserve does not require an oracle quote or fresh floor (0.231917ms)
✔ deployment identity and snapshot/evidence validation fail closed (2.381708ms)
✔ JS-generated vector matches Solidity interoperability fixture (7.722834ms)
✔ reconstructs actual Transfer semantics including self transfers and burns (30.329959ms)
✔ missing, duplicate or removed transfers fail instead of estimating (2.17525ms)
✔ UTC boundary is last confirmed block before midnight (0.488584ms)
✔ prepare-only path never sends broadcast or invokes an unfunded keeper (1148.490042ms)
✔ restart reuses source and derives delivery from chain, exports despite deferred buyback (468.814583ms)
✔ source changes after prepare fail before any further transaction (638.612791ms)
✔ unapproved or unclosed reports never start the pipeline (327.612459ms)
✔ funding failure prevents keeper and status export (280.709833ms)
✔ retained epochs share one buyback attempt per invocation (1603.201166ms)
✔ concurrent operators cannot share the same queue and release occurs after failure (442.606125ms)
✔ snapshot verifies balances and supply at the final closed block, never latest (484.726042ms)
✔ RPC chain mismatch, absent token and missing archive fail without latest fallback (248.948833ms)
✔ omitted holders, incorrect balances and nonstandard supply reject the snapshot (165.74875ms)
✔ reorg after replay rejects a previously matching snapshot (32.585292ms)
✔ funding rechecks hash, UTC boundary and confirmations after preparation (46.870375ms)
✔ keeper stops on runtime substitution, changed roles, policy, path or network (95.440292ms)
ℹ tests 34
ℹ suites 0
ℹ pass 34
ℹ fail 0
ℹ cancelled 0
ℹ skipped 0
ℹ todo 0
ℹ duration_ms 16192.420333
