{"assessments":[],"deployments":[],"fuzz":[],"identity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"interpretation":"Records acceptance and evidence. Neither completion nor an AI assessment establishes correctness, safety, or independent review.","jobId":"c0b88e50-24f4-4129-92fd-7a39c7365791","kind":"shape:chain","nodes":[{"acceptedSubmissionHash":"b0fc9e0f050ea0194a9863c27d3b4e876cd35304e1f411b43d98cbe0b6b3f525","dependsOn":["audit_imported_code"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"2d7d84a1a9972f1497e5bc68a704cbf42294d08c62d2868f102ffe3b909b9b51","skillId":"adapt-contract-project","tools":[]},"key":"adapt_contract_project","kind":"code","role":"implement","skillHash":"2d7d84a1a9972f1497e5bc68a704cbf42294d08c62d2868f102ffe3b909b9b51","skillId":"adapt-contract-project","state":"accepted"},{"acceptedSubmissionHash":"20c724a4ef8edb9640442d34af5449eabbee48d12fc7b422afc89d2d3a2aad7b","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_economics","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"8ab013e5d3be41d70d21e09680b41eb45f0a2cb83e0a60dae8f8d26436a7d269","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_flow","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"159ec83bba9036ce8ac1fdb0f020de9264e1bea6d5feaf85fde0d1092ade6435","dependsOn":[],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"9897597976b0e72440db7ca402d225aea20f3d37205ba53e7df2400ff80f29cc","skillId":"audit-imported-code","tools":[]},"key":"audit_imported_code","kind":"code","role":"review","skillHash":"9897597976b0e72440db7ca402d225aea20f3d37205ba53e7df2400ff80f29cc","skillId":"audit-imported-code","state":"accepted"},{"acceptedSubmissionHash":"66a52d17bc3500f928e85b3ae3d2d8137311b1693d52e599c96012e81609479b","dependsOn":["adapt_contract_project","write_foundry_tests","manifest","audit_math","audit_permissions","audit_economics","audit_flow"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"af3aa01159bbf354f621cafa5c0006f6169e0938a8b015be508b7377dbf165bc","skillId":"audit-judge","tools":[]},"key":"audit_judge","kind":"code","role":"review","skillHash":"af3aa01159bbf354f621cafa5c0006f6169e0938a8b015be508b7377dbf165bc","skillId":"audit-judge","state":"accepted"},{"acceptedSubmissionHash":"8ba9f5009f737ee4acaad08df75ad410ce5f834fa480a10084821246755f3cc9","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_math","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"01557689980268bd8f7f54693997e80e1b97323fc34a16f76eef037dd24ba072","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","tools":[]},"key":"audit_permissions","kind":"code","role":"review","skillHash":"e5ac2cb1fd91a56aa40b16487fc230c48de0d317c8266140331dd3219bb40a85","skillId":"audit-specialist","state":"accepted"},{"acceptedSubmissionHash":"54dbdf5c3bdb1420e699ba221cdd2bf005a716b863cc32e01ca603c1fa66bcc9","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"tools":[]},"key":"manifest","kind":"code","role":"integrate","skillHash":null,"skillId":null,"state":"accepted"},{"acceptedSubmissionHash":"ad4fd27ae2618d253ce0085eaabbdc33ef0e11378088494d609ec93254111cc4","dependsOn":["adapt_contract_project"],"execution":{"network":false,"profile":"foundry","requires":[],"skillHash":"4c76766b00591dfe982fe85d3de589fdb2f810e5137c301155d1c5e36a1d3b23","skillId":"write-foundry-tests","tools":[]},"key":"write_foundry_tests","kind":"code","role":"tests","skillHash":"4c76766b00591dfe982fe85d3de589fdb2f810e5137c301155d1c5e36a1d3b23","skillId":"write-foundry-tests","state":"accepted"}],"objective":"Launch the genesis contracts of moneycanbuy.fun from this repository as they are: an evm_contracts launch on Ethereum mainnet (no token), the first of four. They exist before the project token $YOLO: the token's custom_token launch (the second) takes the YoloSplitter below as its remainderTo and the NftGate below as a constructor argument of the token; the core and the $YOLO modules follow as the third and fourth launches. script/LaunchPlan.sol is all four launches in code (genesisLaunch, then yoloTokenCode and support, then core, then extras).\n\nContracts, in this order:\n1. NftGate, constructorArgs [\"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d\", \"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\"]\n2. IncentivesVesting, constructorArgs [\"0x7085193516EDc587fAebFF7a48548eAC8db5fAb5\"]\n3. DevVesting, constructorArgs [\"0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981\"]\n4. TeamVesting, constructorArgs [\"0x153D12cc398d79A99B781B23DB6399556b84ca76\"]\n5. TreasuryVesting, constructorArgs [\"0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C\"]\n6. YoloSplitter, constructorArgs [\"$contract:IncentivesVesting\", \"$contract:DevVesting\", \"$contract:TeamVesting\", \"$contract:TreasuryVesting\", \"0xaaB0269b956bd5F97B44529569b042e7BD72B508\"]\n\nWhat they do. NftGate is the snapshot of identity.md NFT holders (0x0000ec93127baa929e58e97dd0095a2bfb38ec1d, 2,000 NFTs) for the first 30 minutes of $YOLO trading: the writer 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C (the project wallet) records wallets with the number of NFTs each held at one block, in batches (record(accounts, nfts): each wallet once, no zero address or count, event Recorded per wallet, a running snapshotHash), then seal(snapshotBlock) closes the list for good: after the seal nobody can change it. Every NFT in the snapshot allows its wallet 500,000 YOLO of buys in the window. The gate never reads the NFT contract, so an NFT moved after the snapshot changes nothing. The token calls consume(buyer, amount) on a buy in its window; consume reverts until the seal; the gate books per calling token (any other caller only spends its own books, so the gate needs no token address), books only if it fits, and returns the allowance and what was used before; it never calls back and holds nothing. No owner and no clock: the window is the token's, and the token counts the snapshot only if it was sealed before trading opened.\nIncentivesVesting, DevVesting, TeamVesting and TreasuryVesting are ProjectVesting with their schedules compiled in, none with a cliff, each clock started only by the YoloSplitter, which binds itself as the one starter in this launch's transaction (bindStarter, a transient flag) and starts all four at its split: incentives 62,500,000 at once and the rest linear over 730 days, to 0x7085193516EDc587fAebFF7a48548eAC8db5fAb5 (the project's wallet for incentives it runs itself, off chain); dev linear over 365 days, to 0x8Ad18E99F4C8d8406f9Ba8899CF308000518A981; team linear over 365 days, to 0x153D12cc398d79A99B781B23DB6399556b84ca76; treasury 74,074,074 at once and the rest linear over 365 days, to 0x3c587Eff6c96eAcF7E3dcC2CFf6416161386E48C. They know no token in advance (release(token), like OpenZeppelin's VestingWallet); whatever arrives counts; no owner, no acceleration; anyone may call release, which only pays the beneficiary what the schedule has opened.\nYoloSplitter receives the project's 75% of $YOLO from the factory (the remainderTo of the token launch). The first split(token) once more than 527,777,777 have arrived pays 250,000,000 to IncentivesVesting, 150,000,000 to the manual YOLO Stabilizer wallet 0xaaB0269b956bd5F97B44529569b042e7BD72B508 (at once, no vesting), 77,777,777 to DevVesting, 50,000,000 to TeamVesting, and the rest (222,222,223, give or take the factory's rounding of the pool seed) to TreasuryVesting; the factory sends the remainder within the launch transaction, so it has all arrived before anyone can call; anything arriving later goes to TreasuryVesting on the next call. Right after the first split it calls release on the four vestings, which starts their clocks and pays the at-once parts. Anyone may call it. With the swarm's 10% and the pool's 15% that is the whole supply. No share is airdropped or burned.\n\nConstructors take only addresses; the only external call is the YoloSplitter's bindStarter on the four vestings. Nothing here holds funds until the token launch. No owner, admin, pause or upgrade path in any of the six.\n\nKnown and accepted by design: the snapshot is written by the project wallet from an off-chain read of ownerOf at one block (script/snapshot/snapshot.py; the json, its block and snapshotHash are published before trading opens, anyone can recompute them); a wallet holding NFTs in a contract at that block (a vault, a marketplace escrow) is listed as that contract; the incentives wallet is a plain wallet that no mechanic pays from, the contract only unlocks it on schedule.\n\nThe tests must keep passing: forge test (686 tests), and forge test with FORK_URL set to a mainnet archive RPC: test/fork/LaunchRehearsal.fork.t.sol runs all four launches through the live ProjectFactory (launchContracts, launchCustom, launchContracts, launchContracts), checks each against the 16,777,216 gas cap (this one about 3.6M), splits the remainder and checks every share, and trades the token's opening and first hour through the live Universal Router with a snapshot of real NFT holders, buys with IMD, USDC and ETH routed through IMD.\n\nAudit it as it arrived. Adapt only what the launch rules or a reproduced audit finding require, and record each change in ADAPTATION.md. Do not change the shares, the schedules, the allowance per NFT, the recipients or the constructor arguments, and do not add an owner, a pause, an upgrade path or a fee, unless a reproduced finding requires it; record it in ADAPTATION.md.\nKnown limitations listed in docs are accepted rules, not findings; do not change them.","parentJobId":null,"planHash":"bfdd79c6214c65d365e59d10b32399a5b37c00cddaa4230e0402dfab4f17eb33","previousHash":"0000000000000000000000000000000000000000000000000000000000000000","projectId":"c0b88e50-24f4-4129-92fd-7a39c7365791","publication":{"commit":null,"deliveredAt":null,"repoUrl":"https://github.com/identity-md-launches/launch-2308-launch-genesis-contracts-moneycanbuy-fun"},"receiptIdentity":{"adapter":"0xde152afb7db5373f34876e1499fbd893a82dd336","chainId":1,"collection":"0x0000ec93127baa929e58e97dd0095a2bfb38ec1d","registry":"0x8004a169fb4a3325136eb29fa0ceb6d2e539a432"},"registry":"0xb6d0a187b050fa5bb0b87033a203f37becf4a775","research":[],"schema":"identitymd-work-v1","signals":[{"agentId":"51508","feedbackHash":"9dce9f00080c548bba424650e230e3626a177894843087b5e4c30124f34e532c","nodeKey":"adapt_contract_project","submissionHash":"b0fc9e0f050ea0194a9863c27d3b4e876cd35304e1f411b43d98cbe0b6b3f525","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"52608","feedbackHash":"b14d8aab612a6fcbb2a572eda8e601c32af6fa1d92f2113b1aa2670b40177d79","nodeKey":"adapt_contract_project","submissionHash":"46c3afbff0fbc837158aaf09887cc60228910ffb1aaee634f9ab69812b784f04","tag1":"verification:checks","tag2":"acceptance-v2","value":0},{"agentId":"51084","feedbackHash":"c9d7d1625a4d8c5bb272c90432d1efb58e82a2705212c506a4aac949622fc419","nodeKey":"audit_economics","submissionHash":"20c724a4ef8edb9640442d34af5449eabbee48d12fc7b422afc89d2d3a2aad7b","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51298","feedbackHash":"ef14a61f06f1e899c10267107cf60b7fe16f12965ba0dcbd6872fff5b3835885","nodeKey":"audit_flow","submissionHash":"8ab013e5d3be41d70d21e09680b41eb45f0a2cb83e0a60dae8f8d26436a7d269","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52261","feedbackHash":"c480542292a0fec05bc5870b998bbe3d8511a4b67b8baf32a1600a417e8b72a9","nodeKey":"audit_imported_code","submissionHash":"159ec83bba9036ce8ac1fdb0f020de9264e1bea6d5feaf85fde0d1092ade6435","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"54234","feedbackHash":"737a934fdfbb7fe36fbd7fb70dfeb951b723447c40800eb3d7424de73b514924","nodeKey":"audit_judge","submissionHash":"66a52d17bc3500f928e85b3ae3d2d8137311b1693d52e599c96012e81609479b","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52707","feedbackHash":"d87e1794b97997c4eef2b954f3ff7facc9fdee01e1b372755ed62ce82e328b39","nodeKey":"audit_math","submissionHash":"8ba9f5009f737ee4acaad08df75ad410ce5f834fa480a10084821246755f3cc9","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"52612","feedbackHash":"58603297bf076abd6a1cd6636f6dce58e4974eba3321b32fd9b98a4c49b9155e","nodeKey":"audit_permissions","submissionHash":"01557689980268bd8f7f54693997e80e1b97323fc34a16f76eef037dd24ba072","tag1":"review:submission","tag2":"acceptance-v2","value":1},{"agentId":"51143","feedbackHash":"9fbd25088ab3183a73a6f407fea841d3134db001016b36ce9fdc774f33f1d197","nodeKey":"manifest","submissionHash":"54dbdf5c3bdb1420e699ba221cdd2bf005a716b863cc32e01ca603c1fa66bcc9","tag1":"verification:checks","tag2":"acceptance-v2","value":1},{"agentId":"51510","feedbackHash":"64003dd36548a0188020a0f4152e8fb0df115f83db7ca6491662be9cbe3efb45","nodeKey":"write_foundry_tests","submissionHash":"ad4fd27ae2618d253ce0085eaabbdc33ef0e11378088494d609ec93254111cc4","tag1":"verification:checks","tag2":"acceptance-v2","value":1}],"site":null,"snapshotHash":"29ca10f4543839b6904646a9de59717f9aaf0e7d5205e4d73dc30e364ecce04d","state":"completed","submissions":[{"artifacts":[],"attempt":1,"bundleHash":null,"device":"fbdcf3c80b280e3b","findings":[],"hash":"01557689980268bd8f7f54693997e80e1b97323fc34a16f76eef037dd24ba072","nodeId":"c04cb190-9a99-46fc-9d37-5818abdb3163","outcome":"completed","summary":"I found no defects in the permissions of the six genesis contracts (NftGate, the four vestings and YoloSplitter). `.imd-findings.json` has an empty findings list and a coverage row for each of the 113 listed entry points, plus two invariant rows. No repository files changed: I deleted my scratch test and the working tree is clean.\n\n**What I checked, using the Access Control, Asymmetry and Trust Gap guides:**\n- **NftGate:**\n  - Only the writer can call `record` or `seal`, and both revert for good after the seal.\n  - `consume` is open to anyone, but it only books against the calling contract's own record. A stranger calling it leaves the token's allowance untouched, which I confirmed in a test.\n  - The gate's \"book only if it fits\" check matches the token's revert check exactly.\n- **Vestings:**\n  - The YoloSplitter claims the starter role inside the deploy transaction, and any later `bindStarter` call reverts.\n  - A stranger calling `release` while the vesting holds tokens does not start the clock.\n  - `release` only ever pays the fixed beneficiary.\n- **YoloSplitter:**\n  - It pays only five fixed addresses, and the `done` flag is set before any transfer.\n  - Calling `split` with a fake token can only start clocks for that fake token, never for $YOLO.\n  - In the test, the first split paid the expected at-once amounts: 150M to the stabilizer, 62.5M from incentives and 74,074,074 from treasury.\n\n**Rejected leads:**\n- These two are already recorded in ADAPTATION.md (findings 1 and 2), so I didn't file them again:\n  - A vesting with no code gets no clock.\n  - The writer has unlimited power before the seal: it can record any counts and any `snapshotBlock`, and nothing on chain caps the total at 2,000 NFTs.\n- These follow the documented rules, so they aren't findings:\n  - A token the splitter never releases has only its at-once part free.\n  - If the snapshot isn't sealed, nobody buys in minutes 0–30.\n- None of the static-analysis items on these six turned into a reproducible defect.\n\n**Coverage:**\n- **39 `holds`:**\n  - The 13 genesis and $YOLO token functions, traced in full.\n  - 20 privileged functions in the later launches. For these I only confirmed the guard is there (`onlyDesk`, `only(vault/disputeDesk)`, `onlyOwner`, `onlySafe`, the dev check); I didn't trace their logic.\n  - The 2 invariant rows.\n- **76 `unreached`:** the remaining later-launch functions, which are outside this genesis scope.\n\nI didn't run the fork rehearsal because no `FORK_URL` is set here, so whether the live ProjectFactory binds the starter on all four vestings is only shown by the existing local-factory tests. The fork test checks it for the dev and treasury vestings only.","treeHash":null,"usage":{"cachedInputTokens":918000,"inputTokens":26,"model":"claude-opus-5-5","outputTokens":21261,"runtime":"claude","turns":13,"wallClockMs":309736}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"dedc96e38388cb45","findings":[{"citation":"resolved","description":"ProjectVesting only starts a token's clock when `starter` calls release while holding the token; `starter` is set once, by bindStarter, and only inside the vesting's own deployment transaction (transient flag). YoloSplitter's constructor binds itself to the four vestings but skips any address without code so that the launch service's empty-chain constructor rehearsal passes. The consequence of a skipped or missing bind is permanent: with starter == 0 no address can ever satisfy `msg.sender == starter`, so the clock never starts and everything beyond `unlocked` (187.5M incentives, 77,777,777 dev, 50M team, about 148M treasury) stays in the vesting for good. Nothing in the six contracts, the token or the splitter can repair it afterwards, and launch 2 (remainderTo = this splitter) cannot be undone once sent. The guard today is purely operational: the manifest's $contract references must resolve to the already-deployed vestings in the same factory transaction, and the fork rehearsal asserts starter() == splitter. The protected floor does not check it. Recommended, without changing the design: after launch 0 and before launch 2, read starter() on all four vestings and require it to equal the YoloSplitter address (an off-chain check in the deployment handoff, or an assertion in the launch plan); optionally the splitter could revert when a vesting has code but the bind fails, and the adapter should keep the code-length skip only for the empty-chain rehearsal.","line":96,"path":"src/token/YoloSplitter.sol","reproduction":"State: the splitter is constructed while a vesting address has no code (the manifest points at a not-yet-deployed or mistyped address), or any vesting is deployed in a different transaction than the splitter. Reproduced in test/scratch/GenesisEdges.t.sol test_unboundVestingLocksForever: deploy DevVesting(ben) alone (starter() == 0), transfer 77,777,777e18 of an ERC-20 to it, call release(token), skip 3650 days: releasable(token) == 0 and the vesting still holds 77,777,777e18. Expected for the launch: starter() == YoloSplitter on all four vestings, which test_boundSplitterStartsClocksAndSecondBindClosed confirms happens when the six are deployed in one transaction (bindStarter afterwards reverts BindingClosed).","severity":"low","snippet":"        if (vesting.code.length != 0) IVestingRelease(vesting).bindStarter();","title":"YoloSplitter silently skips the starter binding when a vesting address holds no code: the vested parts of such a vesting are locked forever, with no recovery path"},{"citation":"resolved","description":"The brief accepts that the project wallet writes the snapshot from an off-chain read. Recording what that trust covers so the adapter and the panel see it: record() accepts any non-zero count for any non-zero address with no bound on totalNfts (the collection has 2,000 NFTs), so the writer could allot 5,000 NFTs to one wallet (2,500,000,000 YOLO of window allowance, more than the supply); seal() stores any snapshotBlock_ (0, a future block, type(uint256).max) without a check against block.number; the published json and snapshotHash are the only way for anyone to verify the list against the chain. After the seal the writer has no power at all, and consume() only ever books the calling token's own counters. No change is required by the brief; if the adapter wants a cheap on-chain sanity bound it could require totalNfts <= 2000 at seal and snapshotBlock_ < block.number, both compatible with the design.","line":79,"path":"src/token/NftGate.sol","reproduction":"Reproduced in test/scratch/GenesisEdges.t.sol test_gateEdges: writer calls record([holder],[5000]) then seal(type(uint256).max): both succeed, totalNfts() == 5000, snapshotBlock() == 2^256-1, left(anyToken, holder) == 5000 * 500,000e18. Expected by the published design: a list of at most 2,000 NFTs read at a real past block; the contract does not enforce either.","severity":"info","snippet":"        totalNfts += total;","title":"NftGate: the writer's powers before the seal are unbounded on chain (any count per wallet, total above the 2,000 NFTs, any snapshotBlock); trust assumption, not a defect"},{"citation":"resolved","description":"'Each wallet once' is the stated rule, so this is a note for the operator rather than a defect: a wrong count written in a batch (a typo in the json, a wallet listed with the wrong number) cannot be corrected or removed, and the seal makes the error permanent. Since the token takes the gate as a constructor argument at launch 2, a wrong snapshot is only recoverable by deploying a new NftGate (a new launch 0 or a separate deployment) before the token launches. The snapshot script writes the batches and the expected hashAfter per batch, so the writer should compare snapshotHash() with the json after every batch and before seal().","line":72,"path":"src/token/NftGate.sol","reproduction":"Reproduced in test/scratch/GenesisEdges.t.sol test_gateEdges: writer calls record([A],[5000]) then record([A],[1]): the second reverts AlreadyRecorded(A) and nftsOf(A) stays 5000. Expected by the brief: each wallet once (so this is the designed behaviour); the point is that there is no path back short of a new gate.","severity":"info","snippet":"            if (nftsOf[a] != 0) revert AlreadyRecorded(a);","title":"NftGate: a mis-recorded wallet cannot be amended before the seal; the only remedy is a fresh gate before launch 2"},{"citation":"resolved","description":"Read in full: src/token/NftGate.sol, src/token/ProjectVesting.sol, src/token/Vestings.sol (IncentivesVesting, DevVesting, TeamVesting, TreasuryVesting), src/token/YoloSplitter.sol; also src/token/YoloToken.sol (launch 2, the gate's only caller), script/LaunchPlan.sol genesisLaunch and LocalFactory, script/snapshot/snapshot.py (its running hash keccak256(abi.encode(h, account, nfts)) matches NftGate.record), test/YoloToken.t.sol, test/mocks/MockStarter.sol and the two protected tests. Checked and found sound: access control (writer-only record/seal, starter-only clock start, no owner anywhere), reentrancy (no external call before state is settled; YOLO is a plain OZ ERC20 without hooks; done[token] is set before transfers), arithmetic (FIXED == 250M+150M+77,777,777+50M; vested amount is monotone, rounds down and returns total at the end; no overflow at 1e27 x 10 years; left() cannot underflow because used <= allowance by construction), rounding of the pool seed (bal > FIXED, treasury takes the rest), bindStarter transient guard (reverts BindingClosed outside the deployment transaction, confirmed in test/scratch/GenesisEdges.t.sol), compiled runtime of all seven contracts scanned: no DELEGATECALL, CALLCODE or SELFDESTRUCT, sizes 1,888 to 2,113 bytes, constructors take only addresses and the only external call is bindStarter guarded by a code-length check. forge test on test/YoloToken.t.sol: 34 passed. Not reachable: the live IMD ProjectFactory source (whether launchContracts hands execution to any third party between the vesting and splitter deployments, which is what the transient bind relies on), floor/OwnerChecks.sol (not in the tree), and test/fork/LaunchRehearsal.fork.t.sol was read but not run (no FORK_URL on this machine). No critical, high or medium defect was reproduced; no change to shares, schedules, allowance, recipients or constructor arguments is required.","line":73,"path":"src/token/YoloSplitter.sol","reproduction":"Not a defect: this entry records scope and what was verified. The three scratch tests in test/scratch/GenesisEdges.t.sol pass on the code as it is.","severity":"info","snippet":"    function split(address token) external {","title":"Coverage: all six genesis contracts read in full; the live ProjectFactory, floor/OwnerChecks.sol and the fork rehearsal were not reachable"}],"hash":"159ec83bba9036ce8ac1fdb0f020de9264e1bea6d5feaf85fde0d1092ade6435","nodeId":"f2f20165-587e-4503-87ad-ad1aeb388cb6","outcome":"completed","summary":"The review is complete. The findings file holds one low finding and three info notes; no critical, high or medium defect reproduced in the six genesis contracts.\n\n**What I read.** All six in full: `NftGate`, `ProjectVesting`, the four schedule contracts in `Vestings.sol`, and `YoloSplitter`. For context I also read `YoloToken.sol` (the gate's only caller, launch 2), the genesis part of `script/LaunchPlan.sol`, the snapshot script, the token test suite, the starter mock, and the two protected tests. Not reachable: the live ProjectFactory source, `floor/OwnerChecks.sol` (not in the tree), and the fork rehearsal could not be run without a FORK_URL.\n\n**What I verified.**\n- Access control matches the stated design: writer-only `record` and `seal`, starter-only clock start, no owner, pause, upgrade or fee anywhere.\n- The transient `bindStarter` guard works: it reverts `BindingClosed` outside the deployment transaction and after the splitter has bound. Confirmed by scratch test.\n- Arithmetic: the four fixed shares sum to 527,777,777; the vested amount is monotone, rounds down and returns the full total at the end; `left()` cannot underflow because `used` never exceeds the allowance.\n- No reentrancy surface: `done[token]` is set before transfers, YOLO is a plain OpenZeppelin ERC-20, and the gate makes no external calls.\n- Compiled runtime of all seven contracts scanned: no DELEGATECALL, CALLCODE or SELFDESTRUCT, sizes under 2.2 KB.\n- The existing suite for these contracts passes (34 tests), and my four scratch probes in `test/scratch/GenesisEdges.t.sol` pass.\n\n**Findings written to `.imd-findings.json`.**\n- **Low:** `YoloSplitter.sol:96` silently skips the starter binding when a vesting address has no code. If the bind is ever missed, the vested parts of that vesting are locked forever with no recovery path, and launch 2 cannot be undone. The guard is operational only. Recommended for the adapter: check `starter()` equals the splitter on all four vestings after launch 0 and before launch 2.\n- **Info:** the gate writer's pre-seal powers are unbounded on chain (any count, total above 2,000 NFTs, any snapshot block). This is the accepted trust assumption, recorded with concrete inputs so the panel sees it.\n- **Info:** a mis-recorded wallet cannot be amended before the seal; the only remedy is a fresh gate before the token launch.\n- **Info:** the coverage statement above, anchored to the splitter.\n\nNo proof files were needed since nothing reached high severity. Nothing outside `.imd-findings.json` and `test/scratch/` was written.","treeHash":null,"usage":{"cachedInputTokens":1090904,"inputTokens":356,"model":"claude-fable-5-1","outputTokens":33897,"runtime":"claude","turns":28,"wallClockMs":907045}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"7c0191a32541eb74","findings":[{"citation":"resolved","description":"seal() stores the writer-supplied block number without checking it against block.number (zero, a future block or type(uint256).max are all accepted) and the token never reads it. The field exists so that anyone can recompute the published snapshot against ownerOf at that block; an unchecked value means the on-chain record can name a block that does not exist yet or 0, and the window still opens. Only the project wallet can call it, so this is a documentation-integrity note under the accepted snapshot trust assumption, not a loss of funds. A `snapshotBlock_ <= block.number && snapshotBlock_ != 0` guard would make the published block self-consistent; no change to shares, schedule or recipients.","line":90,"path":"src/token/NftGate.sol","reproduction":"Writer calls record([alice],[1]) then seal(type(uint256).max) (or seal(0)). Expected: the seal names the block the holders were read at (a past block). Actual: snapshotBlock() == type(uint256).max, sealedAt() > 0, Sealed event carries that value, and YoloToken opens the whitelist window for this gate (it only reads sealedAt). Reproduced in test/scratch/GenesisEconomics.t.sol::test_sealAcceptsAnyBlock.","severity":"info","snippet":"        snapshotBlock = snapshotBlock_;","title":"NftGate.seal records any snapshotBlock_ value, so the published block cannot be checked against chain state"}],"hash":"20c724a4ef8edb9640442d34af5449eabbee48d12fc7b422afc89d2d3a2aad7b","nodeId":"e3a072cc-a5f5-418a-a00e-dee82587b451","outcome":"completed","summary":"The review is complete and `.imd-findings.json` is written at the repository root. The working tree is otherwise clean apart from my scratch test under `test/scratch/`, which is allowed and not kept.\n\n**Outcome.** No defect of medium or higher severity in the six genesis contracts under the Economic Security, Invariant and Flow Gap lenses. One informational finding is recorded.\n\n**What I checked, and found to hold**\n\n- **YoloSplitter.split** conserves value for any remainder above the fixed sum: the four fixed shares are exact and the treasury vesting takes the rest, fuzzed from a few wei short of 750M to 10k YOLO over. `done` is set before any transfer. A second call only forwards later arrivals to the treasury vesting and never restarts a clock. A token that re-enters mid-split only breaks its own split, and YOLO is a plain OpenZeppelin ERC-20 with no hooks.\n- **ProjectVesting** cannot have its clock started early. Dust sent to a vesting and released by anyone leaves `startOf` at zero and pays nothing for Dev and Team, and only the at-once part for Incentives and Treasury. `vestedAmount` is monotone, rounds down, never exceeds balance plus released, and every YOLO is paid out by day 730 for Incentives and day 365 for the others. The transient starter binding works only inside the deployment transaction and cannot be rebound.\n- **NftGate** books per calling token only what fits, so `used` never exceeds the allowance once sealed, and `consume` reverts before the seal. A wallet outside the snapshot gets allowance zero and nothing booked. Writer powers before the seal are the accepted trust assumption.\n- **YoloToken** was traced only where it reaches the gate. The gate is consumed only for PoolManager-to-buyer transfers in minutes 0 to 30 with a seal before `openAt`. The on-top sell tax uses balance rather than allowance, so a router settling exactly `amountIn` succeeds.\n\n**The one finding (info).** `NftGate.seal` stores any `snapshotBlock_` value, including zero or a future block, and the token never reads it. The published block therefore cannot be checked against chain state. Reproduction: `record([alice],[1])` then `seal(type(uint256).max)` succeeds and the window still opens. It is a documentation-integrity note under the accepted snapshot assumption, not a loss of funds.\n\n**Coverage record.** All 117 listed entry points have a row, plus six invariant and flow rows. The genesis entry points and the three YoloToken entry points are `holds` with reasons, `NftGate.seal` points to the finding, and everything from launches 2 to 4 is `holds` as outside this area with no dependency on a launch-0 contract.\n\n**What was not run.** A full via-IR build of the whole tree ran over 20 minutes on this machine and was killed, so the 686-test suite and the fork rehearsal were not executed here. I compiled only the six genesis contracts with my scratch suite of 5 tests, which all pass, and that limitation is recorded as an `unreached` row.","treeHash":null,"usage":{"cachedInputTokens":2014477,"inputTokens":454,"model":"claude-fable-5-1","outputTokens":37262,"runtime":"claude","turns":40,"wallClockMs":1745234}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"0a557069e56d5380","findings":[],"hash":"36aa3fe9d7b3d75741ad40d11a2e09572b7c57aae2e1799a230b08ffb31b81c5","nodeId":"e3f7614d-e338-4221-a9f9-94dd478e4bf9","outcome":"failed","summary":"the local build failed, so this was not submitted:\nforge build exited with 1:\nCompiling 178 files with Solc 0.8.28\nError: solc exited with signal: 9 (SIGKILL)\n<empty output>","treeHash":null,"usage":{"cachedInputTokens":26951040,"inputTokens":403975,"model":"gpt-6-astra","outputTokens":91639,"runtime":"codex","turns":54,"wallClockMs":5284775}},{"artifacts":[],"attempt":2,"bundleHash":"226b94248edb24474fbe0197c74573722dd3f181cd79c02cf2227b854d9d9b8f","device":"3c9b660ee1938912","findings":[],"hash":"46c3afbff0fbc837158aaf09887cc60228910ffb1aaee634f9ab69812b784f04","nodeId":"e3f7614d-e338-4221-a9f9-94dd478e4bf9","outcome":"completed","summary":"I made one code change to get the six genesis contracts ready for launch 0, and fixed the one audit finding I could reproduce. `forge build` passes, and `forge test` with the verifier's fuzz seed gives 690 passed, 0 failed, 3 skipped. That is the original 686 plus 4 new tests. The 3 skipped are fork tests, which skip without `FORK_URL`, so the mainnet fork rehearsal was not run here.\n\nThe previous attempt's build was killed by the machine running out of memory. On this clean checkout a full build finished in about 10 minutes, and I ran every build and test one at a time in the foreground.\n\n**Launch rules:** nothing needed changing. All six constructors are nonpayable, take only addresses (at most 5), and need no setup call afterwards. None of the contracts has an owner, pause, upgrade path or forbidden opcode, and no build configuration was touched. The splitter's `bindStarter` calls reach vestings deployed earlier in the same transaction, so they work on an empty chain.\n\n**Audit finding 86e246d3 (low) — reproduced and fixed:**\n- **Problem:** `YoloSplitter` silently skipped binding itself to a vesting address that had no code yet. If the splitter were deployed first and a vesting deployed at that address afterwards, the vesting would have no starter. Its clock could never start, so everything beyond the at-once part would be locked for good.\n- **Fix:** in `src/token/YoloSplitter.sol`, `_bind` now reverts with `NotAVesting(vesting)` when the address has no code. A splitter can therefore only exist with all four vestings bound to it.\n- **Effect on this launch:** none. The vestings are always deployed before the splitter in the same transaction. Shares, schedules, recipients and constructor arguments are unchanged, and the splitter's runtime is still 2,113 bytes.\n- **New tests:** `test/audit/SplitterBindsEveryVesting.t.sol` adds four. They show:\n  - the splitter refuses a vesting with no code in each of the four slots;\n  - deploying the splitter before a vesting now fails;\n  - an unbound vesting stays locked after 3,650 days;\n  - in the real launch order all four vestings are bound to the splitter, and `split` starts every clock and pays every share in full.\n- **Adjusted tests:** two existing unit tests (`test/YoloToken.t.sol` and `test/audit/swarm117/VestingClockPreStart.t.sol`) used plain wallets as stand-in vestings and relied on the old silent skip. Those addresses now get a one-byte stub contract that accepts the calls and does nothing. Their assertions are unchanged.\n\n**Other findings, left unchanged in code:**\n- **8ff677e5 (writer's power before the seal):** it reproduces, but it is the trust in the project wallet that the brief accepts.\n- **51326d2d (no correcting a wrongly recorded wallet):** this is the stated \"each wallet once\" rule.\n- **d26bda51:** this is a coverage note, not a defect.\n\n`ADAPTATION.md` records all of this, plus a check worth doing before launch 1: read `starter()` on the four deployed vestings and confirm it equals the YoloSplitter address. The changes are in the working tree, uncommitted.","treeHash":"6d088888218e3498ef3b3967052a7b265bad9b38","usage":{"cachedInputTokens":1582401,"inputTokens":44,"model":"claude-opus-5-5","outputTokens":19645,"runtime":"claude","turns":23,"wallClockMs":1047655}},{"artifacts":[],"attempt":1,"bundleHash":"e7bfba461fd703d288369fcedf89198bd994a1063cf4e600b1f9cc18cb0aefb4","device":"a4c81f495eb81dd0","findings":[],"hash":"54dbdf5c3bdb1420e699ba221cdd2bf005a716b863cc32e01ca603c1fa66bcc9","nodeId":"ca51acae-d316-4c20-a5cf-08e355ac85cb","outcome":"completed","summary":"The full test run was stopped by the ten-minute background limit before it produced a summary. No failure lines appeared in its output before the stop. Not enough time remains to rerun it, and no Solidity was changed, so the existing suite is not affected by this task.\n\nFinal state:\n\n- launch.json is written, validated for schema shape, and matches the six constructors in the accepted source.\n- The one-transaction deployment rehearsal and the two token suites covering NftGate, the four vestings and YoloSplitter passed with the verifier's fuzz seed.\n- `git status --porcelain` shows only launch.json as new. ADAPTATION.md is unchanged because no finding required an adaptation.","treeHash":"52e53958f2e68ee70cd8bdd2a8187e1d79003e55","usage":{"cachedInputTokens":47777,"inputTokens":4,"model":"claude-fable-5-1","outputTokens":221,"runtime":"claude","turns":1,"wallClockMs":1509622}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"2042b7cb7b952e30","findings":[{"citation":"resolved","description":"Merged from audit_flow and audit_economics (same root cause). seal() keeps the writer-supplied block only for people recomputing the snapshot against ownerOf; nothing in the gate or in YoloToken reads snapshotBlock (the token reads sealedAt only), so a wrong value changes no allowance and no buy. Only the project wallet can call it, once; the off-chain snapshot by that wallet is an accepted trust assumption of the brief, so this is an information note, not a defect that reopens the work. A guard `snapshotBlock_ != 0 && snapshotBlock_ <= block.number` would make the record self-consistent without touching shares, schedules, allowance, recipients or arguments.","line":90,"path":"src/token/NftGate.sol","reproduction":"Reproduced in test/scratch/JudgeLeads.t.sol::test_sealAcceptsAnyBlock: NftGate(nft, W); as W: record([0xB0B],[1]); seal(type(uint256).max). Expected: a block that cannot have been read is refused. Actual: the call succeeds, snapshotBlock() == type(uint256).max, sealedAt() > 0 (Sealed emitted with that value), consume(0xB0B, 1) returns allowance 500_000e18, and seal/record now revert AlreadySealed for good.","severity":"info","snippet":"        snapshotBlock = snapshotBlock_;","title":"NftGate.seal stores any snapshotBlock_ (0 or a future block) without a sanity check; the published block is unverifiable on chain and irreversible"},{"citation":"resolved","description":"From audit_flow. record() checks only non-zero; a count above type(uint256).max / 500_000e18 (about 2.3e50, far beyond the 2,000-NFT collection) makes allowanceOf() overflow under checked arithmetic, so consume(buyer, amount) and left(token, buyer) revert for that wallet for the whole window and a YOLO buy by it in minutes 0-30 reverts inside the gate call. Only the writer can do this and the seal is final, so a typo of this size is a writer error within the accepted snapshot trust; information only. A cap (c <= 2_000, the collection size) at record would turn it into a write-time revert.","line":71,"path":"src/token/NftGate.sol","reproduction":"Reproduced in test/scratch/JudgeLeads.t.sol::test_recordHugeCountBreaksConsume: as W: record([0xB0B],[type(uint256).max / 500_000e18 + 1]); seal(1). Expected: a count no wallet can hold is refused at record. Actual: record and seal succeed; consume(0xB0B, 1) and left(anyCaller, 0xB0B) revert with panic 0x11 (arithmetic overflow).","severity":"info","snippet":"            if (a == address(0) || c == 0) revert ZeroEntry(i);","title":"NftGate.record accepts an NFT count whose allowance overflows uint256, which makes consume and left revert for that wallet after the seal"},{"citation":"resolved","description":"From audit_math. The view divides _taxNum(e) = 3000 * (3600 - e) by 1800 and rounds down, but the buy path (line 151) computes tax = value * _taxNum(e) / (10_000 * 1800) with the exact fraction, so whenever (3600 - e) is not a multiple of 3 the executed rate exceeds the quoted bps by up to 2/3 bps. Nothing on chain compares the two; the router's minimum-output check protects the buyer; bounded, non-compounding. A precision note for integrators quoting buyTaxBps(); not a loss and not part of this launch's six contracts.","line":93,"path":"src/token/YoloToken.sol","reproduction":"Reproduced in test/scratch/JudgeLeads.t.sol::test_buyTaxBpsTruncates: YoloToken(pm, gate=0, treasury, openAt); pm holds 10e18; warp to openAt + 1801; buyTaxBps() == 2998 (5_397_000 / 1800 rounded down). pm transfers 1e18 to 0xB0B: the buyer receives 1e18 - 299_833_333_333_333_333, i.e. a tax of 2998.33 bps, above 1e18 * 2998 / 10_000. Expected: view and execution agree.","severity":"info","snippet":"        return _taxNum(e) / (TAX_END_SECONDS - WHITELIST_SECONDS);","title":"YoloToken.buyTaxBps truncates to whole basis points while _update applies the exact fraction, so the view understates the buy tax by up to 0.67 bps (launch 2 code, outside the six genesis contracts)"}],"hash":"66a52d17bc3500f928e85b3ae3d2d8137311b1693d52e599c96012e81609479b","nodeId":"8d381506-6c3d-4788-bf13-69d4b01719e5","outcome":"completed","summary":"The review is complete and `.imd-findings.json` is written with 3 info findings and 116 coverage rows (all 113 listed entry points plus 3 invariants).\n\n**Verdict on the audit.** None of the four specialists found a defect in the six genesis contracts, and my own pass agrees. NftGate, the four ProjectVesting instances and YoloSplitter hold: the transient bindStarter flag is consumed once inside the launch transaction, only the splitter starts a clock, released is booked before every transfer, done is set before the split pays, used never exceeds a wallet's allowance, and no constructor needs code or address bits. The manifest matches the brief in every argument, reference and recipient.\n\n**Findings kept, all info, all reproduced in test/scratch/JudgeLeads.t.sol:**\n- **NftGate.seal accepts any block value** (merged from audit_flow and audit_economics, same root cause). The token never reads it, so nothing changes on chain. Within the accepted writer trust.\n- **NftGate.record accepts a count that overflows the allowance**, which makes consume revert for that wallet after the seal. A writer typo of about 2.3e50 is required. Within the accepted writer trust.\n- **YoloToken.buyTaxBps rounds down while the transfer path taxes at the exact fraction.** Drift of under 1 bps, no loss, and the token belongs to launch 2, not this one.\n\n**Dropped or settled:** no specialist finding was dropped. The slither and aderyn lines touching the six contracts are flag tests and an uninitialized local that defaults to zero, not defects.\n\n**Checks run:** the scratch suite (4 tests) passes, the genesis unit and invariant suites pass (31 tests). The full non-fork suite finished with exit code 0, but its filtered output was lost when the command was moved to the background, so I report it as exit code 0 rather than a counted pass. The fork rehearsal was not run, since no archive RPC is on this machine.\n\n**Coverage:** the 14 genesis entry points, the token's three ERC-20 entry points and the smaller launch 2 and 4 contracts are marked holds with a one-line trace each. The 50 CaseDesk, DisputeDesk, TaskVault, HiddenList and YoloPredict entry points are marked unreached, since they belong to later launches and did not fit the budget.","treeHash":null,"usage":{"cachedInputTokens":1906466,"inputTokens":422,"model":"claude-fable-5-1","outputTokens":28762,"runtime":"claude","turns":39,"wallClockMs":2948269}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"63274cc86a9400de","findings":[],"hash":"6d0967fedbdaf9bc2c365a3e6a48afdf2b784fdf9af74bd714ecd85cfcd06640","nodeId":"e3a072cc-a5f5-418a-a00e-dee82587b451","outcome":"failed","summary":"Failed to authenticate: OAuth session expired and could not be refreshed","treeHash":null,"usage":{"cachedInputTokens":0,"inputTokens":0,"model":null,"outputTokens":0,"runtime":"claude","turns":1,"wallClockMs":2377}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"2d027bc56749d95c","findings":[{"citation":"resolved","description":"seal(snapshotBlock_) stores the block the holders were read at only for people checking the list against the chain, but accepts any value. Nothing in the gate or the token reads snapshotBlock, so a wrong value does not change who may buy; it only makes the published reference unverifiable on chain and is irreversible (seal is once). This sits within the accepted trust in the snapshot writer; reported as information. A minimal guard would be `if (snapshotBlock_ == 0 || snapshotBlock_ > block.number) revert BadBatch();` (or a dedicated error), which changes no share, schedule or argument.","line":90,"path":"src/token/NftGate.sol","reproduction":"State: NftGate deployed with writer W, one wallet recorded. Call as W: seal(type(uint256).max) (or seal(0)). Expected: a block that does not exist yet (or 0) is refused. Actual: the call succeeds, Sealed(1, n, type(uint256).max, hash) is emitted, snapshotBlock() == type(uint256).max and sealedAt() != 0 for good; consume() works.","severity":"info","snippet":"        snapshotBlock = snapshotBlock_;","title":"NftGate.seal accepts any snapshotBlock_, including 0 or a block in the future; the published block cannot be sanity-checked on chain"},{"citation":"resolved","description":"record() checks only that a count is non-zero. The collection has 2,000 NFTs, but a count above type(uint256).max / 500_000e18 (about 2.3e50) makes allowanceOf() overflow and revert under checked arithmetic, so consume(buyer, amount) and left(token, buyer) revert for that wallet for the whole window, and totalNfts can likewise overflow and make record revert. Only the writer can do this and the brief accepts the writer's off-chain snapshot as trusted, so it is reported as information. A cap such as `c > 2_000` (the collection size, or a constant MAX_NFTS) in record would make a typo fail at write time instead of at buy time.","line":96,"path":"src/token/NftGate.sol","reproduction":"State: NftGate deployed with writer W, unsealed. Call as W: record([alice], [type(uint256).max / 500_000e18 + 1]); then seal(b). Expected: a count no wallet can hold is refused at record. Actual: record and seal succeed; afterwards gate.consume(alice, 1) and gate.left(anyToken, alice) revert with an arithmetic overflow (panic 0x11), and a YOLO buy by alice in minutes 0-30 reverts inside the gate call.","severity":"info","snippet":"        return nftsOf[account] * ALLOWANCE_PER_NFT;","title":"NftGate.record accepts an NFT count large enough to overflow allowanceOf, which makes consume and left revert for that wallet"}],"hash":"8ab013e5d3be41d70d21e09680b41eb45f0a2cb83e0a60dae8f8d26436a7d269","nodeId":"bc6dfb7b-73d2-480d-8e86-57c5442a3709","outcome":"completed","summary":"Review complete. The findings file is at `.imd-findings.json` with two info-level items and a coverage row for every listed entry point.\n\n**Outcome: no defect above informational in the six genesis contracts.** I traced NftGate, ProjectVesting (all four schedules), and YoloSplitter through the Execution Trace, Periphery and First Principles checklists, and confirmed each claim with tests rather than by reading alone.\n\nWhat I verified, with tests I wrote under `test/scratch/` and the project's own suites:\n\n- **Launch handshake.** The four vestings bind the YoloSplitter as their only starter inside the deployment transaction, a lone vesting cannot be bound later, and the fork rehearsal against the live ProjectFactory on mainnet passes with FORK_URL set, including the starter check and every share.\n- **Split.** Shares are paid in the stated amounts with the rest to the treasury vesting, the splitter holds nothing after any call, a balance equal to the fixed sum reverts, later arrivals go to the treasury vesting, and a fake token sent by an attacker only starts that token's own clocks, never YOLO's.\n- **Vesting schedules.** Dust sent before the split never starts a clock and cannot raise the at-once part above its cap. A fuzz over release times with a mid-stream top-up shows the beneficiary's balance always equals the vested amount, so nothing is over-paid or stranded. Release twice in one block pays zero the second time.\n- **Gate.** Consume reverts until the seal, books only what fits per calling token, and the writer has no power after the seal. The snapshot script's running hash matches the gate's encoding, so the published hash can be recomputed.\n- **Token side.** I traced the token's transfer hook for the gated window and both tax windows. Wallet-to-wallet transfers, including vesting payouts, are untouched.\n- **Suites.** The full unit suite passes (691 tests), and the two fork rehearsal tests pass against the local mainnet endpoint.\n\nThe two informational findings, both inside the accepted trust in the snapshot writer, each with a confirmed reproduction:\n\n1. **seal accepts any block number**, including zero or a future block. The value is never read on chain, so it only weakens the published reference. A one-line bound would catch a typo.\n2. **record accepts an NFT count large enough to overflow the allowance**, which makes consume and left revert for that wallet all window. A cap at the collection size would fail it at write time.\n\nCoverage: all 118 rows are answered. The 21 entry points of the genesis contracts and the token hold or carry one of the info findings; the 96 entry points of the later launches are marked unreached, since the assignment asked for depth in this area first and none of them touch the genesis flow. One handoff item is recorded in the token's row: the launch-2 manifest must give the real NftGate address, because a gate address without code silently removes the window.","treeHash":null,"usage":{"cachedInputTokens":1887881,"inputTokens":484,"model":"claude-fable-5-1","outputTokens":40599,"runtime":"claude","turns":35,"wallClockMs":1201295}},{"artifacts":[],"attempt":1,"bundleHash":null,"device":"2293d6b19e81ef1a","findings":[{"citation":"resolved","description":"The view divides _taxNum(e) = 3000 * (3600 - e) by 1800 and rounds down to an integer number of basis points, but the buy path (line 151: tax = value * _taxNum(e) / (10_000 * 1800)) applies the exact fraction. Whenever (3600 - e) is not a multiple of 3, the actual tax rate exceeds the published bps by up to 0.67 bps. Nothing on chain compares the two, the router's minimum-output check protects the buyer, and the drift is bounded and non-compounding, so this is a precision note for integrators that quote buyTaxBps(), not a loss. Outside the six genesis contracts, reported for completeness of the tax math.","line":93,"path":"src/token/YoloToken.sol","reproduction":"Deploy YoloToken(pm, gate, treasury, openAt); warp to openAt + 1801 s; buyTaxBps() returns 5_397_000 / 1800 = 2998. Transfer 1e18 from pm to a wallet: tax = 1e18 * 5_397_000 / 18_000_000 = 299_833_333_333_333_333 wei, i.e. 2998.33 bps, 0.33 bps above the view. Expected: view and execution agree (e.g. view returning the fraction scaled, or tax computed from the truncated bps).","severity":"info","snippet":"        return _taxNum(e) / (TAX_END_SECONDS - WHITELIST_SECONDS);","title":"buyTaxBps() truncates to whole basis points while _update taxes at the exact fraction; the view understates the buy tax by up to 1 bps"}],"hash":"8ba9f5009f737ee4acaad08df75ad410ce5f834fa480a10084821246755f3cc9","nodeId":"a17015ee-92b5-4134-963e-e08cb0efa2c5","outcome":"completed","summary":"The review is complete and the findings file is written at the repository root.\n\n**Outcome: no reproducible defect in the math of the six genesis contracts.** I traced every division, subtraction, cast and boundary in NftGate, ProjectVesting (the four compiled schedules) and YoloSplitter against the Math Precision, Boundary and Numerical Gap guides, then fuzzed the invariants in a scratch test under test/scratch/ (vesting conservation and monotonicity under random arrivals and releases by anyone, gate booking bounds per caller, splitter share sums and the FIXED boundary, buy and sell tax identities). All probes pass, as do the 34 existing token, gate, vesting and splitter unit tests.\n\nWhat holds, specifically:\n- **Vesting formula** is monotone in both time and received total, so released never exceeds vested and release can never underflow or brick for a standard token. Rounding down in the stream loses nothing because the end returns the whole total. Pre-split dust releases by non-starters pay only the unlocked part and do not shift the at-once amount paid at the split.\n- **Gate** books only if the amount fits and usedBefore can never exceed allowance, so the subtraction in consume and left cannot underflow. The token's reject condition is the exact complement of the gate's accept condition. The off-chain snapshot script's running hash and record calldata match the contract byte for byte.\n- **Splitter** fixed shares sum exactly to 527,777,777 and the remainder of 750M leaves 222,222,223 for the treasury vesting, with later arrivals forwarded. The strict bal > FIXED guard is unreachable as a lock at launch.\n- **Launch text numbers** (shares, at-once parts, durations, allowance per NFT, recipients) match the code.\n\nOne informational note was recorded: the buyTaxBps view truncates to whole basis points while the transfer path taxes at the exact fraction, a sub-1 bps quoting drift with no on-chain effect. The static-analysis leads in my area (strict equalities on zero sentinels, the lock hub's rounded-up weeks) were checked and are benign.\n\nCoverage: 117 rows, one per listed entry point plus four invariant rows. The 23 in-area entry points (gate, five vesting contracts, splitter, the token's transfer paths and the two lock-hub leads) are marked holds with reasons. The rest are honestly marked unreached as outside the assigned area.","treeHash":null,"usage":{"cachedInputTokens":1566924,"inputTokens":418,"model":"claude-fable-5-1","outputTokens":32481,"runtime":"claude","turns":35,"wallClockMs":497631}},{"artifacts":[],"attempt":1,"bundleHash":"5c1b0f451f3ecf24ee051e1cd79041decaf9db1579acb374860d76dfb646bc7d","device":"8d428b115b0ebd64","findings":[],"hash":"ad4fd27ae2618d253ce0085eaabbdc33ef0e11378088494d609ec93254111cc4","nodeId":"cf116b53-e457-43e6-b1c0-a10865f2d321","outcome":"completed","summary":"I added 29 unit and fuzz tests and 6 invariant tests for the six genesis contracts, all in `test/genesis/`. I found no defect, so there is no `.imd-findings.json`.\n\n**Checks run:** the full `forge test` with the verifier's fuzz seed gives 722 passed, 0 failed, 3 skipped. The 3 skipped are the fork tests, which need `FORK_URL` and an archive RPC this machine doesn't have. The mainnet rehearsal with live holders and routing was not run here and is still owed. `forge build` is clean and I changed no source file.\n\n**`test/genesis/GenesisLaunch.t.sol`**\n- **Launch:** all six contracts are deployed in one call through the repo's local stand-in for the factory, with the brief's exact constructor arguments written out. The tests check every address, schedule, share and `FIXED`, that all four vestings name the splitter as their starter, and that `LaunchPlan.genesisLaunch` produces the same code. The gate works even though the real NFT address has no code on the test chain, which shows it never reads the NFT.\n- **Failure paths:**\n  - **Starter binding:** `bindStarter` is refused after the launch transaction (even when called as the splitter), and a second bind inside the deployment transaction also fails.\n  - **Constructors:** a zero address is rejected in every splitter position and as every vesting's beneficiary, and bad schedule lengths are rejected.\n  - **Split:**\n    - It reverts with `NotArrived` at 0 and at exactly 527,777,777, and succeeds one wei above.\n    - A remainder a few wei short of 750M still splits.\n    - Later arrivals go to the treasury vesting without restarting any clock.\n    - A second token gets clocks of its own.\n    - If a recipient refuses the transfer, the whole split reverts and nothing is left half-paid.\n  - **Vestings:** tokens sent to a vesting before the split start no clock, `release` called by anyone pays only the beneficiary, and tokens arriving late follow the running schedule.\n  - **Gate:**\n    - Only the writer can record or seal, and a batch that fails keeps nothing.\n    - `consume` reverts before the seal for every caller.\n    - After the seal it books per calling token and only what fits.\n    - Unlisted wallets and zero amounts book nothing.\n    - The seal is final.\n- **With the real `YoloToken`:** the split and the releases are never taxed, including during the taxed hour. A snapshot that is unsealed or sealed exactly at `openAt` makes the token refuse every buy in the window.\n- **Fuzz:**\n  - Any arrival above the fixed shares splits with nothing created or lost, and any amount at or below always reverts.\n  - Each schedule stays between its at-once part and the straight line, never decreases, and is complete after its duration.\n  - Releasing in many small steps pays exactly what one release at the end pays.\n  - Gate bookings never exceed a wallet's allowance.\n\n**`test/genesis/GenesisInvariant.t.sol`** (random call sequences, 256 runs)\n- **Splitter and vestings:** the handler randomly sends tokens to the splitter, donates directly to vestings, splits, releases from random callers and moves time forward. The invariants:\n  - Every token minted is somewhere it should be.\n  - Each beneficiary holds exactly what its vesting released, never ahead of the schedule.\n  - Clocks start only at the split, all four at the same second.\n  - The fixed shares are paid exactly once, the rest goes to the treasury vesting, and a split above the fixed shares never fails.\n- **Gate:** the totals, wallet count and snapshot hash match what was written; no caller books more than a wallet's allowance; the seal never reopens.\n\n**One observation, not reported as a defect:** `record` has no upper limit on a wallet's NFT count. An absurd count (above about 2²⁵⁶ / 5×10²³) makes `allowanceOf` and `consume` fail for that wallet. Only the writer can cause this, and the brief accepts the writer's off-chain snapshot as a trust assumption, so I wrote no test that blesses or flags it.\n\nOne thing a future test author should know: with ","treeHash":"4f4d062b624792f59ebc86acacec25ef7670517e","usage":{"cachedInputTokens":989263,"inputTokens":26,"model":"claude-opus-5-5","outputTokens":32429,"runtime":"claude","turns":14,"wallClockMs":619845}},{"artifacts":[],"attempt":3,"bundleHash":"52381ab205682d11087d63b85419dfdb41580c46994d55243c6cd4904a59eeb9","device":"3516474d8a268bd8","findings":[],"hash":"b0fc9e0f050ea0194a9863c27d3b4e876cd35304e1f411b43d98cbe0b6b3f525","nodeId":"e3f7614d-e338-4221-a9f9-94dd478e4bf9","outcome":"completed","summary":"The work is complete. Here is the recap.\n\n**Outcome.** The six genesis contracts (NftGate, the four vestings, YoloSplitter) launch exactly as they arrived. No share, schedule, allowance, recipient or constructor argument changed, and no owner, pause, upgrade path or fee was added. The previous attempt was rejected by the launch's static analysis on two high/high Slither findings in later-launch core contracts; both reproduced locally with Slither 0.11.6 and both are cleared on the final tree.\n\n**Changes made**\n\n- `src/YoloLockHub.sol`: `_checkpoint` now writes `_history[who]` directly instead of through a local storage pointer. Same storage and values; this cleared the false `uninitialized-state` finding.\n- `src/TaskVault.sol`: the identical plain-token pull in `_collect` and `collectBondPart` moved into one private `_pullToken` helper. The desk-only guard is untouched; this cleared the false `arbitrary-send-erc20` finding, whose heuristic cannot see that the desks pass their own caller.\n- `docs/LAUNCH-TASK.md` and `test/review/ReviewLaunch.t.sol`: the documented EIP-170 margins of TaskVault and YoloLockHub follow the few-byte size shifts, since a review test checks the doc against the compiled code.\n- `test/Adaptation.t.sol` (new): five tests covering both changes and reproducing the imported audit's findings.\n- `ADAPTATION.md`: each change, the finding that required it, the audit disposition, and the remaining lower-severity analyser output that was reviewed and left.\n\n**Imported audit.** All four findings reproduced as described, and none required a code change. The low finding (an unbound vesting never starts its clock) is the designed guard: the one-transaction launch binds the splitter to all four vestings, which the new test performs through the local factory stand-in and asserts, along with every share of the first split. The two NftGate info findings are the trust assumptions the brief lists as accepted. The handoff item from the audit stands: read `starter()` on all four vestings before the token launch.\n\n**Checks on the final tree**\n\n| Check | Result |\n|---|---|\n| forge build | passes, pre-existing warnings only |\n| forge test with the verifier's fuzz seed | 691 passed, 0 failed, 3 skipped (fork tests, no FORK_URL here) |\n| Slither over the repository | 0 high/high findings, no new finding |\n| script/check-launch-task.py | launch texts and doc arguments still match |\n\nThe fork rehearsal was not run because this machine has no mainnet archive RPC. No launch.json was written and nothing was committed.","treeHash":"a21b78495c817161ddc36d2dcab3fbe7f8f62330","usage":{"cachedInputTokens":3894350,"inputTokens":1186,"model":"claude-fable-5-1","outputTokens":44141,"runtime":"claude","turns":38,"wallClockMs":1827071}}],"verification":[{"checks":[{"durationMs":578886,"exitCode":0,"name":"build","output":"Compiling 177 files with Solc 0.8.28\nSolc 0.8.28 finished in 578.68s\nCompiler run successful with warnings:\nWarning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.\n  --> src/TaskVault.sol:67:1:\n   |\n67 | contract TaskVault {\n   | ^ (Relevant source part starts here and spans across multiple lines).\nNote: The payable fallback function is defined here.\n   --> src/TaskVault.sol:182:5:\n    |\n182 |     fallback() external payable {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.\n --> foundry-pp/DeployHelper95.sol:7:1:\n  |\n7 | abstract contract DeployHelper95 is TaskVault {\n  | ^ (Relevant source part starts here and spans across multiple lines).\nNote: The payable fallback function is defined here.\n   --> src/TaskVault.sol:182:5:\n    |\n182 |     fallback() external payable {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2072): Unused local variable.\n  --> test/audit/swarm117/SwarmAudit117.t.sol:29:10:\n   |\n29 |         (uint256 t, uint256 s) = _decidedAccept();\n   |          ^^^^^^^^^\n\n","passed":true},{"durationMs":18686,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 2 tests for test/review/ReviewProofFormat.t.sol:ReviewProofFormat\n[PASS] test_VideoAndTx() (gas: 133853)\n[PASS] test_XPostForms() (gas: 190014)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 882.54µs (1.09ms CPU time)\n\nRan 1 test for test/audit/AuditA.t.sol:AuditAUnit\n[PASS] test_Guard_vestingClocksStartAtTheSplit() (gas: 4074281)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.46ms (813.18µs CPU time)\n\nRan 4 tests for test/audit/SplitterBindsEveryVesting.t.sol:SplitterBindsEveryVestingTest\n[PASS] test_counterfactualVestingCannotBeLeftUnbound() (gas: 148438)\n[PASS] test_launchOrderBindsAllFourAndSplitStartsThem() (gas: 3889174)\n[PASS] test_splitterRefusesVestingWithoutCode() (gas: 12963)\n[PASS] test_unboundVestingLocksItsVestedPart() (gas: 666759)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 2.10ms (1.73ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_476db268aaec.t.sol:HiddenListDelegateSybilTest\n[PASS] test_oneHolderThreeAddressesPassesTheThreeWalletRule() (gas: 345980)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 626.36µs (229.03µs CPU time)\n\nRan 4 tests for test/DevPrices.t.sol:DevPricesTest\n[PASS] test_OnlyTheOwner_EmitsTheEvent() (gas: 67482)\n[PASS] test_TypoGuard_AtMostTenTimesPerCall_BothBounds() (gas: 361730)\n[PASS] test_YoloPriceIsThePriceOfOneToken() (gas: 47183)\n[PASS] test_ZeroRefused_InTheConstructorAndEverySetter() (gas: 13072)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 1.18ms (395.26µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780669)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.02ms (829.53µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_ced07852b14f.t.sol:HiddenListSnipeTest\n[PASS] test_lastSecondSnipeHidesWithoutReply() (gas: 505448)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 553.30µs (296.97µs CPU time)\n\nRan 1 test for test/review/ReviewLaunch.t.sol:ReviewLaunchFork\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 3.65ms (0.00ns CPU time)\n\nRan 3 tests for test/DisputeLinkOptional.t.sol:DisputeLinkOptionalTest\n[PASS] test_EmptyLinkPasses() (gas: 3032258)\nLogs:\n  dispute gas, empty link (test env): 358971\n\n[PASS] test_NonEmptyLinkStillChecked() (gas: 2575051)\nLogs:\n  dispute gas, with link (test env): 366969\n\n[PASS] test_ReasonStillMandatory() (gas: 1126632)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 22.78ms (6.32ms CPU time)\n\nRan 3 tests for test/audit/LazyAppealVoidWindow.t.sol:LazyAppealVoidWindowTest\n[PASS] test_LateReAppealAfterTheVoidWindow_Reverts() (gas: 2274205)\n[PASS] test_PokeAfterVoidPlusWindow_IsFinal() (gas: 2344563)\n[PASS] test_WindowAfterVoid_StartsAtTheVoidMoment() (gas: 2111458)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 20.03ms (3.62ms CPU time)\n\nRan 45 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666842)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825276)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505280)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131924)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17154)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9295)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267602)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37829)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009461)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173626)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312434)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209782)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61056)\nLogs:\n  owner hides 1 item: 54438\n\n[PASS] test_GasOwnerHides20Items() (gas: 584538)\nLogs:\n  owner hides 20 items (batch): 567305\n\n[PASS] test_GasOwnerUnhides1Item() (gas: 94224)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211555)\n[PASS] test_KeepVoteWithNoActiveRoundIsANoOp() (gas: 112110)\n[PASS] test_KeptBlocksNewRounds() (gas: 163090)\n[PASS] test_LocalConstantsMatchContract() (gas: 29212)\n[PASS] test_NonOwnerSetStateReverts() (gas: 32708)\n[PASS] test_NonexistentTokenIdSkippedNotReverted() (gas: 49881)\n[PASS] test_OwnerHidesAnItemNoVoteEverPassed() (gas: 62775)\n[PASS] test_OwnerHidesUnhidesKeepsABatch() (gas: 206197)\n[PASS] test_OwnerOfNftCanVote() (gas: 212441)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813396)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70415)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4120541)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2010992)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61729)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690048)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132543)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69865)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042275)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570419)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036389)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295427)\nSuite result: ok. 45 passed; 0 failed; 0 skipped; finished in 27.63ms (26.83ms CPU time)\n\nRan 3 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117SweetenerTest\n[PASS] test_sweetenerLargeBonusWithoutPricePaysInFull() (gas: 7147613)\n[PASS] test_sweetenerNoCapWithAPrice() (gas: 7066249)\n[PASS] test_sweetenerPayoutWithoutPricePaysAtOnce() (gas: 7199330)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 30.81ms (16.28ms CPU time)\n\nRan 3 tests for test/review/ReviewSweetener.t.sol:ReviewYoloStrictTest\n[PASS] test_Guard_PriceVanishingAfterTheQuoteDoesNotAffectTheSubmission() (gas: 1003776)\n[PASS] test_Guard_RevertingDevPricesDoesNotAffectTheSubmission() (gas: 956875)\n[PASS] test_Guard_creationNeedsNoPrice() (gas: 532450)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 33.56ms (1.72ms CPU time)\n\nRan 2 tests for test/review/ReviewYolo.t.sol:ReviewYoloUnit\n[PASS] test_vestingStreamsFromArrivalWithoutACliff() (gas: 897695)\n[PASS] test_whitelistRefusesOutputTakenToARouter() (gas: 1179155)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 782.34µs (644.80µs CPU time)\n\nRan 7 tests for test/review/ReviewProofs.t.sol:ReviewProofs\n[PASS] test_AppealPriceJump_RevertsWithMaxImdIn() (gas: 2259625)\n[PASS] test_BodyBoundedByParams_OneDisputerOnly() (gas: 2622082)\n[PASS] test_BondNeverDoubles_SubmitPassesWithQuotedMax() (gas: 1433363)\n[PASS] test_DisputeVoteAppealAfterTaskDeadline() (gas: 2232780)\n[PASS] test_Eip7702Voter_EcdsaSignatureCounted() (gas: 2148411)\n[PASS] test_FrontrunReward_SubmitRevertsWithMinReward() (gas: 1035069)\n[PASS] test_InvalidUtf8Rejected_NonAsciiRejected() (gas: 2407061)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 33.09ms (9.84ms CPU time)\n\nRan 2 tests for test/audit/StakeFloorZeroSplit.t.sol:StakeFloorZeroSplitTest\n[PASS] test_NoLock_NoStakeSplit() (gas: 6700005)\n[PASS] test_StakeFlooredToZero_UsesStakedSplit() (gas: 7001557)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 36.87ms (10.63ms CPU time)\n\nRan 2 tests for test/audit/StakePowerRelock.t.sol:StakePowerRelockTest\n[PASS] test_RelockOfAnEndedLockGivesNoStakePower() (gas: 241111)\n[PASS] test_WithdrawThenLockGivesZero_reference() (gas: 302773)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 485.59µs (236.34µs CPU time)\n\nRan 2 tests for test/audit/AddonAfterSub.t.sol:AddonAfterSubmissionTest\n[PASS] test_AddonAfterSubmission_BatchClaimPaysSweetener() (gas: 2687916)\n[PASS] test_AddonBeforeSubmission_BatchClaimPaysSweetener() (gas: 2585347)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 40.98ms (5.22ms CPU time)\n\nRan 1 test for test/LogReconstruction.t.sol:LogReconstructionTest\n[PASS] test_AllTextsRecoverableFromLogsByteForByte() (gas: 1451239)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 18.05ms (854.77µs CPU time)\n\nRan 14 tests for test/Desks.t.sol:DesksTest\n[PASS] test_BurnerMustHaveCode_DoerStakeMayBeLater() (gas: 45181)\n[PASS] test_DeskErrorsBubbleUnchanged() (gas: 46884)\n[PASS] test_DeskInternalFunctionsRefuseStrangers() (gas: 248781)\n[PASS] test_DeskUserFunctionsOnlyThroughTheVault() (gas: 501038)\n[PASS] test_DesksAreWiredToThisVaultOnce() (gas: 97671)\n[PASS] test_DoerStakeHub_FailingOrOversizedAnswer() (gas: 8165878)\n[PASS] test_ForwardedCallsKeepTheSender() (gas: 874537)\n[PASS] test_LaunchParamsEqualTheTestedOnes() (gas: 149109)\n[PASS] test_ParamsOfIsTheRegistrySnapshot() (gas: 716560)\n[PASS] test_UnknownFunctionAndStrayEthRevert() (gas: 65149)\n[PASS] test_ValueOnlyToPayableRoutes() (gas: 877026)\n[PASS] test_VaultBankAndTaskHooksRefuseStrangers() (gas: 253905)\n[PASS] test_VaultRefusesCheckerOfAnotherRegistry() (gas: 28313)\n[PASS] test_VaultRefusesDesksOfAnotherEnvironment() (gas: 25694)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 41.26ms (19.40ms CPU time)\n\nRan 6 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 596813)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 587161)\n[PASS] test_ProposalChecks() (gas: 215319)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7803685)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 37.84ms (14.01ms CPU time)\n\nRan 1 test for test/audit/PredictAfterTimer.t.sol:PredictAfterTimerTest\n[PASS] test_PredictAfterTimerEnded_WithoutPoke_IsAllowed() (gas: 2290358)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 41.07ms (3.03ms CPU time)\n\nRan 2 tests for test/Gas.t.sol:GasTest\n[PASS] test_GasProfile() (gas: 8438891)\nLogs:\n  createTask (USDC, mode B): 364269\n  createTask (ETH): 327447\n  topUp (idle task): 176641\n  submit (small task, mode B): 443457\n  topUp (pending, during submission): 195996\n  dispute (starts the vote): 369425\n  vote (2 NFTs, not the first vote): 116580\n  vote (20 NFTs, not the first vote): 226796\n  poke (vote end -> decided): 104867\n  appeal: 205816\n  askAppealSwarm (asks the filed appeal; builds body, pays Intake): 692497\n  onOracleResult (inside the 200k callback budget): 40971\n  poke (final settlement, rejected): 284985\n  claimDisputer (bond + share + ETH): 173844\n  claimVoterReward (bond share): 120868\n  poke (accept + fee split): 243661\n  withdraw (IMD credit): 70092\n  withdrawContribution (expires the task on the way): 79722\n  callSwarm (no NFT decision: bond + fee, builds body, pays Intake): 741407\n  poke (swarm silent -> back to the undecided window): 218168\n  submit ($500 task, no Intake request): 392083\n\n[PASS] test_GasSubmitEvidence() (gas: 5659964)\nLogs:\n  $100 task: submit, proof link only: 451594\n  $100 task: submit, + screenshot: 542433\n    extra gas: 90839\n  $100 task: submit, + 35-byte note: 525350\n    extra gas: 73756\n  $100 task: submit, + screenshot + 200-byte note: 938458\n    extra gas: 486864\n  $500 task: submit, proof link only: 451595\n  $500 task: submit, + screenshot: 542437\n    extra gas: 90842\n  $500 task: submit, + 35-byte note: 525354\n    extra gas: 73759\n  $500 task: submit, + screenshot + 200-byte note: 938467\n    extra gas: 486872\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 44.99ms (17.43ms CPU time)\n\nRan 1 test for test/fork/UniswapV3AdapterFork.t.sol:UniswapV3AdapterFork\n[SKIP] test_Fork_EthToImd() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 130.93µs (35.24µs CPU time)\n\nRan 1 test for test/audit/swarm117/VestingClockPreStart.t.sol:VestingClockPreStartTest\n[PASS] test_clockCannotBeStartedBeforeTheShareArrives() (gas: 449004)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 549.82µs (210.72µs CPU time)\n\nRan 4 tests for test/GasTextSize.t.sol:GasTextSizeTest\n[PASS] test_CallSwarm_MaxResupply() (gas: 2621001)\nLogs:\n  callSwarm (resupply: 3x512B rules + reason 512B + disputerProofUri 512B, hash+calldata scheme): 1024246\n\n[PASS] test_CreateTask_RealExamples_And_MaxText() (gas: 1513059)\nLogs:\n  createTask (1+1+1 B rules, floor): 332309\n  createTask (forehead: 114+376+219=709 B): 335361\n    of which text-size delta over floor: 3052\n  createTask (supermarket: 307+405+188=900 B): 335186\n    of which text-size delta over floor: 2877\n  createTask (3x512=1536 B, ceiling): 348242\n    of which text-size delta over floor: 15933\n\n[PASS] test_Dispute_MaxReason() (gas: 1297904)\nLogs:\n  dispute (reason 512B + disputerProofUri 512B): 510241\n\n[PASS] test_Submit_MaxProofAndExplanation() (gas: 1871942)\nLogs:\n  submit (proof 512B link + explanation/doerNote 200B, the max note): 1480118\n\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 47.10ms (8.81ms CPU time)\n\nRan 3 tests for test/audit/swarm117/VestingClockPreStart.t.sol:VestingStarterBindingTest\n[PASS] test_bindingClosesWithTheDeploymentTransaction() (gas: 39262)\n[PASS] test_starterIsTheSplitterAndCannotBeRebound() (gas: 35402)\n[PASS] test_unboundVestingStartsNoClock() (gas: 627278)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 511.86µs (323.48µs CPU time)\n\nRan 1 test for test/audit/MaxImdInCap.t.sol:MaxImdInCapTest\n[PASS] test_AppealPullsMoreImdThanMaxImdIn() (gas: 1643322)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 6.74ms (2.99ms CPU time)\n\nRan 3 tests for test/review/ReviewQuestionSize.t.sol:ReviewQuestionSize\n[PASS] test_FixedPartIs193BytesAtMaxIds() (gas: 1194279)\nLogs:\n  fixed part bytes at max ids: 193\n\n[PASS] test_TaskIdCountsOnceInFixedPart() (gas: 1932129)\nLogs:\n  bytes added by a 20-digit task id: 19\n\n[PASS] test_WorstCaseQuestionFitsIntakeLimit() (gas: 1194039)\nLogs:\n  worst-case question bytes: 2000\n\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 10.94ms (10.81ms CPU time)\n\nRan 1 test for test/review/ReviewYolo.t.sol:ReviewYoloVault\n[PASS] test_depressedPrice_touchesNeitherNewYoloTasksNorAnExistingBond() (gas: 1753834)\nLogs:\n  doer bond rew, honest / attacked: 300000000000000000000000 300000000000000000000000\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 22.28ms (1.34ms CPU time)\n\nRan 6 tests for test/audit/AuditSweetenerBonus.t.sol:AuditSweetenerBonus\n[PASS] test_backOnceNobodyCanSubmit() (gas: 909567)\n[PASS] test_noCap_wholeBonusPaidByTheRewardRule() (gas: 7510462)\n[PASS] test_noWithdrawFromAnOpenTask() (gas: 8427285)\n[PASS] test_payoutNeedsNoPrice() (gas: 7009383)\n[PASS] test_silentSwarmCallStillPaysTheWholeBonus() (gas: 8499535)\n[PASS] test_splitFollowsTheRewardRule_NftVotesAndStake() (gas: 14867270)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 56.90ms (39.66ms CPU time)\n\nRan 2 tests for test/audit/AuditSweetenerBonus.t.sol:AuditVestingClock\n[PASS] test_clockStartsAtTheFirstReleaseWithABalance() (gas: 1732627)\n[PASS] test_splitStartsTheClocks() (gas: 4709006)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.78ms (1.46ms CPU time)\n\nRan 4 tests for test/VoteBatch.t.sol:VoteBatchTest\n[PASS] test_Batch_BonusNotPaidOutYet_StaysClaimable() (gas: 8022186)\n[PASS] test_Batch_NothingToClaimReverts() (gas: 7901124)\n[PASS] test_Batch_PaysWhatSingleClaimsPay() (gas: 24099111)\n[PASS] test_Batch_TakesTheYoloBonusShare() (gas: 13834453)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 58.03ms (43.52ms CPU time)\n\nRan 1 test for test/VoteCountWidth.t.sol:VoteCountWidthTest\n[PASS] test_PastUint16Limit_StuckBefore_FineAfter() (gas: 11546)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 136.71µs (25.87µs CPU time)\n\nRan 8 tests for test/Yolo.t.sol:YoloTest\n[PASS] test_NoDeadlineRefused() (gas: 48466)\n[PASS] test_OtherTokensStillRefused() (gas: 632207)\n[PASS] test_UnpricedYolo_NoPriceNeededAnywhere() (gas: 6921113)\n[PASS] test_YoloBelowMinimumRefused() (gas: 131701)\n[PASS] test_YoloNoMandatoryCheckAtAnySize() (gas: 1268306)\n[PASS] test_YoloTaskAcceptedPaysInYolo() (gas: 6737151)\n[PASS] test_YoloTopUp_LockedUntilExpiry_ThenBack() (gas: 880008)\n[PASS] test_YoloWithRevertingDevPrices_SubmissionStillWorks() (gas: 1049471)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 35.07ms (16.82ms CPU time)\n\nRan 8 tests for test/CancelTask.t.sol:CancelTaskTest\n[PASS] test_Cancel_AcceptedByTimerButUnpoked_Reverts() (gas: 1204069)\n[PASS] test_Cancel_AfterExpiry_Reverts() (gas: 513097)\n[PASS] test_Cancel_AfterThePayout_Reverts() (gas: 1254688)\n[PASS] test_Cancel_EveryoneTakesBackExactlyWhatHePutIn_DevGetsNothing() (gas: 7019133)\n[PASS] test_Cancel_NothingNewAfterwards() (gas: 781799)\n[PASS] test_Cancel_OnlyTheDevWallet() (gas: 1335574)\n[PASS] test_Cancel_OpenTaskNoSubmission_PredictPositionsBackInFull() (gas: 1312564)\n[PASS] test_Cancel_UnknownTaskReverts() (gas: 35428)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 59.78ms (16.87ms CPU time)\n\nRan 1 test for test/audit/StepDeadlineAppealed.t.sol:StepDeadlineAppealedTest\n[PASS] test_StepDeadlineAppealed_IsVoidMoment() (gas: 2222975)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 21.65ms (1.36ms CPU time)\n\nRan 9 tests for test/VoteGas.t.sol:VoteGasTest\n[PASS] test_VoteGas_Claim() (gas: 781687)\nWarning: the following cheatcode(s) are deprecated and will be removed in future versions:\n  lastCallGas(): replaced by `lastFrameGas`\nLogs:\n  claimVoterReward exec: 147302\n  claimVoterReward tx: 146476\n\n[PASS] test_VoteGas_ClaimBatch() (gas: 16554919)\nLogs:\n  claimVoterRewards x1 exec: 181234\n  claimVoterRewards x1 tx: 176199\n  claimVoterRewards x4 exec: 394503\n  claimVoterRewards x4 tx: 393204\n  claimVoterRewards x5 exec: 466932\n  claimVoterRewards x5 tx: 465544\n\n[PASS] test_VoteGas_Delegate25_noDecide() (gas: 3983324)\nLogs:\n  vote 25 NFT as delegate (first vote, no decision) exec: 269898\n  vote 25 NFT as delegate (first vote, no decision) tx: 266929\n\n[PASS] test_VoteGas_First1() (gas: 159633)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n\n[PASS] test_VoteGas_First100() (gas: 818488)\nLogs:\n  vote 100 NFT (first vote, decides) exec: 585532\n  vote 100 NFT (first vote, decides) tx: 569723\n\n[PASS] test_VoteGas_First100_noDecide() (gas: 4366443)\nLogs:\n  vote 100 NFT (first vote, no decision) exec: 538581\n  vote 100 NFT (first vote, no decision) tx: 529228\n\n[PASS] test_VoteGas_First25() (gas: 350160)\nLogs:\n  vote 25 NFT (first vote, decides) exec: 281545\n  vote 25 NFT (first vote, decides) tx: 272021\n\n[PASS] test_VoteGas_First25_noDecide() (gas: 3898096)\nLogs:\n  vote 25 NFT (first vote, no decision) exec: 234562\n  vote 25 NFT (first vote, no decision) tx: 231526\n\n[PASS] test_VoteGas_Profile() (gas: 674688)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n  vote 10 NFT (later vote) exec: 139672\n  vote 10 NFT (later vote) tx: 137900\n  vote 15 NFT (later vote) exec: 159861\n  vote 15 NFT (later vote) tx: 157667\n  vote 2 NFT (later vote) exec: 124328\n  vote 2 NFT (later vote) tx: 123216\n\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 37.47ms (14.59ms CPU time)\n\nRan 1 test for test/review/ReviewLaunch.t.sol:ReviewLaunchRuntime\n[PASS] test_L5_vote_gasPerNft() (gas: 60470665)\nLogs:\n  vote 10 NFTs: 175377\n  vote 490 more NFTs: 2190139\n  gas per NFT (mock NFT): 4469\n  max NFTs in one vote under the cap (mock): 3754\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 65.48ms (39.31ms CPU time)\n\nRan 4 tests for test/Hosts.t.sol:HostsTest\n[PASS] test_BadHostsRevert() (gas: 482113)\n[PASS] test_EveryHostPasses() (gas: 3502196)\n[PASS] test_LengthLimit() (gas: 271540)\n[PASS] test_SubmitRejectsOffListLinks() (gas: 1296364)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 41.99ms (15.74ms CPU time)\n\nRan 1 test for test/review/ReviewSwarmOrders.t.sol:ReviewSwarmOrders\n[PASS] test_printTestQuestions() (gas: 153072)\nLogs:\n  T1 1719\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0xe0161177113a03c1dce7415ed9e1c076c939b5968441681ed1fdd3a3632bfed6\n  T2 1719\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xe132be23ce6255930556a45406075e62fb6340c0 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x9adb7cd61bdff19f992b83d1a9ea1517767d60fbec90fc4c558de186b04525b4\n  T3 1999\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/2\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\",\"claim_1\":\"The transaction moved only 5 IMD, less than the 10 the task requires.\",\"claim_1_proof\":\"https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b\",\"doer_note\":\"The Transfer log of the transaction shows 379.22 IMD sent from my address.\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x648b6ba47fb0a9d37651b0bedc56c9409154b663f6bc5b6b38e9577ef42a244a\n  T4 1542\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://imd.fun/docs/ | PROOF TYPE: link | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Web page; page contains: “Ask the oracle”; https, live at check; moneycanbuy.fun on the page\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x5d1a8eff6f36add21363c69a6355fc1ae6c261428b7091e74637bc4b9a3c032a\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 570.95µs (443.33µs CPU time)\n\nRan 7 tests for test/Cover.t.sol:CoverTest\n[PASS] test_CategoryStoredAndCoverEmitted() (gas: 389973)\n[PASS] test_CategoryUnchangedThroughDispute() (gas: 7923263)\n[PASS] test_CoverLinksAccepted() (gas: 1741012)\n[PASS] test_CoverLinksRejected() (gas: 1780674)\n[PASS] test_CoverNotInSwarmQuestion() (gas: 3517223)\n[PASS] test_EmptyCoverAndEveryCategory() (gas: 3268000)\n[PASS] test_GasCover() (gas: 1058759)\nLogs:\n  createTask, no cover: 322196\n  createTask, ipfs cover 66 bytes: 340032\n  cover in the event, extra gas: 17836\n  66-byte cover kept in storage (4 new slots): 112545\n  66-byte cover only in an event: 25869\n\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 71.16ms (33.25ms CPU time)\n\nRan 34 tests for test/YoloToken.t.sol:YoloTokenTest\n[PASS] test_AfterMinute60_PlainErc20() (gas: 136919)\n[PASS] test_BeforeOpenAt_NobodyBuys() (gas: 751324)\n[PASS] test_ConstructorRejectsZeroPoolManagerOrSafe() (gas: 9166)\n[PASS] test_DevVesting_Linear12Months_NoCliff() (gas: 991888)\n[PASS] test_GateWithoutCode_NoWhitelist_TaxStays() (gas: 237879)\n[PASS] test_Gate_ConsumeNeedsSealAndBooksPerCallingToken() (gas: 463899)\n[PASS] test_Gate_OnlyWriterRecordsAndSeals() (gas: 217032)\n[PASS] test_Gate_RecordChecksAndEvents() (gas: 564790)\n[PASS] test_Gate_SealIsIrreversible() (gas: 348151)\n[PASS] test_GenesisLaunch_SharesAddUp() (gas: 4276091)\n[PASS] test_IncentivesVesting_QuarterAtOnce_RestLinear24Months() (gas: 966880)\n[PASS] test_OpenAtBounds() (gas: 8963)\n[PASS] test_SealAtOpenAtDoesNotCount() (gas: 256792)\n[PASS] test_SellTax_BuyFreeSellTaxedInWindow_BothAt45() (gas: 564568)\n[PASS] test_SellTax_ExactAmounts() (gas: 1062276)\n[PASS] test_SellTax_OnTopOfBalanceAndAllowance() (gas: 480410)\n[PASS] test_SellTax_RoundsDownAndDustIsFree() (gas: 118872)\n[PASS] test_Snapshot_NftMovedAfterSnapshotGivesNothing() (gas: 504223)\n[PASS] test_Splitter_FixedSharesAndDustToTreasury() (gas: 501634)\n[PASS] test_Splitter_RejectsZeroAddresses() (gas: 5083)\n[PASS] test_Splitter_RemainderShortOf750M() (gas: 278536)\n[PASS] test_SupplyAndFixedSchedule() (gas: 66869)\n[PASS] test_Tax_ExactAmounts() (gas: 793061)\n[PASS] test_Tax_RoundsDownAndDustIsFree() (gas: 80084)\n[PASS] test_TeamVesting_Linear12Months_NoCliff() (gas: 838135)\n[PASS] test_TransfersAndTheLauncherAreFree() (gas: 769603)\n[PASS] test_TreasuryVesting_ShortRemainder() (gas: 145729)\n[PASS] test_TreasuryVesting_ThirdAtOnce_RestLinear12Months() (gas: 953334)\n[PASS] test_UnsealedSnapshot_WindowClosedToAll() (gas: 421091)\n[PASS] test_VestingBounds() (gas: 4331)\n[PASS] test_Whitelist_AllowancePerNftAndCumulative() (gas: 645093)\n[PASS] test_Whitelist_BoundaryAtMinute30() (gas: 408190)\n[PASS] test_Whitelist_IntermediaryRefused() (gas: 369420)\n[PASS] test_Whitelist_WalletOutsideSnapshotRefused() (gas: 282886)\nSuite result: ok. 34 passed; 0 failed; 0 skipped; finished in 11.21ms (9.65ms CPU time)\n\nRan 6 tests for test/BondBase.t.sol:BondBaseTest\n[PASS] test_Accepted_BondBackWithoutYolo() (gas: 7044636)\n[PASS] test_AuthorsTopUpDuringCheck_CountsOnceInThePot() (gas: 10792136)\n[PASS] test_EthRewardWithYoloAddon_BondIsImdPlusThreePercentEth() (gas: 1674268)\n[PASS] test_QueuedSubmission_BondFixedAtSubmission() (gas: 9407512)\n[PASS] test_Rejected_LoserBondSplitInImdAndEthOnly() (gas: 7719547)\n[PASS] test_TopUps_OnlyTheAuthorsCount() (gas: 7354812)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 78.51ms (47.28ms CPU time)\n\nRan 2 tests for test/audit/StepDeadlineAsked.t.sol:StepDeadlineAskedTest\n[PASS] test_IntakeCompletedWithoutAnswer_IsDueNow() (gas: 406776)\n[PASS] test_Pending_IsTheSilenceDeadline() (gas: 134190)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 19.99ms (567.14µs CPU time)\n\nRan 2 tests for test/audit/PredictZeroPoints.t.sol:PredictZeroPointsWinnerTest\n[PASS] test_ZeroPointWinner_TakesTheLosingPool() (gas: 1898347)\n[PASS] test_ZeroPointWinners_SplitByPosition() (gas: 2071515)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 40.08ms (2.34ms CPU time)\n\nRan 5 tests for test/review/ReviewLaunch.t.sol:ReviewLaunchStatic\n[PASS] test_L0_docLaunch0Args_matchPlan() (gas: 524881)\n[PASS] test_L1_perContractCodeMargin_matchesDoc() (gas: 37577219)\nLogs:\n  DevPrices 2467 runtime, margin 22109\n  UniswapV3SwapAdapter 1673 runtime, margin 22903\n  ParamsRegistry 13552 runtime, margin 11024\n  TextRules 5249 runtime, margin 19327\n  SwarmQuestionBuilder 5506 runtime, margin 19070\n  VotePower 942 runtime, margin 23634\n  AttestationChecker 2125 runtime, margin 22451\n  BuybackBurner 2614 runtime, margin 21962\n  NftGate (launch 0) 1916 runtime, margin 22660\n  IncentivesVesting (launch 0) 1936 runtime, margin 22640\n  DevVesting (launch 0) 1888 runtime, margin 22688\n  TeamVesting (launch 0) 1888 runtime, margin 22688\n  TreasuryVesting (launch 0) 1936 runtime, margin 22640\n  YoloSplitter (launch 0) 2113 runtime, margin 22463\n  YoloToken 4015 runtime, margin 20561\n  YoloLockHub 3219 runtime, margin 21357\n  CaseDesk 20064 runtime, margin 4512\n  DisputeDesk 21489 runtime, margin 3087\n  TaskVault 20601 runtime, margin 3975\n  YoloSweetener 6748 runtime, margin 17828\n  TrophyCatalog 4228 runtime, margin 20348\n  DareTrophy 11777 runtime, margin 12799\n  ProtocolDirectory 4546 runtime, margin 20030\n  HiddenList 3789 runtime, margin 20787\n  YoloPredict 6385 runtime, margin 18191\n\n[PASS] test_L2_docLaunch1Args_matchPlan() (gas: 889746)\n[PASS] test_L3_docLaunch2Args_matchPlan() (gas: 1361874)\n[PASS] test_L5_docLaunch3Args_matchPlan() (gas: 684503)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 11.24ms (17.27ms CPU time)\n\nRan 8 tests for test/review/ReviewAttestation.t.sol:ReviewAttestation\n[PASS] test_InconsistentCountsAreIgnored() (gas: 6412739)\n[PASS] test_NoFallback_NeitherOnePersonNorOrderedPanel() (gas: 2373699)\n[PASS] test_OnePersonPanelIsSilenceOnAppeal() (gas: 4598475)\n[PASS] test_OnePersonPanelIsSilenceOnCall() (gas: 2840857)\n[PASS] test_OrderedPanelCounts() (gas: 4402532)\n[PASS] test_PanelBounds() (gas: 1799342)\n[PASS] test_PanelChangeWaitsTimelock() (gas: 3580554)\n[PASS] test_QuorumBelowOrderedIsIgnored() (gas: 2315546)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 83.54ms (46.33ms CPU time)\n\nRan 2 tests for test/review/ReviewGas.t.sol:ReviewGas\n[PASS] test_AppealAskGas_Under1_5M() (gas: 4618000)\nLogs:\n  askAppealSwarm -> swarm question (lazy ask, with resupply), gas: 836419\n  body bytes: 2679\n\n[PASS] test_CallSwarmGas_MaxBody() (gas: 3660241)\nLogs:\n  callSwarm max body (with resupply), gas: 957165\n  body bytes: 2679\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 20.53ms (4.53ms CPU time)\n\nRan 3 tests for test/audit/YoloModulesAudit.t.sol:YoloModulesAuditTest\n[PASS] test_ContributorCanPredict() (gas: 1382579)\n[PASS] test_Guard_PostExpiryWithdrawalChangesNothing() (gas: 1548325)\n[PASS] test_ResidualGone_NoWithdrawalWhileOpen() (gas: 1529594)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 19.51ms (1.83ms CPU time)\n\nRan 21 tests for test/BuybackWallet.t.sol:BuybackWalletTest\n[PASS] test_Balances_View() (gas: 711993)\n[PASS] test_BurnYolo_Anyone() (gas: 341371)\n[PASS] test_Constructor_StartWallet_AndZeroRefused() (gas: 34246)\n[PASS] test_EthAndImd_FullStake_WalletInTheirCurrency() (gas: 11291350)\n[PASS] test_EthWalletGriefsGas_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7159972)\n[PASS] test_EthWalletReverts_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7115130)\n[PASS] test_Forward_AnyoneOnlyToTheWallet_Totals() (gas: 947491)\n[PASS] test_Forward_EthRefused_StaysInTheBurner() (gas: 322027)\n[PASS] test_Forward_RefusesYoloAndUnknown() (gas: 285884)\n[PASS] test_FullStake_Accepted_Doer94_Wallet5_50_Treasury0_50() (gas: 6995188)\n[PASS] test_HalfStake_Accepted_Doer92_Wallet6_50_Treasury1_50() (gas: 6986981)\n[PASS] test_NftRight_FullStake_Wallet0_50() (gas: 7838514)\n[PASS] test_NftRight_NoStake_Wallet0() (gas: 7585072)\n[PASS] test_NftUndecided_FullStake_Wallet5_50() (gas: 7375036)\n[PASS] test_NftWrong_FullStake_Wallet5_50() (gas: 8805741)\n[PASS] test_NftWrong_NoStake_Wallet0() (gas: 8486734)\n[PASS] test_NoStake_Accepted_NothingToTheWallet() (gas: 6740381)\n[PASS] test_Rejected_NothingToTheWallet() (gas: 7583537)\n[PASS] test_SetBuybackWallet_OnlyDev_WithEvent() (gas: 518388)\n[PASS] test_YoloAddOn_BurnsNeverToTheWallet() (gas: 7150246)\n[PASS] test_YoloReward_FullStake_BurnsNeverToTheWallet() (gas: 6919289)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 112.06ms (97.07ms CPU time)\n\nRan 6 tests for test/OptionalFields.t.sol:OptionalFieldsTest\n[PASS] test_AuthorSubmits_AcceptedQuietly_PaidAsDoer() (gas: 6708456)\n[PASS] test_AuthorSubmits_DisputedRejected_LosesBond() (gas: 7458778)\n[PASS] test_Cover_EmptyAccepted_NonEmptyStillChecked() (gas: 566851)\n[PASS] test_DisputerLink_EmptyAccepted() (gas: 1271975)\n[PASS] test_Note_EmptyAccepted_EveryProofType() (gas: 1868693)\n[PASS] test_Screenshot_EmptyAccepted_OnchainTxAndLink() (gas: 1802628)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 27.38ms (13.92ms CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 262780, ~: 262354)\n[PASS] test_Fix_ContractWalletVotesItself() (gas: 2222949)\n[PASS] test_Guard_DoerCannotAnswerHisOwnAppealInTheNameOfTheDisputers() (gas: 6302877)\n[PASS] test_Guard_FrontRunnerCannotLiftABallotAndDecide() (gas: 14898889)\n[PASS] test_Guard_HoldersOwnVotesDecideAtTheVoteEnd() (gas: 10882048)\n[PASS] test_NoBatchToPoison() (gas: 1804806)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 125.69ms (75.30ms CPU time)\n\nRan 7 tests for test/review/ReviewSweetener.t.sol:ReviewSweetenerTest\n[PASS] test_Guard_bonusCannotBePulledBeforeTheDeadline() (gas: 7145124)\n[PASS] test_Guard_moduleTakesTokenAndRegistryFromTheVault() (gas: 26381)\n[PASS] test_Guard_reentryFromTheEthRefundIsLocked() (gas: 2310008)\n[PASS] test_Guard_rejectionWithAQueueLeavesNoWithdrawGap() (gas: 11476287)\n[PASS] test_Guard_sweetenPlaysTheTimersFirst_NoAddonIntoADecidedTask() (gas: 9679078)\n[PASS] test_Guard_tieAcceptancePaysTheBonus() (gas: 7489058)\n[PASS] test_Rule_AddonBondsSeparatelyInYolo_NoCap() (gas: 9099991)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 55.13ms (47.24ms CPU time)\n\nRan 14 tests for test/Sweetener.t.sol:SweetenerTest\n[PASS] test_AcceptedDoerGetsTheBonusMinusFee() (gas: 6969434)\n[PASS] test_DoerWhoSweetened_StakeExtraOnTheBonus() (gas: 6970058)\n[PASS] test_ExpiredTaskReturnsTheBonus() (gas: 5535056)\n[PASS] test_IdleBeforeDeadlineLocked_AfterDeadlineBack(uint256) (runs: 256, μ: 346732, ~: 346562)\n[PASS] test_LockedWhileOpen_EvenAfterRejection_FreeAfterDeadline() (gas: 8460809)\n[PASS] test_NftDecidedRight_VotesGetFivePercent() (gas: 7892558)\n[PASS] test_NftWrong_SwarmAccepts_VotesGetNothing() (gas: 8539975)\n[PASS] test_PayoutGoesToTheAcceptedSubmissionOfThatTask() (gas: 11277825)\n[PASS] test_PayoutNeedsNoYoloPrice() (gas: 1159011)\n[PASS] test_RefusedInputs() (gas: 127035)\n[PASS] test_StakedDoer_FullPower_GetsFourMore() (gas: 6849195)\n[PASS] test_StakedDoer_NftRight_VotesFiveDoerFourMore() (gas: 7868875)\n[PASS] test_StakedDoer_PartPowerAndSmallPower() (gas: 11839014)\n[PASS] test_TinyAddon_NoBondPart_NothingStuck() (gas: 8875182)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 131.55ms (116.04ms CPU time)\n\nRan 1 test for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccessIsolated\n[PASS] test_Guard_WireClosesWithTheDeployTx() (gas: 69322)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.17ms (1.07ms CPU time)\n\nRan 12 tests for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccess\n[PASS] test_Guard_ForgedSuffixDirectToDeskReverts() (gas: 1275565)\n[PASS] test_Guard_LocalFactoryLaunchesOnlyForItsDeployer() (gas: 15786110)\n[PASS] test_Guard_NoEmergencyExit_PokeAlwaysResolves() (gas: 1139159)\n[PASS] test_Guard_NoRewireAfterLaunch() (gas: 74617)\n[PASS] test_Guard_ReentryFromEthRefundIsLocked() (gas: 1594081)\n[PASS] test_Guard_ReentryFromSwapHookIsLocked() (gas: 1649346)\n[PASS] test_Guard_RoutedSelectorsMatchDeskAbi() (gas: 382)\n[PASS] test_Guard_SiblingAndVaultCannotCrossCall() (gas: 383550)\n[PASS] test_Guard_SwappedDesksRevertTheDeployment() (gas: 39035)\n[PASS] test_Guard_UserSuffixThroughVaultIsIgnored() (gas: 1575780)\n[PASS] test_Guard_VaultRoutesNoDeskInternalSelector() (gas: 408709)\n[PASS] test_Guard_WireIsFirstComeInsideTheCreatingTx() (gas: 262400)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 33.55ms (9.63ms CPU time)\n\nRan 12 tests for test/Payments.t.sol:PaymentsTest\n[PASS] test_BlockedReceiver_PaidAsCredit() (gas: 2017711)\n[PASS] test_EthRefundToRejectingContract_IsCredited() (gas: 896898)\n[PASS] test_ModeA_CallSwarmWithEth() (gas: 8048392)\n[PASS] test_ModeA_CreateImdTaskWithEth() (gas: 3886097)\n[PASS] test_ModeA_Disabled() (gas: 3660281)\n[PASS] test_ModeA_DisputeWithUsdc() (gas: 7121099)\n[PASS] test_ModeA_Reverts() (gas: 2181377)\n[PASS] test_ModeA_SubmitWithEth_SurplusAndExcessRefunded() (gas: 6816992)\n[PASS] test_ReentrancyOnEthPayout_BlockedAndCredited() (gas: 2741643)\n[PASS] test_TopUpHasNoFee() (gas: 4019552)\n[PASS] test_TreasurySweep_TakesEverything() (gas: 6637475)\n[PASS] test_WithdrawTo_ZeroAddress_Reverts() (gas: 765442)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 50.74ms (34.13ms CPU time)\n\nRan 13 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117Test\n[PASS] test_answerAfterTheGraceIgnoredWhoeverPoked() (gas: 8747283)\n[PASS] test_answerDeliveredAfterTheGraceIgnoredEvenUnpoked() (gas: 8409763)\n[PASS] test_answerSignedAfterTheTimeoutIsSilenceAtTheEndOfTheGrace() (gas: 8512745)\n[PASS] test_authorFrontRunsSubmitWithWithdrawal() (gas: 6564106)\n[PASS] test_doerAppealsAgainstOwnAcceptance() (gas: 9163402)\n[PASS] test_doerCannotCallTheSwarmAgainstHimself() (gas: 8086704)\n[PASS] test_doerMayStillAppealARejection() (gas: 8657979)\n[PASS] test_expiredAttestationIsIgnored() (gas: 8339918)\n[PASS] test_lastAttesterCannotBeRemoved() (gas: 403156)\n[PASS] test_noNoticeNeededAfterExpiry() (gas: 3790424)\n[PASS] test_pokeAtDeadlineTurnsLateAnswerIntoSilence() (gas: 8758093)\n[PASS] test_rewardLockedUntilTheDeadlineAndWhileJudged() (gas: 6720357)\n[PASS] test_walletVotesBothSidesAndIsPaid() (gas: 7522228)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 118.63ms (81.93ms CPU time)\n\nRan 2 tests for test/audit/LateAppealAsk.t.sol:LateAppealAskTest\n[PASS] test_LateAppealAskReverts() (gas: 2108484)\n[PASS] test_TimelyAppealAskIsAsked() (gas: 2279994)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 6.48ms (2.98ms CPU time)\n\nRan 1 test for test/fork/LaunchRehearsal.fork.t.sol:LaunchRehearsalForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 1.80ms (0.00ns CPU time)\n\nRan 10 tests for test/TaskRules.t.sol:TaskRulesTest\n[PASS] test_EachField_513BytesReverts() (gas: 1049015)\n[PASS] test_EachField_EmptyOrBadCharReverts() (gas: 614395)\n[PASS] test_Gas_CreateTask_3x512() (gas: 1184910)\nLogs:\n  createTask 3x512 exec gas: 408236\n  createTask 3x512 tx gas (exec + 21000 + calldata): 457572\n\n[PASS] test_Gas_CreateTask_Forehead() (gas: 780412)\nLogs:\n  createTask forehead exec gas: 394468\n  createTask forehead tx gas (exec + 21000 + calldata): 430728\n\n[PASS] test_Gas_CreateTask_Supermarket() (gas: 843758)\nLogs:\n  createTask supermarket exec gas: 394167\n  createTask supermarket tx gas (exec + 21000 + calldata): 433875\n\n[PASS] test_LaunchParams_PassBounds() (gas: 121898)\n[PASS] test_OwnerExample_Forehead_Creates() (gas: 488779)\n[PASS] test_OwnerExample_Supermarket_Creates() (gas: 466999)\n[PASS] test_SwarmBody_ThreeDefinitions() (gas: 5186804)\nLogs:\n  supermarket: question bytes: 804\n  supermarket: body bytes: 2272\n\n[PASS] test_ThreeTimes512_Creates() (gas: 670730)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 37.74ms (19.32ms CPU time)\n\nRan 4 tests for test/Emergency.t.sol:EmergencyTest\n[PASS] test_AppealAskedLazily_ResolvesByTimer() (gas: 9135153)\n[PASS] test_NoDecision_ResolvesItselfByTimer() (gas: 7814841)\n[PASS] test_ResolvesByTimer_WhenTheStateMachineCanResolve() (gas: 8210033)\n[PASS] test_SwarmNeverAnswers_ResolvesByTimer() (gas: 8765260)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 138.13ms (32.96ms CPU time)\n\nRan 25 tests for test/Tasks.t.sol:TasksTest\n[PASS] test_AuthorCannotWithdrawOpenTask_SubmitWorks() (gas: 6689181)\n[PASS] test_CreateTask_AllCurrencies() (gas: 7426349)\n[PASS] test_CreateTask_NoAuthorFee() (gas: 3849348)\n[PASS] test_CreateTask_Reverts() (gas: 1826912)\n[PASS] test_DeadlineDuringSubmission_ExpiresAfterRejection() (gas: 7474565)\n[PASS] test_DeadlineDuringSubmission_SubmissionStillRuns() (gas: 10453361)\n[PASS] test_DeadlineRefund() (gas: 4107237)\n[PASS] test_ExcessEthRefunded() (gas: 397446)\n[PASS] test_NoCap_RewardTopUpsAndOpenTotal() (gas: 38500383)\n[PASS] test_NoDispute_AuthorOnly_24hWindow_USDC() (gas: 7063160)\n[PASS] test_NoDispute_ForeignMoney_24hWindow_ETH() (gas: 6931711)\n[PASS] test_NoDispute_IMDReward() (gas: 6642040)\n[PASS] test_NoDispute_StakeBonusAndBurn() (gas: 16396583)\n[PASS] test_NoDispute_YoloReward_TreasuryShareBurned() (gas: 11289772)\n[PASS] test_NoEscalation_SameBondAfterRejections() (gas: 5291685)\n[PASS] test_ParamBounds() (gas: 430781)\n[PASS] test_ParamChange_DoesNotAffectExistingTasks() (gas: 13846801)\n[PASS] test_ParamProposalCancel() (gas: 1336248)\n[PASS] test_PauseStopsOnlyNewTasks() (gas: 1280793)\n[PASS] test_Queue_FlatBondAndVoidRefund() (gas: 13133742)\n[PASS] test_QuoteBondFormula() (gas: 1949242)\n[PASS] test_TopUpDuringSubmission_PaidToDoerOnAcceptance() (gas: 7134989)\n[PASS] test_TopUpDuringSubmission_StaysInRewardAfterRejection() (gas: 10567037)\n[PASS] test_TopUpRightBeforeDeadline_LockedThenReturned() (gas: 4318158)\n[PASS] test_WithdrawRules() (gas: 12242776)\nSuite result: ok. 25 passed; 0 failed; 0 skipped; finished in 226.58ms (261.12ms CPU time)\n\nRan 13 tests for test/TaskFields.t.sol:TaskFieldsTest\n[PASS] test_Condition_StoredAndLimited() (gas: 1091049)\n[PASS] test_GasFields() (gas: 1618610)\nLogs:\n  createTask (title 21 B, condition 64 B): 329645\n  submit (video link): 528036\n  submit (tx hash): 441803\n\n[PASS] test_ProofType_StoredPackedFixed() (gas: 1590055)\n[PASS] test_Proof_LengthStillFirst() (gas: 1230467)\n[PASS] test_Proof_Link() (gas: 7345903)\n[PASS] test_Proof_OnchainTx() (gas: 2988750)\n[PASS] test_Proof_Video() (gas: 6824418)\n[PASS] test_Proof_XPost() (gas: 8882817)\n[PASS] test_SwarmQuestion_DoerNoCode() (gas: 3512740)\n[PASS] test_SwarmQuestion_ProofTypeIn_TitleOut() (gas: 24294113)\n[PASS] test_SwarmQuestion_WorstCaseFitsIntakeLimit() (gas: 4668953)\n[PASS] test_Title_InEventOnly_Limits() (gas: 2219290)\n[PASS] test_Title_MatchesTrophyLimit() (gas: 6161)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 113.97ms (92.78ms CPU time)\n\nRan 2 tests for test/review/ReviewGasGrief.t.sol:ReviewGasGrief\n[PASS] test_CallSwarmWithTightGas_CannotSkipTheQuestion() (gas: 7996607)\nLogs:\n  callSwarm gas that skips the question: 0\n\n[PASS] test_PokeWithTightGas_CannotVoidAppeal() (gas: 3570998)\nLogs:\n  askAppealSwarm gas that voids the appeal: 0\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 177.42ms (283.28ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1981804, ~: 1629329)\n[PASS] test_AuthorCanPredict() (gas: 716964)\n[PASS] test_BelowMinPositionReverts() (gas: 465549)\n[PASS] test_ClaimBeforeFinalReverts() (gas: 800954)\n[PASS] test_ClosesAtDeadline_PausesWhileBusy() (gas: 3223161)\n[PASS] test_CompletedTask_PotPaidOut_StillWillDoWon() (gas: 1655594)\n[PASS] test_ConstructorChecks() (gas: 4332)\n[PASS] test_ContributorAfterPosition_StillGetsHerFullSplitShare() (gas: 2401060)\n[PASS] test_Deferred_BurnedOnExpiry() (gas: 1311560)\n[PASS] test_Deferred_HalfToAuthorHalfToDoer() (gas: 2011732)\n[PASS] test_Deferred_NobodyOnWillDo_PoolToAuthorAndDoer() (gas: 1688698)\n[PASS] test_Doer_ClaimingFirst_StillGetsFullShare() (gas: 1883063)\n[PASS] test_Doer_PositionBeforeSubmission_GetsFullWinnerShare() (gas: 2037903)\n[PASS] test_Doer_SharesTheLosingPoolByPoints() (gas: 2129769)\n[PASS] test_EntrySplit_5_5_90() (gas: 776650)\n[PASS] test_EveryTaskHasADeadline() (gas: 755805)\n[PASS] test_NoCap_LargePositionAccepted() (gas: 2047256)\n[PASS] test_NoPriceNeeded_ImdAndUsdcRewards_MarketOpensAnyway() (gas: 1377575)\n[PASS] test_NumericExample_AliceBobCarl() (gas: 7778863)\n[PASS] test_RewardLockedUntilDeadline_WinnersPaidInFull() (gas: 2201623)\n[PASS] test_SweetenerAfterPosition_StillGetsFullShare() (gas: 2154201)\n[PASS] test_TotalPointsRoundingToZero_SplitByPositionInsteadOfReverting() (gas: 1273629)\n[PASS] test_Weight_CountsFromTaskCreation() (gas: 735882)\nSuite result: ok. 23 passed; 0 failed; 0 skipped; finished in 211.53ms (214.46ms CPU time)\n\nRan 15 tests for test/SideCalls.t.sol:SideCallsTest\n[PASS] test_BothSidesCall_EachPaysFromItsOwnBond() (gas: 7991727)\n[PASS] test_Cancel_AfterSideCalls_BondsBackMinusFees() (gas: 6928145)\n[PASS] test_DisputerAppeal_Loses_RestOfBondToWinner() (gas: 7664030)\n[PASS] test_DisputerCallingForTheDoer_PaysLikeAStranger() (gas: 7123408)\n[PASS] test_DoerAppeal_Wins_RestOfBondPlusLoserBond() (gas: 7572320)\n[PASS] test_FeeAboveBond_WalletPaysOnlyTheRest() (gas: 7596764)\n[PASS] test_RepeatCall_CheaperThanBond_ThreeCalls() (gas: 9104716)\n[PASS] test_RepeatCall_Disputer_Loses() (gas: 8619283)\n[PASS] test_RepeatCall_Disputer_Wins() (gas: 8479887)\n[PASS] test_RepeatCall_Doer_Loses() (gas: 7847907)\n[PASS] test_RepeatCall_Doer_Wins() (gas: 8126599)\n[PASS] test_RepeatCall_EachSideOwnFirst() (gas: 8697767)\n[PASS] test_SideSpent_View() (gas: 8470002)\n[PASS] test_StrangerAppeal_PaysBondAndFee() (gas: 7493740)\n[PASS] test_VoidSideAppeal_BondWhole() (gas: 7752007)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 168.32ms (105.61ms CPU time)\n\nRan 14 tests for test/Trophy.t.sol:TrophyTest\n[PASS] test_BadgesPerCategory() (gas: 4942870)\n[PASS] test_Catalog_DisableKeepsMinted() (gas: 4215406)\n[PASS] test_Catalog_Guards() (gas: 8986832)\nLogs:\n  addDesign gas, 8192-byte SVG: 7465885\n\n[PASS] test_Catalog_Launch3Gas() (gas: 9161558)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4546 runtime bytes\n  HiddenList 3789 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8668683\n  launch 3 calldata bytes 42884\n  launch 3 total gas (upper bound) 9375827\n\n[PASS] test_Catalog_NeedsAddress() (gas: 6203)\n[PASS] test_Catalog_OwnerAddsDesign() (gas: 7681558)\n[PASS] test_Catalog_StrangerCannotEdit() (gas: 468134)\n[PASS] test_Catalog_UpdateThenMint() (gas: 7832757)\n[PASS] test_DoerMintsOnceBurningYolo() (gas: 1665316)\n[PASS] test_FixedPrice_IgnoresTheDevPrice() (gas: 166897)\n[PASS] test_MetadataOnChain() (gas: 4576380)\n[PASS] test_OnlyTheDoerOfAnAcceptedSubmission() (gas: 12589976)\n[PASS] test_RewardFormatting() (gas: 11024502)\n[PASS] test_TitleGuards() (gas: 1310117)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 187.95ms (90.91ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3917845, ~: 3950481)\n[PASS] test_10Votes_DecideAtTheVoteEnd() (gas: 3407006)\n[PASS] test_5Votes_NoDecision() (gas: 321792)\n[PASS] test_BadVotesRevert() (gas: 210199)\n[PASS] test_Delegate_OneTokenOnly() (gas: 325915)\n[PASS] test_Delegate_VotesForTheOwner_IdsOnce() (gas: 640428)\n[PASS] test_InstantDecision_NextBatchReverts() (gas: 511387)\n[PASS] test_Instant_20Votes() (gas: 388949)\n[PASS] test_MockNft_MintBatch() (gas: 3160319)\n[PASS] test_NftInEscrow() (gas: 452347)\n[PASS] test_NftsGotAfterOpeningVote() (gas: 2219688)\n[PASS] test_NoVoteWithoutDispute() (gas: 781945)\n[PASS] test_NotOwnId_RevertsAll() (gas: 212538)\n[PASS] test_OneWallet_DecidesAlone() (gas: 1001607)\n[PASS] test_OneWallet_MinWinnerWallets() (gas: 4646083)\n[PASS] test_OnlyTheHolderVotesHisNfts() (gas: 355800)\n[PASS] test_RepeatInList_Reverts() (gas: 114398)\n[PASS] test_SideCannotChange() (gas: 268074)\n[PASS] test_TransferredAfterVote_NoSecondVote() (gas: 1601894)\n[PASS] test_TwoThousandNfts_NeverMoreVotes() (gas: 60332000)\n[PASS] test_TwoTransactionsSameSide() (gas: 349588)\n[PASS] test_VoteCountsEverySentNft() (gas: 14024377)\n[PASS] test_VoterRewardSplitByCorrectVotes() (gas: 7042216)\n[PASS] test_VotesAfterVoteEndRevert() (gas: 58437)\nSuite result: ok. 24 passed; 0 failed; 0 skipped; finished in 385.90ms (403.27ms CPU time)\n\nRan 10 tests for test/Evidence.t.sol:EvidenceTest\n[PASS] test_AskedQuestionCarriesEvidence() (gas: 3588367)\n[PASS] test_BadEvidenceReverts() (gas: 3486848)\n[PASS] test_EvidenceOptional_OnchainTxAndLink_NoScreenshotOk() (gas: 1628669)\n[PASS] test_EvidenceRequired_ScreenshotStillReachesQuestion() (gas: 2330777)\n[PASS] test_EvidenceRequired_XPostAndVideo_RevertWithoutScreenshot() (gas: 2576424)\n[PASS] test_NoEvidence_NothingAddedNoEvent() (gas: 2950251)\n[PASS] test_OnlyOnePart() (gas: 5784669)\n[PASS] test_StoredEmittedAndAsked() (gas: 4457235)\n[PASS] test_WorstBodyFitsIntakeLimit() (gas: 7930045)\nLogs:\n  max claims accepted at maxTextBytes 512: 10\n  worst body bytes: 15503\n\n[PASS] test_WorstQuestionFitsIntakeLimit() (gas: 3466727)\nLogs:\n  worst question bytes: 2000\n  worst question: qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTASK: definitions task, task_proof and task_no | PROOF: pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp | PROOF TYPE: onchain_tx | DOER: 0xabcdef0123456789abcdef0123456789abcdef01 | CASE: 18446744073709551615/18446744073709551615/4294967296\n\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 456.28ms (65.12ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272061, ~: 271878)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 150881, ~: 150985)\n[PASS] test_ConstructorTakesYolo() (gas: 18365)\n[PASS] test_EndOnlyLater_AmountOnlyGrows() (gas: 484281)\n[PASS] test_EndedLockLockedAgain() (gas: 476373)\n[PASS] test_LockAndWithdrawAfterTheEnd() (gas: 390478)\n[PASS] test_LockTermsAndZero() (gas: 406523)\n[PASS] test_PowerAt_ReadsTheLockStrictlyBefore() (gas: 697745)\n[PASS] test_Power_AddAndExtend() (gas: 866578)\n[PASS] test_Power_FixedAtTheLock_DoesNotFall() (gas: 463606)\n[PASS] test_Power_RollingOneWeekExtensionDropsToOneWeek() (gas: 697449)\n[PASS] test_Rule_QueuedDoer_PowerAtTheSubmission() (gas: 3239695)\n[PASS] test_StakePower_RunningLockOnly() (gas: 516186)\n[PASS] test_Vault_AddedAfterTheSubmission_NotCounted() (gas: 7091945)\n[PASS] test_Vault_LockEndedBeforePayout_NoBonus_RelockedBonus() (gas: 11465650)\n[PASS] test_Vault_LockedInTheSubmissionBlockOrLater_NoBonus() (gas: 11388845)\n[PASS] test_Vault_LowestPriceOfTheWindow() (gas: 1473496)\n[PASS] test_Vault_NoYoloPrice_NoBonus() (gas: 1366317)\n[PASS] test_Vault_PowerEqualsReward_Bonus4() (gas: 7007681)\n[PASS] test_Vault_PowerHalfTheReward_Bonus2() (gas: 6966455)\n[PASS] test_Vault_RelativeToTheReward() (gas: 16089446)\n[PASS] test_Vault_YoloReward_Direct() (gas: 6881649)\nSuite result: ok. 22 passed; 0 failed; 0 skipped; finished in 636.68ms (112.51ms CPU time)\n\nRan 8 tests for test/review/ReviewSplitRegression.t.sol:ReviewSplitRegression\n[PASS] test_events_EmitterMap() (gas: 22688427)\n[PASS] test_golden_AcceptedAfterDispute_NftRight() (gas: 9760483)\nLogs:\n  ledger after settlement: 0x4830ea4fcc6dc5027c1f37bcad5852e0b11e2b542d5bf3a1b4e0bf9f8b5d8d55\n  settlement record: 0xa4018a5ae1f016fc869c28d2e27ea22d88e1d937e0efb0592baa756f921319ad\n  ledger after every payout: 0x65dcffba9fa5f218c43b4c3f810b8d61e0676b615cd88c2200be717a94fa422b\n\n[PASS] test_golden_AppealSwarmOverturnsNft() (gas: 10297057)\nLogs:\n  ledger after settlement: 0x08d27cc2a8693d93d430a64d7a89b5d993f0bc3aaa0f468e9d26ec43c1adc65d\n  settlement record: 0x7d5a35e896f5cc60c3cebee7443c57120a4abf9130d2d794c36a86769c152705\n  ledger after every payout: 0x808551d4f18f1c9f9021bde675a4cd14dd60e843467f3bfd666fd1221b8bddd1\n\n[PASS] test_golden_CallSwarmSilentThenCalledAgain() (gas: 10587005)\nLogs:\n  ledger after settlement: 0x38cc28fed888cc3bcd65c4d5b72aa4ec16f7b4731c45419596c21cda6e366d7a\n  settlement record: 0x12641fdf0b0d28314e7cdd711051407e007d2e0d2c3006ec555db150a1bb11c5\n  ledger after every payout: 0xa82fdb047f774ed464eb049c7e6b261d5bc214d5978856d853700b07460f2f09\n\n[PASS] test_golden_RejectedThenQueuedAccepted() (gas: 11975747)\nLogs:\n  ledger after settlement: 0x76984c0edfd7138e1eeafbca442dc75eac4cdca48dfce84a332a3dbe3eb570fd\n  settlement record: 0xdb27e0d67237b840a3897b3e94d0bc38e88d80d4f00b209c05909985a9e9b9f4\n  ledger after every payout: 0xf9dbd032a0ab92846b8ead6e767bad8491ba22ce779070f3e67373d796740420\n\n[PASS] test_golden_UndecidedNobodyCallsSwarm() (gas: 8826619)\nLogs:\n  ledger after settlement: 0xbb589401078dd43b88cbc7c1c174981c2ee68b3027a30d9ffdcf05a917cc491d\n  settlement record: 0x880d35a1a6c101757740019ffe504083f1353824cf6c05eb99c4e48fe76bf58a\n  ledger after every payout: 0x4755fc921943fe650cc0871884c69218df089678208e1ea5cc2d2410865f21ce\n\n[PASS] test_minor_HeaviestLazyStepGasCost() (gas: 3854059)\nLogs:\n  gas of the heaviest separate step (askAppealSwarm): 727451\n\n[PASS] test_minor_NoEthInDisputes_VoterSendsOwnBallot() (gas: 1544143)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 696.58ms (84.28ms CPU time)\n\nRan 4 tests for test/audit/AuditNoFallbackOwnVote.t.sol:AuditNoFallbackOwnVoteTest\n[PASS] test_DoerCannotDispute() (gas: 9092555)\n[PASS] test_LostCallbackIsSilence_NoPublicFallback() (gas: 8540419)\n[PASS] test_NoDecisionBelowInstantDelta() (gas: 8684088)\n[PASS] test_PartialCountRelayedByAnOutsiderDecidesNothing() (gas: 8572847)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 757.45ms (49.68ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 8817815, ~: 7834621)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 707.27ms (686.68ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7308714, ~: 7283221)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173284, ~: 3173215)\n[PASS] test_Guard_BankOnlyForDesks() (gas: 132520)\n[PASS] test_Guard_FailedPushesBecomeCreditsAndBooksClose() (gas: 9658237)\n[PASS] test_Guard_LeakedAttesterKeyAloneCannotDecideDuringTheRemovalTimelock() (gas: 2884860)\n[PASS] test_Guard_LongestDueChainFitsOneCall() (gas: 10895594)\n[PASS] test_Guard_RevertingPinnedDevPricesNeverBlocksWithdrawals() (gas: 3992617)\n[PASS] test_Guard_ThirdPartyAnswerToACopiedQuestionCannotDecideOurCase() (gas: 9436443)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 763.73ms (1.14s CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 201548, ~: 142959)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 63661, ~: 54785)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14263, ~: 13631)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 1.22s (1.34s CPU time)\n\nRan 51 tests for test/Disputes.t.sol:DisputesTest\n[PASS] test_Appeal_ActionNotSold() (gas: 6864596)\n[PASS] test_Appeal_ByDoerSide_Flip() (gas: 7695257)\n[PASS] test_Appeal_IntakeReverts_AppealVoided() (gas: 7415363)\n[PASS] test_Appeal_LateAnswerAfterSilenceIgnored() (gas: 8066747)\n[PASS] test_Appeal_NeverAsked_ThirdTimeEndsUncalled() (gas: 7704323)\n[PASS] test_Appeal_NeverAsked_TimesOut() (gas: 7254199)\n[PASS] test_Appeal_PriceRaised_AppealVoided() (gas: 7280648)\n[PASS] test_Appeal_Silent_DecisionStands_NewWindow() (gas: 8170156)\n[PASS] test_Appeal_Silent_ReappealFlips() (gas: 8887509)\n[PASS] test_Appeal_SwarmAgrees() (gas: 8167733)\n[PASS] test_Appeal_SwarmFlips_NoFeeRefund_WinnerTakesAll() (gas: 7835415)\n[PASS] test_Appeal_WindowClosed() (gas: 1082479)\n[PASS] test_CallSwarm_ActionNotSold_DefaultStands() (gas: 6415919)\n[PASS] test_CallSwarm_LowerPrice_NoFeeRefund() (gas: 7311298)\n[PASS] test_CallSwarm_WrongPhase() (gas: 599802)\n[PASS] test_ClaimsPlayTimersThemselves_NoPokeNeeded() (gas: 6560724)\n[PASS] test_ContributorAppellantWins_GetsHisShareLikeAnyWinner() (gas: 8067674)\n[PASS] test_ContributorDisputerWins_SameShareAsAnyDisputer() (gas: 6980549)\n[PASS] test_ContributorDoerWins_GetsHisShareLikeAnyWinner() (gas: 11143394)\n[PASS] test_DisputeWindowClosedAndLimits() (gas: 1668234)\n[PASS] test_Dispute_NftAccepts_Fee5To5_Bond5050() (gas: 7024448)\n[PASS] test_Dispute_NftRejects_BondSplit5050() (gas: 6895298)\n[PASS] test_DisputerWhoTopsUpLater_StillGetsHisFullShare() (gas: 6838709)\n[PASS] test_DoerReply() (gas: 1578863)\n[PASS] test_InstantDecision_FiresOnceTheDeltaIsCrossed() (gas: 8334609)\n[PASS] test_NoDecision_CallAfterWindow_Reverts() (gas: 6536840)\n[PASS] test_NoDecision_CallSwarm_Accepts_CallerLosesBondAndFee() (gas: 7480603)\n[PASS] test_NoDecision_CallSwarm_Rejects_CallerGetsOnlyHisShare() (gas: 7696960)\n[PASS] test_NoDecision_DoerCallsSwarm_Confirmed() (gas: 7428625)\n[PASS] test_NoDecision_DoerCallsSwarm_Rejected() (gas: 7271366)\n[PASS] test_NoDecision_NobodyCalls_Accepted_DisputerBondsAllToDoer() (gas: 7554184)\n[PASS] test_NoDecision_SilentStatus2_NobodyCallsAgain_GeneralRule() (gas: 7792974)\n[PASS] test_NoDecision_SilentTimeout_WindowFromSilence() (gas: 7502108)\n[PASS] test_NoDecision_Silent_CalledAgain_Answers_NoFeeRefund() (gas: 8541684)\n[PASS] test_SilenceLoop_ThirdSilenceEndsTheCase() (gas: 9561302)\n[PASS] test_Stake_ContributedAfterSubmission_StillGetsBonus() (gas: 10734777)\n[PASS] test_Stake_EthAndImdBurnShareToBurner() (gas: 15022607)\n[PASS] test_Stake_FullPower_NftRight_VotesFive_BurnHalf_TreasuryHalf() (gas: 11404889)\n[PASS] test_Stake_FullPower_NftUndecided_BurnFiveAndHalf() (gas: 10916260)\n[PASS] test_Stake_FullPower_NoDispute_Bonus_AndBurnToBurner() (gas: 10513959)\n[PASS] test_Stake_LockEndedBeforePayout_NoBonus_RelockCounts() (gas: 15288659)\n[PASS] test_Stake_LockedInTheSubmissionBlock_NoBonus() (gas: 6869376)\n[PASS] test_Stake_None_FeeToTreasury() (gas: 10257379)\n[PASS] test_Stake_PartPower_NoDispute() (gas: 10512481)\n[PASS] test_Stake_ToppedUpAfterSubmission_OnlyThePowerBeforeCounts() (gas: 10600546)\n[PASS] test_SwarmFees_NoRefund_TwoSilencesThenAnswer() (gas: 14442736)\n[PASS] test_SwarmFees_WinnerSideOnly_DoerSilentCallRefunded() (gas: 12768102)\n[PASS] test_ThirdSilence_Decided_NftDecisionStands() (gas: 10223293)\n[PASS] test_ThirdSilence_NoDecision_AcceptedDisputerBondToDoer() (gas: 9644760)\n[PASS] test_YoloReward_FeeSplitsLikeAnyReward_Votes5_Doer4_Burner1() (gas: 11465614)\n[PASS] test_YoloReward_TreasuryPartToBurner_FullPowerSix() (gas: 15101226)\nSuite result: ok. 51 passed; 0 failed; 0 skipped; finished in 1.41s (681.42ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 796618, ~: 780947)\n[PASS] test_ActionNotSold_LargeSubmitStillWorks() (gas: 11068463)\n[PASS] test_AnswerAfterSilenceIgnored() (gas: 6385369)\n[PASS] test_AnswerSignedEarly_DeliveredLate_Counts() (gas: 6117856)\n[PASS] test_AttesterRotationTimelocked() (gas: 2407774)\n[PASS] test_CallSwarm_IntakeBroken_Reverts_NothingTaken() (gas: 1713608)\n[PASS] test_CallbackGasUnder100k() (gas: 215841)\nLogs:\n  callback gas: 40971\n\n[PASS] test_CallbackSelectorMatchesDocs() (gas: 734)\n[PASS] test_DuplicateAnswerIgnored_FirstWins() (gas: 6128882)\n[PASS] test_IntakeBroken_LargeSubmitUnaffected() (gas: 10580110)\n[PASS] test_LargeTask_DisputedAtOnce_Rejected() (gas: 11212370)\n[PASS] test_LargeTask_DisputedNftAccepts_Fee5To5() (gas: 11338738)\n[PASS] test_LargeTask_QueuedSubmission_ActivatedWithoutQuestion() (gas: 14304618)\n[PASS] test_LateAnswerIgnored_Timeout() (gas: 6339449)\n[PASS] test_LostCallback_IsSilence_NoPublicFallback() (gas: 6460570)\n[PASS] test_NoMandatoryCheck_ImdTask_NoDispute_AcceptedBondBack() (gas: 10546770)\n[PASS] test_NoMandatoryCheck_MaxReward_NothingAsked_AcceptedByTimer() (gas: 10505102)\n[PASS] test_NoPublicFallback_ForAnyAttestation() (gas: 314829)\n[PASS] test_RefusedBody_Status1_IsSilence() (gas: 6208832)\n[PASS] test_RequestShapeAndBody() (gas: 4786337)\n[PASS] test_SpoofedCallbackIgnored() (gas: 494441)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 1.33s (767.21ms CPU time)\n\nRan 35 tests for test/YoloPredictScenarios.t.sol:YoloPredictScenariosTest\n[PASS] testFuzz_DoerInSplit_NothingStuck(uint256,uint256,uint256,uint256,uint8,bool) (runs: 256, μ: 2486441, ~: 2478920)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3035792, ~: 2846267)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1953238, ~: 1600838)\n[PASS] test_ClaimOrder_DoesNotAffectPayouts() (gas: 2147750)\n[PASS] test_Claim_BeforeFinal_WithAnActiveSubmissionInFlight_Reverts() (gas: 1378925)\n[PASS] test_Claim_ByAPureLoser_PaysZero_NoRevert() (gas: 1745466)\n[PASS] test_Claim_Twice_SecondReverts() (gas: 1806152)\n[PASS] test_DoerInSplit_ShareIndependentOfClaimOrder() (gas: 2669290)\n[PASS] test_DoerOnlyOnWillDo_TakesTheWholePool() (gas: 2223271)\n[PASS] test_Doer_SharesTheLosingPoolWithOtherWinners() (gas: 2600780)\n[PASS] test_Empty_LonePositionOnLosingSide_PoolToAuthorAndDoer() (gas: 1624896)\n[PASS] test_Empty_LonePositionOnWinningSide() (gas: 1614149)\n[PASS] test_Empty_NoMarketAtAll() (gas: 594875)\n[PASS] test_Extremes_DustPositionsPayExactly() (gas: 1830581)\n[PASS] test_Extremes_FirstInstantPosition_AndLastSecondPosition() (gas: 901003)\n[PASS] test_Extremes_PositionOneSecondBeforeDeadline_ThenExactlyAtDeadlineReverts() (gas: 750040)\n[PASS] test_Extremes_VeryLongDuration_NoOverflow() (gas: 718593)\n[PASS] test_Gate_BecomingContributorAfterPredicting_StillFullShare() (gas: 2119125)\n[PASS] test_Gate_NoContributorBan_OnEitherTask() (gas: 1510008)\n[PASS] test_Gate_PredictingAfterDeadline_RevertsEvenIfStatusStillStoredAsOpen() (gas: 503840)\n[PASS] test_Gate_PredictingWhileBusy_RevertsBeforeAndAfterMarketOpen() (gas: 920688)\n[PASS] test_Gate_PredictorBecomesDoer_GetsFullShareWithoutAnyFlag() (gas: 1796859)\n[PASS] test_Gate_PredictorBecomesDoer_SettleFirst() (gas: 1945269)\n[PASS] test_Invariant_ExactWeiAccounting_MixedScenario() (gas: 4456165)\n[PASS] test_Life_AcceptedOnFirstSubmission() (gas: 1969629)\n[PASS] test_Life_AllSubmissionsRejected_ThenExpired() (gas: 3240324)\n[PASS] test_Life_DisputeAppealSwarm_AllAfterDeadline() (gas: 4348929)\n[PASS] test_Life_MultipleSubmissionsQueuedAtDeadline() (gas: 4140507)\n[PASS] test_Life_RejectedThenAcceptedOnResubmission() (gas: 4028627)\n[PASS] test_Life_SubmissionSecondBeforeDeadline_JudgedAfterDeadline() (gas: 1868963)\n[PASS] test_Life_VoteTieNoQuorum_DefaultsToAccepted() (gas: 2671071)\n[PASS] test_Resolve_PermissionlessAndIdempotent_CanBeCalledRepeatedly() (gas: 1739179)\n[PASS] test_RewardLocked_IdleOrBusy() (gas: 1195158)\n[PASS] test_RewardOnlyGrows_MarketUnaffected() (gas: 1085716)\n[PASS] test_Settle_CalledTenTimes_StaysIdempotent() (gas: 2300480)\nSuite result: ok. 35 passed; 0 failed; 0 skipped; finished in 1.36s (3.06s CPU time)\n\nRan 3 tests for test/review/ReviewProofLabel.t.sol:ReviewProofLabel\n[PASS] test_PromptSaysTheLabelIsOptional() (gas: 2106261)\n[PASS] test_QuestionHasNoDoerCode() (gas: 2894580)\n[PASS] test_SameLinkFirst_SameQuestionButDoerAndCase() (gas: 4384288)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 1.42s (11.38ms CPU time)\n\nRan 9 tests for test/ContractRules.t.sol:ContractRulesTest\n[PASS] test_AddonInPowerBase_FullBonusOnBoth() (gas: 7407649)\n[PASS] test_BigAddon_BonusNeedsLockAgainstRewardPlusAddon() (gas: 12394280)\n[PASS] test_EthTopUpDuringCheck_PaidToTheDoer() (gas: 6801911)\n[PASS] test_FriendTopUp_BonusNeedsLockAgainstTheWholePool() (gas: 11979363)\n[PASS] test_Stake5PercentOfReward_Bonus02Percent() (gas: 6981852)\n[PASS] test_TinyStake_WholeBpsRoundedDown() (gas: 1965860)\n[PASS] test_TopUpDuringRejectedCheck_PaidToTheNextDoer() (gas: 10503079)\n[PASS] test_TopUpInPowerBase_BonusOnTheWholeReward() (gas: 7206630)\n[PASS] test_UsdcTopUpDuringCheck_InTheDoersPayout() (gas: 7043120)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 1.42s (85.83ms CPU time)\n\nRan 1 test for test/review/ReviewRoles.t.sol:ReviewRoles\n[PASS] testFuzz_RoleOverlap((uint8,uint8,uint8,uint8,uint8,uint8,uint8,bool,uint32)) (runs: 256, μ: 9186544, ~: 9379393)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.45s (1.43s CPU time)\n\nRan 1 test for test/Scenarios.t.sol:ScenariosTest\n[PASS] testFuzz_Scenario((uint8,uint256,bool,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint256,bool,uint32,uint16,uint16)) (runs: 256, μ: 10979390, ~: 10001675)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.65s (1.60s CPU time)\n\nRan 43 tests for test/MoneyRules.t.sol:MoneyRulesTest\n[PASS] test_AddonInPowerBase() (gas: 2911144)\n[PASS] test_BondsIgnoreTheAddon() (gas: 1852916)\n[PASS] test_Burner_NoOwner_AnyoneBurns() (gas: 171089)\n[PASS] test_Burner_PullsFailedPush() (gas: 7136748)\n[PASS] test_ContributorAfterSubmission_GetsBonus() (gas: 1645296)\n[PASS] test_DeadlineRequired() (gas: 532034)\n[PASS] test_DisputeBond_FixedImdPlusOnePercent() (gas: 1711620)\n[PASS] test_DoerBond_FixedImdPlusThreePercent() (gas: 1424001)\n[PASS] test_Example_HundredDollarReward() (gas: 1847508)\n[PASS] test_Expired_AuthorGetsAllBack() (gas: 539899)\n[PASS] test_FakeLeavesStakeAlone() (gas: 2132225)\n[PASS] test_Fake_RewardStaysTaskOpen() (gas: 7597640)\n[PASS] test_HubWithoutCode_PaysAsWithoutStake() (gas: 1281973)\n[PASS] test_LockEndedBeforePayout_NoBonus() (gas: 1515872)\n[PASS] test_MinRewardPerCurrency() (gas: 1945142)\n[PASS] test_NftRight_NoStake() (gas: 7805945)\n[PASS] test_NftRight_Staked() (gas: 8006721)\n[PASS] test_NftWrong_SwarmAccepts() (gas: 15019578)\n[PASS] test_NoAddonLimit() (gas: 892567)\n[PASS] test_NoCap_LargeRewardOpenTotalAndTopUp() (gas: 6825071)\n[PASS] test_NoCreationFee() (gas: 441343)\n[PASS] test_NoDispute_NoStake() (gas: 6754751)\n[PASS] test_NoDispute_Staked() (gas: 7039758)\n[PASS] test_NoDoubling_SameBondForEverySubmission() (gas: 2378755)\n[PASS] test_NoMandatorySwarmCheck() (gas: 1250323)\n[PASS] test_NoPriceReadAtCreation() (gas: 479020)\n[PASS] test_NoSwarmFeeRefund_ThreeCallsByTheDoer() (gas: 10049707)\n[PASS] test_OneLock_FullPowerOnEveryConcurrentSubmission() (gas: 2447970)\n[PASS] test_PowerFixed_SubmissionMomentCounts() (gas: 3811745)\n[PASS] test_Predict_Entry_5_5_90_And_Deferred_2_5_Each() (gas: 1809444)\n[PASS] test_RelativeToTheReward_LowestPrice() (gas: 3586673)\n[PASS] test_RewardLockedUntilDeadline() (gas: 7853767)\n[PASS] test_SweetenerBoundOnceByTheOwner() (gas: 538439)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Decided() (gas: 10456412)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Undecided() (gas: 9909669)\n[PASS] test_Tie_DoerTakesEveryDisputerBond() (gas: 7345550)\n[PASS] test_TreasuryGetsOnlyItsShare() (gas: 11978013)\n[PASS] test_VoidAppealsCountTowardsThree() (gas: 9505160)\n[PASS] test_WithdrawnAndRelocked_NoBonus() (gas: 1578700)\n[PASS] test_WorkedExamples() (gas: 21018449)\n[PASS] test_YoloBonus_LockedUntilExpiry() (gas: 758340)\n[PASS] test_YoloBonus_SameRuleAsReward() (gas: 4135603)\n[PASS] test_YoloReward_TreasuryShareBurned() (gas: 11264227)\nSuite result: ok. 43 passed; 0 failed; 0 skipped; finished in 4.13s (165.43ms CPU time)\n\nRan 5 tests for test/audit/AuditNoMandatoryCheck.t.sol:AuditNoMandatoryCheckTest\n[PASS] test_AppealOnlyAgainstAnNftDecision() (gas: 12991969)\n[PASS] test_NoCheck_AtAnyRewardSize() (gas: 3982698)\n[PASS] test_NoDoubleAppeal() (gas: 7307331)\n[PASS] test_NothingToAppeal_WithoutAnNftDecision() (gas: 6043570)\n[PASS] test_Undisputed_AcceptedByTimer_BondBack() (gas: 5886824)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 4.18s (35.76ms CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 98593077, ~: 101662082)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387092570)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.56s (4.96s CPU time)\n\nRan 1 test for test/Invariant.t.sol:InvariantTest\n[PASS]\nInvariantTest invariants:\n[PASS] invariant_BalanceEqualsLiabilities\n[PASS] invariant_HubHoldsEveryLock_StakePowerBounded\n[PASS] invariant_RewardLockedUntilDeadline\n[PASS] invariant_SweetenerHoldsEveryBonus\n[PASS] invariant_TrophiesOnlyForAcceptedDoersAndEveryYoloBurned\n InvariantTest invariants (runs: 100, calls: 15000, reverts: 0)\n\n╭----------+----------------------+-------+---------+----------╮\n| Contract | Selector             | Calls | Reverts | Discards |\n+==============================================================+\n| Handler  | answer               | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 515   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 512   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 532   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 552   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 525   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 518   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 543   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 567   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 532   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 509   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 523   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 596   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 561   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 521   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 550   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 519   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 570   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 558   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 513   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 536   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 514   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 563   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 6\n  topUp: 4\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 3\n  callSwarm: 0\n  answer: 0\n  claimDisputer: 0\n  claimVoter: 0\n  claimVoid: 0\n  withdrawContribution: 1\n  withdrawExpired: 1\n  progress: 0\n  sweeten: 9\n  withdrawBonus: 0\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 7\n  withdrawLock: 0\n  repeatedAsk: 0\n  progress at phase 2: 0\n  progress at phase 3: 0\n  progress at phase 4: 0\n  progress at phase 5: 0\n  progress at phase 6: 0\n  progress at phase 7: 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 18.46s (18.44s CPU time)\n\nRan 88 test suites in 18.51s (50.20s CPU time): 690 tests passed, 0 failed, 3 skipped (693 total tests)\n","passed":true},{"durationMs":303,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"BuybackBurner.burnYolo()\",\"BuybackBurner.forward(address)\",\"BuybackBurner.pull(address,address)\",\"BuybackBurner.receive()\",\"BuybackBurner.setBuybackWallet(address)\",\"CaseDesk.advanced(uint256)\",\"CaseDesk.askAppeal(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.askEscalation(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.claimVoidSubmission(uint256)\",\"CaseDesk.markAppealed(uint256)\",\"CaseDesk.startVote(uint256,uint32)\",\"CaseDesk.step(uint256)\",\"CaseDesk.submit(uint256,string,(string,string),uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"CaseDesk.tryInstantDecision(uint256,(uint256,uint256,uint256,uint256))\",\"CaseDesk.unwind(uint256)\",\"CaseDesk.wire(address,address,address,address,address)\",\"DareTrophy.approve(address,uint256)\",\"DareTrophy.mint(uint256,string)\",\"DareTrophy.safeTransferFrom(address,address,uint256)\",\"DareTrophy.safeTransferFrom(address,address,uint256,bytes)\",\"DareTrophy.setApprovalForAll(address,bool)\",\"DareTrophy.transferFrom(address,address,uint256)\",\"DevPrices.acceptOwnership()\",\"DevPrices.renounceOwnership()\",\"DevPrices.setEthUsd(uint256)\",\"DevPrices.setImdUsd(uint256)\",\"DevPrices.setYoloPriceUsd(uint256)\",\"DevPrices.transferOwnership(address)\",\"DevVesting.bindStarter()\",\"DevVesting.release(address)\",\"DisputeDesk.appeal(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.appealAsked(uint256,uint256)\",\"DisputeDesk.askAppealSwarm(uint256,(string,string,string,string,string))\",\"DisputeDesk.callSwarm(uint256,bool,uint256,(address,uint256,uint256,uint64,bytes),(string,string,string,string,string))\",\"DisputeDesk.claimDisputer(uint256)\",\"DisputeDesk.claimVoterReward(uint256,address)\",\"DisputeDesk.claimVoterRewards(uint256[],address)\",\"DisputeDesk.dispute(uint256,string,string,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.dropCaller(uint256)\",\"DisputeDesk.settle(uint256,uint8,(uint64,uint32,address,address,uint8,uint256,(uint256,uint256),uint64,uint16,bool))\",\"DisputeDesk.vote(uint256,uint8,address,uint256[])\",\"DisputeDesk.wire(address,address,address,address,address)\",\"HiddenList.setState((address,uint8,uint256)[],uint8)\",\"HiddenList.vote(address,uint8,uint256,bool,uint256[])\",\"IncentivesVesting.bindStarter()\",\"IncentivesVesting.release(address)\",\"NftGate.consume(address,uint256)\",\"NftGate.record(address[],uint256[])\",\"NftGate.seal(uint256)\",\"ParamsRegistry.acceptOwnership()\",\"ParamsRegistry.activateParams()\",\"ParamsRegistry.cancelAttester(address,bool)\",\"ParamsRegistry.cancelParams()\",\"ParamsRegistry.executeAttester(address,bool)\",\"ParamsRegistry.proposeAttester(address,bool)\",\"ParamsRegistry.renounceOwnership()\",\"ParamsRegistry.setNewTasksPaused(bool)\",\"ParamsRegistry.transferOwnership(address)\",\"ProjectVesting.bindStarter()\",\"ProjectVesting.release(address)\",\"ProtocolDirectory.addVersion()\",\"ProtocolDirectory.cancelCurrent()\",\"ProtocolDirectory.cancelVersion()\",\"ProtocolDirectory.proposeCurrent(uint256)\",\"ProtocolDirectory.proposeVersion((address,address,address,uint64,uint64,string))\",\"ProtocolDirectory.setCurrent()\",\"TaskVault.addTreasury(address,uint256)\",\"TaskVault.advance(uint256)\",\"TaskVault.ask((uint64,uint8,uint16,uint16,address,bytes32,bytes32,uint256),bytes)\",\"TaskVault.bindSweetener(address)\",\"TaskVault.burn(address,uint256)\",\"TaskVault.cancelTask(uint256)\",\"TaskVault.closeSubmission(uint256,uint8,uint256)\",\"TaskVault.collectBondPart(address,uint256,address,uint256)\",\"TaskVault.collectImd(address,uint256,uint256,address,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.createTask(address,uint256,uint64,string,(string,string,string),uint8,uint8,string,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.credit(address,address,uint256)\",\"TaskVault.fallback()\",\"TaskVault.onOracleResult(bytes32,(bytes32,uint256,bytes32,uint8,bytes,uint256,uint64,uint64,bytes32,bytes32,uint16,uint16,uint16,uint64,uint64),bytes)\",\"TaskVault.pay(address,address,uint256)\",\"TaskVault.place(uint256,uint256,bool)\",\"TaskVault.poke(uint256)\",\"TaskVault.settleValue(address,uint256,uint256)\",\"TaskVault.sweepTreasury(address)\",\"TaskVault.topUp(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.withdraw(address)\",\"TaskVault.withdrawContribution(uint256)\",\"TaskVault.withdrawTo(address,address)\",\"TeamVesting.bindStarter()\",\"TeamVesting.release(address)\",\"TreasuryVesting.bindStarter()\",\"TreasuryVesting.release(address)\",\"TrophyCatalog.acceptOwnership()\",\"TrophyCatalog.addDesign(string,bytes)\",\"TrophyCatalog.renounceOwnership()\",\"TrophyCatalog.setCategoryDesign(uint8,uint256)\",\"TrophyCatalog.setDefaultDesign(uint256)\",\"TrophyCatalog.setDesignEnabled(uint256,bool)\",\"TrophyCatalog.transferOwnership(address)\",\"UniswapV3SwapAdapter.swapExactIn(address,address,uint256,uint256,uint256,bytes,address)\",\"YoloLockHub.lock(uint256,uint256)\",\"YoloLockHub.withdraw()\",\"YoloPredict.claim(uint256)\",\"YoloPredict.predict(uint256,bool,uint256)\",\"YoloPredict.settle(uint256)\",\"YoloSplitter.split(address)\",\"YoloSweetener.claimVoter(uint256,address)\",\"YoloSweetener.payout(uint256)\",\"YoloSweetener.sweeten(uint256,uint256)\",\"YoloSweetener.withdraw(uint256)\",\"YoloToken.approve(address,uint256)\",\"YoloToken.transfer(address,uint256)\",\"YoloToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":5,\".gitmodules\":9,\"ADAPTATION.md\":76,\"CONTRACTS.md\":178,\"README.md\":99,\"brand/BRANDBOOK.md\":79,\"brand/avatar-400.png\":168,\"brand/favicon-16.png\":3,\"brand/favicon-32.png\":7,\"brand/mark-1024.png\":317,\"brand/mark-pixel-64.png\":6,\"brand/mark-transparent-1024.png\":385,\"brand/og-1200x630.png\":912,\"brand/sheet.png\":2363,\"brand/wordmark-2400x600.png\":283,\"brand/x-banner-1500x500.png\":725,\"docs/LAUNCH-TASK.md\":202,\"docs/MECHANICS.md\":454,\"docs/TOKENOMICS.md\":101,\"docs/YOLO.md\":289,\"foundry.lock\":11,\"foundry.toml\":33,\"landing/assets/fonts/LICENSE-ibm-plex-mono.txt\":93,\"landing/assets/fonts/LICENSE-quicksand.txt\":93,\"landing/assets/fonts/plexmono-500.woff2\":62,\"landing/assets/fonts/quicksand-500.woff2\":55,\"landing/assets/fonts/quicksand-600.woff2\":57,\"landing/assets/fonts/quicksand-700.woff2\":78,\"landing/assets/img/avatar-400.png\":168,\"landing/assets/img/dare1.jpg\":150,\"landing/assets/img/dare2.jpg\":148,\"landing/assets/img/dare3.jpg\":201,\"landing/assets/img/dare4.jpg\":140,\"landing/assets/img/favicon-16.png\":3,\"landing/assets/img/favicon-32.png\":7,\"landing/assets/img/nft-1.svg\":1,\"landing/assets/img/nft-1000.svg\":1,\"landing/assets/img/nft-4.svg\":1,\"landing/assets/img/og-1200x630.png\":912,\"landing/assets/img/toad-640.png\":459,\"landing/assets/img/wordmark.png\":221,\"landing/assets/video/poster.jpg\":297,\"landing/index.html\":286,\"landing/main.js\":396,\"landing/style.css\":490,\"script/DeployMainnet.s.sol\":187,\"script/LaunchPlan.sol\":422,\"script/check-launch-task.py\":32,\"script/snapshot/snapshot.py\":187,\"src/BuybackBurner.sol\":124,\"src/DareTrophy.sol\":220,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":297,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":215,\"src/ProtocolDirectory.sol\":167,\"src/TaskVault.sol\":825,\"src/TrophyCatalog.sol\":119,\"src/VaultParams.sol\":250,\"src/VaultTypes.sol\":450,\"src/VotePower.sol\":51,\"src/YoloLockHub.sol\":149,\"src/YoloPredict.sol\":297,\"src/YoloSweetener.sol\":173,\"src/adapters/UniswapV3SwapAdapter.sol\":71,\"src/desks/CaseDesk.sol\":547,\"src/desks/Desk.sol\":143,\"src/desks/DeskApi.sol\":137,\"src/desks/DisputeDesk.sol\":791,\"src/helpers/AttestationChecker.sol\":58,\"src/helpers/SwarmQuestion.sol\":176,\"src/helpers/TextRules.sol\":244,\"src/interfaces/IDelegateRegistry.sol\":12,\"src/interfaces/IIntake.sol\":33,\"src/interfaces/ISwapAdapter.sol\":22,\"src/interfaces/ITaskVault.sol\":167,\"src/libraries/VoteLib.sol\":33,\"src/token/NftGate.sol\":113,\"src/token/ProjectVesting.sol\":102,\"src/token/Vestings.sol\":38,\"src/token/YoloSplitter.sol\":106,\"src/token/YoloToken.sol\":160,\"test/Base.t.sol\":652,\"test/BondBase.t.sol\":146,\"test/BuybackWallet.t.sol\":434,\"test/CancelTask.t.sol\":250,\"test/ContractRules.t.sol\":208,\"test/Cover.t.sol\":207,\"test/Desks.t.sol\":433,\"test/DevPrices.t.sol\":86,\"test/Directory.t.sol\":186,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":671,\"test/Hosts.t.sol\":112,\"test/Invariant.t.sol\":674,\"test/LogReconstruction.t.sol\":70,\"test/MoneyRules.t.sol\":937,\"test/OptionalFields.t.sol\":103,\"test/Payments.t.sol\":295,\"test/Scenarios.t.sol\":217,\"test/SideCalls.t.sol\":388,\"test/Swarm.t.sol\":435,\"test/Sweetener.t.sol\":379,\"test/TaskFields.t.sol\":391,\"test/TaskRules.t.sol\":201,\"test/Tasks.t.sol\":619,\"test/TextRule.t.sol\":105,\"test/Trophy.t.sol\":402,\"test/VoteBatch.t.sol\":155,\"test/VoteCountWidth.t.sol\":31,\"test/VoteGas.t.sol\":150,\"test/VotePowerFuzz.t.sol\":122,\"test/Votes.t.sol\":418,\"test/Yolo.t.sol\":138,\"test/YoloLockHub.t.sol\":487,\"test/YoloPredict.t.sol\":641,\"test/YoloPredictScenarios.t.sol\":951,\"test/YoloToken.t.sol\":744,\"test/audit/AddonAfterSub.t.sol\":52,\"test/audit/AuditA.t.sol\":74,\"test/audit/AuditB.t.sol\":314,\"test/audit/AuditC.t.sol\":264,\"test/audit/AuditNoFallbackOwnVote.t.sol\":118,\"test/audit/AuditNoMandatoryCheck.t.sol\":106,\"test/audit/AuditSweetenerBonus.t.sol\":298,\"test/audit/LateAppealAsk.t.sol\":125,\"test/audit/LazyAppealVoidWindow.t.sol\":59,\"test/audit/MaxImdInCap.t.sol\":224,\"test/audit/PredictAfterTimer.t.sol\":41,\"test/audit/PredictZeroPoints.t.sol\":84,\"test/audit/SplitterBindsEveryVesting.t.sol\":147,\"test/audit/StakeFloorZeroSplit.t.sol\":41,\"test/audit/StakePowerRelock.t.sol\":64,\"test/audit/StepDeadlineAppealed.t.sol\":28,\"test/audit/StepDeadlineAsked.t.sol\":35,\"test/audit/YoloModulesAudit.t.sol\":116,\"test/audit/round2/Proof_476db268aaec.t.sol\":80,\"test/audit/round2/Proof_5d8c4edc729c.t.sol\":67,\"test/audit/round2/Proof_ced07852b14f.t.sol\":50,\"test/audit/swarm117/SwarmAudit117.t.sol\":338,\"test/audit/swarm117/VestingClockPreStart.t.sol\":105,\"test/fork/LaunchForkBase.sol\":193,\"test/fork/LaunchRehearsal.fork.t.sol\":1173,\"test/fork/UniswapV3AdapterFork.t.sol\":37,\"test/mocks/MockDelegateRegistry.sol\":26,\"test/mocks/MockERC20.sol\":31,\"test/mocks/MockIntake.sol\":120,\"test/mocks/MockNFT.sol\":17,\"test/mocks/MockPriceOracle.sol\":74,\"test/mocks/MockStarter.sol\":28,\"test/mocks/MockSwapAdapter.sol\":32,\"test/mocks/TaskRulesFixture.sol\":32,\"test/review/ReviewAttestation.t.sol\":218,\"test/review/ReviewGas.t.sol\":93,\"test/review/ReviewGasGrief.t.sol\":76,\"test/review/ReviewLaunch.t.sol\":601,\"test/review/ReviewProofFormat.t.sol\":54,\"test/review/ReviewProofLabel.t.sol\":123,\"test/review/ReviewProofs.t.sol\":166,\"test/review/ReviewQuestionSize.t.sol\":100,\"test/review/ReviewQueue.t.sol\":95,\"test/review/ReviewRoles.t.sol\":127,\"test/review/ReviewSplitAccess.t.sol\":522,\"test/review/ReviewSplitRegression.t.sol\":402,\"test/review/ReviewSwarmOrders.t.sol\":88,\"test/review/ReviewSweetener.t.sol\":304,\"test/review/ReviewYolo.t.sol\":96},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true},{"durationMs":22743,"exitCode":0,"name":"slither","output":"[high/high] arbitrary-send-erc20 at src/TaskVault.sol:542: TaskVault.collectBondPart(address,uint256,address,uint256) (src/TaskVault.sol#542-559) uses arbitrary from in transferFrom: IERC20(currency).safeTransferFrom(from,address(this),amount) (src/TaskVault.sol#556)\n[high/medium] arbitrary-send-eth at src/BuybackBurner.sol:92: BuybackBurner.forward(address) (src/BuybackBurner.sol#92-108) sends eth to arbitrary user\n[high/medium] arbitrary-send-eth at src/TaskVault.sol:761: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#761-808) sends eth to arbitrary user\n[high/medium] reentrancy-balance at src/TaskVault.sol:591: Reentrancy in TaskVault.ask(AskTerms,bytes) (src/TaskVault.sol#591-630):\n[high/medium] reentrancy-balance at src/TaskVault.sol:761: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#761-808):\n[high/medium] reentrancy-balance at src/TaskVault.sol:761: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#761-808):\n[high/medium] reentrancy-balance at src/TaskVault.sol:761: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#761-808):\n[high/medium] reentrancy-eth at src/TaskVault.sol:761: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#761-808):\n[high/medium] reentrancy-eth at src/TaskVault.sol:251: Reentrancy in TaskVault.createTask(address,uint256,uint64,string,TaskRules,uint8,uint8,string,ImdPay) (src/TaskVault.sol#251-308):\n[high/high] uninitialized-state at src/YoloLockHub.sol:123: YoloLockHub._history (src/YoloLockHub.sol#45) is never initialized. It is used in:\n[medium/medium] divide-before-multiply at src/YoloLockHub.sol:64: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#64-89) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/YoloLockHub.sol:64: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#64-89) performs a multiplication on the result of a division:\n[medium/high] incorrect-equality at src/ProtocolDirectory.sol:88: ProtocolDirectory.addVersion() (src/ProtocolDirectory.sol#88-94) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:64: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#64-89) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:727: TaskVault._credit(address,address,uint256) (src/TaskVault.sol#727-731) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:92: BuybackBurner.forward(address) (src/BuybackBurner.sol#92-108) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:748: TaskVault._trySend(address,address,uint256,uint256) (src/TaskVault.sol#748-756) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:83: BuybackBurner.burnYolo() (src/BuybackBurner.sol#83-88) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:170: CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ProtocolDirectory.sol:114: ProtocolDirectory.setCurrent() (src/ProtocolDirectory.sol#114-123) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/ProjectVesting.sol:90: ProjectVesting.release(address) (src/token/ProjectVesting.sol#90-101) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:511: CaseDesk._stakeBps(SubmitTerms,address,ParamsCore) (src/desks/CaseDesk.sol#511-529) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:170: CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:92: BuybackBurner.forward(address) (src/BuybackBurner.sol#92-108) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/NftGate.sol:107: NftGate.consume(address,uint256) (src/token/NftGate.sol#107-112) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/YoloToken.sol:117: YoloToken._sellTax(uint256,uint256) (src/token/YoloToken.sol#117-120) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:92: YoloLockHub.withdraw() (src/YoloLockHub.sol#92-100) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ParamsRegistry.sol:91: ParamsRegistry.activateParams() (src/ParamsRegistry.sol#91-100) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:140: YoloLockHub._checkpoint(address,uint96,uint64,uint32) (src/YoloLockHub.sol#140-148) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/ProjectVesting.sol:74: ProjectVesting.vestedAmount(address,uint256) (src/token/ProjectVesting.sol#74-82) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:734: TaskVault._refundUnbooked(address,address,uint256) (src/TaskVault.sol#734-740) uses a dangerous strict equality:\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:170: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:182: Reentrancy in TaskVault.fallback() (src/TaskVault.sol#182-201):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:170: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:254: Reentrancy in DisputeDesk.callSwarm(uint256,bool,uint256,ImdPay,RuleTexts) (src/desks/DisputeDesk.sol#254-274):\n[medium/medium] reentrancy-no-eth at src/YoloPredict.sol:181: Reentrancy in YoloPredict.settle(uint256) (src/YoloPredict.sol#181-226):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:260: Reentrancy in CaseDesk.askEscalation(uint256,uint256,RuleTexts) (src/desks/CaseDesk.sol#260-267):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:622: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#622-713):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:636: Reentrancy in TaskVault._advance(uint256) (src/TaskVault.sol#636-647):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:408: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#408-427):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:460: Reentrancy in CaseDesk._finalize(uint256,Outcome) (src/desks/CaseDesk.sol#460-485):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:573: Reentrancy in DisputeDesk._settleNeutral(uint256,Facts) (src/desks/DisputeDesk.sol#573-582):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:500: Reentrancy in DisputeDesk.settle(uint256,Outcome,Facts) (src/desks/DisputeDesk.sol#500-516):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:170: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:74: Reentrancy in CaseDesk.submit(uint256,string,Evidence,uint256,uint256,ImdPay) (src/desks/CaseDesk.sol#74-137):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:170: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:493: Reentrancy in DisputeDesk.dropCaller(uint256) (src/desks/DisputeDesk.sol#493-496):\n[medium/medium] reentrancy-no-eth at src/YoloPredict.sol:230: Reentrancy in YoloPredict.claim(uint256) (src/YoloPredict.sol#230-264):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:335: Reentrancy in TaskVault.withdrawContribution(uint256) (src/TaskVault.sol#335-347):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:384: Reentrancy in DisputeDesk.claimVoterRewards(uint256[],address) (src/desks/DisputeDesk.sol#384-413):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:365: Reentrancy in TaskVault.cancelTask(uint256) (src/TaskVault.sol#365-376):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:408: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#408-427):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:314: Reentrancy in TaskVault.topUp(uint256,uint256,ImdPay) (src/TaskVault.sol#314-329):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:622: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#622-713):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:140: Reentrancy in CaseDesk.claimVoidSubmission(uint256) (src/desks/CaseDesk.sol#140-155):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:74: Reentrancy in CaseDesk.submit(uint256,string,Evidence,uint256,uint256,ImdPay) (src/desks/CaseDesk.sol#74-137):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:622: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#622-713):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:408: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#408-427):\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:385: DisputeDesk.claimVoterRewards(uint256[],address).imdTotal (src/desks/DisputeDesk.sol#385) is a local variable never initialized\n[medium/medium] uninitialized-local at src/DareTrophy.sol:175: DareTrophy.badge(uint8).w (src/DareTrophy.sol#175) is a local variable never initialized\n[medium/medium] uninitialized-local at src/token/NftGate.sol:67: NftGate.record(address[],uint256[]).total (src/token/NftGate.sol#67) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:345: DisputeDesk.claimDisputer(uint256).payout (src/desks/DisputeDesk.sol#345) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:733: DisputeDesk._payReward(uint256,Facts,bool,ParamsCore).bonus (src/desks/DisputeDesk.sol#733) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:198: YoloPredict.settle(uint256).toAuthor (src/YoloPredict.sol#198) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloLockHub.sol:125: YoloLockHub._pointBefore(address,uint256).lo (src/YoloLockHub.sol#125) is a local variable never initialized\n[medium/medium] uninitialized-local at src/VotePower.sol:36: VotePower.mayVote(address,uint256).owner (src/VotePower.sol#36) is a local variable never initialized\n[medium/medium] uninitialized-local at src/helpers/TextRules.sol:76: TextLib.checkCover(string).scheme (src/helpers/TextRules.sol#76) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:295: DisputeDesk._fundCall(Appeal,uint256,SubCore,uint256,uint256,ParamsCore,ImdPay).fromBond (src/desks/DisputeDesk.sol#295) is a local variable never initialized\n[medium/medium] uninitialized-local at src/helpers/SwarmQuestion.sol:141: SwarmQuestionBuilder.buildFor(address,uint256,uint8,uint256,RuleTexts).q (src/helpers/SwarmQuestion.sol#141) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:389: DisputeDesk.claimVoterRewards(uint256[],address).any (src/desks/DisputeDesk.sol#389) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloSweetener.sol:145: YoloSweetener.payout(uint256).extra (src/YoloSweetener.sol#145) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:200: YoloPredict.settle(uint256).burnt (src/YoloPredict.sol#200) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:197: YoloPredict.settle(uint256).doer (src/YoloPredict.sol#197) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:199: YoloPredict.settle(uint256).toDoer (src/YoloPredict.sol#199) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:388: DisputeDesk.claimVoterRewards(uint256[],address).n (src/desks/DisputeDesk.sol#388) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:238: YoloPredict.claim(uint256).pay (src/YoloPredict.sol#238) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/CaseDesk.sol:522: CaseDesk._stakeBps(SubmitTerms,address,ParamsCore).r (src/desks/CaseDesk.sol#522) is a local variable never initialized\n[medium/medium] uninitialized-local at src/TaskVault.sol:553: TaskVault.collectBondPart(address,uint256,address,uint256).noSwap (src/TaskVault.sol#553) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:294: DisputeDesk._fundCall(Appeal,uint256,SubCore,uint256,uint256,ParamsCore,ImdPay).bond (src/desks/DisputeDesk.sol#294) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:390: DisputeDesk.claimVoterRewards(uint256[],address).sweet (src/desks/DisputeDesk.sol#390) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloSweetener.sol:139: YoloSweetener.payout(uint256).toVoters (src/YoloSweetener.sol#139) is a local variable never initialized\n[medium/medium] unused-return at src/desks/DisputeDesk.sol:136: DisputeDesk.vote(uint256,uint8,address,uint256[]) (src/desks/DisputeDesk.sol#136-191) ignores return value by (None,None,instantDelta,minWallets) = ParamsRegistry(registry).voteParams(version) (src/desks/DisputeDesk.sol#185)\n[medium/medium] unused-return at src/YoloSweetener.sol:160: YoloSweetener.claimVoter(uint256,address) (src/YoloSweetener.sol#160-172) ignores return value by (n,None) = vault.votesOf(subId,payTo) (src/YoloSweetener.sol#162)\n[medium/medium] unused-return at src/helpers/AttestationChecker.sol:42: AttestationChecker.check(address,uint16,uint16,OracleAttestation.Attestation,bytes) (src/helpers/AttestationChecker.sol#42-57) ignores return value by (signer,err,None) = ECDSA.tryRecover(digest(consumer,a),signature) (src/helpers/AttestationChecker.sol#54)\n[medium/medium] unused-return at src/desks/DisputeDesk.sol:233: DisputeDesk.askAppealSwarm(uint256,RuleTexts) (src/desks/DisputeDesk.sol#233-240) ignores return value by ICaseDesk(caseDesk).advanced(subId) (src/desks/DisputeDesk.sol#236)\n[medium/medium] unused-return at src/TaskVault.sol:761: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#761-808) ignores return value by ISwapAdapter(adapter).swapExactIn(address(usdc_),address(imd_),payIn.amountIn,payIn.minImdOut,payIn.deadline,payIn.route,address(this)) (src/TaskVault.sol#790-799)\n[medium/medium] unused-return at src/desks/CaseDesk.sol:437: CaseDesk._swarmStatus(bytes32,ParamsCore) (src/desks/CaseDesk.sol#437-454) ignores return value by (completed) = IIntake(p.intake).requests(rid) (src/desks/CaseDesk.sol#450-452)\n[medium/medium] unused-return at src/TaskVault.sol:761: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#761-808) ignores return value by ISwapAdapter(adapter).swapExactIn{value: payIn.amountIn}(ETH,address(imd_),payIn.amountIn,payIn.minImdOut,payIn.deadline,payIn.route,address(this)) (src/TaskVault.sol#782-784)\n[low/medium] missing-zero-check at src/adapters/UniswapV3SwapAdapter.sol:38: UniswapV3SwapAdapter.constructor(ISwapRouter02,address).weth_ (src/adapters/UniswapV3SwapAdapter.sol#38) lacks a zero-check on :\n[low/medium] missing-zero-check at src/desks/CaseDesk.sol:48: CaseDesk.constructor(address,address,address,address,address,address,address).yolo_ (src/desks/CaseDesk.sol#48) lacks a zero-check on :\n[low/medium] missi","passed":false}],"detail":"static analysis found arbitrary-send-erc20 at src/TaskVault.sol:542: TaskVault.collectBondPart(address,uint256,address,uint256) (src/TaskVault.sol#542-559) uses arbitrary from in transferFrom: IERC20(currency).safeTransferFrom(from,address(this),amount) (src/TaskVault.sol#556)","evaluation":"checks","profile":"foundry","status":"rejected","submissionHash":"46c3afbff0fbc837158aaf09887cc60228910ffb1aaee634f9ab69812b784f04","verifiedTreeHash":"6d088888218e3498ef3b3967052a7b265bad9b38","verifierVersion":"0.1.0+a26ee00d"},{"checks":[{"durationMs":524999,"exitCode":0,"name":"build","output":"Compiling 177 files with Solc 0.8.28\nSolc 0.8.28 finished in 524.81s\nCompiler run successful with warnings:\nWarning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.\n  --> src/TaskVault.sol:67:1:\n   |\n67 | contract TaskVault {\n   | ^ (Relevant source part starts here and spans across multiple lines).\nNote: The payable fallback function is defined here.\n   --> src/TaskVault.sol:182:5:\n    |\n182 |     fallback() external payable {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.\n --> foundry-pp/DeployHelper95.sol:7:1:\n  |\n7 | abstract contract DeployHelper95 is TaskVault {\n  | ^ (Relevant source part starts here and spans across multiple lines).\nNote: The payable fallback function is defined here.\n   --> src/TaskVault.sol:182:5:\n    |\n182 |     fallback() external payable {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2072): Unused local variable.\n  --> test/audit/swarm117/SwarmAudit117.t.sol:29:10:\n   |\n29 |         (uint256 t, uint256 s) = _decidedAccept();\n   |          ^^^^^^^^^\n\n","passed":true},{"durationMs":17581,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 1 test for test/fork/UniswapV3AdapterFork.t.sol:UniswapV3AdapterFork\n[SKIP] test_Fork_EthToImd() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 253.11µs (98.18µs CPU time)\n\nRan 1 test for test/audit/swarm117/VestingClockPreStart.t.sol:VestingClockPreStartTest\n[PASS] test_clockCannotBeStartedBeforeTheShareArrives() (gas: 447627)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 610.21µs (151.13µs CPU time)\n\nRan 3 tests for test/audit/swarm117/VestingClockPreStart.t.sol:VestingStarterBindingTest\n[PASS] test_bindingClosesWithTheDeploymentTransaction() (gas: 39262)\n[PASS] test_starterIsTheSplitterAndCannotBeRebound() (gas: 35402)\n[PASS] test_unboundVestingStartsNoClock() (gas: 627278)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 450.24µs (301.01µs CPU time)\n\nRan 1 test for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccessIsolated\n[PASS] test_Guard_WireClosesWithTheDeployTx() (gas: 69322)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.44ms (1.29ms CPU time)\n\nRan 1 test for test/audit/AuditA.t.sol:AuditAUnit\n[PASS] test_Guard_vestingClocksStartAtTheSplit() (gas: 4073728)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.52ms (903.36µs CPU time)\n\nRan 2 tests for test/review/ReviewProofFormat.t.sol:ReviewProofFormat\n[PASS] test_VideoAndTx() (gas: 133853)\n[PASS] test_XPostForms() (gas: 190014)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.09ms (1.64ms CPU time)\n\nRan 1 test for test/fork/LaunchRehearsal.fork.t.sol:LaunchRehearsalForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 2.93ms (0.00ns CPU time)\n\nRan 5 tests for test/review/ReviewLaunch.t.sol:ReviewLaunchStatic\n[PASS] test_L0_docLaunch0Args_matchPlan() (gas: 524751)\n[PASS] test_L1_perContractCodeMargin_matchesDoc() (gas: 37576812)\nLogs:\n  DevPrices 2467 runtime, margin 22109\n  UniswapV3SwapAdapter 1673 runtime, margin 22903\n  ParamsRegistry 13552 runtime, margin 11024\n  TextRules 5249 runtime, margin 19327\n  SwarmQuestionBuilder 5506 runtime, margin 19070\n  VotePower 942 runtime, margin 23634\n  AttestationChecker 2125 runtime, margin 22451\n  BuybackBurner 2614 runtime, margin 21962\n  NftGate (launch 0) 1916 runtime, margin 22660\n  IncentivesVesting (launch 0) 1936 runtime, margin 22640\n  DevVesting (launch 0) 1888 runtime, margin 22688\n  TeamVesting (launch 0) 1888 runtime, margin 22688\n  TreasuryVesting (launch 0) 1936 runtime, margin 22640\n  YoloSplitter (launch 0) 2113 runtime, margin 22463\n  YoloToken 4015 runtime, margin 20561\n  YoloLockHub 3199 runtime, margin 21377\n  CaseDesk 20064 runtime, margin 4512\n  DisputeDesk 21489 runtime, margin 3087\n  TaskVault 20624 runtime, margin 3952\n  YoloSweetener 6748 runtime, margin 17828\n  TrophyCatalog 4228 runtime, margin 20348\n  DareTrophy 11777 runtime, margin 12799\n  ProtocolDirectory 4546 runtime, margin 20030\n  HiddenList 3789 runtime, margin 20787\n  YoloPredict 6385 runtime, margin 18191\n\n[PASS] test_L2_docLaunch1Args_matchPlan() (gas: 889648)\n[PASS] test_L3_docLaunch2Args_matchPlan() (gas: 1361357)\n[PASS] test_L5_docLaunch3Args_matchPlan() (gas: 684503)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 6.51ms (5.15ms CPU time)\n\nRan 4 tests for test/GasTextSize.t.sol:GasTextSizeTest\n[PASS] test_CallSwarm_MaxResupply() (gas: 2621226)\nLogs:\n  callSwarm (resupply: 3x512B rules + reason 512B + disputerProofUri 512B, hash+calldata scheme): 1024303\n\n[PASS] test_CreateTask_RealExamples_And_MaxText() (gas: 1513275)\nLogs:\n  createTask (1+1+1 B rules, floor): 332363\n  createTask (forehead: 114+376+219=709 B): 335415\n    of which text-size delta over floor: 3052\n  createTask (supermarket: 307+405+188=900 B): 335240\n    of which text-size delta over floor: 2877\n  createTask (3x512=1536 B, ceiling): 348296\n    of which text-size delta over floor: 15933\n\n[PASS] test_Dispute_MaxReason() (gas: 1298072)\nLogs:\n  dispute (reason 512B + disputerProofUri 512B): 510298\n\n[PASS] test_Submit_MaxProofAndExplanation() (gas: 1872053)\nLogs:\n  submit (proof 512B link + explanation/doerNote 200B, the max note): 1480175\n\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 23.57ms (5.32ms CPU time)\n\nRan 3 tests for test/audit/LazyAppealVoidWindow.t.sol:LazyAppealVoidWindowTest\n[PASS] test_LateReAppealAfterTheVoidWindow_Reverts() (gas: 2274376)\n[PASS] test_PokeAfterVoidPlusWindow_IsFinal() (gas: 2344734)\n[PASS] test_WindowAfterVoid_StartsAtTheVoidMoment() (gas: 2111629)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 22.27ms (3.45ms CPU time)\n\nRan 5 tests for test/Adaptation.t.sol:AdaptationTest\n[PASS] test_Audit_GateWriterPowersEndAtTheSeal() (gas: 445153)\n[PASS] test_Audit_LoneVestingHasNoClock_GenesisLaunchBindsAllFour() (gas: 4121678)\n[PASS] test_LockHub_HistoryCheckpoints_SameBlockOverwritesLaterBlockAppends() (gas: 513481)\n[PASS] test_Vault_BondPartInUsdc_PulledFromTheSubmitter() (gas: 994127)\n[PASS] test_Vault_CollectBondPart_OnlyADesk() (gas: 80034)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 30.21ms (2.98ms CPU time)\n\nRan 3 tests for test/review/ReviewProofLabel.t.sol:ReviewProofLabel\n[PASS] test_PromptSaysTheLabelIsOptional() (gas: 2106372)\n[PASS] test_QuestionHasNoDoerCode() (gas: 2894691)\n[PASS] test_SameLinkFirst_SameQuestionButDoerAndCase() (gas: 4384513)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 30.48ms (10.18ms CPU time)\n\nRan 6 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 596813)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 587161)\n[PASS] test_ProposalChecks() (gas: 215319)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7803679)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 30.54ms (13.18ms CPU time)\n\nRan 2 tests for test/audit/AddonAfterSub.t.sol:AddonAfterSubmissionTest\n[PASS] test_AddonAfterSubmission_BatchClaimPaysSweetener() (gas: 2688084)\n[PASS] test_AddonBeforeSubmission_BatchClaimPaysSweetener() (gas: 2585515)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 31.35ms (3.75ms CPU time)\n\nRan 2 tests for test/review/ReviewYolo.t.sol:ReviewYoloUnit\n[PASS] test_vestingStreamsFromArrivalWithoutACliff() (gas: 897695)\n[PASS] test_whitelistRefusesOutputTakenToARouter() (gas: 1179155)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 909.57µs (760.02µs CPU time)\n\nRan 8 tests for test/Yolo.t.sol:YoloTest\n[PASS] test_NoDeadlineRefused() (gas: 48466)\n[PASS] test_OtherTokensStillRefused() (gas: 632207)\n[PASS] test_UnpricedYolo_NoPriceNeededAnywhere() (gas: 6921278)\n[PASS] test_YoloBelowMinimumRefused() (gas: 131701)\n[PASS] test_YoloNoMandatoryCheckAtAnySize() (gas: 1268471)\n[PASS] test_YoloTaskAcceptedPaysInYolo() (gas: 6737262)\n[PASS] test_YoloTopUp_LockedUntilExpiry_ThenBack() (gas: 880116)\n[PASS] test_YoloWithRevertingDevPrices_SubmissionStillWorks() (gas: 1049582)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 33.17ms (14.63ms CPU time)\n\nRan 3 tests for test/DisputeLinkOptional.t.sol:DisputeLinkOptionalTest\n[PASS] test_EmptyLinkPasses() (gas: 3032426)\nLogs:\n  dispute gas, empty link (test env): 359028\n\n[PASS] test_NonEmptyLinkStillChecked() (gas: 2575219)\nLogs:\n  dispute gas, with link (test env): 367026\n\n[PASS] test_ReasonStillMandatory() (gas: 1126743)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 33.56ms (9.10ms CPU time)\n\nRan 2 tests for test/Gas.t.sol:GasTest\n[PASS] test_GasProfile() (gas: 8439676)\nLogs:\n  createTask (USDC, mode B): 364323\n  createTask (ETH): 327452\n  topUp (idle task): 176695\n  submit (small task, mode B): 443514\n  topUp (pending, during submission): 196050\n  dispute (starts the vote): 369482\n  vote (2 NFTs, not the first vote): 116580\n  vote (20 NFTs, not the first vote): 226796\n  poke (vote end -> decided): 104867\n  appeal: 205819\n  askAppealSwarm (asks the filed appeal; builds body, pays Intake): 692497\n  onOracleResult (inside the 200k callback budget): 40971\n  poke (final settlement, rejected): 284985\n  claimDisputer (bond + share + ETH): 173844\n  claimVoterReward (bond share): 120868\n  poke (accept + fee split): 243661\n  withdraw (IMD credit): 70092\n  withdrawContribution (expires the task on the way): 79722\n  callSwarm (no NFT decision: bond + fee, builds body, pays Intake): 741464\n  poke (swarm silent -> back to the undecided window): 218168\n  submit ($500 task, no Intake request): 392140\n\n[PASS] test_GasSubmitEvidence() (gas: 5660528)\nLogs:\n  $100 task: submit, proof link only: 451651\n  $100 task: submit, + screenshot: 542490\n    extra gas: 90839\n  $100 task: submit, + 35-byte note: 525407\n    extra gas: 73756\n  $100 task: submit, + screenshot + 200-byte note: 938515\n    extra gas: 486864\n  $500 task: submit, proof link only: 451652\n  $500 task: submit, + screenshot: 542494\n    extra gas: 90842\n  $500 task: submit, + 35-byte note: 525411\n    extra gas: 73759\n  $500 task: submit, + screenshot + 200-byte note: 938524\n    extra gas: 486872\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 36.91ms (11.14ms CPU time)\n\nRan 8 tests for test/CancelTask.t.sol:CancelTaskTest\n[PASS] test_Cancel_AcceptedByTimerButUnpoked_Reverts() (gas: 1204180)\n[PASS] test_Cancel_AfterExpiry_Reverts() (gas: 513151)\n[PASS] test_Cancel_AfterThePayout_Reverts() (gas: 1254799)\n[PASS] test_Cancel_EveryoneTakesBackExactlyWhatHePutIn_DevGetsNothing() (gas: 7019523)\n[PASS] test_Cancel_NothingNewAfterwards() (gas: 781853)\n[PASS] test_Cancel_OnlyTheDevWallet() (gas: 1335682)\n[PASS] test_Cancel_OpenTaskNoSubmission_PredictPositionsBackInFull() (gas: 1312618)\n[PASS] test_Cancel_UnknownTaskReverts() (gas: 35428)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 38.16ms (9.85ms CPU time)\n\nRan 45 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666842)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825276)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505280)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131924)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17154)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9295)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267602)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37829)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009461)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173626)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312434)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209782)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61056)\nLogs:\n  owner hides 1 item: 54438\n\n[PASS] test_GasOwnerHides20Items() (gas: 584538)\nLogs:\n  owner hides 20 items (batch): 567305\n\n[PASS] test_GasOwnerUnhides1Item() (gas: 94224)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211555)\n[PASS] test_KeepVoteWithNoActiveRoundIsANoOp() (gas: 112110)\n[PASS] test_KeptBlocksNewRounds() (gas: 163090)\n[PASS] test_LocalConstantsMatchContract() (gas: 29212)\n[PASS] test_NonOwnerSetStateReverts() (gas: 32708)\n[PASS] test_NonexistentTokenIdSkippedNotReverted() (gas: 49881)\n[PASS] test_OwnerHidesAnItemNoVoteEverPassed() (gas: 62775)\n[PASS] test_OwnerHidesUnhidesKeepsABatch() (gas: 206197)\n[PASS] test_OwnerOfNftCanVote() (gas: 212441)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813396)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70415)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4120541)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2010992)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61729)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690048)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132543)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69865)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042275)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570419)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036389)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295427)\nSuite result: ok. 45 passed; 0 failed; 0 skipped; finished in 16.70ms (16.07ms CPU time)\n\nRan 1 test for test/LogReconstruction.t.sol:LogReconstructionTest\n[PASS] test_AllTextsRecoverableFromLogsByteForByte() (gas: 1451407)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 18.61ms (766.32µs CPU time)\n\nRan 14 tests for test/Desks.t.sol:DesksTest\n[PASS] test_BurnerMustHaveCode_DoerStakeMayBeLater() (gas: 45181)\n[PASS] test_DeskErrorsBubbleUnchanged() (gas: 46884)\n[PASS] test_DeskInternalFunctionsRefuseStrangers() (gas: 248781)\n[PASS] test_DeskUserFunctionsOnlyThroughTheVault() (gas: 501035)\n[PASS] test_DesksAreWiredToThisVaultOnce() (gas: 97671)\n[PASS] test_DoerStakeHub_FailingOrOversizedAnswer() (gas: 8166655)\n[PASS] test_ForwardedCallsKeepTheSender() (gas: 874534)\n[PASS] test_LaunchParamsEqualTheTestedOnes() (gas: 149109)\n[PASS] test_ParamsOfIsTheRegistrySnapshot() (gas: 716560)\n[PASS] test_UnknownFunctionAndStrayEthRevert() (gas: 65149)\n[PASS] test_ValueOnlyToPayableRoutes() (gas: 877023)\n[PASS] test_VaultBankAndTaskHooksRefuseStrangers() (gas: 253905)\n[PASS] test_VaultRefusesCheckerOfAnotherRegistry() (gas: 28313)\n[PASS] test_VaultRefusesDesksOfAnotherEnvironment() (gas: 25694)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 42.52ms (15.39ms CPU time)\n\nRan 4 tests for test/DevPrices.t.sol:DevPricesTest\n[PASS] test_OnlyTheOwner_EmitsTheEvent() (gas: 67482)\n[PASS] test_TypoGuard_AtMostTenTimesPerCall_BothBounds() (gas: 361730)\n[PASS] test_YoloPriceIsThePriceOfOneToken() (gas: 47183)\n[PASS] test_ZeroRefused_InTheConstructorAndEverySetter() (gas: 13072)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 1.02ms (493.81µs CPU time)\n\nRan 3 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117SweetenerTest\n[PASS] test_sweetenerLargeBonusWithoutPricePaysInFull() (gas: 7147724)\n[PASS] test_sweetenerNoCapWithAPrice() (gas: 7066360)\n[PASS] test_sweetenerPayoutWithoutPricePaysAtOnce() (gas: 7199441)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 47.83ms (26.61ms CPU time)\n\nRan 1 test for test/audit/MaxImdInCap.t.sol:MaxImdInCapTest\n[PASS] test_AppealPullsMoreImdThanMaxImdIn() (gas: 1643319)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.40ms (923.14µs CPU time)\n\nRan 7 tests for test/Cover.t.sol:CoverTest\n[PASS] test_CategoryStoredAndCoverEmitted() (gas: 390027)\n[PASS] test_CategoryUnchangedThroughDispute() (gas: 7923488)\n[PASS] test_CoverLinksAccepted() (gas: 1741282)\n[PASS] test_CoverLinksRejected() (gas: 1780674)\n[PASS] test_CoverNotInSwarmQuestion() (gas: 3517391)\n[PASS] test_EmptyCoverAndEveryCategory() (gas: 3268486)\n[PASS] test_GasCover() (gas: 1058867)\nLogs:\n  createTask, no cover: 322250\n  createTask, ipfs cover 66 bytes: 340086\n  cover in the event, extra gas: 17836\n  66-byte cover kept in storage (4 new slots): 112545\n  66-byte cover only in an event: 25869\n\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 48.93ms (25.07ms CPU time)\n\nRan 7 tests for test/review/ReviewProofs.t.sol:ReviewProofs\n[PASS] test_AppealPriceJump_RevertsWithMaxImdIn() (gas: 2259793)\n[PASS] test_BodyBoundedByParams_OneDisputerOnly() (gas: 2622307)\n[PASS] test_BondNeverDoubles_SubmitPassesWithQuotedMax() (gas: 1433531)\n[PASS] test_DisputeVoteAppealAfterTaskDeadline() (gas: 2232951)\n[PASS] test_Eip7702Voter_EcdsaSignatureCounted() (gas: 2148579)\n[PASS] test_FrontrunReward_SubmitRevertsWithMinReward() (gas: 1035180)\n[PASS] test_InvalidUtf8Rejected_NonAsciiRejected() (gas: 2407283)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 24.95ms (7.49ms CPU time)\n\nRan 3 tests for test/review/ReviewQuestionSize.t.sol:ReviewQuestionSize\n[PASS] test_FixedPartIs193BytesAtMaxIds() (gas: 1194279)\nLogs:\n  fixed part bytes at max ids: 193\n\n[PASS] test_TaskIdCountsOnceInFixedPart() (gas: 1932129)\nLogs:\n  bytes added by a 20-digit task id: 19\n\n[PASS] test_WorstCaseQuestionFitsIntakeLimit() (gas: 1194039)\nLogs:\n  worst-case question bytes: 2000\n\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 9.35ms (9.18ms CPU time)\n\nRan 1 test for test/review/ReviewYolo.t.sol:ReviewYoloVault\n[PASS] test_depressedPrice_touchesNeitherNewYoloTasksNorAnExistingBond() (gas: 1754056)\nLogs:\n  doer bond rew, honest / attacked: 300000000000000000000000 300000000000000000000000\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 25.04ms (1.44ms CPU time)\n\nRan 4 tests for test/audit/AuditNoFallbackOwnVote.t.sol:AuditNoFallbackOwnVoteTest\n[PASS] test_DoerCannotDispute() (gas: 9092726)\n[PASS] test_LostCallbackIsSilence_NoPublicFallback() (gas: 8540644)\n[PASS] test_NoDecisionBelowInstantDelta() (gas: 8684256)\n[PASS] test_PartialCountRelayedByAnOutsiderDecidesNothing() (gas: 8573015)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 59.80ms (40.94ms CPU time)\n\nRan 12 tests for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccess\n[PASS] test_Guard_ForgedSuffixDirectToDeskReverts() (gas: 1275562)\n[PASS] test_Guard_LocalFactoryLaunchesOnlyForItsDeployer() (gas: 15786185)\n[PASS] test_Guard_NoEmergencyExit_PokeAlwaysResolves() (gas: 1139156)\n[PASS] test_Guard_NoRewireAfterLaunch() (gas: 74617)\n[PASS] test_Guard_ReentryFromEthRefundIsLocked() (gas: 1594078)\n[PASS] test_Guard_ReentryFromSwapHookIsLocked() (gas: 1649343)\n[PASS] test_Guard_RoutedSelectorsMatchDeskAbi() (gas: 382)\n[PASS] test_Guard_SiblingAndVaultCannotCrossCall() (gas: 383550)\n[PASS] test_Guard_SwappedDesksRevertTheDeployment() (gas: 39035)\n[PASS] test_Guard_UserSuffixThroughVaultIsIgnored() (gas: 1575777)\n[PASS] test_Guard_VaultRoutesNoDeskInternalSelector() (gas: 408709)\n[PASS] test_Guard_WireIsFirstComeInsideTheCreatingTx() (gas: 262400)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 31.96ms (8.31ms CPU time)\n\nRan 4 tests for test/VoteBatch.t.sol:VoteBatchTest\n[PASS] test_Batch_BonusNotPaidOutYet_StaysClaimable() (gas: 8022207)\n[PASS] test_Batch_NothingToClaimReverts() (gas: 7901292)\n[PASS] test_Batch_PaysWhatSingleClaimsPay() (gas: 24099636)\n[PASS] test_Batch_TakesTheYoloBonusShare() (gas: 13834642)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 66.74ms (50.45ms CPU time)\n\nRan 1 test for test/VoteCountWidth.t.sol:VoteCountWidthTest\n[PASS] test_PastUint16Limit_StuckBefore_FineAfter() (gas: 11546)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 149.15µs (37.10µs CPU time)\n\nRan 4 tests for test/Emergency.t.sol:EmergencyTest\n[PASS] test_AppealAskedLazily_ResolvesByTimer() (gas: 9135210)\n[PASS] test_NoDecision_ResolvesItselfByTimer() (gas: 7814841)\n[PASS] test_ResolvesByTimer_WhenTheStateMachineCanResolve() (gas: 8210033)\n[PASS] test_SwarmNeverAnswers_ResolvesByTimer() (gas: 8765317)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 70.63ms (44.78ms CPU time)\n\nRan 4 tests for test/Hosts.t.sol:HostsTest\n[PASS] test_BadHostsRevert() (gas: 482113)\n[PASS] test_EveryHostPasses() (gas: 3502196)\n[PASS] test_LengthLimit() (gas: 271540)\n[PASS] test_SubmitRejectsOffListLinks() (gas: 1296475)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 30.02ms (8.41ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_ced07852b14f.t.sol:HiddenListSnipeTest\n[PASS] test_lastSecondSnipeHidesWithoutReply() (gas: 505448)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 893.64µs (386.26µs CPU time)\n\nRan 7 tests for test/review/ReviewSweetener.t.sol:ReviewSweetenerTest\n[PASS] test_Guard_bonusCannotBePulledBeforeTheDeadline() (gas: 7145137)\n[PASS] test_Guard_moduleTakesTokenAndRegistryFromTheVault() (gas: 26381)\n[PASS] test_Guard_reentryFromTheEthRefundIsLocked() (gas: 2310021)\n[PASS] test_Guard_rejectionWithAQueueLeavesNoWithdrawGap() (gas: 11476316)\n[PASS] test_Guard_sweetenPlaysTheTimersFirst_NoAddonIntoADecidedTask() (gas: 9679096)\n[PASS] test_Guard_tieAcceptancePaysTheBonus() (gas: 7489079)\n[PASS] test_Rule_AddonBondsSeparatelyInYolo_NoCap() (gas: 9100009)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 75.94ms (55.51ms CPU time)\n\nRan 12 tests for test/Payments.t.sol:PaymentsTest\n[PASS] test_BlockedReceiver_PaidAsCredit() (gas: 2017930)\n[PASS] test_EthRefundToRejectingContract_IsCredited() (gas: 896903)\n[PASS] test_ModeA_CallSwarmWithEth() (gas: 8048617)\n[PASS] test_ModeA_CreateImdTaskWithEth() (gas: 3886094)\n[PASS] test_ModeA_Disabled() (gas: 3660392)\n[PASS] test_ModeA_DisputeWithUsdc() (gas: 7121267)\n[PASS] test_ModeA_Reverts() (gas: 2181431)\n[PASS] test_ModeA_SubmitWithEth_SurplusAndExcessRefunded() (gas: 6817103)\n[PASS] test_ReentrancyOnEthPayout_BlockedAndCredited() (gas: 2741811)\n[PASS] test_TopUpHasNoFee() (gas: 4019660)\n[PASS] test_TreasurySweep_TakesEverything() (gas: 6637472)\n[PASS] test_WithdrawTo_ZeroAddress_Reverts() (gas: 765447)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 80.48ms (53.94ms CPU time)\n\nRan 13 tests for test/TaskFields.t.sol:TaskFieldsTest\n[PASS] test_Condition_StoredAndLimited() (gas: 1091157)\n[PASS] test_GasFields() (gas: 1618832)\nLogs:\n  createTask (title 21 B, condition 64 B): 329699\n  submit (video link): 528093\n  submit (tx hash): 441860\n\n[PASS] test_ProofType_StoredPackedFixed() (gas: 1590271)\n[PASS] test_Proof_LengthStillFirst() (gas: 1230578)\n[PASS] test_Proof_Link() (gas: 7346677)\n[PASS] test_Proof_OnchainTx() (gas: 2989026)\n[PASS] test_Proof_Video() (gas: 6825081)\n[PASS] test_Proof_XPost() (gas: 8883702)\n[PASS] test_SwarmQuestion_DoerNoCode() (gas: 3512908)\n[PASS] test_SwarmQuestion_ProofTypeIn_TitleOut() (gas: 24294785)\n[PASS] test_SwarmQuestion_WorstCaseFitsIntakeLimit() (gas: 4669121)\n[PASS] test_Title_InEventOnly_Limits() (gas: 2219506)\n[PASS] test_Title_MatchesTrophyLimit() (gas: 6161)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 78.41ms (59.48ms CPU time)\n\nRan 14 tests for test/Trophy.t.sol:TrophyTest\n[PASS] test_BadgesPerCategory() (gas: 4942870)\n[PASS] test_Catalog_DisableKeepsMinted() (gas: 4215400)\n[PASS] test_Catalog_Guards() (gas: 8986832)\nLogs:\n  addDesign gas, 8192-byte SVG: 7465885\n\n[PASS] test_Catalog_Launch3Gas() (gas: 9161558)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4546 runtime bytes\n  HiddenList 3789 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8668683\n  launch 3 calldata bytes 42884\n  launch 3 total gas (upper bound) 9375827\n\n[PASS] test_Catalog_NeedsAddress() (gas: 6203)\n[PASS] test_Catalog_OwnerAddsDesign() (gas: 7681555)\n[PASS] test_Catalog_StrangerCannotEdit() (gas: 468134)\n[PASS] test_Catalog_UpdateThenMint() (gas: 7832748)\n[PASS] test_DoerMintsOnceBurningYolo() (gas: 1665427)\n[PASS] test_FixedPrice_IgnoresTheDevPrice() (gas: 166897)\n[PASS] test_MetadataOnChain() (gas: 4576491)\n[PASS] test_OnlyTheDoerOfAnAcceptedSubmission() (gas: 12589970)\n[PASS] test_RewardFormatting() (gas: 11024626)\n[PASS] test_TitleGuards() (gas: 1310114)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 95.21ms (77.36ms CPU time)\n\nRan 2 tests for test/audit/AuditSweetenerBonus.t.sol:AuditVestingClock\n[PASS] test_clockStartsAtTheFirstReleaseWithABalance() (gas: 1732627)\n[PASS] test_splitStartsTheClocks() (gas: 4708453)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.07ms (1.69ms CPU time)\n\nRan 3 tests for test/review/ReviewSweetener.t.sol:ReviewYoloStrictTest\n[PASS] test_Guard_PriceVanishingAfterTheQuoteDoesNotAffectTheSubmission() (gas: 1003887)\n[PASS] test_Guard_RevertingDevPricesDoesNotAffectTheSubmission() (gas: 956986)\n[PASS] test_Guard_creationNeedsNoPrice() (gas: 532504)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 25.47ms (1.71ms CPU time)\n\nRan 1 test for test/audit/PredictAfterTimer.t.sol:PredictAfterTimerTest\n[PASS] test_PredictAfterTimerEnded_WithoutPoke_IsAllowed() (gas: 2290526)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 24.41ms (1.38ms CPU time)\n\nWarning: the following cheatcode(s) are deprecated and will be removed in future versions:\n  lastCallGas(): replaced by `lastFrameGas`\nRan 9 tests for test/VoteGas.t.sol:VoteGasTest\n[PASS] test_VoteGas_Claim() (gas: 781687)\nLogs:\n  claimVoterReward exec: 147302\n  claimVoterReward tx: 146476\n\n[PASS] test_VoteGas_ClaimBatch() (gas: 16556431)\nLogs:\n  claimVoterRewards x1 exec: 181234\n  claimVoterRewards x1 tx: 176199\n  claimVoterRewards x4 exec: 394503\n  claimVoterRewards x4 tx: 393204\n  claimVoterRewards x5 exec: 466932\n  claimVoterRewards x5 tx: 465544\n\n[PASS] test_VoteGas_Delegate25_noDecide() (gas: 3983492)\nLogs:\n  vote 25 NFT as delegate (first vote, no decision) exec: 269898\n  vote 25 NFT as delegate (first vote, no decision) tx: 266929\n\n[PASS] test_VoteGas_First1() (gas: 159633)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n\n[PASS] test_VoteGas_First100() (gas: 818488)\nLogs:\n  vote 100 NFT (first vote, decides) exec: 585532\n  vote 100 NFT (first vote, decides) tx: 569723\n\n[PASS] test_VoteGas_First100_noDecide() (gas: 4366611)\nLogs:\n  vote 100 NFT (first vote, no decision) exec: 538581\n  vote 100 NFT (first vote, no decision) tx: 529228\n\n[PASS] test_VoteGas_First25() (gas: 350160)\nLogs:\n  vote 25 NFT (first vote, decides) exec: 281545\n  vote 25 NFT (first vote, decides) tx: 272021\n\n[PASS] test_VoteGas_First25_noDecide() (gas: 3898264)\nLogs:\n  vote 25 NFT (first vote, no decision) exec: 234562\n  vote 25 NFT (first vote, no decision) tx: 231526\n\n[PASS] test_VoteGas_Profile() (gas: 674688)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n  vote 10 NFT (later vote) exec: 139672\n  vote 10 NFT (later vote) tx: 137900\n  vote 15 NFT (later vote) exec: 159861\n  vote 15 NFT (later vote) tx: 157667\n  vote 2 NFT (later vote) exec: 124328\n  vote 2 NFT (later vote) tx: 123216\n\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 43.32ms (15.24ms CPU time)\n\nRan 8 tests for test/review/ReviewAttestation.t.sol:ReviewAttestation\n[PASS] test_InconsistentCountsAreIgnored() (gas: 6413414)\n[PASS] test_NoFallback_NeitherOnePersonNorOrderedPanel() (gas: 2373924)\n[PASS] test_OnePersonPanelIsSilenceOnAppeal() (gas: 4598646)\n[PASS] test_OnePersonPanelIsSilenceOnCall() (gas: 2841082)\n[PASS] test_OrderedPanelCounts() (gas: 4402982)\n[PASS] test_PanelBounds() (gas: 1799342)\n[PASS] test_PanelChangeWaitsTimelock() (gas: 3580662)\n[PASS] test_QuorumBelowOrderedIsIgnored() (gas: 2315771)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 40.63ms (19.81ms CPU time)\n\nRan 2 tests for test/audit/PredictZeroPoints.t.sol:PredictZeroPointsWinnerTest\n[PASS] test_ZeroPointWinner_TakesTheLosingPool() (gas: 1898458)\n[PASS] test_ZeroPointWinners_SplitByPosition() (gas: 2071626)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 26.22ms (2.40ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_476db268aaec.t.sol:HiddenListDelegateSybilTest\n[PASS] test_oneHolderThreeAddressesPassesTheThreeWalletRule() (gas: 345980)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 896.80µs (293.74µs CPU time)\n\nRan 10 tests for test/TaskRules.t.sol:TaskRulesTest\n[PASS] test_EachField_513BytesReverts() (gas: 1049015)\n[PASS] test_EachField_EmptyOrBadCharReverts() (gas: 614395)\n[PASS] test_Gas_CreateTask_3x512() (gas: 1184964)\nLogs:\n  createTask 3x512 exec gas: 408290\n  createTask 3x512 tx gas (exec + 21000 + calldata): 457626\n\n[PASS] test_Gas_CreateTask_Forehead() (gas: 780466)\nLogs:\n  createTask forehead exec gas: 394522\n  createTask forehead tx gas (exec + 21000 + calldata): 430782\n\n[PASS] test_Gas_CreateTask_Supermarket() (gas: 843812)\nLogs:\n  createTask supermarket exec gas: 394221\n  createTask supermarket tx gas (exec + 21000 + calldata): 433929\n\n[PASS] test_LaunchParams_PassBounds() (gas: 121898)\n[PASS] test_OwnerExample_Forehead_Creates() (gas: 488833)\n[PASS] test_OwnerExample_Supermarket_Creates() (gas: 467053)\n[PASS] test_SwarmBody_ThreeDefinitions() (gas: 5186972)\nLogs:\n  supermarket: question bytes: 804\n  supermarket: body bytes: 2272\n\n[PASS] test_ThreeTimes512_Creates() (gas: 670784)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 32.79ms (12.92ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780669)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.26ms (951.78µs CPU time)\n\nRan 6 tests for test/OptionalFields.t.sol:OptionalFieldsTest\n[PASS] test_AuthorSubmits_AcceptedQuietly_PaidAsDoer() (gas: 6708567)\n[PASS] test_AuthorSubmits_DisputedRejected_LosesBond() (gas: 7458946)\n[PASS] test_Cover_EmptyAccepted_NonEmptyStillChecked() (gas: 566905)\n[PASS] test_DisputerLink_EmptyAccepted() (gas: 1272143)\n[PASS] test_Note_EmptyAccepted_EveryProofType() (gas: 1868915)\n[PASS] test_Screenshot_EmptyAccepted_OnchainTxAndLink() (gas: 1802850)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 42.05ms (21.87ms CPU time)\n\nRan 9 tests for test/ContractRules.t.sol:ContractRulesTest\n[PASS] test_AddonInPowerBase_FullBonusOnBoth() (gas: 7407931)\n[PASS] test_BigAddon_BonusNeedsLockAgainstRewardPlusAddon() (gas: 12394844)\n[PASS] test_EthTopUpDuringCheck_PaidToTheDoer() (gas: 6801929)\n[PASS] test_FriendTopUp_BonusNeedsLockAgainstTheWholePool() (gas: 11980035)\n[PASS] test_Stake5PercentOfReward_Bonus02Percent() (gas: 6982134)\n[PASS] test_TinyStake_WholeBpsRoundedDown() (gas: 1966424)\n[PASS] test_TopUpDuringRejectedCheck_PaidToTheNextDoer() (gas: 10503358)\n[PASS] test_TopUpInPowerBase_BonusOnTheWholeReward() (gas: 7206966)\n[PASS] test_UsdcTopUpDuringCheck_InTheDoersPayout() (gas: 7043285)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 118.08ms (95.98ms CPU time)\n\nRan 5 tests for test/audit/AuditNoMandatoryCheck.t.sol:AuditNoMandatoryCheckTest\n[PASS] test_AppealOnlyAgainstAnNftDecision() (gas: 12992251)\n[PASS] test_NoCheck_AtAnyRewardSize() (gas: 3983253)\n[PASS] test_NoDoubleAppeal() (gas: 7307391)\n[PASS] test_NothingToAppeal_WithoutAnNftDecision() (gas: 6043570)\n[PASS] test_Undisputed_AcceptedByTimer_BondBack() (gas: 5886824)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 63.39ms (39.94ms CPU time)\n\nRan 8 tests for test/review/ReviewSplitRegression.t.sol:ReviewSplitRegression\n[PASS] test_events_EmitterMap() (gas: 22688445)\n[PASS] test_golden_AcceptedAfterDispute_NftRight() (gas: 9760705)\nLogs:\n  ledger after settlement: 0x4830ea4fcc6dc5027c1f37bcad5852e0b11e2b542d5bf3a1b4e0bf9f8b5d8d55\n  settlement record: 0xa4018a5ae1f016fc869c28d2e27ea22d88e1d937e0efb0592baa756f921319ad\n  ledger after every payout: 0x65dcffba9fa5f218c43b4c3f810b8d61e0676b615cd88c2200be717a94fa422b\n\n[PASS] test_golden_AppealSwarmOverturnsNft() (gas: 10297054)\nLogs:\n  ledger after settlement: 0x08d27cc2a8693d93d430a64d7a89b5d993f0bc3aaa0f468e9d26ec43c1adc65d\n  settlement record: 0x7d5a35e896f5cc60c3cebee7443c57120a4abf9130d2d794c36a86769c152705\n  ledger after every payout: 0x808551d4f18f1c9f9021bde675a4cd14dd60e843467f3bfd666fd1221b8bddd1\n\n[PASS] test_golden_CallSwarmSilentThenCalledAgain() (gas: 10587287)\nLogs:\n  ledger after settlement: 0x38cc28fed888cc3bcd65c4d5b72aa4ec16f7b4731c45419596c21cda6e366d7a\n  settlement record: 0x12641fdf0b0d28314e7cdd711051407e007d2e0d2c3006ec555db150a1bb11c5\n  ledger after every payout: 0xa82fdb047f774ed464eb049c7e6b261d5bc214d5978856d853700b07460f2f09\n\n[PASS] test_golden_RejectedThenQueuedAccepted() (gas: 11975741)\nLogs:\n  ledger after settlement: 0x76984c0edfd7138e1eeafbca442dc75eac4cdca48dfce84a332a3dbe3eb570fd\n  settlement record: 0xdb27e0d67237b840a3897b3e94d0bc38e88d80d4f00b209c05909985a9e9b9f4\n  ledger after every payout: 0xf9dbd032a0ab92846b8ead6e767bad8491ba22ce779070f3e67373d796740420\n\n[PASS] test_golden_UndecidedNobodyCallsSwarm() (gas: 8826640)\nLogs:\n  ledger after settlement: 0xbb589401078dd43b88cbc7c1c174981c2ee68b3027a30d9ffdcf05a917cc491d\n  settlement record: 0x880d35a1a6c101757740019ffe504083f1353824cf6c05eb99c4e48fe76bf58a\n  ledger after every payout: 0x4755fc921943fe650cc0871884c69218df089678208e1ea5cc2d2410865f21ce\n\n[PASS] test_minor_HeaviestLazyStepGasCost() (gas: 3854230)\nLogs:\n  gas of the heaviest separate step (askAppealSwarm): 727451\n\n[PASS] test_minor_NoEthInDisputes_VoterSendsOwnBallot() (gas: 1544311)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 124.91ms (99.40ms CPU time)\n\nRan 1 test for test/review/ReviewSwarmOrders.t.sol:ReviewSwarmOrders\n[PASS] test_printTestQuestions() (gas: 153072)\nLogs:\n  T1 1719\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0xe0161177113a03c1dce7415ed9e1c076c939b5968441681ed1fdd3a3632bfed6\n  T2 1719\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xe132be23ce6255930556a45406075e62fb6340c0 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x9adb7cd61bdff19f992b83d1a9ea1517767d60fbec90fc4c558de186b04525b4\n  T3 1999\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/2\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\",\"claim_1\":\"The transaction moved only 5 IMD, less than the 10 the task requires.\",\"claim_1_proof\":\"https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b\",\"doer_note\":\"The Transfer log of the transaction shows 379.22 IMD sent from my address.\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x648b6ba47fb0a9d37651b0bedc56c9409154b663f6bc5b6b38e9577ef42a244a\n  T4 1542\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://imd.fun/docs/ | PROOF TYPE: link | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Web page; page contains: “Ask the oracle”; https, live at check; moneycanbuy.fun on the page\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x5d1a8eff6f36add21363c69a6355fc1ae6c261428b7091e74637bc4b9a3c032a\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 440.23µs (325.72µs CPU time)\n\nRan 13 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117Test\n[PASS] test_answerAfterTheGraceIgnoredWhoeverPoked() (gas: 8747508)\n[PASS] test_answerDeliveredAfterTheGraceIgnoredEvenUnpoked() (gas: 8409988)\n[PASS] test_answerSignedAfterTheTimeoutIsSilenceAtTheEndOfTheGrace() (gas: 8512970)\n[PASS] test_authorFrontRunsSubmitWithWithdrawal() (gas: 6564119)\n[PASS] test_doerAppealsAgainstOwnAcceptance() (gas: 9163573)\n[PASS] test_doerCannotCallTheSwarmAgainstHimself() (gas: 8086875)\n[PASS] test_doerMayStillAppealARejection() (gas: 8658150)\n[PASS] test_expiredAttestationIsIgnored() (gas: 8340143)\n[PASS] test_lastAttesterCannotBeRemoved() (gas: 403156)\n[PASS] test_noNoticeNeededAfterExpiry() (gas: 3790429)\n[PASS] test_pokeAtDeadlineTurnsLateAnswerIntoSilence() (gas: 8758318)\n[PASS] test_rewardLockedUntilTheDeadlineAndWhileJudged() (gas: 6720370)\n[PASS] test_walletVotesBothSidesAndIsPaid() (gas: 7522396)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 132.43ms (108.44ms CPU time)\n\nRan 10 tests for test/Evidence.t.sol:EvidenceTest\n[PASS] test_AskedQuestionCarriesEvidence() (gas: 3588592)\n[PASS] test_BadEvidenceReverts() (gas: 3486959)\n[PASS] test_EvidenceOptional_OnchainTxAndLink_NoScreenshotOk() (gas: 1628891)\n[PASS] test_EvidenceRequired_ScreenshotStillReachesQuestion() (gas: 2330945)\n[PASS] test_EvidenceRequired_XPostAndVideo_RevertWithoutScreenshot() (gas: 2576646)\n[PASS] test_NoEvidence_NothingAddedNoEvent() (gas: 2950419)\n[PASS] test_OnlyOnePart() (gas: 5785005)\n[PASS] test_StoredEmittedAndAsked() (gas: 4457403)\n[PASS] test_WorstBodyFitsIntakeLimit() (gas: 7930045)\nLogs:\n  max claims accepted at maxTextBytes 512: 10\n  worst body bytes: 15503\n\n[PASS] test_WorstQuestionFitsIntakeLimit() (gas: 3466727)\nLogs:\n  worst question bytes: 2000\n  worst question: qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTASK: definitions task, task_proof and task_no | PROOF: pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp | PROOF TYPE: onchain_tx | DOER: 0xabcdef0123456789abcdef0123456789abcdef01 | CASE: 18446744073709551615/18446744073709551615/4294967296\n\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 138.46ms (55.94ms CPU time)\n\nRan 1 test for test/review/ReviewLaunch.t.sol:ReviewLaunchFork\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 1.37ms (0.00ns CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 262793, ~: 261686)\n[PASS] test_Fix_ContractWalletVotesItself() (gas: 2223117)\n[PASS] test_Guard_DoerCannotAnswerHisOwnAppealInTheNameOfTheDisputers() (gas: 6303048)\n[PASS] test_Guard_FrontRunnerCannotLiftABallotAndDecide() (gas: 14899057)\n[PASS] test_Guard_HoldersOwnVotesDecideAtTheVoteEnd() (gas: 10882216)\n[PASS] test_NoBatchToPoison() (gas: 1804974)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 102.97ms (92.06ms CPU time)\n\nRan 2 tests for test/review/ReviewGas.t.sol:ReviewGas\n[PASS] test_AppealAskGas_Under1_5M() (gas: 4618171)\nLogs:\n  askAppealSwarm -> swarm question (lazy ask, with resupply), gas: 836419\n  body bytes: 2679\n\n[PASS] test_CallSwarmGas_MaxBody() (gas: 3660466)\nLogs:\n  callSwarm max body (with resupply), gas: 957222\n  body bytes: 2679\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 32.27ms (5.04ms CPU time)\n\nRan 3 tests for test/audit/YoloModulesAudit.t.sol:YoloModulesAuditTest\n[PASS] test_ContributorCanPredict() (gas: 1382573)\n[PASS] test_Guard_PostExpiryWithdrawalChangesNothing() (gas: 1548319)\n[PASS] test_ResidualGone_NoWithdrawalWhileOpen() (gas: 1529588)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 20.92ms (1.82ms CPU time)\n\nRan 6 tests for test/BondBase.t.sol:BondBaseTest\n[PASS] test_Accepted_BondBackWithoutYolo() (gas: 7044649)\n[PASS] test_AuthorsTopUpDuringCheck_CountsOnceInThePot() (gas: 10792469)\n[PASS] test_EthRewardWithYoloAddon_BondIsImdPlusThreePercentEth() (gas: 1674289)\n[PASS] test_QueuedSubmission_BondFixedAtSubmission() (gas: 9407680)\n[PASS] test_Rejected_LoserBondSplitInImdAndEthOnly() (gas: 7719568)\n[PASS] test_TopUps_OnlyTheAuthorsCount() (gas: 7355031)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 55.92ms (39.34ms CPU time)\n\nRan 1 test for test/audit/StepDeadlineAppealed.t.sol:StepDeadlineAppealedTest\n[PASS] test_StepDeadlineAppealed_IsVoidMoment() (gas: 2223146)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 23.44ms (1.72ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272506, ~: 272286)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 151062, ~: 151158)\n[PASS] test_ConstructorTakesYolo() (gas: 18365)\n[PASS] test_EndOnlyLater_AmountOnlyGrows() (gas: 485034)\n[PASS] test_EndedLockLockedAgain() (gas: 477117)\n[PASS] test_LockAndWithdrawAfterTheEnd() (gas: 390874)\n[PASS] test_LockTermsAndZero() (gas: 406865)\n[PASS] test_PowerAt_ReadsTheLockStrictlyBefore() (gas: 698837)\n[PASS] test_Power_AddAndExtend() (gas: 868249)\n[PASS] test_Power_FixedAtTheLock_DoesNotFall() (gas: 464119)\n[PASS] test_Power_RollingOneWeekExtensionDropsToOneWeek() (gas: 698946)\n[PASS] test_Rule_QueuedDoer_PowerAtTheSubmission() (gas: 3240322)\n[PASS] test_StakePower_RunningLockOnly() (gas: 516870)\n[PASS] test_Vault_AddedAfterTheSubmission_NotCounted() (gas: 7092689)\n[PASS] test_Vault_LockEndedBeforePayout_NoBonus_RelockedBonus() (gas: 11466274)\n[PASS] test_Vault_LockedInTheSubmissionBlockOrLater_NoBonus() (gas: 11389409)\n[PASS] test_Vault_LowestPriceOfTheWindow() (gas: 1473778)\n[PASS] test_Vault_NoYoloPrice_NoBonus() (gas: 1366599)\n[PASS] test_Vault_PowerEqualsReward_Bonus4() (gas: 7007963)\n[PASS] test_Vault_PowerHalfTheReward_Bonus2() (gas: 6966737)\n[PASS] test_Vault_RelativeToTheReward() (gas: 16090121)\n[PASS] test_Vault_YoloReward_Direct() (gas: 6881931)\nSuite result: ok. 22 passed; 0 failed; 0 skipped; finished in 135.64ms (118.34ms CPU time)\n\nRan 2 tests for test/audit/StepDeadlineAsked.t.sol:StepDeadlineAskedTest\n[PASS] test_IntakeCompletedWithoutAnswer_IsDueNow() (gas: 406776)\n[PASS] test_Pending_IsTheSilenceDeadline() (gas: 134190)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 19.32ms (444.12µs CPU time)\n\nRan 34 tests for test/YoloToken.t.sol:YoloTokenTest\n[PASS] test_AfterMinute60_PlainErc20() (gas: 136919)\n[PASS] test_BeforeOpenAt_NobodyBuys() (gas: 751324)\n[PASS] test_ConstructorRejectsZeroPoolManagerOrSafe() (gas: 9166)\n[PASS] test_DevVesting_Linear12Months_NoCliff() (gas: 991888)\n[PASS] test_GateWithoutCode_NoWhitelist_TaxStays() (gas: 237879)\n[PASS] test_Gate_ConsumeNeedsSealAndBooksPerCallingToken() (gas: 463899)\n[PASS] test_Gate_OnlyWriterRecordsAndSeals() (gas: 217032)\n[PASS] test_Gate_RecordChecksAndEvents() (gas: 564790)\n[PASS] test_Gate_SealIsIrreversible() (gas: 348151)\n[PASS] test_GenesisLaunch_SharesAddUp() (gas: 4275538)\n[PASS] test_IncentivesVesting_QuarterAtOnce_RestLinear24Months() (gas: 966880)\n[PASS] test_OpenAtBounds() (gas: 8963)\n[PASS] test_SealAtOpenAtDoesNotCount() (gas: 256792)\n[PASS] test_SellTax_BuyFreeSellTaxedInWindow_BothAt45() (gas: 564568)\n[PASS] test_SellTax_ExactAmounts() (gas: 1062276)\n[PASS] test_SellTax_OnTopOfBalanceAndAllowance() (gas: 480410)\n[PASS] test_SellTax_RoundsDownAndDustIsFree() (gas: 118872)\n[PASS] test_Snapshot_NftMovedAfterSnapshotGivesNothing() (gas: 504223)\n[PASS] test_Splitter_FixedSharesAndDustToTreasury() (gas: 497083)\n[PASS] test_Splitter_RejectsZeroAddresses() (gas: 5083)\n[PASS] test_Splitter_RemainderShortOf750M() (gas: 273985)\n[PASS] test_SupplyAndFixedSchedule() (gas: 66869)\n[PASS] test_Tax_ExactAmounts() (gas: 793061)\n[PASS] test_Tax_RoundsDownAndDustIsFree() (gas: 80084)\n[PASS] test_TeamVesting_Linear12Months_NoCliff() (gas: 838135)\n[PASS] test_TransfersAndTheLauncherAreFree() (gas: 769603)\n[PASS] test_TreasuryVesting_ShortRemainder() (gas: 145729)\n[PASS] test_TreasuryVesting_ThirdAtOnce_RestLinear12Months() (gas: 953334)\n[PASS] test_UnsealedSnapshot_WindowClosedToAll() (gas: 421091)\n[PASS] test_VestingBounds() (gas: 4331)\n[PASS] test_Whitelist_AllowancePerNftAndCumulative() (gas: 645093)\n[PASS] test_Whitelist_BoundaryAtMinute30() (gas: 408190)\n[PASS] test_Whitelist_IntermediaryRefused() (gas: 369420)\n[PASS] test_Whitelist_WalletOutsideSnapshotRefused() (gas: 282886)\nSuite result: ok. 34 passed; 0 failed; 0 skipped; finished in 10.36ms (8.86ms CPU time)\n\nRan 6 tests for test/audit/AuditSweetenerBonus.t.sol:AuditSweetenerBonus\n[PASS] test_backOnceNobodyCanSubmit() (gas: 909572)\n[PASS] test_noCap_wholeBonusPaidByTheRewardRule() (gas: 7510475)\n[PASS] test_noWithdrawFromAnOpenTask() (gas: 8427306)\n[PASS] test_payoutNeedsNoPrice() (gas: 7009396)\n[PASS] test_silentSwarmCallStillPaysTheWholeBonus() (gas: 8499564)\n[PASS] test_splitFollowsTheRewardRule_NftVotesAndStake() (gas: 14867662)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 58.49ms (42.08ms CPU time)\n\nRan 14 tests for test/Sweetener.t.sol:SweetenerTest\n[PASS] test_AcceptedDoerGetsTheBonusMinusFee() (gas: 6969442)\n[PASS] test_DoerWhoSweetened_StakeExtraOnTheBonus() (gas: 6970237)\n[PASS] test_ExpiredTaskReturnsTheBonus() (gas: 5535110)\n[PASS] test_IdleBeforeDeadlineLocked_AfterDeadlineBack(uint256) (runs: 256, μ: 346729, ~: 346556)\n[PASS] test_LockedWhileOpen_EvenAfterRejection_FreeAfterDeadline() (gas: 8460825)\n[PASS] test_NftDecidedRight_VotesGetFivePercent() (gas: 7892574)\n[PASS] test_NftWrong_SwarmAccepts_VotesGetNothing() (gas: 8539994)\n[PASS] test_PayoutGoesToTheAcceptedSubmissionOfThatTask() (gas: 11277830)\n[PASS] test_PayoutNeedsNoYoloPrice() (gas: 1159019)\n[PASS] test_RefusedInputs() (gas: 127035)\n[PASS] test_StakedDoer_FullPower_GetsFourMore() (gas: 6849374)\n[PASS] test_StakedDoer_NftRight_VotesFiveDoerFourMore() (gas: 7869062)\n[PASS] test_StakedDoer_PartPowerAndSmallPower() (gas: 11839377)\n[PASS] test_TinyAddon_NoBondPart_NothingStuck() (gas: 8875206)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 178.44ms (165.84ms CPU time)\n\nRan 15 tests for test/SideCalls.t.sol:SideCallsTest\n[PASS] test_BothSidesCall_EachPaysFromItsOwnBond() (gas: 7991733)\n[PASS] test_Cancel_AfterSideCalls_BondsBackMinusFees() (gas: 6928148)\n[PASS] test_DisputerAppeal_Loses_RestOfBondToWinner() (gas: 7664033)\n[PASS] test_DisputerCallingForTheDoer_PaysLikeAStranger() (gas: 7123465)\n[PASS] test_DoerAppeal_Wins_RestOfBondPlusLoserBond() (gas: 7572323)\n[PASS] test_FeeAboveBond_WalletPaysOnlyTheRest() (gas: 7596767)\n[PASS] test_RepeatCall_CheaperThanBond_ThreeCalls() (gas: 9104725)\n[PASS] test_RepeatCall_Disputer_Loses() (gas: 8619289)\n[PASS] test_RepeatCall_Disputer_Wins() (gas: 8479893)\n[PASS] test_RepeatCall_Doer_Loses() (gas: 7847913)\n[PASS] test_RepeatCall_Doer_Wins() (gas: 8126605)\n[PASS] test_RepeatCall_EachSideOwnFirst() (gas: 8697776)\n[PASS] test_SideSpent_View() (gas: 8470011)\n[PASS] test_StrangerAppeal_PaysBondAndFee() (gas: 7493797)\n[PASS] test_VoidSideAppeal_BondWhole() (gas: 7752013)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 191.76ms (163.31ms CPU time)\n\nRan 2 tests for test/audit/StakeFloorZeroSplit.t.sol:StakeFloorZeroSplitTest\n[PASS] test_NoLock_NoStakeSplit() (gas: 6700116)\n[PASS] test_StakeFlooredToZero_UsesStakedSplit() (gas: 7001839)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 27.23ms (10.85ms CPU time)\n\nRan 1 test for test/review/ReviewLaunch.t.sol:ReviewLaunchRuntime\n[PASS] test_L5_vote_gasPerNft() (gas: 60470833)\nLogs:\n  vote 10 NFTs: 175377\n  vote 490 more NFTs: 2190139\n  gas per NFT (mock NFT): 4469\n  max NFTs in one vote under the cap (mock): 3754\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 58.72ms (37.68ms CPU time)\n\nRan 2 tests for test/audit/StakePowerRelock.t.sol:StakePowerRelockTest\n[PASS] test_RelockOfAnEndedLockGivesNoStakePower() (gas: 241513)\n[PASS] test_WithdrawThenLockGivesZero_reference() (gas: 303286)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 511.06µs (233.99µs CPU time)\n\nRan 43 tests for test/MoneyRules.t.sol:MoneyRulesTest\n[PASS] test_AddonInPowerBase() (gas: 2911708)\n[PASS] test_BondsIgnoreTheAddon() (gas: 1853084)\n[PASS] test_Burner_NoOwner_AnyoneBurns() (gas: 171089)\n[PASS] test_Burner_PullsFailedPush() (gas: 7137030)\n[PASS] test_ContributorAfterSubmission_GetsBonus() (gas: 1645632)\n[PASS] test_DeadlineRequired() (gas: 532088)\n[PASS] test_DisputeBond_FixedImdPlusOnePercent() (gas: 1711842)\n[PASS] test_DoerBond_FixedImdPlusThreePercent() (gas: 1424166)\n[PASS] test_Example_HundredDollarReward() (gas: 1847676)\n[PASS] test_Expired_AuthorGetsAllBack() (gas: 539953)\n[PASS] test_FakeLeavesStakeAlone() (gas: 2132564)\n[PASS] test_Fake_RewardStaysTaskOpen() (gas: 7597808)\n[PASS] test_HubWithoutCode_PaysAsWithoutStake() (gas: 1282084)\n[PASS] test_LockEndedBeforePayout_NoBonus() (gas: 1516379)\n[PASS] test_MinRewardPerCurrency() (gas: 1945252)\n[PASS] test_NftRight_NoStake() (gas: 7806113)\n[PASS] test_NftRight_Staked() (gas: 8007060)\n[PASS] test_NftWrong_SwarmAccepts() (gas: 15020091)\n[PASS] test_NoAddonLimit() (gas: 892675)\n[PASS] test_NoCap_LargeRewardOpenTotalAndTopUp() (gas: 6826205)\n[PASS] test_NoCreationFee() (gas: 441397)\n[PASS] test_NoDispute_NoStake() (gas: 6754862)\n[PASS] test_NoDispute_Staked() (gas: 7040040)\n[PASS] test_NoDoubling_SameBondForEverySubmission() (gas: 2379037)\n[PASS] test_NoMandatorySwarmCheck() (gas: 1250434)\n[PASS] test_NoPriceReadAtCreation() (gas: 479074)\n[PASS] test_NoSwarmFeeRefund_ThreeCallsByTheDoer() (gas: 10049884)\n[PASS] test_OneLock_FullPowerOnEveryConcurrentSubmission() (gas: 2448363)\n[PASS] test_PowerFixed_SubmissionMomentCounts() (gas: 3812822)\n[PASS] test_Predict_Entry_5_5_90_And_Deferred_2_5_Each() (gas: 1809555)\n[PASS] test_RelativeToTheReward_LowestPrice() (gas: 3587177)\n[PASS] test_RewardLockedUntilDeadline() (gas: 7853989)\n[PASS] test_SweetenerBoundOnceByTheOwner() (gas: 538493)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Decided() (gas: 10456589)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Undecided() (gas: 9909846)\n[PASS] test_Tie_DoerTakesEveryDisputerBond() (gas: 7345718)\n[PASS] test_TreasuryGetsOnlyItsShare() (gas: 11978194)\n[PASS] test_VoidAppealsCountTowardsThree() (gas: 9505337)\n[PASS] test_WithdrawnAndRelocked_NoBonus() (gas: 1579324)\n[PASS] test_WorkedExamples() (gas: 21019577)\n[PASS] test_YoloBonus_LockedUntilExpiry() (gas: 758394)\n[PASS] test_YoloBonus_SameRuleAsReward() (gas: 4136053)\n[PASS] test_YoloReward_TreasuryShareBurned() (gas: 11264620)\nSuite result: ok. 43 passed; 0 failed; 0 skipped; finished in 203.95ms (185.16ms CPU time)\n\nRan 2 tests for test/audit/LateAppealAsk.t.sol:LateAppealAskTest\n[PASS] test_LateAppealAskReverts() (gas: 2108481)\n[PASS] test_TimelyAppealAskIsAsked() (gas: 2279991)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 7.98ms (3.49ms CPU time)\n\nRan 2 tests for test/review/ReviewGasGrief.t.sol:ReviewGasGrief\n[PASS] test_CallSwarmWithTightGas_CannotSkipTheQuestion() (gas: 7996775)\nLogs:\n  callSwarm gas that skips the question: 0\n\n[PASS] test_PokeWithTightGas_CannotVoidAppeal() (gas: 3571169)\nLogs:\n  askAppealSwarm gas that voids the appeal: 0\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 185.57ms (295.41ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 797720, ~: 780960)\n[PASS] test_ActionNotSold_LargeSubmitStillWorks() (gas: 11068631)\n[PASS] test_AnswerAfterSilenceIgnored() (gas: 6385369)\n[PASS] test_AnswerSignedEarly_DeliveredLate_Counts() (gas: 6117856)\n[PASS] test_AttesterRotationTimelocked() (gas: 2407999)\n[PASS] test_CallSwarm_IntakeBroken_Reverts_NothingTaken() (gas: 1713833)\n[PASS] test_CallbackGasUnder100k() (gas: 215841)\nLogs:\n  callback gas: 40971\n\n[PASS] test_CallbackSelectorMatchesDocs() (gas: 734)\n[PASS] test_DuplicateAnswerIgnored_FirstWins() (gas: 6128882)\n[PASS] test_IntakeBroken_LargeSubmitUnaffected() (gas: 10580221)\n[PASS] test_LargeTask_DisputedAtOnce_Rejected() (gas: 11212391)\n[PASS] test_LargeTask_DisputedNftAccepts_Fee5To5() (gas: 11338906)\n[PASS] test_LargeTask_QueuedSubmission_ActivatedWithoutQuestion() (gas: 14304843)\n[PASS] test_LateAnswerIgnored_Timeout() (gas: 6339449)\n[PASS] test_LostCallback_IsSilence_NoPublicFallback() (gas: 6460570)\n[PASS] test_NoMandatoryCheck_ImdTask_NoDispute_AcceptedBondBack() (gas: 10546767)\n[PASS] test_NoMandatoryCheck_MaxReward_NothingAsked_AcceptedByTimer() (gas: 10505213)\n[PASS] test_NoPublicFallback_ForAnyAttestation() (gas: 314829)\n[PASS] test_RefusedBody_Status1_IsSilence() (gas: 6208832)\n[PASS] test_RequestShapeAndBody() (gas: 4786562)\n[PASS] test_SpoofedCallbackIgnored() (gas: 494441)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 132.48ms (233.49ms CPU time)\n\nRan 21 tests for test/BuybackWallet.t.sol:BuybackWalletTest\n[PASS] test_Balances_View() (gas: 711993)\n[PASS] test_BurnYolo_Anyone() (gas: 341371)\n[PASS] test_Constructor_StartWallet_AndZeroRefused() (gas: 34246)\n[PASS] test_EthAndImd_FullStake_WalletInTheirCurrency() (gas: 11291531)\n[PASS] test_EthWalletGriefsGas_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7160156)\n[PASS] test_EthWalletReverts_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7115314)\n[PASS] test_Forward_AnyoneOnlyToTheWallet_Totals() (gas: 947491)\n[PASS] test_Forward_EthRefused_StaysInTheBurner() (gas: 322027)\n[PASS] test_Forward_RefusesYoloAndUnknown() (gas: 285884)\n[PASS] test_FullStake_Accepted_Doer94_Wallet5_50_Treasury0_50() (gas: 6995470)\n[PASS] test_HalfStake_Accepted_Doer92_Wallet6_50_Treasury1_50() (gas: 6987263)\n[PASS] test_NftRight_FullStake_Wallet0_50() (gas: 7838853)\n[PASS] test_NftRight_NoStake_Wallet0() (gas: 7585240)\n[PASS] test_NftUndecided_FullStake_Wallet5_50() (gas: 7375375)\n[PASS] test_NftWrong_FullStake_Wallet5_50() (gas: 8806083)\n[PASS] test_NftWrong_NoStake_Wallet0() (gas: 8486905)\n[PASS] test_NoStake_Accepted_NothingToTheWallet() (gas: 6740492)\n[PASS] test_Rejected_NothingToTheWallet() (gas: 7583876)\n[PASS] test_SetBuybackWallet_OnlyDev_WithEvent() (gas: 518388)\n[PASS] test_YoloAddOn_BurnsNeverToTheWallet() (gas: 7150357)\n[PASS] test_YoloReward_FullStake_BurnsNeverToTheWallet() (gas: 6919571)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 175.47ms (115.49ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3917868, ~: 3954355)\n[PASS] test_10Votes_DecideAtTheVoteEnd() (gas: 3407174)\n[PASS] test_5Votes_NoDecision() (gas: 321792)\n[PASS] test_BadVotesRevert() (gas: 210199)\n[PASS] test_Delegate_OneTokenOnly() (gas: 325915)\n[PASS] test_Delegate_VotesForTheOwner_IdsOnce() (gas: 640428)\n[PASS] test_InstantDecision_NextBatchReverts() (gas: 511387)\n[PASS] test_Instant_20Votes() (gas: 388949)\n[PASS] test_MockNft_MintBatch() (gas: 3160319)\n[PASS] test_NftInEscrow() (gas: 452347)\n[PASS] test_NftsGotAfterOpeningVote() (gas: 2219688)\n[PASS] test_NoVoteWithoutDispute() (gas: 782056)\n[PASS] test_NotOwnId_RevertsAll() (gas: 212538)\n[PASS] test_OneWallet_DecidesAlone() (gas: 1001607)\n[PASS] test_OneWallet_MinWinnerWallets() (gas: 4646251)\n[PASS] test_OnlyTheHolderVotesHisNfts() (gas: 355800)\n[PASS] test_RepeatInList_Reverts() (gas: 114398)\n[PASS] test_SideCannotChange() (gas: 268074)\n[PASS] test_TransferredAfterVote_NoSecondVote() (gas: 1602062)\n[PASS] test_TwoThousandNfts_NeverMoreVotes() (gas: 60332168)\n[PASS] test_TwoTransactionsSameSide() (gas: 349588)\n[PASS] test_VoteCountsEverySentNft() (gas: 14024545)\n[PASS] test_VoterRewardSplitByCorrectVotes() (gas: 7042216)\n[PASS] test_VotesAfterVoteEndRevert() (gas: 58437)\nSuite result: ok. 24 passed; 0 failed; 0 skipped; finished in 250.07ms (270.88ms CPU time)\n\nRan 25 tests for test/Tasks.t.sol:TasksTest\n[PASS] test_AuthorCannotWithdrawOpenTask_SubmitWorks() (gas: 6689292)\n[PASS] test_CreateTask_AllCurrencies() (gas: 7426405)\n[PASS] test_CreateTask_NoAuthorFee() (gas: 3849402)\n[PASS] test_CreateTask_Reverts() (gas: 1827025)\n[PASS] test_DeadlineDuringSubmission_ExpiresAfterRejection() (gas: 7474733)\n[PASS] test_DeadlineDuringSubmission_SubmissionStillRuns() (gas: 10453586)\n[PASS] test_DeadlineRefund() (gas: 4107247)\n[PASS] test_ExcessEthRefunded() (gas: 397500)\n[PASS] test_NoCap_RewardTopUpsAndOpenTotal() (gas: 38501625)\n[PASS] test_NoDispute_AuthorOnly_24hWindow_USDC() (gas: 7063271)\n[PASS] test_NoDispute_ForeignMoney_24hWindow_ETH() (gas: 6931729)\n[PASS] test_NoDispute_IMDReward() (gas: 6642037)\n[PASS] test_NoDispute_StakeBonusAndBurn() (gas: 16397483)\n[PASS] test_NoDispute_YoloReward_TreasuryShareBurned() (gas: 11290165)\n[PASS] test_NoEscalation_SameBondAfterRejections() (gas: 5292024)\n[PASS] test_ParamBounds() (gas: 430781)\n[PASS] test_ParamChange_DoesNotAffectExistingTasks() (gas: 13847023)\n[PASS] test_ParamProposalCancel() (gas: 1336248)\n[PASS] test_PauseStopsOnlyNewTasks() (gas: 1280904)\n[PASS] test_Queue_FlatBondAndVoidRefund() (gas: 13134024)\n[PASS] test_QuoteBondFormula() (gas: 1949461)\n[PASS] test_TopUpDuringSubmission_PaidToDoerOnAcceptance() (gas: 7135154)\n[PASS] test_TopUpDuringSubmission_StaysInRewardAfterRejection() (gas: 10567316)\n[PASS] test_TopUpRightBeforeDeadline_LockedThenReturned() (gas: 4318320)\n[PASS] test_WithdrawRules() (gas: 12243166)\nSuite result: ok. 25 passed; 0 failed; 0 skipped; finished in 376.08ms (240.81ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1981800, ~: 1629326)\n[PASS] test_AuthorCanPredict() (gas: 716961)\n[PASS] test_BelowMinPositionReverts() (gas: 465546)\n[PASS] test_ClaimBeforeFinalReverts() (gas: 800951)\n[PASS] test_ClosesAtDeadline_PausesWhileBusy() (gas: 3223155)\n[PASS] test_CompletedTask_PotPaidOut_StillWillDoWon() (gas: 1655591)\n[PASS] test_ConstructorChecks() (gas: 4332)\n[PASS] test_ContributorAfterPosition_StillGetsHerFullSplitShare() (gas: 2401054)\n[PASS] test_Deferred_BurnedOnExpiry() (gas: 1311557)\n[PASS] test_Deferred_HalfToAuthorHalfToDoer() (gas: 2011729)\n[PASS] test_Deferred_NobodyOnWillDo_PoolToAuthorAndDoer() (gas: 1688695)\n[PASS] test_Doer_ClaimingFirst_StillGetsFullShare() (gas: 1883060)\n[PASS] test_Doer_PositionBeforeSubmission_GetsFullWinnerShare() (gas: 2037900)\n[PASS] test_Doer_SharesTheLosingPoolByPoints() (gas: 2129766)\n[PASS] test_EntrySplit_5_5_90() (gas: 776647)\n[PASS] test_EveryTaskHasADeadline() (gas: 755802)\n[PASS] test_NoCap_LargePositionAccepted() (gas: 2047367)\n[PASS] test_NoPriceNeeded_ImdAndUsdcRewards_MarketOpensAnyway() (gas: 1377626)\n[PASS] test_NumericExample_AliceBobCarl() (gas: 7778860)\n[PASS] test_RewardLockedUntilDeadline_WinnersPaidInFull() (gas: 2201617)\n[PASS] test_SweetenerAfterPosition_StillGetsFullShare() (gas: 2154198)\n[PASS] test_TotalPointsRoundingToZero_SplitByPositionInsteadOfReverting() (gas: 1273626)\n[PASS] test_Weight_CountsFromTaskCreation() (gas: 735879)\nSuite result: ok. 23 passed; 0 failed; 0 skipped; finished in 308.97ms (310.76ms CPU time)\n\nRan 35 tests for test/YoloPredictScenarios.t.sol:YoloPredictScenariosTest\n[PASS] testFuzz_DoerInSplit_NothingStuck(uint256,uint256,uint256,uint256,uint8,bool) (runs: 256, μ: 2485971, ~: 2478900)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3055145, ~: 2846258)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1953234, ~: 1600835)\n[PASS] test_ClaimOrder_DoesNotAffectPayouts() (gas: 2147747)\n[PASS] test_Claim_BeforeFinal_WithAnActiveSubmissionInFlight_Reverts() (gas: 1378922)\n[PASS] test_Claim_ByAPureLoser_PaysZero_NoRevert() (gas: 1745463)\n[PASS] test_Claim_Twice_SecondReverts() (gas: 1806149)\n[PASS] test_DoerInSplit_ShareIndependentOfClaimOrder() (gas: 2669287)\n[PASS] test_DoerOnlyOnWillDo_TakesTheWholePool() (gas: 2223268)\n[PASS] test_Doer_SharesTheLosingPoolWithOtherWinners() (gas: 2600777)\n[PASS] test_Empty_LonePositionOnLosingSide_PoolToAuthorAndDoer() (gas: 1624893)\n[PASS] test_Empty_LonePositionOnWinningSide() (gas: 1614146)\n[PASS] test_Empty_NoMarketAtAll() (gas: 594872)\n[PASS] test_Extremes_DustPositionsPayExactly() (gas: 1830578)\n[PASS] test_Extremes_FirstInstantPosition_AndLastSecondPosition() (gas: 901000)\n[PASS] test_Extremes_PositionOneSecondBeforeDeadline_ThenExactlyAtDeadlineReverts() (gas: 750037)\n[PASS] test_Extremes_VeryLongDuration_NoOverflow() (gas: 718590)\n[PASS] test_Gate_BecomingContributorAfterPredicting_StillFullShare() (gas: 2119119)\n[PASS] test_Gate_NoContributorBan_OnEitherTask() (gas: 1509999)\n[PASS] test_Gate_PredictingAfterDeadline_RevertsEvenIfStatusStillStoredAsOpen() (gas: 503837)\n[PASS] test_Gate_PredictingWhileBusy_RevertsBeforeAndAfterMarketOpen() (gas: 920685)\n[PASS] test_Gate_PredictorBecomesDoer_GetsFullShareWithoutAnyFlag() (gas: 1796856)\n[PASS] test_Gate_PredictorBecomesDoer_SettleFirst() (gas: 1945266)\n[PASS] test_Invariant_ExactWeiAccounting_MixedScenario() (gas: 4456162)\n[PASS] test_Life_AcceptedOnFirstSubmission() (gas: 1969626)\n[PASS] test_Life_AllSubmissionsRejected_ThenExpired() (gas: 3240321)\n[PASS] test_Life_DisputeAppealSwarm_AllAfterDeadline() (gas: 4348926)\n[PASS] test_Life_MultipleSubmissionsQueuedAtDeadline() (gas: 4140504)\n[PASS] test_Life_RejectedThenAcceptedOnResubmission() (gas: 4028624)\n[PASS] test_Life_SubmissionSecondBeforeDeadline_JudgedAfterDeadline() (gas: 1868960)\n[PASS] test_Life_VoteTieNoQuorum_DefaultsToAccepted() (gas: 2671068)\n[PASS] test_Resolve_PermissionlessAndIdempotent_CanBeCalledRepeatedly() (gas: 1739176)\n[PASS] test_RewardLocked_IdleOrBusy() (gas: 1195155)\n[PASS] test_RewardOnlyGrows_MarketUnaffected() (gas: 1085710)\n[PASS] test_Settle_CalledTenTimes_StaysIdempotent() (gas: 2300477)\nSuite result: ok. 35 passed; 0 failed; 0 skipped; finished in 284.80ms (602.96ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7308703, ~: 7283218)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173339, ~: 3173269)\n[PASS] test_Guard_BankOnlyForDesks() (gas: 132520)\n[PASS] test_Guard_FailedPushesBecomeCreditsAndBooksClose() (gas: 9658258)\n[PASS] test_Guard_LeakedAttesterKeyAloneCannotDecideDuringTheRemovalTimelock() (gas: 2885085)\n[PASS] test_Guard_LongestDueChainFitsOneCall() (gas: 10895819)\n[PASS] test_Guard_RevertingPinnedDevPricesNeverBlocksWithdrawals() (gas: 3992671)\n[PASS] test_Guard_ThirdPartyAnswerToACopiedQuestionCannotDecideOurCase() (gas: 9436668)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 582.84ms (772.32ms CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 206131, ~: 143034)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 62368, ~: 54974)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14357, ~: 13631)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 586.94ms (596.43ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 8850467, ~: 8014033)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 603.30ms (585.19ms CPU time)\n\nRan 51 tests for test/Disputes.t.sol:DisputesTest\n[PASS] test_Appeal_ActionNotSold() (gas: 6864653)\n[PASS] test_Appeal_ByDoerSide_Flip() (gas: 7695317)\n[PASS] test_Appeal_IntakeReverts_AppealVoided() (gas: 7415423)\n[PASS] test_Appeal_LateAnswerAfterSilenceIgnored() (gas: 8066807)\n[PASS] test_Appeal_NeverAsked_ThirdTimeEndsUncalled() (gas: 7704389)\n[PASS] test_Appeal_NeverAsked_TimesOut() (gas: 7254259)\n[PASS] test_Appeal_PriceRaised_AppealVoided() (gas: 7280708)\n[PASS] test_Appeal_Silent_DecisionStands_NewWindow() (gas: 8170216)\n[PASS] test_Appeal_Silent_ReappealFlips() (gas: 8887626)\n[PASS] test_Appeal_SwarmAgrees() (gas: 8167793)\n[PASS] test_Appeal_SwarmFlips_NoFeeRefund_WinnerTakesAll() (gas: 7835475)\n[PASS] test_Appeal_WindowClosed() (gas: 1082536)\n[PASS] test_CallSwarm_ActionNotSold_DefaultStands() (gas: 6415976)\n[PASS] test_CallSwarm_LowerPrice_NoFeeRefund() (gas: 7311412)\n[PASS] test_CallSwarm_WrongPhase() (gas: 599859)\n[PASS] test_ClaimsPlayTimersThemselves_NoPokeNeeded() (gas: 6560781)\n[PASS] test_ContributorAppellantWins_GetsHisShareLikeAnyWinner() (gas: 8067842)\n[PASS] test_ContributorDisputerWins_SameShareAsAnyDisputer() (gas: 6980660)\n[PASS] test_ContributorDoerWins_GetsHisShareLikeAnyWinner() (gas: 11143562)\n[PASS] test_DisputeWindowClosedAndLimits() (gas: 1668402)\n[PASS] test_Dispute_NftAccepts_Fee5To5_Bond5050() (gas: 7024505)\n[PASS] test_Dispute_NftRejects_BondSplit5050() (gas: 6895355)\n[PASS] test_DisputerWhoTopsUpLater_StillGetsHisFullShare() (gas: 6838820)\n[PASS] test_DoerReply() (gas: 1579088)\n[PASS] test_InstantDecision_FiresOnceTheDeltaIsCrossed() (gas: 8334666)\n[PASS] test_NoDecision_CallAfterWindow_Reverts() (gas: 6536897)\n[PASS] test_NoDecision_CallSwarm_Accepts_CallerLosesBondAndFee() (gas: 7480663)\n[PASS] test_NoDecision_CallSwarm_Rejects_CallerGetsOnlyHisShare() (gas: 7697074)\n[PASS] test_NoDecision_DoerCallsSwarm_Confirmed() (gas: 7428685)\n[PASS] test_NoDecision_DoerCallsSwarm_Rejected() (gas: 7271426)\n[PASS] test_NoDecision_NobodyCalls_Accepted_DisputerBondsAllToDoer() (gas: 7554241)\n[PASS] test_NoDecision_SilentStatus2_NobodyCallsAgain_GeneralRule() (gas: 7793088)\n[PASS] test_NoDecision_SilentTimeout_WindowFromSilence() (gas: 7502222)\n[PASS] test_NoDecision_Silent_CalledAgain_Answers_NoFeeRefund() (gas: 8541855)\n[PASS] test_SilenceLoop_ThirdSilenceEndsTheCase() (gas: 9561530)\n[PASS] test_Stake_ContributedAfterSubmission_StillGetsBonus() (gas: 10735113)\n[PASS] test_Stake_EthAndImdBurnShareToBurner() (gas: 15022788)\n[PASS] test_Stake_FullPower_NftRight_VotesFive_BurnHalf_TreasuryHalf() (gas: 11405228)\n[PASS] test_Stake_FullPower_NftUndecided_BurnFiveAndHalf() (gas: 10916599)\n[PASS] test_Stake_FullPower_NoDispute_Bonus_AndBurnToBurner() (gas: 10514241)\n[PASS] test_Stake_LockEndedBeforePayout_NoBonus_RelockCounts() (gas: 15289679)\n[PASS] test_Stake_LockedInTheSubmissionBlock_NoBonus() (gas: 6869604)\n[PASS] test_Stake_None_FeeToTreasury() (gas: 10257490)\n[PASS] test_Stake_PartPower_NoDispute() (gas: 10512763)\n[PASS] test_Stake_ToppedUpAfterSubmission_OnlyThePowerBeforeCounts() (gas: 10601059)\n[PASS] test_SwarmFees_NoRefund_TwoSilencesThenAnswer() (gas: 14443075)\n[PASS] test_SwarmFees_WinnerSideOnly_DoerSilentCallRefunded() (gas: 12768330)\n[PASS] test_ThirdSilence_Decided_NftDecisionStands() (gas: 10223359)\n[PASS] test_ThirdSilence_NoDecision_AcceptedDisputerBondToDoer() (gas: 9644934)\n[PASS] test_YoloReward_FeeSplitsLikeAnyReward_Votes5_Doer4_Burner1() (gas: 11465953)\n[PASS] test_YoloReward_TreasuryPartToBurner_FullPowerSix() (gas: 15101619)\nSuite result: ok. 51 passed; 0 failed; 0 skipped; finished in 1.28s (491.84ms CPU time)\n\nRan 1 test for test/review/ReviewRoles.t.sol:ReviewRoles\n[PASS] testFuzz_RoleOverlap((uint8,uint8,uint8,uint8,uint8,uint8,uint8,bool,uint32)) (runs: 256, μ: 9192597, ~: 9420179)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.28s (1.26s CPU time)\n\nRan 1 test for test/Scenarios.t.sol:ScenariosTest\n[PASS] testFuzz_Scenario((uint8,uint256,bool,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint256,bool,uint32,uint16,uint16)) (runs: 256, μ: 10919663, ~: 10011774)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.29s (1.27s CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 97855594, ~: 100602250)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387093914)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.97s (4.29s CPU time)\n\nRan 1 test for test/Invariant.t.sol:InvariantTest\n[PASS]\nInvariantTest invariants:\n[PASS] invariant_BalanceEqualsLiabilities\n[PASS] invariant_HubHoldsEveryLock_StakePowerBounded\n[PASS] invariant_RewardLockedUntilDeadline\n[PASS] invariant_SweetenerHoldsEveryBonus\n[PASS] invariant_TrophiesOnlyForAcceptedDoersAndEveryYoloBurned\n InvariantTest invariants (runs: 100, calls: 15000, reverts: 0)\n\n╭----------+----------------------+-------+---------+----------╮\n| Contract | Selector             | Calls | Reverts | Discards |\n+==============================================================+\n| Handler  | answer               | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 515   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 512   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 532   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 552   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 525   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 518   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 543   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 567   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 532   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 509   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 523   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 596   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 561   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 521   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 550   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 519   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 570   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 558   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 513   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 536   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 514   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 563   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 6\n  topUp: 3\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 3\n  callSwarm: 0\n  answer: 0\n  claimDisputer: 0\n  claimVoter: 0\n  claimVoid: 0\n  withdrawContribution: 2\n  withdrawExpired: 2\n  progress: 0\n  sweeten: 7\n  withdrawBonus: 0\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 7\n  withdrawLock: 0\n  repeatedAsk: 0\n  progress at phase 2: 0\n  progress at phase 3: 0\n  progress at phase 4: 0\n  progress at phase 5: 0\n  progress at phase 6: 0\n  progress at phase 7: 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 17.36s (17.34s CPU time)\n\nRan 88 test suites in 17.42s (31.76s CPU time): 691 tests passed, 0 failed, 3 skipped (694 total tests)\n","passed":true},{"durationMs":234,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"BuybackBurner.burnYolo()\",\"BuybackBurner.forward(address)\",\"BuybackBurner.pull(address,address)\",\"BuybackBurner.receive()\",\"BuybackBurner.setBuybackWallet(address)\",\"CaseDesk.advanced(uint256)\",\"CaseDesk.askAppeal(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.askEscalation(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.claimVoidSubmission(uint256)\",\"CaseDesk.markAppealed(uint256)\",\"CaseDesk.startVote(uint256,uint32)\",\"CaseDesk.step(uint256)\",\"CaseDesk.submit(uint256,string,(string,string),uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"CaseDesk.tryInstantDecision(uint256,(uint256,uint256,uint256,uint256))\",\"CaseDesk.unwind(uint256)\",\"CaseDesk.wire(address,address,address,address,address)\",\"DareTrophy.approve(address,uint256)\",\"DareTrophy.mint(uint256,string)\",\"DareTrophy.safeTransferFrom(address,address,uint256)\",\"DareTrophy.safeTransferFrom(address,address,uint256,bytes)\",\"DareTrophy.setApprovalForAll(address,bool)\",\"DareTrophy.transferFrom(address,address,uint256)\",\"DevPrices.acceptOwnership()\",\"DevPrices.renounceOwnership()\",\"DevPrices.setEthUsd(uint256)\",\"DevPrices.setImdUsd(uint256)\",\"DevPrices.setYoloPriceUsd(uint256)\",\"DevPrices.transferOwnership(address)\",\"DevVesting.bindStarter()\",\"DevVesting.release(address)\",\"DisputeDesk.appeal(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.appealAsked(uint256,uint256)\",\"DisputeDesk.askAppealSwarm(uint256,(string,string,string,string,string))\",\"DisputeDesk.callSwarm(uint256,bool,uint256,(address,uint256,uint256,uint64,bytes),(string,string,string,string,string))\",\"DisputeDesk.claimDisputer(uint256)\",\"DisputeDesk.claimVoterReward(uint256,address)\",\"DisputeDesk.claimVoterRewards(uint256[],address)\",\"DisputeDesk.dispute(uint256,string,string,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.dropCaller(uint256)\",\"DisputeDesk.settle(uint256,uint8,(uint64,uint32,address,address,uint8,uint256,(uint256,uint256),uint64,uint16,bool))\",\"DisputeDesk.vote(uint256,uint8,address,uint256[])\",\"DisputeDesk.wire(address,address,address,address,address)\",\"HiddenList.setState((address,uint8,uint256)[],uint8)\",\"HiddenList.vote(address,uint8,uint256,bool,uint256[])\",\"IncentivesVesting.bindStarter()\",\"IncentivesVesting.release(address)\",\"NftGate.consume(address,uint256)\",\"NftGate.record(address[],uint256[])\",\"NftGate.seal(uint256)\",\"ParamsRegistry.acceptOwnership()\",\"ParamsRegistry.activateParams()\",\"ParamsRegistry.cancelAttester(address,bool)\",\"ParamsRegistry.cancelParams()\",\"ParamsRegistry.executeAttester(address,bool)\",\"ParamsRegistry.proposeAttester(address,bool)\",\"ParamsRegistry.renounceOwnership()\",\"ParamsRegistry.setNewTasksPaused(bool)\",\"ParamsRegistry.transferOwnership(address)\",\"ProjectVesting.bindStarter()\",\"ProjectVesting.release(address)\",\"ProtocolDirectory.addVersion()\",\"ProtocolDirectory.cancelCurrent()\",\"ProtocolDirectory.cancelVersion()\",\"ProtocolDirectory.proposeCurrent(uint256)\",\"ProtocolDirectory.proposeVersion((address,address,address,uint64,uint64,string))\",\"ProtocolDirectory.setCurrent()\",\"TaskVault.addTreasury(address,uint256)\",\"TaskVault.advance(uint256)\",\"TaskVault.ask((uint64,uint8,uint16,uint16,address,bytes32,bytes32,uint256),bytes)\",\"TaskVault.bindSweetener(address)\",\"TaskVault.burn(address,uint256)\",\"TaskVault.cancelTask(uint256)\",\"TaskVault.closeSubmission(uint256,uint8,uint256)\",\"TaskVault.collectBondPart(address,uint256,address,uint256)\",\"TaskVault.collectImd(address,uint256,uint256,address,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.createTask(address,uint256,uint64,string,(string,string,string),uint8,uint8,string,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.credit(address,address,uint256)\",\"TaskVault.fallback()\",\"TaskVault.onOracleResult(bytes32,(bytes32,uint256,bytes32,uint8,bytes,uint256,uint64,uint64,bytes32,bytes32,uint16,uint16,uint16,uint64,uint64),bytes)\",\"TaskVault.pay(address,address,uint256)\",\"TaskVault.place(uint256,uint256,bool)\",\"TaskVault.poke(uint256)\",\"TaskVault.settleValue(address,uint256,uint256)\",\"TaskVault.sweepTreasury(address)\",\"TaskVault.topUp(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.withdraw(address)\",\"TaskVault.withdrawContribution(uint256)\",\"TaskVault.withdrawTo(address,address)\",\"TeamVesting.bindStarter()\",\"TeamVesting.release(address)\",\"TreasuryVesting.bindStarter()\",\"TreasuryVesting.release(address)\",\"TrophyCatalog.acceptOwnership()\",\"TrophyCatalog.addDesign(string,bytes)\",\"TrophyCatalog.renounceOwnership()\",\"TrophyCatalog.setCategoryDesign(uint8,uint256)\",\"TrophyCatalog.setDefaultDesign(uint256)\",\"TrophyCatalog.setDesignEnabled(uint256,bool)\",\"TrophyCatalog.transferOwnership(address)\",\"UniswapV3SwapAdapter.swapExactIn(address,address,uint256,uint256,uint256,bytes,address)\",\"YoloLockHub.lock(uint256,uint256)\",\"YoloLockHub.withdraw()\",\"YoloPredict.claim(uint256)\",\"YoloPredict.predict(uint256,bool,uint256)\",\"YoloPredict.settle(uint256)\",\"YoloSplitter.split(address)\",\"YoloSweetener.claimVoter(uint256,address)\",\"YoloSweetener.payout(uint256)\",\"YoloSweetener.sweeten(uint256,uint256)\",\"YoloSweetener.withdraw(uint256)\",\"YoloToken.approve(address,uint256)\",\"YoloToken.transfer(address,uint256)\",\"YoloToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":5,\".gitmodules\":9,\"ADAPTATION.md\":121,\"CONTRACTS.md\":178,\"README.md\":99,\"brand/BRANDBOOK.md\":79,\"brand/avatar-400.png\":168,\"brand/favicon-16.png\":3,\"brand/favicon-32.png\":7,\"brand/mark-1024.png\":317,\"brand/mark-pixel-64.png\":6,\"brand/mark-transparent-1024.png\":385,\"brand/og-1200x630.png\":912,\"brand/sheet.png\":2363,\"brand/wordmark-2400x600.png\":283,\"brand/x-banner-1500x500.png\":725,\"docs/LAUNCH-TASK.md\":202,\"docs/MECHANICS.md\":454,\"docs/TOKENOMICS.md\":101,\"docs/YOLO.md\":289,\"foundry.lock\":11,\"foundry.toml\":33,\"landing/assets/fonts/LICENSE-ibm-plex-mono.txt\":93,\"landing/assets/fonts/LICENSE-quicksand.txt\":93,\"landing/assets/fonts/plexmono-500.woff2\":62,\"landing/assets/fonts/quicksand-500.woff2\":55,\"landing/assets/fonts/quicksand-600.woff2\":57,\"landing/assets/fonts/quicksand-700.woff2\":78,\"landing/assets/img/avatar-400.png\":168,\"landing/assets/img/dare1.jpg\":150,\"landing/assets/img/dare2.jpg\":148,\"landing/assets/img/dare3.jpg\":201,\"landing/assets/img/dare4.jpg\":140,\"landing/assets/img/favicon-16.png\":3,\"landing/assets/img/favicon-32.png\":7,\"landing/assets/img/nft-1.svg\":1,\"landing/assets/img/nft-1000.svg\":1,\"landing/assets/img/nft-4.svg\":1,\"landing/assets/img/og-1200x630.png\":912,\"landing/assets/img/toad-640.png\":459,\"landing/assets/img/wordmark.png\":221,\"landing/assets/video/poster.jpg\":297,\"landing/index.html\":286,\"landing/main.js\":396,\"landing/style.css\":490,\"launch.json\":47,\"script/DeployMainnet.s.sol\":187,\"script/LaunchPlan.sol\":422,\"script/check-launch-task.py\":32,\"script/snapshot/snapshot.py\":187,\"src/BuybackBurner.sol\":124,\"src/DareTrophy.sol\":220,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":297,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":215,\"src/ProtocolDirectory.sol\":167,\"src/TaskVault.sol\":830,\"src/TrophyCatalog.sol\":119,\"src/VaultParams.sol\":250,\"src/VaultTypes.sol\":450,\"src/VotePower.sol\":51,\"src/YoloLockHub.sol\":151,\"src/YoloPredict.sol\":297,\"src/YoloSweetener.sol\":173,\"src/adapters/UniswapV3SwapAdapter.sol\":71,\"src/desks/CaseDesk.sol\":547,\"src/desks/Desk.sol\":143,\"src/desks/DeskApi.sol\":137,\"src/desks/DisputeDesk.sol\":791,\"src/helpers/AttestationChecker.sol\":58,\"src/helpers/SwarmQuestion.sol\":176,\"src/helpers/TextRules.sol\":244,\"src/interfaces/IDelegateRegistry.sol\":12,\"src/interfaces/IIntake.sol\":33,\"src/interfaces/ISwapAdapter.sol\":22,\"src/interfaces/ITaskVault.sol\":167,\"src/libraries/VoteLib.sol\":33,\"src/token/NftGate.sol\":113,\"src/token/ProjectVesting.sol\":102,\"src/token/Vestings.sol\":38,\"src/token/YoloSplitter.sol\":103,\"src/token/YoloToken.sol\":160,\"test/Adaptation.t.sol\":174,\"test/Base.t.sol\":652,\"test/BondBase.t.sol\":146,\"test/BuybackWallet.t.sol\":434,\"test/CancelTask.t.sol\":250,\"test/ContractRules.t.sol\":208,\"test/Cover.t.sol\":207,\"test/Desks.t.sol\":433,\"test/DevPrices.t.sol\":86,\"test/Directory.t.sol\":186,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":671,\"test/Hosts.t.sol\":112,\"test/Invariant.t.sol\":674,\"test/LogReconstruction.t.sol\":70,\"test/MoneyRules.t.sol\":937,\"test/OptionalFields.t.sol\":103,\"test/Payments.t.sol\":295,\"test/Scenarios.t.sol\":217,\"test/SideCalls.t.sol\":388,\"test/Swarm.t.sol\":435,\"test/Sweetener.t.sol\":379,\"test/TaskFields.t.sol\":391,\"test/TaskRules.t.sol\":201,\"test/Tasks.t.sol\":619,\"test/TextRule.t.sol\":105,\"test/Trophy.t.sol\":402,\"test/VoteBatch.t.sol\":155,\"test/VoteCountWidth.t.sol\":31,\"test/VoteGas.t.sol\":150,\"test/VotePowerFuzz.t.sol\":122,\"test/Votes.t.sol\":418,\"test/Yolo.t.sol\":138,\"test/YoloLockHub.t.sol\":487,\"test/YoloPredict.t.sol\":641,\"test/YoloPredictScenarios.t.sol\":951,\"test/YoloToken.t.sol\":730,\"test/audit/AddonAfterSub.t.sol\":52,\"test/audit/AuditA.t.sol\":74,\"test/audit/AuditB.t.sol\":314,\"test/audit/AuditC.t.sol\":264,\"test/audit/AuditNoFallbackOwnVote.t.sol\":118,\"test/audit/AuditNoMandatoryCheck.t.sol\":106,\"test/audit/AuditSweetenerBonus.t.sol\":298,\"test/audit/LateAppealAsk.t.sol\":125,\"test/audit/LazyAppealVoidWindow.t.sol\":59,\"test/audit/MaxImdInCap.t.sol\":224,\"test/audit/PredictAfterTimer.t.sol\":41,\"test/audit/PredictZeroPoints.t.sol\":84,\"test/audit/StakeFloorZeroSplit.t.sol\":41,\"test/audit/StakePowerRelock.t.sol\":64,\"test/audit/StepDeadlineAppealed.t.sol\":28,\"test/audit/StepDeadlineAsked.t.sol\":35,\"test/audit/YoloModulesAudit.t.sol\":116,\"test/audit/round2/Proof_476db268aaec.t.sol\":80,\"test/audit/round2/Proof_5d8c4edc729c.t.sol\":67,\"test/audit/round2/Proof_ced07852b14f.t.sol\":50,\"test/audit/swarm117/SwarmAudit117.t.sol\":338,\"test/audit/swarm117/VestingClockPreStart.t.sol\":92,\"test/fork/LaunchForkBase.sol\":193,\"test/fork/LaunchRehearsal.fork.t.sol\":1173,\"test/fork/UniswapV3AdapterFork.t.sol\":37,\"test/mocks/MockDelegateRegistry.sol\":26,\"test/mocks/MockERC20.sol\":31,\"test/mocks/MockIntake.sol\":120,\"test/mocks/MockNFT.sol\":17,\"test/mocks/MockPriceOracle.sol\":74,\"test/mocks/MockStarter.sol\":28,\"test/mocks/MockSwapAdapter.sol\":32,\"test/mocks/TaskRulesFixture.sol\":32,\"test/review/ReviewAttestation.t.sol\":218,\"test/review/ReviewGas.t.sol\":93,\"test/review/ReviewGasGrief.t.sol\":76,\"test/review/ReviewLaunch.t.sol\":618,\"test/review/ReviewProofFormat.t.sol\":54,\"test/review/ReviewProofLabel.t.sol\":123,\"test/review/ReviewProofs.t.sol\":166,\"test/review/ReviewQuestionSize.t.sol\":100,\"test/review/ReviewQueue.t.sol\":95,\"test/review/ReviewRoles.t.sol\":127,\"test/review/ReviewSplitAccess.t.sol\":522,\"test/review/ReviewSplitRegression.t.sol\":402,\"test/review/ReviewSwarmOrders.t.sol\":88,\"test/review/ReviewSweetener.t.sol\":304,\"test/review/ReviewYolo.t.sol\":96},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"54dbdf5c3bdb1420e699ba221cdd2bf005a716b863cc32e01ca603c1fa66bcc9","verifiedTreeHash":"52e53958f2e68ee70cd8bdd2a8187e1d79003e55","verifierVersion":"0.1.0+a26ee00d"},{"checks":[{"durationMs":535504,"exitCode":0,"name":"build","output":"Compiling 179 files with Solc 0.8.28\nSolc 0.8.28 finished in 535.29s\nCompiler run successful with warnings:\nWarning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.\n  --> src/TaskVault.sol:67:1:\n   |\n67 | contract TaskVault {\n   | ^ (Relevant source part starts here and spans across multiple lines).\nNote: The payable fallback function is defined here.\n   --> src/TaskVault.sol:182:5:\n    |\n182 |     fallback() external payable {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.\n --> foundry-pp/DeployHelper95.sol:7:1:\n  |\n7 | abstract contract DeployHelper95 is TaskVault {\n  | ^ (Relevant source part starts here and spans across multiple lines).\nNote: The payable fallback function is defined here.\n   --> src/TaskVault.sol:182:5:\n    |\n182 |     fallback() external payable {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2072): Unused local variable.\n  --> test/audit/swarm117/SwarmAudit117.t.sol:29:10:\n   |\n29 |         (uint256 t, uint256 s) = _decidedAccept();\n   |          ^^^^^^^^^\n\n","passed":true},{"durationMs":18315,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 1 test for test/fork/UniswapV3AdapterFork.t.sol:UniswapV3AdapterFork\n[SKIP] test_Fork_EthToImd() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 250.35µs (104.27µs CPU time)\n\nRan 3 tests for test/audit/swarm117/VestingClockPreStart.t.sol:VestingStarterBindingTest\n[PASS] test_bindingClosesWithTheDeploymentTransaction() (gas: 39262)\n[PASS] test_starterIsTheSplitterAndCannotBeRebound() (gas: 35402)\n[PASS] test_unboundVestingStartsNoClock() (gas: 627278)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 843.74µs (413.08µs CPU time)\n\nRan 1 test for test/audit/swarm117/VestingClockPreStart.t.sol:VestingClockPreStartTest\n[PASS] test_clockCannotBeStartedBeforeTheShareArrives() (gas: 447627)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 604.08µs (214.74µs CPU time)\n\nRan 2 tests for test/audit/StakePowerRelock.t.sol:StakePowerRelockTest\n[PASS] test_RelockOfAnEndedLockGivesNoStakePower() (gas: 241513)\n[PASS] test_WithdrawThenLockGivesZero_reference() (gas: 303286)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.05ms (456.54µs CPU time)\n\nRan 1 test for test/review/ReviewSwarmOrders.t.sol:ReviewSwarmOrders\n[PASS] test_printTestQuestions() (gas: 153072)\nLogs:\n  T1 1719\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0xe0161177113a03c1dce7415ed9e1c076c939b5968441681ed1fdd3a3632bfed6\n  T2 1719\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xe132be23ce6255930556a45406075e62fb6340c0 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x9adb7cd61bdff19f992b83d1a9ea1517767d60fbec90fc4c558de186b04525b4\n  T3 1999\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/2\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\",\"claim_1\":\"The transaction moved only 5 IMD, less than the 10 the task requires.\",\"claim_1_proof\":\"https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b\",\"doer_note\":\"The Transfer log of the transaction shows 379.22 IMD sent from my address.\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x648b6ba47fb0a9d37651b0bedc56c9409154b663f6bc5b6b38e9577ef42a244a\n  T4 1542\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://imd.fun/docs/ | PROOF TYPE: link | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Web page; page contains: “Ask the oracle”; https, live at check; moneycanbuy.fun on the page\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x5d1a8eff6f36add21363c69a6355fc1ae6c261428b7091e74637bc4b9a3c032a\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.18ms (950.48µs CPU time)\n\nRan 2 tests for test/review/ReviewProofFormat.t.sol:ReviewProofFormat\n[PASS] test_VideoAndTx() (gas: 133853)\n[PASS] test_XPostForms() (gas: 190014)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.31ms (1.08ms CPU time)\n\nRan 1 test for test/audit/AuditA.t.sol:AuditAUnit\n[PASS] test_Guard_vestingClocksStartAtTheSplit() (gas: 4073728)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.67ms (921.76µs CPU time)\n\nRan 1 test for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccessIsolated\n[PASS] test_Guard_WireClosesWithTheDeployTx() (gas: 69322)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.42ms (1.33ms CPU time)\n\nRan 1 test for test/review/ReviewLaunch.t.sol:ReviewLaunchFork\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 2.67ms (0.00ns CPU time)\n\nRan 2 tests for test/review/ReviewYolo.t.sol:ReviewYoloUnit\n[PASS] test_vestingStreamsFromArrivalWithoutACliff() (gas: 897695)\n[PASS] test_whitelistRefusesOutputTakenToARouter() (gas: 1179155)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 1.07ms (887.44µs CPU time)\n\nRan 5 tests for test/review/ReviewLaunch.t.sol:ReviewLaunchStatic\n[PASS] test_L0_docLaunch0Args_matchPlan() (gas: 524751)\n[PASS] test_L1_perContractCodeMargin_matchesDoc() (gas: 37576812)\nLogs:\n  DevPrices 2467 runtime, margin 22109\n  UniswapV3SwapAdapter 1673 runtime, margin 22903\n  ParamsRegistry 13552 runtime, margin 11024\n  TextRules 5249 runtime, margin 19327\n  SwarmQuestionBuilder 5506 runtime, margin 19070\n  VotePower 942 runtime, margin 23634\n  AttestationChecker 2125 runtime, margin 22451\n  BuybackBurner 2614 runtime, margin 21962\n  NftGate (launch 0) 1916 runtime, margin 22660\n  IncentivesVesting (launch 0) 1936 runtime, margin 22640\n  DevVesting (launch 0) 1888 runtime, margin 22688\n  TeamVesting (launch 0) 1888 runtime, margin 22688\n  TreasuryVesting (launch 0) 1936 runtime, margin 22640\n  YoloSplitter (launch 0) 2113 runtime, margin 22463\n  YoloToken 4015 runtime, margin 20561\n  YoloLockHub 3199 runtime, margin 21377\n  CaseDesk 20064 runtime, margin 4512\n  DisputeDesk 21489 runtime, margin 3087\n  TaskVault 20624 runtime, margin 3952\n  YoloSweetener 6748 runtime, margin 17828\n  TrophyCatalog 4228 runtime, margin 20348\n  DareTrophy 11777 runtime, margin 12799\n  ProtocolDirectory 4546 runtime, margin 20030\n  HiddenList 3789 runtime, margin 20787\n  YoloPredict 6385 runtime, margin 18191\n\n[PASS] test_L2_docLaunch1Args_matchPlan() (gas: 889648)\n[PASS] test_L3_docLaunch2Args_matchPlan() (gas: 1361357)\n[PASS] test_L5_docLaunch3Args_matchPlan() (gas: 684503)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 13.05ms (9.52ms CPU time)\n\nRan 2 tests for test/audit/AuditSweetenerBonus.t.sol:AuditVestingClock\n[PASS] test_clockStartsAtTheFirstReleaseWithABalance() (gas: 1732627)\n[PASS] test_splitStartsTheClocks() (gas: 4708453)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 2.27ms (1.89ms CPU time)\n\nRan 2 tests for test/audit/AddonAfterSub.t.sol:AddonAfterSubmissionTest\n[PASS] test_AddonAfterSubmission_BatchClaimPaysSweetener() (gas: 2688084)\n[PASS] test_AddonBeforeSubmission_BatchClaimPaysSweetener() (gas: 2585515)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 25.11ms (3.84ms CPU time)\n\nRan 1 test for test/audit/StepDeadlineAppealed.t.sol:StepDeadlineAppealedTest\n[PASS] test_StepDeadlineAppealed_IsVoidMoment() (gas: 2223146)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 27.99ms (1.82ms CPU time)\n\nRan 3 tests for test/review/ReviewSweetener.t.sol:ReviewYoloStrictTest\n[PASS] test_Guard_PriceVanishingAfterTheQuoteDoesNotAffectTheSubmission() (gas: 1003887)\n[PASS] test_Guard_RevertingDevPricesDoesNotAffectTheSubmission() (gas: 956986)\n[PASS] test_Guard_creationNeedsNoPrice() (gas: 532504)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 29.35ms (1.80ms CPU time)\n\nRan 1 test for test/review/ReviewYolo.t.sol:ReviewYoloVault\n[PASS] test_depressedPrice_touchesNeitherNewYoloTasksNorAnExistingBond() (gas: 1754056)\nLogs:\n  doer bond rew, honest / attacked: 300000000000000000000000 300000000000000000000000\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 23.79ms (1.30ms CPU time)\n\nRan 3 tests for test/review/ReviewQuestionSize.t.sol:ReviewQuestionSize\n[PASS] test_FixedPartIs193BytesAtMaxIds() (gas: 1194279)\nLogs:\n  fixed part bytes at max ids: 193\n\n[PASS] test_TaskIdCountsOnceInFixedPart() (gas: 1932129)\nLogs:\n  bytes added by a 20-digit task id: 19\n\n[PASS] test_WorstCaseQuestionFitsIntakeLimit() (gas: 1194039)\nLogs:\n  worst-case question bytes: 2000\n\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 32.14ms (15.50ms CPU time)\n\nRan 3 tests for test/review/ReviewProofLabel.t.sol:ReviewProofLabel\n[PASS] test_PromptSaysTheLabelIsOptional() (gas: 2106372)\n[PASS] test_QuestionHasNoDoerCode() (gas: 2894691)\n[PASS] test_SameLinkFirst_SameQuestionButDoerAndCase() (gas: 4384513)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 32.54ms (10.81ms CPU time)\n\nRan 4 tests for test/GasTextSize.t.sol:GasTextSizeTest\n[PASS] test_CallSwarm_MaxResupply() (gas: 2621226)\nLogs:\n  callSwarm (resupply: 3x512B rules + reason 512B + disputerProofUri 512B, hash+calldata scheme): 1024303\n\n[PASS] test_CreateTask_RealExamples_And_MaxText() (gas: 1513275)\nLogs:\n  createTask (1+1+1 B rules, floor): 332363\n  createTask (forehead: 114+376+219=709 B): 335415\n    of which text-size delta over floor: 3052\n  createTask (supermarket: 307+405+188=900 B): 335240\n    of which text-size delta over floor: 2877\n  createTask (3x512=1536 B, ceiling): 348296\n    of which text-size delta over floor: 15933\n\n[PASS] test_Dispute_MaxReason() (gas: 1298072)\nLogs:\n  dispute (reason 512B + disputerProofUri 512B): 510298\n\n[PASS] test_Submit_MaxProofAndExplanation() (gas: 1872053)\nLogs:\n  submit (proof 512B link + explanation/doerNote 200B, the max note): 1480175\n\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 32.59ms (6.83ms CPU time)\n\nRan 3 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117SweetenerTest\n[PASS] test_sweetenerLargeBonusWithoutPricePaysInFull() (gas: 7147724)\n[PASS] test_sweetenerNoCapWithAPrice() (gas: 7066360)\n[PASS] test_sweetenerPayoutWithoutPricePaysAtOnce() (gas: 7199441)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 32.54ms (17.89ms CPU time)\n\nRan 12 tests for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccess\n[PASS] test_Guard_ForgedSuffixDirectToDeskReverts() (gas: 1275562)\n[PASS] test_Guard_LocalFactoryLaunchesOnlyForItsDeployer() (gas: 15786185)\n[PASS] test_Guard_NoEmergencyExit_PokeAlwaysResolves() (gas: 1139156)\n[PASS] test_Guard_NoRewireAfterLaunch() (gas: 74617)\n[PASS] test_Guard_ReentryFromEthRefundIsLocked() (gas: 1594078)\n[PASS] test_Guard_ReentryFromSwapHookIsLocked() (gas: 1649343)\n[PASS] test_Guard_RoutedSelectorsMatchDeskAbi() (gas: 382)\n[PASS] test_Guard_SiblingAndVaultCannotCrossCall() (gas: 383550)\n[PASS] test_Guard_SwappedDesksRevertTheDeployment() (gas: 39035)\n[PASS] test_Guard_UserSuffixThroughVaultIsIgnored() (gas: 1575777)\n[PASS] test_Guard_VaultRoutesNoDeskInternalSelector() (gas: 408709)\n[PASS] test_Guard_WireIsFirstComeInsideTheCreatingTx() (gas: 262400)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 33.83ms (8.40ms CPU time)\n\nRan 5 tests for test/Adaptation.t.sol:AdaptationTest\n[PASS] test_Audit_GateWriterPowersEndAtTheSeal() (gas: 445153)\n[PASS] test_Audit_LoneVestingHasNoClock_GenesisLaunchBindsAllFour() (gas: 4121678)\n[PASS] test_LockHub_HistoryCheckpoints_SameBlockOverwritesLaterBlockAppends() (gas: 513481)\n[PASS] test_Vault_BondPartInUsdc_PulledFromTheSubmitter() (gas: 994127)\n[PASS] test_Vault_CollectBondPart_OnlyADesk() (gas: 80034)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 34.55ms (2.70ms CPU time)\n\nRan 8 tests for test/Yolo.t.sol:YoloTest\n[PASS] test_NoDeadlineRefused() (gas: 48466)\n[PASS] test_OtherTokensStillRefused() (gas: 632207)\n[PASS] test_UnpricedYolo_NoPriceNeededAnywhere() (gas: 6921278)\n[PASS] test_YoloBelowMinimumRefused() (gas: 131701)\n[PASS] test_YoloNoMandatoryCheckAtAnySize() (gas: 1268471)\n[PASS] test_YoloTaskAcceptedPaysInYolo() (gas: 6737262)\n[PASS] test_YoloTopUp_LockedUntilExpiry_ThenBack() (gas: 880116)\n[PASS] test_YoloWithRevertingDevPrices_SubmissionStillWorks() (gas: 1049582)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 36.38ms (14.17ms CPU time)\n\nRan 7 tests for test/review/ReviewProofs.t.sol:ReviewProofs\n[PASS] test_AppealPriceJump_RevertsWithMaxImdIn() (gas: 2259793)\n[PASS] test_BodyBoundedByParams_OneDisputerOnly() (gas: 2622307)\n[PASS] test_BondNeverDoubles_SubmitPassesWithQuotedMax() (gas: 1433531)\n[PASS] test_DisputeVoteAppealAfterTaskDeadline() (gas: 2232951)\n[PASS] test_Eip7702Voter_EcdsaSignatureCounted() (gas: 2148579)\n[PASS] test_FrontrunReward_SubmitRevertsWithMinReward() (gas: 1035180)\n[PASS] test_InvalidUtf8Rejected_NonAsciiRejected() (gas: 2407283)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 38.50ms (10.84ms CPU time)\n\nRan 8 tests for test/CancelTask.t.sol:CancelTaskTest\n[PASS] test_Cancel_AcceptedByTimerButUnpoked_Reverts() (gas: 1204180)\n[PASS] test_Cancel_AfterExpiry_Reverts() (gas: 513151)\n[PASS] test_Cancel_AfterThePayout_Reverts() (gas: 1254799)\n[PASS] test_Cancel_EveryoneTakesBackExactlyWhatHePutIn_DevGetsNothing() (gas: 7019523)\n[PASS] test_Cancel_NothingNewAfterwards() (gas: 781853)\n[PASS] test_Cancel_OnlyTheDevWallet() (gas: 1335682)\n[PASS] test_Cancel_OpenTaskNoSubmission_PredictPositionsBackInFull() (gas: 1312618)\n[PASS] test_Cancel_UnknownTaskReverts() (gas: 35428)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 42.70ms (13.73ms CPU time)\n\nRan 1 test for test/audit/MaxImdInCap.t.sol:MaxImdInCapTest\n[PASS] test_AppealPullsMoreImdThanMaxImdIn() (gas: 1643319)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.41ms (946.79µs CPU time)\n\nRan 2 tests for test/audit/StepDeadlineAsked.t.sol:StepDeadlineAskedTest\n[PASS] test_IntakeCompletedWithoutAnswer_IsDueNow() (gas: 406776)\n[PASS] test_Pending_IsTheSilenceDeadline() (gas: 134190)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 21.99ms (517.67µs CPU time)\n\nRan 4 tests for test/audit/AuditNoFallbackOwnVote.t.sol:AuditNoFallbackOwnVoteTest\n[PASS] test_DoerCannotDispute() (gas: 9092726)\n[PASS] test_LostCallbackIsSilence_NoPublicFallback() (gas: 8540644)\n[PASS] test_NoDecisionBelowInstantDelta() (gas: 8684256)\n[PASS] test_PartialCountRelayedByAnOutsiderDecidesNothing() (gas: 8573015)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 51.80ms (29.46ms CPU time)\n\nRan 10 tests for test/TaskRules.t.sol:TaskRulesTest\n[PASS] test_EachField_513BytesReverts() (gas: 1049015)\n[PASS] test_EachField_EmptyOrBadCharReverts() (gas: 614395)\n[PASS] test_Gas_CreateTask_3x512() (gas: 1184964)\nLogs:\n  createTask 3x512 exec gas: 408290\n  createTask 3x512 tx gas (exec + 21000 + calldata): 457626\n\n[PASS] test_Gas_CreateTask_Forehead() (gas: 780466)\nLogs:\n  createTask forehead exec gas: 394522\n  createTask forehead tx gas (exec + 21000 + calldata): 430782\n\n[PASS] test_Gas_CreateTask_Supermarket() (gas: 843812)\nLogs:\n  createTask supermarket exec gas: 394221\n  createTask supermarket tx gas (exec + 21000 + calldata): 433929\n\n[PASS] test_LaunchParams_PassBounds() (gas: 121898)\n[PASS] test_OwnerExample_Forehead_Creates() (gas: 488833)\n[PASS] test_OwnerExample_Supermarket_Creates() (gas: 467053)\n[PASS] test_SwarmBody_ThreeDefinitions() (gas: 5186972)\nLogs:\n  supermarket: question bytes: 804\n  supermarket: body bytes: 2272\n\n[PASS] test_ThreeTimes512_Creates() (gas: 670784)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 58.75ms (17.16ms CPU time)\n\nRan 1 test for test/review/ReviewLaunch.t.sol:ReviewLaunchRuntime\n[PASS] test_L5_vote_gasPerNft() (gas: 60470833)\nLogs:\n  vote 10 NFTs: 175377\n  vote 490 more NFTs: 2190139\n  gas per NFT (mock NFT): 4469\n  max NFTs in one vote under the cap (mock): 3754\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 63.19ms (36.69ms CPU time)\n\nRan 6 tests for test/BondBase.t.sol:BondBaseTest\n[PASS] test_Accepted_BondBackWithoutYolo() (gas: 7044649)\n[PASS] test_AuthorsTopUpDuringCheck_CountsOnceInThePot() (gas: 10792469)\n[PASS] test_EthRewardWithYoloAddon_BondIsImdPlusThreePercentEth() (gas: 1674289)\n[PASS] test_QueuedSubmission_BondFixedAtSubmission() (gas: 9407680)\n[PASS] test_Rejected_LoserBondSplitInImdAndEthOnly() (gas: 7719568)\n[PASS] test_TopUps_OnlyTheAuthorsCount() (gas: 7355031)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 53.49ms (35.17ms CPU time)\n\nRan 4 tests for test/VoteBatch.t.sol:VoteBatchTest\n[PASS] test_Batch_BonusNotPaidOutYet_StaysClaimable() (gas: 8022207)\n[PASS] test_Batch_NothingToClaimReverts() (gas: 7901292)\n[PASS] test_Batch_PaysWhatSingleClaimsPay() (gas: 24099636)\n[PASS] test_Batch_TakesTheYoloBonusShare() (gas: 13834642)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 76.09ms (53.01ms CPU time)\n\nRan 1 test for test/VoteCountWidth.t.sol:VoteCountWidthTest\n[PASS] test_PastUint16Limit_StuckBefore_FineAfter() (gas: 11546)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 152.93µs (31.16µs CPU time)\n\nRan 7 tests for test/review/ReviewSweetener.t.sol:ReviewSweetenerTest\n[PASS] test_Guard_bonusCannotBePulledBeforeTheDeadline() (gas: 7145137)\n[PASS] test_Guard_moduleTakesTokenAndRegistryFromTheVault() (gas: 26381)\n[PASS] test_Guard_reentryFromTheEthRefundIsLocked() (gas: 2310021)\n[PASS] test_Guard_rejectionWithAQueueLeavesNoWithdrawGap() (gas: 11476316)\n[PASS] test_Guard_sweetenPlaysTheTimersFirst_NoAddonIntoADecidedTask() (gas: 9679096)\n[PASS] test_Guard_tieAcceptancePaysTheBonus() (gas: 7489079)\n[PASS] test_Rule_AddonBondsSeparatelyInYolo_NoCap() (gas: 9100009)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 78.57ms (49.06ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_476db268aaec.t.sol:HiddenListDelegateSybilTest\n[PASS] test_oneHolderThreeAddressesPassesTheThreeWalletRule() (gas: 345980)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 716.47µs (204.40µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780669)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 888.61µs (646.14µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_ced07852b14f.t.sol:HiddenListSnipeTest\n[PASS] test_lastSecondSnipeHidesWithoutReply() (gas: 505448)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.76ms (1.32ms CPU time)\n\nRan 5 tests for test/audit/AuditNoMandatoryCheck.t.sol:AuditNoMandatoryCheckTest\n[PASS] test_AppealOnlyAgainstAnNftDecision() (gas: 12992251)\n[PASS] test_NoCheck_AtAnyRewardSize() (gas: 3983253)\n[PASS] test_NoDoubleAppeal() (gas: 7307391)\n[PASS] test_NothingToAppeal_WithoutAnNftDecision() (gas: 6043570)\n[PASS] test_Undisputed_AcceptedByTimer_BondBack() (gas: 5886824)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 60.63ms (33.70ms CPU time)\n\nRan 13 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117Test\n[PASS] test_answerAfterTheGraceIgnoredWhoeverPoked() (gas: 8747508)\n[PASS] test_answerDeliveredAfterTheGraceIgnoredEvenUnpoked() (gas: 8409988)\n[PASS] test_answerSignedAfterTheTimeoutIsSilenceAtTheEndOfTheGrace() (gas: 8512970)\n[PASS] test_authorFrontRunsSubmitWithWithdrawal() (gas: 6564119)\n[PASS] test_doerAppealsAgainstOwnAcceptance() (gas: 9163573)\n[PASS] test_doerCannotCallTheSwarmAgainstHimself() (gas: 8086875)\n[PASS] test_doerMayStillAppealARejection() (gas: 8658150)\n[PASS] test_expiredAttestationIsIgnored() (gas: 8340143)\n[PASS] test_lastAttesterCannotBeRemoved() (gas: 403156)\n[PASS] test_noNoticeNeededAfterExpiry() (gas: 3790429)\n[PASS] test_pokeAtDeadlineTurnsLateAnswerIntoSilence() (gas: 8758318)\n[PASS] test_rewardLockedUntilTheDeadlineAndWhileJudged() (gas: 6720370)\n[PASS] test_walletVotesBothSidesAndIsPaid() (gas: 7522396)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 94.95ms (98.61ms CPU time)\n\nRan 6 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 596813)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 587161)\n[PASS] test_ProposalChecks() (gas: 215319)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7803679)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 34.61ms (13.54ms CPU time)\n\nRan 4 tests for test/DevPrices.t.sol:DevPricesTest\n[PASS] test_OnlyTheOwner_EmitsTheEvent() (gas: 67482)\n[PASS] test_TypoGuard_AtMostTenTimesPerCall_BothBounds() (gas: 361730)\n[PASS] test_YoloPriceIsThePriceOfOneToken() (gas: 47183)\n[PASS] test_ZeroRefused_InTheConstructorAndEverySetter() (gas: 13072)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 1.06ms (463.18µs CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 262619, ~: 261359)\n[PASS] test_Fix_ContractWalletVotesItself() (gas: 2223117)\n[PASS] test_Guard_DoerCannotAnswerHisOwnAppealInTheNameOfTheDisputers() (gas: 6303048)\n[PASS] test_Guard_FrontRunnerCannotLiftABallotAndDecide() (gas: 14899057)\n[PASS] test_Guard_HoldersOwnVotesDecideAtTheVoteEnd() (gas: 10882216)\n[PASS] test_NoBatchToPoison() (gas: 1804974)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 109.49ms (84.05ms CPU time)\n\nRan 14 tests for test/Desks.t.sol:DesksTest\n[PASS] test_BurnerMustHaveCode_DoerStakeMayBeLater() (gas: 45181)\n[PASS] test_DeskErrorsBubbleUnchanged() (gas: 46884)\n[PASS] test_DeskInternalFunctionsRefuseStrangers() (gas: 248781)\n[PASS] test_DeskUserFunctionsOnlyThroughTheVault() (gas: 501035)\n[PASS] test_DesksAreWiredToThisVaultOnce() (gas: 97671)\n[PASS] test_DoerStakeHub_FailingOrOversizedAnswer() (gas: 8166655)\n[PASS] test_ForwardedCallsKeepTheSender() (gas: 874534)\n[PASS] test_LaunchParamsEqualTheTestedOnes() (gas: 149109)\n[PASS] test_ParamsOfIsTheRegistrySnapshot() (gas: 716560)\n[PASS] test_UnknownFunctionAndStrayEthRevert() (gas: 65149)\n[PASS] test_ValueOnlyToPayableRoutes() (gas: 877023)\n[PASS] test_VaultBankAndTaskHooksRefuseStrangers() (gas: 253905)\n[PASS] test_VaultRefusesCheckerOfAnotherRegistry() (gas: 28313)\n[PASS] test_VaultRefusesDesksOfAnotherEnvironment() (gas: 25694)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 26.04ms (9.15ms CPU time)\n\nRan 1 test for test/fork/LaunchRehearsal.fork.t.sol:LaunchRehearsalForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 2.23ms (0.00ns CPU time)\n\nRan 9 tests for test/VoteGas.t.sol:VoteGasTest\n[PASS] test_VoteGas_Claim() (gas: 781687)\nWarning: the following cheatcode(s) are deprecated and will be removed in future versions:\n  lastCallGas(): replaced by `lastFrameGas`\nLogs:\n  claimVoterReward exec: 147302\n  claimVoterReward tx: 146476\n\n[PASS] test_VoteGas_ClaimBatch() (gas: 16556431)\nLogs:\n  claimVoterRewards x1 exec: 181234\n  claimVoterRewards x1 tx: 176199\n  claimVoterRewards x4 exec: 394503\n  claimVoterRewards x4 tx: 393204\n  claimVoterRewards x5 exec: 466932\n  claimVoterRewards x5 tx: 465544\n\n[PASS] test_VoteGas_Delegate25_noDecide() (gas: 3983492)\nLogs:\n  vote 25 NFT as delegate (first vote, no decision) exec: 269898\n  vote 25 NFT as delegate (first vote, no decision) tx: 266929\n\n[PASS] test_VoteGas_First1() (gas: 159633)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n\n[PASS] test_VoteGas_First100() (gas: 818488)\nLogs:\n  vote 100 NFT (first vote, decides) exec: 585532\n  vote 100 NFT (first vote, decides) tx: 569723\n\n[PASS] test_VoteGas_First100_noDecide() (gas: 4366611)\nLogs:\n  vote 100 NFT (first vote, no decision) exec: 538581\n  vote 100 NFT (first vote, no decision) tx: 529228\n\n[PASS] test_VoteGas_First25() (gas: 350160)\nLogs:\n  vote 25 NFT (first vote, decides) exec: 281545\n  vote 25 NFT (first vote, decides) tx: 272021\n\n[PASS] test_VoteGas_First25_noDecide() (gas: 3898264)\nLogs:\n  vote 25 NFT (first vote, no decision) exec: 234562\n  vote 25 NFT (first vote, no decision) tx: 231526\n\n[PASS] test_VoteGas_Profile() (gas: 674688)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n  vote 10 NFT (later vote) exec: 139672\n  vote 10 NFT (later vote) tx: 137900\n  vote 15 NFT (later vote) exec: 159861\n  vote 15 NFT (later vote) tx: 157667\n  vote 2 NFT (later vote) exec: 124328\n  vote 2 NFT (later vote) tx: 123216\n\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 41.64ms (15.28ms CPU time)\n\nRan 8 tests for test/review/ReviewSplitRegression.t.sol:ReviewSplitRegression\n[PASS] test_events_EmitterMap() (gas: 22688445)\n[PASS] test_golden_AcceptedAfterDispute_NftRight() (gas: 9760705)\nLogs:\n  ledger after settlement: 0x4830ea4fcc6dc5027c1f37bcad5852e0b11e2b542d5bf3a1b4e0bf9f8b5d8d55\n  settlement record: 0xa4018a5ae1f016fc869c28d2e27ea22d88e1d937e0efb0592baa756f921319ad\n  ledger after every payout: 0x65dcffba9fa5f218c43b4c3f810b8d61e0676b615cd88c2200be717a94fa422b\n\n[PASS] test_golden_AppealSwarmOverturnsNft() (gas: 10297054)\nLogs:\n  ledger after settlement: 0x08d27cc2a8693d93d430a64d7a89b5d993f0bc3aaa0f468e9d26ec43c1adc65d\n  settlement record: 0x7d5a35e896f5cc60c3cebee7443c57120a4abf9130d2d794c36a86769c152705\n  ledger after every payout: 0x808551d4f18f1c9f9021bde675a4cd14dd60e843467f3bfd666fd1221b8bddd1\n\n[PASS] test_golden_CallSwarmSilentThenCalledAgain() (gas: 10587287)\nLogs:\n  ledger after settlement: 0x38cc28fed888cc3bcd65c4d5b72aa4ec16f7b4731c45419596c21cda6e366d7a\n  settlement record: 0x12641fdf0b0d28314e7cdd711051407e007d2e0d2c3006ec555db150a1bb11c5\n  ledger after every payout: 0xa82fdb047f774ed464eb049c7e6b261d5bc214d5978856d853700b07460f2f09\n\n[PASS] test_golden_RejectedThenQueuedAccepted() (gas: 11975741)\nLogs:\n  ledger after settlement: 0x76984c0edfd7138e1eeafbca442dc75eac4cdca48dfce84a332a3dbe3eb570fd\n  settlement record: 0xdb27e0d67237b840a3897b3e94d0bc38e88d80d4f00b209c05909985a9e9b9f4\n  ledger after every payout: 0xf9dbd032a0ab92846b8ead6e767bad8491ba22ce779070f3e67373d796740420\n\n[PASS] test_golden_UndecidedNobodyCallsSwarm() (gas: 8826640)\nLogs:\n  ledger after settlement: 0xbb589401078dd43b88cbc7c1c174981c2ee68b3027a30d9ffdcf05a917cc491d\n  settlement record: 0x880d35a1a6c101757740019ffe504083f1353824cf6c05eb99c4e48fe76bf58a\n  ledger after every payout: 0x4755fc921943fe650cc0871884c69218df089678208e1ea5cc2d2410865f21ce\n\n[PASS] test_minor_HeaviestLazyStepGasCost() (gas: 3854230)\nLogs:\n  gas of the heaviest separate step (askAppealSwarm): 727451\n\n[PASS] test_minor_NoEthInDisputes_VoterSendsOwnBallot() (gas: 1544311)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 123.23ms (95.77ms CPU time)\n\nRan 8 tests for test/review/ReviewAttestation.t.sol:ReviewAttestation\n[PASS] test_InconsistentCountsAreIgnored() (gas: 6413414)\n[PASS] test_NoFallback_NeitherOnePersonNorOrderedPanel() (gas: 2373924)\n[PASS] test_OnePersonPanelIsSilenceOnAppeal() (gas: 4598646)\n[PASS] test_OnePersonPanelIsSilenceOnCall() (gas: 2841082)\n[PASS] test_OrderedPanelCounts() (gas: 4402982)\n[PASS] test_PanelBounds() (gas: 1799342)\n[PASS] test_PanelChangeWaitsTimelock() (gas: 3580662)\n[PASS] test_QuorumBelowOrderedIsIgnored() (gas: 2315771)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 41.81ms (19.84ms CPU time)\n\nRan 3 tests for test/DisputeLinkOptional.t.sol:DisputeLinkOptionalTest\n[PASS] test_EmptyLinkPasses() (gas: 3032426)\nLogs:\n  dispute gas, empty link (test env): 359028\n\n[PASS] test_NonEmptyLinkStillChecked() (gas: 2575219)\nLogs:\n  dispute gas, with link (test env): 367026\n\n[PASS] test_ReasonStillMandatory() (gas: 1126743)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 28.65ms (8.77ms CPU time)\n\nRan 1 test for test/audit/PredictAfterTimer.t.sol:PredictAfterTimerTest\n[PASS] test_PredictAfterTimerEnded_WithoutPoke_IsAllowed() (gas: 2290526)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 22.72ms (1.45ms CPU time)\n\nRan 4 tests for test/Hosts.t.sol:HostsTest\n[PASS] test_BadHostsRevert() (gas: 482113)\n[PASS] test_EveryHostPasses() (gas: 3502196)\n[PASS] test_LengthLimit() (gas: 271540)\n[PASS] test_SubmitRejectsOffListLinks() (gas: 1296475)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 21.32ms (6.91ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 798019, ~: 780960)\n[PASS] test_ActionNotSold_LargeSubmitStillWorks() (gas: 11068631)\n[PASS] test_AnswerAfterSilenceIgnored() (gas: 6385369)\n[PASS] test_AnswerSignedEarly_DeliveredLate_Counts() (gas: 6117856)\n[PASS] test_AttesterRotationTimelocked() (gas: 2407999)\n[PASS] test_CallSwarm_IntakeBroken_Reverts_NothingTaken() (gas: 1713833)\n[PASS] test_CallbackGasUnder100k() (gas: 215841)\nLogs:\n  callback gas: 40971\n\n[PASS] test_CallbackSelectorMatchesDocs() (gas: 734)\n[PASS] test_DuplicateAnswerIgnored_FirstWins() (gas: 6128882)\n[PASS] test_IntakeBroken_LargeSubmitUnaffected() (gas: 10580221)\n[PASS] test_LargeTask_DisputedAtOnce_Rejected() (gas: 11212391)\n[PASS] test_LargeTask_DisputedNftAccepts_Fee5To5() (gas: 11338906)\n[PASS] test_LargeTask_QueuedSubmission_ActivatedWithoutQuestion() (gas: 14304843)\n[PASS] test_LateAnswerIgnored_Timeout() (gas: 6339449)\n[PASS] test_LostCallback_IsSilence_NoPublicFallback() (gas: 6460570)\n[PASS] test_NoMandatoryCheck_ImdTask_NoDispute_AcceptedBondBack() (gas: 10546767)\n[PASS] test_NoMandatoryCheck_MaxReward_NothingAsked_AcceptedByTimer() (gas: 10505213)\n[PASS] test_NoPublicFallback_ForAnyAttestation() (gas: 314829)\n[PASS] test_RefusedBody_Status1_IsSilence() (gas: 6208832)\n[PASS] test_RequestShapeAndBody() (gas: 4786562)\n[PASS] test_SpoofedCallbackIgnored() (gas: 494441)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 139.46ms (281.85ms CPU time)\n\nRan 2 tests for test/audit/LateAppealAsk.t.sol:LateAppealAskTest\n[PASS] test_LateAppealAskReverts() (gas: 2108481)\n[PASS] test_TimelyAppealAskIsAsked() (gas: 2279991)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 7.65ms (3.35ms CPU time)\n\nRan 3 tests for test/audit/LazyAppealVoidWindow.t.sol:LazyAppealVoidWindowTest\n[PASS] test_LateReAppealAfterTheVoidWindow_Reverts() (gas: 2274376)\n[PASS] test_PokeAfterVoidPlusWindow_IsFinal() (gas: 2344734)\n[PASS] test_WindowAfterVoid_StartsAtTheVoidMoment() (gas: 2111629)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 25.99ms (4.84ms CPU time)\n\nRan 2 tests for test/review/ReviewGas.t.sol:ReviewGas\n[PASS] test_AppealAskGas_Under1_5M() (gas: 4618171)\nLogs:\n  askAppealSwarm -> swarm question (lazy ask, with resupply), gas: 836419\n  body bytes: 2679\n\n[PASS] test_CallSwarmGas_MaxBody() (gas: 3660466)\nLogs:\n  callSwarm max body (with resupply), gas: 957222\n  body bytes: 2679\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 22.17ms (4.91ms CPU time)\n\nRan 2 tests for test/audit/StakeFloorZeroSplit.t.sol:StakeFloorZeroSplitTest\n[PASS] test_NoLock_NoStakeSplit() (gas: 6700116)\n[PASS] test_StakeFlooredToZero_UsesStakedSplit() (gas: 7001839)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 37.56ms (15.96ms CPU time)\n\nRan 13 tests for test/TaskFields.t.sol:TaskFieldsTest\n[PASS] test_Condition_StoredAndLimited() (gas: 1091157)\n[PASS] test_GasFields() (gas: 1618832)\nLogs:\n  createTask (title 21 B, condition 64 B): 329699\n  submit (video link): 528093\n  submit (tx hash): 441860\n\n[PASS] test_ProofType_StoredPackedFixed() (gas: 1590271)\n[PASS] test_Proof_LengthStillFirst() (gas: 1230578)\n[PASS] test_Proof_Link() (gas: 7346677)\n[PASS] test_Proof_OnchainTx() (gas: 2989026)\n[PASS] test_Proof_Video() (gas: 6825081)\n[PASS] test_Proof_XPost() (gas: 8883702)\n[PASS] test_SwarmQuestion_DoerNoCode() (gas: 3512908)\n[PASS] test_SwarmQuestion_ProofTypeIn_TitleOut() (gas: 24294785)\n[PASS] test_SwarmQuestion_WorstCaseFitsIntakeLimit() (gas: 4669121)\n[PASS] test_Title_InEventOnly_Limits() (gas: 2219506)\n[PASS] test_Title_MatchesTrophyLimit() (gas: 6161)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 138.20ms (90.90ms CPU time)\n\nRan 2 tests for test/audit/PredictZeroPoints.t.sol:PredictZeroPointsWinnerTest\n[PASS] test_ZeroPointWinner_TakesTheLosingPool() (gas: 1898458)\n[PASS] test_ZeroPointWinners_SplitByPosition() (gas: 2071626)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 24.90ms (2.57ms CPU time)\n\nRan 6 tests for test/audit/AuditSweetenerBonus.t.sol:AuditSweetenerBonus\n[PASS] test_backOnceNobodyCanSubmit() (gas: 909572)\n[PASS] test_noCap_wholeBonusPaidByTheRewardRule() (gas: 7510475)\n[PASS] test_noWithdrawFromAnOpenTask() (gas: 8427306)\n[PASS] test_payoutNeedsNoPrice() (gas: 7009396)\n[PASS] test_silentSwarmCallStillPaysTheWholeBonus() (gas: 8499564)\n[PASS] test_splitFollowsTheRewardRule_NftVotesAndStake() (gas: 14867662)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 69.43ms (51.22ms CPU time)\n\nRan 1 test for test/LogReconstruction.t.sol:LogReconstructionTest\n[PASS] test_AllTextsRecoverableFromLogsByteForByte() (gas: 1451407)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 23.54ms (1.15ms CPU time)\n\nRan 9 tests for test/ContractRules.t.sol:ContractRulesTest\n[PASS] test_AddonInPowerBase_FullBonusOnBoth() (gas: 7407931)\n[PASS] test_BigAddon_BonusNeedsLockAgainstRewardPlusAddon() (gas: 12394844)\n[PASS] test_EthTopUpDuringCheck_PaidToTheDoer() (gas: 6801929)\n[PASS] test_FriendTopUp_BonusNeedsLockAgainstTheWholePool() (gas: 11980035)\n[PASS] test_Stake5PercentOfReward_Bonus02Percent() (gas: 6982134)\n[PASS] test_TinyStake_WholeBpsRoundedDown() (gas: 1966424)\n[PASS] test_TopUpDuringRejectedCheck_PaidToTheNextDoer() (gas: 10503358)\n[PASS] test_TopUpInPowerBase_BonusOnTheWholeReward() (gas: 7206966)\n[PASS] test_UsdcTopUpDuringCheck_InTheDoersPayout() (gas: 7043285)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 121.25ms (80.74ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272453, ~: 272274)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 151053, ~: 151156)\n[PASS] test_ConstructorTakesYolo() (gas: 18365)\n[PASS] test_EndOnlyLater_AmountOnlyGrows() (gas: 485034)\n[PASS] test_EndedLockLockedAgain() (gas: 477117)\n[PASS] test_LockAndWithdrawAfterTheEnd() (gas: 390874)\n[PASS] test_LockTermsAndZero() (gas: 406865)\n[PASS] test_PowerAt_ReadsTheLockStrictlyBefore() (gas: 698837)\n[PASS] test_Power_AddAndExtend() (gas: 868249)\n[PASS] test_Power_FixedAtTheLock_DoesNotFall() (gas: 464119)\n[PASS] test_Power_RollingOneWeekExtensionDropsToOneWeek() (gas: 698946)\n[PASS] test_Rule_QueuedDoer_PowerAtTheSubmission() (gas: 3240322)\n[PASS] test_StakePower_RunningLockOnly() (gas: 516870)\n[PASS] test_Vault_AddedAfterTheSubmission_NotCounted() (gas: 7092689)\n[PASS] test_Vault_LockEndedBeforePayout_NoBonus_RelockedBonus() (gas: 11466274)\n[PASS] test_Vault_LockedInTheSubmissionBlockOrLater_NoBonus() (gas: 11389409)\n[PASS] test_Vault_LowestPriceOfTheWindow() (gas: 1473778)\n[PASS] test_Vault_NoYoloPrice_NoBonus() (gas: 1366599)\n[PASS] test_Vault_PowerEqualsReward_Bonus4() (gas: 7007963)\n[PASS] test_Vault_PowerHalfTheReward_Bonus2() (gas: 6966737)\n[PASS] test_Vault_RelativeToTheReward() (gas: 16090121)\n[PASS] test_Vault_YoloReward_Direct() (gas: 6881931)\nSuite result: ok. 22 passed; 0 failed; 0 skipped; finished in 126.84ms (109.65ms CPU time)\n\nRan 34 tests for test/YoloToken.t.sol:YoloTokenTest\n[PASS] test_AfterMinute60_PlainErc20() (gas: 136919)\n[PASS] test_BeforeOpenAt_NobodyBuys() (gas: 751324)\n[PASS] test_ConstructorRejectsZeroPoolManagerOrSafe() (gas: 9166)\n[PASS] test_DevVesting_Linear12Months_NoCliff() (gas: 991888)\n[PASS] test_GateWithoutCode_NoWhitelist_TaxStays() (gas: 237879)\n[PASS] test_Gate_ConsumeNeedsSealAndBooksPerCallingToken() (gas: 463899)\n[PASS] test_Gate_OnlyWriterRecordsAndSeals() (gas: 217032)\n[PASS] test_Gate_RecordChecksAndEvents() (gas: 564790)\n[PASS] test_Gate_SealIsIrreversible() (gas: 348151)\n[PASS] test_GenesisLaunch_SharesAddUp() (gas: 4275538)\n[PASS] test_IncentivesVesting_QuarterAtOnce_RestLinear24Months() (gas: 966880)\n[PASS] test_OpenAtBounds() (gas: 8963)\n[PASS] test_SealAtOpenAtDoesNotCount() (gas: 256792)\n[PASS] test_SellTax_BuyFreeSellTaxedInWindow_BothAt45() (gas: 564568)\n[PASS] test_SellTax_ExactAmounts() (gas: 1062276)\n[PASS] test_SellTax_OnTopOfBalanceAndAllowance() (gas: 480410)\n[PASS] test_SellTax_RoundsDownAndDustIsFree() (gas: 118872)\n[PASS] test_Snapshot_NftMovedAfterSnapshotGivesNothing() (gas: 504223)\n[PASS] test_Splitter_FixedSharesAndDustToTreasury() (gas: 497083)\n[PASS] test_Splitter_RejectsZeroAddresses() (gas: 5083)\n[PASS] test_Splitter_RemainderShortOf750M() (gas: 273985)\n[PASS] test_SupplyAndFixedSchedule() (gas: 66869)\n[PASS] test_Tax_ExactAmounts() (gas: 793061)\n[PASS] test_Tax_RoundsDownAndDustIsFree() (gas: 80084)\n[PASS] test_TeamVesting_Linear12Months_NoCliff() (gas: 838135)\n[PASS] test_TransfersAndTheLauncherAreFree() (gas: 769603)\n[PASS] test_TreasuryVesting_ShortRemainder() (gas: 145729)\n[PASS] test_TreasuryVesting_ThirdAtOnce_RestLinear12Months() (gas: 953334)\n[PASS] test_UnsealedSnapshot_WindowClosedToAll() (gas: 421091)\n[PASS] test_VestingBounds() (gas: 4331)\n[PASS] test_Whitelist_AllowancePerNftAndCumulative() (gas: 645093)\n[PASS] test_Whitelist_BoundaryAtMinute30() (gas: 408190)\n[PASS] test_Whitelist_IntermediaryRefused() (gas: 369420)\n[PASS] test_Whitelist_WalletOutsideSnapshotRefused() (gas: 282886)\nSuite result: ok. 34 passed; 0 failed; 0 skipped; finished in 17.48ms (15.27ms CPU time)\n\nRan 6 tests for test/OptionalFields.t.sol:OptionalFieldsTest\n[PASS] test_AuthorSubmits_AcceptedQuietly_PaidAsDoer() (gas: 6708567)\n[PASS] test_AuthorSubmits_DisputedRejected_LosesBond() (gas: 7458946)\n[PASS] test_Cover_EmptyAccepted_NonEmptyStillChecked() (gas: 566905)\n[PASS] test_DisputerLink_EmptyAccepted() (gas: 1272143)\n[PASS] test_Note_EmptyAccepted_EveryProofType() (gas: 1868915)\n[PASS] test_Screenshot_EmptyAccepted_OnchainTxAndLink() (gas: 1802850)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 33.47ms (15.26ms CPU time)\n\nRan 3 tests for test/audit/YoloModulesAudit.t.sol:YoloModulesAuditTest\n[PASS] test_ContributorCanPredict() (gas: 1382573)\n[PASS] test_Guard_PostExpiryWithdrawalChangesNothing() (gas: 1548319)\n[PASS] test_ResidualGone_NoWithdrawalWhileOpen() (gas: 1529588)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 20.82ms (2.23ms CPU time)\n\nRan 4 tests for test/Emergency.t.sol:EmergencyTest\n[PASS] test_AppealAskedLazily_ResolvesByTimer() (gas: 9135210)\n[PASS] test_NoDecision_ResolvesItselfByTimer() (gas: 7814841)\n[PASS] test_ResolvesByTimer_WhenTheStateMachineCanResolve() (gas: 8210033)\n[PASS] test_SwarmNeverAnswers_ResolvesByTimer() (gas: 8765317)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 51.00ms (31.71ms CPU time)\n\nRan 10 tests for test/Evidence.t.sol:EvidenceTest\n[PASS] test_AskedQuestionCarriesEvidence() (gas: 3588592)\n[PASS] test_BadEvidenceReverts() (gas: 3486959)\n[PASS] test_EvidenceOptional_OnchainTxAndLink_NoScreenshotOk() (gas: 1628891)\n[PASS] test_EvidenceRequired_ScreenshotStillReachesQuestion() (gas: 2330945)\n[PASS] test_EvidenceRequired_XPostAndVideo_RevertWithoutScreenshot() (gas: 2576646)\n[PASS] test_NoEvidence_NothingAddedNoEvent() (gas: 2950419)\n[PASS] test_OnlyOnePart() (gas: 5785005)\n[PASS] test_StoredEmittedAndAsked() (gas: 4457403)\n[PASS] test_WorstBodyFitsIntakeLimit() (gas: 7930045)\nLogs:\n  max claims accepted at maxTextBytes 512: 10\n  worst body bytes: 15503\n\n[PASS] test_WorstQuestionFitsIntakeLimit() (gas: 3466727)\nLogs:\n  worst question bytes: 2000\n  worst question: qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTASK: definitions task, task_proof and task_no | PROOF: pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp | PROOF TYPE: onchain_tx | DOER: 0xabcdef0123456789abcdef0123456789abcdef01 | CASE: 18446744073709551615/18446744073709551615/4294967296\n\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 52.23ms (35.91ms CPU time)\n\nRan 15 tests for test/SideCalls.t.sol:SideCallsTest\n[PASS] test_BothSidesCall_EachPaysFromItsOwnBond() (gas: 7991733)\n[PASS] test_Cancel_AfterSideCalls_BondsBackMinusFees() (gas: 6928148)\n[PASS] test_DisputerAppeal_Loses_RestOfBondToWinner() (gas: 7664033)\n[PASS] test_DisputerCallingForTheDoer_PaysLikeAStranger() (gas: 7123465)\n[PASS] test_DoerAppeal_Wins_RestOfBondPlusLoserBond() (gas: 7572323)\n[PASS] test_FeeAboveBond_WalletPaysOnlyTheRest() (gas: 7596767)\n[PASS] test_RepeatCall_CheaperThanBond_ThreeCalls() (gas: 9104725)\n[PASS] test_RepeatCall_Disputer_Loses() (gas: 8619289)\n[PASS] test_RepeatCall_Disputer_Wins() (gas: 8479893)\n[PASS] test_RepeatCall_Doer_Loses() (gas: 7847913)\n[PASS] test_RepeatCall_Doer_Wins() (gas: 8126605)\n[PASS] test_RepeatCall_EachSideOwnFirst() (gas: 8697776)\n[PASS] test_SideSpent_View() (gas: 8470011)\n[PASS] test_StrangerAppeal_PaysBondAndFee() (gas: 7493797)\n[PASS] test_VoidSideAppeal_BondWhole() (gas: 7752013)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 141.80ms (118.80ms CPU time)\n\nRan 2 tests for test/Gas.t.sol:GasTest\n[PASS] test_GasProfile() (gas: 8439676)\nLogs:\n  createTask (USDC, mode B): 364323\n  createTask (ETH): 327452\n  topUp (idle task): 176695\n  submit (small task, mode B): 443514\n  topUp (pending, during submission): 196050\n  dispute (starts the vote): 369482\n  vote (2 NFTs, not the first vote): 116580\n  vote (20 NFTs, not the first vote): 226796\n  poke (vote end -> decided): 104867\n  appeal: 205819\n  askAppealSwarm (asks the filed appeal; builds body, pays Intake): 692497\n  onOracleResult (inside the 200k callback budget): 40971\n  poke (final settlement, rejected): 284985\n  claimDisputer (bond + share + ETH): 173844\n  claimVoterReward (bond share): 120868\n  poke (accept + fee split): 243661\n  withdraw (IMD credit): 70092\n  withdrawContribution (expires the task on the way): 79722\n  callSwarm (no NFT decision: bond + fee, builds body, pays Intake): 741464\n  poke (swarm silent -> back to the undecided window): 218168\n  submit ($500 task, no Intake request): 392140\n\n[PASS] test_GasSubmitEvidence() (gas: 5660528)\nLogs:\n  $100 task: submit, proof link only: 451651\n  $100 task: submit, + screenshot: 542490\n    extra gas: 90839\n  $100 task: submit, + 35-byte note: 525407\n    extra gas: 73756\n  $100 task: submit, + screenshot + 200-byte note: 938515\n    extra gas: 486864\n  $500 task: submit, proof link only: 451652\n  $500 task: submit, + screenshot: 542494\n    extra gas: 90842\n  $500 task: submit, + 35-byte note: 525411\n    extra gas: 73759\n  $500 task: submit, + screenshot + 200-byte note: 938524\n    extra gas: 486872\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 22.95ms (7.11ms CPU time)\n\nRan 21 tests for test/BuybackWallet.t.sol:BuybackWalletTest\n[PASS] test_Balances_View() (gas: 711993)\n[PASS] test_BurnYolo_Anyone() (gas: 341371)\n[PASS] test_Constructor_StartWallet_AndZeroRefused() (gas: 34246)\n[PASS] test_EthAndImd_FullStake_WalletInTheirCurrency() (gas: 11291531)\n[PASS] test_EthWalletGriefsGas_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7160156)\n[PASS] test_EthWalletReverts_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7115314)\n[PASS] test_Forward_AnyoneOnlyToTheWallet_Totals() (gas: 947491)\n[PASS] test_Forward_EthRefused_StaysInTheBurner() (gas: 322027)\n[PASS] test_Forward_RefusesYoloAndUnknown() (gas: 285884)\n[PASS] test_FullStake_Accepted_Doer94_Wallet5_50_Treasury0_50() (gas: 6995470)\n[PASS] test_HalfStake_Accepted_Doer92_Wallet6_50_Treasury1_50() (gas: 6987263)\n[PASS] test_NftRight_FullStake_Wallet0_50() (gas: 7838853)\n[PASS] test_NftRight_NoStake_Wallet0() (gas: 7585240)\n[PASS] test_NftUndecided_FullStake_Wallet5_50() (gas: 7375375)\n[PASS] test_NftWrong_FullStake_Wallet5_50() (gas: 8806083)\n[PASS] test_NftWrong_NoStake_Wallet0() (gas: 8486905)\n[PASS] test_NoStake_Accepted_NothingToTheWallet() (gas: 6740492)\n[PASS] test_Rejected_NothingToTheWallet() (gas: 7583876)\n[PASS] test_SetBuybackWallet_OnlyDev_WithEvent() (gas: 518388)\n[PASS] test_YoloAddOn_BurnsNeverToTheWallet() (gas: 7150357)\n[PASS] test_YoloReward_FullStake_BurnsNeverToTheWallet() (gas: 6919571)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 185.65ms (100.43ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1981793, ~: 1629326)\n[PASS] test_AuthorCanPredict() (gas: 716961)\n[PASS] test_BelowMinPositionReverts() (gas: 465546)\n[PASS] test_ClaimBeforeFinalReverts() (gas: 800951)\n[PASS] test_ClosesAtDeadline_PausesWhileBusy() (gas: 3223155)\n[PASS] test_CompletedTask_PotPaidOut_StillWillDoWon() (gas: 1655591)\n[PASS] test_ConstructorChecks() (gas: 4332)\n[PASS] test_ContributorAfterPosition_StillGetsHerFullSplitShare() (gas: 2401054)\n[PASS] test_Deferred_BurnedOnExpiry() (gas: 1311557)\n[PASS] test_Deferred_HalfToAuthorHalfToDoer() (gas: 2011729)\n[PASS] test_Deferred_NobodyOnWillDo_PoolToAuthorAndDoer() (gas: 1688695)\n[PASS] test_Doer_ClaimingFirst_StillGetsFullShare() (gas: 1883060)\n[PASS] test_Doer_PositionBeforeSubmission_GetsFullWinnerShare() (gas: 2037900)\n[PASS] test_Doer_SharesTheLosingPoolByPoints() (gas: 2129766)\n[PASS] test_EntrySplit_5_5_90() (gas: 776647)\n[PASS] test_EveryTaskHasADeadline() (gas: 755802)\n[PASS] test_NoCap_LargePositionAccepted() (gas: 2047367)\n[PASS] test_NoPriceNeeded_ImdAndUsdcRewards_MarketOpensAnyway() (gas: 1377626)\n[PASS] test_NumericExample_AliceBobCarl() (gas: 7778860)\n[PASS] test_RewardLockedUntilDeadline_WinnersPaidInFull() (gas: 2201617)\n[PASS] test_SweetenerAfterPosition_StillGetsFullShare() (gas: 2154198)\n[PASS] test_TotalPointsRoundingToZero_SplitByPositionInsteadOfReverting() (gas: 1273626)\n[PASS] test_Weight_CountsFromTaskCreation() (gas: 735879)\nSuite result: ok. 23 passed; 0 failed; 0 skipped; finished in 310.65ms (315.53ms CPU time)\n\nRan 2 tests for test/review/ReviewGasGrief.t.sol:ReviewGasGrief\n[PASS] test_CallSwarmWithTightGas_CannotSkipTheQuestion() (gas: 7996775)\nLogs:\n  callSwarm gas that skips the question: 0\n\n[PASS] test_PokeWithTightGas_CannotVoidAppeal() (gas: 3571169)\nLogs:\n  askAppealSwarm gas that voids the appeal: 0\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 186.25ms (284.52ms CPU time)\n\nRan 14 tests for test/Trophy.t.sol:TrophyTest\n[PASS] test_BadgesPerCategory() (gas: 4942870)\n[PASS] test_Catalog_DisableKeepsMinted() (gas: 4215400)\n[PASS] test_Catalog_Guards() (gas: 8986832)\nLogs:\n  addDesign gas, 8192-byte SVG: 7465885\n\n[PASS] test_Catalog_Launch3Gas() (gas: 9161558)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4546 runtime bytes\n  HiddenList 3789 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8668683\n  launch 3 calldata bytes 42884\n  launch 3 total gas (upper bound) 9375827\n\n[PASS] test_Catalog_NeedsAddress() (gas: 6203)\n[PASS] test_Catalog_OwnerAddsDesign() (gas: 7681555)\n[PASS] test_Catalog_StrangerCannotEdit() (gas: 468134)\n[PASS] test_Catalog_UpdateThenMint() (gas: 7832748)\n[PASS] test_DoerMintsOnceBurningYolo() (gas: 1665427)\n[PASS] test_FixedPrice_IgnoresTheDevPrice() (gas: 166897)\n[PASS] test_MetadataOnChain() (gas: 4576491)\n[PASS] test_OnlyTheDoerOfAnAcceptedSubmission() (gas: 12589970)\n[PASS] test_RewardFormatting() (gas: 11024626)\n[PASS] test_TitleGuards() (gas: 1310114)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 334.71ms (109.27ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3920444, ~: 3954145)\n[PASS] test_10Votes_DecideAtTheVoteEnd() (gas: 3407174)\n[PASS] test_5Votes_NoDecision() (gas: 321792)\n[PASS] test_BadVotesRevert() (gas: 210199)\n[PASS] test_Delegate_OneTokenOnly() (gas: 325915)\n[PASS] test_Delegate_VotesForTheOwner_IdsOnce() (gas: 640428)\n[PASS] test_InstantDecision_NextBatchReverts() (gas: 511387)\n[PASS] test_Instant_20Votes() (gas: 388949)\n[PASS] test_MockNft_MintBatch() (gas: 3160319)\n[PASS] test_NftInEscrow() (gas: 452347)\n[PASS] test_NftsGotAfterOpeningVote() (gas: 2219688)\n[PASS] test_NoVoteWithoutDispute() (gas: 782056)\n[PASS] test_NotOwnId_RevertsAll() (gas: 212538)\n[PASS] test_OneWallet_DecidesAlone() (gas: 1001607)\n[PASS] test_OneWallet_MinWinnerWallets() (gas: 4646251)\n[PASS] test_OnlyTheHolderVotesHisNfts() (gas: 355800)\n[PASS] test_RepeatInList_Reverts() (gas: 114398)\n[PASS] test_SideCannotChange() (gas: 268074)\n[PASS] test_TransferredAfterVote_NoSecondVote() (gas: 1602062)\n[PASS] test_TwoThousandNfts_NeverMoreVotes() (gas: 60332168)\n[PASS] test_TwoTransactionsSameSide() (gas: 349588)\n[PASS] test_VoteCountsEverySentNft() (gas: 14024545)\n[PASS] test_VoterRewardSplitByCorrectVotes() (gas: 7042216)\n[PASS] test_VotesAfterVoteEndRevert() (gas: 58437)\nSuite result: ok. 24 passed; 0 failed; 0 skipped; finished in 400.63ms (424.05ms CPU time)\n\nRan 14 tests for test/Sweetener.t.sol:SweetenerTest\n[PASS] test_AcceptedDoerGetsTheBonusMinusFee() (gas: 6969442)\n[PASS] test_DoerWhoSweetened_StakeExtraOnTheBonus() (gas: 6970237)\n[PASS] test_ExpiredTaskReturnsTheBonus() (gas: 5535110)\n[PASS] test_IdleBeforeDeadlineLocked_AfterDeadlineBack(uint256) (runs: 256, μ: 346777, ~: 346562)\n[PASS] test_LockedWhileOpen_EvenAfterRejection_FreeAfterDeadline() (gas: 8460825)\n[PASS] test_NftDecidedRight_VotesGetFivePercent() (gas: 7892574)\n[PASS] test_NftWrong_SwarmAccepts_VotesGetNothing() (gas: 8539994)\n[PASS] test_PayoutGoesToTheAcceptedSubmissionOfThatTask() (gas: 11277830)\n[PASS] test_PayoutNeedsNoYoloPrice() (gas: 1159019)\n[PASS] test_RefusedInputs() (gas: 127035)\n[PASS] test_StakedDoer_FullPower_GetsFourMore() (gas: 6849374)\n[PASS] test_StakedDoer_NftRight_VotesFiveDoerFourMore() (gas: 7869062)\n[PASS] test_StakedDoer_PartPowerAndSmallPower() (gas: 11839377)\n[PASS] test_TinyAddon_NoBondPart_NothingStuck() (gas: 8875206)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 609.43ms (679.12ms CPU time)\n\nRan 35 tests for test/YoloPredictScenarios.t.sol:YoloPredictScenariosTest\n[PASS] testFuzz_DoerInSplit_NothingStuck(uint256,uint256,uint256,uint256,uint8,bool) (runs: 256, μ: 2486528, ~: 2478912)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3047795, ~: 2848575)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1953226, ~: 1600835)\n[PASS] test_ClaimOrder_DoesNotAffectPayouts() (gas: 2147747)\n[PASS] test_Claim_BeforeFinal_WithAnActiveSubmissionInFlight_Reverts() (gas: 1378922)\n[PASS] test_Claim_ByAPureLoser_PaysZero_NoRevert() (gas: 1745463)\n[PASS] test_Claim_Twice_SecondReverts() (gas: 1806149)\n[PASS] test_DoerInSplit_ShareIndependentOfClaimOrder() (gas: 2669287)\n[PASS] test_DoerOnlyOnWillDo_TakesTheWholePool() (gas: 2223268)\n[PASS] test_Doer_SharesTheLosingPoolWithOtherWinners() (gas: 2600777)\n[PASS] test_Empty_LonePositionOnLosingSide_PoolToAuthorAndDoer() (gas: 1624893)\n[PASS] test_Empty_LonePositionOnWinningSide() (gas: 1614146)\n[PASS] test_Empty_NoMarketAtAll() (gas: 594872)\n[PASS] test_Extremes_DustPositionsPayExactly() (gas: 1830578)\n[PASS] test_Extremes_FirstInstantPosition_AndLastSecondPosition() (gas: 901000)\n[PASS] test_Extremes_PositionOneSecondBeforeDeadline_ThenExactlyAtDeadlineReverts() (gas: 750037)\n[PASS] test_Extremes_VeryLongDuration_NoOverflow() (gas: 718590)\n[PASS] test_Gate_BecomingContributorAfterPredicting_StillFullShare() (gas: 2119119)\n[PASS] test_Gate_NoContributorBan_OnEitherTask() (gas: 1509999)\n[PASS] test_Gate_PredictingAfterDeadline_RevertsEvenIfStatusStillStoredAsOpen() (gas: 503837)\n[PASS] test_Gate_PredictingWhileBusy_RevertsBeforeAndAfterMarketOpen() (gas: 920685)\n[PASS] test_Gate_PredictorBecomesDoer_GetsFullShareWithoutAnyFlag() (gas: 1796856)\n[PASS] test_Gate_PredictorBecomesDoer_SettleFirst() (gas: 1945266)\n[PASS] test_Invariant_ExactWeiAccounting_MixedScenario() (gas: 4456162)\n[PASS] test_Life_AcceptedOnFirstSubmission() (gas: 1969626)\n[PASS] test_Life_AllSubmissionsRejected_ThenExpired() (gas: 3240321)\n[PASS] test_Life_DisputeAppealSwarm_AllAfterDeadline() (gas: 4348926)\n[PASS] test_Life_MultipleSubmissionsQueuedAtDeadline() (gas: 4140504)\n[PASS] test_Life_RejectedThenAcceptedOnResubmission() (gas: 4028624)\n[PASS] test_Life_SubmissionSecondBeforeDeadline_JudgedAfterDeadline() (gas: 1868960)\n[PASS] test_Life_VoteTieNoQuorum_DefaultsToAccepted() (gas: 2671068)\n[PASS] test_Resolve_PermissionlessAndIdempotent_CanBeCalledRepeatedly() (gas: 1739176)\n[PASS] test_RewardLocked_IdleOrBusy() (gas: 1195155)\n[PASS] test_RewardOnlyGrows_MarketUnaffected() (gas: 1085710)\n[PASS] test_Settle_CalledTenTimes_StaysIdempotent() (gas: 2300477)\nSuite result: ok. 35 passed; 0 failed; 0 skipped; finished in 493.69ms (1.01s CPU time)\n\nRan 29 tests for test/genesis/GenesisLaunch.t.sol:GenesisLaunchTest\n[PASS] testFuzz_gate_bookingsNeverExceedTheAllowance(uint8,uint256[6]) (runs: 1000, μ: 453954, ~: 455092)\n[PASS] testFuzz_schedule_boundedAndMonotone(uint256,uint256,uint256) (runs: 1000, μ: 688724, ~: 684943)\n[PASS] testFuzz_schedule_stepsDoNotGainOrLose(uint256,uint8) (runs: 500, μ: 1089775, ~: 1003596)\n[PASS] testFuzz_split_anyArrivalAboveFixed(uint256) (runs: 1000, μ: 605468, ~: 607748)\n[PASS] testFuzz_split_atOrBelowFixedAlwaysReverts(uint256) (runs: 1000, μ: 115752, ~: 116348)\n[PASS] test_bindStarter_closedAfterTheLaunchTransaction_evenForTheSplitter() (gas: 235689)\n[PASS] test_bindStarter_onlyOncePerDeployment() (gas: 261132)\n[PASS] test_gate_booksPerCallerAndOnlyWhatFits() (gas: 553631)\n[PASS] test_gate_consumeRevertsUntilTheSealForEveryCaller() (gas: 175645)\n[PASS] test_gate_sealIsFinal() (gas: 289637)\n[PASS] test_gate_writerOnly_andAFailedBatchLeavesNoTrace() (gas: 268333)\n[PASS] test_launch_beforeTheSplitNothingMoves() (gas: 247980)\n[PASS] test_launch_constructorArgumentsAndSchedulesMatchTheBrief() (gas: 158689)\n[PASS] test_launch_gateNeverCallsTheNft() (gas: 252343)\n[PASS] test_launch_planMatchesTheBrief() (gas: 3259976)\n[PASS] test_realToken_gateDecidesTheWindow() (gas: 324326)\n[PASS] test_realToken_splitAndReleasesAreNeverTaxed() (gas: 703722)\n[PASS] test_release_aDonationBeforeTheSplitStartsNoClock() (gas: 738033)\n[PASS] test_release_byAnyonePaysOnlyTheBeneficiary() (gas: 645289)\n[PASS] test_release_lateArrivalFollowsTheRunningSchedule() (gas: 718984)\n[PASS] test_schedules_atKeyTimes() (gas: 1096992)\n[PASS] test_split_aFewWeiShortStillSplits() (gas: 529150)\n[PASS] test_split_anotherTokenHasItsOwnBooks() (gas: 1598898)\n[PASS] test_split_atOrBelowFixedReverts() (gas: 591307)\n[PASS] test_split_isAllOrNothing() (gas: 695651)\n[PASS] test_split_laterArrivalsGoToTheTreasuryVesting_clocksUntouched() (gas: 709655)\n[PASS] test_split_theWholeRemainder_byAnyone() (gas: 616300)\n[PASS] test_splitter_rejectsAZeroAddressInEveryPosition() (gas: 4787)\n[PASS] test_vestings_rejectZeroBeneficiary() (gas: 4276)\nSuite result: ok. 29 passed; 0 failed; 0 skipped; finished in 431.08ms (803.79ms CPU time)\n\nRan 12 tests for test/Payments.t.sol:PaymentsTest\n[PASS] test_BlockedReceiver_PaidAsCredit() (gas: 2017930)\n[PASS] test_EthRefundToRejectingContract_IsCredited() (gas: 896903)\n[PASS] test_ModeA_CallSwarmWithEth() (gas: 8048617)\n[PASS] test_ModeA_CreateImdTaskWithEth() (gas: 3886094)\n[PASS] test_ModeA_Disabled() (gas: 3660392)\n[PASS] test_ModeA_DisputeWithUsdc() (gas: 7121267)\n[PASS] test_ModeA_Reverts() (gas: 2181431)\n[PASS] test_ModeA_SubmitWithEth_SurplusAndExcessRefunded() (gas: 6817103)\n[PASS] test_ReentrancyOnEthPayout_BlockedAndCredited() (gas: 2741811)\n[PASS] test_TopUpHasNoFee() (gas: 4019660)\n[PASS] test_TreasurySweep_TakesEverything() (gas: 6637472)\n[PASS] test_WithdrawTo_ZeroAddress_Reverts() (gas: 765447)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 537.57ms (43.80ms CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 203390, ~: 149124)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 62645, ~: 56748)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14581, ~: 13631)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 641.72ms (689.76ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 8554099, ~: 7735445)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 656.31ms (641.89ms CPU time)\n\nRan 1 test for test/review/ReviewRoles.t.sol:ReviewRoles\n[PASS] testFuzz_RoleOverlap((uint8,uint8,uint8,uint8,uint8,uint8,uint8,bool,uint32)) (runs: 256, μ: 9169440, ~: 9371054)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.31s (1.28s CPU time)\n\nRan 1 test for test/Scenarios.t.sol:ScenariosTest\n[PASS] testFuzz_Scenario((uint8,uint256,bool,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint256,bool,uint32,uint16,uint16)) (runs: 256, μ: 11055797, ~: 10812312)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.57s (1.54s CPU time)\n\nRan 1 test for test/genesis/GenesisInvariant.t.sol:GenesisGateInvariantTest\n[PASS]\nGenesisGateInvariantTest invariants:\n[PASS] invariant_gateBooks\n[PASS] invariant_sealIsFinal\n GenesisGateInvariantTest invariants (runs: 256, calls: 15360, reverts: 0)\n\n╭-------------+----------+-------+---------+----------╮\n| Contract    | Selector | Calls | Reverts | Discards |\n+=====================================================+\n| GateHandler | consume  | 3932  | 0       | 0        |\n|-------------+----------+-------+---------+----------|\n| GateHandler | record   | 3800  | 0       | 0        |\n|-------------+----------+-------+---------+----------|\n| GateHandler | seal     | 3848  | 0       | 0        |\n|-------------+----------+-------+---------+----------|\n| GateHandler | warp     | 3780  | 0       | 0        |\n╰-------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.03s (4.03s CPU time)\n\nRan 45 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666842)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825276)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505280)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131924)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17154)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9295)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267602)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37829)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009461)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173626)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312434)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209782)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61056)\nLogs:\n  owner hides 1 item: 54438\n\n[PASS] test_GasOwnerHides20Items() (gas: 584538)\nLogs:\n  owner hides 20 items (batch): 567305\n\n[PASS] test_GasOwnerUnhides1Item() (gas: 94224)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211555)\n[PASS] test_KeepVoteWithNoActiveRoundIsANoOp() (gas: 112110)\n[PASS] test_KeptBlocksNewRounds() (gas: 163090)\n[PASS] test_LocalConstantsMatchContract() (gas: 29212)\n[PASS] test_NonOwnerSetStateReverts() (gas: 32708)\n[PASS] test_NonexistentTokenIdSkippedNotReverted() (gas: 49881)\n[PASS] test_OwnerHidesAnItemNoVoteEverPassed() (gas: 62775)\n[PASS] test_OwnerHidesUnhidesKeepsABatch() (gas: 206197)\n[PASS] test_OwnerOfNftCanVote() (gas: 212441)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813396)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70415)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4120541)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2010992)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61729)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690048)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132543)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69865)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042275)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570419)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036389)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295427)\nSuite result: ok. 45 passed; 0 failed; 0 skipped; finished in 3.84s (14.66ms CPU time)\n\nRan 7 tests for test/Cover.t.sol:CoverTest\n[PASS] test_CategoryStoredAndCoverEmitted() (gas: 390027)\n[PASS] test_CategoryUnchangedThroughDispute() (gas: 7923488)\n[PASS] test_CoverLinksAccepted() (gas: 1741282)\n[PASS] test_CoverLinksRejected() (gas: 1780674)\n[PASS] test_CoverNotInSwarmQuestion() (gas: 3517391)\n[PASS] test_EmptyCoverAndEveryCategory() (gas: 3268486)\n[PASS] test_GasCover() (gas: 1058867)\nLogs:\n  createTask, no cover: 322250\n  createTask, ipfs cover 66 bytes: 340086\n  cover in the event, extra gas: 17836\n  66-byte cover kept in storage (4 new slots): 112545\n  66-byte cover only in an event: 25869\n\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 4.10s (21.09ms CPU time)\n\nRan 25 tests for test/Tasks.t.sol:TasksTest\n[PASS] test_AuthorCannotWithdrawOpenTask_SubmitWorks() (gas: 6689292)\n[PASS] test_CreateTask_AllCurrencies() (gas: 7426405)\n[PASS] test_CreateTask_NoAuthorFee() (gas: 3849402)\n[PASS] test_CreateTask_Reverts() (gas: 1827025)\n[PASS] test_DeadlineDuringSubmission_ExpiresAfterRejection() (gas: 7474733)\n[PASS] test_DeadlineDuringSubmission_SubmissionStillRuns() (gas: 10453586)\n[PASS] test_DeadlineRefund() (gas: 4107247)\n[PASS] test_ExcessEthRefunded() (gas: 397500)\n[PASS] test_NoCap_RewardTopUpsAndOpenTotal() (gas: 38501625)\n[PASS] test_NoDispute_AuthorOnly_24hWindow_USDC() (gas: 7063271)\n[PASS] test_NoDispute_ForeignMoney_24hWindow_ETH() (gas: 6931729)\n[PASS] test_NoDispute_IMDReward() (gas: 6642037)\n[PASS] test_NoDispute_StakeBonusAndBurn() (gas: 16397483)\n[PASS] test_NoDispute_YoloReward_TreasuryShareBurned() (gas: 11290165)\n[PASS] test_NoEscalation_SameBondAfterRejections() (gas: 5292024)\n[PASS] test_ParamBounds() (gas: 430781)\n[PASS] test_ParamChange_DoesNotAffectExistingTasks() (gas: 13847023)\n[PASS] test_ParamProposalCancel() (gas: 1336248)\n[PASS] test_PauseStopsOnlyNewTasks() (gas: 1280904)\n[PASS] test_Queue_FlatBondAndVoidRefund() (gas: 13134024)\n[PASS] test_QuoteBondFormula() (gas: 1949461)\n[PASS] test_TopUpDuringSubmission_PaidToDoerOnAcceptance() (gas: 7135154)\n[PASS] test_TopUpDuringSubmission_StaysInRewardAfterRejection() (gas: 10567316)\n[PASS] test_TopUpRightBeforeDeadline_LockedThenReturned() (gas: 4318320)\n[PASS] test_WithdrawRules() (gas: 12243166)\nSuite result: ok. 25 passed; 0 failed; 0 skipped; finished in 4.17s (270.21ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7308704, ~: 7283218)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173346, ~: 3173269)\n[PASS] test_Guard_BankOnlyForDesks() (gas: 132520)\n[PASS] test_Guard_FailedPushesBecomeCreditsAndBooksClose() (gas: 9658258)\n[PASS] test_Guard_LeakedAttesterKeyAloneCannotDecideDuringTheRemovalTimelock() (gas: 2885085)\n[PASS] test_Guard_LongestDueChainFitsOneCall() (gas: 10895819)\n[PASS] test_Guard_RevertingPinnedDevPricesNeverBlocksWithdrawals() (gas: 3992671)\n[PASS] test_Guard_ThirdPartyAnswerToACopiedQuestionCannotDecideOurCase() (gas: 9436668)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 4.17s (4.74s CPU time)\n\nRan 43 tests for test/MoneyRules.t.sol:MoneyRulesTest\n[PASS] test_AddonInPowerBase() (gas: 2911708)\n[PASS] test_BondsIgnoreTheAddon() (gas: 1853084)\n[PASS] test_Burner_NoOwner_AnyoneBurns() (gas: 171089)\n[PASS] test_Burner_PullsFailedPush() (gas: 7137030)\n[PASS] test_ContributorAfterSubmission_GetsBonus() (gas: 1645632)\n[PASS] test_DeadlineRequired() (gas: 532088)\n[PASS] test_DisputeBond_FixedImdPlusOnePercent() (gas: 1711842)\n[PASS] test_DoerBond_FixedImdPlusThreePercent() (gas: 1424166)\n[PASS] test_Example_HundredDollarReward() (gas: 1847676)\n[PASS] test_Expired_AuthorGetsAllBack() (gas: 539953)\n[PASS] test_FakeLeavesStakeAlone() (gas: 2132564)\n[PASS] test_Fake_RewardStaysTaskOpen() (gas: 7597808)\n[PASS] test_HubWithoutCode_PaysAsWithoutStake() (gas: 1282084)\n[PASS] test_LockEndedBeforePayout_NoBonus() (gas: 1516379)\n[PASS] test_MinRewardPerCurrency() (gas: 1945252)\n[PASS] test_NftRight_NoStake() (gas: 7806113)\n[PASS] test_NftRight_Staked() (gas: 8007060)\n[PASS] test_NftWrong_SwarmAccepts() (gas: 15020091)\n[PASS] test_NoAddonLimit() (gas: 892675)\n[PASS] test_NoCap_LargeRewardOpenTotalAndTopUp() (gas: 6826205)\n[PASS] test_NoCreationFee() (gas: 441397)\n[PASS] test_NoDispute_NoStake() (gas: 6754862)\n[PASS] test_NoDispute_Staked() (gas: 7040040)\n[PASS] test_NoDoubling_SameBondForEverySubmission() (gas: 2379037)\n[PASS] test_NoMandatorySwarmCheck() (gas: 1250434)\n[PASS] test_NoPriceReadAtCreation() (gas: 479074)\n[PASS] test_NoSwarmFeeRefund_ThreeCallsByTheDoer() (gas: 10049884)\n[PASS] test_OneLock_FullPowerOnEveryConcurrentSubmission() (gas: 2448363)\n[PASS] test_PowerFixed_SubmissionMomentCounts() (gas: 3812822)\n[PASS] test_Predict_Entry_5_5_90_And_Deferred_2_5_Each() (gas: 1809555)\n[PASS] test_RelativeToTheReward_LowestPrice() (gas: 3587177)\n[PASS] test_RewardLockedUntilDeadline() (gas: 7853989)\n[PASS] test_SweetenerBoundOnceByTheOwner() (gas: 538493)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Decided() (gas: 10456589)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Undecided() (gas: 9909846)\n[PASS] test_Tie_DoerTakesEveryDisputerBond() (gas: 7345718)\n[PASS] test_TreasuryGetsOnlyItsShare() (gas: 11978194)\n[PASS] test_VoidAppealsCountTowardsThree() (gas: 9505337)\n[PASS] test_WithdrawnAndRelocked_NoBonus() (gas: 1579324)\n[PASS] test_WorkedExamples() (gas: 21019577)\n[PASS] test_YoloBonus_LockedUntilExpiry() (gas: 758394)\n[PASS] test_YoloBonus_SameRuleAsReward() (gas: 4136053)\n[PASS] test_YoloReward_TreasuryShareBurned() (gas: 11264620)\nSuite result: ok. 43 passed; 0 failed; 0 skipped; finished in 4.13s (206.25ms CPU time)\n\nRan 51 tests for test/Disputes.t.sol:DisputesTest\n[PASS] test_Appeal_ActionNotSold() (gas: 6864653)\n[PASS] test_Appeal_ByDoerSide_Flip() (gas: 7695317)\n[PASS] test_Appeal_IntakeReverts_AppealVoided() (gas: 7415423)\n[PASS] test_Appeal_LateAnswerAfterSilenceIgnored() (gas: 8066807)\n[PASS] test_Appeal_NeverAsked_ThirdTimeEndsUncalled() (gas: 7704389)\n[PASS] test_Appeal_NeverAsked_TimesOut() (gas: 7254259)\n[PASS] test_Appeal_PriceRaised_AppealVoided() (gas: 7280708)\n[PASS] test_Appeal_Silent_DecisionStands_NewWindow() (gas: 8170216)\n[PASS] test_Appeal_Silent_ReappealFlips() (gas: 8887626)\n[PASS] test_Appeal_SwarmAgrees() (gas: 8167793)\n[PASS] test_Appeal_SwarmFlips_NoFeeRefund_WinnerTakesAll() (gas: 7835475)\n[PASS] test_Appeal_WindowClosed() (gas: 1082536)\n[PASS] test_CallSwarm_ActionNotSold_DefaultStands() (gas: 6415976)\n[PASS] test_CallSwarm_LowerPrice_NoFeeRefund() (gas: 7311412)\n[PASS] test_CallSwarm_WrongPhase() (gas: 599859)\n[PASS] test_ClaimsPlayTimersThemselves_NoPokeNeeded() (gas: 6560781)\n[PASS] test_ContributorAppellantWins_GetsHisShareLikeAnyWinner() (gas: 8067842)\n[PASS] test_ContributorDisputerWins_SameShareAsAnyDisputer() (gas: 6980660)\n[PASS] test_ContributorDoerWins_GetsHisShareLikeAnyWinner() (gas: 11143562)\n[PASS] test_DisputeWindowClosedAndLimits() (gas: 1668402)\n[PASS] test_Dispute_NftAccepts_Fee5To5_Bond5050() (gas: 7024505)\n[PASS] test_Dispute_NftRejects_BondSplit5050() (gas: 6895355)\n[PASS] test_DisputerWhoTopsUpLater_StillGetsHisFullShare() (gas: 6838820)\n[PASS] test_DoerReply() (gas: 1579088)\n[PASS] test_InstantDecision_FiresOnceTheDeltaIsCrossed() (gas: 8334666)\n[PASS] test_NoDecision_CallAfterWindow_Reverts() (gas: 6536897)\n[PASS] test_NoDecision_CallSwarm_Accepts_CallerLosesBondAndFee() (gas: 7480663)\n[PASS] test_NoDecision_CallSwarm_Rejects_CallerGetsOnlyHisShare() (gas: 7697074)\n[PASS] test_NoDecision_DoerCallsSwarm_Confirmed() (gas: 7428685)\n[PASS] test_NoDecision_DoerCallsSwarm_Rejected() (gas: 7271426)\n[PASS] test_NoDecision_NobodyCalls_Accepted_DisputerBondsAllToDoer() (gas: 7554241)\n[PASS] test_NoDecision_SilentStatus2_NobodyCallsAgain_GeneralRule() (gas: 7793088)\n[PASS] test_NoDecision_SilentTimeout_WindowFromSilence() (gas: 7502222)\n[PASS] test_NoDecision_Silent_CalledAgain_Answers_NoFeeRefund() (gas: 8541855)\n[PASS] test_SilenceLoop_ThirdSilenceEndsTheCase() (gas: 9561530)\n[PASS] test_Stake_ContributedAfterSubmission_StillGetsBonus() (gas: 10735113)\n[PASS] test_Stake_EthAndImdBurnShareToBurner() (gas: 15022788)\n[PASS] test_Stake_FullPower_NftRight_VotesFive_BurnHalf_TreasuryHalf() (gas: 11405228)\n[PASS] test_Stake_FullPower_NftUndecided_BurnFiveAndHalf() (gas: 10916599)\n[PASS] test_Stake_FullPower_NoDispute_Bonus_AndBurnToBurner() (gas: 10514241)\n[PASS] test_Stake_LockEndedBeforePayout_NoBonus_RelockCounts() (gas: 15289679)\n[PASS] test_Stake_LockedInTheSubmissionBlock_NoBonus() (gas: 6869604)\n[PASS] test_Stake_None_FeeToTreasury() (gas: 10257490)\n[PASS] test_Stake_PartPower_NoDispute() (gas: 10512763)\n[PASS] test_Stake_ToppedUpAfterSubmission_OnlyThePowerBeforeCounts() (gas: 10601059)\n[PASS] test_SwarmFees_NoRefund_TwoSilencesThenAnswer() (gas: 14443075)\n[PASS] test_SwarmFees_WinnerSideOnly_DoerSilentCallRefunded() (gas: 12768330)\n[PASS] test_ThirdSilence_Decided_NftDecisionStands() (gas: 10223359)\n[PASS] test_ThirdSilence_NoDecision_AcceptedDisputerBondToDoer() (gas: 9644934)\n[PASS] test_YoloReward_FeeSplitsLikeAnyReward_Votes5_Doer4_Burner1() (gas: 11465953)\n[PASS] test_YoloReward_TreasuryPartToBurner_FullPowerSix() (gas: 15101619)\nSuite result: ok. 51 passed; 0 failed; 0 skipped; finished in 4.05s (483.84ms CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 97056483, ~: 98589455)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387093914)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 4.17s (4.48s CPU time)\n\nRan 1 test for test/genesis/GenesisInvariant.t.sol:GenesisSplitInvariantTest\n[PASS]\nGenesisSplitInvariantTest invariants:\n[PASS] invariant_beneficiaryGetsOnlyReleases_releasedWithinSchedule\n[PASS] invariant_clocksStartOnlyAtTheSplit\n[PASS] invariant_conservation\n[PASS] invariant_sharesPaidOnceAndExactly\n GenesisSplitInvariantTest invariants (runs: 256, calls: 15360, reverts: 0)\n\n╭--------------+----------+-------+---------+----------╮\n| Contract     | Selector | Calls | Reverts | Discards |\n+======================================================+\n| SplitHandler | arrive   | 3162  | 0       | 0        |\n|--------------+----------+-------+---------+----------|\n| SplitHandler | donate   | 3007  | 0       | 0        |\n|--------------+----------+-------+---------+----------|\n| SplitHandler | release  | 3062  | 0       | 0        |\n|--------------+----------+-------+---------+----------|\n| SplitHandler | split    | 3070  | 0       | 0        |\n|--------------+----------+-------+---------+----------|\n| SplitHandler | warp     | 3059  | 0       | 0        |\n╰--------------+----------+-------+---------+----------╯\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.53s (4.53s CPU time)\n\nRan 1 test for test/Invariant.t.sol:InvariantTest\n[PASS]\nInvariantTest invariants:\n[PASS] invariant_BalanceEqualsLiabilities\n[PASS] invariant_HubHoldsEveryLock_StakePowerBounded\n[PASS] invariant_RewardLockedUntilDeadline\n[PASS] invariant_SweetenerHoldsEveryBonus\n[PASS] invariant_TrophiesOnlyForAcceptedDoersAndEveryYoloBurned\n InvariantTest invariants (runs: 100, calls: 15000, reverts: 0)\n\n╭----------+----------------------+-------+---------+----------╮\n| Contract | Selector             | Calls | Reverts | Discards |\n+==============================================================+\n| Handler  | answer               | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 515   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 512   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 532   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 552   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 525   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 518   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 543   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 567   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 532   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 509   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 523   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 596   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 561   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 521   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 550   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 519   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 570   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 558   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 513   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 536   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 514   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 563   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 6\n  topUp: 1\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 3\n  callSwarm: 0\n  answer: 0\n  claimDisputer: 0\n  claimVoter: 0\n  claimVoid: 0\n  withdrawContribution: 2\n  withdrawExpired: 2\n  progress: 0\n  sweeten: 5\n  withdrawBonus: 1\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 8\n  withdrawLock: 0\n  repeatedAsk: 0\n  progress at phase 2: 0\n  progress at phase 3: 0\n  progress at phase 4: 0\n  progress at phase 5: 0\n  progress at phase 6: 0\n  progress at phase 7: 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 18.02s (18.00s CPU time)\n\nRan 91 test suites in 18.15s (65.42s CPU time): 722 tests passed, 0 failed, 3 skipped (725 total tests)\n","passed":true},{"durationMs":281,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"BuybackBurner.burnYolo()\",\"BuybackBurner.forward(address)\",\"BuybackBurner.pull(address,address)\",\"BuybackBurner.receive()\",\"BuybackBurner.setBuybackWallet(address)\",\"CaseDesk.advanced(uint256)\",\"CaseDesk.askAppeal(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.askEscalation(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.claimVoidSubmission(uint256)\",\"CaseDesk.markAppealed(uint256)\",\"CaseDesk.startVote(uint256,uint32)\",\"CaseDesk.step(uint256)\",\"CaseDesk.submit(uint256,string,(string,string),uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"CaseDesk.tryInstantDecision(uint256,(uint256,uint256,uint256,uint256))\",\"CaseDesk.unwind(uint256)\",\"CaseDesk.wire(address,address,address,address,address)\",\"DareTrophy.approve(address,uint256)\",\"DareTrophy.mint(uint256,string)\",\"DareTrophy.safeTransferFrom(address,address,uint256)\",\"DareTrophy.safeTransferFrom(address,address,uint256,bytes)\",\"DareTrophy.setApprovalForAll(address,bool)\",\"DareTrophy.transferFrom(address,address,uint256)\",\"DevPrices.acceptOwnership()\",\"DevPrices.renounceOwnership()\",\"DevPrices.setEthUsd(uint256)\",\"DevPrices.setImdUsd(uint256)\",\"DevPrices.setYoloPriceUsd(uint256)\",\"DevPrices.transferOwnership(address)\",\"DevVesting.bindStarter()\",\"DevVesting.release(address)\",\"DisputeDesk.appeal(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.appealAsked(uint256,uint256)\",\"DisputeDesk.askAppealSwarm(uint256,(string,string,string,string,string))\",\"DisputeDesk.callSwarm(uint256,bool,uint256,(address,uint256,uint256,uint64,bytes),(string,string,string,string,string))\",\"DisputeDesk.claimDisputer(uint256)\",\"DisputeDesk.claimVoterReward(uint256,address)\",\"DisputeDesk.claimVoterRewards(uint256[],address)\",\"DisputeDesk.dispute(uint256,string,string,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.dropCaller(uint256)\",\"DisputeDesk.settle(uint256,uint8,(uint64,uint32,address,address,uint8,uint256,(uint256,uint256),uint64,uint16,bool))\",\"DisputeDesk.vote(uint256,uint8,address,uint256[])\",\"DisputeDesk.wire(address,address,address,address,address)\",\"HiddenList.setState((address,uint8,uint256)[],uint8)\",\"HiddenList.vote(address,uint8,uint256,bool,uint256[])\",\"IncentivesVesting.bindStarter()\",\"IncentivesVesting.release(address)\",\"NftGate.consume(address,uint256)\",\"NftGate.record(address[],uint256[])\",\"NftGate.seal(uint256)\",\"ParamsRegistry.acceptOwnership()\",\"ParamsRegistry.activateParams()\",\"ParamsRegistry.cancelAttester(address,bool)\",\"ParamsRegistry.cancelParams()\",\"ParamsRegistry.executeAttester(address,bool)\",\"ParamsRegistry.proposeAttester(address,bool)\",\"ParamsRegistry.renounceOwnership()\",\"ParamsRegistry.setNewTasksPaused(bool)\",\"ParamsRegistry.transferOwnership(address)\",\"ProjectVesting.bindStarter()\",\"ProjectVesting.release(address)\",\"ProtocolDirectory.addVersion()\",\"ProtocolDirectory.cancelCurrent()\",\"ProtocolDirectory.cancelVersion()\",\"ProtocolDirectory.proposeCurrent(uint256)\",\"ProtocolDirectory.proposeVersion((address,address,address,uint64,uint64,string))\",\"ProtocolDirectory.setCurrent()\",\"TaskVault.addTreasury(address,uint256)\",\"TaskVault.advance(uint256)\",\"TaskVault.ask((uint64,uint8,uint16,uint16,address,bytes32,bytes32,uint256),bytes)\",\"TaskVault.bindSweetener(address)\",\"TaskVault.burn(address,uint256)\",\"TaskVault.cancelTask(uint256)\",\"TaskVault.closeSubmission(uint256,uint8,uint256)\",\"TaskVault.collectBondPart(address,uint256,address,uint256)\",\"TaskVault.collectImd(address,uint256,uint256,address,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.createTask(address,uint256,uint64,string,(string,string,string),uint8,uint8,string,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.credit(address,address,uint256)\",\"TaskVault.fallback()\",\"TaskVault.onOracleResult(bytes32,(bytes32,uint256,bytes32,uint8,bytes,uint256,uint64,uint64,bytes32,bytes32,uint16,uint16,uint16,uint64,uint64),bytes)\",\"TaskVault.pay(address,address,uint256)\",\"TaskVault.place(uint256,uint256,bool)\",\"TaskVault.poke(uint256)\",\"TaskVault.settleValue(address,uint256,uint256)\",\"TaskVault.sweepTreasury(address)\",\"TaskVault.topUp(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.withdraw(address)\",\"TaskVault.withdrawContribution(uint256)\",\"TaskVault.withdrawTo(address,address)\",\"TeamVesting.bindStarter()\",\"TeamVesting.release(address)\",\"TreasuryVesting.bindStarter()\",\"TreasuryVesting.release(address)\",\"TrophyCatalog.acceptOwnership()\",\"TrophyCatalog.addDesign(string,bytes)\",\"TrophyCatalog.renounceOwnership()\",\"TrophyCatalog.setCategoryDesign(uint8,uint256)\",\"TrophyCatalog.setDefaultDesign(uint256)\",\"TrophyCatalog.setDesignEnabled(uint256,bool)\",\"TrophyCatalog.transferOwnership(address)\",\"UniswapV3SwapAdapter.swapExactIn(address,address,uint256,uint256,uint256,bytes,address)\",\"YoloLockHub.lock(uint256,uint256)\",\"YoloLockHub.withdraw()\",\"YoloPredict.claim(uint256)\",\"YoloPredict.predict(uint256,bool,uint256)\",\"YoloPredict.settle(uint256)\",\"YoloSplitter.split(address)\",\"YoloSweetener.claimVoter(uint256,address)\",\"YoloSweetener.payout(uint256)\",\"YoloSweetener.sweeten(uint256,uint256)\",\"YoloSweetener.withdraw(uint256)\",\"YoloToken.approve(address,uint256)\",\"YoloToken.transfer(address,uint256)\",\"YoloToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":5,\".gitmodules\":9,\"ADAPTATION.md\":121,\"CONTRACTS.md\":178,\"README.md\":99,\"brand/BRANDBOOK.md\":79,\"brand/avatar-400.png\":168,\"brand/favicon-16.png\":3,\"brand/favicon-32.png\":7,\"brand/mark-1024.png\":317,\"brand/mark-pixel-64.png\":6,\"brand/mark-transparent-1024.png\":385,\"brand/og-1200x630.png\":912,\"brand/sheet.png\":2363,\"brand/wordmark-2400x600.png\":283,\"brand/x-banner-1500x500.png\":725,\"docs/LAUNCH-TASK.md\":202,\"docs/MECHANICS.md\":454,\"docs/TOKENOMICS.md\":101,\"docs/YOLO.md\":289,\"foundry.lock\":11,\"foundry.toml\":33,\"landing/assets/fonts/LICENSE-ibm-plex-mono.txt\":93,\"landing/assets/fonts/LICENSE-quicksand.txt\":93,\"landing/assets/fonts/plexmono-500.woff2\":62,\"landing/assets/fonts/quicksand-500.woff2\":55,\"landing/assets/fonts/quicksand-600.woff2\":57,\"landing/assets/fonts/quicksand-700.woff2\":78,\"landing/assets/img/avatar-400.png\":168,\"landing/assets/img/dare1.jpg\":150,\"landing/assets/img/dare2.jpg\":148,\"landing/assets/img/dare3.jpg\":201,\"landing/assets/img/dare4.jpg\":140,\"landing/assets/img/favicon-16.png\":3,\"landing/assets/img/favicon-32.png\":7,\"landing/assets/img/nft-1.svg\":1,\"landing/assets/img/nft-1000.svg\":1,\"landing/assets/img/nft-4.svg\":1,\"landing/assets/img/og-1200x630.png\":912,\"landing/assets/img/toad-640.png\":459,\"landing/assets/img/wordmark.png\":221,\"landing/assets/video/poster.jpg\":297,\"landing/index.html\":286,\"landing/main.js\":396,\"landing/style.css\":490,\"script/DeployMainnet.s.sol\":187,\"script/LaunchPlan.sol\":422,\"script/check-launch-task.py\":32,\"script/snapshot/snapshot.py\":187,\"src/BuybackBurner.sol\":124,\"src/DareTrophy.sol\":220,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":297,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":215,\"src/ProtocolDirectory.sol\":167,\"src/TaskVault.sol\":830,\"src/TrophyCatalog.sol\":119,\"src/VaultParams.sol\":250,\"src/VaultTypes.sol\":450,\"src/VotePower.sol\":51,\"src/YoloLockHub.sol\":151,\"src/YoloPredict.sol\":297,\"src/YoloSweetener.sol\":173,\"src/adapters/UniswapV3SwapAdapter.sol\":71,\"src/desks/CaseDesk.sol\":547,\"src/desks/Desk.sol\":143,\"src/desks/DeskApi.sol\":137,\"src/desks/DisputeDesk.sol\":791,\"src/helpers/AttestationChecker.sol\":58,\"src/helpers/SwarmQuestion.sol\":176,\"src/helpers/TextRules.sol\":244,\"src/interfaces/IDelegateRegistry.sol\":12,\"src/interfaces/IIntake.sol\":33,\"src/interfaces/ISwapAdapter.sol\":22,\"src/interfaces/ITaskVault.sol\":167,\"src/libraries/VoteLib.sol\":33,\"src/token/NftGate.sol\":113,\"src/token/ProjectVesting.sol\":102,\"src/token/Vestings.sol\":38,\"src/token/YoloSplitter.sol\":103,\"src/token/YoloToken.sol\":160,\"test/Adaptation.t.sol\":174,\"test/Base.t.sol\":652,\"test/BondBase.t.sol\":146,\"test/BuybackWallet.t.sol\":434,\"test/CancelTask.t.sol\":250,\"test/ContractRules.t.sol\":208,\"test/Cover.t.sol\":207,\"test/Desks.t.sol\":433,\"test/DevPrices.t.sol\":86,\"test/Directory.t.sol\":186,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":671,\"test/Hosts.t.sol\":112,\"test/Invariant.t.sol\":674,\"test/LogReconstruction.t.sol\":70,\"test/MoneyRules.t.sol\":937,\"test/OptionalFields.t.sol\":103,\"test/Payments.t.sol\":295,\"test/Scenarios.t.sol\":217,\"test/SideCalls.t.sol\":388,\"test/Swarm.t.sol\":435,\"test/Sweetener.t.sol\":379,\"test/TaskFields.t.sol\":391,\"test/TaskRules.t.sol\":201,\"test/Tasks.t.sol\":619,\"test/TextRule.t.sol\":105,\"test/Trophy.t.sol\":402,\"test/VoteBatch.t.sol\":155,\"test/VoteCountWidth.t.sol\":31,\"test/VoteGas.t.sol\":150,\"test/VotePowerFuzz.t.sol\":122,\"test/Votes.t.sol\":418,\"test/Yolo.t.sol\":138,\"test/YoloLockHub.t.sol\":487,\"test/YoloPredict.t.sol\":641,\"test/YoloPredictScenarios.t.sol\":951,\"test/YoloToken.t.sol\":730,\"test/audit/AddonAfterSub.t.sol\":52,\"test/audit/AuditA.t.sol\":74,\"test/audit/AuditB.t.sol\":314,\"test/audit/AuditC.t.sol\":264,\"test/audit/AuditNoFallbackOwnVote.t.sol\":118,\"test/audit/AuditNoMandatoryCheck.t.sol\":106,\"test/audit/AuditSweetenerBonus.t.sol\":298,\"test/audit/LateAppealAsk.t.sol\":125,\"test/audit/LazyAppealVoidWindow.t.sol\":59,\"test/audit/MaxImdInCap.t.sol\":224,\"test/audit/PredictAfterTimer.t.sol\":41,\"test/audit/PredictZeroPoints.t.sol\":84,\"test/audit/StakeFloorZeroSplit.t.sol\":41,\"test/audit/StakePowerRelock.t.sol\":64,\"test/audit/StepDeadlineAppealed.t.sol\":28,\"test/audit/StepDeadlineAsked.t.sol\":35,\"test/audit/YoloModulesAudit.t.sol\":116,\"test/audit/round2/Proof_476db268aaec.t.sol\":80,\"test/audit/round2/Proof_5d8c4edc729c.t.sol\":67,\"test/audit/round2/Proof_ced07852b14f.t.sol\":50,\"test/audit/swarm117/SwarmAudit117.t.sol\":338,\"test/audit/swarm117/VestingClockPreStart.t.sol\":92,\"test/fork/LaunchForkBase.sol\":193,\"test/fork/LaunchRehearsal.fork.t.sol\":1173,\"test/fork/UniswapV3AdapterFork.t.sol\":37,\"test/genesis/GenesisInvariant.t.sol\":287,\"test/genesis/GenesisLaunch.t.sol\":673,\"test/mocks/MockDelegateRegistry.sol\":26,\"test/mocks/MockERC20.sol\":31,\"test/mocks/MockIntake.sol\":120,\"test/mocks/MockNFT.sol\":17,\"test/mocks/MockPriceOracle.sol\":74,\"test/mocks/MockStarter.sol\":28,\"test/mocks/MockSwapAdapter.sol\":32,\"test/mocks/TaskRulesFixture.sol\":32,\"test/review/ReviewAttestation.t.sol\":218,\"test/review/ReviewGas.t.sol\":93,\"test/review/ReviewGasGrief.t.sol\":76,\"test/review/ReviewLaunch.t.sol\":618,\"test/review/ReviewProofFormat.t.sol\":54,\"test/review/ReviewProofLabel.t.sol\":123,\"test/review/ReviewProofs.t.sol\":166,\"test/review/ReviewQuestionSize.t.sol\":100,\"test/review/ReviewQueue.t.sol\":95,\"test/review/ReviewRoles.t.sol\":127,\"test/review/ReviewSplitAccess.t.sol\":522,\"test/review/ReviewSplitRegression.t.sol\":402,\"test/review/ReviewSwarmOrders.t.sol\":88,\"test/review/ReviewSweetener.t.sol\":304,\"test/review/ReviewYolo.t.sol\":96},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"ad4fd27ae2618d253ce0085eaabbdc33ef0e11378088494d609ec93254111cc4","verifiedTreeHash":"4f4d062b624792f59ebc86acacec25ef7670517e","verifierVersion":"0.1.0+a26ee00d"},{"checks":[{"durationMs":491139,"exitCode":0,"name":"build","output":"Compiling 177 files with Solc 0.8.28\nSolc 0.8.28 finished in 490.96s\nCompiler run successful with warnings:\nWarning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.\n  --> src/TaskVault.sol:67:1:\n   |\n67 | contract TaskVault {\n   | ^ (Relevant source part starts here and spans across multiple lines).\nNote: The payable fallback function is defined here.\n   --> src/TaskVault.sol:182:5:\n    |\n182 |     fallback() external payable {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (3628): This contract has a payable fallback function, but no receive ether function. Consider adding a receive ether function.\n --> foundry-pp/DeployHelper95.sol:7:1:\n  |\n7 | abstract contract DeployHelper95 is TaskVault {\n  | ^ (Relevant source part starts here and spans across multiple lines).\nNote: The payable fallback function is defined here.\n   --> src/TaskVault.sol:182:5:\n    |\n182 |     fallback() external payable {\n    |     ^ (Relevant source part starts here and spans across multiple lines).\n\nWarning (2072): Unused local variable.\n  --> test/audit/swarm117/SwarmAudit117.t.sol:29:10:\n   |\n29 |         (uint256 t, uint256 s) = _decidedAccept();\n   |          ^^^^^^^^^\n\n","passed":true},{"durationMs":16868,"exitCode":0,"name":"test","output":"No files changed, compilation skipped\n\nRan 1 test for test/fork/UniswapV3AdapterFork.t.sol:UniswapV3AdapterFork\n[SKIP] test_Fork_EthToImd() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 209.29µs (107.31µs CPU time)\n\nRan 1 test for test/audit/swarm117/VestingClockPreStart.t.sol:VestingClockPreStartTest\n[PASS] test_clockCannotBeStartedBeforeTheShareArrives() (gas: 447627)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 360.76µs (124.98µs CPU time)\n\nRan 2 tests for test/review/ReviewProofFormat.t.sol:ReviewProofFormat\n[PASS] test_VideoAndTx() (gas: 133853)\n[PASS] test_XPostForms() (gas: 190014)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 738.11µs (574.53µs CPU time)\n\nRan 2 tests for test/review/ReviewYolo.t.sol:ReviewYoloUnit\n[PASS] test_vestingStreamsFromArrivalWithoutACliff() (gas: 897695)\n[PASS] test_whitelistRefusesOutputTakenToARouter() (gas: 1179155)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 801.52µs (661.30µs CPU time)\n\nRan 3 tests for test/audit/swarm117/VestingClockPreStart.t.sol:VestingStarterBindingTest\n[PASS] test_bindingClosesWithTheDeploymentTransaction() (gas: 39262)\n[PASS] test_starterIsTheSplitterAndCannotBeRebound() (gas: 35402)\n[PASS] test_unboundVestingStartsNoClock() (gas: 627278)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 332.38µs (226.53µs CPU time)\n\nRan 1 test for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccessIsolated\n[PASS] test_Guard_WireClosesWithTheDeployTx() (gas: 69322)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.16ms (1.05ms CPU time)\n\nRan 1 test for test/audit/AuditA.t.sol:AuditAUnit\n[PASS] test_Guard_vestingClocksStartAtTheSplit() (gas: 4073728)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 2.33ms (1.51ms CPU time)\n\nRan 2 tests for test/audit/AuditSweetenerBonus.t.sol:AuditVestingClock\n[PASS] test_clockStartsAtTheFirstReleaseWithABalance() (gas: 1732627)\n[PASS] test_splitStartsTheClocks() (gas: 4708453)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.84ms (3.20ms CPU time)\n\nRan 5 tests for test/review/ReviewLaunch.t.sol:ReviewLaunchStatic\n[PASS] test_L0_docLaunch0Args_matchPlan() (gas: 524751)\n[PASS] test_L1_perContractCodeMargin_matchesDoc() (gas: 37576812)\nLogs:\n  DevPrices 2467 runtime, margin 22109\n  UniswapV3SwapAdapter 1673 runtime, margin 22903\n  ParamsRegistry 13552 runtime, margin 11024\n  TextRules 5249 runtime, margin 19327\n  SwarmQuestionBuilder 5506 runtime, margin 19070\n  VotePower 942 runtime, margin 23634\n  AttestationChecker 2125 runtime, margin 22451\n  BuybackBurner 2614 runtime, margin 21962\n  NftGate (launch 0) 1916 runtime, margin 22660\n  IncentivesVesting (launch 0) 1936 runtime, margin 22640\n  DevVesting (launch 0) 1888 runtime, margin 22688\n  TeamVesting (launch 0) 1888 runtime, margin 22688\n  TreasuryVesting (launch 0) 1936 runtime, margin 22640\n  YoloSplitter (launch 0) 2113 runtime, margin 22463\n  YoloToken 4015 runtime, margin 20561\n  YoloLockHub 3199 runtime, margin 21377\n  CaseDesk 20064 runtime, margin 4512\n  DisputeDesk 21489 runtime, margin 3087\n  TaskVault 20624 runtime, margin 3952\n  YoloSweetener 6748 runtime, margin 17828\n  TrophyCatalog 4228 runtime, margin 20348\n  DareTrophy 11777 runtime, margin 12799\n  ProtocolDirectory 4546 runtime, margin 20030\n  HiddenList 3789 runtime, margin 20787\n  YoloPredict 6385 runtime, margin 18191\n\n[PASS] test_L2_docLaunch1Args_matchPlan() (gas: 889648)\n[PASS] test_L3_docLaunch2Args_matchPlan() (gas: 1361357)\n[PASS] test_L5_docLaunch3Args_matchPlan() (gas: 684503)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 12.02ms (9.24ms CPU time)\n\nRan 1 test for test/review/ReviewYolo.t.sol:ReviewYoloVault\n[PASS] test_depressedPrice_touchesNeitherNewYoloTasksNorAnExistingBond() (gas: 1754056)\nLogs:\n  doer bond rew, honest / attacked: 300000000000000000000000 300000000000000000000000\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 17.35ms (967.36µs CPU time)\n\nRan 4 tests for test/GasTextSize.t.sol:GasTextSizeTest\n[PASS] test_CallSwarm_MaxResupply() (gas: 2621226)\nLogs:\n  callSwarm (resupply: 3x512B rules + reason 512B + disputerProofUri 512B, hash+calldata scheme): 1024303\n\n[PASS] test_CreateTask_RealExamples_And_MaxText() (gas: 1513275)\nLogs:\n  createTask (1+1+1 B rules, floor): 332363\n  createTask (forehead: 114+376+219=709 B): 335415\n    of which text-size delta over floor: 3052\n  createTask (supermarket: 307+405+188=900 B): 335240\n    of which text-size delta over floor: 2877\n  createTask (3x512=1536 B, ceiling): 348296\n    of which text-size delta over floor: 15933\n\n[PASS] test_Dispute_MaxReason() (gas: 1298072)\nLogs:\n  dispute (reason 512B + disputerProofUri 512B): 510298\n\n[PASS] test_Submit_MaxProofAndExplanation() (gas: 1872053)\nLogs:\n  submit (proof 512B link + explanation/doerNote 200B, the max note): 1480175\n\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 19.16ms (3.91ms CPU time)\n\nRan 1 test for test/audit/StepDeadlineAppealed.t.sol:StepDeadlineAppealedTest\n[PASS] test_StepDeadlineAppealed_IsVoidMoment() (gas: 2223146)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 19.00ms (1.53ms CPU time)\n\nRan 2 tests for test/audit/AddonAfterSub.t.sol:AddonAfterSubmissionTest\n[PASS] test_AddonAfterSubmission_BatchClaimPaysSweetener() (gas: 2688084)\n[PASS] test_AddonBeforeSubmission_BatchClaimPaysSweetener() (gas: 2585515)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 20.61ms (2.68ms CPU time)\n\nRan 12 tests for test/review/ReviewSplitAccess.t.sol:ReviewSplitAccess\n[PASS] test_Guard_ForgedSuffixDirectToDeskReverts() (gas: 1275562)\n[PASS] test_Guard_LocalFactoryLaunchesOnlyForItsDeployer() (gas: 15786185)\n[PASS] test_Guard_NoEmergencyExit_PokeAlwaysResolves() (gas: 1139156)\n[PASS] test_Guard_NoRewireAfterLaunch() (gas: 74617)\n[PASS] test_Guard_ReentryFromEthRefundIsLocked() (gas: 1594078)\n[PASS] test_Guard_ReentryFromSwapHookIsLocked() (gas: 1649343)\n[PASS] test_Guard_RoutedSelectorsMatchDeskAbi() (gas: 382)\n[PASS] test_Guard_SiblingAndVaultCannotCrossCall() (gas: 383550)\n[PASS] test_Guard_SwappedDesksRevertTheDeployment() (gas: 39035)\n[PASS] test_Guard_UserSuffixThroughVaultIsIgnored() (gas: 1575777)\n[PASS] test_Guard_VaultRoutesNoDeskInternalSelector() (gas: 408709)\n[PASS] test_Guard_WireIsFirstComeInsideTheCreatingTx() (gas: 262400)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 27.15ms (6.60ms CPU time)\n\nRan 8 tests for test/CancelTask.t.sol:CancelTaskTest\n[PASS] test_Cancel_AcceptedByTimerButUnpoked_Reverts() (gas: 1204180)\n[PASS] test_Cancel_AfterExpiry_Reverts() (gas: 513151)\n[PASS] test_Cancel_AfterThePayout_Reverts() (gas: 1254799)\n[PASS] test_Cancel_EveryoneTakesBackExactlyWhatHePutIn_DevGetsNothing() (gas: 7019523)\n[PASS] test_Cancel_NothingNewAfterwards() (gas: 781853)\n[PASS] test_Cancel_OnlyTheDevWallet() (gas: 1335682)\n[PASS] test_Cancel_OpenTaskNoSubmission_PredictPositionsBackInFull() (gas: 1312618)\n[PASS] test_Cancel_UnknownTaskReverts() (gas: 35428)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 28.78ms (7.81ms CPU time)\n\nRan 45 tests for test/HiddenList.t.sol:HiddenListTest\n[PASS] test_10Of10NftsPassesAfterRoundEnd() (gas: 1666842)\n[PASS] test_2Of3WalletsDoesNotPassEvenWith10Nfts() (gas: 825276)\n[PASS] test_3Of3WalletsWith10NftsPasses() (gas: 929019)\n[PASS] test_9Of10NftsDoesNotPass() (gas: 1505280)\n[PASS] test_AllBadTokenIdsDoesNotOpenARound() (gas: 131924)\n[PASS] test_ConstructorAllowsZeroDelegateRegistry() (gas: 7024)\n[PASS] test_ConstructorFixesOwnerNoTransferFunction() (gas: 17154)\n[PASS] test_ConstructorRejectsZeroOwnerOrNft() (gas: 9295)\n[PASS] test_DelegateXyzDelegateCanVote() (gas: 267602)\n[PASS] test_EmptyTokenIdsDoesNotOpenARound() (gas: 41527)\n[PASS] test_EthWithDataReverts() (gas: 37829)\n[PASS] test_FailedRoundCanRetryAfter7Days() (gas: 2009461)\n[PASS] test_FailedRoundCannotRetryBefore7Days() (gas: 3173626)\n[PASS] test_GasNftHolderVote1NftLaterVote() (gas: 312434)\nLogs:\n  NFT holder vote, 1 NFT (later vote): 50089\n\n[PASS] test_GasNftHolderVote1NftOpensRound() (gas: 209782)\nLogs:\n  NFT holder vote, 1 NFT (opens a round): 130352\n\n[PASS] test_GasOwnerHides1Item() (gas: 61056)\nLogs:\n  owner hides 1 item: 54438\n\n[PASS] test_GasOwnerHides20Items() (gas: 584538)\nLogs:\n  owner hides 20 items (batch): 567305\n\n[PASS] test_GasOwnerUnhides1Item() (gas: 94224)\nLogs:\n  owner unhides 1 item: 32830\n\n[PASS] test_HideVoteEventCarriesVaultKindId() (gas: 211555)\n[PASS] test_KeepVoteWithNoActiveRoundIsANoOp() (gas: 112110)\n[PASS] test_KeptBlocksNewRounds() (gas: 163090)\n[PASS] test_LocalConstantsMatchContract() (gas: 29212)\n[PASS] test_NonOwnerSetStateReverts() (gas: 32708)\n[PASS] test_NonexistentTokenIdSkippedNotReverted() (gas: 49881)\n[PASS] test_OwnerHidesAnItemNoVoteEverPassed() (gas: 62775)\n[PASS] test_OwnerHidesUnhidesKeepsABatch() (gas: 206197)\n[PASS] test_OwnerOfNftCanVote() (gas: 212441)\n[PASS] test_OwnerOverridesAPassedVoteBackToVisible() (gas: 1711534)\n[PASS] test_OwnerRestoreVisibleStartsCooldown() (gas: 1813396)\n[PASS] test_PlainEthTransferReverts() (gas: 36475)\n[PASS] test_SameIdDifferentVaultsAreIndependent() (gas: 70415)\n[PASS] test_SameWalletMoreNftsLaterAddToTallyNotWallets() (gas: 313708)\n[PASS] test_SelfContestRepeatsEvery8DaysHonestVoteStillCounts() (gas: 4120541)\n[PASS] test_SelfContestUnderQuorumDoesNotBlockHonestVoteNextDay() (gas: 2010992)\n[PASS] test_SetStateEmitsStateSetWithVaultKindId() (gas: 61729)\n[PASS] test_SetStateInstantNoTimelock() (gas: 63017)\n[PASS] test_SetStateRejectsBadStateValue() (gas: 32653)\n[PASS] test_StatusHiddenOnlyAfterRoundEndEvenIfQuorumAlreadyMet() (gas: 1690048)\n[PASS] test_StrangerCannotVoteWithSomeoneElsesNft() (gas: 132543)\n[PASS] test_TaskAndProofKindsAreIndependent() (gas: 69865)\n[PASS] test_TieHideEqualsKeepDoesNotPass() (gas: 3042275)\n[PASS] test_TokenIdCountsOnceInARound() (gas: 243556)\n[PASS] test_UncontestedFailedRoundRetriesAtOnce() (gas: 570419)\n[PASS] test_VotePassingCannotUnhideAnOwnerHiddenItem() (gas: 1036389)\n[PASS] test_WalletKeepsOneSidePerRoundOtherSideSkipped() (gas: 295427)\nSuite result: ok. 45 passed; 0 failed; 0 skipped; finished in 13.27ms (12.74ms CPU time)\n\nRan 7 tests for test/Cover.t.sol:CoverTest\n[PASS] test_CategoryStoredAndCoverEmitted() (gas: 390027)\n[PASS] test_CategoryUnchangedThroughDispute() (gas: 7923488)\n[PASS] test_CoverLinksAccepted() (gas: 1741282)\n[PASS] test_CoverLinksRejected() (gas: 1780674)\n[PASS] test_CoverNotInSwarmQuestion() (gas: 3517391)\n[PASS] test_EmptyCoverAndEveryCategory() (gas: 3268486)\n[PASS] test_GasCover() (gas: 1058867)\nLogs:\n  createTask, no cover: 322250\n  createTask, ipfs cover 66 bytes: 340086\n  cover in the event, extra gas: 17836\n  66-byte cover kept in storage (4 new slots): 112545\n  66-byte cover only in an event: 25869\n\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 33.53ms (16.87ms CPU time)\n\nRan 3 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117SweetenerTest\n[PASS] test_sweetenerLargeBonusWithoutPricePaysInFull() (gas: 7147724)\n[PASS] test_sweetenerNoCapWithAPrice() (gas: 7066360)\n[PASS] test_sweetenerPayoutWithoutPricePaysAtOnce() (gas: 7199441)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 37.85ms (20.83ms CPU time)\n\nRan 6 tests for test/Directory.t.sol:DirectoryTest\n[PASS] test_ConstructorChecks() (gas: 6526)\n[PASS] test_CurrentMayGoBack() (gas: 596813)\n[PASS] test_OnlySafeProposesAndCancels() (gas: 587161)\n[PASS] test_ProposalChecks() (gas: 215319)\n[PASS] test_V2SideBySide_AfterTimelock() (gas: 7803679)\n[PASS] test_Version1FromConstructor() (gas: 66747)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 38.37ms (14.98ms CPU time)\n\nRan 5 tests for test/Adaptation.t.sol:AdaptationTest\n[PASS] test_Audit_GateWriterPowersEndAtTheSeal() (gas: 445153)\n[PASS] test_Audit_LoneVestingHasNoClock_GenesisLaunchBindsAllFour() (gas: 4121678)\n[PASS] test_LockHub_HistoryCheckpoints_SameBlockOverwritesLaterBlockAppends() (gas: 513481)\n[PASS] test_Vault_BondPartInUsdc_PulledFromTheSubmitter() (gas: 994127)\n[PASS] test_Vault_CollectBondPart_OnlyADesk() (gas: 80034)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 38.53ms (2.84ms CPU time)\n\nRan 14 tests for test/Desks.t.sol:DesksTest\n[PASS] test_BurnerMustHaveCode_DoerStakeMayBeLater() (gas: 45181)\n[PASS] test_DeskErrorsBubbleUnchanged() (gas: 46884)\n[PASS] test_DeskInternalFunctionsRefuseStrangers() (gas: 248781)\n[PASS] test_DeskUserFunctionsOnlyThroughTheVault() (gas: 501035)\n[PASS] test_DesksAreWiredToThisVaultOnce() (gas: 97671)\n[PASS] test_DoerStakeHub_FailingOrOversizedAnswer() (gas: 8166655)\n[PASS] test_ForwardedCallsKeepTheSender() (gas: 874534)\n[PASS] test_LaunchParamsEqualTheTestedOnes() (gas: 149109)\n[PASS] test_ParamsOfIsTheRegistrySnapshot() (gas: 716560)\n[PASS] test_UnknownFunctionAndStrayEthRevert() (gas: 65149)\n[PASS] test_ValueOnlyToPayableRoutes() (gas: 877023)\n[PASS] test_VaultBankAndTaskHooksRefuseStrangers() (gas: 253905)\n[PASS] test_VaultRefusesCheckerOfAnotherRegistry() (gas: 28313)\n[PASS] test_VaultRefusesDesksOfAnotherEnvironment() (gas: 25694)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 36.91ms (11.29ms CPU time)\n\nRan 4 tests for test/DevPrices.t.sol:DevPricesTest\n[PASS] test_OnlyTheOwner_EmitsTheEvent() (gas: 67482)\n[PASS] test_TypoGuard_AtMostTenTimesPerCall_BothBounds() (gas: 361730)\n[PASS] test_YoloPriceIsThePriceOfOneToken() (gas: 47183)\n[PASS] test_ZeroRefused_InTheConstructorAndEverySetter() (gas: 13072)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 949.26µs (425.98µs CPU time)\n\nRan 2 tests for test/audit/StepDeadlineAsked.t.sol:StepDeadlineAskedTest\n[PASS] test_IntakeCompletedWithoutAnswer_IsDueNow() (gas: 406776)\n[PASS] test_Pending_IsTheSilenceDeadline() (gas: 134190)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 22.02ms (400.14µs CPU time)\n\nRan 3 tests for test/review/ReviewProofLabel.t.sol:ReviewProofLabel\n[PASS] test_PromptSaysTheLabelIsOptional() (gas: 2106372)\n[PASS] test_QuestionHasNoDoerCode() (gas: 2894691)\n[PASS] test_SameLinkFirst_SameQuestionButDoerAndCase() (gas: 4384513)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 43.22ms (15.08ms CPU time)\n\nRan 7 tests for test/review/ReviewProofs.t.sol:ReviewProofs\n[PASS] test_AppealPriceJump_RevertsWithMaxImdIn() (gas: 2259793)\n[PASS] test_BodyBoundedByParams_OneDisputerOnly() (gas: 2622307)\n[PASS] test_BondNeverDoubles_SubmitPassesWithQuotedMax() (gas: 1433531)\n[PASS] test_DisputeVoteAppealAfterTaskDeadline() (gas: 2232951)\n[PASS] test_Eip7702Voter_EcdsaSignatureCounted() (gas: 2148579)\n[PASS] test_FrontrunReward_SubmitRevertsWithMinReward() (gas: 1035180)\n[PASS] test_InvalidUtf8Rejected_NonAsciiRejected() (gas: 2407283)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 25.28ms (7.83ms CPU time)\n\nRan 2 tests for test/audit/StakePowerRelock.t.sol:StakePowerRelockTest\n[PASS] test_RelockOfAnEndedLockGivesNoStakePower() (gas: 241513)\n[PASS] test_WithdrawThenLockGivesZero_reference() (gas: 303286)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 441.37µs (202.54µs CPU time)\n\nRan 4 tests for test/Hosts.t.sol:HostsTest\n[PASS] test_BadHostsRevert() (gas: 482113)\n[PASS] test_EveryHostPasses() (gas: 3502196)\n[PASS] test_LengthLimit() (gas: 271540)\n[PASS] test_SubmitRejectsOffListLinks() (gas: 1296475)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 23.62ms (6.72ms CPU time)\n\nRan 7 tests for test/review/ReviewSweetener.t.sol:ReviewSweetenerTest\n[PASS] test_Guard_bonusCannotBePulledBeforeTheDeadline() (gas: 7145137)\n[PASS] test_Guard_moduleTakesTokenAndRegistryFromTheVault() (gas: 26381)\n[PASS] test_Guard_reentryFromTheEthRefundIsLocked() (gas: 2310021)\n[PASS] test_Guard_rejectionWithAQueueLeavesNoWithdrawGap() (gas: 11476316)\n[PASS] test_Guard_sweetenPlaysTheTimersFirst_NoAddonIntoADecidedTask() (gas: 9679096)\n[PASS] test_Guard_tieAcceptancePaysTheBonus() (gas: 7489079)\n[PASS] test_Rule_AddonBondsSeparatelyInYolo_NoCap() (gas: 9100009)\nSuite result: ok. 7 passed; 0 failed; 0 skipped; finished in 60.68ms (42.39ms CPU time)\n\nRan 5 tests for test/audit/AuditNoMandatoryCheck.t.sol:AuditNoMandatoryCheckTest\n[PASS] test_AppealOnlyAgainstAnNftDecision() (gas: 12992251)\n[PASS] test_NoCheck_AtAnyRewardSize() (gas: 3983253)\n[PASS] test_NoDoubleAppeal() (gas: 7307391)\n[PASS] test_NothingToAppeal_WithoutAnNftDecision() (gas: 6043570)\n[PASS] test_Undisputed_AcceptedByTimer_BondBack() (gas: 5886824)\nSuite result: ok. 5 passed; 0 failed; 0 skipped; finished in 62.21ms (38.75ms CPU time)\n\nRan 6 tests for test/audit/AuditSweetenerBonus.t.sol:AuditSweetenerBonus\n[PASS] test_backOnceNobodyCanSubmit() (gas: 909572)\n[PASS] test_noCap_wholeBonusPaidByTheRewardRule() (gas: 7510475)\n[PASS] test_noWithdrawFromAnOpenTask() (gas: 8427306)\n[PASS] test_payoutNeedsNoPrice() (gas: 7009396)\n[PASS] test_silentSwarmCallStillPaysTheWholeBonus() (gas: 8499564)\n[PASS] test_splitFollowsTheRewardRule_NftVotesAndStake() (gas: 14867662)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 61.79ms (42.86ms CPU time)\n\nRan 2 tests for test/audit/StakeFloorZeroSplit.t.sol:StakeFloorZeroSplitTest\n[PASS] test_NoLock_NoStakeSplit() (gas: 6700116)\n[PASS] test_StakeFlooredToZero_UsesStakedSplit() (gas: 7001839)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 30.68ms (12.25ms CPU time)\n\nRan 3 tests for test/DisputeLinkOptional.t.sol:DisputeLinkOptionalTest\n[PASS] test_EmptyLinkPasses() (gas: 3032426)\nLogs:\n  dispute gas, empty link (test env): 359028\n\n[PASS] test_NonEmptyLinkStillChecked() (gas: 2575219)\nLogs:\n  dispute gas, with link (test env): 367026\n\n[PASS] test_ReasonStillMandatory() (gas: 1126743)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 28.77ms (8.67ms CPU time)\n\nRan 6 tests for test/BondBase.t.sol:BondBaseTest\n[PASS] test_Accepted_BondBackWithoutYolo() (gas: 7044649)\n[PASS] test_AuthorsTopUpDuringCheck_CountsOnceInThePot() (gas: 10792469)\n[PASS] test_EthRewardWithYoloAddon_BondIsImdPlusThreePercentEth() (gas: 1674289)\n[PASS] test_QueuedSubmission_BondFixedAtSubmission() (gas: 9407680)\n[PASS] test_Rejected_LoserBondSplitInImdAndEthOnly() (gas: 7719568)\n[PASS] test_TopUps_OnlyTheAuthorsCount() (gas: 7355031)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 70.22ms (43.98ms CPU time)\n\nRan 4 tests for test/audit/AuditNoFallbackOwnVote.t.sol:AuditNoFallbackOwnVoteTest\n[PASS] test_DoerCannotDispute() (gas: 9092726)\n[PASS] test_LostCallbackIsSilence_NoPublicFallback() (gas: 8540644)\n[PASS] test_NoDecisionBelowInstantDelta() (gas: 8684256)\n[PASS] test_PartialCountRelayedByAnOutsiderDecidesNothing() (gas: 8573015)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 71.03ms (44.07ms CPU time)\n\nRan 10 tests for test/Evidence.t.sol:EvidenceTest\n[PASS] test_AskedQuestionCarriesEvidence() (gas: 3588592)\n[PASS] test_BadEvidenceReverts() (gas: 3486959)\n[PASS] test_EvidenceOptional_OnchainTxAndLink_NoScreenshotOk() (gas: 1628891)\n[PASS] test_EvidenceRequired_ScreenshotStillReachesQuestion() (gas: 2330945)\n[PASS] test_EvidenceRequired_XPostAndVideo_RevertWithoutScreenshot() (gas: 2576646)\n[PASS] test_NoEvidence_NothingAddedNoEvent() (gas: 2950419)\n[PASS] test_OnlyOnePart() (gas: 5785005)\n[PASS] test_StoredEmittedAndAsked() (gas: 4457403)\n[PASS] test_WorstBodyFitsIntakeLimit() (gas: 7930045)\nLogs:\n  max claims accepted at maxTextBytes 512: 10\n  worst body bytes: 15503\n\n[PASS] test_WorstQuestionFitsIntakeLimit() (gas: 3466727)\nLogs:\n  worst question bytes: 2000\n  worst question: qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqTASK: definitions task, task_proof and task_no | PROOF: pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp | PROOF TYPE: onchain_tx | DOER: 0xabcdef0123456789abcdef0123456789abcdef01 | CASE: 18446744073709551615/18446744073709551615/4294967296\n\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 80.28ms (55.53ms CPU time)\n\nRan 8 tests for test/Yolo.t.sol:YoloTest\n[PASS] test_NoDeadlineRefused() (gas: 48466)\n[PASS] test_OtherTokensStillRefused() (gas: 632207)\n[PASS] test_UnpricedYolo_NoPriceNeededAnywhere() (gas: 6921278)\n[PASS] test_YoloBelowMinimumRefused() (gas: 131701)\n[PASS] test_YoloNoMandatoryCheckAtAnySize() (gas: 1268471)\n[PASS] test_YoloTaskAcceptedPaysInYolo() (gas: 6737262)\n[PASS] test_YoloTopUp_LockedUntilExpiry_ThenBack() (gas: 880116)\n[PASS] test_YoloWithRevertingDevPrices_SubmissionStillWorks() (gas: 1049582)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 32.49ms (14.29ms CPU time)\n\nRan 10 tests for test/TaskRules.t.sol:TaskRulesTest\n[PASS] test_EachField_513BytesReverts() (gas: 1049015)\n[PASS] test_EachField_EmptyOrBadCharReverts() (gas: 614395)\n[PASS] test_Gas_CreateTask_3x512() (gas: 1184964)\nLogs:\n  createTask 3x512 exec gas: 408290\n  createTask 3x512 tx gas (exec + 21000 + calldata): 457626\n\n[PASS] test_Gas_CreateTask_Forehead() (gas: 780466)\nLogs:\n  createTask forehead exec gas: 394522\n  createTask forehead tx gas (exec + 21000 + calldata): 430782\n\n[PASS] test_Gas_CreateTask_Supermarket() (gas: 843812)\nLogs:\n  createTask supermarket exec gas: 394221\n  createTask supermarket tx gas (exec + 21000 + calldata): 433929\n\n[PASS] test_LaunchParams_PassBounds() (gas: 121898)\n[PASS] test_OwnerExample_Forehead_Creates() (gas: 488833)\n[PASS] test_OwnerExample_Supermarket_Creates() (gas: 467053)\n[PASS] test_SwarmBody_ThreeDefinitions() (gas: 5186972)\nLogs:\n  supermarket: question bytes: 804\n  supermarket: body bytes: 2272\n\n[PASS] test_ThreeTimes512_Creates() (gas: 670784)\nSuite result: ok. 10 passed; 0 failed; 0 skipped; finished in 30.75ms (12.76ms CPU time)\n\nRan 1 test for test/VoteCountWidth.t.sol:VoteCountWidthTest\n[PASS] test_PastUint16Limit_StuckBefore_FineAfter() (gas: 11546)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 165.38µs (33.54µs CPU time)\n\nRan 4 tests for test/VoteBatch.t.sol:VoteBatchTest\n[PASS] test_Batch_BonusNotPaidOutYet_StaysClaimable() (gas: 8022207)\n[PASS] test_Batch_NothingToClaimReverts() (gas: 7901292)\n[PASS] test_Batch_PaysWhatSingleClaimsPay() (gas: 24099636)\n[PASS] test_Batch_TakesTheYoloBonusShare() (gas: 13834642)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 105.05ms (80.40ms CPU time)\n\nRan 8 tests for test/review/ReviewSplitRegression.t.sol:ReviewSplitRegression\n[PASS] test_events_EmitterMap() (gas: 22688445)\n[PASS] test_golden_AcceptedAfterDispute_NftRight() (gas: 9760705)\nLogs:\n  ledger after settlement: 0x4830ea4fcc6dc5027c1f37bcad5852e0b11e2b542d5bf3a1b4e0bf9f8b5d8d55\n  settlement record: 0xa4018a5ae1f016fc869c28d2e27ea22d88e1d937e0efb0592baa756f921319ad\n  ledger after every payout: 0x65dcffba9fa5f218c43b4c3f810b8d61e0676b615cd88c2200be717a94fa422b\n\n[PASS] test_golden_AppealSwarmOverturnsNft() (gas: 10297054)\nLogs:\n  ledger after settlement: 0x08d27cc2a8693d93d430a64d7a89b5d993f0bc3aaa0f468e9d26ec43c1adc65d\n  settlement record: 0x7d5a35e896f5cc60c3cebee7443c57120a4abf9130d2d794c36a86769c152705\n  ledger after every payout: 0x808551d4f18f1c9f9021bde675a4cd14dd60e843467f3bfd666fd1221b8bddd1\n\n[PASS] test_golden_CallSwarmSilentThenCalledAgain() (gas: 10587287)\nLogs:\n  ledger after settlement: 0x38cc28fed888cc3bcd65c4d5b72aa4ec16f7b4731c45419596c21cda6e366d7a\n  settlement record: 0x12641fdf0b0d28314e7cdd711051407e007d2e0d2c3006ec555db150a1bb11c5\n  ledger after every payout: 0xa82fdb047f774ed464eb049c7e6b261d5bc214d5978856d853700b07460f2f09\n\n[PASS] test_golden_RejectedThenQueuedAccepted() (gas: 11975741)\nLogs:\n  ledger after settlement: 0x76984c0edfd7138e1eeafbca442dc75eac4cdca48dfce84a332a3dbe3eb570fd\n  settlement record: 0xdb27e0d67237b840a3897b3e94d0bc38e88d80d4f00b209c05909985a9e9b9f4\n  ledger after every payout: 0xf9dbd032a0ab92846b8ead6e767bad8491ba22ce779070f3e67373d796740420\n\n[PASS] test_golden_UndecidedNobodyCallsSwarm() (gas: 8826640)\nLogs:\n  ledger after settlement: 0xbb589401078dd43b88cbc7c1c174981c2ee68b3027a30d9ffdcf05a917cc491d\n  settlement record: 0x880d35a1a6c101757740019ffe504083f1353824cf6c05eb99c4e48fe76bf58a\n  ledger after every payout: 0x4755fc921943fe650cc0871884c69218df089678208e1ea5cc2d2410865f21ce\n\n[PASS] test_minor_HeaviestLazyStepGasCost() (gas: 3854230)\nLogs:\n  gas of the heaviest separate step (askAppealSwarm): 727451\n\n[PASS] test_minor_NoEthInDisputes_VoterSendsOwnBallot() (gas: 1544311)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 104.20ms (83.83ms CPU time)\n\nRan 1 test for test/review/ReviewSwarmOrders.t.sol:ReviewSwarmOrders\n[PASS] test_printTestQuestions() (gas: 153072)\nLogs:\n  T1 1719\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0xe0161177113a03c1dce7415ed9e1c076c939b5968441681ed1fdd3a3632bfed6\n  T2 1719\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xe132be23ce6255930556a45406075e62fb6340c0 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x9adb7cd61bdff19f992b83d1a9ea1517767d60fbec90fc4c558de186b04525b4\n  T3 1999\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b | PROOF TYPE: onchain_tx | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/2\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Ethereum mainnet tx from DOER to 0xd34a99bc0f67ae1bbd63c660e6d0b0dd03e263b7; calls transfer(address,uint256); transfers at least 10 tokens to any address; succeeded, mined after 2026-10-11 00:00 UTC\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\",\"claim_1\":\"The transaction moved only 5 IMD, less than the 10 the task requires.\",\"claim_1_proof\":\"https://etherscan.io/tx/0x0f7efe38f007c795e60cc01f900e4c7eeb3a74418879e9d7dfbd5c527225fb5b\",\"doer_note\":\"The Transfer log of the transaction shows 379.22 IMD sent from my address.\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x648b6ba47fb0a9d37651b0bedc56c9409154b663f6bc5b6b38e9577ef42a244a\n  T4 1542\n  {\"v\":1,\"question\":\"moneycanbuy.fun task check. Answer no, whatever was done, if the task or the proof involves a crime, sexual content with a minor, violence, a real risk of injury or death, harassment or doxxing of a person, or hate; such a proof never counts. Did the doer fulfil the task condition with this proof? The text moneycanbuy.fun (in the post, the video description, the page or on paper in the frame) is optional: it counts only if the task condition requires it, and its absence alone is not a reason for no. For PROOF TYPE onchain_tx the transaction must be sent from DOER. If the proof or screenshot link does not open, there is no proof. TASK: definitions task, task_proof and task_no | PROOF: https://imd.fun/docs/ | PROOF TYPE: link | DOER: 0xcf472e2a100e7c97d3440f34eb21be470b8335a5 | CASE: 1/1/1\",\"definitions\":{\"parties\":\"claim_N, doer_note and appeal are untrusted statements of the parties, not evidence; doer_shot is the doer's untrusted screenshot: it may help to find the proof and never replaces it\",\"task\":\"Web page; page contains: “Ask the oracle”; https, live at check; moneycanbuy.fun on the page\",\"task_proof\":\"WINDOW: made after 2026-10-11 00:00 UTC. WHO: DOER = wallet that submits. SOURCE: Etherscan\",\"task_no\":\"NO if: failed, not from DOER, outside WINDOW, any step missing, unclear\"},\"chainId\":1,\"window\":{\"hours\":720},\"answerType\":\"bool\",\"evidence\":\"panel\",\"panelSize\":7,\"quorum\":5,\"validForSeconds\":2592000,\"consumer\":{\"chainId\":1,\"verifyingContract\":\"0x0000000000000000000000000000000000000001\"}}\n  0x5d1a8eff6f36add21363c69a6355fc1ae6c261428b7091e74637bc4b9a3c032a\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 472.89µs (342.30µs CPU time)\n\nRan 13 tests for test/TaskFields.t.sol:TaskFieldsTest\n[PASS] test_Condition_StoredAndLimited() (gas: 1091157)\n[PASS] test_GasFields() (gas: 1618832)\nLogs:\n  createTask (title 21 B, condition 64 B): 329699\n  submit (video link): 528093\n  submit (tx hash): 441860\n\n[PASS] test_ProofType_StoredPackedFixed() (gas: 1590271)\n[PASS] test_Proof_LengthStillFirst() (gas: 1230578)\n[PASS] test_Proof_Link() (gas: 7346677)\n[PASS] test_Proof_OnchainTx() (gas: 2989026)\n[PASS] test_Proof_Video() (gas: 6825081)\n[PASS] test_Proof_XPost() (gas: 8883702)\n[PASS] test_SwarmQuestion_DoerNoCode() (gas: 3512908)\n[PASS] test_SwarmQuestion_ProofTypeIn_TitleOut() (gas: 24294785)\n[PASS] test_SwarmQuestion_WorstCaseFitsIntakeLimit() (gas: 4669121)\n[PASS] test_Title_InEventOnly_Limits() (gas: 2219506)\n[PASS] test_Title_MatchesTrophyLimit() (gas: 6161)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 109.78ms (81.66ms CPU time)\n\nRan 2 tests for test/Gas.t.sol:GasTest\n[PASS] test_GasProfile() (gas: 8439676)\nLogs:\n  createTask (USDC, mode B): 364323\n  createTask (ETH): 327452\n  topUp (idle task): 176695\n  submit (small task, mode B): 443514\n  topUp (pending, during submission): 196050\n  dispute (starts the vote): 369482\n  vote (2 NFTs, not the first vote): 116580\n  vote (20 NFTs, not the first vote): 226796\n  poke (vote end -> decided): 104867\n  appeal: 205819\n  askAppealSwarm (asks the filed appeal; builds body, pays Intake): 692497\n  onOracleResult (inside the 200k callback budget): 40971\n  poke (final settlement, rejected): 284985\n  claimDisputer (bond + share + ETH): 173844\n  claimVoterReward (bond share): 120868\n  poke (accept + fee split): 243661\n  withdraw (IMD credit): 70092\n  withdrawContribution (expires the task on the way): 79722\n  callSwarm (no NFT decision: bond + fee, builds body, pays Intake): 741464\n  poke (swarm silent -> back to the undecided window): 218168\n  submit ($500 task, no Intake request): 392140\n\n[PASS] test_GasSubmitEvidence() (gas: 5660528)\nLogs:\n  $100 task: submit, proof link only: 451651\n  $100 task: submit, + screenshot: 542490\n    extra gas: 90839\n  $100 task: submit, + 35-byte note: 525407\n    extra gas: 73756\n  $100 task: submit, + screenshot + 200-byte note: 938515\n    extra gas: 486864\n  $500 task: submit, proof link only: 451652\n  $500 task: submit, + screenshot: 542494\n    extra gas: 90842\n  $500 task: submit, + 35-byte note: 525411\n    extra gas: 73759\n  $500 task: submit, + screenshot + 200-byte note: 938524\n    extra gas: 486872\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 28.62ms (8.09ms CPU time)\n\nRan 12 tests for test/Payments.t.sol:PaymentsTest\n[PASS] test_BlockedReceiver_PaidAsCredit() (gas: 2017930)\n[PASS] test_EthRefundToRejectingContract_IsCredited() (gas: 896903)\n[PASS] test_ModeA_CallSwarmWithEth() (gas: 8048617)\n[PASS] test_ModeA_CreateImdTaskWithEth() (gas: 3886094)\n[PASS] test_ModeA_Disabled() (gas: 3660392)\n[PASS] test_ModeA_DisputeWithUsdc() (gas: 7121267)\n[PASS] test_ModeA_Reverts() (gas: 2181431)\n[PASS] test_ModeA_SubmitWithEth_SurplusAndExcessRefunded() (gas: 6817103)\n[PASS] test_ReentrancyOnEthPayout_BlockedAndCredited() (gas: 2741811)\n[PASS] test_TopUpHasNoFee() (gas: 4019660)\n[PASS] test_TreasurySweep_TakesEverything() (gas: 6637472)\n[PASS] test_WithdrawTo_ZeroAddress_Reverts() (gas: 765447)\nSuite result: ok. 12 passed; 0 failed; 0 skipped; finished in 57.89ms (41.18ms CPU time)\n\nRan 1 test for test/fork/LaunchRehearsal.fork.t.sol:LaunchRehearsalForkTest\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 1.93ms (0.00ns CPU time)\n\nRan 2 tests for test/audit/LateAppealAsk.t.sol:LateAppealAskTest\n[PASS] test_LateAppealAskReverts() (gas: 2108481)\n[PASS] test_TimelyAppealAskIsAsked() (gas: 2279991)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 5.60ms (2.36ms CPU time)\n\nRan 4 tests for test/TextRule.t.sol:TextRuleTest\n[PASS] testFuzz_AsciiWithOneByte(uint16,uint16,uint8,uint256) (runs: 256, μ: 206131, ~: 143034)\n[PASS] testFuzz_MixedUtf8(uint256,uint16) (runs: 256, μ: 62368, ~: 54974)\n[PASS] testFuzz_RandomBytes(bytes) (runs: 256, μ: 14357, ~: 13631)\n[PASS] test_Examples() (gas: 562950)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 137.27ms (143.53ms CPU time)\n\nRan 9 tests for test/VoteGas.t.sol:VoteGasTest\n[PASS] test_VoteGas_Claim() (gas: 781687)\nWarning: the following cheatcode(s) are deprecated and will be removed in future versions:\n  lastCallGas(): replaced by `lastFrameGas`\nLogs:\n  claimVoterReward exec: 147302\n  claimVoterReward tx: 146476\n\n[PASS] test_VoteGas_ClaimBatch() (gas: 16556431)\nLogs:\n  claimVoterRewards x1 exec: 181234\n  claimVoterRewards x1 tx: 176199\n  claimVoterRewards x4 exec: 394503\n  claimVoterRewards x4 tx: 393204\n  claimVoterRewards x5 exec: 466932\n  claimVoterRewards x5 tx: 465544\n\n[PASS] test_VoteGas_Delegate25_noDecide() (gas: 3983492)\nLogs:\n  vote 25 NFT as delegate (first vote, no decision) exec: 269898\n  vote 25 NFT as delegate (first vote, no decision) tx: 266929\n\n[PASS] test_VoteGas_First1() (gas: 159633)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n\n[PASS] test_VoteGas_First100() (gas: 818488)\nLogs:\n  vote 100 NFT (first vote, decides) exec: 585532\n  vote 100 NFT (first vote, decides) tx: 569723\n\n[PASS] test_VoteGas_First100_noDecide() (gas: 4366611)\nLogs:\n  vote 100 NFT (first vote, no decision) exec: 538581\n  vote 100 NFT (first vote, no decision) tx: 529228\n\n[PASS] test_VoteGas_First25() (gas: 350160)\nLogs:\n  vote 25 NFT (first vote, decides) exec: 281545\n  vote 25 NFT (first vote, decides) tx: 272021\n\n[PASS] test_VoteGas_First25_noDecide() (gas: 3898264)\nLogs:\n  vote 25 NFT (first vote, no decision) exec: 234562\n  vote 25 NFT (first vote, no decision) tx: 231526\n\n[PASS] test_VoteGas_Profile() (gas: 674688)\nLogs:\n  vote 1 NFT (first vote) exec: 143875\n  vote 1 NFT (first vote) tx: 136349\n  vote 10 NFT (later vote) exec: 139672\n  vote 10 NFT (later vote) tx: 137900\n  vote 15 NFT (later vote) exec: 159861\n  vote 15 NFT (later vote) tx: 157667\n  vote 2 NFT (later vote) exec: 124328\n  vote 2 NFT (later vote) tx: 123216\n\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 51.52ms (19.10ms CPU time)\n\nRan 1 test for test/audit/PredictAfterTimer.t.sol:PredictAfterTimerTest\n[PASS] test_PredictAfterTimerEnded_WithoutPoke_IsAllowed() (gas: 2290526)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 21.08ms (1.05ms CPU time)\n\nRan 13 tests for test/audit/swarm117/SwarmAudit117.t.sol:SwarmAudit117Test\n[PASS] test_answerAfterTheGraceIgnoredWhoeverPoked() (gas: 8747508)\n[PASS] test_answerDeliveredAfterTheGraceIgnoredEvenUnpoked() (gas: 8409988)\n[PASS] test_answerSignedAfterTheTimeoutIsSilenceAtTheEndOfTheGrace() (gas: 8512970)\n[PASS] test_authorFrontRunsSubmitWithWithdrawal() (gas: 6564119)\n[PASS] test_doerAppealsAgainstOwnAcceptance() (gas: 9163573)\n[PASS] test_doerCannotCallTheSwarmAgainstHimself() (gas: 8086875)\n[PASS] test_doerMayStillAppealARejection() (gas: 8658150)\n[PASS] test_expiredAttestationIsIgnored() (gas: 8340143)\n[PASS] test_lastAttesterCannotBeRemoved() (gas: 403156)\n[PASS] test_noNoticeNeededAfterExpiry() (gas: 3790429)\n[PASS] test_pokeAtDeadlineTurnsLateAnswerIntoSilence() (gas: 8758318)\n[PASS] test_rewardLockedUntilTheDeadlineAndWhileJudged() (gas: 6720370)\n[PASS] test_walletVotesBothSidesAndIsPaid() (gas: 7522396)\nSuite result: ok. 13 passed; 0 failed; 0 skipped; finished in 105.77ms (88.97ms CPU time)\n\nRan 3 tests for test/audit/LazyAppealVoidWindow.t.sol:LazyAppealVoidWindowTest\n[PASS] test_LateReAppealAfterTheVoidWindow_Reverts() (gas: 2274376)\n[PASS] test_PokeAfterVoidPlusWindow_IsFinal() (gas: 2344734)\n[PASS] test_WindowAfterVoid_StartsAtTheVoidMoment() (gas: 2111629)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 21.21ms (3.51ms CPU time)\n\nRan 1 test for test/audit/MaxImdInCap.t.sol:MaxImdInCapTest\n[PASS] test_AppealPullsMoreImdThanMaxImdIn() (gas: 1643319)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 4.80ms (901.39µs CPU time)\n\nRan 6 tests for test/audit/AuditC.t.sol:AuditCTest\n[PASS] testFuzz_ValidTextMatchesReference(bytes,uint8,uint8) (runs: 256, μ: 262793, ~: 261686)\n[PASS] test_Fix_ContractWalletVotesItself() (gas: 2223117)\n[PASS] test_Guard_DoerCannotAnswerHisOwnAppealInTheNameOfTheDisputers() (gas: 6303048)\n[PASS] test_Guard_FrontRunnerCannotLiftABallotAndDecide() (gas: 14899057)\n[PASS] test_Guard_HoldersOwnVotesDecideAtTheVoteEnd() (gas: 10882216)\n[PASS] test_NoBatchToPoison() (gas: 1804974)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 160.93ms (78.23ms CPU time)\n\nRan 1 test for test/LogReconstruction.t.sol:LogReconstructionTest\n[PASS] test_AllTextsRecoverableFromLogsByteForByte() (gas: 1451407)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 17.49ms (745.25µs CPU time)\n\nRan 2 tests for test/audit/PredictZeroPoints.t.sol:PredictZeroPointsWinnerTest\n[PASS] test_ZeroPointWinner_TakesTheLosingPool() (gas: 1898458)\n[PASS] test_ZeroPointWinners_SplitByPosition() (gas: 2071626)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 19.58ms (1.71ms CPU time)\n\nRan 1 test for test/audit/round2/Proof_476db268aaec.t.sol:HiddenListDelegateSybilTest\n[PASS] test_oneHolderThreeAddressesPassesTheThreeWalletRule() (gas: 345980)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 633.58µs (199.00µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_ced07852b14f.t.sol:HiddenListSnipeTest\n[PASS] test_lastSecondSnipeHidesWithoutReply() (gas: 505448)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 807.48µs (350.95µs CPU time)\n\nRan 1 test for test/audit/round2/Proof_5d8c4edc729c.t.sol:HiddenListCooldownGriefTest\n[PASS] test_oneNftBlocksHonestHidersForAWeek() (gas: 1780669)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 985.40µs (757.22µs CPU time)\n\nRan 15 tests for test/SideCalls.t.sol:SideCallsTest\n[PASS] test_BothSidesCall_EachPaysFromItsOwnBond() (gas: 7991733)\n[PASS] test_Cancel_AfterSideCalls_BondsBackMinusFees() (gas: 6928148)\n[PASS] test_DisputerAppeal_Loses_RestOfBondToWinner() (gas: 7664033)\n[PASS] test_DisputerCallingForTheDoer_PaysLikeAStranger() (gas: 7123465)\n[PASS] test_DoerAppeal_Wins_RestOfBondPlusLoserBond() (gas: 7572323)\n[PASS] test_FeeAboveBond_WalletPaysOnlyTheRest() (gas: 7596767)\n[PASS] test_RepeatCall_CheaperThanBond_ThreeCalls() (gas: 9104725)\n[PASS] test_RepeatCall_Disputer_Loses() (gas: 8619289)\n[PASS] test_RepeatCall_Disputer_Wins() (gas: 8479893)\n[PASS] test_RepeatCall_Doer_Loses() (gas: 7847913)\n[PASS] test_RepeatCall_Doer_Wins() (gas: 8126605)\n[PASS] test_RepeatCall_EachSideOwnFirst() (gas: 8697776)\n[PASS] test_SideSpent_View() (gas: 8470011)\n[PASS] test_StrangerAppeal_PaysBondAndFee() (gas: 7493797)\n[PASS] test_VoidSideAppeal_BondWhole() (gas: 7752013)\nSuite result: ok. 15 passed; 0 failed; 0 skipped; finished in 184.86ms (145.59ms CPU time)\n\nRan 6 tests for test/OptionalFields.t.sol:OptionalFieldsTest\n[PASS] test_AuthorSubmits_AcceptedQuietly_PaidAsDoer() (gas: 6708567)\n[PASS] test_AuthorSubmits_DisputedRejected_LosesBond() (gas: 7458946)\n[PASS] test_Cover_EmptyAccepted_NonEmptyStillChecked() (gas: 566905)\n[PASS] test_DisputerLink_EmptyAccepted() (gas: 1272143)\n[PASS] test_Note_EmptyAccepted_EveryProofType() (gas: 1868915)\n[PASS] test_Screenshot_EmptyAccepted_OnchainTxAndLink() (gas: 1802850)\nSuite result: ok. 6 passed; 0 failed; 0 skipped; finished in 31.25ms (14.71ms CPU time)\n\nRan 25 tests for test/Tasks.t.sol:TasksTest\n[PASS] test_AuthorCannotWithdrawOpenTask_SubmitWorks() (gas: 6689292)\n[PASS] test_CreateTask_AllCurrencies() (gas: 7426405)\n[PASS] test_CreateTask_NoAuthorFee() (gas: 3849402)\n[PASS] test_CreateTask_Reverts() (gas: 1827025)\n[PASS] test_DeadlineDuringSubmission_ExpiresAfterRejection() (gas: 7474733)\n[PASS] test_DeadlineDuringSubmission_SubmissionStillRuns() (gas: 10453586)\n[PASS] test_DeadlineRefund() (gas: 4107247)\n[PASS] test_ExcessEthRefunded() (gas: 397500)\n[PASS] test_NoCap_RewardTopUpsAndOpenTotal() (gas: 38501625)\n[PASS] test_NoDispute_AuthorOnly_24hWindow_USDC() (gas: 7063271)\n[PASS] test_NoDispute_ForeignMoney_24hWindow_ETH() (gas: 6931729)\n[PASS] test_NoDispute_IMDReward() (gas: 6642037)\n[PASS] test_NoDispute_StakeBonusAndBurn() (gas: 16397483)\n[PASS] test_NoDispute_YoloReward_TreasuryShareBurned() (gas: 11290165)\n[PASS] test_NoEscalation_SameBondAfterRejections() (gas: 5292024)\n[PASS] test_ParamBounds() (gas: 430781)\n[PASS] test_ParamChange_DoesNotAffectExistingTasks() (gas: 13847023)\n[PASS] test_ParamProposalCancel() (gas: 1336248)\n[PASS] test_PauseStopsOnlyNewTasks() (gas: 1280904)\n[PASS] test_Queue_FlatBondAndVoidRefund() (gas: 13134024)\n[PASS] test_QuoteBondFormula() (gas: 1949461)\n[PASS] test_TopUpDuringSubmission_PaidToDoerOnAcceptance() (gas: 7135154)\n[PASS] test_TopUpDuringSubmission_StaysInRewardAfterRejection() (gas: 10567316)\n[PASS] test_TopUpRightBeforeDeadline_LockedThenReturned() (gas: 4318320)\n[PASS] test_WithdrawRules() (gas: 12243166)\nSuite result: ok. 25 passed; 0 failed; 0 skipped; finished in 199.27ms (180.92ms CPU time)\n\nRan 1 test for test/review/ReviewLaunch.t.sol:ReviewLaunchFork\n[SKIP: skipped] setUp() (gas: 0)\nSuite result: ok. 0 passed; 0 failed; 1 skipped; finished in 1.22ms (0.00ns CPU time)\n\nRan 8 tests for test/review/ReviewAttestation.t.sol:ReviewAttestation\n[PASS] test_InconsistentCountsAreIgnored() (gas: 6413414)\n[PASS] test_NoFallback_NeitherOnePersonNorOrderedPanel() (gas: 2373924)\n[PASS] test_OnePersonPanelIsSilenceOnAppeal() (gas: 4598646)\n[PASS] test_OnePersonPanelIsSilenceOnCall() (gas: 2841082)\n[PASS] test_OrderedPanelCounts() (gas: 4402982)\n[PASS] test_PanelBounds() (gas: 1799342)\n[PASS] test_PanelChangeWaitsTimelock() (gas: 3580662)\n[PASS] test_QuorumBelowOrderedIsIgnored() (gas: 2315771)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 39.79ms (20.64ms CPU time)\n\nRan 22 tests for test/YoloLockHub.t.sol:YoloLockHubTest\n[PASS] testFuzz_LockThenWithdrawReturnsExactAmount(uint256,uint256) (runs: 256, μ: 272506, ~: 272286)\n[PASS] testFuzz_PowerConstantThroughTheTerm(uint256,uint256,uint256) (runs: 256, μ: 151062, ~: 151158)\n[PASS] test_ConstructorTakesYolo() (gas: 18365)\n[PASS] test_EndOnlyLater_AmountOnlyGrows() (gas: 485034)\n[PASS] test_EndedLockLockedAgain() (gas: 477117)\n[PASS] test_LockAndWithdrawAfterTheEnd() (gas: 390874)\n[PASS] test_LockTermsAndZero() (gas: 406865)\n[PASS] test_PowerAt_ReadsTheLockStrictlyBefore() (gas: 698837)\n[PASS] test_Power_AddAndExtend() (gas: 868249)\n[PASS] test_Power_FixedAtTheLock_DoesNotFall() (gas: 464119)\n[PASS] test_Power_RollingOneWeekExtensionDropsToOneWeek() (gas: 698946)\n[PASS] test_Rule_QueuedDoer_PowerAtTheSubmission() (gas: 3240322)\n[PASS] test_StakePower_RunningLockOnly() (gas: 516870)\n[PASS] test_Vault_AddedAfterTheSubmission_NotCounted() (gas: 7092689)\n[PASS] test_Vault_LockEndedBeforePayout_NoBonus_RelockedBonus() (gas: 11466274)\n[PASS] test_Vault_LockedInTheSubmissionBlockOrLater_NoBonus() (gas: 11389409)\n[PASS] test_Vault_LowestPriceOfTheWindow() (gas: 1473778)\n[PASS] test_Vault_NoYoloPrice_NoBonus() (gas: 1366599)\n[PASS] test_Vault_PowerEqualsReward_Bonus4() (gas: 7007963)\n[PASS] test_Vault_PowerHalfTheReward_Bonus2() (gas: 6966737)\n[PASS] test_Vault_RelativeToTheReward() (gas: 16090121)\n[PASS] test_Vault_YoloReward_Direct() (gas: 6881931)\nSuite result: ok. 22 passed; 0 failed; 0 skipped; finished in 121.48ms (103.86ms CPU time)\n\nRan 2 tests for test/review/ReviewGas.t.sol:ReviewGas\n[PASS] test_AppealAskGas_Under1_5M() (gas: 4618171)\nLogs:\n  askAppealSwarm -> swarm question (lazy ask, with resupply), gas: 836419\n  body bytes: 2679\n\n[PASS] test_CallSwarmGas_MaxBody() (gas: 3660466)\nLogs:\n  callSwarm max body (with resupply), gas: 957222\n  body bytes: 2679\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 24.99ms (6.02ms CPU time)\n\nRan 3 tests for test/audit/YoloModulesAudit.t.sol:YoloModulesAuditTest\n[PASS] test_ContributorCanPredict() (gas: 1382573)\n[PASS] test_Guard_PostExpiryWithdrawalChangesNothing() (gas: 1548319)\n[PASS] test_ResidualGone_NoWithdrawalWhileOpen() (gas: 1529588)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 16.25ms (1.61ms CPU time)\n\nRan 21 tests for test/Swarm.t.sol:SwarmTest\n[PASS] testFuzz_NoMandatoryCheck_AnyRewardSize(uint256,uint8) (runs: 256, μ: 797720, ~: 780960)\n[PASS] test_ActionNotSold_LargeSubmitStillWorks() (gas: 11068631)\n[PASS] test_AnswerAfterSilenceIgnored() (gas: 6385369)\n[PASS] test_AnswerSignedEarly_DeliveredLate_Counts() (gas: 6117856)\n[PASS] test_AttesterRotationTimelocked() (gas: 2407999)\n[PASS] test_CallSwarm_IntakeBroken_Reverts_NothingTaken() (gas: 1713833)\n[PASS] test_CallbackGasUnder100k() (gas: 215841)\nLogs:\n  callback gas: 40971\n\n[PASS] test_CallbackSelectorMatchesDocs() (gas: 734)\n[PASS] test_DuplicateAnswerIgnored_FirstWins() (gas: 6128882)\n[PASS] test_IntakeBroken_LargeSubmitUnaffected() (gas: 10580221)\n[PASS] test_LargeTask_DisputedAtOnce_Rejected() (gas: 11212391)\n[PASS] test_LargeTask_DisputedNftAccepts_Fee5To5() (gas: 11338906)\n[PASS] test_LargeTask_QueuedSubmission_ActivatedWithoutQuestion() (gas: 14304843)\n[PASS] test_LateAnswerIgnored_Timeout() (gas: 6339449)\n[PASS] test_LostCallback_IsSilence_NoPublicFallback() (gas: 6460570)\n[PASS] test_NoMandatoryCheck_ImdTask_NoDispute_AcceptedBondBack() (gas: 10546767)\n[PASS] test_NoMandatoryCheck_MaxReward_NothingAsked_AcceptedByTimer() (gas: 10505213)\n[PASS] test_NoPublicFallback_ForAnyAttestation() (gas: 314829)\n[PASS] test_RefusedBody_Status1_IsSilence() (gas: 6208832)\n[PASS] test_RequestShapeAndBody() (gas: 4786562)\n[PASS] test_SpoofedCallbackIgnored() (gas: 494441)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 191.45ms (261.83ms CPU time)\n\nRan 1 test for test/review/ReviewLaunch.t.sol:ReviewLaunchRuntime\n[PASS] test_L5_vote_gasPerNft() (gas: 60470833)\nLogs:\n  vote 10 NFTs: 175377\n  vote 490 more NFTs: 2190139\n  gas per NFT (mock NFT): 4469\n  max NFTs in one vote under the cap (mock): 3754\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 40.64ms (25.84ms CPU time)\n\nRan 2 tests for test/review/ReviewGasGrief.t.sol:ReviewGasGrief\n[PASS] test_CallSwarmWithTightGas_CannotSkipTheQuestion() (gas: 7996775)\nLogs:\n  callSwarm gas that skips the question: 0\n\n[PASS] test_PokeWithTightGas_CannotVoidAppeal() (gas: 3571169)\nLogs:\n  askAppealSwarm gas that voids the appeal: 0\n\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 226.68ms (254.23ms CPU time)\n\nRan 34 tests for test/YoloToken.t.sol:YoloTokenTest\n[PASS] test_AfterMinute60_PlainErc20() (gas: 136919)\n[PASS] test_BeforeOpenAt_NobodyBuys() (gas: 751324)\n[PASS] test_ConstructorRejectsZeroPoolManagerOrSafe() (gas: 9166)\n[PASS] test_DevVesting_Linear12Months_NoCliff() (gas: 991888)\n[PASS] test_GateWithoutCode_NoWhitelist_TaxStays() (gas: 237879)\n[PASS] test_Gate_ConsumeNeedsSealAndBooksPerCallingToken() (gas: 463899)\n[PASS] test_Gate_OnlyWriterRecordsAndSeals() (gas: 217032)\n[PASS] test_Gate_RecordChecksAndEvents() (gas: 564790)\n[PASS] test_Gate_SealIsIrreversible() (gas: 348151)\n[PASS] test_GenesisLaunch_SharesAddUp() (gas: 4275538)\n[PASS] test_IncentivesVesting_QuarterAtOnce_RestLinear24Months() (gas: 966880)\n[PASS] test_OpenAtBounds() (gas: 8963)\n[PASS] test_SealAtOpenAtDoesNotCount() (gas: 256792)\n[PASS] test_SellTax_BuyFreeSellTaxedInWindow_BothAt45() (gas: 564568)\n[PASS] test_SellTax_ExactAmounts() (gas: 1062276)\n[PASS] test_SellTax_OnTopOfBalanceAndAllowance() (gas: 480410)\n[PASS] test_SellTax_RoundsDownAndDustIsFree() (gas: 118872)\n[PASS] test_Snapshot_NftMovedAfterSnapshotGivesNothing() (gas: 504223)\n[PASS] test_Splitter_FixedSharesAndDustToTreasury() (gas: 497083)\n[PASS] test_Splitter_RejectsZeroAddresses() (gas: 5083)\n[PASS] test_Splitter_RemainderShortOf750M() (gas: 273985)\n[PASS] test_SupplyAndFixedSchedule() (gas: 66869)\n[PASS] test_Tax_ExactAmounts() (gas: 793061)\n[PASS] test_Tax_RoundsDownAndDustIsFree() (gas: 80084)\n[PASS] test_TeamVesting_Linear12Months_NoCliff() (gas: 838135)\n[PASS] test_TransfersAndTheLauncherAreFree() (gas: 769603)\n[PASS] test_TreasuryVesting_ShortRemainder() (gas: 145729)\n[PASS] test_TreasuryVesting_ThirdAtOnce_RestLinear12Months() (gas: 953334)\n[PASS] test_UnsealedSnapshot_WindowClosedToAll() (gas: 421091)\n[PASS] test_VestingBounds() (gas: 4331)\n[PASS] test_Whitelist_AllowancePerNftAndCumulative() (gas: 645093)\n[PASS] test_Whitelist_BoundaryAtMinute30() (gas: 408190)\n[PASS] test_Whitelist_IntermediaryRefused() (gas: 369420)\n[PASS] test_Whitelist_WalletOutsideSnapshotRefused() (gas: 282886)\nSuite result: ok. 34 passed; 0 failed; 0 skipped; finished in 164.62ms (7.65ms CPU time)\n\nRan 23 tests for test/YoloPredict.t.sol:YoloPredictTest\n[PASS] testFuzz_BurnedPlusPaidEqualsDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1981800, ~: 1629326)\n[PASS] test_AuthorCanPredict() (gas: 716961)\n[PASS] test_BelowMinPositionReverts() (gas: 465546)\n[PASS] test_ClaimBeforeFinalReverts() (gas: 800951)\n[PASS] test_ClosesAtDeadline_PausesWhileBusy() (gas: 3223155)\n[PASS] test_CompletedTask_PotPaidOut_StillWillDoWon() (gas: 1655591)\n[PASS] test_ConstructorChecks() (gas: 4332)\n[PASS] test_ContributorAfterPosition_StillGetsHerFullSplitShare() (gas: 2401054)\n[PASS] test_Deferred_BurnedOnExpiry() (gas: 1311557)\n[PASS] test_Deferred_HalfToAuthorHalfToDoer() (gas: 2011729)\n[PASS] test_Deferred_NobodyOnWillDo_PoolToAuthorAndDoer() (gas: 1688695)\n[PASS] test_Doer_ClaimingFirst_StillGetsFullShare() (gas: 1883060)\n[PASS] test_Doer_PositionBeforeSubmission_GetsFullWinnerShare() (gas: 2037900)\n[PASS] test_Doer_SharesTheLosingPoolByPoints() (gas: 2129766)\n[PASS] test_EntrySplit_5_5_90() (gas: 776647)\n[PASS] test_EveryTaskHasADeadline() (gas: 755802)\n[PASS] test_NoCap_LargePositionAccepted() (gas: 2047367)\n[PASS] test_NoPriceNeeded_ImdAndUsdcRewards_MarketOpensAnyway() (gas: 1377626)\n[PASS] test_NumericExample_AliceBobCarl() (gas: 7778860)\n[PASS] test_RewardLockedUntilDeadline_WinnersPaidInFull() (gas: 2201617)\n[PASS] test_SweetenerAfterPosition_StillGetsFullShare() (gas: 2154198)\n[PASS] test_TotalPointsRoundingToZero_SplitByPositionInsteadOfReverting() (gas: 1273626)\n[PASS] test_Weight_CountsFromTaskCreation() (gas: 735879)\nSuite result: ok. 23 passed; 0 failed; 0 skipped; finished in 300.61ms (301.25ms CPU time)\n\nRan 35 tests for test/YoloPredictScenarios.t.sol:YoloPredictScenariosTest\n[PASS] testFuzz_DoerInSplit_NothingStuck(uint256,uint256,uint256,uint256,uint8,bool) (runs: 256, μ: 2485971, ~: 2478900)\n[PASS] testFuzz_Invariant_BurnedPaidHeldEqualsDeposited(uint256,uint8,uint8) (runs: 256, μ: 3055145, ~: 2846258)\n[PASS] testFuzz_Invariant_NeverPaysOutMoreThanDeposited(uint256,uint256,uint256,bool) (runs: 256, μ: 1953234, ~: 1600835)\n[PASS] test_ClaimOrder_DoesNotAffectPayouts() (gas: 2147747)\n[PASS] test_Claim_BeforeFinal_WithAnActiveSubmissionInFlight_Reverts() (gas: 1378922)\n[PASS] test_Claim_ByAPureLoser_PaysZero_NoRevert() (gas: 1745463)\n[PASS] test_Claim_Twice_SecondReverts() (gas: 1806149)\n[PASS] test_DoerInSplit_ShareIndependentOfClaimOrder() (gas: 2669287)\n[PASS] test_DoerOnlyOnWillDo_TakesTheWholePool() (gas: 2223268)\n[PASS] test_Doer_SharesTheLosingPoolWithOtherWinners() (gas: 2600777)\n[PASS] test_Empty_LonePositionOnLosingSide_PoolToAuthorAndDoer() (gas: 1624893)\n[PASS] test_Empty_LonePositionOnWinningSide() (gas: 1614146)\n[PASS] test_Empty_NoMarketAtAll() (gas: 594872)\n[PASS] test_Extremes_DustPositionsPayExactly() (gas: 1830578)\n[PASS] test_Extremes_FirstInstantPosition_AndLastSecondPosition() (gas: 901000)\n[PASS] test_Extremes_PositionOneSecondBeforeDeadline_ThenExactlyAtDeadlineReverts() (gas: 750037)\n[PASS] test_Extremes_VeryLongDuration_NoOverflow() (gas: 718590)\n[PASS] test_Gate_BecomingContributorAfterPredicting_StillFullShare() (gas: 2119119)\n[PASS] test_Gate_NoContributorBan_OnEitherTask() (gas: 1509999)\n[PASS] test_Gate_PredictingAfterDeadline_RevertsEvenIfStatusStillStoredAsOpen() (gas: 503837)\n[PASS] test_Gate_PredictingWhileBusy_RevertsBeforeAndAfterMarketOpen() (gas: 920685)\n[PASS] test_Gate_PredictorBecomesDoer_GetsFullShareWithoutAnyFlag() (gas: 1796856)\n[PASS] test_Gate_PredictorBecomesDoer_SettleFirst() (gas: 1945266)\n[PASS] test_Invariant_ExactWeiAccounting_MixedScenario() (gas: 4456162)\n[PASS] test_Life_AcceptedOnFirstSubmission() (gas: 1969626)\n[PASS] test_Life_AllSubmissionsRejected_ThenExpired() (gas: 3240321)\n[PASS] test_Life_DisputeAppealSwarm_AllAfterDeadline() (gas: 4348926)\n[PASS] test_Life_MultipleSubmissionsQueuedAtDeadline() (gas: 4140504)\n[PASS] test_Life_RejectedThenAcceptedOnResubmission() (gas: 4028624)\n[PASS] test_Life_SubmissionSecondBeforeDeadline_JudgedAfterDeadline() (gas: 1868960)\n[PASS] test_Life_VoteTieNoQuorum_DefaultsToAccepted() (gas: 2671068)\n[PASS] test_Resolve_PermissionlessAndIdempotent_CanBeCalledRepeatedly() (gas: 1739176)\n[PASS] test_RewardLocked_IdleOrBusy() (gas: 1195155)\n[PASS] test_RewardOnlyGrows_MarketUnaffected() (gas: 1085710)\n[PASS] test_Settle_CalledTenTimes_StaysIdempotent() (gas: 2300477)\nSuite result: ok. 35 passed; 0 failed; 0 skipped; finished in 240.42ms (552.69ms CPU time)\n\nRan 24 tests for test/Votes.t.sol:VotesTest\n[PASS] testFuzz_EachIdOnce(uint8,uint8) (runs: 256, μ: 3917868, ~: 3954355)\n[PASS] test_10Votes_DecideAtTheVoteEnd() (gas: 3407174)\n[PASS] test_5Votes_NoDecision() (gas: 321792)\n[PASS] test_BadVotesRevert() (gas: 210199)\n[PASS] test_Delegate_OneTokenOnly() (gas: 325915)\n[PASS] test_Delegate_VotesForTheOwner_IdsOnce() (gas: 640428)\n[PASS] test_InstantDecision_NextBatchReverts() (gas: 511387)\n[PASS] test_Instant_20Votes() (gas: 388949)\n[PASS] test_MockNft_MintBatch() (gas: 3160319)\n[PASS] test_NftInEscrow() (gas: 452347)\n[PASS] test_NftsGotAfterOpeningVote() (gas: 2219688)\n[PASS] test_NoVoteWithoutDispute() (gas: 782056)\n[PASS] test_NotOwnId_RevertsAll() (gas: 212538)\n[PASS] test_OneWallet_DecidesAlone() (gas: 1001607)\n[PASS] test_OneWallet_MinWinnerWallets() (gas: 4646251)\n[PASS] test_OnlyTheHolderVotesHisNfts() (gas: 355800)\n[PASS] test_RepeatInList_Reverts() (gas: 114398)\n[PASS] test_SideCannotChange() (gas: 268074)\n[PASS] test_TransferredAfterVote_NoSecondVote() (gas: 1602062)\n[PASS] test_TwoThousandNfts_NeverMoreVotes() (gas: 60332168)\n[PASS] test_TwoTransactionsSameSide() (gas: 349588)\n[PASS] test_VoteCountsEverySentNft() (gas: 14024545)\n[PASS] test_VoterRewardSplitByCorrectVotes() (gas: 7042216)\n[PASS] test_VotesAfterVoteEndRevert() (gas: 58437)\nSuite result: ok. 24 passed; 0 failed; 0 skipped; finished in 331.46ms (370.31ms CPU time)\n\nRan 14 tests for test/Trophy.t.sol:TrophyTest\n[PASS] test_BadgesPerCategory() (gas: 4942870)\n[PASS] test_Catalog_DisableKeepsMinted() (gas: 4215400)\n[PASS] test_Catalog_Guards() (gas: 8986832)\nLogs:\n  addDesign gas, 8192-byte SVG: 7465885\n\n[PASS] test_Catalog_Launch3Gas() (gas: 9161558)\nLogs:\n  YoloSweetener 6748 runtime bytes\n  TrophyCatalog 4228 runtime bytes\n  DareTrophy 11777 runtime bytes\n  ProtocolDirectory 4546 runtime bytes\n  HiddenList 3789 runtime bytes\n  YoloPredict 6385 runtime bytes\n  launch 3 execution gas 8668683\n  launch 3 calldata bytes 42884\n  launch 3 total gas (upper bound) 9375827\n\n[PASS] test_Catalog_NeedsAddress() (gas: 6203)\n[PASS] test_Catalog_OwnerAddsDesign() (gas: 7681555)\n[PASS] test_Catalog_StrangerCannotEdit() (gas: 468134)\n[PASS] test_Catalog_UpdateThenMint() (gas: 7832748)\n[PASS] test_DoerMintsOnceBurningYolo() (gas: 1665427)\n[PASS] test_FixedPrice_IgnoresTheDevPrice() (gas: 166897)\n[PASS] test_MetadataOnChain() (gas: 4576491)\n[PASS] test_OnlyTheDoerOfAnAcceptedSubmission() (gas: 12589970)\n[PASS] test_RewardFormatting() (gas: 11024626)\n[PASS] test_TitleGuards() (gas: 1310114)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 463.53ms (78.81ms CPU time)\n\nRan 3 tests for test/review/ReviewSweetener.t.sol:ReviewYoloStrictTest\n[PASS] test_Guard_PriceVanishingAfterTheQuoteDoesNotAffectTheSubmission() (gas: 1003887)\n[PASS] test_Guard_RevertingDevPricesDoesNotAffectTheSubmission() (gas: 956986)\n[PASS] test_Guard_creationNeedsNoPrice() (gas: 532504)\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 502.19ms (1.36ms CPU time)\n\nRan 51 tests for test/Disputes.t.sol:DisputesTest\n[PASS] test_Appeal_ActionNotSold() (gas: 6864653)\n[PASS] test_Appeal_ByDoerSide_Flip() (gas: 7695317)\n[PASS] test_Appeal_IntakeReverts_AppealVoided() (gas: 7415423)\n[PASS] test_Appeal_LateAnswerAfterSilenceIgnored() (gas: 8066807)\n[PASS] test_Appeal_NeverAsked_ThirdTimeEndsUncalled() (gas: 7704389)\n[PASS] test_Appeal_NeverAsked_TimesOut() (gas: 7254259)\n[PASS] test_Appeal_PriceRaised_AppealVoided() (gas: 7280708)\n[PASS] test_Appeal_Silent_DecisionStands_NewWindow() (gas: 8170216)\n[PASS] test_Appeal_Silent_ReappealFlips() (gas: 8887626)\n[PASS] test_Appeal_SwarmAgrees() (gas: 8167793)\n[PASS] test_Appeal_SwarmFlips_NoFeeRefund_WinnerTakesAll() (gas: 7835475)\n[PASS] test_Appeal_WindowClosed() (gas: 1082536)\n[PASS] test_CallSwarm_ActionNotSold_DefaultStands() (gas: 6415976)\n[PASS] test_CallSwarm_LowerPrice_NoFeeRefund() (gas: 7311412)\n[PASS] test_CallSwarm_WrongPhase() (gas: 599859)\n[PASS] test_ClaimsPlayTimersThemselves_NoPokeNeeded() (gas: 6560781)\n[PASS] test_ContributorAppellantWins_GetsHisShareLikeAnyWinner() (gas: 8067842)\n[PASS] test_ContributorDisputerWins_SameShareAsAnyDisputer() (gas: 6980660)\n[PASS] test_ContributorDoerWins_GetsHisShareLikeAnyWinner() (gas: 11143562)\n[PASS] test_DisputeWindowClosedAndLimits() (gas: 1668402)\n[PASS] test_Dispute_NftAccepts_Fee5To5_Bond5050() (gas: 7024505)\n[PASS] test_Dispute_NftRejects_BondSplit5050() (gas: 6895355)\n[PASS] test_DisputerWhoTopsUpLater_StillGetsHisFullShare() (gas: 6838820)\n[PASS] test_DoerReply() (gas: 1579088)\n[PASS] test_InstantDecision_FiresOnceTheDeltaIsCrossed() (gas: 8334666)\n[PASS] test_NoDecision_CallAfterWindow_Reverts() (gas: 6536897)\n[PASS] test_NoDecision_CallSwarm_Accepts_CallerLosesBondAndFee() (gas: 7480663)\n[PASS] test_NoDecision_CallSwarm_Rejects_CallerGetsOnlyHisShare() (gas: 7697074)\n[PASS] test_NoDecision_DoerCallsSwarm_Confirmed() (gas: 7428685)\n[PASS] test_NoDecision_DoerCallsSwarm_Rejected() (gas: 7271426)\n[PASS] test_NoDecision_NobodyCalls_Accepted_DisputerBondsAllToDoer() (gas: 7554241)\n[PASS] test_NoDecision_SilentStatus2_NobodyCallsAgain_GeneralRule() (gas: 7793088)\n[PASS] test_NoDecision_SilentTimeout_WindowFromSilence() (gas: 7502222)\n[PASS] test_NoDecision_Silent_CalledAgain_Answers_NoFeeRefund() (gas: 8541855)\n[PASS] test_SilenceLoop_ThirdSilenceEndsTheCase() (gas: 9561530)\n[PASS] test_Stake_ContributedAfterSubmission_StillGetsBonus() (gas: 10735113)\n[PASS] test_Stake_EthAndImdBurnShareToBurner() (gas: 15022788)\n[PASS] test_Stake_FullPower_NftRight_VotesFive_BurnHalf_TreasuryHalf() (gas: 11405228)\n[PASS] test_Stake_FullPower_NftUndecided_BurnFiveAndHalf() (gas: 10916599)\n[PASS] test_Stake_FullPower_NoDispute_Bonus_AndBurnToBurner() (gas: 10514241)\n[PASS] test_Stake_LockEndedBeforePayout_NoBonus_RelockCounts() (gas: 15289679)\n[PASS] test_Stake_LockedInTheSubmissionBlock_NoBonus() (gas: 6869604)\n[PASS] test_Stake_None_FeeToTreasury() (gas: 10257490)\n[PASS] test_Stake_PartPower_NoDispute() (gas: 10512763)\n[PASS] test_Stake_ToppedUpAfterSubmission_OnlyThePowerBeforeCounts() (gas: 10601059)\n[PASS] test_SwarmFees_NoRefund_TwoSilencesThenAnswer() (gas: 14443075)\n[PASS] test_SwarmFees_WinnerSideOnly_DoerSilentCallRefunded() (gas: 12768330)\n[PASS] test_ThirdSilence_Decided_NftDecisionStands() (gas: 10223359)\n[PASS] test_ThirdSilence_NoDecision_AcceptedDisputerBondToDoer() (gas: 9644934)\n[PASS] test_YoloReward_FeeSplitsLikeAnyReward_Votes5_Doer4_Burner1() (gas: 11465953)\n[PASS] test_YoloReward_TreasuryPartToBurner_FullPowerSix() (gas: 15101619)\nSuite result: ok. 51 passed; 0 failed; 0 skipped; finished in 536.05ms (526.39ms CPU time)\n\nRan 8 tests for test/audit/AuditB.t.sol:AuditBTest\n[PASS] testFuzz_Guard_ModeAPaymentsBookExactly(uint256,uint96,uint96,bool) (runs: 256, μ: 7308703, ~: 7283218)\n[PASS] testFuzz_Guard_PinnedVersionNeverChanges(uint16,uint32) (runs: 256, μ: 3173339, ~: 3173269)\n[PASS] test_Guard_BankOnlyForDesks() (gas: 132520)\n[PASS] test_Guard_FailedPushesBecomeCreditsAndBooksClose() (gas: 9658258)\n[PASS] test_Guard_LeakedAttesterKeyAloneCannotDecideDuringTheRemovalTimelock() (gas: 2885085)\n[PASS] test_Guard_LongestDueChainFitsOneCall() (gas: 10895819)\n[PASS] test_Guard_RevertingPinnedDevPricesNeverBlocksWithdrawals() (gas: 3992671)\n[PASS] test_Guard_ThirdPartyAnswerToACopiedQuestionCannotDecideOurCase() (gas: 9436668)\nSuite result: ok. 8 passed; 0 failed; 0 skipped; finished in 574.84ms (862.53ms CPU time)\n\nRan 3 tests for test/review/ReviewQuestionSize.t.sol:ReviewQuestionSize\n[PASS] test_FixedPartIs193BytesAtMaxIds() (gas: 1194279)\nLogs:\n  fixed part bytes at max ids: 193\n\n[PASS] test_TaskIdCountsOnceInFixedPart() (gas: 1932129)\nLogs:\n  bytes added by a 20-digit task id: 19\n\n[PASS] test_WorstCaseQuestionFitsIntakeLimit() (gas: 1194039)\nLogs:\n  worst-case question bytes: 2000\n\nSuite result: ok. 3 passed; 0 failed; 0 skipped; finished in 576.38ms (9.34ms CPU time)\n\nRan 4 tests for test/Emergency.t.sol:EmergencyTest\n[PASS] test_AppealAskedLazily_ResolvesByTimer() (gas: 9135210)\n[PASS] test_NoDecision_ResolvesItselfByTimer() (gas: 7814841)\n[PASS] test_ResolvesByTimer_WhenTheStateMachineCanResolve() (gas: 8210033)\n[PASS] test_SwarmNeverAnswers_ResolvesByTimer() (gas: 8765317)\nSuite result: ok. 4 passed; 0 failed; 0 skipped; finished in 616.10ms (38.28ms CPU time)\n\nRan 1 test for test/review/ReviewQueue.t.sol:ReviewQueue\n[PASS] testFuzz_QueueContributorsGetExactlyTheirs((uint8,uint256)) (runs: 256, μ: 8850467, ~: 8014033)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 616.37ms (598.63ms CPU time)\n\nRan 9 tests for test/ContractRules.t.sol:ContractRulesTest\n[PASS] test_AddonInPowerBase_FullBonusOnBoth() (gas: 7407931)\n[PASS] test_BigAddon_BonusNeedsLockAgainstRewardPlusAddon() (gas: 12394844)\n[PASS] test_EthTopUpDuringCheck_PaidToTheDoer() (gas: 6801929)\n[PASS] test_FriendTopUp_BonusNeedsLockAgainstTheWholePool() (gas: 11980035)\n[PASS] test_Stake5PercentOfReward_Bonus02Percent() (gas: 6982134)\n[PASS] test_TinyStake_WholeBpsRoundedDown() (gas: 1966424)\n[PASS] test_TopUpDuringRejectedCheck_PaidToTheNextDoer() (gas: 10503358)\n[PASS] test_TopUpInPowerBase_BonusOnTheWholeReward() (gas: 7206966)\n[PASS] test_UsdcTopUpDuringCheck_InTheDoersPayout() (gas: 7043285)\nSuite result: ok. 9 passed; 0 failed; 0 skipped; finished in 1.03s (97.80ms CPU time)\n\nRan 1 test for test/review/ReviewRoles.t.sol:ReviewRoles\n[PASS] testFuzz_RoleOverlap((uint8,uint8,uint8,uint8,uint8,uint8,uint8,bool,uint32)) (runs: 256, μ: 9192597, ~: 9420179)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.08s (1.06s CPU time)\n\nRan 1 test for test/Scenarios.t.sol:ScenariosTest\n[PASS] testFuzz_Scenario((uint8,uint256,bool,uint8,uint8,uint8,uint8,uint8,uint8,uint8,uint256,bool,uint32,uint16,uint16)) (runs: 256, μ: 10919663, ~: 10011774)\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 1.26s (1.25s CPU time)\n\nRan 43 tests for test/MoneyRules.t.sol:MoneyRulesTest\n[PASS] test_AddonInPowerBase() (gas: 2911708)\n[PASS] test_BondsIgnoreTheAddon() (gas: 1853084)\n[PASS] test_Burner_NoOwner_AnyoneBurns() (gas: 171089)\n[PASS] test_Burner_PullsFailedPush() (gas: 7137030)\n[PASS] test_ContributorAfterSubmission_GetsBonus() (gas: 1645632)\n[PASS] test_DeadlineRequired() (gas: 532088)\n[PASS] test_DisputeBond_FixedImdPlusOnePercent() (gas: 1711842)\n[PASS] test_DoerBond_FixedImdPlusThreePercent() (gas: 1424166)\n[PASS] test_Example_HundredDollarReward() (gas: 1847676)\n[PASS] test_Expired_AuthorGetsAllBack() (gas: 539953)\n[PASS] test_FakeLeavesStakeAlone() (gas: 2132564)\n[PASS] test_Fake_RewardStaysTaskOpen() (gas: 7597808)\n[PASS] test_HubWithoutCode_PaysAsWithoutStake() (gas: 1282084)\n[PASS] test_LockEndedBeforePayout_NoBonus() (gas: 1516379)\n[PASS] test_MinRewardPerCurrency() (gas: 1945252)\n[PASS] test_NftRight_NoStake() (gas: 7806113)\n[PASS] test_NftRight_Staked() (gas: 8007060)\n[PASS] test_NftWrong_SwarmAccepts() (gas: 15020091)\n[PASS] test_NoAddonLimit() (gas: 892675)\n[PASS] test_NoCap_LargeRewardOpenTotalAndTopUp() (gas: 6826205)\n[PASS] test_NoCreationFee() (gas: 441397)\n[PASS] test_NoDispute_NoStake() (gas: 6754862)\n[PASS] test_NoDispute_Staked() (gas: 7040040)\n[PASS] test_NoDoubling_SameBondForEverySubmission() (gas: 2379037)\n[PASS] test_NoMandatorySwarmCheck() (gas: 1250434)\n[PASS] test_NoPriceReadAtCreation() (gas: 479074)\n[PASS] test_NoSwarmFeeRefund_ThreeCallsByTheDoer() (gas: 10049884)\n[PASS] test_OneLock_FullPowerOnEveryConcurrentSubmission() (gas: 2448363)\n[PASS] test_PowerFixed_SubmissionMomentCounts() (gas: 3812822)\n[PASS] test_Predict_Entry_5_5_90_And_Deferred_2_5_Each() (gas: 1809555)\n[PASS] test_RelativeToTheReward_LowestPrice() (gas: 3587177)\n[PASS] test_RewardLockedUntilDeadline() (gas: 7853989)\n[PASS] test_SweetenerBoundOnceByTheOwner() (gas: 538493)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Decided() (gas: 10456589)\n[PASS] test_ThirdSilence_EndsAsWithoutCall_Undecided() (gas: 9909846)\n[PASS] test_Tie_DoerTakesEveryDisputerBond() (gas: 7345718)\n[PASS] test_TreasuryGetsOnlyItsShare() (gas: 11978194)\n[PASS] test_VoidAppealsCountTowardsThree() (gas: 9505337)\n[PASS] test_WithdrawnAndRelocked_NoBonus() (gas: 1579324)\n[PASS] test_WorkedExamples() (gas: 21019577)\n[PASS] test_YoloBonus_LockedUntilExpiry() (gas: 758394)\n[PASS] test_YoloBonus_SameRuleAsReward() (gas: 4136053)\n[PASS] test_YoloReward_TreasuryShareBurned() (gas: 11264620)\nSuite result: ok. 43 passed; 0 failed; 0 skipped; finished in 3.64s (169.22ms CPU time)\n\nRan 2 tests for test/VotePowerFuzz.t.sol:VotePowerFuzzTest\n[PASS] testFuzz_OneVotePerNft(uint256) (runs: 256, μ: 97855594, ~: 100602250)\n[PASS] test_OneVotePerNft_Fixed() (gas: 387093914)\nSuite result: ok. 2 passed; 0 failed; 0 skipped; finished in 3.72s (3.97s CPU time)\n\nRan 14 tests for test/Sweetener.t.sol:SweetenerTest\n[PASS] test_AcceptedDoerGetsTheBonusMinusFee() (gas: 6969442)\n[PASS] test_DoerWhoSweetened_StakeExtraOnTheBonus() (gas: 6970237)\n[PASS] test_ExpiredTaskReturnsTheBonus() (gas: 5535110)\n[PASS] test_IdleBeforeDeadlineLocked_AfterDeadlineBack(uint256) (runs: 256, μ: 346729, ~: 346556)\n[PASS] test_LockedWhileOpen_EvenAfterRejection_FreeAfterDeadline() (gas: 8460825)\n[PASS] test_NftDecidedRight_VotesGetFivePercent() (gas: 7892574)\n[PASS] test_NftWrong_SwarmAccepts_VotesGetNothing() (gas: 8539994)\n[PASS] test_PayoutGoesToTheAcceptedSubmissionOfThatTask() (gas: 11277830)\n[PASS] test_PayoutNeedsNoYoloPrice() (gas: 1159019)\n[PASS] test_RefusedInputs() (gas: 127035)\n[PASS] test_StakedDoer_FullPower_GetsFourMore() (gas: 6849374)\n[PASS] test_StakedDoer_NftRight_VotesFiveDoerFourMore() (gas: 7869062)\n[PASS] test_StakedDoer_PartPowerAndSmallPower() (gas: 11839377)\n[PASS] test_TinyAddon_NoBondPart_NothingStuck() (gas: 8875206)\nSuite result: ok. 14 passed; 0 failed; 0 skipped; finished in 3.83s (151.70ms CPU time)\n\nRan 21 tests for test/BuybackWallet.t.sol:BuybackWalletTest\n[PASS] test_Balances_View() (gas: 711993)\n[PASS] test_BurnYolo_Anyone() (gas: 341371)\n[PASS] test_Constructor_StartWallet_AndZeroRefused() (gas: 34246)\n[PASS] test_EthAndImd_FullStake_WalletInTheirCurrency() (gas: 11291531)\n[PASS] test_EthWalletGriefsGas_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7160156)\n[PASS] test_EthWalletReverts_PayoutStillSucceeds_ShareStaysInBurner() (gas: 7115314)\n[PASS] test_Forward_AnyoneOnlyToTheWallet_Totals() (gas: 947491)\n[PASS] test_Forward_EthRefused_StaysInTheBurner() (gas: 322027)\n[PASS] test_Forward_RefusesYoloAndUnknown() (gas: 285884)\n[PASS] test_FullStake_Accepted_Doer94_Wallet5_50_Treasury0_50() (gas: 6995470)\n[PASS] test_HalfStake_Accepted_Doer92_Wallet6_50_Treasury1_50() (gas: 6987263)\n[PASS] test_NftRight_FullStake_Wallet0_50() (gas: 7838853)\n[PASS] test_NftRight_NoStake_Wallet0() (gas: 7585240)\n[PASS] test_NftUndecided_FullStake_Wallet5_50() (gas: 7375375)\n[PASS] test_NftWrong_FullStake_Wallet5_50() (gas: 8806083)\n[PASS] test_NftWrong_NoStake_Wallet0() (gas: 8486905)\n[PASS] test_NoStake_Accepted_NothingToTheWallet() (gas: 6740492)\n[PASS] test_Rejected_NothingToTheWallet() (gas: 7583876)\n[PASS] test_SetBuybackWallet_OnlyDev_WithEvent() (gas: 518388)\n[PASS] test_YoloAddOn_BurnsNeverToTheWallet() (gas: 7150357)\n[PASS] test_YoloReward_FullStake_BurnsNeverToTheWallet() (gas: 6919571)\nSuite result: ok. 21 passed; 0 failed; 0 skipped; finished in 3.82s (137.94ms CPU time)\n\nRan 1 test for test/Invariant.t.sol:InvariantTest\n[PASS]\nInvariantTest invariants:\n[PASS] invariant_BalanceEqualsLiabilities\n[PASS] invariant_HubHoldsEveryLock_StakePowerBounded\n[PASS] invariant_RewardLockedUntilDeadline\n[PASS] invariant_SweetenerHoldsEveryBonus\n[PASS] invariant_TrophiesOnlyForAcceptedDoersAndEveryYoloBurned\n InvariantTest invariants (runs: 100, calls: 15000, reverts: 0)\n\n╭----------+----------------------+-------+---------+----------╮\n| Contract | Selector             | Calls | Reverts | Discards |\n+==============================================================+\n| Handler  | answer               | 526   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | appeal               | 515   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | askAppealSwarm       | 540   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | breakIntake          | 512   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | callSwarm            | 532   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | claim                | 552   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | createTask           | 525   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | dispute              | 518   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | expireAndWithdraw    | 543   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | lock                 | 567   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | mintTrophy           | 532   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | payoutBonus          | 509   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | poke                 | 523   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progress             | 596   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressA            | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressB            | 561   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressC            | 527   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | progressD            | 521   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | setIntakePrice       | 550   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | submit               | 519   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweep                | 570   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | sweeten              | 558   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | topUp                | 529   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | vote                 | 513   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | warp                 | 536   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawBonus        | 520   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawContribution | 514   | 0       | 0        |\n|----------+----------------------+-------+---------+----------|\n| Handler  | withdrawLock         | 563   | 0       | 0        |\n╰----------+----------------------+-------+---------+----------╯\n\nLogs:\n  createTask: 6\n  topUp: 3\n  submit: 0\n  dispute: 0\n  vote: 0\n  appeal: 0\n  breakIntake: 3\n  callSwarm: 0\n  answer: 0\n  claimDisputer: 0\n  claimVoter: 0\n  claimVoid: 0\n  withdrawContribution: 2\n  withdrawExpired: 2\n  progress: 0\n  sweeten: 7\n  withdrawBonus: 0\n  payoutBonus: 0\n  mintTrophy: 0\n  lock: 7\n  withdrawLock: 0\n  repeatedAsk: 0\n  progress at phase 2: 0\n  progress at phase 3: 0\n  progress at phase 4: 0\n  progress at phase 5: 0\n  progress at phase 6: 0\n  progress at phase 7: 0\n\nSuite result: ok. 1 passed; 0 failed; 0 skipped; finished in 16.66s (16.64s CPU time)\n\nRan 88 test suites in 16.72s (43.00s CPU time): 691 tests passed, 0 failed, 3 skipped (694 total tests)\n","passed":true},{"durationMs":227,"exitCode":0,"name":"source-index","output":"{\"v\":1,\"entryPoints\":[\"BuybackBurner.burnYolo()\",\"BuybackBurner.forward(address)\",\"BuybackBurner.pull(address,address)\",\"BuybackBurner.receive()\",\"BuybackBurner.setBuybackWallet(address)\",\"CaseDesk.advanced(uint256)\",\"CaseDesk.askAppeal(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.askEscalation(uint256,uint256,(string,string,string,string,string))\",\"CaseDesk.claimVoidSubmission(uint256)\",\"CaseDesk.markAppealed(uint256)\",\"CaseDesk.startVote(uint256,uint32)\",\"CaseDesk.step(uint256)\",\"CaseDesk.submit(uint256,string,(string,string),uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"CaseDesk.tryInstantDecision(uint256,(uint256,uint256,uint256,uint256))\",\"CaseDesk.unwind(uint256)\",\"CaseDesk.wire(address,address,address,address,address)\",\"DareTrophy.approve(address,uint256)\",\"DareTrophy.mint(uint256,string)\",\"DareTrophy.safeTransferFrom(address,address,uint256)\",\"DareTrophy.safeTransferFrom(address,address,uint256,bytes)\",\"DareTrophy.setApprovalForAll(address,bool)\",\"DareTrophy.transferFrom(address,address,uint256)\",\"DevPrices.acceptOwnership()\",\"DevPrices.renounceOwnership()\",\"DevPrices.setEthUsd(uint256)\",\"DevPrices.setImdUsd(uint256)\",\"DevPrices.setYoloPriceUsd(uint256)\",\"DevPrices.transferOwnership(address)\",\"DevVesting.bindStarter()\",\"DevVesting.release(address)\",\"DisputeDesk.appeal(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.appealAsked(uint256,uint256)\",\"DisputeDesk.askAppealSwarm(uint256,(string,string,string,string,string))\",\"DisputeDesk.callSwarm(uint256,bool,uint256,(address,uint256,uint256,uint64,bytes),(string,string,string,string,string))\",\"DisputeDesk.claimDisputer(uint256)\",\"DisputeDesk.claimVoterReward(uint256,address)\",\"DisputeDesk.claimVoterRewards(uint256[],address)\",\"DisputeDesk.dispute(uint256,string,string,(address,uint256,uint256,uint64,bytes))\",\"DisputeDesk.dropCaller(uint256)\",\"DisputeDesk.settle(uint256,uint8,(uint64,uint32,address,address,uint8,uint256,(uint256,uint256),uint64,uint16,bool))\",\"DisputeDesk.vote(uint256,uint8,address,uint256[])\",\"DisputeDesk.wire(address,address,address,address,address)\",\"HiddenList.setState((address,uint8,uint256)[],uint8)\",\"HiddenList.vote(address,uint8,uint256,bool,uint256[])\",\"IncentivesVesting.bindStarter()\",\"IncentivesVesting.release(address)\",\"NftGate.consume(address,uint256)\",\"NftGate.record(address[],uint256[])\",\"NftGate.seal(uint256)\",\"ParamsRegistry.acceptOwnership()\",\"ParamsRegistry.activateParams()\",\"ParamsRegistry.cancelAttester(address,bool)\",\"ParamsRegistry.cancelParams()\",\"ParamsRegistry.executeAttester(address,bool)\",\"ParamsRegistry.proposeAttester(address,bool)\",\"ParamsRegistry.renounceOwnership()\",\"ParamsRegistry.setNewTasksPaused(bool)\",\"ParamsRegistry.transferOwnership(address)\",\"ProjectVesting.bindStarter()\",\"ProjectVesting.release(address)\",\"ProtocolDirectory.addVersion()\",\"ProtocolDirectory.cancelCurrent()\",\"ProtocolDirectory.cancelVersion()\",\"ProtocolDirectory.proposeCurrent(uint256)\",\"ProtocolDirectory.proposeVersion((address,address,address,uint64,uint64,string))\",\"ProtocolDirectory.setCurrent()\",\"TaskVault.addTreasury(address,uint256)\",\"TaskVault.advance(uint256)\",\"TaskVault.ask((uint64,uint8,uint16,uint16,address,bytes32,bytes32,uint256),bytes)\",\"TaskVault.bindSweetener(address)\",\"TaskVault.burn(address,uint256)\",\"TaskVault.cancelTask(uint256)\",\"TaskVault.closeSubmission(uint256,uint8,uint256)\",\"TaskVault.collectBondPart(address,uint256,address,uint256)\",\"TaskVault.collectImd(address,uint256,uint256,address,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.createTask(address,uint256,uint64,string,(string,string,string),uint8,uint8,string,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.credit(address,address,uint256)\",\"TaskVault.fallback()\",\"TaskVault.onOracleResult(bytes32,(bytes32,uint256,bytes32,uint8,bytes,uint256,uint64,uint64,bytes32,bytes32,uint16,uint16,uint16,uint64,uint64),bytes)\",\"TaskVault.pay(address,address,uint256)\",\"TaskVault.place(uint256,uint256,bool)\",\"TaskVault.poke(uint256)\",\"TaskVault.settleValue(address,uint256,uint256)\",\"TaskVault.sweepTreasury(address)\",\"TaskVault.topUp(uint256,uint256,(address,uint256,uint256,uint64,bytes))\",\"TaskVault.withdraw(address)\",\"TaskVault.withdrawContribution(uint256)\",\"TaskVault.withdrawTo(address,address)\",\"TeamVesting.bindStarter()\",\"TeamVesting.release(address)\",\"TreasuryVesting.bindStarter()\",\"TreasuryVesting.release(address)\",\"TrophyCatalog.acceptOwnership()\",\"TrophyCatalog.addDesign(string,bytes)\",\"TrophyCatalog.renounceOwnership()\",\"TrophyCatalog.setCategoryDesign(uint8,uint256)\",\"TrophyCatalog.setDefaultDesign(uint256)\",\"TrophyCatalog.setDesignEnabled(uint256,bool)\",\"TrophyCatalog.transferOwnership(address)\",\"UniswapV3SwapAdapter.swapExactIn(address,address,uint256,uint256,uint256,bytes,address)\",\"YoloLockHub.lock(uint256,uint256)\",\"YoloLockHub.withdraw()\",\"YoloPredict.claim(uint256)\",\"YoloPredict.predict(uint256,bool,uint256)\",\"YoloPredict.settle(uint256)\",\"YoloSplitter.split(address)\",\"YoloSweetener.claimVoter(uint256,address)\",\"YoloSweetener.payout(uint256)\",\"YoloSweetener.sweeten(uint256,uint256)\",\"YoloSweetener.withdraw(uint256)\",\"YoloToken.approve(address,uint256)\",\"YoloToken.transfer(address,uint256)\",\"YoloToken.transferFrom(address,address,uint256)\"],\"files\":{\".gitignore\":5,\".gitmodules\":9,\"ADAPTATION.md\":121,\"CONTRACTS.md\":178,\"README.md\":99,\"brand/BRANDBOOK.md\":79,\"brand/avatar-400.png\":168,\"brand/favicon-16.png\":3,\"brand/favicon-32.png\":7,\"brand/mark-1024.png\":317,\"brand/mark-pixel-64.png\":6,\"brand/mark-transparent-1024.png\":385,\"brand/og-1200x630.png\":912,\"brand/sheet.png\":2363,\"brand/wordmark-2400x600.png\":283,\"brand/x-banner-1500x500.png\":725,\"docs/LAUNCH-TASK.md\":202,\"docs/MECHANICS.md\":454,\"docs/TOKENOMICS.md\":101,\"docs/YOLO.md\":289,\"foundry.lock\":11,\"foundry.toml\":33,\"landing/assets/fonts/LICENSE-ibm-plex-mono.txt\":93,\"landing/assets/fonts/LICENSE-quicksand.txt\":93,\"landing/assets/fonts/plexmono-500.woff2\":62,\"landing/assets/fonts/quicksand-500.woff2\":55,\"landing/assets/fonts/quicksand-600.woff2\":57,\"landing/assets/fonts/quicksand-700.woff2\":78,\"landing/assets/img/avatar-400.png\":168,\"landing/assets/img/dare1.jpg\":150,\"landing/assets/img/dare2.jpg\":148,\"landing/assets/img/dare3.jpg\":201,\"landing/assets/img/dare4.jpg\":140,\"landing/assets/img/favicon-16.png\":3,\"landing/assets/img/favicon-32.png\":7,\"landing/assets/img/nft-1.svg\":1,\"landing/assets/img/nft-1000.svg\":1,\"landing/assets/img/nft-4.svg\":1,\"landing/assets/img/og-1200x630.png\":912,\"landing/assets/img/toad-640.png\":459,\"landing/assets/img/wordmark.png\":221,\"landing/assets/video/poster.jpg\":297,\"landing/index.html\":286,\"landing/main.js\":396,\"landing/style.css\":490,\"script/DeployMainnet.s.sol\":187,\"script/LaunchPlan.sol\":422,\"script/check-launch-task.py\":32,\"script/snapshot/snapshot.py\":187,\"src/BuybackBurner.sol\":124,\"src/DareTrophy.sol\":220,\"src/DevPrices.sol\":129,\"src/HiddenList.sol\":297,\"src/OracleAttestation.sol\":57,\"src/ParamsRegistry.sol\":215,\"src/ProtocolDirectory.sol\":167,\"src/TaskVault.sol\":830,\"src/TrophyCatalog.sol\":119,\"src/VaultParams.sol\":250,\"src/VaultTypes.sol\":450,\"src/VotePower.sol\":51,\"src/YoloLockHub.sol\":151,\"src/YoloPredict.sol\":297,\"src/YoloSweetener.sol\":173,\"src/adapters/UniswapV3SwapAdapter.sol\":71,\"src/desks/CaseDesk.sol\":547,\"src/desks/Desk.sol\":143,\"src/desks/DeskApi.sol\":137,\"src/desks/DisputeDesk.sol\":791,\"src/helpers/AttestationChecker.sol\":58,\"src/helpers/SwarmQuestion.sol\":176,\"src/helpers/TextRules.sol\":244,\"src/interfaces/IDelegateRegistry.sol\":12,\"src/interfaces/IIntake.sol\":33,\"src/interfaces/ISwapAdapter.sol\":22,\"src/interfaces/ITaskVault.sol\":167,\"src/libraries/VoteLib.sol\":33,\"src/token/NftGate.sol\":113,\"src/token/ProjectVesting.sol\":102,\"src/token/Vestings.sol\":38,\"src/token/YoloSplitter.sol\":103,\"src/token/YoloToken.sol\":160,\"test/Adaptation.t.sol\":174,\"test/Base.t.sol\":652,\"test/BondBase.t.sol\":146,\"test/BuybackWallet.t.sol\":434,\"test/CancelTask.t.sol\":250,\"test/ContractRules.t.sol\":208,\"test/Cover.t.sol\":207,\"test/Desks.t.sol\":433,\"test/DevPrices.t.sol\":86,\"test/Directory.t.sol\":186,\"test/DisputeLinkOptional.t.sol\":82,\"test/Disputes.t.sol\":1309,\"test/Emergency.t.sol\":76,\"test/Evidence.t.sol\":338,\"test/Gas.t.sol\":183,\"test/GasTextSize.t.sol\":108,\"test/HiddenList.t.sol\":671,\"test/Hosts.t.sol\":112,\"test/Invariant.t.sol\":674,\"test/LogReconstruction.t.sol\":70,\"test/MoneyRules.t.sol\":937,\"test/OptionalFields.t.sol\":103,\"test/Payments.t.sol\":295,\"test/Scenarios.t.sol\":217,\"test/SideCalls.t.sol\":388,\"test/Swarm.t.sol\":435,\"test/Sweetener.t.sol\":379,\"test/TaskFields.t.sol\":391,\"test/TaskRules.t.sol\":201,\"test/Tasks.t.sol\":619,\"test/TextRule.t.sol\":105,\"test/Trophy.t.sol\":402,\"test/VoteBatch.t.sol\":155,\"test/VoteCountWidth.t.sol\":31,\"test/VoteGas.t.sol\":150,\"test/VotePowerFuzz.t.sol\":122,\"test/Votes.t.sol\":418,\"test/Yolo.t.sol\":138,\"test/YoloLockHub.t.sol\":487,\"test/YoloPredict.t.sol\":641,\"test/YoloPredictScenarios.t.sol\":951,\"test/YoloToken.t.sol\":730,\"test/audit/AddonAfterSub.t.sol\":52,\"test/audit/AuditA.t.sol\":74,\"test/audit/AuditB.t.sol\":314,\"test/audit/AuditC.t.sol\":264,\"test/audit/AuditNoFallbackOwnVote.t.sol\":118,\"test/audit/AuditNoMandatoryCheck.t.sol\":106,\"test/audit/AuditSweetenerBonus.t.sol\":298,\"test/audit/LateAppealAsk.t.sol\":125,\"test/audit/LazyAppealVoidWindow.t.sol\":59,\"test/audit/MaxImdInCap.t.sol\":224,\"test/audit/PredictAfterTimer.t.sol\":41,\"test/audit/PredictZeroPoints.t.sol\":84,\"test/audit/StakeFloorZeroSplit.t.sol\":41,\"test/audit/StakePowerRelock.t.sol\":64,\"test/audit/StepDeadlineAppealed.t.sol\":28,\"test/audit/StepDeadlineAsked.t.sol\":35,\"test/audit/YoloModulesAudit.t.sol\":116,\"test/audit/round2/Proof_476db268aaec.t.sol\":80,\"test/audit/round2/Proof_5d8c4edc729c.t.sol\":67,\"test/audit/round2/Proof_ced07852b14f.t.sol\":50,\"test/audit/swarm117/SwarmAudit117.t.sol\":338,\"test/audit/swarm117/VestingClockPreStart.t.sol\":92,\"test/fork/LaunchForkBase.sol\":193,\"test/fork/LaunchRehearsal.fork.t.sol\":1173,\"test/fork/UniswapV3AdapterFork.t.sol\":37,\"test/mocks/MockDelegateRegistry.sol\":26,\"test/mocks/MockERC20.sol\":31,\"test/mocks/MockIntake.sol\":120,\"test/mocks/MockNFT.sol\":17,\"test/mocks/MockPriceOracle.sol\":74,\"test/mocks/MockStarter.sol\":28,\"test/mocks/MockSwapAdapter.sol\":32,\"test/mocks/TaskRulesFixture.sol\":32,\"test/review/ReviewAttestation.t.sol\":218,\"test/review/ReviewGas.t.sol\":93,\"test/review/ReviewGasGrief.t.sol\":76,\"test/review/ReviewLaunch.t.sol\":618,\"test/review/ReviewProofFormat.t.sol\":54,\"test/review/ReviewProofLabel.t.sol\":123,\"test/review/ReviewProofs.t.sol\":166,\"test/review/ReviewQuestionSize.t.sol\":100,\"test/review/ReviewQueue.t.sol\":95,\"test/review/ReviewRoles.t.sol\":127,\"test/review/ReviewSplitAccess.t.sol\":522,\"test/review/ReviewSplitRegression.t.sol\":402,\"test/review/ReviewSwarmOrders.t.sol\":88,\"test/review/ReviewSweetener.t.sol\":304,\"test/review/ReviewYolo.t.sol\":96},\"excluded\":[\"lib/\",\"node_modules/\"],\"truncated\":true}","passed":true},{"durationMs":21121,"exitCode":0,"name":"slither","output":"[high/medium] arbitrary-send-eth at src/TaskVault.sol:766: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#766-813) sends eth to arbitrary user\n[high/medium] arbitrary-send-eth at src/BuybackBurner.sol:92: BuybackBurner.forward(address) (src/BuybackBurner.sol#92-108) sends eth to arbitrary user\n[high/medium] reentrancy-balance at src/TaskVault.sol:766: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#766-813):\n[high/medium] reentrancy-balance at src/TaskVault.sol:766: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#766-813):\n[high/medium] reentrancy-balance at src/TaskVault.sol:766: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#766-813):\n[high/medium] reentrancy-balance at src/TaskVault.sol:590: Reentrancy in TaskVault.ask(AskTerms,bytes) (src/TaskVault.sol#590-629):\n[high/medium] reentrancy-eth at src/TaskVault.sol:251: Reentrancy in TaskVault.createTask(address,uint256,uint64,string,TaskRules,uint8,uint8,string,ImdPay) (src/TaskVault.sol#251-308):\n[high/medium] reentrancy-eth at src/TaskVault.sol:766: Reentrancy in TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#766-813):\n[medium/medium] divide-before-multiply at src/YoloLockHub.sol:64: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#64-89) performs a multiplication on the result of a division:\n[medium/medium] divide-before-multiply at src/YoloLockHub.sol:64: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#64-89) performs a multiplication on the result of a division:\n[medium/high] incorrect-equality at src/ProtocolDirectory.sol:88: ProtocolDirectory.addVersion() (src/ProtocolDirectory.sol#88-94) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:64: YoloLockHub.lock(uint256,uint256) (src/YoloLockHub.sol#64-89) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:92: BuybackBurner.forward(address) (src/BuybackBurner.sol#92-108) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:83: BuybackBurner.burnYolo() (src/BuybackBurner.sol#83-88) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:170: CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:753: TaskVault._trySend(address,address,uint256,uint256) (src/TaskVault.sol#753-761) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:739: TaskVault._refundUnbooked(address,address,uint256) (src/TaskVault.sol#739-745) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ProtocolDirectory.sol:114: ProtocolDirectory.setCurrent() (src/ProtocolDirectory.sol#114-123) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/ProjectVesting.sol:90: ProjectVesting.release(address) (src/token/ProjectVesting.sol#90-101) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/TaskVault.sol:732: TaskVault._credit(address,address,uint256) (src/TaskVault.sol#732-736) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:511: CaseDesk._stakeBps(SubmitTerms,address,ParamsCore) (src/desks/CaseDesk.sol#511-529) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/desks/CaseDesk.sol:170: CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/BuybackBurner.sol:92: BuybackBurner.forward(address) (src/BuybackBurner.sol#92-108) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/NftGate.sol:107: NftGate.consume(address,uint256) (src/token/NftGate.sol#107-112) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/YoloToken.sol:117: YoloToken._sellTax(uint256,uint256) (src/token/YoloToken.sol#117-120) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:92: YoloLockHub.withdraw() (src/YoloLockHub.sol#92-100) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/ParamsRegistry.sol:91: ParamsRegistry.activateParams() (src/ParamsRegistry.sol#91-100) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/YoloLockHub.sol:142: YoloLockHub._checkpoint(address,uint96,uint64,uint32) (src/YoloLockHub.sol#142-150) uses a dangerous strict equality:\n[medium/high] incorrect-equality at src/token/ProjectVesting.sol:74: ProjectVesting.vestedAmount(address,uint256) (src/token/ProjectVesting.sol#74-82) uses a dangerous strict equality:\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:182: Reentrancy in TaskVault.fallback() (src/TaskVault.sol#182-201):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:170: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:408: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#408-427):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:254: Reentrancy in DisputeDesk.callSwarm(uint256,bool,uint256,ImdPay,RuleTexts) (src/desks/DisputeDesk.sol#254-274):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:635: Reentrancy in TaskVault._advance(uint256) (src/TaskVault.sol#635-646):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:365: Reentrancy in TaskVault.cancelTask(uint256) (src/TaskVault.sol#365-376):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:170: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233):\n[medium/medium] reentrancy-no-eth at src/YoloPredict.sol:181: Reentrancy in YoloPredict.settle(uint256) (src/YoloPredict.sol#181-226):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:260: Reentrancy in CaseDesk.askEscalation(uint256,uint256,RuleTexts) (src/desks/CaseDesk.sol#260-267):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:622: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#622-713):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:408: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#408-427):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:460: Reentrancy in CaseDesk._finalize(uint256,Outcome) (src/desks/CaseDesk.sol#460-485):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:573: Reentrancy in DisputeDesk._settleNeutral(uint256,Facts) (src/desks/DisputeDesk.sol#573-582):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:500: Reentrancy in DisputeDesk.settle(uint256,Outcome,Facts) (src/desks/DisputeDesk.sol#500-516):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:170: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:74: Reentrancy in CaseDesk.submit(uint256,string,Evidence,uint256,uint256,ImdPay) (src/desks/CaseDesk.sol#74-137):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:170: Reentrancy in CaseDesk.step(uint256) (src/desks/CaseDesk.sol#170-233):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:493: Reentrancy in DisputeDesk.dropCaller(uint256) (src/desks/DisputeDesk.sol#493-496):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:314: Reentrancy in TaskVault.topUp(uint256,uint256,ImdPay) (src/TaskVault.sol#314-329):\n[medium/medium] reentrancy-no-eth at src/YoloPredict.sol:230: Reentrancy in YoloPredict.claim(uint256) (src/YoloPredict.sol#230-264):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:384: Reentrancy in DisputeDesk.claimVoterRewards(uint256[],address) (src/desks/DisputeDesk.sol#384-413):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:408: Reentrancy in CaseDesk._askAppeal(uint256,uint256,ParamsCore,RuleTexts) (src/desks/CaseDesk.sol#408-427):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:622: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#622-713):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:140: Reentrancy in CaseDesk.claimVoidSubmission(uint256) (src/desks/CaseDesk.sol#140-155):\n[medium/medium] reentrancy-no-eth at src/TaskVault.sol:335: Reentrancy in TaskVault.withdrawContribution(uint256) (src/TaskVault.sol#335-347):\n[medium/medium] reentrancy-no-eth at src/desks/CaseDesk.sol:74: Reentrancy in CaseDesk.submit(uint256,string,Evidence,uint256,uint256,ImdPay) (src/desks/CaseDesk.sol#74-137):\n[medium/medium] reentrancy-no-eth at src/desks/DisputeDesk.sol:622: Reentrancy in DisputeDesk._settleDecided(uint256,Facts,bool,bool,ParamsCore) (src/desks/DisputeDesk.sol#622-713):\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:385: DisputeDesk.claimVoterRewards(uint256[],address).imdTotal (src/desks/DisputeDesk.sol#385) is a local variable never initialized\n[medium/medium] uninitialized-local at src/DareTrophy.sol:175: DareTrophy.badge(uint8).w (src/DareTrophy.sol#175) is a local variable never initialized\n[medium/medium] uninitialized-local at src/token/NftGate.sol:67: NftGate.record(address[],uint256[]).total (src/token/NftGate.sol#67) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:345: DisputeDesk.claimDisputer(uint256).payout (src/desks/DisputeDesk.sol#345) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:733: DisputeDesk._payReward(uint256,Facts,bool,ParamsCore).bonus (src/desks/DisputeDesk.sol#733) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:198: YoloPredict.settle(uint256).toAuthor (src/YoloPredict.sol#198) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloLockHub.sol:125: YoloLockHub._pointBefore(address,uint256).lo (src/YoloLockHub.sol#125) is a local variable never initialized\n[medium/medium] uninitialized-local at src/VotePower.sol:36: VotePower.mayVote(address,uint256).owner (src/VotePower.sol#36) is a local variable never initialized\n[medium/medium] uninitialized-local at src/helpers/TextRules.sol:76: TextLib.checkCover(string).scheme (src/helpers/TextRules.sol#76) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:295: DisputeDesk._fundCall(Appeal,uint256,SubCore,uint256,uint256,ParamsCore,ImdPay).fromBond (src/desks/DisputeDesk.sol#295) is a local variable never initialized\n[medium/medium] uninitialized-local at src/helpers/SwarmQuestion.sol:141: SwarmQuestionBuilder.buildFor(address,uint256,uint8,uint256,RuleTexts).q (src/helpers/SwarmQuestion.sol#141) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:389: DisputeDesk.claimVoterRewards(uint256[],address).any (src/desks/DisputeDesk.sol#389) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloSweetener.sol:145: YoloSweetener.payout(uint256).extra (src/YoloSweetener.sol#145) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:200: YoloPredict.settle(uint256).burnt (src/YoloPredict.sol#200) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:197: YoloPredict.settle(uint256).doer (src/YoloPredict.sol#197) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:199: YoloPredict.settle(uint256).toDoer (src/YoloPredict.sol#199) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:388: DisputeDesk.claimVoterRewards(uint256[],address).n (src/desks/DisputeDesk.sol#388) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloPredict.sol:238: YoloPredict.claim(uint256).pay (src/YoloPredict.sol#238) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/CaseDesk.sol:522: CaseDesk._stakeBps(SubmitTerms,address,ParamsCore).r (src/desks/CaseDesk.sol#522) is a local variable never initialized\n[medium/medium] uninitialized-local at src/TaskVault.sol:553: TaskVault.collectBondPart(address,uint256,address,uint256).noSwap (src/TaskVault.sol#553) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:294: DisputeDesk._fundCall(Appeal,uint256,SubCore,uint256,uint256,ParamsCore,ImdPay).bond (src/desks/DisputeDesk.sol#294) is a local variable never initialized\n[medium/medium] uninitialized-local at src/desks/DisputeDesk.sol:390: DisputeDesk.claimVoterRewards(uint256[],address).sweet (src/desks/DisputeDesk.sol#390) is a local variable never initialized\n[medium/medium] uninitialized-local at src/YoloSweetener.sol:139: YoloSweetener.payout(uint256).toVoters (src/YoloSweetener.sol#139) is a local variable never initialized\n[medium/medium] unused-return at src/desks/DisputeDesk.sol:136: DisputeDesk.vote(uint256,uint8,address,uint256[]) (src/desks/DisputeDesk.sol#136-191) ignores return value by (None,None,instantDelta,minWallets) = ParamsRegistry(registry).voteParams(version) (src/desks/DisputeDesk.sol#185)\n[medium/medium] unused-return at src/YoloSweetener.sol:160: YoloSweetener.claimVoter(uint256,address) (src/YoloSweetener.sol#160-172) ignores return value by (n,None) = vault.votesOf(subId,payTo) (src/YoloSweetener.sol#162)\n[medium/medium] unused-return at src/helpers/AttestationChecker.sol:42: AttestationChecker.check(address,uint16,uint16,OracleAttestation.Attestation,bytes) (src/helpers/AttestationChecker.sol#42-57) ignores return value by (signer,err,None) = ECDSA.tryRecover(digest(consumer,a),signature) (src/helpers/AttestationChecker.sol#54)\n[medium/medium] unused-return at src/TaskVault.sol:766: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#766-813) ignores return value by ISwapAdapter(adapter).swapExactIn{value: payIn.amountIn}(ETH,address(imd_),payIn.amountIn,payIn.minImdOut,payIn.deadline,payIn.route,address(this)) (src/TaskVault.sol#787-789)\n[medium/medium] unused-return at src/desks/DisputeDesk.sol:233: DisputeDesk.askAppealSwarm(uint256,RuleTexts) (src/desks/DisputeDesk.sol#233-240) ignores return value by ICaseDesk(caseDesk).advanced(subId) (src/desks/DisputeDesk.sol#236)\n[medium/medium] unused-return at src/desks/CaseDesk.sol:437: CaseDesk._swarmStatus(bytes32,ParamsCore) (src/desks/CaseDesk.sol#437-454) ignores return value by (completed) = IIntake(p.intake).requests(rid) (src/desks/CaseDesk.sol#450-452)\n[medium/medium] unused-return at src/TaskVault.sol:766: TaskVault._collectImd(address,uint256,uint256,address,ImdPay) (src/TaskVault.sol#766-813) ignores return value by ISwapAdapter(adapter).swapExactIn(address(usdc_),address(imd_),payIn.amountIn,payIn.minImdOut,payIn.deadline,payIn.route,address(this)) (src/TaskVault.sol#795-804)\n[low/medium] missing-zero-check at src/adapters/UniswapV3SwapAdapter.sol:38: UniswapV3SwapAdapter.constructor(ISwapRouter02,address).weth_ (src/adapters/UniswapV3SwapAdapter.sol#38) lacks a zero-check on :\n[low/medium] missing-zero-check at src/desks/CaseDesk.sol:48: CaseDesk.constructor(address,address,address,address,address,address,address).yolo_ (src/desks/CaseDesk.sol#48) lacks a zero-check on :\n[low/medium] missing-zero-check at src/TaskVault.sol:134: TaskVault.constructor(address,address,address,address,address,address,address,address,address).caseDesk_ (src/TaskVault.sol#134) lacks a zero-check on :\n[low/medium] missing-zero-check at src/token/NftGate.sol:53: NftGate.constructor(address,address).nft_ (src/token/NftGate.sol#53) lacks a zero-check on :\n[low/medium] missing-zero-check at src/HiddenList.sol:98: Hidden","passed":true},{"durationMs":1311,"exitCode":0,"name":"aderyn","output":"[high] contract-locks-ether at src/adapters/UniswapV3SwapAdapter.sol:28: Contract locks Ether without a withdraw function\n[high] reentrancy-state-change at src/BuybackBurner.sol:102: Reentrancy: State change after external call (64 places)\n[high] storage-array-memory-edit at src/ProtocolDirectory.sol:93: Storage Array Edited with Memory\n[high] unsafe-casting at src/DareTrophy.sol:111: Unsafe Casting of integers (8 places)\n[high] yul-return at src/TaskVault.sol:199: Yul block contains `return`\n[low] centralization-risk at src/DevPrices.sol:22: Centralization Risk (16 places)\n[low] costly-loop at src/HiddenList.sol:114: Costly operations inside loop (6 places)\n[low] large-numeric-literal at src/DareTrophy.sol:207: Large Numeric Literal (9 places)\n[low] literal-instead-of-constant at src/DareTrophy.sol:160: Literal Instead of Constant (94 places)\n[low] missing-inheritance at src/BuybackBurner.sol:26: Missing Inheritance (8 places)\n[low] modifier-used-only-once at src/HiddenList.sol:90: Modifier Invoked Only Once\n[low] push-zero-opcode at src/BuybackBurner.sol:2: PUSH0 Opcode (33 places)\n[low] redundant-statement at src/TaskVault.sol:412: Redundant Statement\n[low] require-revert-in-loop at src/ProtocolDirectory.sol:163: Loop Contains `require`/`revert` (4 places)\n[low] state-change-without-event at src/TaskVault.sol:423: State Change Without Event (8 places)\n[low] storage-array-length-not-cached at src/ProtocolDirectory.sol:163: Storage Array Length not Cached\n[low] unchecked-return at src/DareTrophy.sol:124: Unchecked Return (5 places)\n[low] uninitialized-local-variable at src/DareTrophy.sol:167: Uninitialized Local Variable (16 places)\n[low] unsafe-erc20-operation at src/TaskVault.sol:759: Unsafe ERC20 Operation\n[low] unsafe-oz-erc721-mint at src/DareTrophy.sol:113: Unsafe `ERC721::_mint()`\n[low] unspecific-solidity-pragma at src/BuybackBurner.sol:2: Unspecific Solidity Pragma (28 places)\n[low] unused-error at src/VaultTypes.sol:429: Unused Error (2 places)\n[low] unused-import at src/TaskVault.sol:12: Unused Import\n[low] unused-public-function at src/DareTrophy.sol:99: Public Function Not Used Internally (6 places)","passed":true}],"detail":"all checks passed","evaluation":"checks","profile":"foundry","status":"accepted","submissionHash":"b0fc9e0f050ea0194a9863c27d3b4e876cd35304e1f411b43d98cbe0b6b3f525","verifiedTreeHash":"a21b78495c817161ddc36d2dcab3fbe7f8f62330","verifierVersion":"0.1.0+a26ee00d"}]}