Fresh public source ZIP reproduction; Solidity fuzz 512 runs; internal verification. added 50 packages, and audited 51 packages in 2s 15 packages are looking for funding run `npm fund` for details found 0 vulnerabilities Compiling 18 files with Solc 0.8.30 Solc 0.8.30 finished in 2.04s Compiler run successful! Ran 1 test for test/VellinStateful.t.sol:VellinStatefulTest [PASS] testFuzzInterleavedEpochsAndFailures(uint256) (runs: 512, μ: 35811148, ~: 34666172) Suite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.45s (1.45s CPU time) Ran 37 tests for test/VellinDistributor.t.sol:VellinDistributorTest [PASS] testAuthorizedRouterCallbackCannotReenterBuyback() (gas: 3067030) [PASS] testBatchCapAndNoDirectDeposit() (gas: 151061) [PASS] testBatchRetryIsolatesPersistentFailureFromRecovery() (gas: 3101094) [PASS] testBatchRetryRecoversAfterCooldownAndNeverDuplicates() (gas: 816940) [PASS] testBuybackAuthSlippageDeadlineAndReserve() (gas: 569454) [PASS] testBuybackFailureRollsBackOnlyBurn() (gas: 600873) [PASS] testBuybackOnlyUsesReservedSlice() (gas: 630329) [PASS] testCannotStealCredit() (gas: 376028) [PASS] testConstructorRejectsMissingCodePathPolicyAndBurnTeam() (gas: 2741223) [PASS] testFuzzEndToEndConservation(uint96) (runs: 512, μ: 600802, ~: 600703) [PASS] testFuzzSplitConserves(uint128,uint128,uint128) (runs: 512, μ: 7496, ~: 7178) [PASS] testJavaScriptMerkleInteroperability() (gas: 35824) [PASS] testKeeperRotationRevokesOldExecutorAndRejectsZero() (gas: 550825) [PASS] testLateHolderStillPaidAfterNextDailySettlement() (gas: 1008302) [PASS] testMaximumBatchOfGasBurnersRetainsAllCreditsAndBoundsGas() (gas: 18772723) [PASS] testNegativeAndCostExcessDaysPayZero() (gas: 306189) [PASS] testNetAndSplit() (gas: 380289) [PASS] testNoDuplicateOrFutureDay() (gas: 431269) [PASS] testNumericExtremesAndCostOverflowFailClosed() (gas: 22107) [PASS] testOnlyOwnerFunds() (gas: 53354) [PASS] testOwnershipRequiresAcceptanceAndRenunciationCannotAbandonFunds() (gas: 227713) [PASS] testPauseKeepsExistingEntitlementsAccessible() (gas: 707084) [PASS] testPausePreventsNewFundingButCanBeLifted() (gas: 493578) [PASS] testProofCannotCrossChainDomain() (gas: 395726) [PASS] testRecipientFailureRetainsCreditAndOtherHolderPaid() (gas: 936134) [PASS] testReentrancyBlocked() (gas: 745705) [PASS] testRejectWrongFundingAndRoot() (gas: 109376) [PASS] testRejectedRedirectRevertsWholeClaimWithoutLosingEntitlement() (gas: 775183) [PASS] testRetryBatchLimits() (gas: 75985) [PASS] testReturndataBombDoesNotBlockBatch() (gas: 588403) [PASS] testRobinhoodArbSysReadFailureFailsClosed() (gas: 63574) [PASS] testRobinhoodRejectsCurrentOrFutureL2Snapshot() (gas: 64820) [PASS] testRobinhoodUsesL2HeightInsteadOfParentNumber() (gas: 2861866) [PASS] testSelfClaimCanRedirectAndCannotDoubleClaim() (gas: 498203) [PASS] testTeamFailureDoesNotBlockEpochOrHolders() (gas: 2840540) [PASS] testTwoHoldersAndReplay() (gas: 703534) [PASS] testWrongAccountAmountDayAndDeploymentRejected() (gas: 3007317) Suite result: ok. 37 passed; 0 failed; 0 skipped; finished in 1.45s (1.52s CPU time) Ran 2 test suites in 1.46s (2.91s CPU time): 38 tests passed, 0 failed, 0 skipped (38 total tests) > vellin-distributions@0.1.0 test > node --test test/*.test.mjs ✔ net costs then exact 30/30/40 (1.300958ms) ✔ negative and costs exceeding pnl create no allocation (0.162583ms) ✔ reject floats, unsafe JS numbers, unsigned negatives and overflow (0.222416ms) ✔ largest remainder conserves every wei and ties are deterministic (10.704209ms) ✔ allocation conservation across 2000 varying supplies (261.742375ms) ✔ exclusions and zero supply never divert holder money to team (0.672667ms) ✔ real StandardMerkleTree proofs validate with exact allocations (13.397208ms) ✔ proofs bind to account amount epoch chain and distributor (12.252ms) ✔ tampered report fields and commitments rejected (5.828416ms) ✔ unapproved policies, reports and wrong snapshot identity fail closed (0.416291ms) ✔ zero profit root is empty and no synthetic recipients (0.826458ms) ✔ snapshot balances must conserve the verified supply, including excluded wallets (1.322125ms) ✔ restart reads processed claims onchain and never repeats them (6.6975ms) ✔ unconfigured launch addresses rejected (0.243709ms) ✔ retry plans deduplicate team/holders and skip fresh or empty credits (0.784208ms) ✔ zero buyback reserve does not require an oracle quote or fresh floor (0.171333ms) ✔ deployment identity and snapshot/evidence validation fail closed (2.220416ms) ✔ JS-generated vector matches Solidity interoperability fixture (2.500958ms) ✔ reconstructs actual Transfer semantics including self transfers and burns (6.489ms) ✔ missing, duplicate or removed transfers fail instead of estimating (1.133791ms) ✔ UTC boundary is last confirmed block before midnight (0.301959ms) ✔ prepare-only path never sends broadcast or invokes an unfunded keeper (48.875208ms) ✔ restart reuses source and derives delivery from chain, exports despite deferred buyback (36.006708ms) ✔ source changes after prepare fail before any further transaction (26.175625ms) ✔ unapproved or unclosed reports never start the pipeline (14.950041ms) ✔ funding failure prevents keeper and status export (43.28625ms) ✔ retained epochs share one buyback attempt per invocation (92.725167ms) ✔ concurrent operators cannot share the same queue and release occurs after failure (15.19725ms) ✔ snapshot verifies balances and supply at the final closed block, never latest (21.620791ms) ✔ RPC chain mismatch, absent token and missing archive fail without latest fallback (3.65625ms) ✔ omitted holders, incorrect balances and nonstandard supply reject the snapshot (3.231666ms) ✔ reorg after replay rejects a previously matching snapshot (1.631875ms) ✔ funding rechecks hash, UTC boundary and confirmations after preparation (0.322167ms) ✔ keeper stops on runtime substitution, changed roles, policy, path or network (4.622959ms) ℹ tests 34 ℹ suites 0 ℹ pass 34 ℹ fail 0 ℹ cancelled 0 ℹ skipped 0 ℹ todo 0 ℹ duration_ms 662.258417